/* 26 · «¿Qué hay cerca? Gu le contesta» (opción C de opciones-cerca.html): el radar.
 * Mapa en grises con anillos de 5 y 10 min; un barrido de luz gira desde la casa y cada lugar aparece cuando el barrido pasa por él.
 * Al lado, la pregunta de Mariana y la respuesta de Gu con lugares y minutos a pie (sin links de Maps). Sin texto de color. */
.cc-h { margin: 0 auto; max-width: 18ch; text-align: center; font-size: clamp(34px, 4.4vw, 60px); font-weight: 800; letter-spacing: -.04em; line-height: 1.02; text-wrap: balance; }
.cc-sub { margin: 18px auto 56px; max-width: 58ch; text-align: center; color: var(--muted); font-size: 17.5px; text-wrap: balance; }
.cc { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 40px; }
.cc-lado { display: flex; flex-direction: column; gap: 22px; }

/* mapa */
.cc-mapa { position: relative; height: 600px; overflow: hidden; }
.cc-gl { position: absolute; inset: 0; background: var(--k0c0d10); }
.cc-gl .maplibregl-ctrl-attrib { font-size: 10px; }
.cc-gl .maplibregl-ctrl-bottom-right { z-index: 4; }
.cc-gl .maplibregl-canvas-container { cursor: grab; } .cc-gl .maplibregl-canvas-container:active { cursor: grabbing; }
.cc-gl .maplibregl-cooperative-gesture-screen { z-index: 5; font: 500 15px var(--sans); background: var(--k08090a-7); }
.cc-gl .maplibregl-marker { z-index: 3; }
.cc-filtro .cc-gl .maplibregl-canvas { filter: grayscale(1) brightness(.78) contrast(1.08); }   /* solo si no se pudo pasar el estilo a grises */
.cc-iso { position: absolute; left: 0; top: 0; border-radius: 50%; border: 1px dashed var(--kffffff-2); pointer-events: none; z-index: 2; will-change: transform; }
.cc-iso b { position: absolute; left: 50%; top: 0; transform: translate(-50%, -50%); font-size: 11px; font-weight: 600; color: var(--muted); background: var(--k0c0d10); padding: 0 6px; }
@keyframes ccGira { to { transform: rotate(360deg); } }
.cc-radar { position: absolute; left: 0; top: 0; z-index: 2; border-radius: 50%; pointer-events: none; will-change: transform; }
.cc-radar i { position: absolute; inset: 0; border-radius: 50%; opacity: 0; transition: opacity .5s; will-change: transform;
  background: conic-gradient(from 0deg, rgb(var(--t1) / 0) 0deg, rgb(var(--t1) / 0) 290deg, rgb(var(--t1) / .1) 330deg, rgb(var(--t1) / .32) 357deg, rgb(var(--t2) / .7) 359.5deg, rgb(var(--t1) / 0) 360deg); }
.cc-radar.gira i { opacity: 1; animation: ccGira 2.6s linear infinite; }
.cc-radar b { position: absolute; inset: 0; border-radius: 50%; border: 1px solid var(--kffffff-12); }

/* casa y lugares */
.cc-casa { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; border: 1.5px solid transparent; animation: giraBorde 4s linear infinite;
  background: linear-gradient(var(--cta-fill), var(--cta-fill)) padding-box, conic-gradient(from var(--ang), var(--b1), var(--b2) 22%, var(--b3) 40%, var(--b4) 55%, var(--b1) 75%, var(--b2) 90%, var(--b1)) border-box;
  box-shadow: 0 0 0 7px rgb(var(--t1) / .14); }
