/* Estilos compartidos por evaluacion.html y citas.html */
.flow-hero{background:var(--dark);color:#fff;text-align:center;padding:56px 0 120px;position:relative;overflow:hidden}
.flow-hero::before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(124,108,240,.45),transparent 70%);left:50%;top:-300px;transform:translateX(-50%)}
.flow-hero>*{position:relative}
.flow-hero .eyebrow{color:var(--lav)}
.flow-hero h1{font-size:clamp(2.6rem,5vw,4rem);margin:.8rem 0 .6rem}
.flow-hero h1 em{color:var(--lav)}
.flow-hero p{color:rgba(255,255,255,.7);max-width:36rem;margin:0 auto}
.flow{max-width:880px;margin:-80px auto 100px;background:#fff;border-radius:32px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.stepper{display:flex;padding:1.6rem 1.4rem;border-bottom:1px solid var(--line);overflow-x:auto;gap:.2rem;scrollbar-width:none}
.stepper::-webkit-scrollbar{display:none}
.stepper div{flex:1;min-width:78px;display:flex;flex-direction:column;align-items:center;gap:.4rem;font-size:.72rem;color:var(--muted);text-align:center;position:relative}
.stepper div::before{content:"";position:absolute;top:15px;left:calc(-50% + 18px);right:calc(50% + 18px);height:2px;background:var(--line)}
.stepper div:first-child::before{display:none}
.stepper i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:600;background:var(--soft);color:var(--muted);position:relative;z-index:1;transition:all .3s}
.stepper .done i{background:var(--violet);color:#fff}
.stepper .done::before,.stepper .active::before{background:var(--violet)}
.stepper .active i{background:var(--ink);color:#fff;box-shadow:0 0 0 5px rgba(124,108,240,.2)}
.stepper .active{color:var(--ink);font-weight:600}
.panel{display:none;padding:2.8rem 3rem 2.4rem;animation:fade .45s ease}
.panel.show{display:block}
@keyframes fade{from{opacity:0;transform:translateY(12px)}}
.panel h2{font-size:clamp(1.9rem,3.4vw,2.6rem);margin-bottom:.5rem}
.panel h2 em{font-style:italic;color:var(--violet)}
.panel>p.lead{color:var(--muted);margin-bottom:2rem}
.stack{display:grid;gap:1rem}
.cards2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.big-choice{display:block;cursor:pointer;border:1px solid var(--line);border-radius:22px;padding:1.6rem;transition:all .25s;position:relative}
.big-choice input{position:absolute;opacity:0}
.big-choice:hover{border-color:var(--violet)}
.big-choice:has(input:checked){border-color:var(--violet);background:var(--soft);box-shadow:0 0 0 3px rgba(124,108,240,.15)}
.big-choice .ic{width:52px;height:52px;border-radius:16px;background:var(--soft);display:grid;place-items:center;color:var(--violet-deep);margin-bottom:1rem}
.big-choice:has(input:checked) .ic{background:var(--violet);color:#fff}
.big-choice h3{font-size:1.5rem;margin-bottom:.3rem}
.big-choice p{color:var(--muted);font-size:.9rem}
.big-choice .price{margin-top:.8rem;font-weight:600;color:var(--violet-deep)}
.list{display:grid;gap:.8rem;margin-bottom:1.6rem}
.list div{display:flex;gap:.9rem;align-items:flex-start;color:var(--muted);font-size:.95rem}
.list div::before{content:"";flex:none;width:22px;height:22px;border-radius:50%;margin-top:2px;background:var(--soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235646cf' stroke-width='3'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/13px no-repeat}
.photos{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}
.photo{aspect-ratio:3/4;border:1.5px dashed var(--lav);border-radius:18px;display:grid;place-items:center;text-align:center;font-size:.78rem;color:var(--muted);cursor:pointer;position:relative;overflow:hidden;background:var(--bg);transition:border-color .2s}
.photo:hover{border-color:var(--violet)}
.photo input{position:absolute;inset:0;opacity:0;cursor:pointer}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo svg{margin:0 auto .4rem;color:var(--violet)}
.actions{display:flex;justify-content:space-between;gap:1rem;padding:1.6rem 3rem 2.4rem;border-top:1px solid var(--line)}
.summary{background:var(--bg);border-radius:20px;padding:1.4rem 1.6rem;margin-bottom:1.4rem}
.summary .r{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.93rem}
.summary .r:last-child{border:0;font-weight:600;font-size:1.05rem;padding-top:.9rem}
.summary .r span:first-child{color:var(--muted)}
.pay-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:1.4rem}
.card-form{display:grid;gap:1rem;margin-bottom:1.2rem}
.done-box{text-align:center;padding:1rem 0 .6rem}
.done-box .check{width:84px;height:84px;border-radius:50%;background:var(--violet);color:#fff;display:grid;place-items:center;margin:0 auto 1.4rem;box-shadow:0 0 0 12px rgba(124,108,240,.15);animation:pop .6s cubic-bezier(.2,1.6,.4,1)}
@keyframes pop{from{transform:scale(0)}}
.folio{display:inline-block;margin:1.2rem 0;padding:.7rem 1.4rem;border-radius:999px;background:var(--soft);font-weight:600;letter-spacing:.08em;color:var(--violet-deep)}
.err{color:#c0392b;font-size:.85rem;margin-top:1rem;display:none}
.err.show{display:block}
/* Calendario (citas) */
.cal{border:1px solid var(--line);border-radius:22px;padding:1.2rem}
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}
.cal-head b{font-family:"Cormorant Garamond",serif;font-size:1.5rem;font-weight:600}
.cal-head button{background:var(--soft);border:0;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1rem;color:var(--violet-deep)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;text-align:center}
.cal-grid .dow{font-size:.72rem;color:var(--muted);padding:.4rem 0;text-transform:uppercase}
.cal-grid button{aspect-ratio:1;border:0;border-radius:12px;background:none;font:inherit;font-size:.9rem;cursor:pointer;transition:all .2s}
.cal-grid button:hover:not(:disabled){background:var(--soft)}
.cal-grid button:disabled{color:#c9c6d4;cursor:default}
.cal-grid button.sel{background:var(--ink);color:#fff}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;align-content:start}
.slots button{padding:.75rem;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit;font-size:.9rem;cursor:pointer;transition:all .2s}
.slots button:hover{border-color:var(--violet)}
.slots button.sel{background:var(--violet);border-color:var(--violet);color:#fff}
.slots .empty{grid-column:1/-1;color:var(--muted);font-size:.9rem;padding:1rem 0}
.sched{display:grid;grid-template-columns:1.1fr .9fr;gap:1.4rem}
@media (max-width:760px){
  .panel{padding:2rem 1.4rem}
  .actions{padding:1.4rem}
  .cards2,.sched{grid-template-columns:1fr}
  .photos{grid-template-columns:1fr 1fr}
  .pay-methods{grid-template-columns:1fr}
  .flow{margin:-80px 16px 80px;border-radius:24px}
}

/* Antecedentes familiares y aviso de responsabilidad */
.hint{color:var(--muted);font-size:.9rem;margin:-.4rem 0 .2rem}
.terms{margin:1.6rem 0 1.2rem;border:1px solid var(--line);border-radius:20px;padding:1.4rem 1.5rem;background:var(--bg)}
.terms h3{font-size:1.5rem;margin-bottom:.3rem}
.terms-intro{color:var(--muted);font-size:.9rem;margin-bottom:.8rem}
.terms-box{max-height:220px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;font-size:.88rem;line-height:1.6;color:var(--ink)}
.terms-box p{margin-bottom:.7rem}
.terms-box p:last-child{margin-bottom:0}
.terms-box b{color:var(--violet-deep)}
.terms-accept{margin-top:1rem;align-items:flex-start}
.terms-accept input{margin-top:3px}
.terms-accept span{font-size:.92rem;font-weight:500}

/* Fotos con ejemplo de cómo tomarlas */
.photo-tips{margin:0 0 .4rem}
.photo{align-items:end;background:#fff}
.photo .ex{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9;transition:opacity .2s}
.photo:hover .ex{opacity:1}
.photo .ex-tag{position:absolute;top:8px;left:8px;background:rgba(16,16,21,.72);color:#fff;font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:.25rem .55rem;border-radius:999px}
.photo .cap{position:relative;z-index:1;width:100%;display:grid;justify-items:center;gap:.1rem;padding:.7rem .4rem .6rem;background:linear-gradient(to top,rgba(255,255,255,.97) 70%,rgba(255,255,255,0));color:var(--ink)}
.photo .cap b{font-size:.85rem}
.photo .cap small{font-size:.72rem;color:var(--muted)}
.photo .cap svg{margin:0 0 .15rem;color:var(--violet)}
.photo .up{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.photo.done{border-style:solid;border-color:var(--violet)}
.photo.done::after{content:"✓";position:absolute;z-index:3;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:var(--violet);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem}

/* Pasos finales de la Evaluación Online */
.final-steps{display:grid;gap:.9rem;max-width:620px;margin:0 auto;text-align:left}
.fstep{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;border:1px solid var(--line);border-radius:20px;padding:1.1rem 1.2rem;background:var(--bg)}
.fstep i{width:36px;height:36px;border-radius:50%;background:var(--violet);color:#fff;display:grid;place-items:center;font-style:normal;font-weight:600}
.fstep b{display:block}
.fstep small{display:block;color:var(--muted);font-size:.85rem;line-height:1.45;margin-top:.15rem}
.fstep .btn{white-space:nowrap;padding:.85rem 1.3rem}
.btn-wa{background:#25d366;color:#fff}
.btn-wa:hover{background:#1ebe5a;transform:translateY(-2px)}
.fstep.sent{border-color:var(--violet);background:var(--soft)}
.fstep.sent i{font-size:0}
.fstep.sent i::after{content:"✓";font-size:1rem}
@media (max-width:640px){.fstep{grid-template-columns:auto 1fr}.fstep .btn{grid-column:1/-1;justify-content:center}}

.sub-h{font-size:1.5rem;margin:1.6rem 0 .8rem}

.alt-links{display:none;margin-top:.45rem;font-size:.8rem}
.alt-links.show{display:block}
.alt-links a{color:var(--violet-deep);font-weight:600;text-decoration:underline}
.btn[disabled]{opacity:.6}
