/*
Theme Name: Lynn's Road Service
Theme URI: https://www.lynnsrs.com/
Author: Circular Marketing
Description: Custom brochure theme for Lynn's Road Service (mechanic shop & roadside assistance, Victoria, TX). Ported from static Tailwind pages. Uses the Tailwind Play CDN for utilities plus this stylesheet for a small set of custom rules.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lynns-road-service
*/

/* ===== Base ===== */
html { scroll-behavior: smooth; }
body { font-family: "DM Sans", sans-serif; }

/* ===== Header logo ===== */
.custom-logo-link {
  display: inline-block;
}

.custom-logo {
  width: 120px;
  height: auto;
  max-height: 90px;
  object-fit: contain;
  filter: drop-shadow(0 4px 3px rgba(0, 0, 0, .18));
}

@media (min-width: 768px) {
  .custom-logo {
    width: 76px;
    max-height: 64px;
  }
}

@media (min-width: 1024px) {
  .custom-logo {
    width: 100px;
    max-height: none;
  }
}

.top-social-icons a,
.footer-social-icons a {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  line-height: 0;
  position: relative;
  vertical-align: middle;
}

.top-social-icons svg,
.footer-social-icons svg {
  display: block;
  height: 15px;
  width: 15px;
}

.top-social-icons a[aria-label="Yelp"] svg,
.footer-social-icons a[aria-label="Yelp"] svg {
  height: 19px;
  transform: translateY(.5px);
  width: 19px;
}

.top-social-icons a[aria-label="Email"] svg,
.footer-social-icons a[aria-label="Email"] svg {
  height: 17px;
  transform: translateY(1px);
  width: 19px;
}

.mobile-call-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  min-height: 64px;
  padding: .85rem 1rem calc(.85rem + env(safe-area-inset-bottom));
  background: #459EFF;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 -4px 14px rgba(0, 0, 0, .22);
}

.mobile-call-bar strong {
  font-size: 1.1rem;
}

.mobile-call-bar:hover,
.mobile-call-bar:focus {
  background: #113A67;
  color: #fff;
}

@media (min-width: 1024px) {
  .mobile-call-bar {
    display: none;
  }
}

@media (max-width: 1023px) {
  footer {
    padding-bottom: calc(64px + env(safe-area-inset-bottom));
  }
}

/* ===== Interior page banner overlay (service / about / our-work pages) ===== */
.banner-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .35);
}

/* ===== Homepage hero rotating slides ===== */
.hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
}
.hero-slide.is-active { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .hero-slide { transition: none; }
}

/* ===== Services slider (homepage) - hide scrollbar ===== */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { scrollbar-width: none; }

/* ===== Our Work gallery filter fade ===== */
.gallery-filter-scroll {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow-x: auto;
  padding: 0 1.5rem .35rem;
  scroll-padding-inline: 1.5rem;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}

.gallery-filter-scroll .filter-btn {
  flex: 0 0 auto;
  scroll-snap-align: start;
}

.gallery-filter-scroll::-webkit-scrollbar {
  display: none;
}

.gallery-filter-scroll {
  scrollbar-width: none;
}

@media (min-width: 768px) {
  .gallery-filter-scroll {
    margin-left: 0;
    margin-right: 0;
    overflow-x: visible;
    padding: 0;
    scroll-snap-type: none;
  }
}

.gallery-item { transition: opacity .25s ease; }

/* ===== Testimonials quote mark ===== */
.quote-mark { color: #459EFF; }

/* ===== Homepage Trustindex reviews ===== */
.homepage-trustindex-reviews {
  font-family: "DM Sans", sans-serif;
}

.homepage-trustindex-reviews > * {
  margin-inline: auto;
}

/* ===== Sticky header (solid) - keep in-page anchor jumps clear of it ===== */
:target { scroll-margin-top: 130px; }
#about, #services, #work, #contact, #testimonials { scroll-margin-top: 130px; }

/* ===== Rank Math breadcrumbs in interior heroes ===== */
.rank-math-breadcrumb,
.rank-math-breadcrumb p,
.hero-breadcrumbs {
  align-items: center;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 1rem 0 0;
  font-size: .9375rem;
}

.rank-math-breadcrumb a,
.hero-breadcrumbs a {
  color: #459EFF;
}

.rank-math-breadcrumb a:hover,
.hero-breadcrumbs a:hover {
  text-decoration: underline;
}

.rank-math-breadcrumb .last,
.hero-breadcrumbs .last {
  color: #fff;
  font-weight: 600;
}

/* ===== Homepage video ===== */
.homepage-video {
  aspect-ratio: 9 / 13;
  display: block;
}
