/* p-chinches.css · /fumigacion-de-chinches-cdmx/ · «Linterna» (.lin-*) + piezas (.ch-*). Estados ocultos solo bajo .lin--on (JS). */

/* HERO (min-width:0: un H1 de varias palabras con .ab no debe ensanchar la columna en celular) */
.phero-grid>*{min-width:0}
.ch-hero-media{position:relative;max-width:440px;margin-inline:auto}
.ch-shot{position:relative;margin:0;aspect-ratio:4/5;border-radius:28px;overflow:hidden;box-shadow:0 0 0 10px rgba(255,255,255,.06),0 40px 80px -30px rgba(0,0,0,.6)}
.ch-shot img{width:100%;height:100%;object-fit:cover}
.ch-shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,17,29,.6),rgba(0,17,29,0) 24%,rgba(0,17,29,0) 58%,rgba(0,17,29,.9))}
.ch-rec{position:absolute;left:16px;top:16px;z-index:2;display:flex;align-items:center;gap:.5rem;font:700 .72rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase}
.ch-rec i{width:9px;height:9px;border-radius:50%;background:var(--rec);box-shadow:0 0 0 3px rgba(255,59,48,.3)}
.ch-shot figcaption{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;font-size:.88rem;line-height:1.42;color:#E3EFF6}
.ch-viral{position:absolute;right:-1.2rem;top:18%;z-index:3;display:flex;align-items:center;gap:.7rem;padding:.55rem 1rem .55rem .55rem;border-radius:18px;background:#fff;color:var(--estudio);text-decoration:none;box-shadow:0 24px 40px -18px rgba(0,0,0,.65);transform:rotate(-3deg);transition:transform .45s var(--ease)}
.ch-viral:hover{transform:rotate(0) translateY(-3px)}
.ch-viral>span:first-child{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--magenta)}
.ch-viral svg{width:20px;height:20px;fill:#fff;margin-left:3px}
.ch-viral b{display:block;font:400 1.75rem/1 var(--f-display);letter-spacing:.01em}
.ch-viral small{display:block;margin-top:.15rem;font-size:.74rem;font-weight:600;color:var(--gris)}

/* RESPUESTA CORTA */
.ch-ans-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:end}

/* SEÑALES */
.ch-sen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,4vw,4rem);align-items:start}
.ch-sen-foto{position:sticky;top:calc(var(--hdr) + 1.5rem);margin:0;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 30px 60px -36px rgba(1,47,74,.6)}
.ch-sen-foto img{width:100%;aspect-ratio:4/3;object-fit:cover}
.ch-sen-foto figcaption{padding:.9rem 1.1rem 1rem;font-size:.9rem;line-height:1.45;color:var(--gris)}
.ch-sen-l{display:grid;gap:.8rem;counter-reset:s}
.ch-sen-l li,.ch-tips li,.ch-ad-col{border-radius:20px;background:#fff;box-shadow:0 18px 36px -30px rgba(1,47,74,.55)}
.ch-sen-l li{counter-increment:s;position:relative;padding:1.15rem 1.3rem 1.2rem 4.2rem}
.ch-sen-l li::before{content:counter(s,decimal-leading-zero);position:absolute;left:1.2rem;top:1.05rem;font:400 1.9rem/1 var(--f-display);color:var(--magenta)}
.ch-sen-l h3,.lin-list h3,.ch-tl h3{font:600 1.04rem/1.3 var(--f-body);text-transform:none;letter-spacing:0}
.ch-sen-l h3{color:var(--estudio);margin-bottom:.3rem}
.ch-sen-l p{font-size:.97rem;line-height:1.55;color:var(--gris)}

/* LINTERNA */
.lin-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:end;margin-bottom:clamp(1.8rem,3.5vw,3rem)}
.lin-top .head{margin-bottom:0}
.lin-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(1.4rem,3vw,3rem);align-items:start}
.lin-scene{position:relative;aspect-ratio:1000/720;border-radius:24px;overflow:hidden;isolation:isolate;background:#D9CBB6;box-shadow:0 0 0 1px rgba(37,244,238,.22),0 40px 80px -40px rgba(0,0,0,.85);touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.lin-svg{position:absolute;inset:0;width:100%;height:100%}
.lin-dark,.lin-glow{display:none;position:absolute;pointer-events:none}
.lin--on .lin-scene{cursor:crosshair}
.lin--on .lin-dark{display:block;left:-100%;top:-100%;width:200%;height:200%;z-index:2;will-change:transform;background:radial-gradient(circle at 50% 50%,rgba(0,16,28,0) 0,rgba(0,16,28,0) calc(var(--lr,120px) * .36),rgba(0,16,28,.68) calc(var(--lr,120px) * .72),rgba(0,16,28,.965) var(--lr,120px))}
.lin--on .lin-glow{display:block;left:calc(var(--lr,120px) * -1);top:calc(var(--lr,120px) * -1);width:calc(var(--lr,120px) * 2);height:calc(var(--lr,120px) * 2);z-index:3;border-radius:50%;will-change:transform;background:radial-gradient(circle,rgba(255,238,200,.2),rgba(255,238,200,0) 58%);mix-blend-mode:screen}
.lin-pt{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);z-index:4;width:0;height:0;pointer-events:none}
.lin-pt>i{position:absolute;left:-14px;top:-14px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(0,27,46,.85);box-shadow:0 0 0 2px var(--cian);font:400 .8rem/1 var(--f-display);font-style:normal;color:#fff;transition:transform .5s var(--ease),opacity .4s,background-color .3s,color .3s}
.lin-tag{position:absolute;top:-16px;left:22px;width:max-content;max-width:200px;padding:.42rem .7rem .45rem;border-radius:12px;background:rgba(0,27,46,.94);box-shadow:inset 0 0 0 1.5px var(--cian),0 12px 24px -12px rgba(0,0,0,.7);font-size:.78rem;line-height:1.3;color:var(--bruma);opacity:0;transform:translateX(-8px);transition:opacity .35s,transform .45s var(--ease)}
.lin-tag b{display:block;font-size:.84rem;color:#fff}
.lin-pt[data-l] .lin-tag{left:auto;right:22px;transform:translateX(8px)}
.lin--on .lin-pt>i{opacity:0;transform:scale(.3)}
.lin--on .lin-pt.is-found>i{opacity:1;transform:none}
.lin--on .lin-pt.is-lit>i{background:var(--cian);color:var(--estudio);transform:scale(1.15)}
.lin-pt.is-lit .lin-tag{opacity:1;transform:none}
.lin-hud{position:absolute;left:12px;right:12px;top:12px;z-index:5;display:flex;justify-content:space-between;gap:.6rem;pointer-events:none}
.lin-hud>span{display:none;align-items:center;gap:.45rem;padding:.42rem .62rem;border-radius:9px;background:rgba(0,16,28,.78);font:700 .68rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:#fff}
.lin-hud .lin-rec{display:inline-flex}
.lin-rec i{width:8px;height:8px;border-radius:50%;background:var(--rec);animation:linRec 1.4s steps(2) infinite}
.lin-n{font-weight:700;color:var(--cian)}
.lin--on .lin-hud .lin-cnt{display:inline-flex}
.lin--done .lin-hud .lin-cnt{display:none}
.lin--done .lin-hud .lin-ok{display:inline-flex;background:var(--cian);color:var(--estudio)}
@keyframes linRec{50%{opacity:.25}}
.lin-hint{margin-top:.9rem;font-size:.9rem;color:var(--niebla)}
.lin-hint span{display:none}
.lin-hint .lin-h0{display:inline}
.lin--on .lin-hint .lin-h0{display:none}
.lin--on .lin-hint .lin-ht{display:inline}
@media (hover:hover) and (pointer:fine){.lin--on .lin-hint .lin-ht{display:none}.lin--on .lin-hint .lin-hf{display:inline}}
.lin-col{position:sticky;top:calc(var(--hdr) + 1.2rem)}
.lin-list{display:grid;gap:.42rem}
.lin-list li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:.15rem .85rem;align-items:start;padding:.56rem .85rem .6rem;border-radius:16px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09);transition:background-color .3s,box-shadow .3s}
.lin-list li>i{grid-row:span 2;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(37,244,238,.55);font:400 .95rem/1 var(--f-display);font-style:normal;color:var(--cian);transition:background-color .3s,color .3s}
.lin-list h3{color:#fff}
.lin-list p{font-size:.88rem;line-height:1.45;color:var(--niebla)}
.lin-list li.is-lit{background:rgba(37,244,238,.1);box-shadow:inset 0 0 0 1.5px var(--cian)}
.lin-list li.is-found>i{background:var(--cian);color:var(--estudio)}
.lin-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,250px);gap:clamp(2rem,5vw,5rem);align-items:center;margin-top:clamp(2.6rem,5vw,4.4rem);padding-top:clamp(2rem,4vw,3rem);border-top:1px solid rgba(255,255,255,.12)}
.lin-foot .pull{max-width:30ch}

