/* ============================================================
   RESPONSIVE v20 — Mobile-First Complete Fix
   Ravi's Dental Care — All breakpoints
   ============================================================ */

* { box-sizing: border-box; }
img { max-width: 100%; }
body { overflow-x: hidden !important; }
.container { width:100%; max-width:1240px; margin:0 auto; padding:0 24px; }

/* Team lead block: always centered photo + copy (homepage) */
.team-showcase .team-lead {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

@media(max-width:1200px){
    .container{padding:0 28px;}
    .hero-card{gap:28px;}
    .team-lead{padding:32px 28px!important;gap:28px!important;}
    .specialist-grid{grid-template-columns:repeat(3,1fr);}
    .wc-grid{grid-template-columns:repeat(2,1fr)!important;}
    .diff2-layout{grid-template-columns:1fr 460px;gap:48px;}
    .appointment-shell{grid-template-columns:1fr 400px;gap:40px;}
    .services-grid{grid-template-columns:repeat(3,1fr);}
    .emerg-grid{gap:48px;}
}

@media(max-width:1024px){
    .container{padding:0 24px;}
    .hero-card{grid-template-columns:1fr 360px!important;gap:20px;}
    .services-header{grid-template-columns:1fr;gap:8px;}
    .services-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
    .team-header{grid-template-columns:1fr;gap:8px;}
    .specialist-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
    .wc-header{flex-direction:column!important;align-items:flex-start!important;gap:12px!important;}
    .wc-header-desc{text-align:left!important;max-width:100%!important;}
    .wc-grid{grid-template-columns:1fr 1fr!important;gap:12px!important;}
    .cr-layout{grid-template-columns:1fr!important;gap:36px!important;}
    .appointment-shell{grid-template-columns:1fr!important;gap:36px;}
    .appointment-photos{order:-1;}
    .diff2-layout{grid-template-columns:1fr!important;gap:40px;}
    .diff2-visual{order:-1;}
    .diff2-header{max-width:100%;}
    .diff2-img-wrap img{height:400px!important;}
    .diff2-img-badge{right:12px;top:16px;}
    .emerg-grid{grid-template-columns:1fr!important;gap:40px;}
    .emerg-left h2{font-size:2.6rem;}
    .emerg-desc{max-width:100%;}
}

@media(max-width:900px){
    .hero-card{grid-template-columns:1fr!important;gap:0!important;text-align:center!important;}
    .hero-media{display:none!important;}
    .hero-copy{text-align:center!important;}
    .hero-eyebrow-pill{margin:0 auto 16px!important;}
    .hero-badges{justify-content:center!important;}
    .hero-actions{justify-content:center!important;flex-wrap:wrap!important;}
    .hero-trust{flex-direction:column!important;align-items:center!important;gap:8px!important;}
    .hero-float{display:none!important;}
    .intro-top{display:block!important;}
    .intro-content{display:block!important;}
    .intro-text{margin-bottom:20px;}
    .intro-stats{flex-wrap:wrap!important;justify-content:center!important;gap:12px!important;}
    .intro-stat-divider{display:none!important;}
    .intro-features{display:block!important;}
    .intro-feature-card{margin-bottom:10px;}
    .wc-stats{flex-wrap:wrap!important;justify-content:center!important;gap:16px!important;}
    .wc-stats-sep{display:none!important;}
    .team-lead{padding:24px 18px!important;gap:24px!important;}
    .team-lead-photo img{height:280px!important;min-height:280px!important;}
    .team-lead-highlights{flex-wrap:wrap!important;}
    .team-lead-hl{flex:1 1 calc(50% - 6px)!important;}
    .specialist-grid{grid-template-columns:repeat(2,1fr)!important;}
    .form-row{grid-template-columns:1fr!important;gap:10px!important;}
    .appt-photo-secondary{display:none!important;}
    .rv-grid{grid-template-columns:1fr!important;}
    .footer-grid{grid-template-columns:1fr 1fr!important;gap:28px!important;}
}

@media(max-width:768px){
    .container{padding:0 16px!important;}
    .home-hero{padding:12px 0 32px!important;}
    .clinic-intro{padding:40px 0!important;}
    .wc-section{padding:48px 0!important;}
    .team-showcase{padding:48px 0!important;}
    .services-section{padding:48px 0!important;}
    .home-faq{padding:48px 0!important;}
    .rv-section{padding:48px 0!important;}
    .certificates{padding:40px 0!important;}
    .emergency-v2{padding:48px 0!important;}
    .difference-v2{padding:48px 0!important;}
    .appt-section{padding:48px 0 80px!important;}
    .appointment-panel{padding:48px 0!important;}
    h1{font-size:clamp(1.8rem,8vw,2.3rem)!important;}
    h2{font-size:clamp(1.5rem,6vw,2rem)!important;}
    .intro-top{margin-bottom:28px!important;}
    .intro-head{margin-bottom:16px!important;}
    .intro-bottom{margin-top:0!important;}
    .intro-photo img{height:220px!important;object-fit:cover!important;border-radius:16px!important;}
    .intro-content{gap:20px!important;}
    .services-grid{grid-template-columns:1fr 1fr!important;gap:12px!important;}
    .service-card-img{height:140px!important;min-height:140px!important;}
    .specialist-grid{grid-template-columns:1fr 1fr!important;gap:10px!important;}
    .specialist-photo{height:160px!important;min-height:160px!important;}
    .specialist-card{padding:12px!important;gap:10px!important;}
    .specialist-card--photo .specialist-info{padding:12px!important;}
    .specialist-info h4{font-size:.85rem!important;}
    .specialist-qual{font-size:.68rem!important;}
    .wc-grid{grid-template-columns:1fr!important;gap:10px!important;}
    .wc-card-featured{grid-row:auto!important;}
    .wc-stats{padding:16px!important;gap:12px!important;}
    .wc-emergency-inner{flex-direction:column!important;text-align:center!important;gap:16px!important;}
    .wc-emergency-left{flex-direction:column!important;align-items:center!important;text-align:center!important;}
    .wc-emergency-btn{width:100%;justify-content:center;}
    .emerg-left h2{font-size:2rem!important;}
    .emerg-stats{flex-wrap:wrap!important;gap:10px!important;}
    .emerg-stat-div{display:none!important;}
    .emerg-card-grid{grid-template-columns:1fr 1fr!important;gap:10px!important;}
    .emerg-card{padding:12px!important;gap:10px!important;}
    .emerg-card-icon{width:36px!important;height:36px!important;border-radius:10px!important;}
    .btn-emerg-primary{width:100%!important;justify-content:center!important;font-size:.9rem!important;}
    .btn-emerg-secondary{display:none;}
    .diff2-header{text-align:center!important;margin-bottom:28px!important;}
    .diff2-img-wrap img{height:280px!important;}
    .diff2-img-badge{display:none!important;}
    .diff2-item{padding:12px 0!important;gap:12px!important;}
    .diff2-num{width:36px!important;height:36px!important;}
    .diff2-item-body p{font-size:.88rem!important;}
    .btn-diff2{width:100%!important;justify-content:center!important;}
    .appt-wrap{gap:32px!important;}
    .appt-photo-main img{height:220px!important;}
    .cr-section{padding:48px 0!important;}
    .cr-layout{gap:28px!important;}
    .faq-grid{gap:8px!important;}
    .footer-grid{grid-template-columns:1fr!important;gap:24px!important;}
    body{padding-bottom:72px;}
}

@media(max-width:640px){
    .container{padding:0 14px!important;}
    .home-hero{padding:8px 0 24px!important;}
    .clinic-intro,.wc-section,.team-showcase,
    .services-section,.home-faq,.rv-section,.certificates,
    .emergency-v2,.difference-v2,.appointment-panel{padding:36px 0!important;}
    .appt-section{padding:36px 0 80px!important;}
    .hero-copy{padding:32px 24px!important;}
    .hero-copy h1{font-size:clamp(1.6rem,9vw,2.1rem)!important;}
    .hero-subtext{font-size:.88rem!important;max-width:100%!important;}
    .hero-badge{font-size:.72rem!important;padding:5px 10px!important;}
    .hero-actions{flex-direction:column!important;gap:10px!important;width:100%!important;}
    .hero-actions a{width:100%!important;justify-content:center!important;}
    .intro-top{margin-bottom:20px!important;}
    .intro-stats{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;}
    .intro-photo img{height:200px!important;}
    .intro-feature-card{padding:16px!important;}
    .team-lead{padding:14px!important;}
    .team-lead-photo img{height:240px!important;min-height:240px!important;}
    .team-lead-name-block h3{font-size:1.2rem!important;}
    .team-lead-highlights{flex-direction:column!important;}
    .team-lead-hl{flex:none!important;}
    .specialist-grid{grid-template-columns:1fr 1fr!important;}
    .specialist-photo{height:150px!important;min-height:150px!important;}
    .emerg-left h2{font-size:1.7rem!important;}
    .emerg-stats{display:grid!important;grid-template-columns:1fr 1fr!important;padding:14px!important;}
    .emerg-card-grid{grid-template-columns:1fr!important;gap:8px!important;}
    .emerg-hotline-num{font-size:.95rem!important;}
    .diff2-layout{gap:20px!important;}
    .diff2-img-wrap img{height:240px!important;}
    .diff2-img-tag{font-size:.68rem!important;padding:8px 12px!important;}
    .diff2-trust{flex-wrap:wrap!important;justify-content:center!important;}
    .services-grid{grid-template-columns:1fr 1fr!important;}
    .service-card-img{height:140px!important;min-height:140px!important;}
    .cr-section{padding:28px 0!important;}
    .cr-grid{gap:8px!important;}
    .form-row{grid-template-columns:1fr!important;}
    .appt-wrap{gap:24px!important;}
    .appt-photo-main img{height:200px!important;}
    .appointment-form-wrap h2{font-size:1.5rem!important;}
    .rv-grid{grid-template-columns:1fr!important;}
    .rv-card{padding:18px!important;}
    .rv-header{flex-direction:column!important;align-items:flex-start!important;gap:16px!important;}
    .rv-footer{flex-direction:column!important;gap:12px!important;}
    .rv-cta-btn{width:100%;justify-content:center;}
    .faq-grid{grid-template-columns:1fr!important;}
    .footer-grid{grid-template-columns:1fr!important;gap:20px!important;}
}

@media(max-width:480px){
    .container{padding:0 12px!important;}
    .home-hero{padding:4px 0 16px!important;}
    .clinic-intro,.wc-section,.team-showcase,
    .services-section,.home-faq,.rv-section,.certificates,
    .emergency-v2,.difference-v2{padding:28px 0!important;}
    .appt-section{padding:28px 0 80px!important;}
    .hero-copy{padding:24px 16px!important;}
    .hero-copy h1{font-size:1.55rem!important;}
    .hero-eyebrow-pill{font-size:.65rem!important;padding:6px 12px!important;margin-bottom:12px!important;}
    .specialist-grid{grid-template-columns:1fr 1fr!important;gap:8px!important;}
    .specialist-photo{height:130px!important;min-height:130px!important;}
    .emerg-card-grid{grid-template-columns:1fr!important;}
    .emerg-stat strong{font-size:1rem!important;}
    .diff2-img-wrap img{height:200px!important;}
    .services-grid{grid-template-columns:1fr!important;}
    .service-card-img{height:170px!important;min-height:170px!important;}
    .intro-photo img{height:180px!important;}
    .intro-head{margin-bottom:12px!important;}
    .team-lead-photo img{height:200px!important;min-height:200px!important;}
    .wc-stats{flex-direction:column!important;align-items:center!important;gap:10px!important;}
    .team-lead{padding:12px!important;}
    .emerg-hotline{padding:12px 14px!important;}
    .appt-wrap{gap:20px!important;}
    .footer-grid{grid-template-columns:1fr!important;}
}

/* Mobile sticky bottom bar */
.home-sticky-bar{display:none;}
@media(max-width:768px){
    .home-sticky-bar{
        display:grid!important;grid-template-columns:1fr 1fr 1fr;
        position:fixed;bottom:0;left:0;right:0;z-index:999;
        background:#fff;border-top:1px solid #e5e7eb;
        box-shadow:0 -4px 20px rgba(0,0,0,.1);
        padding:8px 12px calc(8px + env(safe-area-inset-bottom));
        gap:8px;
    }
    .home-sticky-bar a{
        display:flex;flex-direction:column;align-items:center;gap:4px;
        padding:8px 4px;border-radius:10px;font-size:.7rem;font-weight:600;
        text-decoration:none;color:#1a2b3c;transition:background .2s;
    }
    .home-sticky-bar a:hover,.home-sticky-bar a:active{background:rgba(27,111,216,.06);}
    .home-sticky-bar .hsb-call{color:#1B6FD8;}
    .home-sticky-bar .hsb-wa{color:#25D366;}
    .home-sticky-bar .hsb-book{background:#1B6FD8;color:#fff;border-radius:10px;}
    .home-sticky-bar .hsb-book:hover{background:#155bbf;}
}

/* Footer responsive */
@media(max-width:1024px){
    .ft-grid{grid-template-columns:1.5fr 1fr 1fr!important;gap:36px!important;}
    .ft-contact-col{grid-column:1/-1;}
    .ft-contact-card{flex-direction:row;flex-wrap:wrap;gap:20px;}
    .ft-contact-row{flex:1 1 calc(50% - 10px);}
    .ft-cta-inner{flex-direction:column;text-align:center;gap:20px;}
    .ft-cta-text p{max-width:100%;}
}
@media(max-width:768px){
    .ft-grid{grid-template-columns:1fr 1fr!important;gap:28px!important;}
    .ft-brand{grid-column:1/-1;}
    .ft-contact-col{grid-column:1/-1;}
    .ft-contact-card{flex-direction:column;padding:20px 16px!important;}
    .ft-contact-row{flex:none;}
    .ft-cta-buttons{flex-direction:column;width:100%;max-width:320px;}
    .ft-cta-btn{justify-content:center;width:100%;}
    .ft-trust-row{flex-wrap:wrap;gap:16px;justify-content:center;padding:20px 16px!important;}
    .ft-trust-sep{display:none!important;}
    .ft-bottom{flex-direction:column;gap:10px;text-align:center;margin:16px -16px 0!important;padding:18px 16px!important;}
    .ft-cta-strip{padding:24px 0!important;overflow:hidden;}
    .ft-cta-inner{padding:0 4px;}
    .ft-container{padding-top:40px!important;}
    .site-footer{overflow-x:hidden!important;}
}
@media(max-width:480px){
    .ft-grid{grid-template-columns:1fr!important;gap:20px!important;}
    .ft-container{padding-top:32px!important;}
    .ft-trust-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;text-align:center!important;padding:18px 12px!important;border-radius:14px!important;}
    .ft-trust-sep{display:none!important;}
    .ft-trust-item strong{font-size:1.4rem!important;}
    .ft-trust-item span{font-size:.62rem!important;}
    .ft-social{justify-content:center;}
    .ft-trust-badges{justify-content:center;}
    .ft-contact-card{padding:16px 14px!important;gap:14px!important;}
    .ft-contact-row{gap:10px!important;}
    .ft-icon-circle{width:30px!important;height:30px!important;min-width:30px!important;border-radius:8px!important;}
    .ft-contact-row p{font-size:.8rem!important;}
    .ft-contact-row a{font-size:.8rem!important;}
    .ft-contact-label{font-size:.64rem!important;}
    .ft-directions{font-size:.76rem!important;}
    .ft-bottom{margin:12px -12px 0!important;padding:16px 12px!important;}
    .ft-bottom p{font-size:.7rem!important;}
    .ft-bottom-links{gap:14px!important;flex-wrap:wrap!important;justify-content:center!important;}
    .ft-bottom-links a{font-size:.7rem!important;}
    .ft-heading{font-size:.88rem!important;margin-bottom:14px!important;}
    .ft-links{gap:8px!important;}
    .ft-links a{font-size:.82rem!important;}
    .ft-desc{font-size:.8rem!important;}
    .ft-logo img{height:40px!important;}
    .ft-brand-label{font-size:.6rem!important;}
    .ft-badge{font-size:.65rem!important;padding:4px 10px!important;}
    .ft-cta-text h3{font-size:1rem!important;}
    .ft-cta-text p{font-size:.78rem!important;}
    .ft-cta-btn{font-size:.78rem!important;padding:9px 16px!important;}
}

@media(hover:none)and(pointer:coarse){
    .service-card:hover,.specialist-card:hover,.emerg-card:hover,
    .diff2-item:hover,.team-lead-hl:hover,.wc-card:hover,
    .btn-emerg-primary:hover,.btn-diff2:hover{transform:none!important;box-shadow:none!important;}
    .diff2-img-wrap:hover img{transform:none!important;}
    .diff2-img-wrap:hover .diff2-img-badge{transform:rotate(3deg)!important;}
}

@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}
    .emerg-live-dot,.emerg-glow-1,.emerg-hotline-pulse{animation:none!important;}
}

/* Navbar handled by style.css — no overrides needed here */