/* Booking page styles (shared reset/vars live in base.css) */

header{background:var(--black);color:var(--cream);padding:22px 40px;display:flex;align-items:center;justify-content:space-between;}
.logo{font-weight:800;font-size:26px;text-transform:uppercase;letter-spacing:-.5px;color:var(--cream);text-decoration:none;}
.logo em{font-style:italic;}
header a.back{color:var(--cream);text-decoration:none;font-weight:600;text-transform:uppercase;font-size:13px;letter-spacing:1px;}
header a.back:hover{color:var(--red);}

.title{background:var(--black);text-align:center;padding:50px 20px 55px;}
.title h1{font-family:'Anton',sans-serif;color:var(--red);font-size:clamp(40px,6vw,80px);text-transform:uppercase;line-height:.95;}
.title p{color:var(--cream);margin-top:14px;font-size:15px;letter-spacing:.5px;}

.wrap{max-width:1040px;margin:0 auto;padding:60px 30px 90px;display:grid;grid-template-columns:1fr 360px;gap:50px;align-items:start;}
@media(max-width:880px){.wrap{grid-template-columns:1fr;}}

.step{font-family:'Anton',sans-serif;font-size:26px;text-transform:uppercase;margin:0 0 18px;border-bottom:3px solid var(--black);padding-bottom:10px;}
.step span{color:var(--red);}
.block{margin-bottom:44px;}

/* payment toggle */
.pay-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:560px){.pay-options{grid-template-columns:1fr;}}
.pay-card{border:3px solid var(--black);background:#fffdf6;padding:22px;cursor:pointer;position:relative;}
.pay-card.selected{background:var(--black);color:var(--cream);}
.pay-card.selected::after{content:"✓";position:absolute;top:12px;right:14px;color:var(--red);font-weight:800;font-size:20px;}
.pay-card h4{font-family:'Anton',sans-serif;font-size:20px;text-transform:uppercase;}
.pay-card .amt{font-family:'Anton',sans-serif;font-size:34px;color:var(--red);margin:8px 0 4px;}
.pay-card p{font-size:12.5px;line-height:1.5;opacity:.85;}

/* form */
form label{display:block;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:1px;margin:18px 0 6px;}
form input, form select{width:100%;padding:13px 14px;border:3px solid var(--black);background:#fffdf6;font-family:'Archivo',sans-serif;font-size:15px;}
form input:focus{outline:3px solid var(--red);}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:560px){.row{grid-template-columns:1fr;}}
.agree{display:block;position:relative;padding-left:26px;margin-top:22px;font-size:13px;line-height:1.5;}
.agree input{width:auto;position:absolute;left:0;top:2px;}
.agree a{color:var(--red);font-weight:800;}

/* summary */
aside{position:sticky;top:30px;}
.summary{background:var(--black);color:var(--cream);padding:28px;}
.summary h3{font-family:'Anton',sans-serif;font-size:24px;text-transform:uppercase;line-height:1.05;}
.summary h3 em{font-style:italic;color:var(--red);}
.summary .meta{font-size:13px;color:#cfc4a8;margin:10px 0 18px;line-height:1.8;}
.line{display:flex;justify-content:space-between;font-size:14px;padding:10px 0;border-top:1px solid #2a2a2a;}
.line.total{font-family:'Anton',sans-serif;font-size:22px;border-top:3px solid var(--red);margin-top:6px;padding-top:14px;}
.due-later{font-size:12px;color:#8f8570;text-align:right;}
.book-error{display:none;background:#3a0e15;color:#ffb3bf;border:2px solid var(--red);font-size:13px;line-height:1.5;padding:12px 14px;margin-top:18px;}
.paybtn{display:block;width:100%;text-align:center;background:var(--red);color:var(--cream);border:none;font-family:'Archivo',sans-serif;font-weight:800;text-transform:uppercase;font-size:15px;letter-spacing:1px;padding:18px;margin-top:20px;cursor:pointer;}
.paybtn:hover{background:#b5182f;}
.paybtn:disabled{opacity:.7;cursor:default;}
.rev{margin-top:14px;text-align:center;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#8f8570;}
.rev b{color:var(--cream);}

footer{background:var(--black);color:#8f8570;text-align:center;padding:36px;font-size:13px;}

/* ---- /apply page (application trips) — same look as the booking form ---- */
.page-apply form textarea{width:100%;padding:13px 14px;border:3px solid var(--black);background:#fffdf6;font-family:'Archivo',sans-serif;font-size:15px;resize:vertical;}
.page-apply form textarea:focus{outline:3px solid var(--red);}
.page-apply .summary .success{display:none;background:#e7f5e7;border:2px solid #2e7d32;padding:12px 14px;font-size:14px;line-height:1.55;color:#0B0B0B;}

/* ---- Perk line in the booking summary (value-add promo) ---- */
.perk-inc{border:2px solid var(--red);padding:8px 12px;margin-top:10px;font-size:13px;font-weight:600;line-height:1.5;}
