/* Shared identity and the patient form redesign, September 2026. */
.proposal-condition, .proposal-form { --teal:#426a63; --teal-dim:#284e48; --teal-soft:#eff6f4; --soft:#66757b; --border:#dce4e5; --paper:#fff; --white:#fff; --bg:#fff; --text:#172b30; --muted:#627076; --navy:#172b30; }
:is(.proposal-landing,.proposal-condition,.proposal-form) > nav { padding-inline:max(24px,calc((100% - 1320px)/2)) !important; }
:is(.proposal-landing,.proposal-condition,.proposal-form) > nav .nav-logo { align-items:flex-start; gap:0; padding:0; }
:is(.proposal-landing,.proposal-condition,.proposal-form) > nav .nav-logo > span { font:400 24px/.95 var(--serif) !important; letter-spacing:-.035em; color:#171918 !important; }
:is(.proposal-landing,.proposal-condition,.proposal-form) > nav .nav-logo small { margin-top:5px; font:700 8px/1.2 var(--sans); letter-spacing:.2em; color:#626865; }
.proposal-condition { font-weight:400; }
.proposal-condition h1,.proposal-condition h2,.proposal-condition h3 { font-family:var(--serif) !important; font-weight:500 !important; letter-spacing:-.035em; color:#171918; }
.proposal-condition :is(button,.btn-primary,.btn-secondary,.nav-cta,.foundation-links a,.related-links a,.faq-item summary) { font-family:var(--sans) !important; font-weight:600 !important; }
.proposal-condition .foundation-links a { font-size:14px; }
.proposal-condition .section-label { font-weight:700; color:#626e68; }
.proposal-condition :is(.info-card,.faq-item,.credential-card,.doctor-photo-wrap) { border-color:#dce3de !important; box-shadow:none !important; }
.proposal-condition .condition-hero { background:#fff; }
.proposal-condition .condition-hero .hero-grid { max-width:1320px; }
.proposal-condition .auto-hero { padding:20px; border-radius:28px; background:#dcece4; }
.proposal-condition .faq-section { background:#f1f4f2; padding-block:64px; }
.proposal-condition .faq-item { border-radius:16px; background:#fff; padding-inline:24px; }
.proposal-condition .faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:18px; list-style:none; font-size:17px; line-height:1.5; }
.proposal-condition .faq-item summary::-webkit-details-marker { display:none; }
.proposal-condition .faq-item summary::after { content:'+'; font-size:25px; font-weight:400; }
.proposal-condition .faq-item[open] summary::after { content:'−'; }
.proposal-condition .related-links a { background:#f5f7f6; color:#344f47; border:1px solid #dbe5df; border-radius:12px; padding:14px 18px; font-size:15px; }
.proposal-condition .related-links a:hover { background:#e9f1ed; }
.proposal-condition .info-card h2 { margin-bottom:18px; }
.proposal-condition .shared-doctor { padding:80px 24px; background:#f7f5ef; }
.shared-doctor .section-inner { width:100%; max-width:1260px; }
.shared-doctor .section-title { font-size:clamp(36px,4.2vw,56px); max-width:820px; margin-bottom:42px; }
.shared-doctor .doctor-grid { grid-template-columns:minmax(260px,390px) minmax(0,1fr); gap:clamp(36px,6vw,82px); margin:0; }
.shared-doctor .doctor-grid > * { min-width:0; }
.shared-doctor .doctor-photo-wrap { aspect-ratio:4/5; width:100%; max-width:390px; margin:0; border:0 !important; border-radius:24px; }
.shared-doctor .doctor-photo-wrap img { object-position:center top; }
.shared-doctor .doctor-name { display:none; }
.shared-doctor .doctor-title { font:700 13px/1.6 var(--sans); letter-spacing:.08em; text-transform:uppercase; color:#627268; margin:0 0 22px; }
.shared-doctor .doctor-bio { margin:0; font:400 17px/1.78 var(--sans); color:#505753; }
.shared-doctor .doctor-bio strong { font-weight:700; color:#282d2a; }
.shared-doctor .cred-carousel-wrap { margin-top:30px; padding-block:18px; overflow:hidden; border-block:1px solid #daddd7; position:relative; }
.shared-doctor .cred-carousel-track { display:flex; gap:14px; width:max-content; animation:credentials-drift 32s linear infinite; }
.shared-doctor .cred-item { width:280px; flex:0 0 280px; display:flex; gap:12px; padding:18px; border:1px solid #daddd7; border-radius:16px; }
.shared-doctor .cred-icon { width:32px; height:32px; flex-shrink:0; display:grid; place-items:center; border-radius:9px; background:#eaf0e8; }
.shared-doctor .cred-icon svg { width:18px; height:18px; stroke:#536858; }
.shared-doctor .cred-text { font:400 13px/1.55 var(--sans); color:#647169; }
.shared-doctor .cred-text strong { display:block; color:#24332b; font-weight:700; margin-bottom:7px; }
.shared-doctor .stats-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid #daddd7; border-radius:16px; margin-top:24px; overflow:hidden; }
.shared-doctor .stat-pill { padding:16px 10px; text-align:center; border-right:1px solid #daddd7; }
.shared-doctor .stat-pill:last-child { border-right:0; }
.shared-doctor .stat-pill-num { font:500 27px/1.2 var(--serif); }
.shared-doctor .stat-pill-label { font:400 12px/1.5 var(--sans); color:#647169; }
.proposal-condition .shared-doctor :is(.cred-item,.stats-row,.stat-pill) { border-color:#daddd7 !important; }
@keyframes credentials-drift { to { transform:translateX(calc(-50% - 7px)); } }
.shared-doctor .cred-carousel-wrap:hover .cred-carousel-track,.shared-doctor .cred-carousel-wrap:focus-within .cred-carousel-track { animation-play-state:paused; }
.credential-pause { display:block; margin:10px 0 0 auto; min-height:44px; padding:8px 12px; border:1px solid #daddd7; background:transparent; color:#536858; border-radius:9px; cursor:pointer; }

/* White canvas, cool neutral answers and restrained green selections. */
.proposal-form { background:#fff !important; --cream:#fff; --coffee:#426a63; --coffee-dark:#284e48; --proposal-copper:#426a63; }
.proposal-form :is(main,.form-container,.card,.proposal-form-rail) { background:#fff !important; }
.proposal-form .proposal-form-rail { color:#172b30; border-right:1px solid #e2e8e7; position:sticky; top:74px; align-self:start; max-height:calc(100vh - 74px); overflow-y:auto; }
.proposal-form .proposal-rail-doctor { margin-top:28px !important; }
.proposal-form .proposal-rail-intro h2 { color:#172b30; }
.proposal-form :is(.proposal-rail-intro > p,.proposal-rail-intro > span,.proposal-rail-steps small,.proposal-rail-doctor span) { color:#65736f !important; }
.proposal-form .proposal-rail-steps strong,.proposal-form .proposal-rail-doctor strong { color:#253b35 !important; }
.proposal-form .proposal-rail-steps li { opacity:1; }
.proposal-form .proposal-rail-steps i { color:#10252c; border-color:#10252c; background:#fff; }
.proposal-form .proposal-rail-steps .active i { background:#10252c; color:#fff; border-color:#10252c; }
.proposal-form .proposal-rail-steps .complete i { background:#fff; color:#10252c; border-color:#10252c; }
.proposal-form .proposal-rail-steps li::after { background:#e0e8e4; }
.proposal-form .proposal-rail-doctor { border-color:#e0e8e4; }
.proposal-form .card-title { color:#172b30 !important; font-weight:500 !important; }
.proposal-form :is(.card-sub,.field-hint,.upload-hints,.checkout-note) { color:#64737a !important; }
.proposal-form :is(.field > label,.card-step,.review-intro h3) { color:#445e59 !important; }
.proposal-form :is(input:not([type=checkbox]):not([type=file]),select,textarea) { background:#f9fbfb !important; color:#1e3439 !important; border:1px solid #d8e2e4 !important; border-radius:12px !important; box-shadow:0 1px 2px #172b3004; font-size:16px !important; }
.proposal-form :is(input,select,textarea):focus { border-color:#10252c !important; box-shadow:0 0 0 3px rgba(16,37,44,.1) !important; }
.proposal-form :is(.opt,.consult-choice,.patient-owner-option,.access-method-btn) { background:#fff !important; border:1px solid #d8e2e4 !important; border-radius:14px !important; color:#243c40 !important; box-shadow:0 2px 6px #1b393405; transition:background .18s,border-color .18s,box-shadow .18s; }
.proposal-form :is(.opt,.consult-choice):hover { background:#f6f6f6 !important; border-color:#10252c !important; }
.proposal-form :is(.opt.selected,.consult-choice.selected) { background:#f0f0ef !important; border-color:#10252c !important; box-shadow:0 0 0 1px #10252c !important; }
.proposal-form .opt-key { background:#edf2f3 !important; color:#516c70 !important; border-color:transparent !important; border-radius:8px; }
.proposal-form .opt.selected .opt-key { color:#fff !important; background:#10252c !important; }
.proposal-form .opt.selected span:not(.opt-key) { color:#10252c !important; }
.proposal-form :is(.btn-next,.btn-checkout,.lang-btn.active) { background:#172c2c !important; color:#fff !important; border-radius:12px !important; box-shadow:none !important; }
.proposal-form .btn-back { border:1px solid #d5dfe0 !important; border-radius:12px !important; color:#3c585a !important; background:#fff !important; }
.proposal-form .btn-checkout { font-size:16px; min-height:56px; }
.proposal-form .review-return { margin:0 0 18px; min-height:44px; padding:12px 18px; }
.proposal-form .lang-btn:not(.active) { color:#526965 !important; }
.proposal-form .welcome-badge { color:#10252c !important; background:#fff !important; border-color:#10252c !important; }
.proposal-form .quick-answer { background:#f5f5f5 !important; border:1px solid #10252c !important; color:#10252c !important; border-radius:12px !important; }
.proposal-form :is(.opt,.quick-answer,.btn-next,.btn-back,.btn-checkout,.consult-choice strong) { font-weight:600 !important; }
.proposal-form :is(.summary-box,.review-section,.consent-box,.review-intro,.return-notice) { background:#f7faf9 !important; border:1px solid #dce6e2 !important; border-radius:18px !important; }
.proposal-form .summary-box { padding:26px !important; }
.proposal-form .summary-box h3 { color:#2c4840 !important; }
.proposal-form .summary-chk { background:#eef0f0; color:#10252c; }
.proposal-form .summary-list li { color:#4c6260; line-height:1.65; }
.proposal-form .price-row { border-color:#dce6e2; }
.proposal-form .emergency-box { background:#fff8f2 !important; border:1px solid #ecdacc !important; border-radius:18px !important; padding:24px !important; }
.proposal-form .consent-box { padding:24px !important; }
.proposal-form .consent-row { color:#435f61; font-size:14px; line-height:1.7; }
.proposal-form input[type=checkbox] { accent-color:#10252c; width:22px; height:22px; flex-shrink:0; }
.proposal-form .consent-link { color:#1c4f63; text-decoration:underline; text-underline-offset:3px; }
.proposal-form .file-item { background:#f0f5f5 !important; color:#3f5b61 !important; border:1px solid #dbe5e5; border-radius:12px; }
.proposal-form .file-item { border-color:#dbe5e5 !important; }
.proposal-form .upload-zone strong { color:#24464d !important; }
.proposal-form .upload-icon { background:#eff5f6 !important; color:#10252c !important; }
.proposal-form .upload-icon svg { stroke:#10252c !important; }
@property --upload-angle { syntax:'<angle>'; initial-value:0deg; inherits:false; }
.proposal-form .upload-zone { --upload-angle:0deg; position:relative; isolation:isolate; border:2px solid transparent !important; border-radius:20px !important; background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from var(--upload-angle),#75c9ec,#a2a5f4,#ed9fc8,#e9b48d,#93d6c8,#75c9ec) border-box !important; box-shadow:0 0 16px #a2a5f418; animation:upload-aura 6s linear infinite; }
.proposal-form .upload-zone:focus-within,.proposal-form .upload-zone:hover { box-shadow:0 0 0 4px #aed8e51c,0 0 22px #b2a4ed33; }
.proposal-form .upload-zone input[type=file] { z-index:2; cursor:pointer; }
@keyframes upload-aura { to { --upload-angle:360deg; } }
/* White review cards with the upload treatment, moving at a calmer pace. */
.proposal-form #card-10 .review-intro { padding:18px 20px; }
.proposal-form :is(#card-10,#card-11) :is(.review-intro,.review-section,.summary-box,.emergency-box,.consent-box) {
 --upload-angle:0deg;
 border:2px solid transparent !important;
 background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from var(--upload-angle),#75c9ec,#a2a5f4,#ed9fc8,#e9b48d,#93d6c8,#75c9ec) border-box !important;
 box-shadow:0 3px 16px #729aaf0c;
 animation:upload-aura 8s linear infinite;
}
.proposal-form :is(.btn-back,.review-return) { background:#10252c !important; border-color:#10252c !important; color:#fff !important; }
.proposal-form :is(.btn-back,.review-return):hover { background:#1c3a42 !important; border-color:#1c3a42 !important; }
.proposal-form .progress-fill { background:#10252c !important; }
.proposal-form #card-11 .summary-box-wrap,.proposal-form #card-11 .emergency-box { max-width:560px; margin-inline:auto; }
/* Liquid aura behind "Qué recibirás": the aura is a sibling BEHIND the (opaque) card, not a child inside it,
   so the card itself masks the glow to just the edges regardless of where the blobs drift. */
.proposal-form .summary-box-wrap { position:relative; }
.proposal-form .summary-box { position:relative; z-index:1; background-color:#fff !important; }
.proposal-form .summary-aura { position:absolute; inset:-14%; pointer-events:none; z-index:0; overflow:hidden; }
@media(max-width:600px) { .proposal-form .summary-aura { inset:-14% 0; } }
.proposal-form .summary-aura span { position:absolute; left:50%; top:50%; width:36%; height:36%; border-radius:50%; filter:blur(24px); opacity:.85; will-change:transform; }
.proposal-form .summary-aura span:nth-child(1) { background:radial-gradient(circle,#75c9ec 0%,#75c9ec 40%,#75c9ec00 75%); animation:summary-aura-1 12s ease-in-out infinite; }
.proposal-form .summary-aura span:nth-child(2) { background:radial-gradient(circle,#ed9fc8 0%,#ed9fc8 40%,#ed9fc800 75%); animation:summary-aura-2 14.5s ease-in-out infinite; }
.proposal-form .summary-aura span:nth-child(3) { background:radial-gradient(circle,#a2a5f4 0%,#a2a5f4 40%,#a2a5f400 75%); animation:summary-aura-3 10.5s ease-in-out infinite; }
/* Translate values are large because they are relative to the blob's own (small) size: this is what
   pushes the blob's outer edge convincingly past the card border into the bleed margin, not just to it. */
@keyframes summary-aura-1 { 0%,100% { transform:translate(-130%,-35%); } 50% { transform:translate(-50%,-65%); } }
@keyframes summary-aura-2 { 0%,100% { transform:translate(28%,-65%); } 50% { transform:translate(-45%,-30%); } }
@keyframes summary-aura-3 { 0%,100% { transform:translate(-125%,-55%); } 50% { transform:translate(-40%,-45%); } }
@media(prefers-reduced-motion:reduce) { .proposal-form .summary-aura span { animation:none !important; } }
@media(max-width:900px) {
 .shared-doctor .doctor-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 .shared-doctor .doctor-photo-wrap { max-width:390px; }
}
@media(max-width:768px) {
 :is(.proposal-landing,.proposal-condition,.proposal-form) > nav { padding-inline:17px !important; height:62px !important; min-height:62px !important; }
 :is(.proposal-landing,.proposal-condition,.proposal-form) > nav .nav-logo > span { font-size:20px !important; }
 :is(.proposal-landing,.proposal-condition,.proposal-form) > nav .nav-logo small { font-size:7px; }
 .proposal-condition .auto-hero { padding:12px; border-radius:22px; }
 .proposal-condition .shared-doctor { padding:48px 17px; }
 .shared-doctor .section-title { margin-bottom:26px; font-size:36px; }
 .shared-doctor .doctor-bio { font-size:15px; }
 .shared-doctor .doctor-photo-wrap { max-width:100%; max-height:440px; }
 .proposal-condition .faq-item { padding-inline:18px; }
 .proposal-condition .faq-item summary { font-size:16px; }
 .proposal-form :is(.summary-box,.emergency-box,.consent-box) { padding:20px !important; }
 .proposal-form #card-9 > .upload-zone { display:flex; flex-direction:column; align-items:center; gap:12px; padding:24px 18px !important; text-align:center; }
 .proposal-form #card-9 > .upload-zone > p { margin:0; width:100%; }
 .proposal-form #card-9 > .upload-zone .upload-hints { margin:0; flex-direction:column; align-items:center; text-align:center; }
 .proposal-form #card-9 > .upload-zone .upload-icon { order:1; width:44px; height:44px; margin:2px auto 0; flex-shrink:0; }
 /* Keep navigation in the card flow: fixed descendants can be trapped by
    card transitions on mobile, covering answers and reserving empty space. */
 .proposal-form { min-height:100dvh; }
 .proposal-form > main { padding-bottom:calc(24px + env(safe-area-inset-bottom)) !important; }
 .proposal-form .form-container { padding-bottom:0 !important; }
 .proposal-form .card { padding-bottom:0 !important; }
 .proposal-form .card-nav {
   position:static; inset:auto; margin:24px 0 0; padding:0;
   background:#fff !important; border:0 !important;
   box-shadow:none; backdrop-filter:none;
 }
}
@media(prefers-reduced-motion:reduce) {
 .proposal-form .upload-zone,.shared-doctor .cred-carousel-track { animation:none !important; }
 .proposal-form :is(#card-10,#card-11) :is(.review-intro,.review-section,.summary-box,.emergency-box,.consent-box) { animation:none !important; }
 .shared-doctor .cred-carousel-wrap { overflow-x:auto; }
 .credential-pause { display:none; }
}

/* Priority-style medical notice: quiet motion, a white surface and a red edge. */
.proposal-landing .notice-box,
.proposal-form :is(#card-10,#card-11) .emergency-box {
 --upload-angle:0deg;
 border:1.5px solid transparent !important;
 border-radius:22px !important;
 background:linear-gradient(115deg,#fff6f7,#fff 35%,#ffe9e7 68%,#fff3f6) padding-box,conic-gradient(from var(--upload-angle),#d35661,#ee9d9f,#c33f50,#e98779,#dc677f,#d35661) border-box !important;
 box-shadow:0 3px 18px #c33f500a !important;
 background-size:190% 180%,100% 100% !important;
 animation:upload-aura 8s linear infinite,notification-drift 6s ease-in-out infinite;
}
.proposal-landing .notice-box { align-items:flex-start; gap:20px; }
.proposal-landing .notice-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:14px; background:#fff0f1; color:#a33040; }
.proposal-landing .notice-box h3 { color:#912e3c !important; }
.proposal-landing .notice-box p { color:#655457 !important; }
@media(max-width:600px) {
 .proposal-landing .notice-box { padding:24px 20px; gap:14px; }
 .proposal-landing .notice-icon { width:36px; height:36px; border-radius:12px; }
}
@media(prefers-reduced-motion:reduce) {
 .proposal-landing .notice-box,
 .proposal-form :is(#card-10,#card-11) .emergency-box { animation:none !important; }
}
.proposal-announcement { background:#e4eef1 !important; color:#10252c !important; }
body:is(.proposal-landing,.proposal-condition,.proposal-presencial,.proposal-annex) > footer.clinic-footer { padding-top:16px !important; padding-bottom:14px !important; }
