/* Zi Vital — responsive final v1
 * Final cross-device safety layer. Loaded after approved visual styles.
 * Store design remains visually frozen; only overflow/touch safety is applied.
 */

html,body{max-width:100%;overflow-x:clip}
img,video,svg,canvas{max-width:100%}
iframe,table{max-width:100%}
.act-main,.act-container,.wp-block-column{min-width:0}
.act-btn,.wp-block-button__link{-webkit-tap-highlight-color:transparent}

/* Keep long editorial copy from creating horizontal overflow. */
:where(h1,h2,h3,h4,p,blockquote,a,span,strong){overflow-wrap:break-word}

@media(max-width:1180px){
  .act-site .act-container{width:min(calc(100% - 36px),1120px)}
  .act-site .act-section{padding:82px 0}
  .act-header__inner{gap:16px}
  .act-nav{gap:10px}
  .act-nav__link{padding-inline:10px!important}
  .act-footer__grid{gap:34px}
}

/* Tablet/mobile header + navigation. app.js already owns .is-open. */
@media(max-width:980px){
  .act-header{padding:10px 0 8px!important}
  .act-header .act-container{width:calc(100% - 24px)!important}
  .act-header__inner{position:relative!important;grid-template-columns:auto minmax(44px,1fr) auto!important;gap:8px!important;min-height:60px!important;padding:8px 10px!important;border-radius:20px!important}
  .act-brand{grid-column:1;align-self:center}
  .act-menu-toggle{display:grid!important;grid-column:2;justify-self:end;place-items:center;z-index:95;min-width:44px!important;min-height:44px!important;border:0;background:transparent;border-radius:12px;cursor:pointer}
  .act-nav{display:none!important;position:absolute!important;z-index:92!important;top:calc(100% + 8px)!important;left:0!important;right:0!important;width:100%!important;max-height:calc(100vh - 92px)!important;overflow:auto!important;overscroll-behavior:contain;flex-direction:column!important;align-items:stretch!important;gap:2px!important;padding:10px!important;border:1px solid rgba(184,141,51,.18)!important;border-radius:22px!important;background:rgba(255,253,249,.985)!important;box-shadow:0 22px 60px rgba(65,47,30,.14)!important;backdrop-filter:blur(20px)!important}
  .act-nav.is-open{display:flex!important}
  .act-nav__item,.act-nav__link{width:100%!important}
  .act-nav__link{display:flex!important;min-height:44px!important;align-items:center!important;justify-content:space-between!important;padding:10px 12px!important;border-radius:12px!important;white-space:normal!important}
  .act-mega{position:static!important;inset:auto!important;width:100%!important;max-height:none!important;margin:2px 0 8px!important;padding:14px!important;transform:none!important;border-radius:16px!important;box-shadow:none!important;background:#fffaf4!important}
  .act-mega.is-open{transform:none!important}
  .act-mega--clinical,.act-mega--treatments{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  .act-mega__intro{padding:0 0 12px!important;border-right:0!important;border-bottom:1px solid var(--act-line)!important}
  .act-mega__domains,.act-mega__treatment-cols{grid-template-columns:1fr!important;gap:10px!important;padding-top:10px!important}
  .act-mega__domain,.act-mega__treatment-cols>div{padding:12px!important}
  .act-mega__all{grid-column:1!important;margin-top:8px!important}
  .act-header__actions{grid-column:3;display:flex!important;align-items:center!important;gap:6px!important;white-space:nowrap}
  .act-header__actions .act-btn{min-height:40px!important;padding:0 14px!important;font-size:9px!important}
  .act-cart{min-width:42px!important;min-height:40px!important;height:40px!important;padding:0 10px!important}

  /* Shared editorial grids */
  .zv3-heading,.act-section-heading,.zv-medical-team-head,.zv-approach-heading{grid-template-columns:1fr!important;gap:16px!important}
  .zv3-manifesto__grid{grid-template-columns:1fr!important;gap:20px!important}
  .zv3-method__grid,.zv3-doctor__grid,.zv-about-hero-v2__grid,.zv-about-director-v2,.zv-approach-hero-v2__grid,.zv-approach-split,.zv-treatment-hero-v2__grid,.act-contact-hero__grid,.act-contact-whatsapp__grid{grid-template-columns:1fr!important}
  .zv3-method__timeline{min-width:0}
  .zv-medical-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .zv-approach-tools{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .act-arrival-grid,.act-tool-grid,.act-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* Interior heroes */
  .zv-about-hero-v2__visual,.zv-approach-hero-v2__visual,.zv-treatment-hero-v2__visual{width:min(100%,660px)!important;min-height:560px!important;margin-inline:auto!important;order:-1}
  .zv-domain-landing-page .zvdl-hero__visual{width:min(100%,700px);margin-inline:auto}
  .zv-domain-landing-page .zvdl-hero__image{aspect-ratio:16/10!important}
  .zv-domain-landing-page .zvdl-hero__note{right:18px!important}

  /* Contact */
  .act-contact-card{max-width:none!important}
  .act-map-shell{height:390px!important}

  /* Footer */
  .act-footer__grid{grid-template-columns:1fr 1fr!important;gap:28px!important}
  .act-footer__meta{justify-self:start!important;text-align:left!important}
}

@media(max-width:760px){
  .act-site .act-container,.act-about-page .act-container,.act-approach-page-v2 .act-container,.act-contact-page .act-container{width:calc(100% - 24px)!important}
  .act-site .act-section,.zv3-section,.zv-approach-section{padding:60px 0!important}

  /* Approved Home hero: keep generous but not oversized on phones. */
  .zv4-slide h1{font-size:clamp(44px,12vw,54px)!important;line-height:.92!important}
  .zv4-slide__lead{font-size:12px!important;line-height:1.72!important}
  .zv4-slide__actions,.zv3-actions,.act-actions{gap:10px!important}
  .zv4-media{width:100%!important;max-width:600px!important}

  /* Approved Home domains: keep all 3 tabs visible on one row. */
  #dominios.zv3-domains{padding:64px 0 72px!important}
  #dominios.zv3-domains .act-container{width:calc(100% - 24px)!important}
  .zv5-domains-head{margin-bottom:24px!important}
  .zv5-domains-head h2{font-size:clamp(40px,9.5vw,50px)!important;line-height:.96!important}
  .zv5-domains-head>p:last-child{font-size:12px!important}
  .zv5-domain-tabs{width:100%!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2px!important;padding:4px!important;border-radius:999px!important;overflow:hidden!important}
  .zv5-domain-tab{min-width:0!important;min-height:44px!important;padding:0 8px!important;gap:6px!important;font-size:15px!important;white-space:nowrap!important}
  .zv5-domain-tab__icon{width:19px!important;height:19px!important}.zv5-domain-tab__icon svg{width:19px!important;height:19px!important}
  .zv5-domain-panel{grid-template-columns:1fr!important;gap:22px!important;min-height:0!important}
  .zv5-domain-visual{min-height:430px!important}
  .zv5-domain-content{padding:2px 0!important}
  .zv5-approach{min-width:0!important}
  .zv5-domain-actions{flex-wrap:wrap!important}

  /* Home remaining sections */
  .zv3-manifesto__statement{font-size:clamp(34px,9vw,44px)!important}
  .zv3-method__intro h2,.zv3-doctor__copy h2,.zv3-testimonial-head h2,.zv3-heading h2{font-size:clamp(40px,10vw,48px)!important}
  .zv3-method__visual{height:310px!important}
  .zv3-testimonial-card{min-height:360px!important}
  .zv6-home-store__panel{grid-template-columns:1fr!important}
  .zv6-home-store__visual{min-height:390px!important}

  /* Conócenos */
  .zv-about-hero-v2,.zv-approach-hero-v2,.zv-treatment-hero-v2{padding:26px 0 62px!important}
  .zv-about-hero-v2__copy h1,.zv-domain-landing-page .zvdl-hero__copy h1,.zv-approach-hero-v2 h1,.zv-treatment-hero-v2 h1,.act-contact-hero__copy h1{font-size:clamp(44px,12vw,50px)!important;line-height:.95!important}
  .zv-about-hero-v2__visual,.zv-approach-hero-v2__visual,.zv-treatment-hero-v2__visual{min-height:500px!important}
  .zv-medical-team-grid{grid-template-columns:1fr!important}
  .zv-medical-team-card{width:min(100%,540px)!important;margin-inline:auto!important}
  .zv-about-director-v2{gap:34px!important}

  /* Domain pages */
  .zv-domain-landing-page .zvdl-container,.zv-domain-landing-page .zvdl-hero__inner{width:calc(100% - 24px)!important}
  .zv-domain-landing-page .zvdl-hero{padding:30px 0 62px!important}
  .zv-domain-landing-page .zvdl-hero__image{aspect-ratio:4/5!important;border-radius:28px!important}
  .zv-domain-landing-page .zvdl-hero__note{position:static!important;max-width:none!important;margin-top:10px!important}
  .zvdl-observe,.zvdl-approaches,.zvdl-process,.zvdl-criteria,.zvdl-faq{padding:58px 0!important}
  .zvdl-observe__grid,.zvdl-approach-grid,.zvdl-process__grid,.zvdl-faq__grid{display:block!important}
  .zvdl-observe__grid>.wp-block-column,.zvdl-approach-grid>.wp-block-column,.zvdl-process__grid>.wp-block-column,.zvdl-faq__grid>.wp-block-column{width:100%!important;margin-bottom:10px!important}
  .zvdl-criteria__inner{grid-template-columns:1fr!important;gap:34px!important}
  .zvdl-criteria__portrait{max-width:620px!important;aspect-ratio:4/5!important;margin-inline:auto!important}

  /* Approach/treatment detail sections */
  .zv-approach-tools,.act-tool-grid,.act-process-grid,.act-arrival-grid{grid-template-columns:1fr!important}
  .zv-approach-hero-v2__note,.zv-treatment-hero-v2__note{right:12px!important;left:12px!important;bottom:12px!important;max-width:none!important}
  .act-site .act-approach-detail,.act-site .act-treatment-info{grid-template-columns:1fr!important;gap:34px!important}

  /* Contact */
  .act-contact-hero{padding:28px 0 60px!important}
  .act-contact-card{padding:25px 22px!important;border-radius:26px!important}
  .act-map-shell{height:340px!important}
  .act-contact-form{padding:20px!important}

  /* Footer */
  .act-footer__grid{grid-template-columns:1fr!important;gap:22px!important}
  .act-footer__menu{display:flex!important;flex-wrap:wrap!important;gap:12px 18px!important}
  .act-footer__meta{justify-self:start!important;text-align:left!important}

  /* Commerce safety only; preserve approved shop styling. */
  .act-wc{width:calc(100% - 24px)!important;max-width:none!important}
  .act-drawer{max-width:min(94vw,440px)!important}
  .act-product-modal{width:min(94vw,920px)!important;max-height:92vh!important;overflow:auto!important}
  .act-product-modal__grid{grid-template-columns:1fr!important}
}

@media(max-width:520px){
  .act-header .act-container{width:calc(100% - 14px)!important}
  .act-header__inner{padding:7px 8px!important;border-radius:18px!important}
  .act-brand{min-width:54px!important;max-width:74px!important}.act-brand__img{max-width:72px!important;max-height:30px!important}
  .act-header__actions{gap:5px!important}
  .act-header__actions .act-btn{min-height:38px!important;padding:0 10px!important;font-size:8px!important}
  .act-cart{min-width:38px!important;width:auto!important;min-height:38px!important;height:38px!important;padding:0 8px!important;gap:5px!important}
  .act-cart__icon{width:16px!important;height:16px!important}.act-cart__icon svg{width:16px!important;height:16px!important}.act-cart b{min-width:18px!important;height:18px!important;font-size:8px!important}

  .act-btn,.wp-block-button__link{min-height:44px}
  .act-actions,.zv3-actions,.zv4-slide__actions{width:100%;align-items:stretch!important}
  .act-actions>.act-btn,.zv3-actions>.act-btn,.zv4-slide__actions>.act-btn{width:100%!important;justify-content:center!important;text-align:center!important}

  .zv4-hero__shell{width:calc(100% - 20px)!important}
  .zv4-slide h1{font-size:clamp(41px,12.6vw,48px)!important}
  .zv4-media{height:450px!important;border-radius:28px!important}.zv4-media__image{border-radius:21px!important}
  .zv4-media__caption{left:12px!important;right:12px!important;bottom:12px!important;padding:14px 15px!important}.zv4-media__caption strong{font-size:23px!important}
  .zv4-chip{font-size:6.5px!important;padding:7px 9px!important;letter-spacing:.08em!important}

  .zv5-domains-head h2{font-size:clamp(37px,11vw,44px)!important}
  .zv5-domain-tab{font-size:13px!important;padding:0 7px!important;gap:4px!important}.zv5-domain-tab__icon{display:none!important}
  .zv5-domain-visual{min-height:350px!important;border-radius:24px!important}
  .zv5-domain-visual__copy{left:18px!important;right:18px!important;bottom:18px!important}
  .zv5-approach{grid-template-columns:70px minmax(0,1fr) 32px!important;gap:9px!important;padding:9px!important}
  .zv5-approach__media{width:70px!important;height:66px!important;border-radius:11px!important}
  .zv5-approach__copy strong{font-size:20px!important}.zv5-approach__copy small{font-size:6.8px!important}.zv5-approach__copy>span{font-size:8.5px!important;line-height:1.45!important}
  .zv5-approach__tools{display:none!important}
  .zv5-domain-actions .act-btn{width:100%!important;justify-content:center!important}.zv5-domain-actions__agenda{min-height:44px;display:flex!important;align-items:center!important}

  .zv-medical-team-card h3{font-size:25px!important}
  .zv-about-hero-v2__visual,.zv-approach-hero-v2__visual,.zv-treatment-hero-v2__visual{min-height:455px!important}
  .zv-approach-hero-v2__note,.zv-treatment-hero-v2__note{position:absolute!important}

  .zv-domain-landing-page .zvdl-final__inner,.act-final-cta__inner{padding:38px 20px!important;border-radius:24px!important}
  .zv-domain-landing-page .zvdl-final h2,.act-final-cta__inner h2{font-size:clamp(38px,10.5vw,44px)!important}

  .zv6-home-store__product-grid{grid-template-columns:1fr!important}
  .zv6-home-store__visual{min-height:340px!important}
  .zv-store-category.is-v8-top-pair .zv-store-category__products{grid-template-columns:1fr!important;height:auto!important;max-height:none!important}
  .zv-store-category.is-v8-top-pair .zv-store-category__products>.zv-store-product{min-height:450px!important}
}

@media(pointer:coarse){
  body:not(.act-store-landing) :is(.zv3-testimonial-card,.zv3-product-card,.zv3-domain-card,.zv3-treatment,.zvdl-observe-card,.zvdl-approach-card,.zvdl-process-card,.zvdl-faq-card,.zv-medical-team-card,.zv-approach-tool):hover{transform:none!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
}
