/* Medinovix Áreas Terapéuticas — Frontend CSS v1.7.0 */
:root{ --mva-ink:#0f2a44; --mva-orange:#ff7a1a; }

.mva-experience{position:relative;width:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--mva-ink);overflow:hidden;--mva-dot:#ffffff}
.mva-experience *{box-sizing:border-box}
.mva-empty{padding:40px;text-align:center;color:#666}

.mva-landing{position:relative;width:100%;height:100vh;overflow:hidden}
.mva-slides{height:100vh;overflow-y:scroll;scroll-snap-type:y mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
.mva-slides::-webkit-scrollbar{display:none}
.mva-slide{position:relative;width:100%;height:100vh;scroll-snap-align:start;scroll-snap-stop:always;display:block;overflow:hidden;background:var(--mva-secondary,#eef4fb)}
.mva-slide-inner{position:relative;display:grid;grid-template-columns:1fr 1fr;width:100%;height:100%}
.mva-slide-media{position:relative;background:var(--mva-secondary,#eef4fb);overflow:visible;z-index:5;margin:4vh 3vw 0 3vw}
.mva-main-img{position:absolute;top:50%;left:0;width:calc(100% + var(--mva-overlap,12%));height:90%;transform:translate(var(--mva-ox,0%), calc(-50% + var(--mva-oy,0%))) scale(var(--mva-scale,1));transform-origin:left center;object-fit:contain;object-position:left center;padding:4vh 2vw 0 4vw;transition:transform 1.1s cubic-bezier(.22,1,.36,1), opacity 1.1s ease;will-change:transform,opacity;pointer-events:none;z-index:6}
.mva-slide-content{position:relative;display:flex;flex-direction:column;justify-content:center;gap:22px;padding:var(--mva-panel-pad,80px);padding-left:calc(var(--mva-panel-pad,80px) + var(--mva-overlap,12%) + 2%);padding-right:max(var(--mva-panel-pad,80px),6vw);margin:var(--mva-panel-mar,0) var(--mva-panel-mar,0) var(--mva-panel-mar,0) 0;background:var(--mva-primary,#16486f);color:var(--mva-title-color,#fff);z-index:2;border-radius:var(--mva-panel-mar,0)}
.mva-slide-content > *{transition:transform 1s cubic-bezier(.22,1,.36,1),opacity 1s ease;will-change:transform,opacity}
.mva-slide:not(.is-active) .mva-main-img{opacity:0}
.mva-slide:not(.is-active) .mva-slide-content > *{opacity:0;transform:translateY(28px)}
.mva-slide.is-active .mva-slide-content > *:nth-child(1){transition-delay:.05s}
.mva-slide.is-active .mva-slide-content > *:nth-child(2){transition-delay:.15s}
.mva-slide.is-active .mva-slide-content > *:nth-child(3){transition-delay:.25s}
.mva-slide.is-active .mva-slide-content > *:nth-child(4){transition-delay:.35s}

.mva-title{font-size:var(--mva-title-size,56px);line-height:var(--mva-title-lh,1.05);font-weight:var(--mva-title-weight,800);margin:0;letter-spacing:-0.01em;color:var(--mva-title-color,#fff)}
.mva-subtitle{margin:0;line-height:1.4;color:var(--mva-sub-color,#fff);opacity:.95;font-size:var(--mva-sub-size,16px)}
.mva-desc{font-size:var(--mva-desc-size,16px);line-height:var(--mva-desc-lh,1.65);font-weight:var(--mva-desc-weight,400);max-width:540px;opacity:.95;color:var(--mva-desc-color,#fff)}
.mva-desc p{margin:0 0 12px;color:inherit}
.mva-desc p:last-child{margin-bottom:0}

.mva-cta{position:relative;overflow:hidden;align-self:flex-start;display:inline-flex;align-items:center;gap:12px;padding:14px 34px;border-radius:999px;border:2px solid var(--mva-btn,#fff);font-weight:600;font-size:15px;cursor:pointer;text-decoration:none;transition:transform .25s ease,box-shadow .35s ease;margin-top:10px;isolation:isolate;font-family:inherit}
.mva-btn-solid   .mva-cta{background:var(--mva-btn,#fff);color:var(--mva-primary)}
.mva-btn-outline .mva-cta{background:transparent;color:var(--mva-btn,#fff)}
.mva-cta::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:linear-gradient(120deg,transparent 0%,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%,transparent 100%);background-size:220% 100%;background-position:200% 0;opacity:0;transition:opacity .2s ease}
.mva-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.22)}
.mva-cta:hover::before{opacity:1;animation:mva-sweep 1.1s ease forwards}
.mva-cta[disabled]{cursor:not-allowed;opacity:.55}
.mva-cta[disabled]:hover{transform:none;box-shadow:none}
@keyframes mva-sweep{from{background-position:200% 0}to{background-position:-50% 0}}

@media (max-width:1100px){.mva-slide-content{padding:60px 48px;padding-left:calc(48px + var(--mva-overlap,12%) + 2%)}}
@media (max-width:780px){
    .mva-slide-inner{grid-template-columns:1fr;grid-template-rows:auto auto}
    .mva-slide-content{order:1;padding:40px 24px}
    .mva-slide-media{order:2;margin:2vh 5vw 0 5vw;min-height:auto;padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
    .mva-main-img{position:relative;top:auto;left:auto;width:100%;max-width:100%;height:auto;max-height:46vh;padding:0;margin:0;transform:none;object-position:center center}
    .mva-title{font-size:clamp(28px,7vw,42px)}
}

/* Dots */
.mva-dots{position:absolute;top:50%;right:var(--mva-dot-margin,28px);transform:translateY(-50%);list-style:none;padding:0;margin:0;z-index:10;display:flex;flex-direction:column;gap:var(--mva-dot-gap,14px);align-items:center}
.mva-dots li{margin:0;padding:0;line-height:0}
.mva-dots button{border:none;background:transparent;cursor:pointer;padding:0;color:inherit;transition:transform .25s ease,background .25s ease,border-color .25s ease,color .25s ease}
.mva-dots--outline button{width:var(--mva-dot-size,14px);height:var(--mva-dot-size,14px);border-radius:50%;border:max(1.5px,calc(var(--mva-dot-size,14px) * .14)) solid var(--mva-dot);background:transparent;position:relative}
.mva-dots--outline button.is-active::after{content:"";position:absolute;inset:0;margin:auto;width:calc(var(--mva-dot-size,14px) * .43);height:calc(var(--mva-dot-size,14px) * .43);border-radius:50%;background:var(--mva-dot)}
.mva-dots--solid button{width:calc(var(--mva-dot-size,14px) * .7);height:calc(var(--mva-dot-size,14px) * .7);border-radius:50%;background:color-mix(in srgb,var(--mva-dot) 55%,transparent)}
.mva-dots--solid button.is-active{background:var(--mva-dot);transform:scale(1.6)}
.mva-dots--bars button{width:calc(var(--mva-dot-size,14px) * .2);height:calc(var(--mva-dot-size,14px) * 1.3);border-radius:2px;background:color-mix(in srgb,var(--mva-dot) 45%,transparent)}
.mva-dots--bars button.is-active{background:var(--mva-dot);height:calc(var(--mva-dot-size,14px) * 2)}
.mva-dots--numbers button{width:calc(var(--mva-dot-size,14px) * 2);height:calc(var(--mva-dot-size,14px) * 2);border-radius:50%;border:max(1px,calc(var(--mva-dot-size,14px) * .07)) solid color-mix(in srgb,var(--mva-dot) 60%,transparent);background:transparent;color:var(--mva-dot);font-size:calc(var(--mva-dot-size,14px) * .85);font-weight:700;display:flex;align-items:center;justify-content:center}
.mva-dots--numbers button.is-active{background:var(--mva-dot);color:var(--mva-primary,#16486f);border-color:var(--mva-dot)}

/* Dot color auto-switch when active slide is light */
.mva-landing.is-light-dots .mva-dots--outline button{border-color:var(--mva-orange)}
.mva-landing.is-light-dots .mva-dots--outline button.is-active::after{background:var(--mva-orange)}
.mva-landing.is-light-dots .mva-dots--solid button{background:color-mix(in srgb,var(--mva-orange) 55%,transparent)}
.mva-landing.is-light-dots .mva-dots--solid button.is-active{background:var(--mva-orange)}
.mva-landing.is-light-dots .mva-dots--bars button{background:color-mix(in srgb,var(--mva-orange) 45%,transparent)}
.mva-landing.is-light-dots .mva-dots--bars button.is-active{background:var(--mva-orange)}
.mva-landing.is-light-dots .mva-dots--numbers button{border-color:color-mix(in srgb,var(--mva-orange) 60%,transparent);color:var(--mva-orange)}
.mva-landing.is-light-dots .mva-dots--numbers button.is-active{background:var(--mva-orange);color:#fff;border-color:var(--mva-orange)}

/* Closing slide */
.mva-slide-closing{background:var(--mva-closing-bg,#fff);color:var(--mva-closing-text,#0f2a44);display:flex;align-items:center;justify-content:center;padding:6vh 6vw;scroll-snap-align:start;scroll-snap-stop:always;height:100vh}
.mva-closing-inner{max-width:1100px;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:34px;opacity:0;transform:translateY(28px);transition:opacity 1s ease,transform 1s cubic-bezier(.22,1,.36,1)}
.mva-slide-closing.is-active .mva-closing-inner{opacity:1;transform:none}
.mva-closing-title{font-size:clamp(24px,3vw,40px);font-weight:800;line-height:1.25;margin:0;color:inherit;letter-spacing:-0.01em}
.mva-closing-actions{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}
.mva-closing-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;border:2px solid transparent;transition:transform .25s ease,box-shadow .35s ease,background .25s ease,color .25s ease,border-color .25s ease;font-family:inherit}
.mva-closing-btn--primary{background:var(--mva-closing-primary-bg,#0f2a44);color:var(--mva-closing-primary-text,#fff);border-color:var(--mva-closing-primary-bg,#0f2a44)}
.mva-closing-btn--secondary{background:var(--mva-closing-secondary-bg,transparent);color:var(--mva-closing-secondary-text,#0f2a44);border-color:var(--mva-closing-secondary-text,#0f2a44)}
.mva-closing-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.mva-closing-btn--primary:hover{background:var(--mva-closing-primary-hover-bg,var(--mva-orange))!important;color:var(--mva-closing-primary-hover-text,#fff)!important;border-color:var(--mva-closing-primary-hover-bg,var(--mva-orange))!important}
.mva-closing-btn--secondary:hover{background:var(--mva-closing-secondary-hover-bg,#0f2a44)!important;color:var(--mva-closing-secondary-hover-text,#fff)!important;border-color:var(--mva-closing-secondary-hover-bg,#0f2a44)!important}
.mva-closing-title,.mva-closing-btn,.mva-closing-inner,.mva-slide-closing{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif!important}

/* Hero integration (v1.5.0) — cuando se integra una sección hero externa,
   los dots flotan por encima de toda la experiencia. */
.mva-experience.mva-has-hero .mva-dots{position:fixed;right:var(--mva-dot-margin,28px);top:50%;transform:translateY(-50%);z-index:9999}
.mva-experience.mva-has-hero.is-light-dots .mva-dots--outline button{border-color:var(--mva-orange)}
.mva-experience.mva-has-hero.is-light-dots .mva-dots--outline button.is-active::after{background:var(--mva-orange)}
.mva-experience.mva-has-hero.is-light-dots .mva-dots--solid button{background:color-mix(in srgb,var(--mva-orange) 55%,transparent)}
.mva-experience.mva-has-hero.is-light-dots .mva-dots--solid button.is-active{background:var(--mva-orange)}
.mva-experience.mva-has-hero.is-light-dots .mva-dots--bars button{background:color-mix(in srgb,var(--mva-orange) 45%,transparent)}
.mva-experience.mva-has-hero.is-light-dots .mva-dots--bars button.is-active{background:var(--mva-orange)}
.mva-experience.mva-has-hero.is-light-dots .mva-dots--numbers button{border-color:color-mix(in srgb,var(--mva-orange) 60%,transparent);color:var(--mva-orange)}
.mva-experience.mva-has-hero.is-light-dots .mva-dots--numbers button.is-active{background:var(--mva-orange);color:#fff;border-color:var(--mva-orange)}
@media (max-width:780px){
    .mva-experience.mva-has-hero .mva-dots{right:max(8px,calc(var(--mva-dot-margin,28px) * .5));gap:max(6px,calc(var(--mva-dot-gap,14px) * .7))}
}
