:root{--red:#9f1d1d;--dark:#251311;--cream:#fff8ea;--gold:#d7a83f;--muted:#7b6258}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#3a1111,#1c0d0b 45%,#0f1418);color:var(--cream);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 5vw;background:rgba(37,19,17,.9);backdrop-filter:blur(12px);border-bottom:1px solid rgba(215,168,63,.25)}.brand{display:flex;flex-direction:column;font-weight:900}.brand span{font-size:1.2rem}.brand small{color:#e6d0a2}.site-header nav{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.site-header nav a,.site-header button{border:1px solid rgba(215,168,63,.4);border-radius:999px;padding:.45rem .8rem;background:rgba(255,248,234,.08);color:var(--cream)}main{min-height:75vh}.hero,.section{padding:4rem 5vw;max-width:1180px;margin:0 auto}.hero{padding-top:5rem}.hero h1{font-size:clamp(2.4rem,7vw,5rem);line-height:1;margin:.2rem 0 1.2rem;color:#fff}.kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-weight:800;font-size:.85rem}.card{background:rgba(255,248,234,.1);border:1px solid rgba(215,168,63,.28);border-radius:22px;padding:1.35rem;box-shadow:0 18px 50px rgba(0,0,0,.18)}.slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.slot h3{font-size:1.8rem;margin:.3rem 0;color:#fff}.button,button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:linear-gradient(135deg,var(--red),#cf3f32);color:#fff;font-weight:800;padding:.75rem 1rem;cursor:pointer;margin-top:.6rem}.secondary{background:rgba(255,248,234,.12);border:1px solid rgba(215,168,63,.35)}.danger{background:#7e1919!important;color:#fff;border:1px solid #c64848!important;border-radius:999px;padding:.45rem .75rem}.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.narrow{max-width:760px}.form{display:grid;gap:1rem}.form label{display:grid;gap:.35rem;color:#f5dfb3;font-weight:700}.form input,.form textarea,.form select{width:100%;border:1px solid rgba(215,168,63,.35);border-radius:14px;padding:.75rem;background:rgba(255,255,255,.96);color:#1d1210;font:inherit}.form textarea{min-height:90px}.child-card{background:rgba(255,255,255,.08);border:1px solid rgba(215,168,63,.25);border-radius:18px;padding:1rem;margin:.8rem 0}.list{display:grid;gap:.8rem;margin-top:1rem}.row{display:flex;gap:.8rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.badge{display:inline-block;border-radius:999px;background:rgba(215,168,63,.18);border:1px solid rgba(215,168,63,.35);padding:.25rem .6rem;margin:.2rem;color:#ffe6ad}.error{color:#ffc2c2}.success{border-color:rgba(94,209,128,.5)}.muted{color:#d9c5ad}.inline{display:inline}footer{text-align:center;color:#d3bea0;border-top:1px solid rgba(215,168,63,.18);padding:2rem 5vw;margin-top:2rem}@media(max-width:760px){.site-header{align-items:flex-start;flex-direction:column}.hero,.section{padding:2.5rem 1rem}.row{align-items:flex-start;flex-direction:column}}
.email-preview{margin-top:1rem;padding:1rem;border-radius:16px;background:#fff;color:#222;max-height:520px;overflow:auto}.email-preview .card{box-shadow:none}details summary{cursor:pointer;color:#ffd88a;font-weight:800;margin-top:.75rem}

/* Booking form polish */
.booking-page{max-width:860px}.booking-page .card{margin-top:1.15rem}.booking-summary{margin-bottom:1.25rem}.booking-form{display:grid;gap:1.35rem}.booking-section{display:grid;gap:1rem}.booking-section h2{margin:.1rem 0 .15rem}.booking-form label{display:grid;gap:.45rem;margin:0}.booking-form input,.booking-form textarea,.booking-form select{width:100%;min-height:48px;padding:.85rem 1rem;border-radius:16px;border:1px solid rgba(215,168,63,.32);background:rgba(255,248,234,.95);color:#261411;font:inherit}.booking-form textarea{min-height:118px;resize:vertical}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#8c7568}.booking-form #children{display:grid;gap:1rem}.child-card{display:grid;gap:.9rem;padding:1rem;border-radius:18px;border:1px solid rgba(215,168,63,.28);background:rgba(255,248,234,.07);margin:0}.child-card .row{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.child-card h3{margin:0}.booking-form .button{width:max-content}.booking-form>button[type=submit]{margin-top:.25rem}
.line-group{display:grid;gap:.65rem;padding:.9rem;border-radius:16px;background:rgba(255,248,234,.045);border:1px solid rgba(215,168,63,.18)}.line-group>label{font-weight:800;color:#ffe0a0}.line-list{display:grid;gap:.55rem}.line-row{display:grid;grid-template-columns:1fr auto;gap:.55rem;align-items:center}.line-row input{min-height:44px}.line-row .danger{margin-top:0;min-width:44px}.line-group .button{margin-top:.1rem}

/* Admin booking routing polish */
.admin-booking-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:1.25rem;align-items:start}.booking-info-card,.swap-card{padding:1.35rem}.actions-row{gap:.75rem;justify-content:flex-start}.booking-row-card{display:grid;gap:.75rem}.booking-row-head{align-items:flex-start;gap:.9rem}.button.compact,.compact{min-height:36px;padding:.45rem .8rem;font-size:.92rem}.move-inline{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:.75rem;align-items:end}.move-inline label{display:grid;gap:.35rem;width:100%}.move-inline select,.swap-card select{min-height:44px}@media(max-width:850px){.admin-booking-grid,.move-inline{grid-template-columns:1fr}}


/* E-mail log polish */
.email-log-section{max-width:1120px}.email-log-intro{max-width:760px}.email-log-list{display:grid;gap:1rem}.email-log-card{display:grid;gap:1rem;overflow:hidden}.email-log-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.email-log-head h2{margin:.05rem 0 0;font-size:1.15rem;color:#fff;word-break:break-word}.mail-label{margin:0;color:#d7a83f;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:800}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .7rem;font-weight:900;font-size:.85rem;white-space:nowrap}.status-sent{background:#dff7e7;color:#145c2e}.status-queued{background:#fff3cd;color:#7b5600}.status-other{background:#eee;color:#333}.mail-subject{display:grid;gap:.25rem;padding:.85rem 1rem;border-radius:16px;background:rgba(255,248,234,.08);border:1px solid rgba(215,168,63,.2)}.mail-subject span,.mail-meta{color:#e6d0a2}.mail-subject strong{color:#fff}.mail-meta{display:flex;gap:.6rem;flex-wrap:wrap;font-size:.92rem}.mail-preview-details{border-top:1px solid rgba(215,168,63,.2);padding-top:.8rem}.mail-preview-details summary{cursor:pointer;color:#ffd88a;font-weight:900}.email-preview-frame{display:block;width:100%;height:560px;margin-top:.85rem;border:1px solid rgba(215,168,63,.35);border-radius:16px;background:#fff}.email-preview{display:none}@media(max-width:700px){.email-log-head{display:grid}.email-preview-frame{height:480px}}


/* Pair route planning */
.pair-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center}.route-page{max-width:1120px}.route-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.route-list{display:grid;gap:1rem}.route-stop-card{display:grid;gap:.75rem}.route-stop-head{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.route-metrics{display:flex;gap:.5rem;flex-wrap:wrap}.route-metrics span{border:1px solid rgba(215,168,63,.28);background:rgba(255,248,234,.08);border-radius:999px;padding:.35rem .65rem;color:#ffe0a0;font-size:.92rem}@media(max-width:760px){.pair-row{grid-template-columns:1fr}.route-stop-head{align-items:flex-start;display:grid}}
