/* ===== Pasaporte Negro — overrides (carga después de styles.css) ===== */
h1 em, h2 em, h3 em, blockquote em {
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.01em;
}
.brand-lockup { height: 24px; display: block; }
.footer-sello { width: 54px; height: 54px; display: block; }
.site-header { background: rgba(10, 10, 11, 0.92); backdrop-filter: blur(8px); }
.dot-status.open { background: #E8E6E0; }
.dot-status.few { background: #8A8F97; }
.dot-status.closed { background: #3A3B3F; }
.toast[data-kind="error"] { background: #3A3B3F; }
.label-pill { background: rgba(10, 10, 11, 0.78); color: #E8E6E0; }

/* ===== Pasaporte Negro — piezas nuevas (home + expediciones) ===== */

/* Ticker "A continuación" */
.next-up { display:flex; align-items:center; gap:18px; padding:14px var(--gutter); background:var(--bone-2); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); color:var(--ink); text-decoration:none; font-family:var(--sans); }
.next-up .nu-k { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--stone); white-space:nowrap; }
.next-up .nu-t { font-size:14px; color:var(--ink-2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.next-up .nu-a { margin-left:auto; color:var(--laurel); transition:transform var(--t-fast); }
.next-up:hover .nu-a { transform:translateX(4px); }

/* Qué es un acceso */
.acceso { padding:96px 0; background:var(--bone); }
.acceso h2 { font-family:var(--serif); font-size:clamp(30px,3.4vw,44px); font-weight:400; margin:10px 0 26px; }
.acceso-lead { max-width:820px; }
.acceso-lead p { font-size:17px; line-height:1.75; color:var(--ink-2); margin:0 0 16px; }
.acceso-reglas { display:grid; grid-template-columns:repeat(3,1fr); gap:34px; margin:44px 0 56px; }
.acceso-reglas .ar-n { font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--stone); }
.acceso-reglas h3 { font-family:var(--serif); font-size:22px; font-weight:400; margin:8px 0 10px; }
.acceso-reglas p { font-size:15px; line-height:1.7; color:var(--stone); margin:0; }
.acceso-ejemplos { display:grid; grid-template-columns:1fr 1fr; gap:26px; align-items:stretch; }
.acceso-ejemplos .ae { position:relative; border:1px solid var(--line-soft); background:var(--bone-2); }
.acceso-ejemplos .ae-img { margin:0; }
.acceso-ejemplos .ae-img img { width:100%; height:320px; object-fit:cover; display:block; }
.acceso-ejemplos .ae-img .label-pill { position:absolute; top:14px; left:14px; }
.acceso-ejemplos figcaption { padding:14px 18px; font-size:14px; line-height:1.55; color:var(--ink-2); font-family:var(--sans); }
.acceso-ejemplos .ae-txt { padding:26px 24px; display:flex; flex-direction:column; justify-content:center; }
.acceso-ejemplos .ae-txt h3 { font-family:var(--serif); font-size:22px; font-weight:400; margin:0 0 10px; }
.acceso-ejemplos .ae-txt p { font-size:15px; line-height:1.7; color:var(--stone); margin:0; }

/* El método */
.metodo-head { margin-bottom:34px; }
.metodo-head h2 { font-family:var(--serif); font-size:clamp(28px,3vw,40px); font-weight:400; margin:8px 0 0; }

/* La casa */
.casa { padding:96px 0; background:var(--bone-2); border-top:1px solid var(--line-soft); }
.casa-grid { display:grid; grid-template-columns:minmax(220px,0.9fr) 2fr; gap:56px; align-items:start; }
.casa-head h2 { font-family:var(--serif); font-size:clamp(30px,3.4vw,44px); font-weight:400; margin:10px 0 0; }
.casa-lead { font-family:var(--serif); font-size:clamp(21px,2.2vw,27px); line-height:1.45; margin:0 0 18px; }
.casa-texto p { font-size:16px; line-height:1.78; color:var(--ink-2); margin:0 0 16px; max-width:640px; }
.casa-firma { font-family:var(--mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--stone); margin-top:24px; }

/* Expedición: accesos + panel de tarifa + base */
.acc-head { margin:56px 0 8px; }
.acc-title { font-family:var(--serif); font-size:clamp(24px,2.6vw,32px); font-weight:400; margin:8px 0 0; }
.price-panel { border:1px solid var(--line-soft); background:var(--bone-2); padding:32px 30px; align-self:start; position:sticky; top:calc(var(--header-h) + 24px); }
.price-panel .pp-fecha { font-family:var(--serif); font-size:24px; font-weight:400; margin:8px 0 6px; }
.price-panel .pp-precio { font-size:16px; color:var(--ink-2); margin:0 0 22px; }
.price-panel .pp-reglas-t { font-family:var(--sans); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--stone); margin:0 0 10px; }
.price-panel .pp-reglas { list-style:none; padding:0; margin:0 0 26px; }
.price-panel .pp-reglas li { font-size:14px; line-height:1.6; color:var(--ink-2); padding:7px 0; border-top:1px solid var(--line-soft); }
.price-panel .btn { width:100%; text-align:center; }
.lodge-card { border:1px solid var(--line-soft); }
.lodge-card img { width:100%; height:280px; object-fit:cover; display:block; }
.day.climax .day-num { color:var(--laurel); }

@media (max-width: 900px) {
  .acceso-reglas { grid-template-columns:1fr; gap:26px; }
  .acceso-ejemplos { grid-template-columns:1fr; }
  .casa-grid { grid-template-columns:1fr; gap:24px; }
  .price-panel { position:static; }
  .next-up .nu-t { white-space:normal; }
}

/* Fixes móviles (herencia v2) */
.brochures-cta { overflow: hidden; }
.field input, .field select, .field textarea { min-width: 0; width: 100%; }
@media (max-width: 700px) {
  .form-grid { grid-template-columns: 1fr; }
  .footer-brand-row { flex-wrap: wrap; }
}
@media (max-width: 700px) {
  .catalogos-grid { grid-template-columns: 1fr; }
  .cat-card, .cat-cover { max-width: 100%; }
}

/* ===== Corrección de roles de color — contraste (auditado con navegador real) =====
   --white cumplía dos papeles: superficie clara (correcto) y texto claro sobre
   fondo oscuro o sobre foto (roto: quedaba Carbón sobre Carbón, ratio 1.00).
   Acá se separa el segundo rol. */
:root { --sobre-oscuro: #E8E6E0; }

.spotlight-text,
.spotlight-text h1,
.spotlight-text h1 em,
.spotlight-controls button,
.img-card,
.img-card .img-card-body h3,
.stay-with .img-card-body .btn,
.quote-band,
.quote-band blockquote,
.why-banner,
.why-banner h2,
.why-banner h2 em,
.footer-brand h3,
.footer-col h5,
.newsletter input[type="text"],
.newsletter input[type="email"],
.socials svg,
.btn-outline-light { color: var(--sobre-oscuro); }

.btn-outline-light:hover { background: var(--sobre-oscuro); color: var(--black); }
.stay-with .img-card-body .btn:hover { background: var(--sobre-oscuro); color: var(--black); }

/* Hero de contacto: la superficie es Marfil, así que el texto va oscuro */
.contact-hero p { color: rgba(10,10,11,0.74); }
.contact-hero .breadcrumb.light,
.contact-hero .breadcrumb.light a { color: rgba(10,10,11,0.62); }
.contact-hero .breadcrumb.light a:hover,
.contact-hero .breadcrumb.light .current { color: var(--black); }

/* Desborde lateral en móvil: la banda de catálogos no colapsaba a una columna */
@media (max-width: 760px) {
  .brochures-cta-inner { grid-template-columns: 1fr; }
  .brochures-stack { flex-wrap: wrap; justify-content: center; }
  .brochures-stack img { width: calc(33.333% - 10px); }
}

/* ===== Modal de interés (expediciones no publicadas) ===== */
.pn-modal { position: fixed; inset: 0; z-index: 9000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.pn-modal[hidden] { display: none; }
.pn-modal-fondo { position: absolute; inset: 0; background: rgba(10,10,11,0.86); backdrop-filter: blur(6px); }
.pn-modal-caja {
  position: relative; z-index: 1; width: 100%; max-width: 460px;
  max-height: calc(100vh - 40px); overflow-y: auto;
  background: var(--bone-2); border: 1px solid var(--line);
  padding: 40px 36px 32px; border-radius: var(--r);
  box-shadow: 0 30px 80px rgba(0,0,0,0.6);
}
.pn-modal-x {
  position: absolute; top: 12px; right: 14px;
  background: none; border: 0; cursor: pointer; padding: 6px;
  font-size: 22px; line-height: 1; color: var(--stone); transition: color var(--t-fast);
}
.pn-modal-x:hover { color: var(--sobre-oscuro); }
.pn-modal-caja h2 { font-family: var(--serif); font-size: 34px; font-weight: 400; margin: 10px 0 14px; color: var(--sobre-oscuro); }
.pn-modal-txt { font-size: 15px; line-height: 1.7; color: var(--ink-2); margin: 0 0 26px; }
.pn-modal-form label { display: block; margin-bottom: 16px; }
.pn-modal-form label span {
  display: block; font-family: var(--sans); font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--stone); margin-bottom: 7px;
}
.pn-modal-form input {
  width: 100%; background: transparent; border: 1px solid var(--line);
  border-radius: var(--r); color: var(--sobre-oscuro);
  padding: 12px 14px; font: inherit; font-size: 15px;
}
.pn-modal-form input:focus { outline: 0; border-color: var(--laurel); }
.pn-modal-fila { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pn-modal-form .btn { width: 100%; text-align: center; margin-top: 6px; }
.pn-modal-nota { font-size: 12px; line-height: 1.6; color: var(--stone); margin: 14px 0 0; text-align: center; }
@media (max-width: 520px) {
  .pn-modal-caja { padding: 34px 22px 26px; }
  .pn-modal-fila { grid-template-columns: 1fr; gap: 0; }
}

/* ===== Contraste: hero de expedición y tapas de dossier ===== */
.journey-detail-hero,
.journey-detail-hero .breadcrumb.light .current,
.breadcrumb.light .current { color: var(--sobre-oscuro); }

/* Las tapas llevan foto: la superficie va oscura y el texto Marfil */
.cat-cover { background: var(--bone-2); color: var(--sobre-oscuro); }
.cat-cover.dark { background: var(--black); }
.cat-cover.cream { background: var(--carbon, #101012); color: var(--sobre-oscuro); }
.cat-cover::after {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(180deg, rgba(10,10,11,0.25) 0%, rgba(10,10,11,0.72) 100%);
}
.cat-cover h3, .cat-cover .cat-mark { color: var(--sobre-oscuro); }

/* Dossiers: contenido heredado que no es de la casa (cruceros, jets).
   Se oculta el acceso hasta que haya dossier propio. Para reponerlo:
   borrar esta regla y la redirección de /catalogos en netlify.toml. */
a[href="/catalogos"], a[href="/catalogos.html"] { display: none; }

/* ===== Wordmark del header: texto real en Marcellus =====
   El SVG del lockup no puede usar las fuentes de la página (se carga como
   <img>), y a 24px de alto el texto quedaba en 5px. Esto escala, es
   seleccionable y respeta la tipografía de marca. */
.pn-wordmark {
  display: inline-block;
  font-family: var(--serif);
  font-size: clamp(15px, 1.35vw, 19px);
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--sobre-oscuro);
  line-height: 1;
  white-space: nowrap;
  margin-right: -0.26em; /* compensa el tracking de la última letra */
}
.pn-wordmark i { font-style: normal; color: var(--stone); }
.brand { display: inline-flex; align-items: center; }
@media (max-width: 700px) {
  .pn-wordmark { font-size: 13px; letter-spacing: 0.2em; margin-right: -0.2em; }
}

/* ===== Retrato en La casa ===== */
.casa-retrato { margin: 28px 0 0; }
.casa-retrato img {
  width: 100%; max-width: 300px;
  aspect-ratio: 3/4; object-fit: cover;
  display: block; border: 1px solid var(--line-soft);
}
@media (max-width: 900px) { .casa-retrato img { max-width: 220px; } }

/* ===== Último nodo de contraste: H1 del hero de expedición ===== */
.journey-hero-inner h1 { color: var(--sobre-oscuro); }

/* Wordmark del header: pedía más presencia */
.pn-wordmark { font-size: clamp(19px, 2.1vw, 29px); letter-spacing: 0.28em; margin-right: 0; padding-left: 0.28em; }
@media (max-width: 700px) { .pn-wordmark { font-size: 16px; letter-spacing: 0.16em; margin-right: 0; padding-left: 0.16em; } }

/* Respuesta del banner "por qué viajar" */
.why-lead {
  font-size: 16px; line-height: 1.7; color: var(--sobre-oscuro);
  max-width: 640px; margin: 18px 0 0;
}

/* Tercer ejemplo de acceso: ocupa el ancho de la grilla */
.acceso-ejemplos .ae-ancho { grid-column: 1 / -1; }