/* REMEDIOS */
.ch-rem{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);margin-top:clamp(2rem,4vw,3rem)}
.ch-rem-h{font-size:clamp(1.7rem,2.4vw,2.2rem);margin-bottom:1.2rem;color:var(--estudio)}
.ch-no{display:grid;gap:.75rem}
.ch-no li{position:relative;padding:.95rem 1.1rem 1rem 3.2rem;border-radius:18px;background:var(--hielo);font-size:.98rem;line-height:1.5;color:var(--gris)}
.ch-no li b{color:var(--estudio)}
.ch-no li::before,.ch-no li::after{content:"";position:absolute;left:1.15rem;top:1.45rem;width:16px;height:3px;border-radius:2px;background:var(--magenta);transform:rotate(45deg)}
.ch-no li::after{transform:rotate(-45deg)}
.ch-rem .checks li{font-weight:400;color:var(--gris)}
.ch-rem-note{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem;margin-top:1.6rem;color:var(--estudio)}
.ch-rem-note p{font-size:1.02rem}

/* ANTES Y DESPUÉS */
.ch-ad{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,230px);gap:clamp(1.4rem,3vw,2.6rem);align-items:start}
.ch-ad-col{padding:1.5rem 1.5rem 1.7rem}
.ch-ad-col h3{font-size:clamp(1.6rem,2.2vw,2rem);margin-bottom:1.1rem;color:var(--estudio)}
.ch-ad-col h3 span{color:var(--magenta)}
.ch-ad-col .checks li{font-weight:400;font-size:.98rem;color:var(--gris)}

