/*
Theme Name: AZR Auto Multi-Service
Theme URI: https://azrauto.com.au/
Author: Theme generated
Description: Conversion-focused, SEO-friendly theme for AZR Auto with dedicated service pages, Quick Quote dropdown, and floating call button.
Version: 4.3.0
License: GNU GPL v2 or later
Text Domain: azr
*/

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial,sans-serif;line-height:1.55;color:#0f0f10;background:#fff}
img{max-width:100%;height:auto}
a{color:#0f0f10;text-decoration:none}
a:hover{opacity:.92}
.container{width:min(1180px,92%);margin:0 auto}
.muted{color:#4b5563}
.kicker{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#6b7280}
h1,h2,h3{line-height:1.12;margin:0 0 .6rem}
h1{font-size:clamp(2.0rem,3.4vw,3.0rem)}
h2{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.card{border:1px solid #ececec;border-radius:18px;padding:22px;background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.05)}
.section{padding:56px 0}
.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.badge{border:1px solid #ececec;border-radius:999px;padding:8px 12px;font-weight:900;font-size:.95rem;background:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:12px;padding:14px 16px;font-weight:950;border:1px solid #111}
.btn-primary{background:#111;color:#fff}
.btn-secondary{background:#fff;color:#111}
.btn-block{width:100%}
.notice{border-left:4px solid #111;background:#f5f5f5;border-radius:14px;padding:14px 16px}
.topbar{background:#111;color:#fff}
.topbar .container{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0}
.topbar a{color:#fff;text-decoration:underline;font-weight:950}
.header{position:sticky;top:0;z-index:999;background:#fff;border-bottom:1px solid #eee}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 0}
.brand img{width:170px;max-width:56vw}
.nav{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.nav a{font-weight:950;padding:8px 10px;border-radius:10px}
.nav a:hover{background:#f3f4f6}
.phone-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#111;color:#fff;font-weight:950;white-space:nowrap}
.hero{padding:22px 0 8px}
.hero-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:stretch}
@media(max-width:900px){.hero-wrap{grid-template-columns:1fr}}
.hero-box{border:1px solid #eee;border-radius:22px;padding:24px;background:linear-gradient(180deg,#fafafa,#fff)}
.hero-media{border-radius:22px;overflow:hidden;border:1px solid #eee}
.hero-media img{display:block;width:100%;height:auto}
.phone-text{font-weight:950;font-size:1.15rem;margin-top:10px}
.phone-text a{text-decoration:underline}
.form-row{display:grid;gap:12px}
input,select,textarea{width:100%;padding:14px 12px;border-radius:12px;border:1px solid #d7d7d7;font-size:1rem}
textarea{min-height:130px;resize:vertical}
.footer{border-top:1px solid #eee;background:#fafafa}
.footer-inner{padding:34px 0;display:grid;gap:16px}
.footer-links{display:flex;gap:10px;flex-wrap:wrap}
.footer-links a{background:#fff;border:1px solid #eee;border-radius:10px;padding:8px 10px;font-weight:950}
.mobile-callbar{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#111;padding:12px;display:none}
.mobile-callbar a{display:block;text-align:center;color:#fff !important;font-weight:950;font-size:18px}
@media(max-width:860px){.mobile-callbar{display:block}}
.azr-float-call{position:fixed;right:18px;bottom:92px;z-index:10000;background:#111;color:#fff;padding:14px 14px;border-radius:999px;font-weight:950;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.azr-float-call:hover{opacity:.92}
@media(max-width:860px){.azr-float-call{bottom:70px}}
.service-hero{border:1px solid #eee;border-radius:22px;overflow:hidden;background:#0b1220;position:relative}
.service-hero .overlay{padding:26px;color:#fff;background:linear-gradient(90deg, rgba(0,0,0,.70), rgba(0,0,0,.25))}
.service-hero .overlay p{color:rgba(255,255,255,.86)}




/* Hero banner look */
.hero-box{
  background: linear-gradient(180deg,#0b1220 0%, #111827 55%, #ffffff 100%) !important;
  color:#fff;
}
.hero-box .muted{ color: rgba(255,255,255,.85); }
.hero-box a{ color: inherit; }
.hero-box .badge{ background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.20); color:#fff; }
.hero-box .notice{ background: rgba(255,255,255,.08); border-left-color: #fff; }


/* Ensure the first content is pushed below sticky header */
body{ padding-top: var(--azr-header-offset) !important; }
#content{ padding-top: 0 !important; }

/* Also add extra space on hero itself (defensive) */
.hero{ padding-top: 18px !important; }

/* When jumping to anchors, keep content visible */
[id]{ scroll-margin-top: calc(var(--azr-header-offset) + 12px) !important; }


/* --- HERO BUTTON TEXT FIX --- */
.hero-box a{ color: inherit; }
.hero-box a.btn{ color: inherit; }
.hero-box a.btn.btn-primary{ color:#fff !important; }
.hero-box a.btn.btn-secondary{ color:#111 !important; background:#fff !important; border-color:#fff !important; }


/* --- CLEAN THEME (no Elementor dependency) --- */
.hero{ padding-top: 18px; }

/* If you later add a sticky header plugin, this keeps anchor jumps readable */
[id]{ scroll-margin-top: 120px; }


/* --- SERVICE ICON SIZE FIX --- */
/* If service cards include icons/thumbnails, keep them small and consistent */
.service-card .service-icon,
.service-card img.service-icon,
.service-card svg.service-icon{
  width: 44px !important;
  height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  object-fit: contain !important;
  display:block;
}

/* Defensive: stop any images inside service cards from becoming huge */
.service-card img{
  max-height: 90px;
  object-fit: cover;
}

/* On service pages, keep inline "icon" images reasonable */
.page-template-template-service .wp-block-image img,
.page-template-template-service img{
  max-width: 100%;
  height: auto;
}


/* --- GOOGLE RATING (top bar) --- */
.topbar-grid{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap:10px;
}
.topbar-right{ justify-self:end; }
.topbar-left{ justify-self:start; }
.google-rating{
  justify-self:center;
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none !important;
  font-weight:950;
}
.google-rating .stars{
  color:#fbbc04; /* Google yellow */
  font-size:1.05rem;
  letter-spacing:1px;
  text-shadow: 0 1px 0 rgba(0,0,0,.35);
}
.google-rating .rating-text{
  color:#fff;
  font-weight:950;
}
@media(max-width:900px){
  .topbar-grid{ grid-template-columns: 1fr; justify-items:center; }
  .topbar-right, .topbar-left{ justify-self:center; }
}


/* --- BOOKING NOTICE VISIBILITY --- */
.notice-urgent{
  background: rgba(255,255,255,.12) !important;
  border-left-color:#fbbc04 !important;
  color:#fff;
}
.notice-urgent strong{ color:#fff; }
.notice-urgent .booking-phone{
  display:inline-block;
  margin-left:6px;
  font-weight:950;
  text-decoration:underline;
  color:#fff !important;
  font-size:1.08rem;
}
.flash{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  background:#fbbc04;
  color:#111;
  font-weight:950;
  margin-right:8px;
  animation: azrFlash 1.1s infinite;
}
@keyframes azrFlash{
  0%,100%{ transform:scale(1); filter:brightness(1); }
  50%{ transform:scale(1.06); filter:brightness(1.25); }
}

/* --- ADDRESS + NAVIGATE LINK --- */
.azr-addressline{ flex: 1 1 100%; }
.nav-store{
  display:inline-flex;
  gap:8px;
  align-items:center;
  font-weight:900;
  font-size:.95rem;
  color:#111;
  background:#f3f4f6;
  border:1px solid #e5e7eb;
  padding:10px 12px;
  border-radius:12px;
  max-width:100%;
}
.nav-store:hover{ background:#eaecef; }

/* --- HEADER SEARCH --- */
.azr-search{ min-width: 260px; max-width: 360px; flex: 1 1 260px; }
.azr-searchform{ display:flex; gap:8px; align-items:center; }
.azr-search-input{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  width:100%;
}
.azr-search-btn{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #111;
  background:#111;
  color:#fff;
  font-weight:950;
  cursor:pointer;
}
@media(max-width:900px){
  .azr-search{ min-width: 100%; max-width: 100%; }
}


/* --- SERVICES PAGE FORMATTING --- */
.services-head{ padding:18px; }
.service-card h3{ line-height:1.2; }
.service-card{ display:block; }
