/* GYZCO · Orientador «Encuentra a tu psicólogo» — usa los tokens de site.css */
.or{--or-accent:#a8694c;--or-thread-muted:#a9bcc5;--or-ease:cubic-bezier(.23,1,.32,1);display:grid;grid-template-columns:minmax(300px,380px) 1fr;min-height:calc(100dvh - 90px);background:var(--cream)}

/* ---------- El hilo ---------- */
.or-thread{background:var(--navy);color:var(--cream);position:relative;overflow:hidden;isolation:isolate}
.or-thread:after{content:'';position:absolute;z-index:-1;width:420px;height:520px;border-radius:50%;background:rgba(214,173,152,.07);right:-260px;bottom:-330px;transform:rotate(-28deg);pointer-events:none}
.or-thread-inner{position:sticky;top:90px;display:flex;flex-direction:column;min-height:calc(100dvh - 90px);max-height:calc(100dvh - 90px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(250,248,244,.25) transparent;padding:48px 40px 40px}
.or-thread-kicker{display:flex;align-items:center;gap:14px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--peach)}
.or-thread-kicker:before{content:'';width:28px;height:3px;border-radius:3px;background:var(--peach)}
.or-thread-title{font:700 31px/1.1 var(--serif);letter-spacing:-.04em;color:var(--cream);margin-top:18px}
.or-thread-list{list-style:none;margin:34px 0 0;padding:0 0 0 2px;position:relative}
.or-thread-list:not(:has(.or-thread-item)):before{display:none}
.or-thread-list:before{content:'';position:absolute;left:8px;top:14px;bottom:14px;width:1.5px;background:rgba(250,248,244,.18)}
.or-thread-empty{color:var(--or-thread-muted);font-size:15px;line-height:1.55;padding-left:30px;position:relative}
.or-thread-empty:before{content:'';position:absolute;left:3px;top:6px;width:12px;height:12px;border-radius:50%;border:1.5px dashed rgba(250,248,244,.45);background:var(--navy)}
.or-thread-item{position:relative}
.or-thread-item button{display:grid;gap:3px;width:100%;text-align:left;background:none;color:inherit;padding:10px 8px 10px 30px;border-radius:12px;transition:background-color .2s ease}
.or-thread-item button:before{content:'';position:absolute;left:3px;top:17px;width:12px;height:12px;border-radius:50%;background:var(--peach);box-shadow:0 0 0 4px var(--navy)}
.or-thread-item.is-current button:before{background:var(--navy);border:2px solid var(--peach)}
.or-thread-q{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--or-thread-muted)}
.or-thread-a{font:italic 400 19px/1.3 var(--serif);color:var(--cream);overflow-wrap:anywhere}
.or-thread-item.is-current .or-thread-a{color:var(--peach)}
.or-thread-item button:focus-visible{outline:2px solid var(--peach);outline-offset:2px}
@media(hover:hover) and (pointer:fine){.or-thread-item button:hover{background:rgba(250,248,244,.07)}}
.or-thread-privacy{display:flex;gap:12px;align-items:flex-start;margin-top:auto;padding-top:32px;font-size:13px;line-height:1.5;color:var(--or-thread-muted)}
.or-thread-privacy .icon{width:20px;height:20px;color:var(--peach);margin-top:1px}

/* ---------- Escenario ---------- */
.or-stage{padding:44px clamp(24px,6vw,104px) 90px;min-width:0}
.or-screen{max-width:860px}
.or-screen:focus{outline:none}
.or-progress{max-width:860px;margin-bottom:44px}
.or-progress-text{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--muted)}
.or-back{display:inline-flex;align-items:center;gap:6px;background:none;font-size:14px;font-weight:600;color:var(--ink);padding:8px 2px;transition:transform .16s ease-out}
.or-back .icon{width:18px;height:18px;transform:rotate(180deg)}
.or-back:active{transform:scale(.97)}
.or-progress-track{height:3px;border-radius:3px;background:var(--line);margin-top:12px;overflow:hidden}
.or-progress-track span{display:block;height:100%;background:var(--peach);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--or-ease)}

/* ---------- Portada del cuestionario ---------- */
.or-breadcrumbs{margin-bottom:34px}
.or-intro h1{font-size:clamp(44px,4.8vw,74px);max-width:14ch}
.or-intro h1 em{font-style:italic;font-weight:400;color:var(--or-accent)}
.or-intro-lead{font-size:clamp(18px,1.5vw,21px);line-height:1.55;max-width:38em;margin-top:26px}
.or-promises{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.or-promises li{display:grid;gap:14px;align-content:start;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px}
.or-promises .icon{width:28px;height:28px;color:var(--or-accent)}
.or-promises span{font-size:15px;line-height:1.5;color:var(--muted)}
.or-promises strong{display:block;color:var(--ink);font-size:16px;margin-bottom:2px}
.or-intro-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:32px}

