/* Ficha de tour editorial (se usa junto con base.css): contenido en el orden en que el viajero se hace las preguntas y caja de solicitud fija a la derecha. */
.title{display:grid;gap:12px;padding-bottom:22px}
.title h1{font-size:clamp(2.6rem,5.6vw,4.6rem);letter-spacing:-.01em}
.title .hook{font-family:var(--display);font-style:italic;font-size:clamp(1.3rem,2.2vw,1.6rem);color:var(--muted)}
.keyfacts{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:6px;font-size:.92rem}
.keyfacts span{display:inline-flex;align-items:center;gap:8px}
.keyfacts svg{width:18px;height:18px;color:var(--cobre);flex:none}

.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:clamp(320px,52vw,520px)}
.gallery button{border:0;padding:0;border-radius:16px;background:var(--soft) center/cover;cursor:zoom-in;position:relative;overflow:hidden;min-height:0}
.gallery button:first-child{grid-row:1/3}
.gallery .more{position:absolute;right:12px;bottom:12px;background:rgba(246,242,234,.94);color:#1E2722;font-size:.8rem;font-weight:700;border-radius:999px;padding:.4em .9em}
@media (max-width:720px){.gallery{grid-template-columns:1fr 1fr;grid-template-rows:2fr 1fr;height:420px}.gallery button:first-child{grid-column:1/3;grid-row:auto}.gallery button:nth-child(n+4){display:none}}

.layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(28px,4vw,56px);align-items:start;padding-block:40px 80px}
@media (max-width:960px){.layout{grid-template-columns:1fr}}
.content{display:grid;gap:56px;min-width:0}
.block{display:grid;gap:18px}
.block > h2{font-size:clamp(2rem,3.6vw,2.6rem)}
.block .lead{color:var(--muted);max-width:66ch}

.hl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;counter-reset:h}
.hl li{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;counter-increment:h}
.hl li::before{content:counter(h, decimal-leading-zero);font-family:var(--display);font-size:1.7rem;line-height:1;color:var(--cobre)}
@media (max-width:620px){.hl{grid-template-columns:1fr}}

.clip{display:grid;gap:12px}
.clip video{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px;background:var(--soft);display:block}
.clip p{color:var(--muted)}
.glance{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.glance div{background:var(--surface);padding:14px 16px;display:grid;gap:3px;min-width:0}
.glance span{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.glance b{font-weight:500;font-size:.95rem}
@media (max-width:620px){.glance{grid-template-columns:1fr 1fr}}

.tl{list-style:none;margin:0;padding:0;display:grid;gap:0;border-left:2px solid var(--line);margin-left:6px}
.tl li{position:relative;display:grid;grid-template-columns:62px 1fr;gap:14px;padding:0 0 22px 22px}
.tl li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--cobre)}
.tl li.meal::before{background:var(--cobre)}
.tl time{font-family:var(--mono);font-size:.86rem;color:var(--fg);font-variant-numeric:tabular-nums}
.tl b{display:block;font-size:1.02rem}
.tl p{color:var(--muted);font-size:.94rem}
.tl .tag{display:inline-block;margin-top:6px;font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--cobre-2);color:var(--cobre);border-radius:999px;padding:.2em .6em}
.dayfoot{display:flex;flex-wrap:wrap;gap:8px 22px;background:var(--soft);border-radius:12px;padding:12px 16px;font-size:.88rem}
.dayfoot b{font-weight:700}

.maps{display:grid;grid-template-columns:1fr 1.3fr;gap:14px}
.map{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;gap:10px;min-width:0}
.map h3{font-family:var(--body);font-size:.95rem;font-weight:700}
.map small{color:var(--muted);font-size:.78rem}
.map svg{width:100%;height:auto;display:block}
.map svg text{font-family:var(--body);fill:var(--fg)}
@media (max-width:720px){.maps{grid-template-columns:1fr}}

.fine{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fine section{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 20px;display:grid;gap:10px;align-content:start}
.fine h3{font-family:var(--body);font-size:1rem;font-weight:700;display:flex;align-items:center;gap:8px}
.fine ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:.93rem;color:var(--muted)}
.fine li{display:grid;grid-template-columns:18px 1fr;gap:8px}
.fine .yes li::before{content:"✓";color:var(--bosque);font-weight:700}
.fine .no li::before{content:"–";color:var(--cobre);font-weight:700}
.fine .bring li::before,.fine .know li::before{content:"·";color:var(--cobre);font-weight:700;font-size:1.3rem;line-height:1}
@media (max-width:720px){.fine{grid-template-columns:1fr}}

