
.tobytnt-tours-shell{
    width:100vw;
    position:relative;
    left:50%;
    margin-left:-50vw;
    background:#fff;
    font-family:"Poppins",Inter,Manrope,system-ui,sans-serif;
    color:#181411;
}
.tobytnt-tours-shell *{box-sizing:border-box}
.tobytnt-tours-shell h1,
.tobytnt-tours-shell h2,
.tobytnt-tours-shell h3,
.tobytnt-tours-shell h4{
    font-family:"Poppins",Inter,system-ui,sans-serif;
    letter-spacing:-.04em;
}

/* Hero */
.toby-tours-hero{
    min-height:620px;
    padding:120px 0 90px;
    display:flex;
    align-items:flex-end;
    color:#fff;
    background:
        linear-gradient(90deg,rgba(8,20,34,.78),rgba(8,20,34,.26)),
        radial-gradient(circle at 70% 25%,rgba(35,126,139,.75),transparent 24%),
        linear-gradient(135deg,#237E8B 0%,#043665 65%,#181411 100%);
    background-size:cover;
    background-position:center;
}
.toby-tours-hero h1{
    color:#fff!important;
    font-size:clamp(66px,9vw,126px);
    line-height:.84;
    margin:16px 0 26px;
    max-width:1000px;
}
.toby-tours-hero p{
    max-width:720px;
    font-size:20px;
    line-height:1.7;
    color:#f5f8fb;
}
.toby-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}
.toby-hero-link,
.toby-hero-build{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:13px 19px;
    border-radius:999px;
    font-weight:800;
    text-decoration:none!important;
    cursor:pointer;
}
.toby-hero-link{
    background:#fff;
    color:#043665!important;
}
.toby-hero-build{
    appearance:none;
    border:1px solid rgba(255,255,255,.72);
    background:rgba(255,255,255,.10);
    color:#fff;
}