.cc-casa svg { width: 17px; height: 17px; fill: none; stroke: var(--cta-fg); stroke-width: 2.2; stroke-linejoin: round; }
@keyframes ccBrota { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: none; } }
.cc-lug { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--k121316); border: 1px solid var(--kffffff-28); color: var(--fg); animation: ccBrota .45s cubic-bezier(.3, 1.4, .5, 1) both; }
.cc-lug svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.cc-lug-et { position: absolute; left: 50%; top: 100%; margin-top: 6px; transform: translateX(-50%); white-space: nowrap; font-size: 11.5px; color: var(--fg); text-shadow: 0 1px 6px var(--k000000), 0 0 2px var(--k000000); animation: ccAparece .4s .15s both; }
.cc-lug-et small { color: var(--muted); margin-left: 4px; }
.cc-lug-et.der { left: auto; right: 0; transform: none; } .cc-lug-et.izq { left: 0; transform: none; }

/* preguntas sobre líneas, con la línea viva en la activa */
.cc-preg { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.cc-preg li { position: relative; border-bottom: 1px solid var(--line); }
.cc-preg li > .luz-l { top: -1px; }
.cc-preg li.on > .luz-l { opacity: 1; animation: barre 2.8s linear infinite; }
.cc-preg button { all: unset; box-sizing: border-box; width: 100%; cursor: pointer; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: center; padding: 13px 2px; font-size: 15px; font-weight: 600; color: var(--muted); transition: color .3s; }
.cc-preg button:hover { color: var(--kd0d3d8); }
.cc-preg button:focus-visible { outline: 2px solid var(--b1); outline-offset: 2px; border-radius: 4px; }
.cc-preg li.on button { color: var(--fg); }
.cc-preg svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* chat: alto reservado para que la página no salte */
@keyframes ccAparece { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes ccPunto { 0%, 80%, 100% { opacity: .25; } 40% { opacity: 1; } }
.cc-chat { display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; min-height: 340px; font-size: 14.5px; line-height: 1.45; }
.cc-chat small.quien { color: var(--dim); font-size: 12.5px; }
.cc-in { align-self: flex-start; max-width: 30ch; padding: 9px 13px; border-radius: 14px; border-top-left-radius: 4px; background: var(--k1b1c20); animation: ccAparece .35s both; }
.cc-gu { align-self: flex-end; width: min(100%, 340px); padding: 10px 13px 6px; border-radius: 14px; border-top-right-radius: 4px; border: 1px solid transparent; animation: giraBorde 8s linear infinite, ccAparece .4s both;
  background: linear-gradient(var(--fill), var(--fill)) padding-box, conic-gradient(from var(--ang), var(--b1), var(--b2) 22%, var(--b3) 40%, var(--b4) 55%, var(--b1) 75%, var(--b2) 90%, var(--b1)) border-box; }
.cc-gu ol { list-style: none; margin: 8px 0 0; padding: 0; }
.cc-gu li { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 4px 10px; align-items: start; padding: 8px 0; border-top: 1px solid var(--line); animation: ccAparece .35s both; animation-delay: calc(var(--i) * 160ms + 150ms); }
.cc-gu li svg { width: 16px; height: 16px; margin-top: 2px; fill: none; stroke: var(--muted); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.cc-gu li b { font-weight: 600; } .cc-gu li small { display: block; color: var(--muted); font-size: 12.5px; }
.cc-gu li em { font-style: normal; color: var(--fg); font-weight: 600; font-size: 13.5px; white-space: nowrap; }
.cc-escribe { align-self: flex-end; display: flex; gap: 4px; padding: 11px 14px; border-radius: 14px; border-top-right-radius: 4px; background: var(--k141518); animation: ccAparece .3s both; }
.cc-escribe i { width: 6px; height: 6px; border-radius: 50%; background: var(--muted); animation: ccPunto 1s infinite; }
.cc-escribe i:nth-child(2) { animation-delay: .15s; } .cc-escribe i:nth-child(3) { animation-delay: .3s; }

@media (max-width: 900px) {
  .cc { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .cc-mapa { height: 400px; }
  .cc-sub { margin-bottom: 36px; }
  .cc-chat { min-height: 320px; }
}
@media (prefers-reduced-motion: reduce) {
  .cc-radar.gira i, .cc-casa, .cc-gu { animation: none; }
  .cc-lug, .cc-lug-et, .cc-in, .cc-gu li, .cc-escribe { animation-duration: .01ms; }
}
