/*
Theme Name: DelRío Adventure
Description: Tema a medida para DelRío Adventure (Inírida, Guainía): experiencias, agenda con reservas, galerías, recuerdos en video, cuentas de viajero, tienda interna, mensajes privados, chat en vivo y avisos.
Author: SV Soporte
Author URI: https://svsoporte.com
Version: 2.2.0
Requires PHP: 8.0
Text Domain: delrio
*/

/* ==========================================================================
   1. Base
   ========================================================================== */
:root {
	/* Paleta 2.0 · guía de campo DelRío (brochures + San Rita) */
	--tinta: #141a12;
	--menta: #e2ffcc;
	--kaki: #c2a77d;
	--kaki-osc: #7a6644;
	--salvia: #84907f;
	--topo: #e4e6dd;
	--noche: #141a12;
	--selva: #1b2418;
	--selva-2: #3e563b;
	--selva-3: #2d3329;
	--musgo: #84907f;
	--hoja: #e2ffcc;
	--rio: #3e563b;
	--rio-2: #84907f;
	--agua: #e2ffcc;
	--arena: #e4e6dd;
	--arena-2: #eef0e8;
	--arena-3: #cfd3c4;
	--tierra: #2d3329;
	--atardecer: #7a6644;
	--sol: #e2ffcc;
	--guacamaya: #b5462e;
	--texto: #2d3329;
	--texto-2: #5b6457;
	--claro: #e9ecdf;
	--claro-2: rgba(233, 236, 223, .74);
	--linea: rgba(45, 51, 41, .22);
	--linea-c: rgba(226, 255, 204, .22);
	--r: 0px;
	--r-sm: 0px;
	--sombra: none;
	--sombra-s: none;
	--f-display: "Anton", "Bebas Neue", Impact, "Arial Narrow", sans-serif;
	--f-text: "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;
	--f-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	--ease: cubic-bezier(.22, .8, .24, 1);
	--wrap: 1320px;
	/* Fondo exclusivo DelRío: corrientes de río + cardúmenes del pez del logo (3 variantes por tono) */
	--rio-claro-a: url("assets/img/rio-claro-a.svg");
	--rio-claro-b: url("assets/img/rio-claro-b.svg");
	--rio-claro-c: url("assets/img/rio-claro-c.svg");
	--rio-oscuro-a: url("assets/img/rio-oscuro-a.svg");
	--rio-oscuro-b: url("assets/img/rio-oscuro-b.svg");
	--rio-oscuro-c: url("assets/img/rio-oscuro-c.svg");
	--topo-claro: var(--rio-claro-a);
	--topo-oscuro: var(--rio-oscuro-a);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; overflow-x: clip; }
body { margin: 0; font-family: var(--f-text); font-size: 17px; line-height: 1.65; color: var(--texto); background: var(--arena); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--rio); text-decoration: none; transition: color .2s; }
a:hover { color: var(--atardecer); }
h1, h2, h3, h4 { font-family: var(--f-display); font-weight: 600; line-height: 1.12; margin: 0 0 .5em; letter-spacing: -.01em; }
p { margin: 0 0 1em; }
button { font: inherit; }
input, select, textarea { font: inherit; color: inherit; }
::selection { background: var(--sol); color: var(--noche); }
:focus-visible { outline: 3px solid var(--sol); outline-offset: 3px; border-radius: 6px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link:focus { clip: auto; width: auto; height: auto; left: 12px; top: 12px; z-index: 999; background: var(--sol); color: var(--noche); padding: 10px 16px; border-radius: 8px; }
.hp { position: absolute !important; left: -9999px !important; opacity: 0; }
.wrap { width: min(var(--wrap), 100% - 40px); margin-inline: auto; }
.center { text-align: center; }
[hidden] { display: none !important; }
.dashicons { vertical-align: middle; }

.eyebrow { display: inline-flex; align-items: center; gap: 8px; font-family: var(--f-text); font-size: .78rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--atardecer); margin-bottom: 14px; }
.h2 { font-size: clamp(2rem, 1.2rem + 3vw, 3.4rem); }
.h3 { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); }
.lead { font-size: clamp(1.05rem, 1rem + .3vw, 1.22rem); color: var(--texto-2); }

/* Botones */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 26px; border-radius: 999px; border: 1.5px solid transparent; font-weight: 600; font-size: .98rem; line-height: 1.1; cursor: pointer; transition: transform .25s var(--ease), box-shadow .25s, background .25s, color .25s, border-color .25s; text-align: center; }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn-sol { background: linear-gradient(135deg, #f6c766, #e8913a); color: #23170b; box-shadow: 0 10px 26px -10px rgba(224, 122, 47, .75); }
.btn-sol:hover { color: #23170b; box-shadow: 0 16px 30px -10px rgba(224, 122, 47, .85); }
.btn-ghost { background: rgba(244, 239, 227, .08); color: var(--claro); border-color: rgba(244, 239, 227, .4); backdrop-filter: blur(6px); }
.btn-ghost:hover { background: rgba(244, 239, 227, .18); color: #fff; border-color: var(--claro); }
.btn-ghost-dark { background: transparent; color: var(--selva-2); border-color: rgba(26, 58, 44, .35); }
.btn-ghost-dark:hover { background: var(--selva-2); color: var(--claro); border-color: var(--selva-2); }
.btn-sm { padding: 10px 18px; font-size: .9rem; }
.btn-lg { padding: 17px 32px; font-size: 1.05rem; }
.btn-block { width: 100%; }
.btn[disabled] { opacity: .6; pointer-events: none; }
.link { background: none; border: 0; padding: 0; color: var(--rio); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.link-danger { color: var(--guacamaya); }
.link-arrow { font-weight: 600; display: inline-flex; gap: 6px; align-items: center; }
.link-arrow span { transition: transform .25s var(--ease); }
.link-arrow:hover span { transform: translateX(4px); }

/* Píldoras, etiquetas y chips */
.pill { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; background: var(--arena-3); color: var(--texto); vertical-align: middle; white-space: nowrap; }
.pill-ok { background: #d8ecc9; color: #2b4f1d; }
.pill-few { background: #fde3c2; color: #7a3d0b; }
.pill-full, .pill-off { background: #f2d3cc; color: #7a2414; }
.pill-done { background: #dfe6e3; color: #45524c; }
.pill-pend { background: #fbecc1; color: #6b4b06; }
.tag { display: inline-block; font-size: .72rem; font-weight: 600; padding: 3px 9px; border-radius: 6px; background: rgba(29, 107, 103, .12); color: var(--rio); }
.tag-evento { background: rgba(196, 67, 43, .12); color: var(--guacamaya); }
.chips { list-style: none; padding: 0; margin: 0 0 16px; display: flex; flex-wrap: wrap; gap: 8px; }
.chips li { display: inline-flex; align-items: center; gap: 5px; font-size: .82rem; padding: 5px 11px; border-radius: 999px; background: rgba(244, 239, 227, .1); color: var(--claro-2); border: 1px solid var(--linea-c); }
.chips .dashicons { font-size: 15px; width: 15px; height: 15px; }
.chips-dark li { background: var(--arena-2); color: var(--texto-2); border-color: var(--linea); }
.check { list-style: none; padding: 0; margin: 0 0 20px; display: grid; gap: 8px; }
.check li { position: relative; padding-left: 30px; }
.check li::before { content: ""; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--hoja) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' stroke='%2312261e' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat; }
.check-light li { color: var(--claro); }

/* Alertas */
.alerta { padding: 14px 18px; border-radius: var(--r-sm); background: var(--arena-2); border: 1px solid var(--linea); margin-bottom: 18px; }
.alerta-ok { background: #e6f2dc; border-color: #b8d89e; color: #23431a; }
.alerta-err { background: #f9e1db; border-color: #ebb2a4; color: #6d1f10; }

/* ==========================================================================
   2. Cabecera
   ========================================================================== */
.site-header { position: fixed; inset: 0 0 auto; z-index: 90; transition: background .35s, box-shadow .35s, padding .35s, transform .35s var(--ease); padding: 16px 0; color: var(--claro); }
.admin-bar .site-header { top: 32px; }
.site-header.is-scrolled, .site-header.is-solid { background: rgba(11, 23, 19, .86); backdrop-filter: blur(14px) saturate(1.3); box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .6); padding: 10px 0; }
.site-header.is-hidden { transform: translateY(-110%); }
.header-in { display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--claro); }
.brand:hover { color: var(--claro); }
.brand-logo { height: 50px; width: auto; flex: none; color: var(--claro); transition: transform .5s var(--ease), height .35s; }
.brand-logo-img { max-width: 180px; object-fit: contain; }
.brand:hover .brand-logo { transform: translateY(-2px) rotate(-2deg); }
.site-header.is-scrolled .brand-logo, .site-header.is-solid .brand-logo { height: 42px; }
.footer-brand .brand-logo { height: 64px; }
.brand-txt { display: flex; flex-direction: column; line-height: 1; }
.brand-name { font-family: var(--f-display); font-size: 1.45rem; font-weight: 600; letter-spacing: -.01em; }
.brand-name b { color: var(--sol); font-weight: 800; }
.brand-tag { font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; opacity: .7; margin-top: 4px; }
.nav { margin-left: auto; }
.nav .menu { list-style: none; display: flex; gap: 4px; margin: 0; padding: 0; }
.nav .menu a { display: block; padding: 8px 14px; border-radius: 999px; color: var(--claro); font-weight: 500; font-size: .96rem; position: relative; }
.nav .menu a::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 3px; height: 2px; border-radius: 2px; background: var(--sol); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
.nav .menu a:hover::after, .nav .menu .current-menu-item > a::after, .nav .menu .current_page_item > a::after { transform: scaleX(1); }
.nav-mobile-extra { display: none; }
.header-act { display: flex; align-items: center; gap: 10px; }
.header-login { color: var(--claro); font-weight: 500; padding: 8px 12px; }
.header-login:hover { color: var(--sol); }
.av { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, var(--rio-2), var(--selva-3)); color: #fff; font-weight: 700; font-size: .85rem; border: 2px solid rgba(244, 239, 227, .35); }
.av-lg { width: 72px; height: 72px; font-size: 1.4rem; }
.burger { display: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--linea-c); background: rgba(244, 239, 227, .06); cursor: pointer; padding: 0; position: relative; }
.burger span { position: absolute; left: 13px; right: 13px; height: 2px; background: var(--claro); border-radius: 2px; transition: transform .3s var(--ease), opacity .3s; }
.burger span:nth-child(1) { top: 15px; } .burger span:nth-child(2) { top: 21px; } .burger span:nth-child(3) { top: 27px; }
body.nav-open .burger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
body.nav-open .burger span:nth-child(2) { opacity: 0; }
body.nav-open .burger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Campana de avisos */
.bell { position: relative; }
.bell-btn { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--linea-c); background: rgba(244, 239, 227, .06); color: var(--claro); cursor: pointer; display: grid; place-items: center; position: relative; }
.bell-btn:hover { background: rgba(244, 239, 227, .16); }
.bell-btn.is-ring .dashicons { animation: ring 1s var(--ease) 2; }
.bell-n { position: absolute; top: -3px; right: -3px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; background: var(--guacamaya); color: #fff; font-size: 11px; font-weight: 700; display: grid; place-items: center; border: 2px solid var(--noche); }
.bell-panel { position: absolute; right: 0; top: calc(100% + 12px); width: min(380px, 92vw); background: var(--arena-2); color: var(--texto); border-radius: var(--r); box-shadow: var(--sombra); overflow: hidden; animation: pop .25s var(--ease); }
.bell-head { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--linea); }
.bell-head .link { font-size: .82rem; }
.bell-list { max-height: 380px; overflow-y: auto; }
.bell-item { display: flex; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--linea); color: var(--texto); }
.bell-item:hover { background: var(--arena); color: var(--texto); }
.bell-item.is-nuevo { background: #fff6e2; }
.bell-item .dashicons { flex: none; width: 34px; height: 34px; border-radius: 10px; background: var(--selva-2); color: var(--sol); display: grid; place-items: center; font-size: 18px; }
.bell-item strong { display: block; font-size: .92rem; line-height: 1.3; }
.bell-item p { margin: 2px 0 0; font-size: .82rem; color: var(--texto-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bell-item small { color: var(--texto-2); font-size: .75rem; }
.bell-vacio { padding: 24px 16px; text-align: center; color: var(--texto-2); margin: 0; }
.bell-foot { display: block; text-align: center; padding: 12px; font-weight: 600; background: var(--arena); }

/* ==========================================================================
   3. Hero de portada
   ========================================================================== */
.hero { position: relative; min-height: 100svh; display: flex; align-items: center; color: var(--claro); overflow: hidden; background: var(--noche); isolation: isolate; }
.hero-bg { position: absolute; inset: -6% 0 0; z-index: -3; will-change: transform; }
.hero-bg img { width: 100%; height: 112%; object-fit: cover; animation: kenburns 28s ease-in-out infinite alternate; }
.hero-veil { position: absolute; inset: 0; z-index: -2; background: linear-gradient(180deg, rgba(11, 23, 19, .55) 0%, rgba(11, 23, 19, .15) 35%, rgba(11, 23, 19, .55) 70%, rgba(11, 23, 19, .95) 100%), radial-gradient(ellipse at 20% 60%, rgba(11, 23, 19, .55), transparent 60%); }
.hero-luz { position: absolute; z-index: -1; width: 60vmax; height: 60vmax; right: -15vmax; top: -25vmax; border-radius: 50%; background: radial-gradient(circle, rgba(242, 184, 75, .35), rgba(224, 122, 47, .08) 45%, transparent 70%); animation: respirar 9s ease-in-out infinite; pointer-events: none; }
.hero-in { padding: 140px 0 160px; max-width: 900px; margin-left: max(20px, calc((100% - var(--wrap)) / 2)); }
.hero .eyebrow { color: var(--sol); }
.hero-t { font-size: clamp(2.6rem, 1.4rem + 5.2vw, 5.6rem); font-weight: 600; margin-bottom: 22px; text-shadow: 0 10px 40px rgba(0, 0, 0, .35); }
.hero-p { font-size: clamp(1.05rem, 1rem + .45vw, 1.3rem); max-width: 620px; color: var(--claro-2); }
.hero-cta { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 30px; }
.dot-live { width: 9px; height: 9px; border-radius: 50%; background: var(--hoja); box-shadow: 0 0 0 0 rgba(141, 179, 96, .7); animation: latido 2s infinite; }
.btn-play { display: inline-flex; align-items: center; gap: 12px; background: none; border: 0; color: var(--claro); font-weight: 600; cursor: pointer; padding: 6px; }
.btn-play-ico { width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; background: rgba(244, 239, 227, .14); border: 1.5px solid rgba(244, 239, 227, .5); position: relative; transition: transform .3s var(--ease), background .3s; }
.btn-play-ico::before { content: ""; position: absolute; inset: -8px; border-radius: 50%; border: 1.5px solid rgba(244, 239, 227, .35); animation: onda 2.4s infinite; }
.btn-play-ico svg { width: 20px; height: 20px; fill: var(--claro); margin-left: 3px; }
.btn-play:hover .btn-play-ico { transform: scale(1.08); background: var(--sol); }
.btn-play:hover .btn-play-ico svg { fill: var(--noche); }
.hero-scroll { position: absolute; left: 50%; bottom: 120px; width: 28px; height: 46px; margin-left: -14px; border: 2px solid rgba(244, 239, 227, .55); border-radius: 20px; z-index: 2; }
.hero-scroll span { position: absolute; left: 50%; top: 8px; width: 4px; height: 9px; margin-left: -2px; border-radius: 2px; background: var(--claro); animation: rueda 1.8s infinite; }
.hero-wave, .phero-wave, .footer-wave { position: absolute; left: 0; right: 0; bottom: -1px; line-height: 0; pointer-events: none; overflow: hidden; }
.hero-wave svg { width: 200%; height: 110px; animation: deriva 22s linear infinite; }
.hero-wave .w1 { fill: rgba(243, 234, 216, .35); }
.hero-wave .w2 { fill: var(--arena); }

/* Encabezado de páginas */
.phero { position: relative; color: var(--claro); background: var(--noche); overflow: hidden; isolation: isolate; display: flex; align-items: flex-end; }
.phero-sm { min-height: 380px; } .phero-md { min-height: 500px; } .phero-lg { min-height: 640px; }
.phero-bg { position: absolute; inset: -10% 0 -10%; background-size: cover; background-position: center; z-index: -2; will-change: transform; animation: kenburns 30s ease-in-out infinite alternate; }
.phero-veil { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11, 23, 19, .6), rgba(11, 23, 19, .2) 40%, rgba(11, 23, 19, .85)); }
.phero-in { padding: 150px 0 110px; max-width: 860px; margin-left: max(20px, calc((100% - var(--wrap)) / 2)); }
.phero .eyebrow { color: var(--sol); }
.phero-t { font-size: clamp(2.3rem, 1.4rem + 4vw, 4.4rem); }
.phero-p { font-size: 1.15rem; color: var(--claro-2); max-width: 640px; }
.phero-wave svg { width: 100%; height: 60px; }
.phero-wave path { fill: var(--arena); }

/* Franja de palabras */
.marquee { background: var(--arena); overflow: hidden; padding: 22px 0 6px; border-bottom: 1px solid var(--linea); }
.marquee-in { display: flex; gap: 34px; width: max-content; animation: marquee 40s linear infinite; font-family: var(--f-display); font-size: clamp(1.3rem, 1rem + 1.4vw, 2.1rem); font-style: italic; color: var(--selva-3); white-space: nowrap; align-items: center; }
.marquee-in i { color: var(--atardecer); font-style: normal; font-size: .7em; }
.marquee:hover .marquee-in { animation-play-state: paused; }

/* ==========================================================================
   4. Secciones
   ========================================================================== */
.sec { position: relative; padding: clamp(70px, 9vw, 130px) 0; }
.sec-pad-top { padding-top: 150px; }
.sec-arena { background: var(--arena); }
.sec-selva { background: radial-gradient(ellipse at 80% 0%, rgba(42, 138, 130, .22), transparent 55%), linear-gradient(180deg, var(--selva), var(--noche)); color: var(--claro); overflow: hidden; }
.sec-rio { background: linear-gradient(160deg, #164f4b, #0f3532 70%); color: var(--claro); overflow: hidden; }
.sec-noche { background: var(--noche); color: var(--claro); }
.sec-selva .lead, .sec-rio .lead, .sec-noche .lead { color: var(--claro-2); }
.sec-selva .eyebrow, .sec-rio .eyebrow, .sec-noche .eyebrow { color: var(--sol); }
.sec-head { max-width: 760px; margin: 0 auto 50px; text-align: center; }
.sec-head-row { max-width: none; display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; text-align: left; }
.sec-head-row .h2 { margin-bottom: 0; }

/* Dividido texto + imágenes */
.split { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(30px, 6vw, 90px); align-items: center; }
.split-media { position: relative; min-height: 560px; }
.split-media figure { margin: 0; position: absolute; border-radius: var(--r); overflow: hidden; box-shadow: var(--sombra); }
.split-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.split-media figure:hover img { transform: scale(1.06); }
.stack-a { inset: 0 18% 18% 0; }
.stack-b { width: 52%; height: 50%; right: 0; bottom: 0; border: 6px solid var(--arena); }
.sello { position: absolute; left: -26px; bottom: 6%; width: 124px; height: 124px; border-radius: 50%; background: var(--selva); color: var(--sol); display: grid; place-items: center; box-shadow: var(--sombra-s); z-index: 2; }
.sello svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: girar 22s linear infinite; }
.sello text { font-size: 9.5px; letter-spacing: 1px; fill: var(--claro); font-weight: 600; font-family: var(--f-text); }
.sello b { font-size: 34px; color: var(--hoja); }
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--linea); }
.stat strong { display: block; font-family: var(--f-display); font-size: clamp(2rem, 1.4rem + 2vw, 3rem); color: var(--rio); line-height: 1; }
.stat span { font-size: .88rem; color: var(--texto-2); }

/* Experiencias (tarjetas) */
.xgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin-bottom: 40px; }
.xcard { background: rgba(244, 239, 227, .05); border: 1px solid var(--linea-c); border-radius: var(--r); overflow: hidden; display: flex; flex-direction: column; transition: transform .5s var(--ease), border-color .3s, background .3s; transform-style: preserve-3d; }
.xcard:hover { border-color: rgba(242, 184, 75, .5); background: rgba(244, 239, 227, .08); }
.xcard-img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; display: block; }
.xcard-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.xcard:hover .xcard-img img { transform: scale(1.08); }
.xcard-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(11, 23, 19, .6)); }
.xcard-ico { position: absolute; left: 18px; bottom: -22px; z-index: 2; width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: var(--sol); color: var(--noche); box-shadow: var(--sombra-s); transition: transform .5s var(--ease); }
.xcard:hover .xcard-ico { transform: translateY(-6px) rotate(-6deg); }
.xcard-rio .xcard-ico { background: var(--agua); } .xcard-selva .xcard-ico { background: var(--hoja); } .xcard-arena .xcard-ico { background: var(--arena-3); }
.xcard-body { padding: 34px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.xcard-body h3 { font-size: 1.35rem; }
.xcard-body h3 a { color: var(--claro); }
.xcard-body h3 a:hover { color: var(--sol); }
.xcard-body p { color: var(--claro-2); font-size: .95rem; flex: 1; }
.xcard .link-arrow { color: var(--sol); }
.sec-arena .xcard { background: var(--arena-2); border-color: var(--linea); }
.sec-arena .xcard-body h3 a { color: var(--texto); }
.sec-arena .xcard-body p { color: var(--texto-2); }
.sec-arena .xcard .chips li { background: var(--arena); color: var(--texto-2); border-color: var(--linea); }
.sec-arena .xcard .link-arrow { color: var(--rio); }

/* Lista de experiencias (alternada) */
.xlista { display: grid; gap: clamp(60px, 8vw, 120px); }
.xfila { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(28px, 5vw, 70px); align-items: center; }
.xfila.is-rev .xfila-img { order: 2; }
.xfila-img { border-radius: var(--r); overflow: hidden; aspect-ratio: 5 / 4; box-shadow: var(--sombra); display: block; }
.xfila-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.xfila-img:hover img { transform: scale(1.05); }
.xfila-n { font-family: var(--f-display); font-size: 4rem; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px var(--atardecer); display: block; margin-bottom: 8px; }
.xfila-txt h2 a { color: var(--texto); }
.xfila-txt h2 a:hover { color: var(--rio); }
.xfila-txt p { color: var(--texto-2); }

/* Línea de tiempo del día */
.timeline { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; position: relative; counter-reset: tl; }
.timeline::before { content: ""; position: absolute; left: 6%; right: 6%; top: 74px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--sol), var(--atardecer), var(--rio-2)); transform: scaleX(var(--tl, 0)); transform-origin: left; transition: transform 1.6s var(--ease); }
.timeline li { position: relative; text-align: center; padding: 0 6px; }
.tl-h { display: block; font-family: var(--f-display); font-size: 1.6rem; color: var(--selva-3); margin-bottom: 8px; }
.tl-ico { width: 52px !important; height: 52px !important; font-size: 24px !important; border-radius: 50%; background: var(--arena-2); border: 3px solid var(--sol); display: grid !important; place-items: center; margin: 0 auto 16px; color: var(--atardecer); position: relative; z-index: 1; box-shadow: 0 0 0 8px var(--arena); }
.timeline strong { display: block; font-size: 1.05rem; margin-bottom: 4px; }
.timeline p { font-size: .9rem; color: var(--texto-2); }

/* Salidas */
.sgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.sgrid-2 { grid-template-columns: repeat(2, 1fr); }
.scard { position: relative; background: var(--arena-2); color: var(--texto); border-radius: var(--r); overflow: hidden; display: flex; flex-direction: column; box-shadow: var(--sombra-s); transition: transform .4s var(--ease), box-shadow .4s; }
.scard:hover { transform: translateY(-6px); box-shadow: var(--sombra); }
.scard-img { aspect-ratio: 16 / 9; overflow: hidden; }
.scard-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.scard:hover .scard-img img { transform: scale(1.06); }
.scard-fecha { position: absolute; top: 14px; left: 14px; z-index: 2; background: var(--arena-2); border-radius: 14px; padding: 8px 12px; text-align: center; line-height: 1; box-shadow: var(--sombra-s); }
.scard-dia { display: block; font-family: var(--f-display); font-size: 1.7rem; font-weight: 700; color: var(--selva-2); }
.scard-mes { font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; color: var(--atardecer); font-weight: 700; }
.scard-body { padding: 20px 22px 22px; display: flex; flex-direction: column; flex: 1; }
.scard-body h3 { font-size: 1.25rem; margin: 8px 0; }
.scard-tipo { margin: 0; display: flex; gap: 6px; flex-wrap: wrap; }
.scard-meta { font-size: .9rem; color: var(--texto-2); margin-bottom: 6px; }
.scard-meta .dashicons { font-size: 16px; width: 16px; height: 16px; margin-right: 4px; }
.scard-cupos { font-size: .9rem; color: var(--texto-2); }
.scard-cupos b { color: var(--rio); font-size: 1.1rem; }
.scard .btn { margin-top: auto; align-self: flex-start; }
.scard.is-full, .scard.is-off { opacity: .78; }
.nota-cuenta { margin-top: 30px; padding: 14px 18px; border-radius: var(--r-sm); background: rgba(244, 239, 227, .08); border: 1px dashed rgba(244, 239, 227, .3); display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.nota-cuenta a { color: var(--sol); font-weight: 600; }
.sec-arena .nota-cuenta { background: var(--arena-2); border-color: var(--arena-3); }
.sec-arena .nota-cuenta a { color: var(--rio); }

/* Mosaico de álbumes */
.mosaico { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 240px; gap: 16px; }
.mosaico .acard:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.mosaico-full { grid-template-columns: repeat(3, 1fr); grid-auto-rows: 300px; }
.mosaico-full .acard:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.acard { position: relative; border-radius: var(--r); overflow: hidden; display: block; color: var(--claro); isolation: isolate; }
.acard img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); z-index: -2; }
.acard-veil { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(11, 23, 19, .85)); z-index: -1; transition: opacity .4s; }
.acard:hover img { transform: scale(1.08); }
.acard:hover { color: var(--claro); }
.acard-txt { position: absolute; left: 22px; right: 22px; bottom: 20px; display: flex; flex-direction: column; gap: 2px; transform: translateY(8px); transition: transform .5s var(--ease); }
.acard:hover .acard-txt { transform: none; }
.acard-txt small { font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--sol); }
.acard-txt small .dashicons { font-size: 14px; width: 14px; height: 14px; }
.acard-txt strong { font-family: var(--f-display); font-size: 1.5rem; font-weight: 600; line-height: 1.15; }
.acard-txt em { font-style: normal; font-size: .85rem; opacity: 0; transition: opacity .4s; }
.acard:hover .acard-txt em { opacity: .85; }

