/* Trip detail page styles (shared reset/vars/popup live in base.css) */

header{background:var(--black);color:var(--cream);padding:22px 40px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;}
.logo{font-weight:800;font-size:26px;text-transform:uppercase;letter-spacing:-.5px;color:var(--cream);text-decoration:none;}
.logo em{font-style:italic;}
nav{display:flex;align-items:center;}
nav a{color:var(--cream);text-decoration:none;font-weight:600;text-transform:uppercase;font-size:13px;letter-spacing:1px;margin-left:28px;line-height:1;}
nav a:hover{color:var(--red);}
nav a.cta{background:var(--red);padding:9px 16px;}
nav a.cta:hover{background:#b5182f;color:var(--cream);}

/* HERO */
.hero{background:var(--black);text-align:center;padding:60px 20px;}
.hero h1{font-family:'Anton',sans-serif;color:var(--red);font-size:clamp(44px,7vw,96px);line-height:.95;text-transform:uppercase;}
.hero .frame{margin:34px auto 0;max-width:560px;border:4px solid var(--red);height:300px;position:relative;overflow:hidden;}
.hero .frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
.hero .frame{background:linear-gradient(135deg,#b76a35,#e0a45e 60%,#7a4520);display:flex;align-items:center;justify-content:center;color:var(--black);font-family:'Anton',sans-serif;font-size:22px;text-transform:uppercase;letter-spacing:2px;}
.hero p{color:var(--cream);margin-top:24px;font-size:16px;}
.chevrons{display:flex;justify-content:center;gap:14px;margin-top:30px;}

/* KEY FACTS BAR */
.facts{background:var(--red);color:var(--cream);display:flex;flex-wrap:wrap;justify-content:center;gap:0;}
.facts div{padding:18px 34px;text-align:center;border-right:1px solid rgba(0,0,0,.2);}
.facts div:last-child{border-right:none;}
.facts b{display:block;font-family:'Anton',sans-serif;font-size:22px;text-transform:uppercase;}
.facts span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;}

/* LAYOUT */
.wrap{max-width:1140px;margin:0 auto;padding:70px 30px;display:grid;grid-template-columns:1fr 340px;gap:60px;align-items:start;}
@media(max-width:900px){.wrap{grid-template-columns:1fr;}}

h2.day{font-family:'Anton',sans-serif;font-size:30px;text-transform:uppercase;margin:34px 0 10px;line-height:1.05;}
h2.day:first-child{margin-top:0;}
.itin p{font-size:15px;line-height:1.65;}
.itin .ov{margin-top:8px;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--red);}
.itin-label{font-family:'Anton',sans-serif;font-size:44px;text-transform:uppercase;border-bottom:4px solid var(--black);padding-bottom:12px;margin-bottom:30px;}
.photo-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:26px;}
@media(max-width:700px){.photo-strip{grid-template-columns:1fr;}}
.photo-strip .ph{border:3px solid var(--black);height:220px;overflow:hidden;}
.photo-strip img{width:100%;height:100%;object-fit:cover;display:block;}
.note{margin-top:30px;font-size:13px;font-style:italic;color:#6b6250;}

/* SIDEBAR */
aside{position:sticky;top:100px;}
/* Single-column mobile: let the sidebar flow normally (no sticky) so it reads
   booking box → host → quote → WhatsApp under the itinerary. */
@media(max-width:900px){aside{position:static;top:auto;}}
.book-box{background:var(--black);color:var(--cream);padding:30px;}
.book-box h3{font-family:'Anton',sans-serif;font-size:28px;text-transform:uppercase;line-height:1.05;}
.book-box h3 em{font-style:italic;color:var(--red);}
.big-price{font-family:'Anton',sans-serif;font-size:44px;margin:18px 0 2px;}
.big-price small{font-family:'Archivo',sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#cfc4a8;display:block;}
.book-box ul{list-style:none;margin:18px 0;font-size:13px;line-height:2;color:#cfc4a8;}
.book-box ul b{color:var(--cream);}
.btn{display:block;text-align:center;background:var(--red);color:var(--cream);text-decoration:none;font-weight:800;text-transform:uppercase;font-size:14px;letter-spacing:1px;padding:16px;margin-top:10px;}
.btn:hover{background:#b5182f;}
.btn.alt{background:transparent;border:2px solid var(--cream);}
.btn.alt:hover{background:var(--cream);color:var(--black);}
.secure{margin-top:14px;text-align:center;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#8f8570;}
.proof{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:600;color:#cfc4a8;margin-top:16px;padding-top:14px;border-top:1px solid #2a2a2a;}
.dot{width:7px;height:7px;border-radius:50%;background:var(--red);animation:pulse 1.6s infinite;}
@keyframes pulse{50%{opacity:.35;}}

/* mini testimonial */
.mini-quote{background:var(--cream);border:3px solid var(--black);padding:24px;margin-top:24px;}
.mini-quote p{font-size:14px;line-height:1.6;font-style:italic;}
.mini-quote .who{margin-top:12px;font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:1.5px;}
.mini-quote .who span{color:var(--red);}

/* INCLUDED */
.included{background:var(--black);color:var(--cream);padding:70px 30px;}
.included .inner{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:50px;}
@media(max-width:700px){.included .inner{grid-template-columns:1fr;}}
.included h3{font-family:'Anton',sans-serif;font-size:32px;text-transform:uppercase;margin-bottom:18px;}
.included ul{list-style:none;font-size:15px;line-height:2.1;color:#cfc4a8;}
.included li::before{content:"→ ";color:var(--red);font-weight:800;}

/* FAQ ACCORDION */
.faq{background:var(--cream);padding:72px 30px;}
.faq .inner{max-width:820px;margin:0 auto;}
.faq h2{font-family:'Anton',sans-serif;font-size:clamp(32px,4.5vw,48px);text-transform:uppercase;border-bottom:4px solid var(--black);padding-bottom:14px;margin-bottom:8px;}
.faq .faq-list{border-top:none;}
.faq details{border-bottom:2px solid var(--black);}
.faq summary{display:block;list-style:none;cursor:pointer;position:relative;padding:22px 44px 22px 0;font-family:'Anton',sans-serif;font-size:19px;text-transform:uppercase;letter-spacing:.5px;line-height:1.15;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"";position:absolute;right:8px;top:26px;width:11px;height:11px;border-right:3px solid var(--red);border-bottom:3px solid var(--red);transform:rotate(45deg);transition:transform .2s ease;}
.faq details[open] summary::after{transform:rotate(-135deg);}
.faq summary:hover{color:var(--red);}
.faq .answer{padding:0 44px 24px 0;font-size:15.5px;line-height:1.7;color:#3a352a;}
.faq .answer a{color:var(--red);font-weight:800;text-decoration:underline;}

/* YOUR HOST — compact card in the sidebar, under the booking box */
.host-card{background:var(--black);color:var(--cream);padding:26px 24px;margin-top:24px;text-align:center;}
.host-card .pic{width:120px;height:120px;border:4px solid var(--red);overflow:hidden;margin:0 auto 16px;background:repeating-linear-gradient(45deg,#222,#222 12px,#1a1a1a 12px,#1a1a1a 24px);}
.host-card .pic img{width:100%;height:100%;object-fit:cover;display:block;}
.host-card h3{font-family:'Anton',sans-serif;font-size:22px;text-transform:uppercase;line-height:1.05;}
.host-card h3 em{font-style:italic;color:var(--red);}
.host-card .ig{color:var(--red);font-weight:800;font-size:12px;letter-spacing:1px;margin:8px 0 12px;text-transform:uppercase;}
.host-card p{font-size:13.5px;line-height:1.6;color:#cfc4a8;}
.host-card .follow{display:inline-block;margin-top:16px;border:2px solid var(--cream);color:var(--cream);text-decoration:none;font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:1px;padding:9px 16px;}
.host-card .follow:hover{background:var(--cream);color:var(--black);}

/* WHATSAPP (trip pages only) */
.wa-inline{background:var(--black);color:var(--cream);padding:18px;display:flex;align-items:center;gap:14px;margin-top:24px;text-decoration:none;}
.wa-inline .wa-icon{width:42px;height:42px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.wa-inline .wa-icon svg{width:24px;height:24px;}
.wa-inline b{display:block;font-family:'Anton',sans-serif;font-size:15px;text-transform:uppercase;letter-spacing:.5px;}
.wa-inline .wa-text > span{display:block;font-size:12.5px;color:#cfc4a8;line-height:1.4;margin-top:3px;}
.wa-inline:hover .wa-icon{filter:brightness(1.08);}
.wa-float{position:fixed;bottom:22px;right:22px;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.3);z-index:40;transition:transform .15s;}
.wa-float svg{width:30px;height:30px;}
.wa-float:hover{transform:scale(1.06);}

/* CTA */
.join{background:var(--cream);text-align:center;padding:80px 20px;}
.join h2{font-family:'Anton',sans-serif;font-size:clamp(40px,6vw,72px);text-transform:uppercase;line-height:.95;}
.join p{margin:18px 0 30px;font-size:16px;}
.join .btn{display:inline-block;padding:18px 44px;}

/* MAILING LIST */
.mail{background:var(--red);padding:60px 30px;text-align:center;color:var(--cream);}
.mail h2{font-family:'Anton',sans-serif;font-size:clamp(30px,4.5vw,48px);text-transform:uppercase;line-height:.95;}
.mail p{margin:12px auto 26px;font-size:14.5px;max-width:520px;line-height:1.6;}
.mail form{display:flex;max-width:520px;margin:0 auto;}
.mail input{flex:1;padding:15px 18px;border:3px solid var(--black);border-right:none;font-family:'Archivo',sans-serif;font-size:15px;background:var(--cream);color:var(--black);}
.mail input:focus{outline:none;}
.mail button{background:var(--black);color:var(--cream);border:3px solid var(--black);font-family:'Archivo',sans-serif;font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:1px;padding:15px 24px;cursor:pointer;}
.mail button:hover{background:#222;}
.mail .fine{font-size:11.5px;margin-top:13px;opacity:.8;}
.mail .success{display:none;font-family:'Anton',sans-serif;font-size:22px;text-transform:uppercase;margin-top:8px;}
@media(max-width:560px){.mail form{flex-direction:column;}.mail input{border-right:3px solid var(--black);}}

footer{background:var(--black);color:#8f8570;text-align:center;padding:40px;font-size:13px;}
footer .logo{font-size:24px;display:block;margin-bottom:12px;}

/* ---- Route map (detail.map → inlined SVG between itinerary & photos) ---- */
.route-map-label{margin-top:44px;}
.route-map{margin:0;border:3px solid var(--black);background:#07080a;line-height:0;}
.route-map svg{width:100%;height:auto;display:block;}

/* ---- Perk banner (value-add promo, e.g. the black-tie suit) ---- */
.perk-banner{background:var(--black);border-top:4px solid var(--red);border-bottom:4px solid var(--red);color:var(--cream);padding:38px 30px;text-align:center;}
.perk-banner h2{font-family:'Anton',sans-serif;font-size:32px;text-transform:uppercase;letter-spacing:.5px;}
.perk-banner p{max-width:720px;margin:12px auto 0;font-size:15px;line-height:1.7;color:#cfc4a8;}
.perk-banner p b{color:var(--cream);}
.perk-banner .fine{font-size:12px;color:#8f8570;margin-top:10px;}
@media(max-width:700px){.perk-banner h2{font-size:24px;}}
