/** MEISTER Córdoba v1.1.4 — Phase 3 QA hardening */
html{overflow-x:hidden}
body{overflow-wrap:break-word}
img{max-width:100%;height:auto}

/* Home hero: one semantic H1 in the DOM, stable safe frame in every viewport. */
.home .hero--lead{overflow:hidden}
.home .hero--lead h1{text-wrap:balance}
.home .hero-mobile-visual img{object-fit:cover}
.home .hero-lead-shell,.home .hero-content,.home .j7-lead-concierge{min-width:0}

/* Desktop hero/photo safe frame. */
@media (min-width:821px){
  .home .hero--lead{background-position:center center}
  .home .hero--lead .hero-content{max-width:760px}
}

/* Tablet: prevent crowding between hero copy and conversion card. */
@media (min-width:821px) and (max-width:1180px){
  .home .hero-lead-shell{grid-template-columns:minmax(0,1fr) minmax(320px,390px)!important;gap:28px!important;padding-inline:28px!important}
  .home .hero--lead h1{font-size:clamp(48px,6.7vw,76px)!important}
}

/* Mobile crop uses the dedicated portrait-safe asset and avoids clipping the UI. */
@media (max-width:820px){
  .home .hero-mobile-visual img{object-position:center 48%!important}
  .home .hero--lead h1{max-width:14ch}
  .home .hero-sub{max-width:38ch}
  .home .hero-lead-shell{padding-bottom:calc(34px + env(safe-area-inset-bottom))!important}
}
@media (max-width:390px){
  .home .hero--lead h1{font-size:clamp(34px,10.8vw,42px)!important}
  .mobile-master-hero-actions{grid-template-columns:1fr!important}
}

/* Modal / drawer hardening: always usable on short phones and landscape. */
[role="dialog"],.meistia-date-modal,.meistia-caller-modal,.mobile-advisor-dialog{
  max-height:calc(100dvh - 16px);
  overscroll-behavior:contain;
}
[role="dialog"] .modal-content,.meistia-date-modal__dialog,.meistia-caller-modal__dialog,.mobile-advisor-dialog__panel{
  max-height:calc(100dvh - 24px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
@media (max-width:820px){
  [role="dialog"] .modal-content,.meistia-date-modal__dialog,.meistia-caller-modal__dialog,.mobile-advisor-dialog__panel{
    padding-bottom:calc(22px + env(safe-area-inset-bottom));
  }
}

/* Boutique/local photography: no stretched local assets. */
.local-boutique-plus-page img,.contact-page img,.home img{object-fit:cover}
.local-boutique-plus-page figure,.contact-page figure,.home figure{overflow:hidden}

/* Focus visibility for conversion-critical controls. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid #f39200!important;
  outline-offset:3px!important;
}

@media (prefers-reduced-motion:reduce){
  .home *, .local-boutique-plus-page *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
}
