/* tour-detail.css — páginas de reserva de cada tour (Classic · Maras & Moray · Privado) */
.detail-top{padding:28px 24px 10px;}
.detail-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px;}
.detail-head h1{font-size:clamp(30px,4vw,48px);font-weight:800;letter-spacing:-.025em;line-height:1.05;color:var(--dark);max-width:760px;}
.dh-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-top:12px;font-size:14px;color:var(--text-light);}
.dh-meta b{color:var(--dark);}
.dh-price{text-align:right;flex-shrink:0;}
.dh-price small{display:block;font-size:12px;color:var(--text-light);font-weight:600;}
.dh-price b{font-size:34px;font-weight:800;letter-spacing:-.02em;color:var(--dark);}
/* galería */
.detail-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:210px 210px;gap:10px;border-radius:var(--radius);overflow:hidden;}
.detail-gallery .gallery-item{height:100%;}
.detail-gallery .dg-main{grid-row:span 2;}
.dg-more{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;background:rgba(30,35,31,.55);color:#fff;font-family:var(--font);font-weight:700;font-size:16px;}
/* cuerpo con tarjeta lateral */
.detail-body{padding-top:30px;}
.detail-main{min-width:0;}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:44px;max-width:var(--max-w);margin:0 auto;align-items:start;}
.dt-h2{font-size:clamp(24px,2.6vw,30px);font-weight:800;letter-spacing:-.02em;color:var(--dark);margin:48px 0 16px;}
.dt-sub{color:var(--text-light);font-size:15px;margin:-6px 0 22px;}
.dt-lead{font-size:17.5px;line-height:1.65;color:var(--text);margin:28px 0 0;}
.facts-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.fg-item{display:flex;gap:10px;align-items:center;padding:16px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);}
.fg-item:nth-child(4n){border-right:none;}
.fg-item:nth-last-child(-n+4){border-bottom:none;}
.fg-ic{width:38px;height:38px;border-radius:50%;background:var(--primary-soft);color:var(--primary-ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.fg-item small{display:block;font-size:11.5px;color:var(--text-light);font-weight:600;}
.fg-item b{display:block;font-size:14.5px;color:var(--dark);line-height:1.3;}
.highlight-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.hl-img{border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#dfe6da;margin-bottom:10px;}
.hl-img img{width:100%;height:100%;object-fit:cover;display:block;}
.hl-card p{font-size:14.5px;color:var(--text-light);line-height:1.5;}
.hl-card span{display:inline-block;margin-top:6px;font-size:11.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--primary-ink);}
/* línea de tiempo con foto por parada (sobre .itin-steps de la madre) */
.tl-photo{max-width:none;gap:26px;}
.tl-photo .itin-step{align-items:flex-start;}
.tl-photo .itin-body{flex:1;}
.tl-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.tl-chips span{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--dark);background:var(--bg);border:1px solid var(--border);padding:4px 10px;border-radius:20px;}
.tl-img{width:210px;flex-shrink:0;border-radius:12px;overflow:hidden;aspect-ratio:4/3;position:relative;background:#dfe6da;margin:0;}
.tl-img img{width:100%;height:100%;object-fit:cover;display:block;}
.tl-img figcaption{position:absolute;left:8px;bottom:8px;right:8px;background:rgba(30,35,31,.72);color:#fff;font-size:11.5px;font-weight:600;padding:4px 8px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dt-note{display:flex;gap:10px;align-items:flex-start;margin-top:16px;}
.dt-note svg{flex-shrink:0;margin-top:2px;}
.dt-lunch{grid-template-columns:repeat(4,1fr);gap:12px;}
.dt-lunch .lunch-card{padding:16px 14px;}
.dt-lunch .btn-sm{font-size:13px;padding:8px 10px;}
.olla-band{display:flex;align-items:center;gap:14px;margin-top:16px;background:var(--primary-soft);border:1px solid #D5E7C8;border-radius:var(--radius);padding:16px 18px;color:var(--primary-ink);}
.olla-band p{flex:1;font-size:15px;color:var(--text);}
.olla-band svg{flex-shrink:0;}
.process-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.pc-card{border:1px solid var(--border);border-radius:var(--radius);padding:22px;}
.pc-card h3{font-size:17px;font-weight:800;color:var(--dark);margin-bottom:14px;}
.pc-steps{list-style:none;counter-reset:pc;display:flex;flex-direction:column;gap:12px;}
.pc-steps li{counter-increment:pc;display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--text);line-height:1.45;}
.pc-steps li::before{content:counter(pc);width:26px;height:26px;border-radius:50%;background:var(--primary-ink);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.flex-band{margin-top:48px;background:var(--primary-ink);border-radius:20px;padding:32px 30px;color:#fff;}
.flex-band h2{font-size:clamp(26px,3vw,34px);font-weight:800;letter-spacing:-.02em;margin-bottom:18px;}
.fb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.fb-item{background:rgba(0,0,0,.14);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:18px;}
.fb-item h3{font-size:19px;font-weight:800;margin-bottom:6px;}
.fb-item p{font-size:15px;font-weight:600;line-height:1.5;color:#fff;}
.fb-link{display:inline-block;margin-top:18px;background:#fff;color:var(--primary-ink);font-weight:800;font-size:14.5px;padding:10px 18px;border-radius:30px;text-decoration:none;}
.contact-channels{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.cc-card{display:flex;flex-direction:column;gap:4px;border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-decoration:none;color:var(--primary-ink);}
.cc-card b{color:var(--dark);font-size:15px;margin-top:6px;}
.cc-card span{font-size:13.5px;color:var(--text-light);line-height:1.4;word-break:break-word;}
a.cc-card:hover{border-color:var(--primary-ink);}
/* tarjeta de reserva pegajosa */
.book-aside{position:sticky;top:96px;}
.ba-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:0 20px 50px rgba(30,35,31,.1);}
.ba-from{font-size:12px;color:var(--text-light);font-weight:600;}
.ba-price{font-size:36px;font-weight:800;letter-spacing:-.02em;color:var(--dark);display:flex;align-items:baseline;gap:6px;margin-bottom:14px;}
.ba-price .stars{font-size:16px;margin-left:auto;}
.ba-price em{font-style:normal;font-size:15px;font-weight:700;color:var(--dark);}
.ba-opts{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.ba-opt{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1.5px solid var(--border);border-radius:10px;padding:11px 13px;font-size:14px;color:var(--text);text-decoration:none;transition:border-color .2s,background .2s;}
.ba-opt b{color:var(--dark);}
.ba-opt:hover,.ba-opt.on{border-color:var(--primary-ink);background:var(--primary-soft);}
.ba-book{display:block;text-align:center;background:var(--primary-ink);color:#fff;font-weight:800;font-size:16px;padding:15px;border-radius:12px;text-decoration:none;transition:background .2s;}
.ba-book:hover{background:var(--primary-dark);}
.ba-wa{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;background:#fff;border:1.5px solid var(--green-dark);color:#15803D;font-weight:700;font-size:15px;padding:13px;border-radius:12px;text-decoration:none;}
.ba-wa:hover{background:#F0FDF4;}
.ba-notes{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:6px;}
.ba-notes li{font-size:13px;color:var(--text-light);padding-left:20px;position:relative;}
.ba-notes li::before{content:'✓';position:absolute;left:0;color:var(--primary-ink);font-weight:800;}
#also .net-card.txt{min-height:0;}
@media(max-width:1000px){
  .detail-layout{grid-template-columns:1fr;}
  .book-aside{position:static;max-width:520px;}
  .dt-lunch{grid-template-columns:1fr 1fr;}
  .facts-grid{grid-template-columns:1fr 1fr;}
  .fg-item:nth-child(4n){border-right:1px solid var(--border);}
  .fg-item:nth-child(2n){border-right:none;}
  .fg-item:nth-last-child(-n+4){border-bottom:1px solid var(--border);}
  .fg-item:nth-last-child(-n+2){border-bottom:none;}
  .contact-channels{grid-template-columns:1fr 1fr;}
}
@media(max-width:700px){
  .detail-head{flex-direction:column;align-items:flex-start;}
  .dh-price{text-align:left;}
  .detail-gallery{grid-template-columns:none;grid-template-rows:none;grid-auto-flow:column;grid-auto-columns:88%;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:0;}
  .detail-gallery .gallery-item{aspect-ratio:4/3;scroll-snap-align:start;border-radius:12px;}
  .detail-gallery .dg-main{grid-row:auto;}
  .highlight-cards{grid-template-columns:1fr;}
  .tl-photo .itin-step{flex-wrap:wrap;}
  .tl-img{width:100%;margin-left:60px;max-width:calc(100% - 60px);}
  .process-cols,.fb-grid{grid-template-columns:1fr;}
  .olla-band{flex-wrap:wrap;}
}
@media(max-width:600px){
  .dt-lunch,.contact-channels{grid-template-columns:1fr;}
}
/* privado: tablas, rutas y tarjeta de cotización (bloque 2) */
.dt-table{margin:0;}
.dt-table .price-table{min-width:520px;}
.dt-small{font-size:13.5px;color:var(--text-light);margin-top:10px;}
.route-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.route-card{border:1px solid var(--border);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:6px;}
.route-card h3{font-size:19px;font-weight:800;color:var(--dark);}
.route-card p{font-size:14.5px;color:var(--text-light);line-height:1.55;flex:1;}
.rc-tag{align-self:flex-start;font-size:11.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--primary-ink);background:var(--primary-soft);padding:4px 10px;border-radius:20px;}
div.ba-opt{cursor:default;}
div.ba-opt:hover{border-color:var(--border);background:transparent;}
.ba-alt{border-color:var(--border);color:var(--dark);}
.ba-alt:hover{background:var(--bg);}
@media(max-width:700px){
  .route-cards{grid-template-columns:1fr;}
}
/* refinamiento: proceso de reserva resumido (dueña: how-to-book) */
.book-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.book-strip span{display:flex;gap:10px;align-items:flex-start;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px;font-size:14px;line-height:1.4;color:var(--text);}
.book-strip b{width:24px;height:24px;border-radius:50%;background:var(--primary-ink);color:#fff;font-size:12.5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
@media(max-width:700px){
  .book-strip{grid-template-columns:1fr 1fr;}
}
