/*
Theme Name: Chandrawanshi Tour & Travels
Theme URI: https://chandrawanshitourtravels.com
Author: Chandrawanshi Tour & Travels
Description: Custom theme for Chandrawanshi Tour & Travels — a Kolkata-based car, tempo traveller and coach hire service. Heritage Professional design: Fraunces + Inter, single maroon accent.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: chandrawanshi
*/

:root{
  --c-bg:#FFFFFF;
  --c-alt-bg:#F6F1EA;
  --c-maroon:#7A2E2E;
  --c-maroon-light:#D98B78;
  --c-mauve:#6B615A;
  --c-ink:#1F1B17;
  --c-star:#E3A73E;
  --radius:8px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Inter',sans-serif;color:var(--c-ink);background:var(--c-bg);line-height:1.5;font-size:clamp(0.875rem, 0.4vw + 0.8rem, 0.9375rem);}
h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:700;line-height:1.2;}
.eyebrow,.badge,.price{font-family:'Inter',sans-serif;font-weight:700;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:'Inter',sans-serif;cursor:pointer;border:none;}
ul{list-style:none;}
.container{max-width:1180px;margin:0 auto;padding:0 20px;}
.screen-reader-text{position:absolute;left:-9999px;}

.btn{display:inline-block;padding:11px 22px;border-radius:var(--radius);font-size:clamp(0.8rem, 0.3vw + 0.75rem, 0.875rem);font-weight:600;}
.btn-primary{background:var(--c-maroon);color:#fff;}
.btn-outline{background:transparent;border:1.5px solid #fff;color:#fff;}
.btn-outline-ink{background:transparent;border:1.5px solid var(--c-ink);color:var(--c-ink);}
.section{padding:clamp(28px, 5vw, 50px) 0;}
.section-head{text-align:center;max-width:560px;margin:0 auto 30px;}
.section-head .eyebrow{color:var(--c-maroon);font-size:clamp(0.6875rem, 0.3vw + 0.6rem, 0.75rem);letter-spacing:1.5px;text-transform:uppercase;}
.section-head h2{font-size:clamp(1.375rem, 2.2vw + 1rem, 1.625rem);margin:8px 0 8px;}
.section-head p{color:var(--c-mauve);font-size:clamp(0.8rem, 0.3vw + 0.75rem, 0.84375rem);}

/* ===== TOP BAR ===== */
.topbar{background:var(--c-ink);color:#fff;font-size:clamp(0.7rem, 0.3vw + 0.65rem, 0.78125rem);padding:8px 0;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;}
.topbar .hours{color:#c9c3bd;}
.topbar .contacts{display:flex;gap:10px;align-items:center;}
.topbar .fastest{color:var(--c-maroon-light);font-weight:700;display:flex;align-items:center;gap:6px;margin-right:6px;}
.topbar .tb-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-weight:600;font-size:inherit;}
.topbar .tb-btn.call{background:var(--c-maroon);color:#fff;}
.topbar .tb-btn.whatsapp{background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;}

/* ===== NAV ===== */
.nav-1{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #ececec;background:#fff;}
.nav-1 .logo{font-family:'Fraunces',serif;font-weight:700;display:flex;align-items:center;gap:10px;white-space:nowrap;}
.nav-1 .logo a{display:block;}
.nav-1 .logo .custom-logo-link{display:block;flex-shrink:0;}
.nav-1 .logo img.custom-logo{max-height:clamp(34px,4.5vw,48px);width:auto;display:block;}
.nav-1 .logo .logo-text{display:flex;flex-direction:column;line-height:1.15;}
.nav-1 .logo .logo-line-1{font-size:clamp(0.9rem,1vw+0.65rem,1.1875rem);}
.nav-1 .logo .logo-line-2{font-size:clamp(0.6rem,0.4vw+0.5rem,0.75rem);color:var(--c-maroon);font-weight:600;letter-spacing:0.3px;}
.nav-1 ul{display:flex;gap:24px;list-style:none;font-size:clamp(0.8rem, 0.3vw + 0.75rem, 0.84375rem);font-weight:500;}
.nav-1 .btn{padding:9px 18px;font-size:clamp(0.75rem, 0.3vw + 0.7rem, 0.8125rem);}
.nav-menu-wrap{display:contents;}
.nav-menu-cta{display:none;}
.nav-1-actions{display:flex;align-items:center;gap:10px;}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:0;background:none;border:none;cursor:pointer;flex-shrink:0;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--c-ink);border-radius:2px;transition:transform .2s ease, opacity .2s ease;}
.nav-1.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-1.nav-open .nav-toggle span:nth-child(2){opacity:0;}
.nav-1.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-wrap{position:sticky;top:0;z-index:40;background:#fff;}

/* ===== HERO ===== */
.hero{
  position:relative;
  min-height:clamp(420px, 80vh, 620px);
  display:flex;
  align-items:center;
  background-size:cover;
  background-position:center;
  color:#fff;
}
.hero .inner{max-width:800px;padding:70px 20px;}
.hero .eyebrow{color:var(--c-maroon-light);font-size:clamp(0.75rem, 0.3vw + 0.7rem, 0.9375rem);letter-spacing:1.5px;text-transform:uppercase;}
.hero h1{font-size:clamp(2rem, 2.6vw + 1.4rem, 3.75rem);line-height:1.12;margin:16px 0 18px;color:#fff;}
.hero p{color:#e9e5e0;font-size:clamp(0.9rem, 0.5vw + 0.8rem, 1.125rem);line-height:1.6;max-width:640px;margin-bottom:26px;}
.hero .usp-row{display:flex;gap:24px;margin-top:24px;flex-wrap:wrap;}
.hero .usp-row div{font-size:clamp(0.8rem, 0.25vw + 0.75rem, 0.9375rem);font-weight:600;display:flex;align-items:center;gap:6px;}
.hero .usp-row div i{color:var(--c-maroon-light);}

/* ===== STATS STRIP ===== */
.stats-strip{background:var(--c-ink);padding:22px 0;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center;}
.stats-grid div i{color:var(--c-maroon-light);font-size:clamp(1.1rem, 1vw + 0.9rem, 1.35rem);margin-bottom:6px;display:block;}
.stats-grid strong{display:block;color:#fff;font-family:'Fraunces',serif;font-size:clamp(1.1rem, 1vw + 0.9rem, 1.4rem);}
.stats-grid span{color:#c9c3bd;font-size:clamp(0.65rem, 0.3vw + 0.6rem, 0.75rem);}

/* ===== ABOUT / WHY CHOOSE US ===== */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;}
.img-collage{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.img-collage img{height:130px;object-fit:cover;border-radius:var(--radius);width:100%;}
.img-collage img:nth-child(1){height:170px;grid-column:1;grid-row:1 / 3;}
.about-text .eyebrow{color:var(--c-maroon);font-size:clamp(0.6875rem, 0.3vw + 0.6rem, 0.75rem);letter-spacing:1.5px;text-transform:uppercase;}
.about-text h2{font-size:clamp(1.375rem, 2.2vw + 1rem, 1.625rem);margin:8px 0 12px;}
.about-text p{color:var(--c-mauve);font-size:clamp(0.8rem, 0.3vw + 0.75rem, 0.875rem);margin-bottom:14px;}
.about-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;}
.about-list li{position:relative;padding-left:18px;font-size:clamp(0.78rem, 0.3vw + 0.72rem, 0.85rem);font-weight:600;}
.about-list li i{position:absolute;left:0;top:3px;color:var(--c-maroon);font-size:11px;}

/* ===== VEHICLES ===== */
.veh-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.veh-card{border:1px solid #ececec;border-radius:var(--radius);overflow:hidden;background:#fff;}
.veh-card .thumb{height:120px;object-fit:cover;width:100%;background:var(--c-alt-bg);}
.veh-card .body{padding:12px 14px;}
.veh-card h4{font-size:clamp(0.8125rem, 0.5vw + 0.68rem, 0.875rem);margin-bottom:3px;}
.veh-card p{font-size:clamp(0.7rem, 0.3vw + 0.65rem, 0.75rem);color:var(--c-mauve);margin-bottom:8px;}
.veh-card .feat-list{list-style:none;font-size:clamp(0.625rem, 0.3vw + 0.58rem, 0.6875rem);color:var(--c-ink);display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;}
.veh-card .feat-list li{position:relative;padding-left:12px;}
.veh-card .feat-list li i{position:absolute;left:0;top:2px;color:var(--c-maroon);font-size:10px;}

/* ===== SERVICES ===== */
.svc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.svc-card{background:#fff;border:1px solid #ececec;border-radius:var(--radius);padding:16px;text-align:center;}
.svc-card .ic{width:32px;height:32px;border-radius:50%;background:var(--c-maroon);color:#fff;display:flex;align-items:center;justify-content:center;font-size:clamp(0.75rem, 0.3vw + 0.7rem, 0.8125rem);margin:0 auto 10px;}
.svc-card h4{font-size:clamp(0.75rem, 0.4vw + 0.65rem, 0.8125rem);margin-bottom:4px;}
.svc-card p{font-size:clamp(0.65rem, 0.3vw + 0.6rem, 0.71875rem);color:var(--c-mauve);}

/* ===== GALLERY ===== */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.gallery-grid img{height:150px;object-fit:cover;border-radius:var(--radius);width:100%;}

/* ===== LOCATIONS ===== */
.bg-alt{background:var(--c-alt-bg);}
.loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.loc-card{background:#fff;border-radius:var(--radius);padding:18px;}
.loc-card .ic{width:30px;height:30px;border-radius:50%;background:var(--c-alt-bg);color:var(--c-maroon);display:flex;align-items:center;justify-content:center;font-size:0.8rem;margin-bottom:10px;}
.loc-card h4{font-size:clamp(0.85rem, 0.5vw + 0.72rem, 0.90625rem);margin-bottom:6px;}
.loc-card p{font-size:clamp(0.72rem, 0.3vw + 0.68rem, 0.78125rem);color:var(--c-mauve);margin-bottom:12px;}
.loc-card .links{display:flex;gap:14px;font-size:clamp(0.7rem, 0.3vw + 0.65rem, 0.75rem);font-weight:600;}
.loc-card .links span{color:var(--c-maroon);}

/* ===== TESTIMONIALS ===== */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.testi-card{background:var(--c-alt-bg);border-radius:var(--radius);padding:18px;}
.testi-card .stars{color:var(--c-star);font-size:clamp(0.75rem, 0.3vw + 0.7rem, 0.8125rem);margin-bottom:8px;}
.testi-card p{font-size:clamp(0.75rem, 0.3vw + 0.7rem, 0.8125rem);margin-bottom:12px;}
.testi-card .top-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.testi-card .top-row .stars{margin-bottom:0;}
.testi-card .posted{font-size:clamp(0.65rem, 0.2vw + 0.6rem, 0.7rem);color:var(--c-mauve);}
.testi-card .who{display:flex;align-items:center;gap:10px;}
.testi-card .avatar{width:36px;height:36px;border-radius:50%;background:var(--c-maroon);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:700;font-size:0.8rem;flex-shrink:0;}
.testi-card strong{font-size:clamp(0.75rem, 0.3vw + 0.7rem, 0.8125rem);display:block;}
.testi-card .meta{font-size:clamp(0.65rem, 0.2vw + 0.6rem, 0.7rem);color:var(--c-mauve);display:flex;align-items:flex-start;gap:5px;margin-top:2px;line-height:1.4;}
.testi-card .meta i{color:var(--c-maroon);font-size:0.65rem;margin-top:2px;flex-shrink:0;}

/* ===== FOOTER ===== */
.footer{background:var(--c-ink);color:#fff;padding:36px 0 18px;margin-top:0;}
.footer .cols{display:grid;grid-template-columns:1.3fr repeat(5,1fr);gap:20px;}
.footer .footer-brand{grid-column:1;}
.footer .footer-logo{margin-bottom:12px;}
.footer .footer-logo img.custom-logo{max-height:56px;width:auto;display:block;}
.footer h5{font-size:clamp(0.75rem, 0.3vw + 0.7rem, 0.8125rem);margin-bottom:10px;color:var(--c-maroon-light);}
.footer ul{list-style:none;font-size:clamp(0.72rem, 0.3vw + 0.68rem, 0.78125rem);}
.footer ul li{margin-bottom:7px;color:#cbc5bf;}
.footer p{font-size:clamp(0.72rem, 0.3vw + 0.68rem, 0.78125rem);color:#cbc5bf;max-width:280px;}
.footer .bottom{border-top:1px solid #3a352f;margin-top:22px;padding-top:14px;font-size:clamp(0.65rem, 0.3vw + 0.6rem, 0.71875rem);color:#948d86;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;}
.footer .legal-links{display:flex;flex-wrap:wrap;gap:6px 16px;}
.footer .legal-links a{color:#948d86;}
.footer .legal-links a:hover{color:var(--c-maroon-light);}
.footer .credit{text-align:center;font-size:clamp(0.65rem, 0.3vw + 0.6rem, 0.71875rem);color:#948d86;margin-top:14px;}
.footer .credit i{color:var(--c-maroon-light);margin:0 3px;}
.footer .credit a{color:#cbc5bf;font-weight:600;}
.footer .credit a:hover{color:var(--c-maroon-light);}

/* ===== BLOG ===== */
.blog-hero{background:var(--c-ink);color:#fff;padding:clamp(30px,6vw,54px) 0;text-align:center;}
.blog-hero h1{color:#fff;font-size:clamp(1.6rem,3vw+1rem,2.2rem);margin-bottom:8px;}
.blog-hero p{color:#c9c3bd;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.blog-card{border:1px solid #ececec;border-radius:var(--radius);overflow:hidden;background:#fff;}
.blog-card .thumb{height:170px;object-fit:cover;width:100%;background:var(--c-alt-bg);}
.blog-card .body{padding:16px;}
.blog-card .meta{font-size:clamp(0.65rem,0.3vw+0.6rem,0.75rem);color:var(--c-mauve);margin-bottom:6px;text-transform:uppercase;letter-spacing:1px;font-weight:600;}
.blog-card h2{font-size:clamp(1rem,0.6vw+0.85rem,1.15rem);margin-bottom:8px;}
.blog-card h2 a{color:var(--c-ink);}
.blog-card p{font-size:clamp(0.78rem,0.3vw+0.72rem,0.85rem);color:var(--c-mauve);margin-bottom:10px;}
.blog-card .readmore{color:var(--c-maroon);font-weight:600;font-size:clamp(0.75rem,0.3vw+0.7rem,0.8125rem);}
.pagination-row{display:flex;justify-content:center;gap:10px;margin-top:10px;}
.pagination-row a,.pagination-row span{padding:8px 16px;border:1px solid #ececec;border-radius:var(--radius);font-size:0.85rem;font-weight:600;}
.pagination-row .current{background:var(--c-maroon);color:#fff;border-color:var(--c-maroon);}

.single-post-wrap{max-width:760px;margin:0 auto;}
.single-post-wrap .post-category{display:inline-block;background:var(--c-alt-bg);color:var(--c-maroon);font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:5px 12px;border-radius:999px;margin-bottom:10px;}
.single-post-wrap .post-meta{color:var(--c-mauve);font-size:0.8rem;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px;font-weight:600;}
.single-post-wrap h1{font-size:clamp(1.6rem,3vw+1rem,2.2rem);margin-bottom:16px;}
.single-post-wrap img{border-radius:var(--radius);margin-bottom:20px;}
.single-post-wrap .entry-content{font-size:1rem;line-height:1.7;}
.single-post-wrap .entry-content p{margin-bottom:1.1em;}
.single-post-wrap .entry-content h2,.single-post-wrap .entry-content h3{margin:1.4em 0 0.6em;}
.single-post-wrap .post-tags{margin-top:24px;padding-top:20px;border-top:1px solid #ececec;display:flex;flex-wrap:wrap;gap:8px;}
.single-post-wrap .post-tags a{background:var(--c-alt-bg);color:var(--c-mauve);font-size:0.75rem;font-weight:600;padding:5px 12px;border-radius:999px;}

/* ===== LANDING PAGE TEMPLATE (services / tour-packages / holiday-types / vehicles) ===== */
.breadcrumb{display:block;font-size:clamp(0.7rem,0.3vw+0.65rem,0.78125rem);color:#c9c3bd;margin-bottom:10px;}
.breadcrumb a{color:var(--c-maroon-light);}
.breadcrumb span{margin:0 6px;opacity:.6;}
.breadcrumb.on-light{color:var(--c-mauve);}
.breadcrumb.on-light a{color:var(--c-maroon);}

.page-hero{
  position:relative;
  min-height:clamp(220px,42vh,340px);
  display:flex;
  align-items:center;
  background-size:cover;
  background-position:center;
  color:#fff;
}
.page-hero .inner{max-width:720px;padding:50px 20px;}
.page-hero h1{font-size:clamp(1.6rem,3vw+1rem,2.2rem);margin:6px 0 12px;color:#fff;}
.page-hero p{color:#e9e5e0;font-size:clamp(0.85rem,0.5vw+0.75rem,0.9375rem);max-width:560px;}

.page-body{max-width:820px;margin:0 auto;}
.page-body p{margin-bottom:1.1em;font-size:clamp(0.85rem,0.3vw+0.8rem,0.95rem);line-height:1.7;}
.page-body .lede{font-size:clamp(0.95rem,0.4vw+0.85rem,1.05rem);color:var(--c-mauve);}
.page-body h2{font-size:clamp(1.1rem,0.8vw+0.95rem,1.3rem);margin:1.6em 0 0.6em;}
.page-body h2:first-of-type{margin-top:0.6em;}

.why-best{background:var(--c-alt-bg);border-radius:var(--radius);padding:clamp(20px,4vw,32px);margin:30px 0;}
.why-best h2{font-size:clamp(1.2rem,1.5vw+0.9rem,1.4rem);margin-bottom:6px;}
.why-best .eyebrow{color:var(--c-maroon);font-size:clamp(0.6875rem,0.3vw+0.6rem,0.75rem);letter-spacing:1.5px;text-transform:uppercase;}
.why-best ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin-top:16px;}
.why-best li{position:relative;padding-left:26px;font-size:clamp(0.8rem,0.3vw+0.75rem,0.875rem);}
.why-best li i{position:absolute;left:0;top:3px;color:var(--c-maroon);font-size:14px;}
.why-best li strong{display:block;font-family:'Fraunces',serif;font-size:clamp(0.85rem,0.3vw+0.8rem,0.95rem);margin-bottom:2px;}
.why-best li span{color:var(--c-mauve);}

.related-links{margin:30px 0;}
.related-links h3{font-size:clamp(1rem,0.6vw+0.85rem,1.15rem);margin-bottom:14px;}
.related-links .link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.related-links .link-grid a{display:block;border:1px solid #ececec;border-radius:var(--radius);padding:12px 14px;font-size:clamp(0.78rem,0.3vw+0.72rem,0.85rem);font-weight:600;color:var(--c-ink);}
.related-links .link-grid a i{color:var(--c-maroon);margin-right:8px;}

/* ===== SITEMAP PAGE ===== */
.sitemap-section{margin-bottom:44px;padding-bottom:36px;border-bottom:1px solid #ececec;}
.sitemap-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.sitemap-section > h2{display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.sitemap-section > h2 i{color:var(--c-maroon);font-size:0.85em;}
.sitemap-sub{font-family:'Fraunces',serif;font-weight:700;color:var(--c-maroon);font-size:clamp(0.85rem,0.3vw+0.8rem,0.95rem);margin:20px 0 8px;}
.sitemap-sub:first-of-type{margin-top:0;}
.sitemap-links{columns:3;column-gap:28px;margin:0;padding:0;}
.sitemap-links li{break-inside:avoid;list-style:none;margin-bottom:9px;font-size:clamp(0.8rem,0.3vw+0.75rem,0.875rem);}
.sitemap-links li.is-child{margin-left:14px;}
.sitemap-links li.is-child a::before{content:"– ";color:var(--c-mauve);}
.sitemap-links a{color:var(--c-ink);}
.sitemap-links a:hover{color:var(--c-maroon);}
@media(max-width:960px){.sitemap-links{columns:2;}}
@media(max-width:560px){.sitemap-links{columns:1;}}

.page-cta{background:var(--c-ink);color:#fff;border-radius:var(--radius);padding:clamp(20px,4vw,30px);text-align:center;margin:30px 0 10px;}
.page-cta h3{color:#fff;font-size:clamp(1.1rem,1vw+0.9rem,1.3rem);margin-bottom:8px;}
.page-cta p{color:#c9c3bd;margin-bottom:16px;font-size:clamp(0.8rem,0.3vw+0.75rem,0.875rem);}

.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.hub-card{border:1px solid #ececec;border-radius:var(--radius);padding:18px;background:#fff;}
.hub-card h4{font-size:clamp(0.9rem,0.4vw+0.8rem,1rem);margin-bottom:6px;}
.hub-card h4 a{color:var(--c-ink);}
.hub-card p{font-size:clamp(0.75rem,0.3vw+0.7rem,0.8125rem);color:var(--c-mauve);}

/* ===== CONTACT FORM & MAP ===== */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch;margin:20px 0;}
.contact-form-box{background:var(--c-alt-bg);border-radius:var(--radius);padding:clamp(20px,4vw,30px);}
.contact-form-box h3{font-size:clamp(1.1rem,1vw+0.9rem,1.3rem);margin-bottom:16px;}
.contact-form-box .field{margin-bottom:14px;}
.contact-form-box .field label{display:block;font-size:0.8rem;font-weight:600;margin-bottom:5px;color:var(--c-ink);}
.contact-form-box .field input,.contact-form-box .field textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:var(--radius);font-family:'Inter',sans-serif;font-size:0.85rem;background:#fff;}
.contact-form-box .field textarea{resize:vertical;min-height:110px;}
.contact-form-box .form-note{font-size:0.75rem;color:var(--c-mauve);margin-top:10px;}
.form-alert{padding:12px 16px;border-radius:var(--radius);font-size:0.85rem;font-weight:600;margin-bottom:20px;display:flex;align-items:center;gap:8px;}
.form-alert i{color:var(--c-maroon);}
.form-alert.success{background:var(--c-alt-bg);color:var(--c-ink);}
.form-alert.error{background:#fff;border:1.5px solid var(--c-maroon);color:var(--c-maroon);}
.map-embed-wrap{border-radius:var(--radius);overflow:hidden;min-height:280px;height:100%;}
.map-embed-wrap iframe{width:100%;height:100%;min-height:280px;border:0;display:block;}

/* ===== ENQUIRY MODAL ===== */
.enquiry-modal-overlay{display:none;position:fixed;inset:0;background:rgba(20,17,14,.6);z-index:100;align-items:center;justify-content:center;padding:20px;}
.enquiry-modal-overlay.active{display:flex;}
.enquiry-modal{background:#fff;border-radius:var(--radius);padding:clamp(24px,5vw,36px);max-width:360px;width:100%;text-align:center;position:relative;}
.enquiry-modal-close{position:absolute;top:10px;right:12px;background:none;border:none;font-size:1.5rem;line-height:1;color:var(--c-mauve);cursor:pointer;padding:4px;}
.enquiry-modal-badge{display:inline-flex;align-items:center;gap:6px;background:var(--c-alt-bg);color:var(--c-maroon);font-size:clamp(0.7rem,0.3vw+0.65rem,0.78125rem);font-weight:700;padding:6px 14px;border-radius:999px;margin-bottom:16px;}
.enquiry-modal-badge i{color:var(--c-maroon);}
.enquiry-modal-badge.blink{animation:enquiry-blink 1.1s ease-in-out infinite;}
@keyframes enquiry-blink{0%,100%{opacity:1;}50%{opacity:.3;}}
.enquiry-modal h3{font-size:clamp(1.1rem,1vw+0.9rem,1.3rem);margin-bottom:8px;}
.enquiry-modal p{color:var(--c-mauve);font-size:clamp(0.8rem,0.3vw+0.75rem,0.875rem);margin-bottom:22px;}
.enquiry-modal-actions{display:flex;flex-direction:column;gap:12px;}
.enquiry-modal-actions .btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;}

/* ===== INSTANT CONTACT BAR (Contact page) ===== */
.instant-contact-bar{background:var(--c-alt-bg);border-radius:var(--radius);padding:clamp(22px,4vw,32px);text-align:center;margin-bottom:clamp(24px,4vw,32px);}
.instant-contact-bar h3{font-size:clamp(1.05rem,1vw+0.85rem,1.25rem);margin:0 0 6px;}
.instant-contact-bar p{color:var(--c-mauve);font-size:clamp(0.8rem,0.3vw+0.75rem,0.875rem);margin:0 0 18px;}
.instant-contact-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.instant-contact-actions .btn{display:inline-flex;align-items:center;gap:8px;min-width:180px;justify-content:center;}
@media (max-width:560px){.instant-contact-actions{flex-direction:column;}.instant-contact-actions .btn{width:100%;min-width:0;}}

/* ===== SIDE FLOATING BUTTONS ===== */
.side-fab{position:fixed;right:0;top:62%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;align-items:flex-end;}
.side-fab-whatsapp{width:50px;height:50px;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border-radius:10px 0 0 10px;box-shadow:-2px 2px 10px rgba(20,17,14,.22);margin-bottom:3px;transition:background .15s ease;}
.side-fab-whatsapp:hover{background:#1ebe5b;}
.side-fab-contact{position:relative;display:block;width:50px;height:150px;background:var(--c-maroon);border-radius:10px 0 0 10px;box-shadow:-2px 2px 10px rgba(20,17,14,.22);overflow:hidden;transition:background .15s ease;}
.side-fab-contact:hover{background:#5e2424;}
.side-fab-contact span{position:absolute;top:50%;left:50%;display:flex;align-items:center;gap:6px;white-space:nowrap;color:#fff;font-weight:700;font-size:clamp(0.72rem,0.3vw+0.68rem,0.8rem);letter-spacing:0.3px;transform:translate(-50%,-50%) rotate(-90deg);}
@media(max-width:560px){
  .side-fab-whatsapp{width:42px;height:42px;font-size:1.25rem;}
  .side-fab-contact{width:42px;height:126px;}
  .side-fab-contact span{font-size:0.68rem;}
}

/* ===== FAQ ACCORDION ===== */
.faq-list{max-width:820px;margin:0 auto;}
.faq-item{border-bottom:1px solid #ececec;padding:16px 0;}
.faq-item summary{cursor:pointer;font-family:'Fraunces',serif;font-weight:700;font-size:clamp(0.85rem,0.3vw+0.78rem,1rem);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";color:var(--c-maroon);font-size:1.4rem;font-weight:700;flex-shrink:0;line-height:1;}
.faq-item[open] summary::after{content:"\2212";}
.faq-item p{margin-top:10px;color:var(--c-mauve);font-size:clamp(0.8rem,0.3vw+0.75rem,0.875rem);line-height:1.65;}

/* ===== RESPONSIVE — prefer 2-3 cols on small screens ===== */
@media(max-width:960px){
  .veh-grid{grid-template-columns:repeat(2,1fr);}
  .svc-grid{grid-template-columns:repeat(3,1fr);}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .loc-grid{grid-template-columns:repeat(2,1fr);}
  .testi-grid{grid-template-columns:repeat(2,1fr);}
  .footer .cols{grid-template-columns:repeat(3,1fr);}
  .footer .footer-brand{grid-column:1 / -1;}
  .nav-menu-wrap{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid #ececec;box-shadow:0 12px 24px rgba(20,17,14,.1);padding:8px 0 18px;max-height:calc(100vh - 100%);overflow-y:auto;}
  .nav-1 ul{flex-direction:column;gap:0;}
  .nav-1 ul li{width:100%;}
  .nav-1 ul li a{display:block;padding:13px 20px;}
  .nav-menu-cta{display:block;margin:14px 20px 2px;text-align:center;}
  .nav-1.nav-open .nav-menu-wrap{display:block;}
  .nav-toggle{display:flex;}
  #enquiry-trigger{display:none;}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:20px;}
  .about-grid{grid-template-columns:1fr;}
  .blog-grid{grid-template-columns:repeat(2,1fr);}
  .why-best ul{grid-template-columns:1fr;}
  .related-links .link-grid{grid-template-columns:repeat(2,1fr);}
  .hub-grid{grid-template-columns:repeat(2,1fr);}
  .contact-grid{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .veh-grid{grid-template-columns:repeat(2,1fr);}
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .loc-grid{grid-template-columns:repeat(2,1fr);}
  .testi-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .testi-card{padding:12px;}
  .testi-card p{font-size:0.7rem;line-height:1.5;margin-bottom:10px;}
  .testi-card .top-row{flex-wrap:wrap;gap:4px;margin-bottom:6px;}
  .testi-card .stars{font-size:0.7rem;}
  .testi-card .posted{font-size:0.6rem;}
  .testi-card .who{gap:8px;}
  .testi-card .avatar{width:30px;height:30px;font-size:0.7rem;}
  .testi-card strong{font-size:0.7rem;}
  .testi-card .meta{font-size:0.6rem;}
  .footer .cols{grid-template-columns:repeat(2,1fr);}
  .footer .footer-brand{grid-column:1 / -1;}
  .topbar{display:none;}
  .stats-grid{grid-template-columns:repeat(4,1fr);gap:6px;}
  .stats-grid div i{font-size:1rem;margin-bottom:4px;}
  .stats-grid strong{font-size:1rem;}
  .stats-grid span{display:block;font-size:0.6rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .about-list{grid-template-columns:1fr;}
  .blog-grid{grid-template-columns:1fr;}
  .related-links .link-grid{grid-template-columns:1fr;}
  .hub-grid{grid-template-columns:1fr;}
}
