/* Modo temporada (Halloween / Día de Muertos). Solo aplica cuando temporada.js agrega .t-on al <html>. */
.t-on{--t-orange:#ff7a1a;--t-violet:#8b5cf6;--t-marigold:#ffa500;--t-pink:#e5157a}

/* Capa decorativa: cubre la primera pantalla, no se puede tocar ni tapa clics */
.t-layer{position:absolute;top:0;left:0;right:0;height:100vh;overflow:hidden;pointer-events:none;z-index:1}
.t-halloween .t-layer{background:radial-gradient(60% 45% at 85% 5%,#ff7a1a26,transparent 70%),radial-gradient(45% 40% at 5% 15%,#8b5cf61f,transparent 70%)}
.t-muertos .t-layer{background:radial-gradient(60% 45% at 85% 5%,#ffa50024,transparent 70%),radial-gradient(45% 40% at 10% 20%,#e5157a1a,transparent 70%)}

.t-on #inicio{position:relative}
.t-layer.t-in-hero{height:100%;z-index:0}
.t-on #inicio .hero-grid{position:relative;z-index:1}

/* Murciélagos */
.t-bat{position:absolute;width:48px;opacity:.95;filter:drop-shadow(0 0 3px #ff9a4d) drop-shadow(0 0 10px #ff7a1aaa);animation:t-fly 26s linear infinite}
.t-bat svg{display:block;width:100%;fill:#1c0d33;animation:t-flap .35s ease-in-out infinite alternate;transform-origin:center}
.t-bat1{top:14%;animation-duration:28s}
.t-bat2{top:30%;width:34px;animation-duration:34s;animation-delay:-12s}
.t-bat3{top:9%;width:40px;animation-duration:40s;animation-delay:-25s}
.t-bat4{top:45%;width:28px;animation-duration:31s;animation-delay:-6s}
@keyframes t-fly{0%{transform:translate(-60px,0)}25%{transform:translate(25vw,-18px)}50%{transform:translate(50vw,12px)}75%{transform:translate(75vw,-10px)}100%{transform:translate(calc(100vw + 60px),0)}}
@keyframes t-flap{from{transform:scaleY(1)}to{transform:scaleY(.55)}}

/* Papel picado */
.t-picado{position:absolute;top:0;left:-2%;right:-2%;display:flex;justify-content:space-between;padding-top:6px;border-top:2px solid #ffffff2a}
.t-picado i{width:3.6%;max-width:38px;aspect-ratio:5/6;opacity:.6;transform-origin:top center;animation:t-sway 4s ease-in-out infinite alternate;
  clip-path:polygon(0 0,100% 0,100% 82%,88% 100%,75% 84%,62% 100%,50% 84%,38% 100%,25% 84%,12% 100%,0 82%);
  -webkit-mask:radial-gradient(circle at 50% 40%,transparent 18%,#000 19%) ,radial-gradient(circle at 25% 65%,transparent 8%,#000 9%);mask:radial-gradient(circle at 50% 40%,transparent 18%,#000 19%)}
.t-picado i:nth-child(6n+1){background:var(--t-pink)}
.t-picado i:nth-child(6n+2){background:var(--t-marigold)}
.t-picado i:nth-child(6n+3){background:#7b2cbf}
.t-picado i:nth-child(6n+4){background:#2bb673}
.t-picado i:nth-child(6n+5){background:#ffc300}
.t-picado i:nth-child(6n){background:#00b4d8}
.t-picado i:nth-child(even){animation-delay:-2s}
@keyframes t-sway{from{transform:rotate(-3deg)}to{transform:rotate(3deg)}}

/* Pétalos de cempasúchil */
.t-petal{position:absolute;top:-20px;width:10px;height:14px;border-radius:60% 60% 50% 50%;background:radial-gradient(circle at 40% 30%,#ffd166,#ff8c00);opacity:.75;animation:t-fall 16s linear infinite}
@keyframes t-fall{0%{transform:translate(0,0) rotate(0)}50%{transform:translate(30px,50vh) rotate(180deg)}100%{transform:translate(-10px,100vh) rotate(360deg);opacity:0}}

/* Neblina al pie de la portada */
.t-fog{position:absolute;left:0;right:0;bottom:0;height:160px;overflow:hidden;opacity:.55}
.t-fog i{position:absolute;bottom:-40px;left:-20%;width:140%;height:150px;border-radius:50%;background:radial-gradient(ellipse at center,#c9b8ff40,transparent 65%);filter:blur(12px);animation:t-drift 22s ease-in-out infinite alternate}
.t-fog i+i{left:-40%;bottom:-60px;background:radial-gradient(ellipse at center,#ff9a4d26,transparent 65%);animation-duration:30s;animation-direction:alternate-reverse}
@keyframes t-drift{from{transform:translateX(-6%)}to{transform:translateX(6%)}}

/* Telarañas */
.t-web{position:absolute;pointer-events:none;line-height:0}
.t-web svg path{fill:none;stroke:#e9e2ff;stroke-width:.9;stroke-linecap:round;opacity:.28}
.t-web-hero{top:0;right:0;transform:scaleX(-1)}
.t-web-card{top:0;right:0;transform:scaleX(-1);z-index:2}
.t-web-card svg path{stroke:#8aa3c2;opacity:.45}
.plan-featured .t-web-card svg path{stroke:#e9e2ff;opacity:.3}

/* Arañita colgando */
.t-spider{position:absolute;top:0;right:9%;width:26px;animation:t-dangle 7s ease-in-out infinite}
.t-spider:before{content:"";position:absolute;left:50%;bottom:62%;width:1px;height:400px;background:linear-gradient(transparent,#e9e2ff66);}
.t-spider svg{display:block;width:100%;fill:none;stroke:#1c0d33;stroke-width:2.2;stroke-linecap:round;filter:drop-shadow(0 0 4px #ff9a4d99)}
.t-spider svg path:first-child{fill:#1c0d33}
.t-spider svg circle{fill:#ff9a4d;stroke:none}
@keyframes t-dangle{0%,100%{transform:translateY(40px)}50%{transform:translateY(150px)}}

/* Arañita del paquete Launch: baja de la telaraña con la etiqueta del descuento */
.t-card-spider{position:absolute;top:2px;right:14px;z-index:3;display:flex;flex-direction:column;align-items:center;width:30px;animation:t-card-drop 6s ease-in-out infinite}
.t-card-spider:before{content:"";position:absolute;left:50%;bottom:calc(100% - 10px);width:1px;height:140px;background:linear-gradient(transparent,#7b8faa)}
.t-card-spider svg{display:block;width:26px;fill:none;stroke:#2a1240;stroke-width:2.2;stroke-linecap:round;animation:t-wiggle 1.2s ease-in-out infinite alternate}
.t-card-spider svg path:first-child{fill:#2a1240}
.t-card-spider svg circle{fill:#ff9a4d;stroke:none}
.t-card-spider b{margin-top:2px;padding:2px 6px;border-radius:6px;background:linear-gradient(135deg,#ff7a1a,#c2410c);color:#fff;font-size:10px;font-weight:800;line-height:1.4;white-space:nowrap;box-shadow:0 4px 10px #ff7a1a66;transform-origin:top center;animation:t-swing 1.6s ease-in-out infinite alternate}
@keyframes t-card-drop{0%,12%{transform:translateY(-46px)}38%,72%{transform:translateY(38px)}92%,100%{transform:translateY(-46px)}}
@keyframes t-wiggle{from{transform:rotate(-6deg)}to{transform:rotate(6deg)}}
@keyframes t-swing{from{transform:rotate(-8deg)}to{transform:rotate(8deg)}}
.plan-card[aria-labelledby="plan-launch"]{overflow:hidden}

/* /mvp y /restaurants: calabaza y fantasmita junto al celular de la portada */
.t-phone-wrap{position:relative;justify-self:center;width:min(100%,330px)}
.t-phone-wrap .phone{width:100%}
.t-pumpkin.t-pumpkin-phone{left:-30px;right:auto;top:auto;bottom:-20px;width:72px;margin-left:0}
.t-ghost.t-ghost-phone{left:auto;right:-20px;top:70px;width:44px}
@media(max-width:600px){.t-pumpkin.t-pumpkin-phone{left:-8px;bottom:-22px;width:58px}.t-ghost.t-ghost-phone{right:-6px;width:36px}}

/* Calabaza y fantasmita en el escenario del robot */
.t-pumpkin{position:absolute;left:4%;bottom:7%;width:clamp(56px,7vw,86px);z-index:5;filter:drop-shadow(0 8px 18px #ff7a1a66);animation:t-bob 4s ease-in-out infinite}
.t-pumpkin svg{display:block;width:100%}
.t-face{filter:drop-shadow(0 0 6px #ffd23f);animation:t-flicker 2.6s infinite}
@keyframes t-flicker{0%,100%{opacity:1}45%{opacity:.85}50%{opacity:.55}55%{opacity:.95}70%{opacity:.8}}
@keyframes t-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.t-ghost{position:absolute;left:12%;top:20%;width:clamp(34px,4vw,50px);z-index:5;opacity:.9;filter:drop-shadow(0 0 12px #c9b8ffaa);animation:t-float 5s ease-in-out infinite}
.t-ghost svg{display:block;width:100%}
@keyframes t-float{0%,100%{transform:translate(0,0) rotate(-4deg)}50%{transform:translate(8px,-14px) rotate(4deg)}}

/* Cempasúchil junto al robot (Día de Muertos) */
.t-flowers{position:absolute;left:3%;bottom:6%;width:clamp(80px,10vw,130px);z-index:5;filter:drop-shadow(0 6px 16px #ff950066);animation:t-bob 5s ease-in-out infinite}
.t-flowers svg{display:block;width:100%}

/* Etiqueta de promoción en la landing */
.t-promo{position:relative;z-index:5;display:inline-flex;align-items:center;gap:10px;margin-top:20px;padding:10px 16px 10px 10px;border-radius:999px;color:#fff;font-size:14px;line-height:1.35;text-decoration:none;
  background:linear-gradient(110deg,#2a1240,#4a1d1d 60%,#3b1d0a);border:1px solid var(--t-orange);box-shadow:0 0 0 4px #ff7a1a1f,0 10px 30px #ff7a1a33;transition:transform .2s,box-shadow .2s}
.t-promo-hero{margin-top:22px;max-width:520px}
.t-promo:hover{transform:translateY(-2px);box-shadow:0 0 0 4px #ff7a1a33,0 14px 36px #ff7a1a55}
.t-promo b{color:#ffb36b}
.t-promo .i{width:30px;height:30px;padding:5px;border-radius:50%;background:#ff7a1a26;color:var(--t-orange);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.t-muertos .t-promo{background:linear-gradient(110deg,#3a0f2e,#5a2a05);border-color:var(--t-marigold);box-shadow:0 0 0 4px #ffa5001f,0 10px 30px #e5157a33}
.t-muertos .t-promo b{color:#ffc95c}
.t-muertos .t-promo .i{color:var(--t-marigold);background:#ffa50026}

/* Promoción dentro de cada paquete de la landing */
.t-plan{margin-top:16px;padding:14px 14px 12px;border-radius:14px;color:#f3eaff;text-align:left;
  background:radial-gradient(90% 120% at 100% 0%,#ff7a1a33,transparent 60%),linear-gradient(135deg,#1e0f33,#2b1238);border:1px solid #ff7a1a88;box-shadow:0 8px 22px #2a124033}
.t-plan p{margin:0}
.t-plan-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.02em;color:#ffb36b}
.t-plan-title .i{width:22px;height:22px;flex-shrink:0;color:#ff7a1a;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.t-plan-offer{margin-top:8px!important;font-size:15px;line-height:1.35;font-weight:800;color:#fff}
.t-plan-setup{margin-top:6px!important;font-size:13px;color:#d9c8f0}
.t-plan-setup s{opacity:.7}
.t-plan-setup b{color:#ffb36b;font-size:15px}
.t-plan-copy{margin-top:6px!important;font-size:12.5px;line-height:1.45;color:#d9c8f0}
.t-plan-small{margin-top:8px!important;padding-top:8px;border-top:1px dashed #ffffff26;font-size:10.5px;line-height:1.45;color:#b9a6d6}
.t-muertos .t-plan{border-color:#ffa50088;background:radial-gradient(90% 120% at 100% 0%,#ffa50033,transparent 60%),linear-gradient(135deg,#2e0d26,#3a1606)}
.t-muertos .t-plan-title,.t-muertos .t-plan-setup b{color:#ffc95c}
.t-muertos .t-plan-title .i{color:var(--t-marigold)}

/* Tarjetas de temporada en los carruseles */
.slide.halloween{background:radial-gradient(circle at 75% 25%,#ffb36655,transparent 45%),linear-gradient(135deg,#2a1240,#ff7a1a)}
.slide.halloween span{color:#2a1240}
.slide.halloween .i{color:#e8620f}
.slide.muertos{background:radial-gradient(circle at 25% 30%,#ffe08a,transparent 50%),linear-gradient(135deg,#ff9f1a,#d61f69)}
.slide.muertos span{color:#5a0d2c}
.slide.muertos .i{color:#e0700f}
.idea-season{border-color:#ff7a1a88!important;background:radial-gradient(80% 90% at 0% 0%,#ff7a1a22,transparent 60%),linear-gradient(160deg,#0a2547,#051429)!important}
.idea-season .ic{color:#ff9a4d;border-color:#ff7a1a}
.t-muertos .idea-season .ic{color:#ffb52e;border-color:var(--t-marigold)}


@media(max-width:600px){
  .t-bat{width:28px}.t-bat2{width:20px}.t-bat3{width:22px}.t-bat4{width:16px}
  .t-picado i{width:5.5%}
  .t-web-hero svg{width:96px;height:96px}
  .t-spider{width:20px;right:6%}
  .t-promo{font-size:13px}
}
/* Tableta: calabaza un poco más chica y recorrida a la izquierda para no tapar Agenda conectada */
@media(min-width:701px) and (max-width:1100px){.t-pumpkin{width:44px;left:-1%}.t-card-spider{right:6px;animation-name:t-card-drop-short}}
@keyframes t-card-drop-short{0%,12%{transform:translateY(-46px)}38%,72%{transform:translateY(4px)}92%,100%{transform:translateY(-46px)}}
/* Escritorio: fantasmita un poco más chico y más a la izquierda para no rozar la cabeza del robot */
@media(min-width:1101px){.t-ghost{width:40px;left:4%}}
/* Celular (misma medida que usa la landing): calabaza centrada entre Agenda conectada y Seguimiento */
@media(max-width:700px){.t-pumpkin{left:50%;bottom:auto;top:84%;width:40px;margin-left:-20px;z-index:6}}
@media(prefers-reduced-motion:reduce){
  .t-bat,.t-bat svg,.t-picado i,.t-fog i,.t-spider,.t-card-spider,.t-card-spider svg,.t-card-spider b,.t-pumpkin,.t-face,.t-ghost,.t-flowers{animation:none}
  .t-bat1{transform:translateX(70vw)}.t-bat2{transform:translateX(20vw)}.t-bat3{transform:translateX(45vw)}.t-bat4{display:none}
}
/* Rendimiento: sin sombras con filtro en las decoraciones animadas en celular y tableta */
@media(max-width:980px){.t-bat,.t-spider svg,.t-pumpkin,.t-face,.t-ghost,.t-flowers{filter:none}}
