/* Código Historia · estilo de los carteles de Ismael: negro, oro brillante, sellos redondos, bandas doradas */
.ch { --ch-oro: #E0A040; --ch-oro-hi: #F8D890; --ch-oro-lo: #9A6A22; --ch-tinta: #1B0F05; }
.ch .wrap-ch { width: 100%; max-width: 980px; margin: 0 auto; padding: 0 22px; }
.ch-centro { text-align: center; }
.ch-brillo { filter: drop-shadow(0 0 22px rgba(224, 160, 64, .35)); }

/* Cabecera-cartel */
.ch-cabecera { position: relative; padding: clamp(96px, 14vh, 150px) 0 clamp(40px, 6vh, 70px); overflow: hidden; }
.ch-cabecera::before { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 40% at 50% 18%, rgba(224, 160, 64, .22), transparent 70%); pointer-events: none; }
.ch-emblema { position: relative; display: block; width: clamp(150px, 26vw, 230px); height: auto; margin: 0 auto; filter: drop-shadow(0 0 30px rgba(224, 160, 64, .5)); }
.ch-huella { display: block; width: 46px; height: 46px; margin: -6px auto 14px; stroke: var(--ch-oro); fill: none; stroke-width: 1.4; stroke-linecap: round; filter: drop-shadow(0 0 8px rgba(224, 160, 64, .6)); }
.ch-titulo { position: relative; margin: 0; font-family: var(--cinzel); font-weight: 700; text-transform: uppercase; line-height: .92; letter-spacing: .02em; font-size: clamp(52px, 12.5vw, 132px); }
.ch-titulo span { display: block; background: linear-gradient(178deg, #FFF4D6 0%, #F8D890 22%, #E0A040 52%, #B47A2A 80%, #8E6224 100%); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 3px 2px rgba(0, 0, 0, .7)) drop-shadow(0 0 26px rgba(224, 160, 64, .35)); }
.ch-titulo sup { font-size: .22em; vertical-align: top; color: var(--ch-oro-hi); -webkit-text-fill-color: var(--ch-oro-hi); }
.ch-viaje { margin: 10px 0 0; font-family: var(--cinzel); font-weight: 500; font-size: clamp(16px, 3.6vw, 30px); letter-spacing: .5em; text-transform: uppercase; color: #FBF0D2; text-shadow: 0 0 18px rgba(224, 160, 64, .6); }
.ch-filete { display: block; width: min(560px, 86%); height: 2px; margin: 22px auto; background: linear-gradient(90deg, transparent, var(--ch-oro-hi) 50%, transparent); box-shadow: 0 0 14px rgba(248, 216, 144, .8); }
.ch-pill { display: inline-block; margin: 0; padding: 10px 28px; border-radius: 999px; background: linear-gradient(180deg, #F8D890 0%, #E0A040 55%, #B47A2A 100%); color: var(--ch-tinta); font-family: var(--cinzel); font-weight: 700; font-size: clamp(14px, 3vw, 22px); letter-spacing: .12em; text-transform: uppercase; box-shadow: 0 0 26px rgba(224, 160, 64, .45), inset 0 1px 0 rgba(255, 255, 255, .5); }
.ch-pill b { font-size: 1.25em; }
.ch-ejes { margin: 18px 0 0; font-family: var(--cinzel); font-weight: 500; font-size: clamp(11px, 2.4vw, 15px); letter-spacing: .28em; text-transform: uppercase; color: #F3E8D3; }
.ch-arbol { position: relative; margin: clamp(10px, 2vh, 24px) auto 0; width: min(560px, 92%); }
.ch-arbol img { display: block; width: 100%; height: auto; -webkit-mask-image: linear-gradient(to bottom, #000 78%, transparent 100%); mask-image: linear-gradient(to bottom, #000 78%, transparent 100%); filter: drop-shadow(0 0 40px rgba(224, 160, 64, .35)); }
.ch-pregunta { margin: -4vh auto 0; max-width: 24ch; position: relative; font-family: var(--serif); font-style: italic; font-weight: 600; font-size: clamp(1.6rem, 5.2vw, 2.7rem); line-height: 1.15; color: #FFFFFF; text-shadow: 0 2px 20px rgba(0, 0, 0, .9); }
.ch-respuesta { margin: 18px auto 0; max-width: 30ch; font-family: var(--serif); font-size: clamp(1.15rem, 3.2vw, 1.6rem); line-height: 1.3; color: #F3E8D3; }
.ch-respuesta b { display: block; font-style: italic; font-weight: 600; color: var(--ch-oro-hi); }

/* Sellos con icono */
.ch-sellos { list-style: none; margin: clamp(32px, 5vh, 56px) auto 0; padding: 0; display: grid; gap: 18px 10px; }
.ch-cinco { grid-template-columns: repeat(5, minmax(0, 1fr)); max-width: 900px; }
.ch-sello { box-sizing: border-box; width: 66px; height: 66px; margin: 0 auto 10px; border-radius: 50%; border: 1.5px solid var(--ch-oro); display: flex; align-items: center; justify-content: center; line-height: 0; background: radial-gradient(circle at 50% 40%, rgba(224, 160, 64, .18), rgba(18, 10, 6, .2) 70%); box-shadow: 0 0 20px rgba(224, 160, 64, .45), inset 0 0 12px rgba(224, 160, 64, .18); }
.ch-sello svg { display: block; flex: 0 0 auto; width: 32px; height: 32px; stroke: var(--ch-oro-hi); fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 4px rgba(248, 216, 144, .7)); }
.ch-sellos li { text-align: center; font-family: var(--serif); font-size: clamp(.98rem, 2.4vw, 1.12rem); line-height: 1.25; color: #F3E8D3; }
.ch-sellos li > span:not(.ch-sello) { display: block; max-width: 14ch; margin: 0 auto; }

/* Bandas doradas tipo pincelada */
.ch-banda { position: relative; margin: clamp(36px, 6vh, 64px) auto 0; padding: clamp(20px, 3vw, 30px) clamp(22px, 5vw, 56px); max-width: 860px; background: linear-gradient(100deg, #B47A2A 0%, #F2C55A 18%, #FFE9A8 42%, #F2C55A 62%, #D6A044 84%, #A9762C 100%); color: var(--ch-tinta); clip-path: polygon(1.5% 8%, 6% 0, 30% 4%, 52% 0, 75% 5%, 96% 1%, 100% 14%, 98.5% 55%, 100% 90%, 94% 100%, 70% 96%, 48% 100%, 26% 95%, 4% 100%, 0 86%, 1% 45%); box-shadow: 0 0 40px rgba(224, 160, 64, .35); transform: rotate(-.6deg); }
.ch-banda p { margin: 0; font-family: var(--serif); font-style: italic; font-weight: 700; font-size: clamp(1.2rem, 3.4vw, 1.85rem); line-height: 1.22; text-align: center; transform: rotate(.6deg); }
.ch-banda.ch-banda-final { margin-top: clamp(28px, 5vh, 48px); }

/* Botones */
.ch-cta { margin-top: clamp(32px, 5vh, 52px); display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.ch .dd-btn-oro { font-size: .9rem; padding: 18px 34px; }
.ch .dd-btn-linea { font-size: .78rem; }
.ch-cta-nota { margin: 16px auto 0; max-width: 40ch; color: var(--muted); font-size: 1rem; }

/* Viaje: imagen de fondo con el texto de Ismael */
.ch-viaje-sec { position: relative; margin-top: clamp(20px, 4vh, 48px); padding: clamp(64px, 11vh, 130px) 0; isolation: isolate; overflow: hidden; }
.ch-viaje-sec img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; z-index: -2; }
.ch-viaje-sec::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, var(--rock) 0%, rgba(18, 10, 6, .3) 14%, rgba(18, 10, 6, .55) 55%, var(--rock) 100%); }
.ch-viaje-sec h2 { font-size: clamp(1.7rem, 4.6vw, 2.9rem); line-height: 1.1; text-shadow: 0 3px 24px rgba(0, 0, 0, .9); }
.ch-letania { list-style: none; margin: clamp(26px, 4vh, 40px) auto 0; padding: 0; max-width: 36ch; display: grid; gap: 16px; }
.ch-letania li { font-family: var(--serif); font-style: italic; font-size: clamp(1.25rem, 3.3vw, 1.75rem); line-height: 1.28; color: #FFFFFF; text-shadow: 0 2px 18px rgba(0, 0, 0, .95); }
.ch-letania b { font-weight: 600; color: var(--ch-oro-hi); }
.ch-viaje-sec .ch-giro { margin: clamp(26px, 4vh, 40px) auto 0; max-width: 46ch; font-size: clamp(1.05rem, 2.5vw, 1.3rem); color: #F3E8D3; text-shadow: 0 2px 18px rgba(0, 0, 0, .95); }

/* Qué es / qué trabajaremos */
.ch-dos { padding: clamp(36px, 6vh, 64px) 0 0; }
.ch-dos-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(36px, 6vw, 80px); align-items: start; }
.ch-h2 { margin: 0; font-family: var(--serif); font-style: italic; font-weight: 700; text-transform: none; letter-spacing: 0; font-size: clamp(1.9rem, 5vw, 2.8rem); line-height: 1.05; color: var(--ch-oro-hi); text-shadow: 0 0 22px rgba(224, 160, 64, .45); }
.ch-h2 i { font-style: normal; display: inline-block; padding: 2px 18px; background: linear-gradient(100deg, #D6A044, #FFE9A8 50%, #D6A044); color: var(--ch-tinta); clip-path: polygon(2% 10%, 98% 0, 100% 88%, 1% 100%); }
.ch-def { margin: 20px 0 0; font-size: clamp(1.05rem, 2.4vw, 1.2rem); line-height: 1.5; color: #F3E8D3; }
.ch-capas { list-style: none; margin: clamp(24px, 4vh, 36px) 0 0; padding: 0; display: grid; gap: 18px; }
.ch-capas li { display: grid; gap: 6px; }
.ch-etiqueta { display: inline-block; justify-self: start; padding: 5px 14px; background: linear-gradient(100deg, #D6A044, #FFE9A8 55%, #D6A044); color: var(--ch-tinta); font-family: var(--cinzel); font-weight: 700; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; clip-path: polygon(2% 12%, 98% 0, 100% 86%, 1% 100%); }
.ch-capas p { margin: 0; color: #DCCDB0; font-size: 1.02rem; line-height: 1.45; }
.ch-lista { list-style: none; margin: clamp(24px, 4vh, 36px) 0 0; padding: 0; display: grid; gap: 18px; }
.ch-lista li { display: grid; grid-template-columns: 66px minmax(0, 1fr); column-gap: 16px; align-items: start; }
.ch-lista li > div { padding-top: 10px; }
.ch-lista .ch-sello { margin: 0; }
.ch-h2-corta { font-size: clamp(1.6rem, 4.2vw, 2.3rem); }
.ch-h2-corta i { white-space: nowrap; }
.ch-lista li > div > b { display: block; font-family: var(--cinzel); font-weight: 700; font-size: .92rem; letter-spacing: .1em; text-transform: uppercase; color: #FFFFFF; }
.ch-lista li > div > span { display: block; margin-top: 4px; color: #DCCDB0; font-size: 1rem; line-height: 1.4; }

/* Cómo es una sesión */
.ch-como { padding: clamp(56px, 9vh, 100px) 0 0; }
.ch-pasos { list-style: none; margin: clamp(28px, 5vh, 48px) auto 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px 8px; max-width: 960px; }
.ch-pasos li { position: relative; text-align: center; padding: 0 6px; }
.ch-pasos li + li::before { content: "→"; position: absolute; left: -12px; top: 22px; color: var(--ch-oro); font-size: 1.4rem; text-shadow: 0 0 10px rgba(224, 160, 64, .8); }
.ch-pasos svg { width: 54px; height: 54px; stroke: var(--ch-oro-hi); fill: none; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 8px rgba(224, 160, 64, .7)); }
.ch-pasos b { display: block; margin-top: 10px; font-family: var(--cinzel); font-weight: 700; font-size: .95rem; letter-spacing: .1em; text-transform: uppercase; color: #FFFFFF; }
.ch-pasos p { margin: 6px auto 0; max-width: 22ch; color: #DCCDB0; font-size: 1rem; line-height: 1.4; }

/* Datos: 75 min · 120 € · bono */
.ch-datos { list-style: none; margin: clamp(40px, 7vh, 72px) auto 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; max-width: 960px; }
.ch-datos li { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 14px; align-items: center; padding: 16px 18px; border-radius: 999px; border: 1.5px solid var(--ch-oro); background: rgba(27, 15, 8, .7); box-shadow: 0 0 22px rgba(224, 160, 64, .3), inset 0 0 18px rgba(224, 160, 64, .08); }
.ch-datos svg { width: 44px; height: 44px; stroke: var(--ch-oro-hi); fill: none; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.ch-datos b { display: block; font-family: var(--cinzel); font-weight: 700; font-size: clamp(1.3rem, 3vw, 1.7rem); line-height: 1; color: #FFFFFF; }
.ch-datos small { display: block; margin-top: 4px; font-family: var(--cinzel); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ch-oro-hi); }
.ch-datos li.ch-bono { background: linear-gradient(180deg, #F8D890, #E0A040 60%, #B47A2A); border-color: transparent; }
.ch-datos li.ch-bono b, .ch-datos li.ch-bono small { color: var(--ch-tinta); }
.ch-datos li.ch-bono svg { stroke: var(--ch-tinta); }
.ch-datos-nota { margin: 14px auto 0; max-width: 60ch; color: var(--muted); font-size: .98rem; }

/* Reserva */
.ch-reserva { padding: clamp(56px, 9vh, 100px) 0 clamp(40px, 6vh, 60px); }
.ch-reserva .ch-lista { max-width: 760px; margin-inline: auto; }
.ch-firma { display: block; width: min(300px, 64%); height: auto; margin: clamp(28px, 5vh, 48px) auto 0; filter: drop-shadow(0 0 16px rgba(224, 160, 64, .5)); }
.ch-pie-sello { margin: clamp(40px, 7vh, 72px) 0 0; }

@media (max-width: 860px) {
  .ch-lista b { font-size: .84rem; }
  .ch-cinco { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ch-cinco li:nth-child(4) { grid-column: 1 / 3; } .ch-cinco li:nth-child(5) { grid-column: 3 / 4; }
  .ch-cinco li:nth-child(4) > span:not(.ch-sello), .ch-cinco li:nth-child(5) > span:not(.ch-sello) { max-width: 16ch; }
  .ch-dos-grid { grid-template-columns: 1fr; }
  .ch-pasos { grid-template-columns: 1fr; gap: 26px; max-width: 420px; }
  .ch-pasos li + li::before { content: "↓"; position: static; display: block; margin-bottom: 10px; }
  .ch-datos { grid-template-columns: 1fr; max-width: 420px; }
  .ch-banda { transform: rotate(-1deg); }
}
@media (max-width: 420px) {
  .ch-cinco { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ch-cinco li:nth-child(4) { grid-column: auto; } .ch-cinco li:nth-child(5) { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) { .ch-banda, .ch-banda p { transform: none; } }

/* Para quién sí / no */
.ch-quien-si { padding: clamp(56px, 9vh, 100px) 0 0; }
.ch-sino { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: clamp(26px, 4vh, 40px) auto 0; max-width: 900px; text-align: left; }
.ch-si, .ch-no { padding: 22px 24px 26px; border-radius: 14px; border: 1px solid var(--ch-oro); background: rgba(27, 15, 8, .6); box-shadow: 0 0 22px rgba(224, 160, 64, .18); }
.ch-no { border-color: rgba(214, 174, 90, .35); box-shadow: none; }
.ch-sino-t { margin: 0 0 12px; font-family: var(--cinzel); font-weight: 700; font-size: 1rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ch-oro-hi); }
.ch-no .ch-sino-t { color: var(--muted); }
.ch-sino ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ch-sino li { position: relative; padding-left: 26px; color: #DCCDB0; font-size: 1.02rem; line-height: 1.45; }
.ch-sino li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--ch-oro-hi); font-weight: 700; }
.ch-no li::before { content: "✕"; color: var(--muted-2); }

/* Quién te acompaña */
.ch-quien { padding: clamp(56px, 9vh, 100px) 0 0; }
.ch-quien-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.ch-retrato { margin: 0; position: relative; }
.ch-retrato img { display: block; width: 100%; height: auto; border-radius: 14px; filter: grayscale(1) contrast(1.15) brightness(.9); -webkit-mask-image: linear-gradient(to bottom, #000 80%, transparent 100%); mask-image: linear-gradient(to bottom, #000 80%, transparent 100%); }
.ch-retrato::after { content: ""; position: absolute; inset: 0; border-radius: 14px; border: 1px solid var(--ch-oro); box-shadow: 0 0 30px rgba(224, 160, 64, .3); pointer-events: none; }
.ch-quien .ch-def b { color: var(--ch-oro-hi); font-weight: 600; }
.ch-cifras { list-style: none; margin: clamp(20px, 3vh, 30px) 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ch-cifras li { padding: 14px 10px; border: 1px solid rgba(214, 174, 90, .35); border-radius: 12px; text-align: center; background: rgba(27, 15, 8, .5); }
.ch-cifras b { display: block; font-family: var(--cinzel); font-weight: 700; font-size: clamp(1.5rem, 3.4vw, 2.1rem); line-height: 1; color: var(--ch-oro-hi); text-shadow: 0 0 14px rgba(224, 160, 64, .5); }
.ch-cifras span { display: block; margin-top: 6px; font-size: .9rem; line-height: 1.25; color: var(--muted); }

/* Preguntas antes de reservar */
.ch-faq { max-width: 760px; margin: clamp(36px, 6vh, 60px) auto 0; text-align: left; }
.ch-faq-t { margin: 0 0 8px; font-family: var(--cinzel); font-weight: 700; font-size: .9rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ch-oro); text-align: center; }
.ch-faq details { border-bottom: 1px solid rgba(214, 174, 90, .25); }
.ch-faq summary { cursor: pointer; list-style: none; padding: 16px 34px 16px 0; position: relative; font-family: var(--serif); font-weight: 600; font-size: 1.15rem; color: #F3E8D3; }
.ch-faq summary::-webkit-details-marker { display: none; }
.ch-faq summary::after { content: "+"; position: absolute; right: 2px; top: 12px; font-family: var(--cinzel); font-size: 1.4rem; color: var(--ch-oro-hi); transition: transform .3s; }
.ch-faq details[open] summary::after { transform: rotate(45deg); }
.ch-faq p { margin: 0 0 16px; color: #DCCDB0; font-size: 1.02rem; line-height: 1.5; }

@media (max-width: 860px) {
  .ch-sino, .ch-quien-grid { grid-template-columns: 1fr; }
  .ch-retrato { max-width: 320px; margin: 0 auto; }
  .ch-cifras { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .ch-cifras span { font-size: .8rem; }
  .ch-h2-corta { font-size: clamp(1.5rem, 6.4vw, 2.1rem); }
}