/* Masonry del álbum */
.album-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; color: var(--texto-2); margin-bottom: 30px; }
.masonry { columns: 3 300px; column-gap: 16px; }
.masonry-item { display: block; margin-bottom: 16px; break-inside: avoid; border-radius: var(--r-sm); overflow: hidden; position: relative; cursor: zoom-in; }
.masonry-item img { width: 100%; transition: transform 1s var(--ease), filter .4s; }
.masonry-item:hover img { transform: scale(1.04); filter: saturate(1.15); }
.masonry-zoom { position: absolute; right: 12px; top: 12px; width: 38px !important; height: 38px !important; border-radius: 50%; background: rgba(11, 23, 19, .6); color: var(--claro); display: grid !important; place-items: center; opacity: 0; transform: scale(.8); transition: .3s var(--ease); }
.masonry-item:hover .masonry-zoom { opacity: 1; transform: none; }

/* Videos */
.vgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.vgrid-full { grid-template-columns: repeat(3, 1fr); }
.vgrid-full .vcard:first-child { grid-column: span 2; grid-row: span 2; }
.vcard { display: flex; flex-direction: column; }
.vcard-play { position: relative; display: block; width: 100%; aspect-ratio: 16 / 10; border: 0; padding: 0; border-radius: var(--r); overflow: hidden; cursor: pointer; background: #000; }
.vgrid-full .vcard:first-child .vcard-play { aspect-ratio: auto; flex: 1; min-height: 340px; }
.vgrid-full .vcard:first-child { display: flex; }
.vcard-play img { width: 100%; height: 100%; object-fit: cover; opacity: .85; transition: transform 1s var(--ease), opacity .4s; }
.vcard-play:hover img { transform: scale(1.06); opacity: 1; }
.vcard-play img.is-yt { transform: scale(1.34); }
.vcard-play:hover img.is-yt { transform: scale(1.42); }
.vcard-btn { position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; background: rgba(244, 239, 227, .92); display: grid; place-items: center; box-shadow: 0 0 0 0 rgba(244, 239, 227, .5); transition: transform .35s var(--ease), background .3s; animation: latido-c 2.6s infinite; }
.vcard-btn svg { width: 24px; height: 24px; fill: var(--selva); margin-left: 4px; }
.vcard-play:hover .vcard-btn { transform: scale(1.12); background: var(--sol); }
.vcard-lugar { position: absolute; left: 12px; bottom: 12px; font-size: .78rem; padding: 4px 10px; border-radius: 999px; background: rgba(11, 23, 19, .65); color: var(--claro); backdrop-filter: blur(4px); }
.vcard-lugar .dashicons { font-size: 14px; width: 14px; height: 14px; }
.vcard-body { padding: 14px 4px 0; }
.vcard-body h3 { font-size: 1.12rem; margin-bottom: 4px; }
.vcard-body p { font-size: .9rem; color: var(--claro-2); }

/* Lodge (portada) */
.lodge-teaser { color: var(--claro); text-align: center; min-height: 640px; display: flex; align-items: center; overflow: hidden; background: var(--noche); isolation: isolate; }
.lodge-bg { position: absolute; inset: -12% 0; background-size: cover; background-position: center; z-index: -2; will-change: transform; }
.lodge-teaser::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at center, rgba(11, 23, 19, .45), rgba(11, 23, 19, .9) 80%); }
.lodge-in { max-width: 760px; }
.lodge-in .eyebrow { color: var(--sol); }
.lodge-in .lead { color: var(--claro-2); }
.lodge-in .hero-cta { justify-content: center; }

/* Luciérnagas */
.fireflies { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.fireflies i { position: absolute; width: 4px; height: 4px; border-radius: 50%; background: #e9f59a; box-shadow: 0 0 10px 3px rgba(233, 245, 154, .7); opacity: 0; animation: luciernaga 9s ease-in-out infinite; }
.fireflies i:nth-child(odd) { animation-duration: 12s; }
.fireflies i:nth-child(3n) { animation-duration: 15s; width: 3px; height: 3px; }
.sec-selva > .wrap, .lodge-teaser > .wrap { position: relative; z-index: 1; }

/* Beneficios */
.beneficios { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 40px; }
.bene { background: var(--arena-2); border: 1px solid var(--linea); border-radius: var(--r); padding: 28px 22px; transition: transform .4s var(--ease), box-shadow .4s; }
.bene:hover { transform: translateY(-6px); box-shadow: var(--sombra-s); }
.bene > .dashicons { width: 54px; height: 54px; font-size: 26px; border-radius: 16px; background: var(--selva-2); color: var(--sol); display: grid; place-items: center; margin-bottom: 16px; }
.bene strong { display: block; font-family: var(--f-display); font-size: 1.25rem; margin-bottom: 6px; }
.bene p { color: var(--texto-2); font-size: .94rem; margin: 0; }

/* ==========================================================================
   5. Detalle de experiencia, lodge, prosa
   ========================================================================== */
.prosa { font-size: 1.08rem; }
.prosa h2 { font-size: 1.8rem; margin-top: 1.4em; }
.prosa ul { padding-left: 1.2em; }
.prosa li { margin-bottom: .35em; }
.prosa-wrap { max-width: 860px; }
.center-prosa { max-width: 760px; margin: 0 auto 60px; text-align: center; }
.exp-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(30px, 5vw, 70px); align-items: start; }
.exp-grid .prosa > p:first-child { font-size: 1.3rem; font-family: var(--f-display); color: var(--selva-2); line-height: 1.45; }
.exp-side { position: sticky; top: 110px; }
.ficha { background: var(--arena-2); border: 1px solid var(--linea); border-radius: var(--r); padding: 26px; box-shadow: var(--sombra-s); }
.ficha h3 { font-size: 1.15rem; margin-top: 20px; }
.ficha-r { display: flex; gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--linea); }
.ficha-r > .dashicons { width: 42px; height: 42px; border-radius: 12px; background: var(--arena); color: var(--rio); display: grid; place-items: center; flex: none; }
.ficha-r small { display: block; color: var(--texto-2); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.ficha .btn { margin-top: 10px; }
.amenidades { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 26px; }
.amen { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: var(--r-sm); background: var(--arena-2); border: 1px solid var(--linea); font-size: .94rem; }
.amen .dashicons { color: var(--atardecer); }
.tira { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 14px; cursor: grab; scrollbar-width: thin; scrollbar-color: var(--sol) transparent; }
.tira.is-drag { cursor: grabbing; scroll-snap-type: none; }
.tira-item { flex: 0 0 min(420px, 80vw); aspect-ratio: 4 / 3; border-radius: var(--r); overflow: hidden; scroll-snap-align: start; }
.tira-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); pointer-events: none; }
.tira-item:hover img { transform: scale(1.05); }
.tienda-teaser { display: grid; grid-template-columns: 1.3fr 1fr; gap: 50px; align-items: center; }
.tt-cats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.tt-cats span { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 26px 14px; border-radius: var(--r); background: var(--selva); color: var(--claro); font-weight: 600; text-align: center; transition: transform .4s var(--ease); }
.tt-cats span:hover { transform: translateY(-6px) rotate(-1deg); }
.tt-cats b { font-size: 32px; width: 32px; height: 32px; color: var(--sol); }