/* Intro + tour cards */
.toby-tour-intro{padding:100px 0 65px;background:#fff}
.toby-tour-intro .tobytnt-container{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end}
.toby-tour-intro h2{font-size:clamp(42px,5vw,72px);line-height:.96;margin:12px 0 0;color:#043665}
.toby-tour-intro p{font-size:18px;line-height:1.75;color:#5d6872;margin:0}
.toby-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#237E8B;font-weight:800}

.toby-tour-section{padding:0 0 110px;background:#fff}
.toby-tour-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.toby-tour-card{background:#fff;border:1px solid #dce6ed;border-radius:24px;overflow:hidden;box-shadow:0 12px 36px rgba(4,54,101,.06)}
.toby-tour-image{height:360px;background-size:cover!important;background-position:center!important;position:relative}
.toby-tour-price{position:absolute;top:18px;left:18px;background:#fff;color:#043665;padding:10px 14px;border-radius:999px;font-size:12px;font-weight:900}
.toby-tour-body{padding:28px}
.toby-tour-meta{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#237E8B;font-weight:900}
.toby-tour-body h3{font-size:34px;line-height:1.04;margin:10px 0 13px;color:#043665}
.toby-tour-body p{color:#5f6971;line-height:1.7}
.toby-tour-listing-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;padding-left:20px;color:#465763;font-size:14px}
.toby-tour-card-foot{border-top:1px solid #e3ebf0;margin-top:24px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.toby-tour-card-foot>span{font-size:13px;color:#687681}
.toby-book-button,.toby-submit-booking{appearance:none;border:0;background:#043665;color:#fff;border-radius:999px;padding:13px 18px;font-weight:800;cursor:pointer}

/* Build strip */
.toby-custom-strip{background:#043665;color:#fff;padding:76px 0}
.toby-custom-strip .tobytnt-container{display:flex;align-items:end;justify-content:space-between;gap:40px}
.toby-custom-strip span{text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:#bcd4e5}
.toby-custom-strip h2{color:#fff;font-size:clamp(38px,5vw,68px);line-height:.98;margin:10px 0 0;max-width:860px}
.toby-custom-book{background:#fff;color:#043665}

/* Drawer */
.toby-booking-drawer{position:fixed;inset:0;z-index:99999;pointer-events:none;opacity:0;transition:opacity .25s ease}
.toby-booking-drawer.is-open{opacity:1;pointer-events:auto}
.toby-drawer-backdrop{position:absolute;inset:0;background:rgba(5,18,31,.62);backdrop-filter:blur(4px)}
.toby-drawer-panel{
    position:absolute;
    top:0;
    right:0;
    width:min(820px,100%);
    height:100%;
    overflow:auto;
    background:#eaf5fb;
    padding:48px 52px 80px;
    transform:translateX(100%);
    transition:transform .3s ease;
}
.toby-booking-drawer.is-open .toby-drawer-panel{transform:translateX(0)}
.toby-drawer-close{position:absolute;right:22px;top:18px;border:0;background:none;font-size:38px;cursor:pointer;color:#043665}

.toby-booking-head>span{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#237E8B;font-weight:900}
.toby-booking-head h2{font-size:46px;line-height:1;margin:10px 0 16px;color:#043665}
.toby-booking-head p{color:#506777;line-height:1.7}

.toby-form-step{
    margin-top:14px;
    padding:25px;
    border:1px solid #c9dfea;
    border-radius:18px;
    background:#f6fbfe;
}
.toby-step-label{font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:900;margin-bottom:18px;color:#043665}
.toby-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.toby-form-grid .full{grid-column:1/-1}

.toby-booking-drawer label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#043665}
.toby-booking-drawer input,
.toby-booking-drawer textarea,
.toby-booking-drawer select{
    width:100%;
    border:1px solid #bcd2df;
    border-radius:12px;
    padding:13px 14px;
    background:#fff;
    color:#18202a;
    font:inherit;
}

/* Tour/custom switch */
.toby-mode-switch{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-bottom:18px;
}
.toby-mode-switch input{position:absolute;opacity:0}
.toby-mode-switch span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    border:1px solid #b8cfdd;
    border-radius:12px;
    background:#fff;
    color:#043665;
    cursor:pointer;
}
.toby-mode-switch input:checked + span{background:#043665;color:#fff;border-color:#043665}

.toby-itinerary-preview{
    margin-top:14px;
    background:#fff;
    border:1px solid #d3e2eb;
    border-radius:14px;
    padding:15px;
}
.toby-itinerary-preview p{margin:0;color:#647581}
.toby-preview-price{display:flex;align-items:baseline;gap:8px}
.toby-preview-price strong{color:#043665;font-size:22px}
.toby-preview-price span{font-size:11px;color:#71808b}
.toby-itinerary-preview ol{margin:13px 0 0;padding-left:22px;color:#4f626f;display:grid;gap:5px}

/* Custom listing picker */
.toby-builder-help{color:#5b7180;line-height:1.6}
.toby-listing-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:440px;overflow:auto;padding-right:4px}
.toby-listing-option{position:relative}
.toby-listing-option>input{position:absolute;opacity:0;pointer-events:none}
.toby-listing-option>span{
    display:flex;
    flex-direction:column;
    min-height:125px;
    padding:14px;
    border:1px solid #c6dbe7;
    border-radius:14px;
    background:#fff;
    cursor:pointer;
}
.toby-listing-option strong{font-size:14px;color:#043665}
.toby-listing-option small{margin-top:5px;color:#6a7c88;font-weight:500;line-height:1.4}
.toby-listing-option em{margin-top:auto;padding-top:12px;color:#237E8B;font-style:normal;font-size:11px;font-weight:800}
.toby-listing-option>input:checked+span{background:#043665;border-color:#043665}
.toby-listing-option>input:checked+span strong,
.toby-listing-option>input:checked+span small,
.toby-listing-option>input:checked+span em{color:#fff}
.toby-custom-summary{display:flex;justify-content:space-between;gap:18px;margin-top:14px;padding:12px 14px;background:#dceef8;border-radius:12px;color:#043665}

/* Pickup / dropoff */
.toby-pickup-options{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px}
.toby-pickup-options label input,
.toby-dropoff-options label input,
.toby-addon input{position:absolute;opacity:0}
.toby-pickup-options label span,
.toby-dropoff-options label span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    background:#fff;
    border:1px solid #bdd2df;
    border-radius:12px;
    text-align:center;
    padding:8px;
    font-size:11px;
    cursor:pointer;
    color:#043665;
}
.toby-pickup-options label input:checked+span,
.toby-dropoff-options label input:checked+span{background:#043665;border-color:#043665;color:#fff}

.toby-dropoff-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:17px 0}
#toby-dropoff-address-wrap[hidden]{display:none!important}

/* Options */
.toby-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.toby-addon>span{
    display:flex;
    justify-content:space-between;
    gap:12px;
    border:1px solid #bdd2df;
    background:#fff;
    border-radius:14px;
    padding:15px;
    cursor:pointer;
    color:#043665;
}
.toby-addon input:checked+span{background:#043665;border-color:#043665}
.toby-addon input:checked+span strong,
.toby-addon input:checked+span small{color:#fff}
.toby-addon small{font-weight:600;color:#607582}
.toby-child-seat-card{display:grid;gap:8px}
.toby-seat-qty{background:#fff;border:1px solid #c8dbe6;border-radius:12px;padding:10px}
.toby-seat-qty[hidden]{display:none!important}
.toby-seat-qty input{max-width:110px}

/* Sticky summary */
.toby-booking-summary{
    position:sticky;
    bottom:0;
    z-index:5;
    margin-top:18px;
    background:#043665;
    color:#fff;
    border-radius:18px;
    padding:20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    box-shadow:0 14px 40px rgba(4,54,101,.23);
}
.toby-booking-summary small,
.toby-booking-summary span{display:block;color:#bed3e3;font-size:11px}
.toby-booking-summary strong{display:block;font-size:24px;margin:3px 0}
.toby-submit-booking{background:#fff;color:#043665}
.toby-form-message{margin-top:14px;font-weight:800}
.toby-form-message.success{color:#18794e}
.toby-form-message.error{color:#b42318}

@media(max-width:800px){
    .toby-tour-intro .tobytnt-container,
    .toby-tour-grid{grid-template-columns:1fr}
    .toby-custom-strip .tobytnt-container{align-items:flex-start;flex-direction:column}
    .toby-drawer-panel{padding:42px 22px 70px}
    .toby-pickup-options{grid-template-columns:1fr 1fr}
    .toby-form-grid,
    .toby-option-grid,
    .toby-listing-picker{grid-template-columns:1fr}
    .toby-form-grid .full{grid-column:auto}
    .toby-dropoff-options{grid-template-columns:1fr}
    .toby-booking-summary{align-items:flex-start;flex-direction:column}
    .toby-submit-booking{width:100%}
}

@media(max-width:560px){
    .toby-tours-hero{min-height:560px;padding:90px 0 64px}
    .toby-tours-hero h1{font-size:58px}
    .toby-tour-image{height:280px}
    .toby-tour-listing-summary{grid-template-columns:1fr}
    .toby-tour-card-foot{align-items:flex-start;flex-direction:column}
    .toby-book-button{width:100%}
    .toby-mode-switch{grid-template-columns:1fr}
}
