/* ============ ASISTENTE DE RITUALES ============ */
.as{position:relative;overflow:hidden;isolation:isolate;padding:clamp(4.5rem,8vw,7.5rem) var(--pad);background:radial-gradient(60% 70% at 18% 60%,rgba(139,61,219,.34),transparent 72%),radial-gradient(40% 50% at 92% 0,rgba(217,164,92,.09),transparent 70%),var(--ink)}
.as__st{position:absolute;color:var(--amber);pointer-events:none;z-index:-1;opacity:.85}
.as__st.a{left:5%;top:9%;width:22px;height:22px}.as__st.b{right:9%;top:16%;width:15px;height:15px;color:var(--lav)}.as__st.c{left:46%;top:6%;width:12px;height:12px;color:#fff}
.as__in{max-width:1240px;margin:0 auto;display:grid;gap:clamp(1.8rem,3.5vw,3rem)}
.as__head{display:grid;gap:.9rem;justify-items:start}
.as__head h2{--fs:clamp(2.8rem,7vw,7rem);line-height:.88;text-transform:uppercase;color:var(--silver);max-width:14ch}
.as__head .lede{max-width:34rem;color:var(--lav)}
.as__app{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(1.4rem,4vw,3.5rem);align-items:start}
.as__stage{position:relative;display:grid;justify-items:center;align-self:start}
.as__glow{position:absolute;left:8%;right:8%;bottom:0;height:62%;border-radius:50%;background:radial-gradient(closest-side,rgba(139,61,219,.55),transparent 72%);z-index:0}
.as__bubble{position:relative;z-index:2;width:100%;max-width:25rem;min-height:5.6rem;margin-bottom:1.1rem;padding:1.1rem 1.4rem 1.2rem;border-radius:30px 30px 30px 8px;background:var(--silver);color:var(--ink);font:italic 400 clamp(1.4rem,2.2vw,1.9rem)/1.15 var(--serif);box-shadow:0 26px 50px -22px rgba(0,0,0,.7)}
.as__bubble::after{content:"";position:absolute;right:3.2rem;bottom:-15px;border-left:11px solid transparent;border-right:11px solid transparent;border-top:17px solid var(--silver)}
.as__cat{position:relative;z-index:1;width:min(78%,19rem)}
.as__cat .gato{display:block;width:100%;height:auto;filter:drop-shadow(0 16px 18px rgba(0,0,0,.55))}
.as.is-result .as__app{grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr)}
.as.is-result .as__stage{position:sticky;top:6.5rem}
.as.is-result .as__cat{width:min(70%,15rem)}
.as__card{position:relative;background:var(--silver);color:var(--ink);border-radius:34px;padding:clamp(1.4rem,3vw,2.5rem);box-shadow:0 44px 90px -40px rgba(0,0,0,.85);min-height:22rem}
.as__prog{display:flex;gap:.5rem;list-style:none;margin:0 0 1.2rem;padding:0}
.as__prog li{flex:1;height:5px;border-radius:9px;background:#cdbfe0;overflow:hidden;position:relative}
.as__prog li::after{content:"";position:absolute;inset:0;background:var(--violet-d);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s var(--ease)}
.as__prog li.is-done::after,.as__prog li.is-on::after{transform:scaleX(1)}
.as__prog li.is-on::after{transform:scaleX(.55)}
.as__q{font:700 clamp(1.7rem,3vw,2.6rem)/1 var(--disp);text-transform:uppercase;margin:0 0 1.2rem;color:var(--ink)}
.as__opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.7rem}
.as__opts--tiempo,.as__opts--presu{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr))}
.as__opt{display:flex;align-items:center;gap:.8rem;text-align:left;padding:.85rem 1.1rem;border-radius:22px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);font:600 1.02rem var(--sans);cursor:pointer;transition:transform .35s var(--ease),background .25s,color .25s,box-shadow .3s}
.as__opt:hover,.as__opt:focus-visible{transform:translateY(-3px);background:var(--lav);box-shadow:0 14px 26px -14px rgba(60,20,100,.55);outline:none}
.as__opt:focus-visible{box-shadow:0 0 0 3px var(--violet),0 14px 26px -14px rgba(60,20,100,.55)}
.as__opt.is-sel{background:var(--violet-d);border-color:var(--violet-d);color:#fff}
.as__ic{flex:none;display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--lav);color:var(--ink);transition:transform .45s var(--ease),background .25s}
.as__opt:hover .as__ic{transform:rotate(-10deg) scale(1.1)}
.as__opt.is-sel .as__ic{background:#fff;color:var(--violet-d)}
.as__bar{display:block;width:1.5rem;height:.55rem;border-radius:9px;background:rgba(16,8,23,.18);position:relative;overflow:hidden}
.as__bar::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w,50%);background:currentColor;border-radius:9px}
.as__coins{display:flex;align-items:flex-end;gap:2px}.as__coins i{display:block;width:.5rem;height:.5rem;border-radius:50%;background:currentColor}.as__coins i:nth-child(2){height:.75rem;border-radius:5px}.as__coins i:nth-child(3){height:1rem;border-radius:5px}
.as__back{margin-top:1.1rem;color:var(--ink);min-height:44px}
.as__fine{max-width:42rem;font:400 .85rem/1.5 var(--sans);color:var(--lav);opacity:.8;margin:0}
/* resultado */
.as__res{display:grid;gap:1rem}
.as__res .micro{color:var(--violet-d)}
.as__rt{font:700 clamp(2rem,4vw,3.4rem)/.92 var(--disp);text-transform:uppercase;margin:0;outline:none}
.as__lede{font:italic 400 1.35rem/1.3 var(--serif);margin:0;max-width:32rem}
.as__sub{font:700 .82rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--violet-d);margin:.8rem 0 0}
.as__prods{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.as__prod{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.8rem;padding:.55rem .8rem .55rem .55rem;border-radius:20px;background:#fff;transition:transform .35s var(--ease)}
.as__prod:hover{transform:translateX(4px)}
.as__pl{display:flex;align-items:center;gap:.8rem;color:var(--ink);text-decoration:none;min-width:0}
.as__pl .sr__th{width:3.6rem;flex:none}
.as__pt{display:grid;min-width:0}.as__pt strong{font:700 1rem/1.2 var(--sans)}.as__pt small{font:400 .8rem var(--sans);color:#6a5a7a}
.as__pp{font:700 1.05rem var(--sans);white-space:nowrap}
.as__none{padding:1rem;border-radius:16px;background:#fff}
.as__tot{display:flex;justify-content:space-between;align-items:baseline;padding:.2rem .4rem;font:600 1rem var(--sans)}
.as__tot strong{font:700 1.8rem var(--disp)}
.as__cta{display:grid;gap:.6rem;justify-items:start}
.as__add.is-added{background:#1c6b3a!important;border-color:#1c6b3a!important}
.as__done{min-height:1.3rem;margin:0;font:600 .95rem var(--sans);color:#1c6b3a}
.as__steps{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;counter-reset:as}
.as__step{position:relative;counter-increment:as;display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;align-items:start;padding:.8rem 1rem .8rem 3.2rem;border-radius:20px;background:rgba(255,255,255,.7)}
.as__step::before{content:counter(as);position:absolute;left:1rem;top:.75rem;font:700 1.5rem/1 var(--disp);color:var(--violet-d)}
.as__sm{grid-column:1;align-self:start;padding:.2rem .6rem;border-radius:99px;background:var(--ink);color:var(--silver);font:700 .75rem var(--sans);white-space:nowrap}
.as__step p{grid-column:2;margin:0;font:400 1rem/1.5 var(--sans)}
.as__acts{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.4rem}
.as__acts .link-btn{color:var(--ink)}
.btn--ghost{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}
.btn--ghost:hover{background:var(--lav)}
.as__alt{margin:.3rem 0 0;font:400 .88rem/1.45 var(--sans);color:#4a3a5a}
/* guía */
.as__g{display:grid;justify-items:center;gap:1.1rem;text-align:center;padding:.5rem 0}
.as__gh{display:flex;justify-content:space-between;gap:1rem;width:100%;align-items:center;flex-wrap:wrap}
.as__gh .micro{color:var(--violet-d)}
.as__quick{font:500 .85rem var(--sans);color:#4a3a5a;cursor:pointer}.as__quick input{accent-color:var(--violet-d)}
.as__ring{--p:0;position:relative;width:9.5rem;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--violet-d) calc(var(--p)*1%),#d6cbe6 0)}
.as__ring::before{content:"";position:absolute;inset:.7rem;border-radius:50%;background:var(--silver)}
.as__time{position:relative;font:700 2.2rem var(--disp)}
.as__gt{font:italic 400 clamp(1.4rem,2.4vw,1.9rem)/1.3 var(--serif);max-width:30rem;margin:0}
.as__gb{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;align-items:center}
.as__big{font:700 clamp(2rem,4vw,3rem)/1 var(--disp);text-transform:uppercase}
.as.is-guided .as__cat{width:min(66%,13rem)}
@media (prefers-reduced-motion:no-preference){
.as .gato{animation:gtPop 1s cubic-bezier(.34,1.56,.64,1) .2s both;transform-origin:50% 100%}
.as .g-pupil--t{animation:none!important;transition:transform .18s ease-out}
.as__st{animation:gtTw 3s ease-in-out infinite}.as__st.b{animation-delay:.8s}.as__st.c{animation-delay:1.5s}
.as__card>*{animation:asIn .55s var(--ease) both}
@keyframes asIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.as__opt{animation:asOpt .6s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(var(--i)*.07s + .1s)}
@keyframes asOpt{from{opacity:0;transform:translateY(16px) scale(.94)}to{opacity:1;transform:none}}
.as__prod,.as__step{animation:asOpt .6s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(var(--i)*.09s + .15s)}
.as.is-happy .gato{animation:gtJump .62s ease-in-out 5}
.as.is-happy .g-eyei{animation:gtHappy .35s ease-out forwards}
.as.is-happy .g-arm{animation:gtWaveFast .36s ease-in-out infinite}
.as.is-happy .g-tail{animation-duration:.5s}
}
@media (max-width:900px){
.as__app{grid-template-columns:1fr}
.as.is-result .as__app{grid-template-columns:1fr}
.as__stage{grid-template-columns:auto 1fr;justify-items:stretch;align-items:end;gap:.4rem 1rem}
.as.is-result .as__stage{position:relative;top:auto}
.as__cat{grid-column:1;grid-row:1;width:7.6rem}
.as.is-result .as__cat,.as.is-guided .as__cat{width:6.4rem}
.as__bubble{grid-column:2;grid-row:1;margin:0 0 .8rem;max-width:none;font-size:1.3rem;min-height:4.6rem;border-radius:26px 26px 26px 8px}
.as__bubble::after{right:auto;left:-13px;bottom:1rem;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:15px solid var(--silver)}
.as__glow{display:none}
.as__opts,.as__opts--tiempo,.as__opts--presu{grid-template-columns:1fr}
.as__step{padding-left:2.9rem}
}
@media (max-width:900px){.as__q{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}}