/* ==========================================================================
   6. Agenda y calendario
   ========================================================================== */
.agenda-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 34px; align-items: start; }
.cal { background: var(--arena-2); border-radius: var(--r); padding: 22px; box-shadow: var(--sombra-s); border: 1px solid var(--linea); }
.cal-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.cal-head h3 { margin: 0; font-size: 1.6rem; }
.cal-nav { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--arena); color: var(--selva-2); transition: background .25s, transform .25s; }
.cal-nav:hover { background: var(--sol); color: var(--noche); transform: scale(1.06); }
.cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.cal-dn { text-align: center; font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--texto-2); padding: 6px 0; }
.cal-d { min-height: 92px; border-radius: 10px; background: var(--arena); padding: 6px 4px 4px; display: flex; flex-direction: column; gap: 3px; overflow: hidden; }
.cal-d.is-vacio { background: transparent; }
.cal-d.is-pasado { opacity: .45; }
.cal-d.is-hoy { outline: 2px solid var(--atardecer); outline-offset: -2px; }
.cal-d.is-hoy .cal-n { background: var(--atardecer); color: #fff; }
.cal-n { font-size: .8rem; font-weight: 600; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; color: var(--texto-2); }
.cal-ev { border: 0; text-align: left; font-size: .7rem; font-weight: 600; line-height: 1.25; padding: 3px 6px; border-radius: 5px; background: var(--rio); color: #fff; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 0 -4px; border-radius: 0; transition: filter .2s; }
.cal-ev.is-ini { margin-left: 0; border-radius: 5px 0 0 5px; }
.cal-ev:hover { filter: brightness(1.15); }
.cal-ev-evento { background: var(--guacamaya); }
.cal-ev.is-full, .cal-ev.is-off { background: #9aa39e; }
.cal-ev.is-few { box-shadow: inset 3px 0 0 var(--sol); }
.cal-ley { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 14px; font-size: .84rem; color: var(--texto-2); }
.ley { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.ley-viaje { background: var(--rio); } .ley-evento { background: var(--guacamaya); } .ley-full { background: #9aa39e; }
.agenda-lista { display: grid; gap: 10px; }
.alist { display: flex; align-items: center; gap: 14px; width: 100%; text-align: left; padding: 12px 14px; border-radius: var(--r-sm); border: 1px solid var(--linea); background: var(--arena-2); cursor: pointer; transition: transform .3s var(--ease), box-shadow .3s, border-color .3s; color: var(--texto); }
.alist:hover { transform: translateX(4px); box-shadow: var(--sombra-s); border-color: var(--sol); }
.alist-f { flex: none; width: 56px; text-align: center; line-height: 1.1; font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--atardecer); font-weight: 700; }
.alist-f b { display: block; font-family: var(--f-display); font-size: 1.6rem; color: var(--selva-2); letter-spacing: 0; }
.alist-t { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.alist-t strong { font-size: .98rem; line-height: 1.3; }
.alist-t small { color: var(--texto-2); font-size: .8rem; }

/* Detalle de salida (ventana) */
.sdet { display: grid; grid-template-columns: 1fr 1.1fr; min-height: 420px; }
.sdet-img { position: relative; background: var(--selva); }
.sdet-img img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.sdet-img .pill { position: absolute; left: 16px; top: 16px; }
.sdet-body { padding: 34px 30px 28px; }
.sdet-body h2 { font-size: 1.8rem; }
.sdet-tipo { display: flex; gap: 8px; align-items: center; color: var(--texto-2); font-size: .9rem; margin-bottom: 6px; }
.sdet-txt { color: var(--texto-2); }
.sdet-datos { list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 8px; }
.sdet-datos li { display: flex; gap: 10px; align-items: center; font-size: .95rem; }
.sdet-datos .dashicons { color: var(--atardecer); }
.sdet-form { display: grid; gap: 12px; padding-top: 16px; border-top: 1px solid var(--linea); }
.sdet-total { margin: 0; font-weight: 600; color: var(--rio); }
.sdet-login { padding: 18px; border-radius: var(--r-sm); background: var(--arena); display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.sdet-login p { width: 100%; margin: 0 0 4px; }
.sdet-ok { text-align: center; padding: 50px 30px; }
.sdet-ok .dashicons { font-size: 64px; width: 64px; height: 64px; color: var(--hoja); animation: pop .6s var(--ease); }

/* Stepper */
.stepper { display: inline-flex; align-items: center; border: 1px solid var(--linea); border-radius: 999px; background: #fff; overflow: hidden; margin-top: 6px; }
.stepper button { width: 40px; height: 40px; border: 0; background: none; font-size: 1.2rem; cursor: pointer; color: var(--selva-2); }
.stepper button:hover { background: var(--arena); }
.stepper input { width: 52px; height: 40px; border: 0; text-align: center; font-weight: 700; -moz-appearance: textfield; appearance: textfield; }
.stepper input::-webkit-inner-spin-button { -webkit-appearance: none; }
.stepper-sm { margin: 0; }
.stepper-sm button { width: 34px; height: 34px; }
.stepper-sm b { min-width: 24px; text-align: center; }

/* ==========================================================================
   7. Guía (pestañas, consejos, maleta)
   ========================================================================== */
.tabs { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-bottom: 36px; }
.tab { border: 1px solid var(--linea); background: var(--arena-2); color: var(--texto); padding: 11px 20px; border-radius: 999px; cursor: pointer; font-weight: 600; transition: background .25s, color .25s, transform .25s; }
.tab:hover { transform: translateY(-2px); }
.tab.is-on { background: var(--selva-2); color: var(--claro); border-color: var(--selva-2); }
.tabs-scroll { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; padding-bottom: 6px; scrollbar-width: none; }
.tabs-scroll .tab { flex: none; }
.tabs-pill { background: var(--arena); padding: 5px; border-radius: 999px; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-bottom: 24px; }
.tabs-pill .tab { border: 0; background: none; }
.tabs-pill .tab.is-on { background: var(--selva-2); }
.tab-panel { animation: subir .5s var(--ease); }
.guia-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; align-items: start; }
.consejo { background: var(--arena-2); border: 1px solid var(--linea); border-radius: var(--r); overflow: hidden; transition: box-shadow .3s; }
.consejo[open] { box-shadow: var(--sombra-s); }
.consejo summary { list-style: none; display: flex; align-items: center; gap: 14px; padding: 18px 20px; cursor: pointer; }
.consejo summary::-webkit-details-marker { display: none; }
.consejo-ico { width: 46px !important; height: 46px !important; border-radius: 14px; background: var(--selva-2); color: var(--sol); display: grid !important; place-items: center; flex: none; }
.consejo summary strong { flex: 1; font-family: var(--f-display); font-size: 1.2rem; font-weight: 600; }
.consejo-flecha { width: 12px; height: 12px; border-right: 2px solid var(--texto-2); border-bottom: 2px solid var(--texto-2); transform: rotate(45deg); transition: transform .3s var(--ease); margin-right: 6px; }
.consejo[open] .consejo-flecha { transform: rotate(-135deg); }
.consejo .prosa { padding: 0 22px 20px 80px; font-size: 1rem; color: var(--texto-2); }
.maleta-wrap { display: grid; grid-template-columns: 1fr 1.2fr; gap: 50px; align-items: center; }
.maleta-prog { display: flex; align-items: center; gap: 14px; margin-top: 20px; }
.maleta-barra { flex: 1; height: 10px; border-radius: 10px; background: rgba(244, 239, 227, .14); overflow: hidden; }
.maleta-barra i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--hoja), var(--sol)); border-radius: 10px; transition: width .6s var(--ease); }
.maleta-prog span { font-family: var(--f-display); font-size: 1.6rem; color: var(--sol); min-width: 64px; }
.maleta { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.maleta label { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: var(--r-sm); background: rgba(244, 239, 227, .06); border: 1px solid var(--linea-c); cursor: pointer; transition: background .25s, border-color .25s; font-size: .95rem; }
.maleta label:hover { background: rgba(244, 239, 227, .12); }
.maleta input { position: absolute; opacity: 0; }
.maleta-check { width: 24px; height: 24px; border-radius: 8px; border: 2px solid rgba(244, 239, 227, .45); flex: none; display: grid; place-items: center; transition: background .25s, border-color .25s, transform .25s; }
.maleta input:checked + .maleta-check { background: var(--hoja); border-color: var(--hoja); transform: scale(1.1); }
.maleta input:checked + .maleta-check::after { content: ""; width: 6px; height: 11px; border-right: 2.5px solid var(--selva); border-bottom: 2.5px solid var(--selva); transform: rotate(45deg) translate(-1px, -1px); }
.maleta input:checked ~ * { text-decoration: line-through; }
.maleta label:has(input:checked) { color: var(--claro-2); text-decoration: line-through; border-color: rgba(141, 179, 96, .4); }
.maleta input:focus-visible + .maleta-check { outline: 3px solid var(--sol); outline-offset: 2px; }

/* ==========================================================================
   8. Formularios y acceso
   ========================================================================== */
.form { display: grid; gap: 16px; }
.form label { display: grid; gap: 6px; font-size: .9rem; font-weight: 500; color: var(--texto-2); }
.form input:not([type="checkbox"]):not([type="radio"]), .form select, .form textarea, .sdet-form textarea { width: 100%; padding: 13px 15px; border-radius: var(--r-sm); border: 1.5px solid var(--arena-3); background: #fff; color: var(--texto); transition: border-color .2s, box-shadow .2s; }
.form input:focus, .form select:focus, .form textarea:focus, .sdet-form textarea:focus { outline: 0; border-color: var(--rio-2); box-shadow: 0 0 0 4px rgba(42, 138, 130, .15); }
.form input:disabled { background: var(--arena); color: var(--texto-2); }
.sdet-form label { display: grid; gap: 6px; font-size: .9rem; color: var(--texto-2); }
.form-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; font-size: .9rem; }
.check-in { display: flex !important; grid-template-columns: none; align-items: flex-start; gap: 10px !important; font-weight: 400 !important; cursor: pointer; }
.check-in input { margin-top: 4px; accent-color: var(--rio); width: 18px; height: 18px; flex: none; }
.pass { position: relative; display: block; }
.pass input { padding-right: 48px !important; }
.pass-ver { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; border: 0; background: none; cursor: pointer; color: var(--texto-2); border-radius: 50%; }
.pass-ver:hover { background: var(--arena); }
.form-msg { margin: 0; min-height: 1.3em; font-size: .9rem; font-weight: 500; }
.form-msg.is-err { color: var(--guacamaya); }
.form-msg.is-ok { color: var(--musgo); }
fieldset { border: 1px solid var(--linea); border-radius: var(--r); padding: 20px 22px 22px; margin: 0; display: grid; gap: 14px; background: var(--arena-2); }
legend { font-family: var(--f-display); font-size: 1.15rem; font-weight: 600; padding: 0 8px; color: var(--selva-2); }
.chips-check { display: flex; flex-wrap: wrap; gap: 8px; }
.chips-check label { display: block !important; cursor: pointer; }
.chips-check input { position: absolute; opacity: 0; }
.chips-check span { display: inline-block; padding: 9px 16px; border-radius: 999px; border: 1.5px solid var(--arena-3); background: #fff; font-size: .9rem; color: var(--texto); transition: .25s; }
.chips-check input:checked + span { background: var(--selva-2); border-color: var(--selva-2); color: var(--claro); }
.chips-check input:focus-visible + span { outline: 3px solid var(--sol); outline-offset: 2px; }

.acceso { display: grid; grid-template-columns: 1.1fr 1fr; min-height: 100svh; }
.acceso-img { position: relative; background-size: cover; background-position: center; display: flex; align-items: flex-end; color: var(--claro); isolation: isolate; }
.acceso-img::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11, 23, 19, .3), rgba(11, 23, 19, .9)); }
.acceso-img-txt { padding: 140px clamp(24px, 6vw, 80px) 70px; max-width: 620px; }
.acceso-img .eyebrow { color: var(--sol); }
.acceso-form { display: grid; place-items: center; padding: 130px 24px 70px; background: var(--arena); }
.acceso-box { width: min(460px, 100%); background: var(--arena-2); padding: 30px; border-radius: 24px; box-shadow: var(--sombra); }

/* ==========================================================================
   9. Mi cuenta
   ========================================================================== */
.cuenta { background: var(--arena); min-height: 80vh; }
.cuenta-top { position: relative; background-size: cover; background-position: center; color: var(--claro); padding: 140px 0 70px; isolation: isolate; }
.cuenta-top::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(11, 23, 19, .92), rgba(11, 23, 19, .55)); }
.cuenta-top-in { display: flex; align-items: center; gap: 20px; }
.cuenta-top .eyebrow { color: var(--sol); margin-bottom: 4px; }
.cuenta-top h1 { margin: 0; }
.cuenta-salir { margin-left: auto; }
.cuenta-grid { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 30px; padding: 0 0 90px; margin-top: -34px; position: relative; }
.cuenta-nav { background: var(--arena-2); border-radius: var(--r); padding: 10px; box-shadow: var(--sombra-s); display: grid; gap: 2px; align-self: start; position: sticky; top: 90px; }
.cuenta-nav a { display: flex; align-items: center; gap: 10px; padding: 11px 14px; border-radius: 12px; color: var(--texto); font-weight: 500; transition: background .2s, color .2s; }
.cuenta-nav a:hover { background: var(--arena); color: var(--texto); }
.cuenta-nav a.is-on { background: var(--selva-2); color: var(--claro); }
.cuenta-nav a.is-on .dashicons { color: var(--sol); }
.cuenta-nav .dashicons { color: var(--rio); }
.cuenta-nav .badge { margin-left: auto; background: var(--guacamaya); color: #fff; border-radius: 999px; font-size: .72rem; padding: 1px 8px; }
.cuenta-nav-tienda { margin-top: 6px; border-top: 1px solid var(--linea); border-radius: 0 0 12px 12px !important; padding-top: 14px !important; }
.cuenta-main { min-width: 0; padding-top: 50px; }
.sec-titulo { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 22px; }
.sec-titulo h2 { margin: 0; }
.sec-titulo p { margin: 0; width: 100%; color: var(--texto-2); }
.grupo-t { font-size: 1.15rem; margin: 30px 0 14px; color: var(--texto-2); font-family: var(--f-text); text-transform: uppercase; letter-spacing: .12em; font-size: .82rem; }
.dash { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.panel { background: var(--arena-2); border-radius: var(--r); padding: 22px; border: 1px solid var(--linea); }
.panel-wide, .panel-viaje { grid-column: 1 / -1; }
.panel-h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.panel-h a { font-size: .88rem; font-weight: 600; }
.panel-viaje { display: grid; grid-template-columns: 1fr 1.3fr; padding: 0; overflow: hidden; background: var(--selva); color: var(--claro); border: 0; }
.pv-img { background-size: cover; background-position: center; min-height: 260px; }
.pv-body { padding: 28px; }
.pv-body .eyebrow { color: var(--sol); gap: 10px; }
.pv-body .h3 { color: var(--claro); }
.pv-body .dashicons { color: var(--sol); }
.btns { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 14px; }
.pv-body .btn-ghost-dark { color: var(--claro); border-color: rgba(244, 239, 227, .35); }
.countdown { display: flex; gap: 10px; margin: 16px 0 6px; }
.countdown div { background: rgba(244, 239, 227, .08); border: 1px solid var(--linea-c); border-radius: 14px; padding: 10px 12px; min-width: 66px; text-align: center; }
.countdown b { display: block; font-family: var(--f-display); font-size: 1.8rem; line-height: 1; color: var(--sol); font-variant-numeric: tabular-nums; }
.countdown small { font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; opacity: .75; }
.panel-perfil { display: flex; gap: 20px; align-items: center; }
.panel-perfil p { margin: 4px 0 8px; color: var(--texto-2); font-size: .94rem; }
.ring { --p: 0; flex: none; width: 96px; height: 96px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--hoja) calc(var(--p) * 1%), var(--arena-3) 0); position: relative; }
.ring::before { content: ""; position: absolute; inset: 9px; border-radius: 50%; background: var(--arena-2); }
.ring span { position: relative; font-family: var(--f-display); font-size: 1.5rem; font-weight: 700; color: var(--selva-2); }
.rapidos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.rapidos a { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 16px 10px; border-radius: var(--r-sm); background: var(--arena); color: var(--texto); font-weight: 600; font-size: .9rem; text-align: center; transition: transform .3s var(--ease), background .3s; }
.rapidos a:hover { transform: translateY(-3px); background: var(--sol); color: var(--noche); }
.rapidos .dashicons { font-size: 24px; width: 24px; height: 24px; color: var(--rio); }
.rapidos a:hover .dashicons { color: var(--noche); }
.vacio { color: var(--texto-2); font-size: .94rem; }
.vacio-grande { text-align: center; padding: 50px 20px; background: var(--arena-2); border-radius: var(--r); border: 1px dashed var(--arena-3); }
.vacio-grande > .dashicons { font-size: 54px; width: 54px; height: 54px; color: var(--hoja); }
.avisos { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.avisos-mini li { display: flex; gap: 10px; align-items: flex-start; padding: 8px 0; border-bottom: 1px solid var(--linea); }
.avisos-mini li:last-child { border: 0; }
.avisos-mini .dashicons { color: var(--rio); }
.avisos-mini strong { display: block; font-size: .92rem; line-height: 1.3; }
.avisos-mini small { color: var(--texto-2); font-size: .78rem; }
.avisos-mini li.is-nuevo strong::after { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--atardecer); margin-left: 6px; vertical-align: 2px; }
.aviso { display: flex; gap: 16px; padding: 18px; border-radius: var(--r); background: var(--arena-2); border: 1px solid var(--linea); }
.aviso.is-nuevo { border-color: var(--sol); background: #fff8e8; }
.aviso-ico { flex: none; width: 46px !important; height: 46px !important; border-radius: 14px; background: var(--selva-2); color: var(--sol); display: grid !important; place-items: center; }
.aviso-recordatorio .aviso-ico { background: var(--atardecer); color: #fff; }
.aviso-evento .aviso-ico { background: var(--guacamaya); color: #fff; }
.aviso-reserva .aviso-ico { background: var(--rio); color: #fff; }
.aviso strong { display: block; }
.aviso p { margin: 4px 0; color: var(--texto-2); font-size: .94rem; }
.aviso small { color: var(--texto-2); }
.viajes { display: grid; gap: 18px; }
.viaje { display: grid; grid-template-columns: 240px minmax(0, 1fr); background: var(--arena-2); border-radius: var(--r); overflow: hidden; border: 1px solid var(--linea); }
.viaje-img { background-size: cover; background-position: center; position: relative; min-height: 200px; }
.viaje-img .pill { position: absolute; left: 12px; top: 12px; }
.viaje-body { padding: 20px 22px; }
.viaje-num { font-size: .8rem; color: var(--texto-2); letter-spacing: .08em; text-transform: uppercase; margin: 0; }
.viaje h4 { font-size: 1.3rem; margin: 4px 0 10px; }
.viaje-datos { list-style: none; padding: 0; margin: 0 0 12px; display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: .92rem; color: var(--texto-2); }
.viaje-datos .dashicons { color: var(--atardecer); font-size: 17px; width: 17px; height: 17px; margin-right: 3px; }
.viaje.is-off { opacity: .7; }
.viaje-pedidos { font-size: .88rem; color: var(--rio); margin: 0; }
.pasos { list-style: none; padding: 0; margin: 4px 0 12px; display: flex; }
.pasos li { flex: 1; position: relative; padding-top: 24px; font-size: .78rem; color: var(--texto-2); text-align: center; }
.pasos li::before { content: ""; position: absolute; top: 4px; left: 50%; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: var(--arena-3); z-index: 1; }
.pasos li::after { content: ""; position: absolute; top: 10px; left: -50%; right: 50%; height: 2px; background: var(--arena-3); }
.pasos li:first-child::after { display: none; }
.pasos li.is-hecho { color: var(--selva-2); font-weight: 600; }
.pasos li.is-hecho::before, .pasos li.is-hecho::after { background: var(--hoja); }
.pedidos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pedido { background: var(--arena-2); border-radius: var(--r); border: 1px solid var(--linea); padding: 18px 20px; }
.pedido header { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.pedido header small { margin-left: auto; color: var(--texto-2); }
.pedido ul { list-style: none; padding: 0; margin: 0 0 10px; }
.pedido li { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px dashed var(--linea); font-size: .93rem; }
.pedido footer { display: flex; justify-content: space-between; gap: 10px; font-size: .9rem; color: var(--texto-2); }
.pedido footer strong { color: var(--selva-2); font-size: 1.1rem; }

/* Hilo de mensajes privados */
.hilo { background: var(--arena-2); border-radius: var(--r); border: 1px solid var(--linea); display: flex; flex-direction: column; height: min(620px, 70vh); overflow: hidden; }
.hilo-lista { flex: 1; overflow-y: auto; padding: 22px; display: flex; flex-direction: column; gap: 10px; background: radial-gradient(circle at 10% 10%, rgba(141, 179, 96, .08), transparent 40%), radial-gradient(circle at 90% 90%, rgba(42, 138, 130, .08), transparent 40%); }
.hilo-vacio { margin: auto; text-align: center; max-width: 440px; color: var(--texto-2); }
.hilo-vacio > .dashicons { font-size: 48px; width: 48px; height: 48px; color: var(--rio); }
.sugerencias { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.sugerencias button { border: 1px solid var(--arena-3); background: #fff; border-radius: 999px; padding: 9px 16px; cursor: pointer; color: var(--texto); transition: .25s; }
.sugerencias button:hover { background: var(--selva-2); color: var(--claro); border-color: var(--selva-2); }
.burbuja { max-width: 76%; display: flex; flex-direction: column; animation: subir .35s var(--ease); }
.burbuja-t { padding: 11px 15px; border-radius: 18px; white-space: pre-wrap; overflow-wrap: anywhere; }
.burbuja small { font-size: .72rem; color: var(--texto-2); margin-top: 3px; padding: 0 6px; }
.burbuja-cliente { align-self: flex-end; align-items: flex-end; }
.burbuja-cliente .burbuja-t { background: var(--selva-2); color: var(--claro); border-bottom-right-radius: 5px; }
.burbuja-equipo { align-self: flex-start; }
.burbuja-equipo .burbuja-t { background: #fff; border: 1px solid var(--linea); border-bottom-left-radius: 5px; }
.hilo-form { display: flex; gap: 10px; padding: 12px; border-top: 1px solid var(--linea); background: var(--arena); align-items: flex-end; }
.hilo-form textarea { flex: 1; resize: none; padding: 12px 16px; border-radius: 22px; border: 1.5px solid var(--arena-3); max-height: 140px; min-height: 46px; }
.hilo-form textarea:focus { outline: 0; border-color: var(--rio-2); }
.hilo-form .btn { width: 48px; height: 48px; padding: 0; flex: none; }

/* ==========================================================================
   10. Tienda
   ========================================================================== */
.tienda-cat { margin-bottom: 50px; }
.tienda-cat > h2 { display: flex; align-items: center; gap: 12px; }
.tienda-cat > h2::after { content: ""; flex: 1; height: 1px; background: var(--linea); }
.pgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.prod { background: var(--arena-2); border: 1px solid var(--linea); border-radius: var(--r); overflow: hidden; display: flex; flex-direction: column; transition: transform .4s var(--ease), box-shadow .4s, border-color .3s; }
.prod:hover { transform: translateY(-5px); box-shadow: var(--sombra-s); }
.prod.is-en { border-color: var(--sol); box-shadow: 0 0 0 3px rgba(242, 184, 75, .35); }
.prod-img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.prod-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.prod:hover .prod-img img { transform: scale(1.06); }
.prod-tag { position: absolute; left: 10px; top: 10px; background: var(--sol); color: var(--noche); font-size: .72rem; font-weight: 700; padding: 4px 10px; border-radius: 999px; }
.prod-body { padding: 16px 16px 14px; display: flex; flex-direction: column; flex: 1; }
.prod-body h3 { font-size: 1.1rem; margin-bottom: 4px; }
.prod-body p { font-size: .88rem; color: var(--texto-2); flex: 1; }
.prod-pie { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.prod-precio { font-weight: 700; color: var(--selva-2); }
.prod-precio small { font-weight: 400; color: var(--texto-2); }
.carrito-btn { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 80; display: flex; align-items: center; gap: 10px; padding: 14px 24px; border-radius: 999px; border: 0; background: var(--selva); color: var(--claro); box-shadow: var(--sombra); cursor: pointer; animation: subir .4s var(--ease); }
.carrito-btn [data-carrito-n] { background: var(--sol); color: var(--noche); min-width: 26px; height: 26px; border-radius: 999px; display: grid; place-items: center; font-weight: 700; font-size: .85rem; }
.carrito-btn.is-bump { animation: bump .45s var(--ease); }
.carrito { position: fixed; top: 0; right: 0; bottom: 0; width: min(420px, 100%); background: var(--arena-2); z-index: 120; box-shadow: -20px 0 60px -20px rgba(0, 0, 0, .5); display: flex; flex-direction: column; animation: deslizar .4s var(--ease); }
.carrito header { display: flex; justify-content: space-between; align-items: center; padding: 20px 22px; border-bottom: 1px solid var(--linea); font-size: 1.2rem; }
.carrito-x { width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--arena); font-size: 1.5rem; cursor: pointer; }
.carrito-lista { list-style: none; margin: 0; padding: 10px 22px; overflow-y: auto; flex: 1; }
.carrito-lista li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--linea); }
.carrito-lista li span { flex: 1; font-size: .94rem; }
.carrito-lista li b { white-space: nowrap; }
.carrito-form { padding: 16px 22px 22px; border-top: 1px solid var(--linea); background: var(--arena); }
.carrito-total { display: flex; justify-content: space-between; font-size: 1.2rem; margin: 0; }
.carrito-total strong { color: var(--selva-2); }
.carrito-pago { font-size: .82rem; color: var(--texto-2); margin: 0; }
.velo { position: fixed; inset: 0; z-index: 110; background: rgba(11, 23, 19, .55); backdrop-filter: blur(3px); animation: aparecer .3s; }

/* ==========================================================================
   11. Pie, lanzador, ventanas, visor
   ========================================================================== */
.site-footer { position: relative; background: var(--noche); color: var(--claro-2); padding: 110px 0 30px; margin-top: 0; }
.footer-wave { top: -1px; bottom: auto; transform: rotate(180deg); }
.footer-wave svg { width: 200%; height: 80px; animation: deriva 26s linear infinite reverse; }
.footer-wave .w1 { fill: rgba(42, 138, 130, .35); }
.footer-wave .w2 { fill: var(--arena); }
.sec-noche + .site-footer .footer-wave .w2, .sec-selva + .site-footer .footer-wave .w2, .lodge-teaser + .site-footer .footer-wave .w2, .sec-rio + .site-footer .footer-wave .w2 { fill: var(--noche); }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 40px; }
.footer-brand p { margin-top: 16px; font-size: .95rem; max-width: 360px; }
.site-footer h4 { font-family: var(--f-text); font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; color: var(--sol); margin-bottom: 16px; }
.site-footer .menu { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.site-footer a { color: var(--claro-2); }
.site-footer a:hover { color: var(--sol); }
.footer-contact { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; font-size: .95rem; }
.footer-contact .dashicons { color: var(--sol); margin-right: 6px; }
.social { display: flex; gap: 10px; margin-top: 18px; }
.social a { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--linea-c); transition: background .25s, transform .25s; }
.social a:hover { background: var(--sol); color: var(--noche); transform: translateY(-3px); }
.footer-bottom { display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-top: 50px; padding-top: 22px; border-top: 1px solid var(--linea-c); font-size: .85rem; }
.footer-bottom p { margin: 0; }

.help-launcher { position: fixed; right: 22px; bottom: 22px; z-index: 95; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.help-btn { position: relative; width: 62px; height: 62px; border-radius: 50%; border: 0; display: grid; place-items: center; cursor: pointer; background: linear-gradient(135deg, #f6c766, #e8913a); color: var(--noche); box-shadow: 0 14px 30px -10px rgba(224, 122, 47, .8); transition: transform .3s var(--ease); }
.help-btn:hover { transform: scale(1.07) rotate(-4deg); }
.help-btn .dashicons { font-size: 28px; width: 28px; height: 28px; grid-area: 1 / 1; transition: transform .3s var(--ease), opacity .3s; }
.help-btn-close { opacity: 0; transform: rotate(-90deg); }
.help-launcher.is-open .help-btn-open { opacity: 0; transform: rotate(90deg); }
.help-launcher.is-open .help-btn-close { opacity: 1; transform: none; }
.help-btn::after { content: ""; position: absolute; inset: 0; border-radius: 50%; box-shadow: 0 0 0 0 rgba(242, 184, 75, .55); animation: latido 2.6s infinite; pointer-events: none; }
.help-panel { width: 310px; background: var(--arena-2); color: var(--texto); border-radius: var(--r); padding: 12px; box-shadow: var(--sombra); animation: pop .3s var(--ease); transform-origin: bottom right; }
.help-title { font-family: var(--f-display); font-size: 1.2rem; font-weight: 600; margin: 6px 8px 10px; }
.help-opt { display: flex; gap: 12px; align-items: center; padding: 10px; border-radius: 14px; color: var(--texto); }
.help-opt:hover { background: var(--arena); color: var(--texto); }
.help-opt > .dashicons { width: 42px; height: 42px; border-radius: 12px; background: var(--selva-2); color: var(--sol); display: grid; place-items: center; flex: none; }
.help-opt > .help-wa { background: #25d366; color: #fff; }
.help-opt span:not(.dashicons) { display: flex; flex-direction: column; line-height: 1.3; }
.help-opt small { color: var(--texto-2); font-size: .8rem; }
.help-launcher.has-chat .help-btn::before { content: ""; position: absolute; top: 3px; right: 3px; width: 15px; height: 15px; border-radius: 50%; background: #3ddc84; border: 2px solid var(--arena-2); z-index: 1; }
.help-launcher.has-chat-nuevo .help-btn::before { background: var(--guacamaya); animation: latido 1.4s infinite; }
.help-chat { width: 100%; border: 1px solid rgba(61, 220, 132, .45); background: rgba(61, 220, 132, .08); text-align: left; cursor: pointer; font: inherit; }
.help-chat > .dashicons { background: #1f8f55 !important; color: #fff !important; }
.help-live { margin-left: auto; width: 10px; height: 10px; border-radius: 50%; background: #3ddc84; box-shadow: 0 0 0 4px rgba(61, 220, 132, .22); flex: none; }

/* Chat en vivo (widget) */
.chat-burbuja { display: flex; gap: 10px; align-items: center; max-width: 280px; padding: 12px 14px; border-radius: 18px 18px 4px 18px; border: 0; background: var(--arena-2); color: var(--texto); box-shadow: var(--sombra); cursor: pointer; font: inherit; text-align: left; animation: pop .35s var(--ease); }
.chat-burbuja span:last-child { display: flex; flex-direction: column; line-height: 1.35; }
.chat-burbuja small { color: var(--texto-2); }
.chat-avatar { flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--selva) url("assets/img/chat-avatar.svg") center / 70% no-repeat; position: relative; }
.chat-avatar::after { content: ""; position: absolute; right: -1px; bottom: -1px; width: 11px; height: 11px; border-radius: 50%; background: #3ddc84; border: 2px solid var(--arena-2); }
.chat-win { position: fixed; right: 22px; bottom: 98px; z-index: 96; width: 370px; height: min(560px, calc(100vh - 130px)); display: flex; flex-direction: column; background: var(--arena-2); color: var(--texto); border-radius: 22px; overflow: hidden; box-shadow: 0 30px 70px -20px rgba(0, 0, 0, .55); opacity: 0; transform: translateY(16px) scale(.98); transition: opacity .25s, transform .3s var(--ease); }
.chat-win.is-open { opacity: 1; transform: none; }
.chat-head { display: flex; align-items: center; gap: 10px; padding: 14px 16px; background: linear-gradient(120deg, var(--selva-2), var(--rio)); color: var(--claro); }
.chat-head div { display: flex; flex-direction: column; line-height: 1.25; }
.chat-status { font-size: .8rem; color: var(--agua); display: flex; align-items: center; gap: 5px; }
.chat-status i { width: 8px; height: 8px; border-radius: 50%; background: #3ddc84; display: inline-block; }
.chat-win.is-off .chat-status { color: var(--claro-2); }
.chat-win.is-off .chat-status i, .chat-win.is-off .chat-avatar::after { background: #9aa39e; }
.chat-x { margin-left: auto; width: 34px; height: 34px; border-radius: 50%; border: 0; background: rgba(244, 239, 227, .15); color: var(--claro); font-size: 20px; line-height: 1; cursor: pointer; }
.chat-aviso { padding: 8px 14px; background: #fff3d6; color: #6b4b06; font-size: .82rem; border-bottom: 1px solid #f3dca0; }
.chat-body { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 8px; }
.chat-msg { max-width: 84%; display: flex; flex-direction: column; animation: subir .3s var(--ease); }
.chat-txt { padding: 9px 13px; border-radius: 16px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .94rem; }
.chat-hora { font-size: .7rem; color: var(--texto-2); margin-top: 2px; }
.chat-visitante { align-self: flex-end; align-items: flex-end; }
.chat-visitante .chat-txt { background: var(--selva-2); color: var(--claro); border-bottom-right-radius: 4px; }
.chat-agente, .chat-sistema { align-self: flex-start; }
.chat-agente .chat-txt { background: #fff; border: 1px solid var(--linea); border-bottom-left-radius: 4px; }
.chat-sistema .chat-txt { background: rgba(141, 179, 96, .14); border: 1px dashed rgba(85, 127, 69, .5); font-size: .86rem; color: var(--selva-2); }
.chat-intro { padding: 0 14px 14px; display: grid; gap: 8px; }
.chat-intro-t { margin: 0 0 2px; color: var(--texto-2); font-size: .92rem; }
.chat-intro input, .chat-intro textarea { padding: 11px 13px; font-size: .93rem; border-radius: 12px; border: 1.5px solid var(--arena-3); background: #fff; }
.chat-intro .btn-primary { background: linear-gradient(135deg, #f6c766, #e8913a); color: #23170b; border: 0; border-radius: 999px; padding: 12px; font-weight: 600; cursor: pointer; }
.chat-err { margin: 0; color: var(--guacamaya); font-size: .85rem; min-height: 1em; }
.chat-form { display: flex; gap: 8px; align-items: flex-end; padding: 10px; border-top: 1px solid var(--linea); background: var(--arena); }
.chat-form textarea { flex: 1; min-height: 44px; max-height: 120px; resize: none; padding: 11px 14px; border-radius: 22px; border: 1.5px solid var(--arena-3); }
.chat-form button { width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--sol); color: var(--noche); cursor: pointer; display: grid; place-items: center; flex: none; }
.chat-fin { padding: 14px; text-align: center; border-top: 1px solid var(--linea); color: var(--texto-2); }
.chat-fin p { margin: 0 0 8px; }
.chat-fin .btn-ghost { color: var(--selva-2); border-color: var(--arena-3); }

/* Ventana emergente */
.modal { border: 0; padding: 0; border-radius: 24px; width: min(960px, calc(100% - 28px)); max-height: calc(100vh - 40px); background: var(--arena-2); color: var(--texto); box-shadow: 0 40px 100px -30px rgba(0, 0, 0, .7); overflow: hidden; }
.modal[open] { animation: pop .35s var(--ease); }
.modal::backdrop { background: rgba(11, 23, 19, .72); backdrop-filter: blur(5px); }
.modal-in { position: relative; max-height: calc(100vh - 40px); overflow-y: auto; }
.modal-x { position: absolute; right: 14px; top: 14px; z-index: 5; width: 42px; height: 42px; border-radius: 50%; border: 0; background: rgba(11, 23, 19, .55); color: #fff; cursor: pointer; display: grid; place-items: center; transition: transform .3s var(--ease), background .3s; }
.modal-x:hover { transform: rotate(90deg); background: var(--guacamaya); }
.modal.is-video { width: min(1100px, calc(100% - 28px)); background: #000; }
.video-wrap { position: relative; aspect-ratio: 16 / 9; background: #000; }
.video-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-tit { padding: 12px 20px; color: var(--claro); background: var(--noche); margin: 0; font-family: var(--f-display); }

/* Visor de fotos */
.lightbox { position: fixed; inset: 0; z-index: 150; background: rgba(6, 12, 10, .96); display: flex; align-items: center; justify-content: center; animation: aparecer .3s; touch-action: pan-y; }
.lb-fig { margin: 0; max-width: 92vw; max-height: 88vh; display: flex; flex-direction: column; align-items: center; }
.lb-fig img { max-width: 92vw; max-height: 80vh; object-fit: contain; border-radius: 10px; box-shadow: 0 30px 80px rgba(0, 0, 0, .5); animation: zoomin .45s var(--ease); }
.lb-fig figcaption { color: var(--claro-2); font-size: .85rem; margin-top: 12px; text-align: center; }
.lb-x, .lb-nav { position: absolute; width: 52px; height: 52px; border-radius: 50%; border: 0; background: rgba(244, 239, 227, .1); color: var(--claro); cursor: pointer; display: grid; place-items: center; transition: background .25s; }
.lb-x:hover, .lb-nav:hover { background: var(--sol); color: var(--noche); }
.lb-x { top: 20px; right: 20px; }
.lb-prev { left: 20px; } .lb-next { right: 20px; }
.lb-count { position: absolute; top: 34px; left: 50%; transform: translateX(-50%); color: var(--claro-2); font-size: .9rem; letter-spacing: .1em; }

/* Créditos */
.creditos { list-style: none; padding: 0; display: grid; gap: 12px; }
.creditos li { display: flex; gap: 14px; align-items: center; padding: 10px; border-radius: var(--r-sm); background: var(--arena-2); border: 1px solid var(--linea); }
.creditos img { width: 96px; height: 64px; object-fit: cover; border-radius: 8px; flex: none; }
.creditos span { display: block; font-size: .86rem; color: var(--texto-2); }
.lista-simple { list-style: none; padding: 0; }
.lista-simple li { padding: 14px 0; border-bottom: 1px solid var(--linea); }

/* ==========================================================================
   12. Movimiento
   ========================================================================== */
[data-reveal] { opacity: 0; transform: translateY(34px); transition: opacity 1s var(--ease), transform 1s var(--ease); transition-delay: calc(var(--d, 0) * 110ms); }
[data-reveal="img"] { opacity: 1; transform: none; clip-path: inset(100% 0 0 0); transition: clip-path 1.4s var(--ease); }
[data-reveal].is-in { opacity: 1; transform: none; }
[data-reveal="img"].is-in { clip-path: inset(0 0 0 0); }
.js-off [data-reveal] { opacity: 1; transform: none; clip-path: none; }
[data-split] .w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .06em; }
[data-split] .w > span { display: inline-block; transform: translateY(105%); transition: transform 1.1s var(--ease); transition-delay: calc(var(--i) * 70ms + 150ms); }
[data-split].is-in .w > span { transform: none; }
[data-tilt] { will-change: transform; }

@keyframes kenburns { from { transform: scale(1) translate3d(0, 0, 0); } to { transform: scale(1.12) translate3d(-2%, -1%, 0); } }
@keyframes respirar { 0%, 100% { opacity: .75; transform: scale(1); } 50% { opacity: 1; transform: scale(1.08); } }
@keyframes deriva { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes girar { to { transform: rotate(360deg); } }
@keyframes latido { 0% { box-shadow: 0 0 0 0 rgba(242, 184, 75, .55); } 70% { box-shadow: 0 0 0 16px rgba(242, 184, 75, 0); } 100% { box-shadow: 0 0 0 0 rgba(242, 184, 75, 0); } }
@keyframes latido-c { 0% { box-shadow: 0 0 0 0 rgba(244, 239, 227, .45); } 70% { box-shadow: 0 0 0 18px rgba(244, 239, 227, 0); } 100% { box-shadow: 0 0 0 0 rgba(244, 239, 227, 0); } }
@keyframes onda { 0% { transform: scale(.9); opacity: 1; } 100% { transform: scale(1.5); opacity: 0; } }
@keyframes rueda { 0% { transform: translateY(0); opacity: 1; } 80% { transform: translateY(14px); opacity: 0; } 100% { opacity: 0; } }
@keyframes luciernaga { 0%, 100% { opacity: 0; transform: translate(0, 0); } 20% { opacity: 1; } 50% { opacity: .3; transform: translate(30px, -40px); } 80% { opacity: 1; transform: translate(-20px, -70px); } }
@keyframes pop { from { opacity: 0; transform: scale(.94) translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes subir { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes aparecer { from { opacity: 0; } to { opacity: 1; } }
@keyframes deslizar { from { transform: translateX(100%); } to { transform: none; } }
@keyframes zoomin { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }
@keyframes bump { 0%, 100% { transform: translateX(-50%) scale(1); } 40% { transform: translateX(-50%) scale(1.12); } }
@keyframes ring { 0%, 100% { transform: rotate(0); } 20% { transform: rotate(18deg); } 40% { transform: rotate(-14deg); } 60% { transform: rotate(8deg); } 80% { transform: rotate(-4deg); } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
	[data-reveal], [data-split] .w > span { opacity: 1 !important; transform: none !important; clip-path: none !important; }
}

/* ==========================================================================
   13. Responsive
   ========================================================================== */
@media (max-width: 1100px) {
	.xgrid, .sgrid, .vgrid { grid-template-columns: repeat(2, 1fr); }
	.pgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.beneficios { grid-template-columns: repeat(2, 1fr); }
	.footer-grid { grid-template-columns: 1fr 1fr; }
	.timeline { grid-template-columns: repeat(3, 1fr); row-gap: 40px; }
	.timeline::before { display: none; }
	.agenda-grid { grid-template-columns: 1fr; }
}
@media (max-width: 960px) {
	.nav { position: fixed; inset: 0; z-index: -1; background: rgba(11, 23, 19, .97); backdrop-filter: blur(12px); display: flex; flex-direction: column; justify-content: center; padding: 100px 30px 40px; opacity: 0; visibility: hidden; transition: opacity .35s, visibility .35s; }
	body.nav-open .nav { opacity: 1; visibility: visible; }
	.nav .menu { flex-direction: column; gap: 4px; }
	.nav .menu a { font-family: var(--f-display); font-size: 1.9rem; padding: 8px 0; }
	.nav .menu a::after { left: 0; right: auto; width: 40px; }
	.nav .menu li { opacity: 0; transform: translateX(-20px); transition: opacity .5s var(--ease), transform .5s var(--ease); }
	body.nav-open .nav .menu li { opacity: 1; transform: none; }
	body.nav-open .nav .menu li:nth-child(2) { transition-delay: .05s; } body.nav-open .nav .menu li:nth-child(3) { transition-delay: .1s; } body.nav-open .nav .menu li:nth-child(4) { transition-delay: .15s; } body.nav-open .nav .menu li:nth-child(5) { transition-delay: .2s; } body.nav-open .nav .menu li:nth-child(6) { transition-delay: .25s; }
	.nav-mobile-extra { display: grid; gap: 10px; margin-top: 30px; }
	.burger { display: block; }
	.header-login, .header-cta { display: none; }
	body.nav-open { overflow: hidden; }
	.split, .xfila, .exp-grid, .tienda-teaser, .maleta-wrap, .acceso { grid-template-columns: 1fr; }
	.xfila.is-rev .xfila-img { order: 0; }
	.split-media { min-height: 440px; }
	.exp-side { position: static; }
	.mosaico, .mosaico-full { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 220px; }
	.mosaico .acard:nth-child(1), .mosaico-full .acard:nth-child(1) { grid-column: span 2; grid-row: span 1; }
	.vgrid-full { grid-template-columns: repeat(2, 1fr); }
	.cuenta-grid { grid-template-columns: 1fr; margin-top: -24px; }
	.cuenta-nav { position: static; display: flex; overflow-x: auto; gap: 4px; scrollbar-width: none; }
	.cuenta-nav a { flex: none; }
	.cuenta-nav-tienda { margin: 0; border: 0; border-radius: 12px !important; padding-top: 11px !important; }
	.cuenta-main { padding-top: 24px; }
	.acceso-img { min-height: 360px; }
	.acceso-img-txt { padding-top: 120px; padding-bottom: 40px; }
	.acceso-form { padding-top: 40px; }
	.sdet { grid-template-columns: 1fr; }
	.sdet-img { min-height: 220px; }
}
@media (max-width: 720px) {
	body { font-size: 16px; }
	.admin-bar .site-header { top: 46px; }
	.brand-tag { display: none; }
	.xgrid, .sgrid, .sgrid-2, .vgrid, .vgrid-full, .beneficios, .guia-grid, .maleta, .pedidos, .dash, .amenidades { grid-template-columns: 1fr; }
	.vgrid-full .vcard:first-child { grid-column: auto; grid-row: auto; }
	.vgrid-full .vcard:first-child .vcard-play { min-height: 0; aspect-ratio: 16 / 10; }
	.pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.prod-body { padding: 12px; }
	.prod-body p { display: none; }
	.prod-pie { flex-direction: column; align-items: flex-start; }
	.timeline { grid-template-columns: 1fr; text-align: left; }
	.timeline li { display: grid; grid-template-columns: 60px 52px 1fr; column-gap: 14px; text-align: left; align-items: start; }
	.timeline li strong, .timeline li p { grid-column: 3; }
	.tl-h { grid-row: 1 / span 2; font-size: 1.3rem; padding-top: 10px; }
	.tl-ico { grid-row: 1 / span 2; margin: 0; }
	.stats { grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
	.stat span { font-size: .78rem; }
	.mosaico, .mosaico-full { grid-template-columns: 1fr; grid-auto-rows: 240px; }
	.mosaico .acard:nth-child(n), .mosaico-full .acard:nth-child(n) { grid-column: auto; grid-row: auto; }
	.split-media { min-height: 360px; }
	.sello { width: 96px; height: 96px; left: -6px; }
	.sello text { font-size: 9px; }
	.footer-grid { grid-template-columns: 1fr; gap: 30px; }
	.form-2 { grid-template-columns: 1fr; }
	.cal { padding: 12px; }
	.cal-d { min-height: 58px; padding: 3px 2px; }
	.cal-ev { font-size: 0; height: 8px; padding: 0; }
	.cal-ev.is-ini { border-radius: 4px 0 0 4px; }
	.cal-n { font-size: .74rem; width: 20px; height: 20px; }
	.panel-viaje, .viaje { grid-template-columns: 1fr; }
	.viaje-img { min-height: 160px; }
	.countdown div { min-width: 0; flex: 1; padding: 8px 4px; }
	.countdown b { font-size: 1.4rem; }
	.cuenta-top-in { flex-wrap: wrap; }
	.cuenta-top-in .av-lg { width: 56px; height: 56px; }
	.cuenta-salir { margin-left: 0; }
	.hero-in { padding: 120px 0 170px; }
	.hero-scroll { display: none; }
	.chat-win { right: 10px; left: 10px; width: auto; bottom: 90px; height: calc(100vh - 120px); }
	.help-launcher { right: 14px; bottom: 14px; }
	.carrito-btn { bottom: 90px; }
	.consejo .prosa { padding-left: 22px; }
	.lb-nav { width: 42px; height: 42px; bottom: 24px; top: auto; }
	.lb-prev { left: calc(50% - 56px); } .lb-next { right: calc(50% - 56px); }
	.sdet-body { padding: 24px 20px; }
}

/* Selector de idioma */
.lang { display: inline-flex; padding: 3px; border-radius: 999px; border: 1px solid var(--linea-c); background: rgba(244, 239, 227, .06); }
.lang a { display: grid; place-items: center; min-width: 34px; height: 30px; padding: 0 8px; border-radius: 999px; font-size: .76rem; font-weight: 700; letter-spacing: .08em; color: var(--claro-2); transition: background .25s, color .25s; }
.lang a:hover { color: var(--claro); }
.lang a.is-on { background: var(--claro); color: var(--noche); }
.lang-mobile { margin-bottom: 8px; justify-self: start; }
.lang-mobile a { min-width: 52px; height: 38px; font-size: .9rem; }
.lang-foot a.is-on { background: var(--sol); }
@media (max-width: 960px) { .lang-head { display: none; } }

/* ==========================================================================
   14. Guía de campo 2.0 — DelRío Adventure
   Mezcla de los brochures (verde selva, kaki, fotos crudas) con el sistema
   "field guide": titulares gigantes condensados, UI en mono, esquinas rectas,
   sin sombras, franjas oscuras con fotos inclinadas y líneas topográficas.
   ========================================================================== */

/* Base tipográfica */
body { font-family: var(--f-text); font-size: 16.5px; background: var(--topo); }
h1, h2, h3 { font-family: var(--f-display); font-weight: 400; text-transform: uppercase; line-height: .92; letter-spacing: .004em; }
h4 { font-family: var(--f-mono); font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.h2 { font-size: clamp(2.6rem, 1.6rem + 4.2vw, 5.4rem); }
.h3 { font-size: clamp(1.8rem, 1.3rem + 1.8vw, 2.8rem); }
.lead { font-size: clamp(1.02rem, .98rem + .3vw, 1.16rem); line-height: 1.6; }
::selection { background: var(--menta); color: var(--tinta); }
:focus-visible { outline: 2px solid var(--menta); outline-offset: 3px; border-radius: 0; }
a { color: var(--selva-2); }
a:hover { color: var(--tinta); }
.prosa a, .link-serif { font-family: "Times New Roman", Times, serif; font-size: 1.06em; text-decoration: underline; text-underline-offset: 3px; }
.mono, .eyebrow, .chips li, .pill, .tag, .btn, .nav .menu a, .header-login, .stat span, .tl-h, .scard-mes, .scard-meta, .scard-cupos, .ficha-r small, .site-footer, .marquee-in, .acard-txt small, label, .bell-head, .bell-foot { font-family: var(--f-mono); letter-spacing: -.01em; }
.eyebrow { font-size: .72rem; font-weight: 500; letter-spacing: .08em; color: var(--selva-2); gap: 10px; }
.eyebrow::before { content: ""; width: 26px; height: 1px; background: currentColor; }
.sec-selva .eyebrow, .sec-rio .eyebrow, .sec-noche .eyebrow, .hero .eyebrow, .phero .eyebrow, .lodge-in .eyebrow { color: var(--menta); }

/* Botones: contorno de 1 px, sin relleno, sin redondeo */
.btn { border-radius: 0; border-width: 1px; font-size: .74rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; padding: 15px 22px; transition: background .2s, color .2s, border-color .2s; }
.btn:hover, .btn:active { transform: none; }
.btn-lg { padding: 18px 28px; font-size: .8rem; }
.btn-sm { padding: 10px 14px; font-size: .68rem; }
.btn-sol { background: var(--menta); color: var(--tinta); border-color: var(--menta); box-shadow: none; }
.btn-sol:hover { background: transparent; color: var(--menta); border-color: var(--menta); box-shadow: none; }
.sec-arena .btn-sol, .sec-papel .btn-sol, .exp-side .btn-sol, .ficha .btn-sol, .form .btn-sol, .cuenta .btn-sol, .sgrid .btn-sol, .scard .btn-sol { background: var(--tinta); color: var(--menta); border-color: var(--tinta); }
.sec-arena .btn-sol:hover, .sec-papel .btn-sol:hover, .ficha .btn-sol:hover, .scard .btn-sol:hover { background: transparent; color: var(--tinta); }
.btn-ghost { background: transparent; color: var(--menta); border-color: var(--menta); backdrop-filter: none; }
.btn-ghost:hover { background: var(--menta); color: var(--tinta); border-color: var(--menta); }
.btn-ghost-dark { color: var(--texto); border-color: var(--texto); }
.btn-ghost-dark:hover { background: var(--texto); color: var(--topo); border-color: var(--texto); }
.link-arrow { font-family: var(--f-mono); font-size: .76rem; text-transform: uppercase; letter-spacing: .04em; }

/* Píldoras, chips y alertas: rectas */
.pill, .tag, .chips li, .alerta, .bell-panel, .bell-item .dashicons, .av, .burger, .bell-btn, .bell-n { border-radius: 0; }
.pill { font-size: .64rem; padding: 4px 8px; }
.chips li { font-size: .7rem; text-transform: uppercase; background: transparent; border-color: var(--linea-c); }
.chips-dark li { background: transparent; border-color: var(--linea); }
.check li::before { border-radius: 0; background-color: var(--menta); }
.sec-arena .check li::before, .ficha .check li::before, .incluye .check li::before { background-color: var(--selva-2); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' stroke='%23e2ffcc' stroke-width='2.4' fill='none' stroke-linecap='square'/%3E%3C/svg%3E"); }

/* Cabecera */
.site-header { padding: 18px 0; }
.site-header.is-scrolled, .site-header.is-solid { background: var(--tinta); backdrop-filter: none; box-shadow: none; border-bottom: 1px solid var(--linea-c); padding: 10px 0; }
.wrap { width: min(var(--wrap), 100% - 48px); }
.brand-logo { height: 62px; }
.brand-logo-img { max-width: 200px; }
/* Logo legible sobre cualquier foto: blanco con sombra suave mientras la cabecera es transparente */
.site-header:not(.is-scrolled):not(.is-solid) .brand-logo { filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .6)) drop-shadow(0 0 14px rgba(0, 0, 0, .45)); }
@media (max-width: 640px) { .brand-logo { height: 50px; } }
.site-header.is-scrolled .brand-logo, .site-header.is-solid .brand-logo { height: 44px; }
.brand:hover .brand-logo { transform: none; }
.nav .menu a { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; border-radius: 0; padding: 8px 12px; color: var(--claro); }
.nav .menu a:hover { color: var(--menta); }
.nav .menu a::after { left: 12px; right: 12px; bottom: 2px; height: 1px; border-radius: 0; background: var(--menta); }
.header-login { font-size: .72rem; text-transform: uppercase; }
.header-cta.btn-sol { background: transparent; color: var(--menta); border-color: var(--menta); }
.header-cta.btn-sol:hover { background: var(--menta); color: var(--tinta); }
.av { background: var(--selva-2); border: 1px solid var(--menta); color: var(--menta); font-family: var(--f-mono); }

/* Secciones: franjas planas con textura topográfica */
.sec { padding: clamp(70px, 8vw, 120px) 0; }
.sec-arena, .sec-papel { background: var(--topo) var(--topo-oscuro) center / 1200px auto; }
.sec-selva { background: var(--tinta) var(--topo-claro) center / 1200px auto; }
.sec-rio { background: var(--selva-2) var(--topo-claro) center / 1400px auto; }
.sec-noche { background: var(--tinta); }
.sec-kaki { background: var(--kaki); color: var(--tinta); }
.sec-head { text-align: left; margin: 0 0 54px; max-width: 900px; }
.sec-head-row { align-items: flex-end; }

/* Hero de páginas internas */
.phero { align-items: flex-end; }
.phero-veil { background: linear-gradient(180deg, rgba(20, 26, 18, .55), rgba(20, 26, 18, .05) 40%, rgba(20, 26, 18, .82)); }
.phero-t { font-size: clamp(3rem, 1.6rem + 6vw, 8rem); color: var(--menta); margin-bottom: 16px; }
.phero-p { font-size: 1.05rem; }
.phero-wave, .hero-wave, .footer-wave { display: none; }
.phero-bg, .hero-bg img { animation: none; }

/* Franja de palabras: marcador fosforescente */
.marquee { background: var(--menta); border: 0; padding: 14px 0; }
.marquee-in { font-family: var(--f-mono); font-style: normal; font-size: .82rem; text-transform: uppercase; letter-spacing: .06em; color: var(--tinta); gap: 26px; animation-duration: 55s; }
.marquee-in i { color: var(--selva-2); font-size: .9em; }

/* ---------- Hero de portada (display gigante sobre la foto) ---------- */
.hx { position: relative; min-height: 100svh; color: var(--menta); background: var(--tinta); overflow: hidden; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; }
.hx-bg { position: absolute; inset: 0; z-index: -2; }
.hx-bg img { width: 100%; height: 100%; object-fit: cover; }
.hx::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(20, 26, 18, .55) 0%, rgba(20, 26, 18, 0) 30%, rgba(20, 26, 18, 0) 50%, rgba(20, 26, 18, .7) 100%); }
.hx-top { position: absolute; top: 110px; left: 0; right: 0; }
.hx-top .wrap { display: flex; justify-content: space-between; gap: 20px; font-family: var(--f-mono); font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; }
.hx-coord { display: flex; flex-direction: column; gap: 4px; }
.hx-mid { width: min(var(--wrap), 100% - 48px); margin: 0 auto 26px; display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; flex-wrap: wrap; }
.hx-p { max-width: 460px; font-family: var(--f-mono); font-size: .86rem; line-height: 1.55; color: var(--claro); margin: 0; }
.hx-cta { display: flex; gap: 12px; flex-wrap: wrap; }
.hx-t { font-size: clamp(4.4rem, 17.2vw, 23rem); line-height: .82; margin: 0; padding: 0 0 2vw; white-space: nowrap; text-align: center; color: var(--menta); letter-spacing: -.005em; }
.hx-t span { display: block; }
.hx-sello { position: absolute; right: max(24px, calc((100% - var(--wrap)) / 2)); top: 44%; width: 118px; height: 118px; z-index: 1; color: var(--menta); }
.hx-sello svg { width: 100%; height: 100%; animation: girar 26s linear infinite; }
.hx-sello text { font-family: var(--f-mono); font-size: 9px; letter-spacing: 1.5px; fill: currentColor; text-transform: uppercase; }
.hx-sello img { position: absolute; inset: 30%; width: 40%; height: auto; }

/* ---------- Insignia circular de línea ---------- */
.badge { width: 46px; height: 46px; border: 1.5px solid currentColor; border-radius: 50%; display: inline-grid; place-items: center; flex: none; }
.badge svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: square; }

/* ---------- Temporada: las dos expediciones ---------- */
.temporada { background: var(--tinta) var(--topo-claro) center / 1200px auto; color: var(--claro); padding: clamp(70px, 8vw, 120px) 0 0; }
.temporada-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 50px; }
.temporada-head .h2 { color: var(--menta); margin: 0; }
.temporada-head p { max-width: 430px; margin: 0; font-family: var(--f-mono); font-size: .82rem; color: var(--claro-2); }
.exped { display: grid; grid-template-columns: 1.15fr 1fr; min-height: 760px; border-top: 1px solid var(--linea-c); }
.exped.is-rev { grid-template-columns: 1fr 1.15fr; }
.exped.is-rev .exped-media { order: 2; }
.exped-media { position: relative; overflow: hidden; }
.exped-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s var(--ease); }
.exped:hover .exped-media > img { transform: scale(1.03); }
.exped-n { position: absolute; left: 24px; top: 20px; font-family: var(--f-display); font-size: clamp(5rem, 10vw, 9rem); line-height: .8; color: transparent; -webkit-text-stroke: 1.5px var(--menta); }
.exped-pol { position: absolute; right: 7%; bottom: 8%; width: 36%; transform: rotate(6deg); }
.exped.is-rev .exped-pol { right: auto; left: 7%; transform: rotate(-7deg); }
.exped-pol img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.exped-body { padding: clamp(36px, 5vw, 76px); display: flex; flex-direction: column; justify-content: center; gap: 22px; }
.exped-t { font-size: clamp(3.4rem, 2rem + 5vw, 7.5rem); color: var(--menta); margin: 0; }
.exped-t a { color: inherit; }
.exped-sub { font-family: var(--f-mono); font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--kaki); margin: -6px 0 0; }
.exped-body > p { color: var(--claro-2); margin: 0; max-width: 560px; }
.exped-acc { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 6px; }

/* Ficha técnica en tira (días, noches, pesca, cupos, temporada) */
.specs { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); border-top: 1px solid currentColor; border-left: 1px solid currentColor; margin: 0; padding: 0; list-style: none; }
.specs li { border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; }
.specs b { font-family: var(--f-display); font-weight: 400; font-size: 1.9rem; line-height: .9; text-transform: uppercase; }
.specs small { font-family: var(--f-mono); font-size: .64rem; text-transform: uppercase; letter-spacing: .06em; opacity: .8; }
.exped .specs { color: var(--linea-c); }
.exped .specs b { color: var(--menta); }
.exped .specs small { color: var(--claro); }

/* ---------- Manifiesto + fotos inclinadas ---------- */
.manif { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(30px, 6vw, 90px); align-items: center; }
.manif-txt .h2 { color: var(--menta); }
.manif-txt p { color: var(--claro-2); }
.manif-firma { display: flex; gap: 14px; align-items: center; margin-top: 26px; font-family: var(--f-mono); font-size: .74rem; text-transform: uppercase; color: var(--menta); }
.scatter { position: relative; min-height: 560px; }
.scatter figure { position: absolute; margin: 0; width: var(--w, 46%); transform: rotate(var(--rot, 0deg)); transition: transform .6s var(--ease); }
.scatter figure:hover { transform: rotate(0deg) scale(1.03); z-index: 5; }
.scatter img { width: 100%; aspect-ratio: var(--ar, 4 / 5); object-fit: cover; display: block; }
.scatter figcaption { font-family: var(--f-mono); font-size: .64rem; text-transform: uppercase; letter-spacing: .05em; color: var(--menta); padding-top: 8px; }
.sec-arena .scatter figcaption, .sec-papel .scatter figcaption { color: var(--texto); }
.scatter .badge { position: absolute; color: var(--menta); z-index: 6; }

/* ---------- Ruta (mapa de campo) ---------- */
.ruta { display: grid; grid-template-columns: 1fr 1.3fr; gap: clamp(30px, 5vw, 80px); align-items: center; }
.ruta-mapa { position: relative; background: var(--tinta) var(--topo-claro) center / 900px auto; color: var(--menta); padding: 22px; aspect-ratio: 4 / 3; }
.ruta-mapa svg { width: 100%; height: 100%; overflow: visible; }
.ruta-rio { fill: none; stroke: var(--salvia); stroke-width: 9; stroke-linecap: round; opacity: .35; }
.ruta-linea { fill: none; stroke: var(--menta); stroke-width: 2; stroke-dasharray: 6 7; }
.ruta-trazo { fill: none; stroke: var(--menta); stroke-width: 2.2; stroke-dasharray: 1400; stroke-dashoffset: 1400; transition: stroke-dashoffset 3.2s var(--ease); }
.is-in .ruta-trazo, .js-off .ruta-trazo { stroke-dashoffset: 0; }
.ruta-punto circle { fill: var(--tinta); stroke: var(--menta); stroke-width: 2; }
.ruta-punto text { font-family: var(--f-mono); font-size: 13px; fill: var(--menta); text-transform: uppercase; letter-spacing: .5px; }
.ruta-punto .nota { font-size: 10px; fill: var(--claro); opacity: .7; }
.ruta-cap { position: absolute; left: 22px; bottom: 16px; font-family: var(--f-mono); font-size: .62rem; text-transform: uppercase; color: var(--claro-2); }
.ruta-norte { position: absolute; right: 22px; top: 18px; }
.paradas { list-style: none; margin: 0; padding: 0; counter-reset: p; border-top: 1px solid var(--linea); }
.paradas li { counter-increment: p; display: grid; grid-template-columns: 54px 1fr; gap: 6px 14px; padding: 14px 0; border-bottom: 1px solid var(--linea); }
.paradas li::before { content: counter(p, decimal-leading-zero); font-family: var(--f-display); font-size: 2rem; line-height: 1; color: var(--selva-2); grid-row: span 2; }
.paradas strong { font-family: var(--f-display); font-weight: 400; font-size: 1.5rem; text-transform: uppercase; line-height: 1; }
.paradas span { font-family: var(--f-mono); font-size: .76rem; color: var(--texto-2); }

/* ---------- Itinerario día a día ---------- */
.itin { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--linea-c); }
.itin li { display: grid; grid-template-columns: minmax(150px, 220px) 1fr minmax(160px, 240px); gap: 24px; padding: 28px 0; border-bottom: 1px solid var(--linea-c); align-items: start; }
.itin-dia { font-family: var(--f-display); font-size: clamp(2.2rem, 1.6rem + 2vw, 3.6rem); line-height: .85; color: var(--menta); text-transform: uppercase; }
.itin h3 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2.1rem); color: var(--claro); margin-bottom: 10px; }
.itin p { color: var(--claro-2); margin: 0; }
.itin-cama { font-family: var(--f-mono); font-size: .7rem; text-transform: uppercase; color: var(--kaki); display: flex; gap: 10px; align-items: flex-start; }
.itin-cama .badge { width: 34px; height: 34px; color: var(--kaki); }
.itin-cama .badge svg { width: 16px; height: 16px; }

/* ---------- Trofeos (lámina de guía de campo) ---------- */
.trofeos { display: grid; grid-template-columns: repeat(var(--n, 3), 1fr); gap: 0; border-top: 1px solid var(--linea); border-left: 1px solid var(--linea); }
.trofeo { border-right: 1px solid var(--linea); border-bottom: 1px solid var(--linea); padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.trofeo-n { font-family: var(--f-mono); font-size: .66rem; text-transform: uppercase; color: var(--texto-2); display: flex; justify-content: space-between; }
.trofeo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.trofeo h3 { font-size: clamp(2rem, 1.5rem + 1.6vw, 3rem); margin: 0; color: var(--selva-2); }
.trofeo p { margin: 0; color: var(--texto-2); font-size: .96rem; }
.otras { margin-top: 28px; font-family: var(--f-mono); font-size: .78rem; line-height: 1.7; color: var(--texto-2); max-width: 980px; }
.otras b { color: var(--texto); text-transform: uppercase; }

/* ---------- Lodge y campamentos ---------- */
.bases { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.base { position: relative; min-height: 620px; color: var(--claro); display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(28px, 4vw, 56px); isolation: isolate; overflow: hidden; }
.base > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.4s var(--ease); }
.base:hover > img { transform: scale(1.04); }
.base::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(20, 26, 18, .1) 30%, rgba(20, 26, 18, .88)); }
.base h3 { font-size: clamp(2.6rem, 1.8rem + 3vw, 5rem); color: var(--menta); margin: 0 0 8px; }
.base-tag { font-family: var(--f-mono); font-size: .7rem; text-transform: uppercase; color: var(--kaki); margin-bottom: 12px; }
.base p { max-width: 520px; color: var(--claro-2); }

/* ---------- Reel shots (collage oscuro) ---------- */
.reel { position: relative; background: var(--tinta); color: var(--menta); padding: clamp(80px, 9vw, 130px) 0; overflow: hidden; }
.reel-t { position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); text-align: center; font-family: var(--f-display); font-size: clamp(6rem, 22vw, 26rem); line-height: .8; color: transparent; -webkit-text-stroke: 1px rgba(226, 255, 204, .28); white-space: nowrap; pointer-events: none; text-transform: uppercase; }
.reel-grid { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); gap: 0; min-height: 720px; }
.reel-grid figure { margin: 0; grid-column: var(--c, auto) / span var(--s, 2); grid-row: var(--r, auto); transform: rotate(var(--rot, 0deg)) translate(var(--x, 0), var(--y, 0)); transition: transform .5s var(--ease); align-self: center; }
.reel-grid figure:hover { transform: rotate(0deg) scale(1.04); z-index: 3; }
.reel-grid img { width: 100%; aspect-ratio: var(--ar, 4 / 5); object-fit: cover; cursor: zoom-in; }
.reel-pie { position: relative; display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; margin-top: 40px; font-family: var(--f-mono); font-size: .72rem; text-transform: uppercase; }

/* ---------- Más allá de la pesca ---------- */
.mas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--linea); border-left: 1px solid var(--linea); }
.mas-item { border-right: 1px solid var(--linea); border-bottom: 1px solid var(--linea); color: var(--texto); display: flex; flex-direction: column; }
.mas-item:hover { color: var(--texto); background: var(--arena-2); }
.mas-item img { width: 100%; aspect-ratio: 1; object-fit: cover; filter: saturate(.9); transition: filter .4s; }
.mas-item:hover img { filter: saturate(1.15); }
.mas-item div { padding: 16px 18px 20px; }
.mas-item small { font-family: var(--f-mono); font-size: .64rem; text-transform: uppercase; color: var(--texto-2); }
.mas-item strong { display: block; font-family: var(--f-display); font-weight: 400; font-size: 1.7rem; line-height: .95; text-transform: uppercase; margin: 6px 0; }
.mas-item p { margin: 0; font-size: .9rem; color: var(--texto-2); }

/* ---------- Impacto ---------- */
.impacto { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 4vw, 60px); }
.impacto > div { border-top: 1px solid var(--menta); padding-top: 20px; }
.impacto .badge { color: var(--menta); margin-bottom: 18px; }
.impacto h3 { font-size: 2rem; color: var(--menta); }
.impacto p { color: var(--claro-2); font-size: .96rem; }

/* ---------- Incluye / No incluye (franja kaki como el brochure) ---------- */
.incluye { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid var(--tinta); border-left: 1px solid var(--tinta); }
.incluye > div { border-right: 1px solid var(--tinta); border-bottom: 1px solid var(--tinta); padding: clamp(22px, 3vw, 40px); }
.incluye h3 { font-size: 2.4rem; margin-bottom: 18px; color: var(--tinta); }
.incluye .check li { color: var(--tinta); }
.nolista { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.nolista li { position: relative; padding-left: 30px; color: var(--tinta); }
.nolista li::before { content: "×"; position: absolute; left: 0; top: -1px; width: 20px; height: 20px; border: 1px solid var(--tinta); display: grid; place-items: center; font-family: var(--f-mono); font-size: 14px; line-height: 1; }
.sec-kaki .specs { color: var(--tinta); margin-bottom: 40px; }
.sec-kaki .h2 { color: var(--tinta); }
.sec-kaki .eyebrow { color: var(--tinta); }
.nota-final { font-family: var(--f-mono); font-size: .78rem; margin-top: 26px; max-width: 760px; }

/* ---------- Contacto con el guía ---------- */
.guia { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(30px, 6vw, 90px); align-items: center; }
.guia-foto { position: relative; }
.guia-foto img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; transform: rotate(-3deg); }
.guia-foto figcaption { position: absolute; right: -12px; bottom: 28px; background: var(--menta); color: var(--tinta); font-family: var(--f-mono); font-size: .7rem; text-transform: uppercase; padding: 8px 12px; transform: rotate(2deg); }
.guia .h2 { color: var(--menta); }
.contacto { list-style: none; padding: 0; margin: 26px 0; border-top: 1px solid var(--linea-c); }
.contacto li { border-bottom: 1px solid var(--linea-c); }
.contacto a, .contacto span { display: flex; justify-content: space-between; gap: 14px; padding: 14px 0; font-family: var(--f-mono); font-size: .86rem; color: var(--claro); }
.contacto a:hover { color: var(--menta); }
.contacto small { color: var(--claro-2); text-transform: uppercase; font-size: .66rem; }

/* ---------- Tarjetas existentes, pasadas a guía de campo ---------- */
.xcard, .scard, .acard, .bene, .ficha, .amen, .tira-item, .masonry-item, .vcard-play, .xfila-img, .split-media figure, .tt-cats span, .bell-panel, .modal-in, .scard-fecha { border-radius: 0 !important; box-shadow: none !important; }
.xcard { background: transparent; border: 1px solid var(--linea-c); }
.xcard:hover { border-color: var(--menta); background: rgba(226, 255, 204, .04); }
.xcard-ico { border-radius: 50%; background: var(--tinta); color: var(--menta); border: 1.5px solid var(--menta); width: 46px; height: 46px; }
.xcard-body h3 { font-size: 1.9rem; }
.scard { background: var(--arena-2); border: 1px solid var(--linea); }
.scard:hover { transform: none; border-color: var(--texto); }
.scard-fecha { background: var(--menta); }
.scard-dia { font-weight: 400; color: var(--tinta); }
.scard-mes { color: var(--tinta); }
.scard-body h3 { font-size: 1.7rem; }
.xfila-n { -webkit-text-stroke: 1.5px var(--selva-2); font-size: 5rem; }
.xfila-txt h2 { font-size: clamp(2.2rem, 1.6rem + 2vw, 3.6rem); }
.bene { background: transparent; border-color: var(--linea); }
.bene:hover { transform: none; background: var(--arena-2); }
.bene > .dashicons { border-radius: 50%; background: transparent; border: 1.5px solid var(--selva-2); color: var(--selva-2); }
.bene strong { font-weight: 400; text-transform: uppercase; font-size: 1.6rem; }
.stat strong { color: var(--selva-2); font-size: clamp(2.6rem, 2rem + 2vw, 4rem); }
.sello { border-radius: 50%; background: var(--tinta); color: var(--menta); }
.sello text { fill: var(--menta); font-family: var(--f-mono); }
.timeline::before { background: var(--selva-2); height: 1px; }
.tl-ico { border-width: 1.5px; border-color: var(--selva-2); color: var(--selva-2); background: var(--topo); box-shadow: 0 0 0 8px var(--topo); }
.tl-h { font-size: 2rem; color: var(--selva-2); font-family: var(--f-display); }
.acard-txt strong { font-weight: 400; text-transform: uppercase; font-size: 1.9rem; }
.acard-txt small { color: var(--menta); }
.vcard-btn { background: var(--menta); }
.lodge-teaser::before { background: linear-gradient(180deg, rgba(20, 26, 18, .35), rgba(20, 26, 18, .85)); }
.fireflies i { background: var(--menta); box-shadow: 0 0 10px 3px rgba(226, 255, 204, .6); }
.help-btn { border-radius: 0 !important; background: var(--menta) !important; color: var(--tinta) !important; box-shadow: none !important; }
.help-panel, .help-opt { border-radius: 0 !important; box-shadow: none !important; }

/* Pie de página: bloque de créditos en mono */
.site-footer { background: var(--tinta) var(--topo-claro) center / 1200px auto; color: var(--claro); }
.site-footer h4 { color: var(--menta); }
.site-footer a { color: var(--claro); }
.site-footer a:hover { color: var(--menta); }
.footer-cierre { overflow: hidden; border-top: 1px solid var(--linea-c); }
.footer-cierre p { margin: 0; font-family: var(--f-display); font-size: clamp(3.6rem, 13vw, 17rem); line-height: .84; color: var(--menta); text-transform: uppercase; white-space: nowrap; text-align: center; padding: 3vw 0 1vw; }

/* ---------- Responsive de la capa 2.0 ---------- */
@media (max-width: 1100px) {
	.exped, .exped.is-rev { grid-template-columns: 1fr; min-height: 0; }
	.exped.is-rev .exped-media { order: 0; }
	.exped-media { min-height: 62vw; }
	.mas { grid-template-columns: repeat(2, 1fr); }
	.itin li { grid-template-columns: 140px 1fr; }
	.itin-cama { grid-column: 2; }
}
@media (max-width: 860px) {
	.manif, .ruta, .guia, .bases, .incluye { grid-template-columns: 1fr; }
	.trofeos { --n: 1 !important; }
	.impacto { grid-template-columns: 1fr; }
	.scatter { min-height: 440px; }
	.base { min-height: 480px; }
	.reel-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; min-height: 0; }
	.reel-grid figure { grid-column: auto / span 1 !important; grid-row: auto !important; --x: 0 !important; --y: 0 !important; }
	.hx-top { top: 92px; }
	.hx-sello { display: none; }
	.hx-mid { flex-direction: column; align-items: flex-start; }
	.itin li { grid-template-columns: 1fr; gap: 10px; }
	.itin-cama { grid-column: auto; }
	.guia-foto figcaption { right: 0; }
}
@media (max-width: 560px) {
	.wrap { width: calc(100% - 32px); }
	.mas { grid-template-columns: 1fr; }
	.hx-t { font-size: 18.5vw; }
	.specs b { font-size: 1.5rem; }
	.exped-n { font-size: 4.4rem; }
	.exped-pol { width: 42%; }
}
.hx-exp .hx-t { font-size: clamp(3.6rem, 13.4vw, 19rem); }
.hx-exp .hx-t .w > span { white-space: nowrap; }
.manif .prosa { color: var(--texto); }
.manif .prosa > p:first-of-type:not(.eyebrow) { font-size: 1.25rem; line-height: 1.5; color: var(--selva-2); }
.reel .masonry { position: relative; }
.reel .masonry-item:nth-child(3n+1) { transform: rotate(-2deg); }
.reel .masonry-item:nth-child(3n+2) { transform: rotate(1.5deg); }
.reel-grid a { display: block; }
.mas-cta { background: var(--menta); justify-content: flex-end; }
.mas-cta:hover { background: var(--tinta); color: var(--menta); }
.mas-cta:hover p, .mas-cta:hover strong { color: var(--menta); }
.mas-cta div { padding: 26px; display: flex; flex-direction: column; gap: 10px; }
.mas-cta strong { font-size: clamp(2.4rem, 1.8rem + 2vw, 3.6rem); }
.mas-cta .badge { color: currentColor; }
/* Acentos de los titulares gigantes: sin recorte */
[data-split] .w { padding-top: .16em; margin-top: -.16em; }
.footer-cierre p { font-size: clamp(3rem, 10.6vw, 15rem); }
.hx-sello { top: 26%; }
.lang a, .lang-head a, .lang-foot a, [class*="lang-"] a { border-radius: 0 !important; }
[class*="lang-"] { border-radius: 0 !important; }
.specs b.txt { font-size: 1.3rem; line-height: 1; }
.lang, .lang a { border-radius: 0 !important; }

/* Variantes del fondo para que ninguna franja repita a la anterior */
.sec-selva { background-image: var(--rio-claro-b); background-size: 1600px auto; }
.temporada { background-image: var(--rio-claro-a); background-size: 1600px auto; }
.site-footer { background-image: var(--rio-claro-c); background-size: 1600px auto; }
.sec-rio { background-image: var(--rio-claro-c); background-size: 1800px auto; background-position: 30% 0; }
.sec-arena { background-image: var(--rio-oscuro-b); background-size: 1600px auto; }
.sec-papel { background-image: var(--rio-oscuro-c); background-size: 1600px auto; background-position: 60% 0; }
.ruta-mapa { background-image: var(--rio-claro-a); background-size: 1100px auto; }
main > section:nth-of-type(odd).sec-selva { background-image: var(--rio-claro-c); background-position: 70% 40%; }
main > section:nth-of-type(even).sec-arena { background-image: var(--rio-oscuro-a); background-position: 20% 30%; }
img[data-lb], [data-lb] img, .base { cursor: zoom-in; }
.base a, .base .btn { cursor: pointer; }
.trofeo img, .scatter img, .guia-foto img { transition: transform .5s var(--ease), filter .4s; }
.trofeo:hover img { transform: scale(1.03); filter: saturate(1.15); }
img[data-lb]:focus-visible { outline: 2px solid var(--menta); outline-offset: 4px; }
.lightbox { background: rgba(20, 26, 18, .96) !important; }
.lb-fig figcaption { font-family: var(--f-mono); text-transform: uppercase; font-size: .72rem; color: var(--menta); }
.lb-nav, .lb-x { border-radius: 0 !important; background: transparent !important; border: 1px solid var(--menta) !important; color: var(--menta) !important; }

/* ==========================================================================
   15. Pez musical flotante
   ========================================================================== */
.pez { position: fixed; left: 18px; bottom: 18px; z-index: 95; font-family: var(--f-mono); }
.pez-btn { position: relative; width: 92px; height: 52px; padding: 0; border: 0; background: none; cursor: pointer; color: var(--menta); filter: drop-shadow(0 0 0 transparent); }
.pez-btn svg { width: 100%; height: 100%; overflow: visible; }
.pez-btn path, .pez-btn rect { fill: var(--tinta); stroke: var(--menta); stroke-width: 2.4; stroke-linejoin: round; }
.pez-btn rect { fill: none; }
.pez-ojo { fill: var(--menta); }
.pez-cola { transform-origin: 92px 32px; }
.pez-cuerpo { transform-origin: 50px 32px; }
.pez-btn:hover .pez-cola, .pez.is-sonando .pez-cola { animation: pez-cola .5s ease-in-out infinite alternate; }
.pez.is-sonando .pez-cuerpo { animation: pez-nada 2.4s ease-in-out infinite; }
.pez.is-sonando .pez-btn path:first-child { fill: var(--selva-2); }
@keyframes pez-cola { from { transform: rotate(-14deg); } to { transform: rotate(14deg); } }
@keyframes pez-nada { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(2deg); } }
.pez-burbujas { position: absolute; left: 2px; top: 6px; pointer-events: none; }
.pez-burbujas i { position: absolute; width: 6px; height: 6px; border: 1.2px solid var(--menta); border-radius: 50%; opacity: 0; }
.pez.is-sonando .pez-burbujas i { animation: burbuja 2.6s ease-in infinite; }
.pez-burbujas i:nth-child(2) { left: 7px; animation-delay: .9s !important; width: 4px; height: 4px; }
.pez-burbujas i:nth-child(3) { left: -4px; animation-delay: 1.7s !important; }
@keyframes burbuja { 0% { opacity: 0; transform: translateY(0); } 20% { opacity: .9; } 100% { opacity: 0; transform: translateY(-34px); } }
.pez-invita { position: absolute; left: 100px; top: 12px; white-space: nowrap; background: var(--menta); color: var(--tinta); font-size: .66rem; text-transform: uppercase; padding: 6px 9px; opacity: 0; transform: translateX(-6px); transition: .4s var(--ease); pointer-events: none; }
.pez.is-invita .pez-invita { opacity: 1; transform: none; }
.pez.is-invita .pez-cola { animation: pez-cola .4s ease-in-out 6 alternate; }
.pez-panel { position: absolute; left: 0; bottom: 64px; width: min(330px, calc(100vw - 36px)); background: var(--tinta); color: var(--claro); border: 1px solid var(--menta); padding: 16px; animation: pop .25s var(--ease); }
.pez-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.pez-t { margin: 0; font-family: var(--f-display); font-size: 1.7rem; text-transform: uppercase; color: var(--menta); line-height: 1; }
.pez-x { background: none; border: 0; color: var(--claro-2); font: inherit; font-size: .66rem; text-transform: uppercase; cursor: pointer; padding: 4px; }
.pez-x:hover { color: var(--menta); }
.pez-ahora { display: flex; gap: 8px; align-items: center; margin: 10px 0 12px; font-size: .68rem; text-transform: uppercase; color: var(--kaki); }
.pez-eq { display: inline-flex; gap: 2px; align-items: flex-end; height: 12px; }
.pez-eq i { width: 3px; height: 3px; background: var(--menta); }
.pez.is-sonando .pez-eq i { animation: eq .8s ease-in-out infinite alternate; }
.pez-eq i:nth-child(2) { animation-delay: .2s !important; } .pez-eq i:nth-child(3) { animation-delay: .45s !important; } .pez-eq i:nth-child(4) { animation-delay: .1s !important; }
@keyframes eq { from { height: 3px; } to { height: 12px; } }
.pez-lista { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--linea-c); border-left: 1px solid var(--linea-c); }
.pez-lista button { width: 100%; height: 100%; text-align: left; background: none; border: 0; border-right: 1px solid var(--linea-c); border-bottom: 1px solid var(--linea-c); color: var(--claro); padding: 9px 10px; cursor: pointer; font: inherit; display: flex; flex-direction: column; gap: 2px; }
.pez-lista strong { font-family: var(--f-display); font-weight: 400; font-size: 1.05rem; text-transform: uppercase; line-height: 1; }
.pez-lista small { font-size: .6rem; color: var(--claro-2); }
.pez-lista button:hover { background: rgba(226, 255, 204, .07); }
.pez-lista button.is-on { background: var(--menta); color: var(--tinta); }
.pez-lista button.is-on small { color: var(--selva-2); }
.pez-ctrl { display: flex; gap: 12px; align-items: center; }
.pez-ctrl .btn-sol { background: var(--menta); color: var(--tinta); border-color: var(--menta); min-width: 104px; }
.pez-vol { flex: 1; }
.pez-vol input { width: 100%; accent-color: var(--menta); }
.pez-nota { margin: 10px 0 0; font-size: .58rem; color: var(--claro-2); text-transform: uppercase; }
@media (max-width: 560px) { .pez { left: 10px; bottom: 12px; } .pez-btn { width: 76px; height: 44px; } .pez-panel { bottom: 54px; } }
@media (prefers-reduced-motion: reduce) { .pez *, .pez { animation: none !important; } }

/* Instagram: reels reales de @delrioadventure */
.ig-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; align-items: start; }
.ig-grid .instagram-media { min-width: 0 !important; width: 100% !important; margin: 0 !important; border-radius: 0 !important; }
.ig-cta { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; border: 1px solid var(--menta); padding: 26px; }
.ig-cta strong { font-family: var(--f-display); font-weight: 400; font-size: clamp(2rem, 1.5rem + 2vw, 3.4rem); text-transform: uppercase; color: var(--menta); line-height: .95; }
.tt-cats .badge { color: var(--menta); width: 40px; height: 40px; }
.lb-fig img { border-radius: 0 !important; }

/* ==========================================================================
   16. Ilustraciones de Inírida (reemplazan los fondos repetidos)
   Una sola figura por franja, grande, en una esquina y animada con calma:
   cerros de Mavecure, Estrella Fluvial, Flor de Inírida y tonina.
   ========================================================================== */
.sec-arena, .sec-papel, .sec-selva, .sec-rio, .temporada, .site-footer, .ruta-mapa { background-image: none; }
.temporada { background: var(--tinta) url("assets/img/motivo-estrella-claro.svg") no-repeat right 4% top 40px / min(560px, 46vw) auto; }
.sec-selva { background: var(--tinta); }
.sec-rio { background: var(--selva-2) url("assets/img/motivo-tonina-claro.svg") no-repeat right 3% top 30px / min(540px, 44vw) auto; }
.sec-arena { background: var(--topo) url("assets/img/motivo-flor-oscuro.svg") no-repeat right 3% bottom 20px / auto min(460px, 70%); }
.sec-papel { background: var(--topo); }
#fechas, .sec-papel:has(.sgrid) { background: var(--topo) url("assets/img/motivo-tonina-oscuro.svg") no-repeat right 3% bottom 30px / min(440px, 32vw) auto; }
.site-footer { background: var(--tinta); }
.ruta-mapa { background: var(--tinta); }
main > section:nth-of-type(even).sec-arena { background-image: url("assets/img/motivo-cerros-oscuro.svg"); background-position: right 2% bottom 20px; background-size: min(620px, 48vw) auto; }
.sec-kaki { background: var(--kaki) url("assets/img/motivo-flor-oscuro.svg") no-repeat right 2% top 30px / auto 360px; }
@media (max-width: 860px) {
	.temporada, .sec-selva, .sec-rio, .sec-arena, .sec-papel, .site-footer, .sec-kaki { background-size: 300px auto !important; background-position: right -40px top 20px !important; }
	.sec-arena, .sec-kaki { background-size: auto 240px !important; }
}

.footer-cerros { display: flex; justify-content: center; padding: 30px 0 0; border-top: 1px solid var(--linea-c); }
.footer-cerros img { width: min(560px, 86vw); height: auto; }
.footer-cierre { border-top: 0; }


/* ==================================================================
 * Mi cuenta · bitácora del viajero (2.3)
 * Foto del río de fondo, tarjetas de vidrio, pestañas de cuaderno de campo.
 * ================================================================== */
.cuenta-bitacora { position: relative; background: var(--tinta); color: var(--claro); isolation: isolate; padding-top: 96px; min-height: 100vh; }
.cuenta-fondo { position: fixed; inset: 0; z-index: -1; background-size: cover; background-position: center; }
.cuenta-fondo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20, 26, 18, .6), rgba(20, 26, 18, .35) 30%, rgba(20, 26, 18, .9) 85%); }
.cuenta-cabeza { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; padding: 40px 0 28px; }
.cuenta-cabeza .eyebrow { color: var(--menta); margin: 0 0 6px; }
.cuenta-hola { font-family: var(--f-display); font-weight: 400; font-size: clamp(3rem, 8vw, 5.6rem); line-height: .92; text-transform: uppercase; margin: 0; color: var(--claro); text-wrap: balance; }
.cuenta-coords { font: .72rem/1.8 var(--f-mono); letter-spacing: .06em; color: var(--claro-2); text-align: right; }
.cuenta-coords b { color: var(--menta); font-weight: 600; }
.cuenta-bitacora .cuenta-salir { display: block; margin: 6px 0 0; color: var(--menta); text-transform: uppercase; }
.cuenta-bitacora .cuenta-grid { grid-template-columns: 220px minmax(0, 1fr); gap: 28px; margin-top: 0; padding-bottom: 90px; }
.cuenta-bitacora .cuenta-main { padding-top: 0; }

/* Pestañas */
.cuenta-bitacora .cuenta-nav { background: none; box-shadow: none; padding: 0; gap: 6px; top: 84px; border-radius: 0; }
.cuenta-bitacora .cuenta-nav a { gap: 12px; padding: 12px 14px; border-radius: 0; background: rgba(194, 167, 125, .14); border-left: 3px solid transparent; color: var(--claro); font: 500 .72rem var(--f-mono); letter-spacing: .07em; text-transform: uppercase; backdrop-filter: blur(8px); transition: transform .2s, background .2s; }
.cuenta-bitacora .cuenta-nav a:hover { background: rgba(194, 167, 125, .26); transform: translateX(4px); color: var(--claro); }
.cuenta-bitacora .cuenta-nav a.is-on { background: var(--kaki); color: var(--tinta); border-left-color: var(--menta); transform: translateX(8px); font-weight: 700; }
.cuenta-bitacora .cuenta-nav svg { width: 18px; height: 18px; flex: none; }
.cuenta-bitacora .cuenta-nav .badge { width: auto; height: 20px; min-width: 20px; padding: 0 6px; margin-left: auto; border: 0; border-radius: 0; background: #e07a2f; color: #fff; font-size: .66rem; display: inline-grid; place-items: center; }
.cuenta-bitacora .cuenta-nav-tienda { margin-top: 10px; border-top: 0; border-radius: 0 !important; padding-top: 12px !important; border-left: 3px solid transparent; }

/* Vidrio */
.vidrio { background: rgba(20, 26, 18, .55); border: 1px solid rgba(226, 255, 204, .16); backdrop-filter: blur(16px) saturate(1.2); -webkit-backdrop-filter: blur(16px) saturate(1.2); box-shadow: 0 24px 60px -30px rgba(0, 0, 0, .8); color: var(--claro); animation: dr-flotar 7s ease-in-out infinite; }
@keyframes dr-flotar { 50% { transform: translateY(-5px); } }
.tablero { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; align-items: start; }
.t-viaje { grid-column: span 4; display: grid; grid-template-columns: 200px minmax(0, 1fr); }
.t-cifras { grid-column: span 2; animation-delay: -2s; }
.t-mochila { grid-column: span 3; animation-delay: -4s; }
.t-avisos { grid-column: span 3; animation-delay: -1s; }
.t-eventos { grid-column: 1 / -1; animation: none; }
.t-lista { animation: none; }
.t-pad { padding: 22px; }
.t-etq { display: flex; justify-content: space-between; gap: 10px; margin: 0 0 12px; font: 700 .66rem var(--f-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--kaki); }
.t-etq a { color: var(--menta); }
.t-foto { background-size: cover; background-position: center; min-height: 220px; position: relative; }
.t-foto .pill { position: absolute; left: 12px; top: 12px; }
.t-titulo { font-family: var(--f-display); font-weight: 400; font-size: 2.2rem; line-height: 1; text-transform: uppercase; margin: 0 0 4px; color: var(--claro); }
.t-meta { font: .74rem/1.6 var(--f-mono); color: var(--claro-2); margin: 0 0 14px; }
.vidrio .countdown { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0 0 18px; }
.vidrio .countdown div { border-radius: 0; min-width: 0; background: none; border: 1px solid rgba(233, 236, 223, .14); padding: 8px 4px; }
.vidrio .countdown b { font-size: 2rem; color: var(--menta); }
.t-ruta { list-style: none; margin: 0 0 18px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); position: relative; font: .62rem/1.35 var(--f-mono); letter-spacing: .05em; text-transform: uppercase; color: var(--claro-2); }
.t-ruta::before { content: ""; position: absolute; left: 6px; right: 12%; top: 6px; border-top: 2px dashed rgba(226, 255, 204, .35); }
.t-ruta li { position: relative; padding: 20px 6px 0 0; }
.t-ruta li::before { content: ""; position: absolute; left: 0; top: 0; width: 12px; height: 12px; background: var(--tinta); border: 2px solid var(--menta); }
.t-ruta li.hecho::before { background: var(--menta); }
.vidrio .btns { display: flex; gap: 8px; flex-wrap: wrap; }
.cuenta-bitacora .vidrio .btn-sol { background: var(--menta); color: var(--tinta); border-color: var(--menta); }

/* Cifras */
.cifras { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 14px; }
.cifras > * { color: var(--claro); display: block; }
.cifras svg { width: 18px; height: 18px; color: var(--kaki); display: block; margin-bottom: 4px; }
.cifras b { display: block; font-family: var(--f-display); font-weight: 400; font-size: 2.6rem; line-height: 1; font-variant-numeric: tabular-nums; }
.cifras small { font: .62rem/1.35 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--claro-2); }
.cifras a:hover b { color: var(--menta); }

/* Mochila */
.moch-top { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; }
.bolsa { width: 60px; flex: none; color: var(--kaki); }
.bolsa-lleno { fill: var(--menta); transition: y .5s var(--ease), height .5s var(--ease); }
.moch-pct b { font-family: var(--f-display); font-weight: 400; font-size: 1.9rem; color: var(--menta); line-height: 1; }
.moch-pct p { margin: 4px 0 0; font-size: .88rem; color: var(--claro-2); }
.moch-grupos { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.moch-grupos button { all: unset; cursor: pointer; padding: 6px 9px; border: 1px solid rgba(233, 236, 223, .2); font: 700 .62rem var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--claro-2); }
.moch-grupos button[aria-selected="true"] { border-color: var(--menta); color: var(--menta); }
.moch-grupos button:focus-visible, .moch-items input:focus-visible { outline: 2px solid var(--menta); outline-offset: 2px; }
.moch-items { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.moch-items label { display: flex; align-items: center; gap: 10px; padding: 8px 10px; background: rgba(233, 236, 223, .05); cursor: pointer; font: 400 .92rem/1.4 var(--f-text); color: var(--claro); }
.moch-items input { appearance: none; -webkit-appearance: none; width: 18px; height: 18px; margin: 0; flex: none; border: 1.5px solid var(--kaki); display: grid; place-items: center; cursor: pointer; }
.moch-items input:checked { background: var(--menta); border-color: var(--menta); }
.moch-items input:checked::after { content: ""; width: 9px; height: 5px; border: solid var(--tinta); border-width: 0 0 2px 2px; transform: rotate(-45deg) translate(1px, -1px); }
.moch-items input:checked + span { color: var(--claro-2); text-decoration: line-through; text-decoration-color: var(--kaki); }
.moch-nota { margin: 16px 0 0; font-size: .88rem; color: var(--claro-2); }
.moch-nota a { color: var(--menta); }

/* Avisos de campamento: etiquetas de equipaje */
.avisos-campo { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.aviso-campo { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 12px; align-items: start; padding: 12px 14px 12px 24px; background: rgba(233, 236, 223, .06); clip-path: polygon(14px 0, 100% 0, 100% 100%, 14px 100%, 0 50%); position: relative; transition: transform .25s; transform-origin: left center; }
.aviso-campo:hover { transform: rotate(-.8deg); }
.aviso-campo::before { content: ""; position: absolute; left: 8px; top: calc(50% - 3px); width: 6px; height: 6px; border-radius: 50%; background: var(--tinta); box-shadow: 0 0 0 1px var(--kaki); }
.ac-ico { width: 46px; height: 46px; display: grid; place-items: center; background: var(--selva-2); color: var(--menta); }
.ac-ico svg { width: 24px; height: 24px; }
.aviso-campo.is-nuevo .ac-ico { background: #e07a2f; color: #fff; }
.aviso-campo.is-nuevo .ac-ico svg { animation: dr-titilar 2.4s ease-in-out infinite; }
@keyframes dr-titilar { 50% { opacity: .5; } }
.aviso-campo strong { display: block; font-weight: 600; color: var(--claro); }
.aviso-campo p { margin: 2px 0 4px; font-size: .88rem; color: var(--claro-2); }
.aviso-campo small { font: .62rem var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--kaki); }
.aviso-campo small a { color: var(--menta); }
.cuenta-bitacora .vacio { color: var(--claro-2); }

/* Secciones en hoja de cuaderno (viajes, agenda, mensajes, pedidos, ficha) */
.cuenta-hoja { background: var(--arena); color: var(--texto); padding: 28px !important; box-shadow: 0 24px 60px -30px rgba(0, 0, 0, .8); }
.cuenta-bitacora .cuenta-main:not(.cuenta-hoja) .sec-titulo h2 { color: var(--claro); }
.cuenta-bitacora .cuenta-main:not(.cuenta-hoja) .btn-ghost-dark { color: var(--menta); border-color: var(--menta); }
.cuenta-bitacora .vacio-grande { background: rgba(20, 26, 18, .55); border-color: rgba(226, 255, 204, .2); color: var(--claro-2); border-radius: 0; }

@media (max-width: 960px) {
	.cuenta-bitacora { padding-top: 76px; }
	.cuenta-coords { text-align: left; }
	.cuenta-bitacora .cuenta-grid { grid-template-columns: minmax(0, 1fr); }
	.cuenta-bitacora .cuenta-nav { position: static; display: flex; overflow-x: auto; padding-bottom: 8px; }
	.cuenta-bitacora .cuenta-nav a { flex: none; white-space: nowrap; }
	.cuenta-bitacora .cuenta-nav a.is-on { transform: translateY(-3px); border-left: 0; border-bottom: 3px solid var(--menta); }
	.cuenta-bitacora .cuenta-nav-tienda { margin-top: 0; }
	.tablero > * { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
	.t-viaje { grid-template-columns: minmax(0, 1fr); }
	.t-foto { min-height: 150px; }
	.vidrio .countdown b { font-size: 1.5rem; }
	.cuenta-hoja { padding: 18px !important; }
}
@media (prefers-reduced-motion: reduce) {
	.vidrio, .aviso-campo.is-nuevo .ac-ico svg { animation: none; }
}

/* Reels de Instagram en Recuerdos */
.vcard-ig .instagram-media{min-width:0!important;width:100%!important;margin:0 0 12px!important;border-radius:0!important}

/* Firma de aceptación de riesgos en "Mis viajes" */
.viaje-firma{border:1px solid currentColor;padding:10px 12px;margin:12px 0;font-size:.92rem}
.viaje-firma summary{cursor:pointer;font-weight:700}
.viaje-firma .form{margin-top:10px;display:grid;gap:10px}
.viaje-firma.is-ok{border-style:dashed;opacity:.85}