.logi{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.logi div{border-top:2px solid var(--bosque);padding-top:12px;display:grid;gap:4px}
.logi span{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.logi p{font-size:.95rem}
@media (max-width:720px){.logi{grid-template-columns:1fr}}

.promise{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}
.promise div{display:grid;grid-template-columns:22px 1fr;gap:10px}
.promise svg{width:20px;height:20px;color:var(--bosque);margin-top:3px}
.promise b{display:block}
.promise p{color:var(--muted);font-size:.93rem}
@media (max-width:620px){.promise{grid-template-columns:1fr}}
.reviews{border:1.5px dashed var(--cobre-2);border-radius:16px;padding:20px;display:grid;gap:6px;color:var(--muted);font-size:.93rem}
.reviews b{color:var(--fg)}

.custom{background:var(--band);color:var(--on-band);border-radius:20px;padding:clamp(24px,4vw,40px);display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center}
.custom h2{font-size:clamp(1.9rem,3.4vw,2.5rem);color:var(--on-band)}
.custom p{color:#C9CFC7}
.custom .btn{background:#EFE9DE;color:#17211C;justify-self:start}
@media (max-width:720px){.custom{grid-template-columns:1fr}}

.related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.related a{text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:grid}
.related .ph{aspect-ratio:4/3;background:var(--soft) center/cover;max-width:100%}
.related .b{padding:12px 14px 14px;display:grid;gap:4px}
.related h3{font-size:1.3rem}
.related small{color:var(--muted)}
@media (max-width:720px){.related{grid-template-columns:1fr}}

/* caja de solicitud */
.book{position:sticky;top:calc(86px + env(safe-area-inset-top,0px));background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px;display:grid;gap:14px;box-shadow:0 24px 60px -36px rgba(20,30,25,.45)}
.book .head{display:grid;gap:2px}
.book .head b{font-family:var(--display);font-size:1.6rem;font-weight:500;line-height:1.1}
.book .head span{font-size:.86rem;color:var(--muted)}
.book label{display:flex;flex-direction:column;gap:6px;font-size:.82rem;font-weight:700}
.book input{border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:.7em .8em;font-weight:400;width:100%}
.seg{display:flex;gap:6px}
.seg button{flex:1;border:1px solid var(--line);background:transparent;border-radius:8px;padding:.55em;cursor:pointer;font-family:var(--mono)}
.seg button[aria-pressed="true"]{background:var(--bosque);color:var(--bg);border-color:var(--bosque)}
.book .ticks{list-style:none;margin:0;padding:12px 0 0;border-top:1px solid var(--line);display:grid;gap:6px;font-size:.86rem;color:var(--muted)}
.book .ticks li{display:grid;grid-template-columns:18px 1fr;gap:6px}
.book .ticks li::before{content:"✓";color:var(--bosque);font-weight:700}
.ok{border:1px solid color-mix(in srgb,var(--bosque) 40%,transparent);background:color-mix(in srgb,var(--bosque) 10%,transparent);border-radius:10px;padding:10px 12px;font-size:.88rem}
.ok .send{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ok .send .btn{flex:1 1 auto}
@media (max-width:960px){.book{position:static}}
.mbar{display:none}
@media (max-width:960px){.mbar{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px))}.mbar small{color:var(--muted);font-size:.8rem}body{padding-bottom:74px}}

.lightbox{position:fixed;inset:0;z-index:90;background:rgba(10,14,12,.92);display:grid;place-items:center;align-content:center;gap:10px;padding:24px;cursor:zoom-out}
.lightbox img{max-height:84vh;border-radius:12px}
.lightbox p{color:#C9CFC7;font-size:.85rem}

/* galerías con menos de cinco fotos */
.gallery.n3{grid-template-columns:2fr 1fr}
.gallery.n4{grid-template-columns:2fr 1fr 1fr}.gallery.n4 button:nth-child(2){grid-column:2/4}
@media (max-width:720px){.gallery.n3,.gallery.n4{grid-template-columns:1fr 1fr}.gallery.n4 button:nth-child(2){grid-column:auto}}
