/* Dra. Elena Meyer — sistema visual institucional compartido.
   Solo presentación. Conservar DOM, URLs, textos y lógica de las páginas. */
:root{--brand-violet:#654676;--brand-lavender:#E9DEF0;--brand-petrol:#123D3B;--brand-ivory:#FBF9F6;--brand-white:#FFFFFF;--brand-text:#354441;--brand-muted:#52635F;--brand-line:#D8CDD9;--brand-font:Arial,Helvetica,sans-serif;--brand-radius:18px;--brand-space:24px;--petrol:var(--brand-petrol);--deep:var(--brand-petrol);--ink:var(--brand-petrol);--purple:var(--brand-violet);--lav-dark:var(--brand-violet);--lav:var(--brand-lavender);--lavender:var(--brand-lavender);--ivory:var(--brand-ivory);--paper:var(--brand-white);--text:var(--brand-text);--muted:var(--brand-muted);--line:var(--brand-line);--font:var(--brand-font)}
html{font-size:16px!important;scroll-padding-top:104px}
body{font-family:var(--brand-font)!important;font-size:17px;line-height:1.65;color:var(--brand-text);background:var(--brand-ivory)}
h1,h2,h3,h4,h5,h6,p,li,dt,dd,small,label,legend,input,select,textarea,button,summary,a{font-family:var(--brand-font)!important}
h1,h2,h3,h4,h5,h6{color:var(--brand-petrol);font-weight:750;line-height:1.2;letter-spacing:-.025em}
h1,.page-title h1,.page-hero h1{font-size:clamp(2rem,4vw,3.5rem)}
h2,.section h2{font-size:clamp(1.6rem,3vw,2.5rem)}
h3{font-size:1.25rem}p,li{line-height:1.65}p,li,dd,label,legend{font-size:1rem}
small,.small,.caption,.status-note,.return-note,.hub-hint,.beacons-note,.renewal-detail,.numbered li p,.card p,.step p,.feature-box small{font-size:1rem!important;line-height:1.6}
.eyebrow{font-size:.875rem!important;line-height:1.5;font-weight:750;color:var(--brand-violet)}
.hero-meta,.crumbs,.footer-bottom{font-size:.9375rem;line-height:1.6}
a{color:var(--brand-petrol);text-underline-offset:4px}a:hover{color:var(--brand-violet)}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--brand-violet);outline-offset:4px}
body .site-header,body>header{background:var(--brand-ivory);border-bottom-color:var(--brand-line)}
.site-header .container{max-width:1360px}.site-header :is(.nav-wrap,.header-inner){min-height:84px;gap:16px}
.site-header :is(.brand img,.logo){width:220px;height:auto}.site-header .desktop-nav{gap:12px}
.site-header .desktop-nav>a{font-size:1rem;font-weight:700}
.site-header :is(.reprocann>summary,.reprocann-button){background:var(--brand-lavender);border-color:#B39EBF;color:var(--brand-petrol);min-height:48px;border-radius:18px;font-size:1rem}
.site-header :is(.reprocann-dropdown,.drop){background:var(--brand-white);border-color:var(--brand-line);border-radius:18px}
.site-header :is(.reprocann-dropdown a,.drop a){font-size:1rem;min-height:48px}
.site-header :is(.reprocann-dropdown a:hover,.drop a:hover){background:var(--brand-lavender)}
.site-header .menu-toggle{background:var(--brand-white);color:var(--brand-petrol);border-color:var(--brand-line);min-width:48px;min-height:48px}
.btn,.button,.renewal-button,.beacons-link,.whatsapp,button.copy,.extra button{font-family:var(--brand-font)!important;font-size:1.0625rem!important;font-weight:750;line-height:1.4;min-height:52px;border-radius:var(--brand-radius);padding:14px 22px;text-align:center}
.btn.primary,.button:not(.secondary),.renewal-button,.beacons-link:not(.help-link),.extra button{background:var(--brand-violet);border-color:var(--brand-violet);color:var(--brand-white);box-shadow:0 3px 0 #4E345B}
.btn.primary:hover,.button:not(.secondary):hover,.renewal-button:hover,.beacons-link:not(.help-link):hover,.extra button:hover{background:#51375F;border-color:#51375F;color:var(--brand-white)}
.btn.lavender,.button.secondary,.beacons-link.help-link,button.copy,.whatsapp{background:var(--brand-white);color:var(--brand-violet);border:2px solid var(--brand-violet);box-shadow:none}
.btn.lavender:hover,.button.secondary:hover,.beacons-link.help-link:hover,button.copy:hover,.whatsapp:hover{background:var(--brand-lavender);color:var(--brand-violet)}
.btn.compact{padding:12px 16px;min-height:48px}
.beacons-link{min-height:90px;text-align:left;padding:20px 22px}.beacons-link strong{font-size:1.0625rem}.beacons-link small{color:#fff;font-size:1rem}.beacons-link.help-link small{color:var(--brand-violet)}
.link-number{font-size:1rem}.renewal-button{min-height:80px;padding:22px 20px}
.hero .btn{font-size:1.0625rem;min-height:52px}.hero .hero-content{font-family:var(--brand-font)}.hero .lead{font-size:1.0625rem;line-height:1.6}.hero h1 em{color:var(--brand-violet)}
.hero-screen{background:linear-gradient(90deg,rgba(251,249,246,.98) 0%,rgba(251,249,246,.92) 24%,rgba(251,249,246,.78) 34%,rgba(251,249,246,.2) 56%,transparent 68%)}
.section.soft,.section.lav,.muted,.cta,.organizations-teaser,body .registration-hub,body.registration-hub,body .renewal-flow,.hero-new{background:var(--brand-lavender)}
.page-hero{background:var(--brand-lavender);border-color:var(--brand-line)}
.card,.feature-box,.info-card,.panel,.path-card,.comparison article,.journey .step,.numbered li,.resource-links a,.hub-details,.checkline{background:var(--brand-white);border-color:var(--brand-line);border-radius:var(--brand-radius)}
.notice,.notice.green,.notice.warning,.renewal-notice,.result,.check,.highlight,.next-step{background:var(--brand-lavender);color:var(--brand-petrol);border-color:#B39EBF;border-radius:var(--brand-radius)}
.notice{border-left:4px solid var(--brand-violet)}.notice strong,.renewal-notice h2{color:var(--brand-petrol)}
.card .icon,.card .icon.violet,.numbered li::before,.link-number{background:var(--brand-lavender);color:var(--brand-violet)}
.numbered li strong{color:var(--brand-petrol)}.feature-box .amount,.amount{color:var(--brand-petrol)}
.ticklist li::before{color:var(--brand-violet)}
input:not([type=radio]):not([type=checkbox]),select,textarea{font-size:1rem!important;min-height:48px;border-color:#9C88A6;border-radius:12px;background:var(--brand-white);color:var(--brand-petrol)}
input[type=radio],input[type=checkbox]{accent-color:var(--brand-violet)}
.faq summary,.hub-details summary{font-size:1.0625rem;min-height:48px;color:var(--brand-petrol)}
.footer,.site-footer{background:var(--brand-petrol);color:var(--brand-white);font-size:1rem}
.footer h3,.site-footer h3,.footer a,.site-footer a,.footer p,.site-footer p,.footer-bottom{color:var(--brand-white);font-size:1rem}
.footer h3,.site-footer h3{font-size:1.2rem}.footer-bottom{border-color:#6F8B87}
/* Pagos: presentación compartida; no intervenir en importes ni validaciones. */
body[data-design-page=payment] .wrap{width:min(1200px,calc(100% - 48px));max-width:1200px}
body[data-design-page=payment] .header-inner{min-height:84px;gap:20px}
body[data-design-page=payment] .header-inner img{width:220px}
body[data-design-page=payment] main{padding:48px 0 64px}
body[data-design-page=payment] h1{font-size:clamp(2rem,4vw,3.5rem);font-weight:750;max-width:960px}
body[data-design-page=payment] h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:750}
body[data-design-page=payment] .lead{font-size:1.0625rem;max-width:900px}
body[data-design-page=payment] .card{display:block;min-height:0;padding:32px;margin-top:28px;box-shadow:0 5px 24px #123D3B08}
body[data-design-page=payment] .rates{gap:16px;margin:24px 0}
body[data-design-page=payment] .rate{border:2px solid var(--brand-line);border-radius:18px;background:var(--brand-white);padding:20px;min-height:90px;gap:12px}
body[data-design-page=payment] .rate:has(input:checked){background:var(--brand-lavender);border-color:var(--brand-violet)}
body[data-design-page=payment] .rate span span{font-size:1rem;line-height:1.5}
body[data-design-page=payment] .rate input{accent-color:var(--brand-violet);width:22px;height:22px}
body[data-design-page=payment] .price{background:var(--brand-lavender);color:var(--brand-petrol);border:1px solid #C6B4D1;border-radius:18px;padding:26px;margin-top:24px}
body[data-design-page=payment] .price .total{color:var(--brand-petrol);font-size:clamp(2.2rem,6vw,3.3rem)}
body[data-design-page=payment] .price .discount{color:var(--brand-petrol);font-size:1rem}
body[data-design-page=payment] .bank-row{border-color:var(--brand-line)}
body[data-design-page=payment] .bank dd{font-size:1.0625rem}
body[data-design-page=payment] .copy{min-width:88px;font-size:1rem!important}
body[data-design-page=payment] .extra input{width:min(100%,520px);margin-right:12px}
body[data-design-page=payment] .extra button{margin-top:12px}
body[data-design-page=payment] .copy-status,body[data-design-page=payment] .small{color:var(--brand-muted);font-size:1rem}
body[data-design-page=payment] .message{color:#79302A;font-size:1rem}
body[data-design-page=payment] .next{background:var(--brand-lavender);color:var(--brand-petrol);border:1px solid #C6B4D1;border-radius:18px;padding:32px}
body[data-design-page=payment] .next h2,body[data-design-page=payment] .next .small{color:var(--brand-petrol)}
body[data-design-page=payment] .footer{padding:28px 0;background:var(--brand-petrol);color:var(--brand-white)}
[hidden]{display:none!important}
@media(min-width:1101px) and (max-width:1240px){.site-header .desktop-nav{display:none}.site-header .menu-toggle{display:block}.site-header .desktop-nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--brand-white);padding:20px}.site-header .mobile-nav{display:block}.site-header .reprocann-dropdown{position:static}}
@media(max-width:700px){body{font-size:16px}.container{padding-inline:20px}.wrap{width:calc(100% - 40px)}h1,.page-title h1,.page-hero h1{font-size:2rem}.section{padding:44px 0}.hero .hero-content{background:var(--brand-ivory)}.hero .lead{font-size:1rem}.hero-meta{font-size:.9375rem}.site-header :is(.nav-wrap,.header-inner){min-height:76px}.site-header :is(.brand img,.logo){width:min(220px,calc(100vw - 122px))}.site-header .desktop-nav>a{font-size:1rem;min-height:48px}.site-header .desktop-nav.open{max-height:calc(100dvh - 80px);overflow-y:auto}.btn,.button,.whatsapp,.renewal-button{font-size:1rem!important;min-height:52px}.button-row .btn{width:100%}.beacons-link{padding:18px 16px}.beacons-link strong{font-size:1rem}.renewal-flow{padding-inline:18px}.renewal-detail{margin-inline:4px}.renewal-notice{padding:20px}.footer p,.site-footer p{font-size:1rem}.mobile-cta{padding-bottom:max(10px,env(safe-area-inset-bottom))}body[data-design-page=payment] .wrap{width:calc(100% - 36px)}body[data-design-page=payment] .header-inner img{width:190px}body[data-design-page=payment] .header-inner a:last-child{font-size:1rem;line-height:1.4}body[data-design-page=payment] main{padding:32px 0 44px}body[data-design-page=payment] .card,body[data-design-page=payment] .next,body[data-design-page=payment] .price{padding:22px}body[data-design-page=payment] .rates{grid-template-columns:1fr}body[data-design-page=payment] .extra input{width:100%;margin-right:0}body[data-design-page=payment] .extra button,body[data-design-page=payment] .whatsapp{width:100%}body[data-design-page=payment] .bank-row{grid-template-columns:minmax(0,1fr) auto}body[data-design-page=payment] .bank dt{grid-column:1/-1}body[data-design-page=payment] .bank dd{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.button,.renewal-button,.beacons-link{transition:none}}
/* Mínimo legible también en aclaraciones y referencias. */
.eyebrow,.hero-meta,.crumbs,.legal,.sources,.footer-bottom{font-size:1rem!important}
body.registration-hub,body .renewal-flow{background:var(--brand-ivory)}
@media(max-width:700px){body[data-design-page=payment] .header-inner{flex-wrap:nowrap;gap:12px}body[data-design-page=payment] .header-inner img{width:170px;max-width:none}body[data-design-page=payment] .header-inner a:last-child{max-width:132px}}
.hub-details p{font-size:1rem}
@media(max-width:700px){body[data-design-page=payment]>header .header-inner{flex-wrap:nowrap;gap:12px}body[data-design-page=payment]>header .header-inner img{width:170px;max-width:none}}
/* Componentes heredados presentes en recursos, guías y páginas clínicas. */
.band,.quick,.social,.patient-path,.repro-guide,.family-video,.about-video,.path-after,.turnos-check{background:var(--brand-lavender);color:var(--brand-petrol);border-color:var(--brand-line);border-radius:var(--brand-radius)}
.family,.turnos{background:var(--brand-ivory)}
.note,.end,.travel-video,.price-box{background:var(--brand-petrol);color:var(--brand-white)}
.note :is(h1,h2,h3,p,a),.end :is(h1,h2,h3,p,a),.travel-video :is(h1,h2,h3,p),.price-box :is(h1,h2,h3,p){color:var(--brand-white)}
.code-card,.preflight,.path-response,.path-steps .copy-warning{background:var(--brand-white);border-color:var(--brand-violet);border-radius:var(--brand-radius)}
.path-choice button,.path-choice a{font-size:1rem;font-weight:750;min-height:52px;border-radius:var(--brand-radius);border-color:var(--brand-violet);background:var(--brand-white);color:var(--brand-violet)}
.path-choice button[aria-pressed=true],.path-choice button[aria-pressed=true]:hover,.path-choice a:hover{background:var(--brand-violet);color:var(--brand-white)}
.path-steps li:before{background:var(--brand-violet);color:var(--brand-white)}
.family-video video,.about-video video,.travel-video video{background:var(--brand-petrol)}

/* Home: keep the organizations section reachable below the sticky header. */
#instituciones{scroll-margin-top:120px}
@media(min-width:1241px) and (max-width:1360px){
.home-header .desktop-nav{display:none}
.home-header .menu-toggle{display:block}
.home-header .desktop-nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--brand-white);padding:20px}
.home-header .reprocann-dropdown{position:static}
}

.home-header .desktop-nav>a.nav-organizaciones{color:var(--brand-violet);background:var(--brand-lavender);border:1px solid #B39EBF;border-radius:12px;padding:8px 10px}
.home-header .desktop-nav>a.nav-organizaciones:hover{color:var(--brand-white);background:var(--brand-violet)}
.home-header .desktop-nav>a.nav-organizaciones:focus-visible{outline:3px solid var(--brand-violet);outline-offset:3px}

/* Legibilidad del rótulo sobre el fondo verde del video de viajes. */
.travel-video .eyebrow{color:#E9DEF0}