/* ---------- Pregunta ---------- */
.or-question fieldset{border:0;margin:0;padding:0;min-width:0}
.or-q-title{font:700 clamp(30px,3.2vw,46px)/1.12 var(--serif);letter-spacing:-.035em;color:var(--ink);max-width:22em;padding:0}
.or-q-title:focus{outline:none}
.or-q-help{font-size:17px;margin-top:16px;max-width:40em}
.or-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:34px}
.or-options.is-many{grid-template-columns:repeat(2,minmax(0,1fr))}
.or-opt{position:relative;display:flex;align-items:center;gap:14px;min-height:66px;padding:16px 20px;background:var(--paper);border:1.5px solid var(--line);border-radius:18px;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .16s ease-out,opacity .2s ease}
.or-opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.or-opt-mark{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:1.5px solid #b7c0c4;background:white;flex-shrink:0;transition:background-color .18s ease,border-color .18s ease}
.is-multi .or-opt-mark{border-radius:7px}
.or-opt-mark .icon{width:15px;height:15px;color:white;opacity:0;transform:scale(.6);transition:opacity .18s ease,transform .22s var(--or-ease)}
.or-opt-text{font-size:16px;line-height:1.4;font-weight:500;color:var(--ink)}
.or-opt-text small{display:block;font-size:14px;font-weight:400;color:var(--muted);margin-top:2px}
.or-opt:has(input:checked){border-color:var(--navy);background:white;box-shadow:0 10px 26px -18px rgba(16,47,64,.55)}
.or-opt:has(input:checked) .or-opt-mark{background:var(--navy);border-color:var(--navy)}
.or-opt:has(input:checked) .or-opt-mark .icon{opacity:1;transform:none}
.or-opt:has(input:focus-visible){outline:3px solid #be8062;outline-offset:3px}
.or-opt:active{transform:scale(.985)}
.or-opt.is-off{opacity:.45;cursor:not-allowed}
.or-opt.is-off:active{transform:none}
@media(hover:hover) and (pointer:fine){.or-opt:not(.is-off):hover{border-color:var(--blue)}}
.or-q-note{font-size:14px;font-weight:600;color:var(--muted);margin-top:14px}
.or-options.is-text{display:block}
.or-options textarea{width:100%;min-height:150px;padding:18px 20px;background:var(--paper);border:1.5px solid var(--line);border-radius:18px;color:var(--ink);font-size:17px;line-height:1.5;resize:vertical;transition:border-color .2s ease}
.or-options textarea:focus{outline:none;border-color:var(--navy)}
.or-options textarea:focus-visible{outline:3px solid #be8062;outline-offset:3px}
.or-count{font-size:13px;text-align:right;margin-top:8px}
.or-q-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:34px}
.or-q-error{font-size:15px;font-weight:600;color:#a3412c;margin-right:auto}
.or-q-error:empty{display:none}

/* ---------- Resultados ---------- */
.or-result h2{font-size:clamp(34px,3.8vw,56px);max-width:16ch}
.or-result-lead{font-size:18px;line-height:1.55;max-width:40em;margin-top:20px}
.or-cards{display:grid;gap:16px;margin-top:38px}
.or-card{display:grid;grid-template-columns:150px 1fr;gap:26px;align-items:start;background:var(--paper);border:1px solid var(--line);border-radius:26px;padding:18px 26px 18px 18px}
.or-card-photo{grid-row:1/3;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:var(--rose)}
.or-card-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.or-card-initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font:400 44px/1 var(--serif);color:var(--navy);letter-spacing:-.02em}
.or-card-body{padding-top:6px;min-width:0}
.or-card-where{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--muted)}
.or-card-where .icon{width:17px;height:17px;color:var(--or-accent)}
.or-card h3{font:700 clamp(25px,2.2vw,32px)/1.1 var(--serif);letter-spacing:-.035em;margin-top:8px}
.or-card-why{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:14px;font-size:14px}
.or-card-why span{background:var(--rose);color:var(--ink);border-radius:50px;padding:5px 12px;font-size:13px;font-weight:500}
.or-card-facts{list-style:none;padding:0;margin:12px 0 0;font-size:14px;color:var(--muted)}
.or-card-facts li{display:flex;align-items:center;gap:8px}
.or-card-facts .icon{width:16px;height:16px;color:var(--or-accent)}
.or-card-actions{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;align-self:end}
.or-card-actions .button .icon{width:19px;height:19px}
.or-include{display:flex;gap:12px;align-items:flex-start;margin-top:26px;font-size:15px;line-height:1.5;color:var(--muted);cursor:pointer}
.or-include input{width:20px;height:20px;margin-top:1px;accent-color:var(--navy);flex-shrink:0}
.or-include em{color:var(--ink)}
.or-notes{list-style:none;padding:0 0 0 18px;margin:30px 0 0;border-left:3px solid var(--peach);display:grid;gap:8px}
.or-notes li{font-size:15px;line-height:1.55;color:var(--muted)}
.or-help{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;background:var(--rose);border-radius:22px;padding:18px 24px;margin-top:28px}
.or-help p{color:var(--ink);font-weight:500;flex:1;min-width:200px}
.or-help-icon{display:inline-flex;width:44px;height:44px;border-radius:50%;background:#f0e0d8;align-items:center;justify-content:center}
.or-help-icon .icon{width:24px;height:24px}
.or-human{margin-top:30px}
.or-reveal{margin-top:28px}
.button.outline.or-reveal{color:var(--ink);background:rgba(255,255,255,.6);border-color:var(--navy)}
.or-result-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:40px;padding-top:22px;border-top:1px solid var(--line)}

/* ---------- Urgencia ---------- */
.or-urgent h2{max-width:14ch}
.or-urgent-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:30px}
.or-line{display:flex;align-items:center;gap:16px;background:var(--navy);color:var(--cream);border-radius:22px;padding:22px 24px;transition:transform .16s ease-out}
.or-line.is-911{background:#9b3324}
.or-line .icon{width:28px;height:28px;flex-shrink:0}
.or-line strong{display:block;font:700 30px/1.05 var(--serif);letter-spacing:-.02em}
.or-line small{display:block;font-size:14px;opacity:.85;margin-top:4px}
.or-line:active{transform:scale(.98)}
.or-small{font-size:14px;margin-top:20px;max-width:40em}
.or-continue{margin-top:18px;color:var(--ink)}
.or-reminder{margin-top:34px;padding:20px 22px;border-radius:22px;background:#f6e4df}
.or-reminder p{color:var(--ink);font-weight:500}
.or-urgent.is-compact .or-urgent-lines{margin-top:14px}
.or-urgent.is-compact .or-line{padding:14px 18px}
.or-urgent.is-compact .or-line strong{font-size:22px}
.or-nojs{max-width:640px;display:grid;gap:18px;justify-items:start}

/* ---------- Responsivo ---------- */
@media(max-width:1150px){.or{grid-template-columns:minmax(270px,320px) 1fr}.or-thread-inner{padding:44px 28px 32px}.or-promises{grid-template-columns:1fr}.or-promises li{grid-template-columns:auto 1fr;align-items:start}}
@media(max-width:900px){
 .or{display:flex;flex-direction:column;min-height:0}
 .or-stage{order:1;padding:26px 20px 56px}
 .or-thread{order:2}
 .or-thread:not(:has(.or-thread-item)){display:none}
 .or-thread-inner{position:static;min-height:0;padding:34px 20px 36px}
 .or-thread-title{font-size:25px}
 .or-thread-list{margin-top:20px}
 .or-breadcrumbs{margin-bottom:28px}
 .or-progress{margin-bottom:28px}
 .or-options,.or-options.is-many{grid-template-columns:1fr;margin-top:24px;gap:10px}
 .or-opt{min-height:58px;padding:14px 16px}
 .or-q-actions{position:sticky;bottom:0;margin:22px -20px 0;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--cream) 72%,rgba(250,248,244,0))}
 .or-q-actions .button{width:100%}
 .or-card{grid-template-columns:96px 1fr;gap:16px;padding:14px;border-radius:22px}
 .or-card-body{padding-top:0}
 .or-card-photo{grid-row:auto}
 .or-card-actions{grid-column:1/-1}
 .or-card-actions .button{flex:1 1 100%}
 .or-urgent-lines{grid-template-columns:1fr}
}
@media(max-width:680px){.or-card-actions{margin-top:14px}.or-card-why{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.or-progress-track span,.or-opt,.or-opt-mark .icon{transition-duration:.01ms}}
