/* JUAN KITCHEN V12: responsive interaction hardening / accessibility */
:root{--v12-touch:44px}
@media (max-width:920px){
  body.v12-menu-open{overflow:hidden;touch-action:pan-y}
  .header .nav,.header.compact .nav{top:var(--v12-nav-top,75px);max-height:calc(100dvh - var(--v12-nav-top,75px));overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(22px + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch}
  .hamburger{min-width:var(--v12-touch);min-height:var(--v12-touch);align-items:center}
  .theme-switch{min-width:var(--v12-touch)!important;min-height:var(--v12-touch)!important}
  .nav>a{min-height:var(--v12-touch);display:flex;align-items:center}
  .nav .nav-mobile-cta{min-height:48px}
  .mobile-quick{padding-bottom:max(env(safe-area-inset-bottom,0px),5px)}
  .mobile-quick a{min-height:var(--v12-touch)}
}
@media(max-width:680px){
  .to-top.show{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .footer{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  body:not(.quote-page) a,body:not(.quote-page) button{-webkit-tap-highlight-color:rgba(181,145,101,.18)}
  .gallery-filter-btn,.edge-tab{min-height:44px}
}
/* On mobile the live estimate can be checked without scrolling back to the top. */
.v12-mobile-quote[hidden]{display:none!important}
.v12-mobile-quote{display:none}
@media(max-width:860px){
  body.quote-page{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}
  .v12-mobile-quote{position:fixed;bottom:0;left:0;right:0;z-index:90;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px max(16px,env(safe-area-inset-left,0px)) calc(11px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-right,0px));background:#153d30;color:#fff;border-top:1px solid #b99c72;box-shadow:0 -12px 32px rgba(0,0,0,.17)}
  .v12-mobile-quote-amount{display:flex;flex-direction:column;min-width:0;gap:2px}
  .v12-mobile-quote-amount span{color:#dbc9aa;font-size:11px}
  .v12-mobile-quote-amount strong{font-size:clamp(17px,4.3vw,24px);letter-spacing:-.04em;white-space:nowrap;font-variant-numeric:tabular-nums}
  #v12-estimate-go{border:0;background:#e9dcc7;color:#173d30;padding:12px 15px;min-height:48px;font-size:13px;font-weight:700;white-space:nowrap}
  .quote-form-card,.quote-summary{min-width:0}
  .quote-step,.privacy-consent{min-width:0}
  .quote-summary{overflow-wrap:anywhere}
  .service-choice,.option-choice{min-height:48px}
  .v3-subnav a,.v3-subnav button{min-height:44px;display:inline-flex;align-items:center}
  body.quote-page input,body.quote-page textarea,body.service-page input,body.service-page select,body.service-page textarea{font-size:max(16px,1em)}
}
@media(max-width:380px){
  .v12-mobile-quote{gap:8px;padding-left:12px;padding-right:12px}
  #v12-estimate-go{padding:12px 11px}
}
@media(prefers-reduced-motion:reduce){.nav,.header,.mobile-quick,.v12-mobile-quote{transition:none!important}}

@media(max-width:860px){.v12-mobile-quote.v12-form-visible{display:none}}
