/* Páginas públicas de descubrimiento (/guias-turisticas): paleta y maqueta
   del manual de marca Travel by Humans — azul noche, coral, crema, serifa
   Georgia — la misma familia visual que la portada (assets/css/pages/index.css).
   Tres plantillas: índice de países, país con sus ciudades y ficha de destino.
   Las tarjetas llevan la foto verificada del destino (seo-destination-images.ts)
   o un marcador de marca si no la hay. */
:root{--ink:var(--color-brand-night,#001B35);--coral:var(--color-brand-coral,#FF3B2F);--cream:var(--color-brand-cream,#FAF7F1);--sky:var(--color-brand-sky,#DCEAF3);--arena:var(--color-brand-sand,#E8D8C5);--muted:var(--color-mudo,#4E617A);--line:var(--color-linea,#DCE3E9)}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{color:inherit}
img{max-width:100%}

/* Cabecera */
.seo-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(20px,5vw,72px);height:76px;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 6px 24px rgba(0,27,53,.04)}
.seo-brand{display:flex;align-items:center}
.seo-brand img{width:auto;height:26px}
.seo-account{background:var(--coral);color:#fff;padding:13px 19px;text-decoration:none;border-radius:99px;font-size:13px;font-weight:700;white-space:nowrap}
.seo-account span{margin-left:10px}

/* Héroe nocturno */
.seo-hero,.guide-landing,.country-index,.city-grid{padding:clamp(45px,7vw,96px) clamp(20px,5vw,72px)}
.seo-hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.seo-hero>*{position:relative;z-index:2;max-width:1180px;margin-left:auto;margin-right:auto}
.seo-hero .topo{position:absolute;z-index:1;width:380px;height:300px;right:-90px;bottom:-120px;opacity:.16;border-radius:48% 52% 39% 61%;border:1px solid #9bc1da;box-shadow:0 0 0 22px transparent,0 0 0 23px #9bc1da,0 0 0 48px transparent,0 0 0 49px #9bc1da,0 0 0 76px transparent,0 0 0 77px #9bc1da;transform:rotate(18deg)}
.seo-hero .route{position:absolute;z-index:1;width:34%;border-top:2px dashed var(--coral);right:8%;top:34%;transform:rotate(-10deg);opacity:.8}
.seo-hero .route span{display:block;width:14px;height:14px;border-radius:50%;background:var(--coral);position:absolute;right:0;top:-8px}
nav{font-size:.82rem;color:var(--muted);margin:0 auto 44px}
.seo-hero nav{color:#b9cad7}
nav a{color:inherit}
.eyebrow{color:var(--coral);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:800;margin:0 0 22px}
h1{font:500 clamp(2.8rem,6.5vw,5.9rem)/.95 Georgia,"Times New Roman",serif;letter-spacing:-.045em;max-width:950px;margin:.2em auto}
h1 em{font-style:normal;color:var(--coral)}
.seo-hero>p:last-child,.lead{max-width:720px;font-size:1.15rem;line-height:1.6}
.seo-hero>p:last-child{color:#d7e2e9;margin-left:0}
.seo-hero>:not(h1){margin-left:0}
.seo-hero--country{padding-bottom:clamp(40px,5vw,64px)}

/* Índice de países agrupado por región */
.country-index{max-width:1324px;margin:auto;padding-top:34px}
.country-index>h2{font:500 clamp(2rem,3.6vw,3.2rem)/1 Georgia,serif;letter-spacing:-.03em;margin:0 0 14px}
.region-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid #aebac2;margin-top:52px;padding-bottom:14px}
.region-head h3{font:500 1.7rem Georgia,serif;margin:0}
.region-head span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--muted)}
.country-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}
.country-card{display:block;text-decoration:none;background:#fff;overflow:hidden;box-shadow:0 8px 28px rgba(0,27,53,.05);transition:transform .25s ease,box-shadow .25s ease}
.country-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(0,27,53,.12)}

/* Medio de tarjeta: foto o marcador de marca */
.card-media{height:210px;position:relative;overflow:hidden;background:var(--ink)}
.card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,27,53,.03) 45%,rgba(0,27,53,.6) 100%)}
.card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.country-card:hover .card-media img,.city-card:hover .card-media img{transform:scale(1.04)}
.card-media--vacia{display:grid;place-items:center;background:linear-gradient(160deg,#002d55,var(--ink))}
.card-media--vacia span{font:500 3.2rem Georgia,serif;color:rgba(220,234,243,.4);letter-spacing:.04em}
.country-num{position:absolute;left:15px;top:14px;z-index:2;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--coral);color:#fff;font-size:11px;font-weight:800}
.card-media b{position:absolute;right:14px;bottom:13px;z-index:2;width:36px;height:36px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:400}
.country-copy{padding:20px 20px 24px}
.country-copy p{margin:0 0 10px;color:var(--coral);font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:800}
.country-copy strong{display:block;font:500 1.7rem/1.1 Georgia,serif;letter-spacing:-.02em;margin-bottom:9px}
.country-copy span{display:block;color:var(--muted);font-size:12px;line-height:1.55}

/* Ciudades de un país */
.city-grid{max-width:1324px;margin:auto;padding-top:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.city-card{background:#fff;overflow:hidden;box-shadow:0 8px 28px rgba(0,27,53,.05);transition:transform .25s ease,box-shadow .25s ease;display:flex;flex-direction:column}
.city-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(0,27,53,.12)}
.city-card .card-media{height:230px}
.city-copy{padding:22px 22px 26px;display:flex;flex-direction:column;flex:1}
.city-copy>span{color:var(--coral);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.city-copy h2{font:500 1.8rem/1.05 Georgia,serif;letter-spacing:-.02em;margin:.45em 0 .4em}
.city-copy h2 a{text-decoration:none}
.city-copy p{margin:0 0 16px;color:var(--muted);font-size:.85rem;line-height:1.6}
.text-link{margin-top:auto;color:var(--ink);font-size:.8rem;font-weight:700;text-decoration:none;border-bottom:1px solid var(--coral);align-self:flex-start;padding-bottom:5px}

/* Ficha de destino */
.guide-landing{max-width:1180px;margin:auto}
.destino-media{margin:56px 0 0}
.destino-media img{width:100%;height:clamp(240px,38vw,440px);object-fit:cover;display:block}
.destino-media figcaption{text-align:right;font-size:.68rem;color:var(--muted);margin-top:8px}
.destino-media figcaption a{color:inherit;text-decoration:none;border-bottom:1px dotted var(--muted)}
.guide-layout{display:grid;grid-template-columns:1.5fr minmax(280px,.8fr);gap:clamp(35px,7vw,90px);margin-top:60px}
.guide-layout h2{font:500 1.9rem/1.15 Georgia,serif;letter-spacing:-.02em}
.features{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;list-style:none}
.features li{border-top:1px solid #c3cbd2;padding:14px 0}

/* Bloqueo de registro */
.gate{background:var(--ink);color:#fff;padding:35px;align-self:start;position:sticky;top:101px}
.gate span{color:var(--coral);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.gate h2{font:500 1.75rem/1.1 Georgia,serif;margin:.5em 0}
.gate p{color:#c4d4df}
.gate a{display:block;margin-top:14px;color:#fff}
.gate .primary{background:var(--coral);color:#fff;text-align:center;padding:13px 18px;text-decoration:none;border-radius:99px;font-weight:700}
.gate>a:not(.primary){font-size:.85rem}
.gate--real{background:var(--sky);color:var(--ink);position:static;margin-bottom:18px}
.gate--real span{color:#b3281f}
.gate--real p{color:#496074}
.gate--real a{color:var(--ink)}
.gate--real .primary{background:var(--ink);color:#fff}

/* Pie nocturno */
.seo-footer{background:var(--ink);color:#fff;padding:64px clamp(20px,5vw,72px) 28px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;align-items:start}
.seo-footer__marca img{width:auto;height:26px}
.seo-footer p{margin:0;color:#b8c9d6;line-height:1.5}
.seo-footer>div{display:grid;gap:12px;font-size:13px}
.seo-footer a{color:#fff;text-decoration:none}
.seo-footer>span{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:22px;color:#7890a2;font-size:11px}

@media(max-width:1180px){.country-grid{grid-template-columns:repeat(3,1fr)}.city-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.country-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){
  .seo-header{height:64px;padding:0 18px}
  .seo-brand img{height:20px}
  .seo-account{padding:11px 15px}
  .seo-account span{display:none}
  .country-grid,.city-grid{grid-template-columns:1fr}
  .guide-layout{grid-template-columns:1fr}
  .features{grid-template-columns:1fr}
  .gate{position:static}
  .seo-footer{grid-template-columns:1fr;padding:52px 20px 24px}
  nav{margin-bottom:30px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Incentivo del bloqueo de registro (assets/js/beneficios-guias.js, versión
   compacta). El componente es el mismo que en la portada y que en el visor de
   guía; aquí solo se le da la paleta del bloque nocturno de esta plantilla y
   se deshacen las reglas genéricas de `.gate span` y `.gate a`, que estaban
   escritas para los dos enlaces del aside y pintaban de coral cada línea de
   la lista. */
.gate .vg-incentivo{--vg-ink:#fff;--vg-papel:transparent;--vg-linea:rgba(255,255,255,.26);--vg-apagado:rgba(255,255,255,.74);--vg-acento:var(--coral);--vg-mono:inherit;--vg-serif:inherit;--vg-radio:10px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.26)}
.gate .vg-incentivo span{color:inherit;font-size:.86rem;text-transform:none;letter-spacing:0;font-weight:400}
.gate .vg-incentivo .vg-rotulo{display:block;color:var(--coral);font-size:.7rem;font-weight:bold;letter-spacing:.14em;margin-bottom:8px}
.gate .vg-incentivo .vg-incentivo__titulo{margin:0 0 12px;color:#fff;font:700 1.02rem/1.3 Arial,sans-serif}
.gate .vg-incentivo .vg-lista li{margin:0}
.gate .vg-incentivo .vg-incentivo__destacado{background:rgba(255,255,255,.09);border-left-color:var(--coral);color:#fff;font-size:.86rem}
.gate .vg-incentivo .vg-incentivo__mas{display:inline-flex;margin-top:14px;color:var(--coral);font-size:.72rem;letter-spacing:.1em}

/* ── Encargo a medida: cierra la ficha de destino ──────────────────────────
   Va en azul noche, como el bloque de registro, para que las dos llamadas de
   esta página se lean como una sola familia y no como dos anuncios sueltos.
   El campo y el botón comparten fila en escritorio y se apilan en móvil: un
   botón de 44px de alto junto a un campo estrecho es donde se falla al pulsar. */
.encargo{margin:56px 0 0;padding:44px 40px;background:var(--ink);color:#fff;border-radius:2px}
.encargo__copy h2{margin:0 0 10px;font:700 1.7rem/1.15 Georgia,serif;letter-spacing:-.02em}
.encargo__copy p{margin:0 0 26px;max-width:56ch;color:rgba(255,255,255,.8);font-size:.98rem}
.encargo__copy strong{color:var(--coral)}
.encargo__label{display:block;margin-bottom:9px;color:rgba(255,255,255,.62);font-size:.7rem;font-weight:bold;letter-spacing:.14em;text-transform:uppercase}
.encargo__fila{display:flex;gap:0;max-width:620px}
.encargo__input{flex:1;min-width:0;height:56px;padding:0 18px;border:1px solid rgba(255,255,255,.3);border-right:0;background:rgba(255,255,255,.06);color:#fff;font-size:1rem;font-family:inherit}
.encargo__input::placeholder{color:rgba(255,255,255,.45)}
.encargo__input:focus{outline:0;border-color:var(--coral);background:rgba(255,255,255,.1)}
.encargo__boton{flex:none;height:56px;padding:0 28px;border:0;background:var(--coral);color:#fff;font:bold .78rem/1 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.encargo__boton:hover{background:#fff;color:var(--ink)}
.encargo__boton:focus-visible{outline:2px solid #fff;outline-offset:-4px}
@media (max-width:640px){
  .encargo{padding:32px 22px}
  .encargo__copy h2{font-size:1.4rem}
  .encargo__fila{flex-direction:column;gap:12px}
  .encargo__input{border-right:1px solid rgba(255,255,255,.3)}
  .encargo__boton{width:100%}
}