/* TIEMPOS */
.ch-tie-top{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,4vw,4rem);align-items:end}
.ch-tl{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin-top:clamp(2.6rem,5vw,4rem)}
.ch-tl::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:linear-gradient(90deg,var(--cian),rgba(37,244,238,.15))}
.ch-tl li{position:relative;padding-top:2.2rem}
.ch-tl li::before{content:"";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--pcd);box-shadow:0 0 0 3px var(--cian)}
.ch-tl li:last-child::before{background:var(--cian)}
.ch-tl b{display:block;font:400 1.5rem/1 var(--f-display);color:var(--cian);margin-bottom:.45rem}
.ch-tl h3{margin-bottom:.35rem}
.ch-tl p{font-size:.93rem;line-height:1.5;color:var(--bruma)}
.ch-tie-q{max-width:46ch;margin-top:clamp(2.4rem,4vw,3.4rem);padding-left:1rem;border-left:4px solid var(--cian);font:400 clamp(1.5rem,2.3vw,2.1rem)/1.1 var(--f-display);text-transform:uppercase}

/* PRECIO / HOTELES / VIDEO / CIERRE */
.ch-pre-foot{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,5rem);align-items:center;margin-top:clamp(3rem,6vw,4.6rem)}
.ch-tips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:clamp(2.2rem,4vw,3.2rem)}
.ch-tips li{display:flex;flex-direction:column;gap:.4rem;padding:1.2rem 1.25rem 1.3rem;border-left:4px solid var(--magenta)}
.ch-tips b{font-size:1rem;color:var(--estudio)}
.ch-tips span{font-size:.93rem;line-height:1.5;color:var(--gris)}
.ch-tt li span{color:var(--niebla)}
.ch-tt-n{font-size:.86rem;color:var(--niebla)}
.ch-rel-txt{max-width:80ch;margin-top:clamp(1.8rem,3vw,2.4rem)}
.ch-fin .lead{max-width:62ch}
.ch-story-dark{color:var(--estudio);background:var(--hielo);box-shadow:inset 0 0 0 1.5px rgba(1,47,74,.18)}
.ch-story-dark:hover{background:#DCEEF8}

/* RESPONSIVO */
@media (max-width:1023px){
  .ch-hero-media{max-width:400px;margin-top:1rem}
  .ch-ans-grid,.ch-sen,.lin-top,.lin-grid,.ch-rem,.ch-tie-top,.ch-pre-foot{grid-template-columns:1fr}
  .ch-sen-foto,.lin-col{position:static}
  .lin-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ch-ad{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ch-ad-vid{grid-column:1 / -1;display:grid;grid-template-columns:200px minmax(0,1fr);gap:1.4rem;align-items:center}
  .ch-tl{grid-template-columns:1fr;gap:1.4rem;padding-left:2.4rem}
  .ch-tl::before{left:9px;right:auto;top:0;bottom:0;width:2px;height:auto;background:linear-gradient(180deg,var(--cian),rgba(37,244,238,.15))}
  .ch-tl li{padding-top:0}
  .ch-tl li::before{left:-2.4rem}
}
@media (max-width:640px){
  .ch-viral{right:-.4rem;top:auto;bottom:22%}
  .ch-sen-l li{padding-left:3.6rem}
  .lin-scene{margin-inline:calc(var(--gut) * -1);border-radius:0}
  .lin-pt>i{left:-11px;top:-11px;width:22px;height:22px;font-size:.68rem}
  .lin-tag{top:-13px;left:16px;max-width:150px;padding:.32rem .52rem;font-size:.68rem}
  .lin-tag b{font-size:.74rem}
  .lin-pt[data-l] .lin-tag{right:16px}
  .lin-hud{left:8px;right:8px;top:8px}
  .lin-hud>span{padding:.34rem .5rem;font-size:.6rem}
  .lin-list,.ch-tips,.ch-ad{grid-template-columns:1fr}
  .lin-foot{grid-template-columns:1fr}
  .lin-short{max-width:230px}
  .ch-ad-vid{grid-template-columns:150px minmax(0,1fr);gap:1rem}
}
