:root{--tbe-ink:#102a3b;--tbe-muted:#667786;--tbe-line:#e5e9ed;--tbe-bg:#f7f8f7;--tbe-card:#fff;--tbe-accent:#c97943;--tbe-accent-dark:#a95f31;--tbe-green:#537c67;--tbe-shadow:0 18px 55px rgba(16,42,59,.10);--tbe-radius:18px}
.tbe-route-shell,.tbe-tour-grid,.tbe-custom-trip-form,.tbe-booking-box{box-sizing:border-box;color:var(--tbe-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.tbe-route-shell *,.tbe-tour-grid *,.tbe-custom-trip-form *,.tbe-booking-box *{box-sizing:border-box}
.tbe-container{width:min(1180px,calc(100% - 40px));margin:0 auto}.tbe-lead{font-size:19px;line-height:1.7;color:var(--tbe-muted);max-width:760px}.tbe-section-kicker,.tbe-kicker{font-size:12px;line-height:1;text-transform:uppercase;letter-spacing:.15em;font-weight:800;color:var(--tbe-accent)}
.tbe-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:0 20px;border:1px solid transparent;border-radius:999px;text-decoration:none!important;font-weight:750;font-size:14px;cursor:pointer;transition:.2s ease;background:none}.tbe-button:hover{transform:translateY(-1px)}.tbe-button-primary{background:var(--tbe-ink);color:#fff!important;box-shadow:0 10px 25px rgba(16,42,59,.18)}.tbe-button-primary:hover{background:#081c29}.tbe-button-light{background:#fff;color:var(--tbe-ink)!important;border-color:var(--tbe-line)}.tbe-button-light:hover{border-color:#bfc9d0}
.tbe-filterbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:30px 0;padding:20px 22px;border:1px solid var(--tbe-line);background:#fff;border-radius:16px}.tbe-filterbar>div:first-child{display:flex;flex-direction:column;gap:3px}.tbe-filter-label{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--tbe-accent);font-weight:800}.tbe-filterbar strong{font-size:18px}.tbe-filter-controls{display:flex;gap:10px}.tbe-filter-controls select{min-width:190px;height:44px;border:1px solid var(--tbe-line);border-radius:10px;background:#fff;padding:0 34px 0 13px;color:var(--tbe-ink)}
.tbe-tour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.tbe-tour-grid.tbe-cols-1{grid-template-columns:1fr}.tbe-tour-grid.tbe-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tbe-tour-grid.tbe-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tbe-tour-card{background:#fff;border:1px solid var(--tbe-line);border-radius:18px;overflow:hidden;box-shadow:0 10px 35px rgba(16,42,59,.055);transition:.22s ease}.tbe-tour-card:hover{transform:translateY(-4px);box-shadow:var(--tbe-shadow)}.tbe-tour-image{height:245px;display:block;background:#d9e0e4 center/cover no-repeat;position:relative}.tbe-image-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,27,38,.52),rgba(10,27,38,0) 60%)}.tbe-badge{position:absolute;left:16px;top:16px;background:rgba(255,255,255,.94);color:var(--tbe-ink);padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.03em}.tbe-card-price{position:absolute;right:16px;bottom:14px;color:#fff;font-size:22px;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.35)}.tbe-card-price small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;text-align:right}.tbe-tour-card-body{padding:20px}.tbe-card-meta{display:flex;gap:15px;flex-wrap:wrap;color:var(--tbe-muted);font-size:12px;font-weight:650}.tbe-tour-card h3{font-family:Georgia,"Times New Roman",serif;font-size:25px;line-height:1.18;margin:10px 0 9px}.tbe-tour-card h3 a{color:var(--tbe-ink);text-decoration:none}.tbe-tour-card p{color:var(--tbe-muted);font-size:14px;line-height:1.6;margin:0 0 16px}.tbe-month-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--tbe-line);padding:14px 0;color:var(--tbe-muted);font-size:12px}.tbe-month-row strong{color:var(--tbe-green);font-weight:750}.tbe-tour-card .tbe-button{width:100%}
.tbe-tour-hero{min-height:520px;background:#173a4d center/cover no-repeat;color:#fff;display:flex;align-items:flex-end;padding:80px 0}.tbe-tour-hero .tbe-container{padding-bottom:20px}.tbe-tour-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,6vw,76px);line-height:.98;max-width:840px;margin:15px 0 18px;color:#fff}.tbe-tour-hero p{font-size:18px;line-height:1.6;max-width:700px;color:rgba(255,255,255,.83)}.tbe-hero-meta{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px;font-size:14px;font-weight:650}.tbe-tour-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:52px;padding-top:48px;padding-bottom:80px}.tbe-booking-aside{position:relative}.tbe-booking-aside>.tbe-booking-box{position:sticky;top:30px}.tbe-gallery{overflow:hidden;margin-bottom:44px}.tbe-gallery-track{display:flex;gap:14px;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.tbe-gallery img{width:78%;max-width:620px;aspect-ratio:4/3;object-fit:cover;border-radius:16px;scroll-snap-align:start}.tbe-section{padding:36px 0;border-bottom:1px solid var(--tbe-line)}.tbe-section:first-of-type{padding-top:0}.tbe-section h2{font-family:Georgia,"Times New Roman",serif;font-size:38px;line-height:1.12;margin:9px 0 22px}.tbe-richtext{color:#3f5462;font-size:16px;line-height:1.8}.tbe-richtext p{margin:0 0 18px}.tbe-highlight-box{margin-top:25px;background:#f4f0ea;border-radius:16px;padding:24px}.tbe-highlight-box h3{margin:0 0 14px}.tbe-highlight-box ul{padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;list-style:none}.tbe-highlight-box li:before{content:'✓';margin-right:9px;color:var(--tbe-accent);font-weight:900}.tbe-timeline{position:relative}.tbe-timeline:before{content:'';position:absolute;left:18px;top:12px;bottom:12px;width:1px;background:#d7dee2}.tbe-timeline-item{position:relative;display:grid;grid-template-columns:38px 1fr;gap:22px;padding:0 0 30px}.tbe-timeline-number{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--tbe-ink);color:#fff;font-weight:800;z-index:1}.tbe-timeline-item h3{font-size:20px;margin:4px 0 7px}.tbe-timeline-item p{margin:0;color:var(--tbe-muted);line-height:1.65}.tbe-timeline-meta{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--tbe-accent);font-weight:800}.tbe-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tbe-list-panel{padding:22px;border:1px solid var(--tbe-line);border-radius:14px}.tbe-list-panel h3{margin:0 0 14px}.tbe-list-panel ul{list-style:none;padding:0;margin:0}.tbe-list-panel li{padding:8px 0;border-bottom:1px dashed var(--tbe-line);color:#425765}.tbe-list-panel li:last-child{border:0}.tbe-list-panel.included li::first-letter{color:var(--tbe-green)}.tbe-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tbe-info-grid>div{padding:20px;border-radius:14px;background:var(--tbe-bg)}.tbe-info-grid small{display:block;color:var(--tbe-muted);text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:800;margin-bottom:8px}.tbe-info-grid strong{display:block;line-height:1.6}.tbe-accordion details{border-top:1px solid var(--tbe-line);padding:17px 0}.tbe-accordion details:last-child{border-bottom:1px solid var(--tbe-line)}.tbe-accordion summary{cursor:pointer;font-weight:750;font-size:16px}.tbe-accordion details div{color:var(--tbe-muted);padding:8px 24px 0 0;line-height:1.7}.tbe-policy{background:#f7f4ef;border:0!important;border-radius:16px;padding:24px!important;margin-top:30px}.tbe-policy h3{margin-top:0}.tbe-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tbe-review-grid article{border:1px solid var(--tbe-line);border-radius:14px;padding:20px}.tbe-review-grid h3{margin:7px 0}.tbe-review-grid p{color:var(--tbe-muted);line-height:1.6}.tbe-stars{color:#d58a4d;letter-spacing:1px}
.tbe-booking-box{background:#fff;border:1px solid #dfe5e9;border-radius:20px;box-shadow:0 20px 60px rgba(17,43,59,.12);overflow:hidden}.tbe-booking-head{padding:22px 24px;background:var(--tbe-ink);color:#fff;display:flex;align-items:baseline;gap:7px}.tbe-booking-head>span{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:#c9d4da}.tbe-booking-head strong{font-size:31px}.tbe-booking-head small{font-size:11px;color:#c9d4da}.tbe-booking-form{padding:22px}.tbe-booking-form label,.tbe-custom-trip-form label,.tbe-lookup label{display:block;color:#405563;font-size:12px;font-weight:700}.tbe-booking-form input,.tbe-booking-form select,.tbe-booking-form textarea,.tbe-custom-trip-form input,.tbe-custom-trip-form select,.tbe-custom-trip-form textarea,.tbe-lookup input{width:100%;border:1px solid #d9e1e5;border-radius:10px;background:#fff;min-height:44px;padding:10px 12px;color:var(--tbe-ink);font:inherit;font-size:14px;margin-top:6px;outline:0;transition:.15s}.tbe-booking-form input:focus,.tbe-booking-form select:focus,.tbe-booking-form textarea:focus,.tbe-custom-trip-form input:focus,.tbe-custom-trip-form select:focus,.tbe-custom-trip-form textarea:focus{border-color:#7890a0;box-shadow:0 0 0 3px rgba(92,121,139,.1)}.tbe-booking-form textarea,.tbe-custom-trip-form textarea{resize:vertical}.tbe-step-label{display:flex;align-items:center;gap:9px;margin:22px 0 11px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:var(--tbe-ink)}.tbe-step-label:first-of-type{margin-top:0}.tbe-step-label span{display:flex;width:23px;height:23px;align-items:center;justify-content:center;border-radius:50%;background:#eff2f3;color:var(--tbe-ink)}.tbe-guest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tbe-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.tbe-booking-form>label{margin-bottom:10px}.tbe-addon-list{display:grid;gap:8px}.tbe-addon-list label,.tbe-payment-plans label,.tbe-choice-grid label{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--tbe-line);border-radius:11px;cursor:pointer}.tbe-addon-list input,.tbe-payment-plans input,.tbe-choice-grid input,.tbe-checkline input,.tbe-gateways input{width:auto!important;min-height:auto!important;margin:0!important}.tbe-addon-list span,.tbe-payment-plans span{display:flex;flex-direction:column}.tbe-addon-list small,.tbe-payment-plans small{font-weight:500;color:var(--tbe-muted);margin-top:2px}.tbe-coupon-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin:15px 0}.tbe-coupon-row input{margin:0}.tbe-quote-button{border:1px solid var(--tbe-line);background:#f5f7f8;border-radius:10px;padding:0 13px;font-weight:750;cursor:pointer}.tbe-quote-panel{border-top:1px solid var(--tbe-line);border-bottom:1px solid var(--tbe-line);padding:12px 0;margin-bottom:8px}.tbe-quote-panel>div{display:flex;justify-content:space-between;padding:4px 0;color:var(--tbe-muted);font-size:13px}.tbe-quote-panel strong{color:var(--tbe-ink)}.tbe-total-line{font-size:15px!important;margin-top:4px;padding-top:8px!important;border-top:1px dashed var(--tbe-line)}.tbe-total-line strong{font-size:19px}.tbe-discount-line{display:none}.tbe-payment-plans{display:grid;gap:8px}.tbe-payment-plans label:has(input:checked),.tbe-choice-grid label:has(input:checked){border-color:#758e9e;background:#f5f8f9}.tbe-gateways{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.tbe-gateways label{border:1px solid var(--tbe-line);border-radius:10px;padding:11px;display:flex;gap:8px;align-items:center;cursor:pointer}.tbe-checkline{display:flex!important;align-items:center;gap:9px!important;margin:12px 0!important}.tbe-book-now{width:100%;border:0;margin-top:4px}.tbe-book-now:disabled{opacity:.65;cursor:wait}.tbe-secure-note{text-align:center;color:var(--tbe-muted);font-size:10px;margin:10px 0 0}.tbe-form-message{display:none;border-radius:10px;padding:11px 13px;margin-top:12px;font-size:13px}.tbe-form-message.is-error,.tbe-form-message.is-success{display:block}.tbe-form-message.is-error{background:#fff0ef;color:#9a342c}.tbe-form-message.is-success{background:#edf7f1;color:#2d6748}
.tbe-custom-trip-hero{background:linear-gradient(120deg,#132f41,#1e4e62);padding:90px 0;color:#fff}.tbe-custom-trip-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,7vw,74px);margin:14px 0}.tbe-custom-trip-hero p{max-width:690px;color:rgba(255,255,255,.8);font-size:18px}.tbe-custom-trip-form{max-width:920px;margin:45px auto 80px;background:#fff;border:1px solid var(--tbe-line);border-radius:20px;padding:35px;box-shadow:var(--tbe-shadow)}.tbe-custom-form-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.tbe-custom-field.width-33{grid-column:span 2}.tbe-custom-field.width-50{grid-column:span 3}.tbe-custom-field.width-66{grid-column:span 4}.tbe-custom-field.width-100{grid-column:1/-1}.tbe-custom-field>label{margin-bottom:7px}.tbe-custom-field em{color:var(--tbe-accent);font-style:normal}.tbe-choice-grid{display:flex;flex-wrap:wrap;gap:8px}.tbe-choice-grid label{font-size:13px;font-weight:600}.tbe-custom-trip-form>.tbe-button{margin-top:26px;min-width:240px}.tbe-custom-form-grid.is-complete{opacity:.5}
.tbe-confirm-wrap,.tbe-account-wrap{padding:75px 0 90px}.tbe-confirm-wrap{text-align:center;max-width:980px}.tbe-confirm-wrap h1,.tbe-account-wrap h1{font-family:Georgia,"Times New Roman",serif;font-size:52px;margin:11px 0}.tbe-success-icon{width:64px;height:64px;border-radius:50%;background:#e6f3eb;color:#3d7656;display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 20px}.tbe-confirm-wrap .tbe-lead{margin:0 auto 28px}.tbe-confirm-card{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--tbe-line);border-radius:18px;overflow:hidden;text-align:left;background:#fff;box-shadow:0 12px 38px rgba(16,42,59,.06)}.tbe-confirm-card>div{padding:20px;border-right:1px solid var(--tbe-line);border-bottom:1px solid var(--tbe-line)}.tbe-confirm-card small{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:9px;color:var(--tbe-muted);font-weight:800;margin-bottom:7px}.tbe-confirm-actions{display:flex;justify-content:center;gap:10px;margin-top:24px}.tbe-note-card{margin:24px auto 0;max-width:700px;padding:18px;border-radius:14px;background:#f5f2ed;text-align:left}.tbe-note-card p{margin:5px 0 0}.tbe-status{color:var(--tbe-green)}.tbe-booking-list{display:grid;gap:12px;margin-top:30px}.tbe-booking-list article{display:flex;justify-content:space-between;gap:24px;padding:23px;border:1px solid var(--tbe-line);border-radius:15px}.tbe-booking-list h3{margin:5px 0 6px;font-size:20px}.tbe-booking-list p{margin:0;color:var(--tbe-muted)}.tbe-booking-list-right{text-align:right;display:flex;flex-direction:column;gap:5px}.tbe-booking-list-right a{text-decoration:none;color:var(--tbe-accent-dark);font-weight:700}.tbe-lookup{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;max-width:850px;border:1px solid var(--tbe-line);border-radius:15px;padding:22px;margin-top:30px}.tbe-empty{padding:45px;border:1px dashed #ccd6dc;border-radius:16px;text-align:center;background:#fafbfb}.tbe-empty h2{margin-top:0}
@media(max-width:1024px){.tbe-tour-grid,.tbe-tour-grid.tbe-cols-3,.tbe-tour-grid.tbe-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.tbe-tour-layout{grid-template-columns:1fr}.tbe-booking-aside{order:-1}.tbe-booking-aside>.tbe-booking-box{position:static;max-width:680px}.tbe-confirm-card{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.tbe-container{width:min(100% - 24px,1180px)}.tbe-filterbar{align-items:stretch;flex-direction:column}.tbe-filter-controls{flex-direction:column}.tbe-filter-controls select{width:100%}.tbe-tour-grid,.tbe-tour-grid.tbe-cols-2,.tbe-tour-grid.tbe-cols-3,.tbe-tour-grid.tbe-cols-4{grid-template-columns:1fr}.tbe-tour-image{height:230px}.tbe-tour-hero{min-height:430px;padding:55px 0}.tbe-tour-layout{padding-top:28px;gap:30px}.tbe-highlight-box ul,.tbe-two-col,.tbe-info-grid,.tbe-review-grid{grid-template-columns:1fr}.tbe-gallery img{width:92%}.tbe-guest-grid{grid-template-columns:1fr 1fr 1fr}.tbe-two-fields{grid-template-columns:1fr}.tbe-custom-trip-form{margin:25px 12px 55px;padding:22px}.tbe-custom-form-grid{grid-template-columns:1fr}.tbe-custom-field.width-33,.tbe-custom-field.width-50,.tbe-custom-field.width-66,.tbe-custom-field.width-100{grid-column:1}.tbe-confirm-wrap h1,.tbe-account-wrap h1{font-size:40px}.tbe-confirm-card{grid-template-columns:1fr 1fr}.tbe-booking-list article{flex-direction:column}.tbe-booking-list-right{text-align:left}.tbe-lookup{grid-template-columns:1fr}.tbe-confirm-actions{flex-direction:column}.tbe-confirm-actions .tbe-button{width:100%}}
@media print{header,footer,.tbe-confirm-actions{display:none!important}.tbe-route-shell{padding:0}.tbe-confirm-wrap{padding:20px 0}.tbe-confirm-card{box-shadow:none}}
.tbe-balance-card{max-width:760px;margin:25px auto 0;padding:22px;border:1px solid var(--tbe-line);border-radius:16px;background:#fff;text-align:left;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.tbe-balance-card h3{font-size:24px;margin:6px 0}.tbe-balance-card p{margin:0;color:var(--tbe-muted)}.tbe-balance-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tbe-balance-message{grid-column:1/-1;margin:0}@media(max-width:700px){.tbe-balance-card{grid-template-columns:1fr}.tbe-balance-actions{justify-content:flex-start;flex-direction:column}.tbe-balance-actions .tbe-button{width:100%}}
.tbe-gateway-warning{grid-column:1/-1;padding:10px 12px;background:#fff5e9;border:1px solid #efd5b5;border-radius:10px;color:#865b2f;font-size:12px;font-weight:650}

.tbe-map{overflow:hidden;border:1px solid #e6e9ee;border-radius:20px;background:#f6f8fa;box-shadow:0 12px 32px rgba(16,24,40,.07)}
.tbe-map iframe{display:block;width:100%;height:360px;border:0}
@media(max-width:720px){.tbe-map iframe{height:280px}}

/* v1.1 Morocco custom-trip preset */
.tbe-route-shell:has(.tbe-custom-trip-hero){background:#fbf8f3}
.tbe-custom-trip-hero{background:#4b0f26;padding:46px 0 52px;color:#fff;text-align:center}
.tbe-custom-trip-hero .tbe-kicker{display:inline-block;color:#e4b8a1;border:1px solid rgba(228,184,161,.45);border-radius:999px;padding:7px 12px;font-size:10px;letter-spacing:.14em}
.tbe-custom-trip-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,5vw,58px);margin:12px 0 8px;line-height:1.05}
.tbe-custom-trip-hero p{max-width:720px;margin:0 auto;color:rgba(255,255,255,.82);font-size:14px;line-height:1.65}
.tbe-custom-trip-form{max-width:940px;margin:44px auto 80px;background:#fff;border:1px solid #eadfd7;border-radius:18px;padding:32px 34px 28px;box-shadow:0 18px 55px rgba(76,33,21,.08)}
.tbe-custom-form-grid{gap:16px 18px}
.tbe-custom-section{grid-column:1/-1;display:flex;gap:13px;align-items:flex-start;border-bottom:1px solid #eee4dd;padding:4px 0 14px;margin:8px 0 2px}
.tbe-custom-section:first-child{margin-top:0}
.tbe-custom-section-number{width:25px;height:25px;min-width:25px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#d86434;color:#fff;font-size:12px;font-weight:800;box-shadow:0 4px 12px rgba(216,100,52,.2)}
.tbe-custom-section h2{font-family:Georgia,"Times New Roman",serif;font-size:21px;line-height:1.2;margin:0;color:#4d2633;font-weight:700}
.tbe-custom-section p{font-size:11px;color:#8e817b;line-height:1.55;margin:3px 0 0}
.tbe-custom-trip-form .tbe-custom-field>label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#5f4e48;margin-bottom:5px}
.tbe-custom-trip-form input,.tbe-custom-trip-form select,.tbe-custom-trip-form textarea{background:#fbf8f4;border-color:#eee4dd;border-radius:7px;min-height:42px;color:#493c38}
.tbe-custom-trip-form textarea{min-height:108px}
.tbe-custom-trip-form .tbe-choice-grid{gap:10px}
.tbe-custom-trip-form .type-radio .tbe-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
.tbe-custom-trip-form .type-radio .tbe-choice-grid label{min-height:74px;align-items:flex-start;background:#fff;border:1px solid #eee4dd;border-radius:10px;padding:14px 15px;color:#5b3e43;font-size:13px;line-height:1.35;box-shadow:0 2px 8px rgba(61,36,28,.02)}
.tbe-custom-trip-form .type-radio .tbe-choice-grid label:has(input:checked){border-color:#df8c69;background:#fff8f4;box-shadow:0 0 0 1px #edb197 inset}
.tbe-custom-trip-form .type-checkbox .tbe-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}
.tbe-custom-trip-form .type-checkbox .tbe-choice-grid label{background:#fff;border:1px solid #eee4dd;border-radius:8px;padding:10px 12px;color:#66534d;font-size:11px}
.tbe-custom-trip-form .tbe-choice-grid input{accent-color:#d86434}
.tbe-custom-submit-row{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #eee4dd;margin-top:26px;padding-top:22px}
.tbe-custom-privacy{font-size:10px;color:#9a8c86;margin:0;max-width:480px}
.tbe-custom-trip-form>.tbe-button,.tbe-custom-submit-row .tbe-button{margin:0;min-width:230px;border-radius:8px;background:#d86434;color:#fff!important;box-shadow:none}
.tbe-custom-submit-row .tbe-button:hover{background:#bd5027}
@media(max-width:700px){.tbe-custom-trip-hero{padding:36px 0 40px}.tbe-custom-trip-form{margin:24px 12px 55px;padding:22px 18px}.tbe-custom-trip-form .type-radio .tbe-choice-grid,.tbe-custom-trip-form .type-checkbox .tbe-choice-grid{grid-template-columns:1fr}.tbe-custom-submit-row{align-items:stretch;flex-direction:column}.tbe-custom-submit-row .tbe-button{width:100%}}

/* =========================================================
   v1.2.2 — Morocco Packages Trips visual system
   Matches the live site's Playfair Display / Plus Jakarta Sans
   palette and premium tour presentation.
   ========================================================= */
:root{
  --tbe-ink:#481329;
  --tbe-ink-2:#5d2338;
  --tbe-text:#5a6672;
  --tbe-muted:#7c858e;
  --tbe-line:#e9e1da;
  --tbe-bg:#FBF9F5;
  --tbe-card:#ffffff;
  --tbe-accent:#c25e3e;
  --tbe-accent-dark:#a9482f;
  --tbe-gold:#c7974d;
  --tbe-green:#617a62;
  --tbe-shadow:0 18px 55px rgba(72,19,41,.08);
  --tbe-radius:20px;
}
.tbe-route-shell{background:var(--tbe-bg);color:var(--tbe-text);font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;min-height:60vh}
.tbe-route-shell *,.tbe-tour-grid *,.tbe-custom-trip-form *,.tbe-booking-box *{box-sizing:border-box}
.tbe-tour-grid,.tbe-custom-trip-form,.tbe-booking-box{font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif}
.tbe-container{width:min(1240px,calc(100% - 48px));margin:0 auto}
.tbe-section-kicker,.tbe-kicker,.tbe-filter-label,.tbe-archive-kicker{font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;color:var(--tbe-accent);font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}
.tbe-button{font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;border-radius:8px;min-height:46px;font-weight:600;letter-spacing:.01em}
.tbe-button-primary{background:var(--tbe-ink);box-shadow:none}.tbe-button-primary:hover{background:#350b1d}.tbe-button-light{color:var(--tbe-ink)!important;border-color:#e6dcd5;background:#fff}.tbe-button-light:hover{border-color:#cdbcb1;background:#fffaf6}

/* shortcode tour grid used on the home page */
.tbe-filterbar{border-color:#eadfd7;border-radius:14px;background:#fff;margin:24px 0 28px;padding:16px 18px;box-shadow:0 8px 25px rgba(72,19,41,.035)}
.tbe-filterbar strong{color:var(--tbe-ink);font-size:16px;font-weight:600}
.tbe-filter-controls select{border-color:#e8ddd6;border-radius:8px;color:#5a6672;font-size:13px;background-color:#fff}
.tbe-tour-grid{gap:22px}
.tbe-tour-card{border-color:#eadfd7;border-radius:16px;box-shadow:0 10px 30px rgba(72,19,41,.05)}
.tbe-tour-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(72,19,41,.10)}
.tbe-tour-image{height:250px;border-radius:0;background-color:#eee7e1}
.tbe-image-shade{background:linear-gradient(to top,rgba(38,10,22,.64),rgba(38,10,22,0) 62%)}
.tbe-duration-pill,.tbe-private-pill{position:absolute;top:14px;z-index:2;display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.01em;backdrop-filter:blur(8px)}
.tbe-duration-pill{left:14px;background:rgba(72,19,41,.92);color:#fff}
.tbe-private-pill{right:14px;background:rgba(194,94,62,.94);color:#fff}
.tbe-badge{top:auto;left:14px;bottom:14px;background:rgba(255,255,255,.94);color:var(--tbe-ink)}
.tbe-card-price{right:14px;bottom:14px;font-size:17px;font-weight:600}.tbe-card-price small{font-size:9px;font-weight:500}
.tbe-tour-card-body{padding:20px 20px 18px}
.tbe-card-meta{font-size:10px;color:var(--tbe-accent);text-transform:uppercase;letter-spacing:.05em;gap:8px}.tbe-card-meta span+span:before{content:"•";margin-right:8px;color:#c9b9af}
.tbe-tour-card h3{font-family:"Playfair Display",Georgia,serif;color:var(--tbe-ink);font-size:25px;font-weight:400;line-height:1.2;margin:8px 0 9px}.tbe-tour-card h3 a{color:inherit}
.tbe-tour-card p{color:var(--tbe-text);font-size:13px;line-height:1.65}
.tbe-month-row{border-top-color:#eee5df;color:#8a827d;font-size:11px}.tbe-month-row strong{color:var(--tbe-green)}
.tbe-tour-card .tbe-button{background:var(--tbe-ink);border-color:var(--tbe-ink);color:#fff!important}.tbe-tour-card .tbe-button:hover{background:#350b1d}

/* Tours archive hero */
.tbe-archive-hero{background:var(--tbe-bg);padding:78px 0 70px;border-bottom:1px solid #eee6df;text-align:center}
.tbe-archive-hero h1{font-family:"Playfair Display",Georgia,serif;color:var(--tbe-ink);font-size:clamp(46px,5.3vw,72px);line-height:1.05;font-weight:400;margin:18px auto 22px;letter-spacing:-.02em}
.tbe-archive-hero p{max-width:780px;margin:0 auto;color:var(--tbe-text);font-size:18px;line-height:1.65}
.tbe-archive-kicker{color:var(--tbe-accent);font-size:15px}
.tbe-hero-rule{display:block;width:96px;height:2px;background:#d5a255;margin:35px auto 0}

/* Archive filters + results */
.tbe-archive-wrap{display:grid;grid-template-columns:270px minmax(0,1fr);gap:42px;padding:48px 0 86px;align-items:start}
.tbe-archive-sidebar{position:sticky;top:30px;background:transparent;padding-right:8px}
.tbe-filter-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid #e8dfd8}.tbe-filter-heading h2{font-family:"Playfair Display",Georgia,serif;color:var(--tbe-ink);font-size:28px;font-weight:400;margin:0}.tbe-clear-filters{border:0;background:none;color:var(--tbe-accent);font:600 11px/1 "Plus Jakarta Sans",sans-serif;cursor:pointer;padding:6px 0}
.tbe-side-filter{padding:22px 0;border-bottom:1px solid #e8dfd8}.tbe-side-title,.tbe-side-title-row .tbe-side-title{display:block;color:var(--tbe-ink);font-size:12px;font-weight:700;margin-bottom:12px}.tbe-side-title-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.tbe-side-title-row strong{font-size:11px;color:var(--tbe-muted);font-weight:600}.tbe-side-title-row .tbe-side-title{margin:0}
.tbe-archive-destination{width:100%;height:44px;border:1px solid #dfd5ce;border-radius:9px;background:#fff;padding:0 34px 0 12px;color:var(--tbe-text);font:500 12px/1 "Plus Jakarta Sans",sans-serif;outline:0}
.tbe-duration-range{width:100%;accent-color:var(--tbe-accent);cursor:pointer}.tbe-range-labels{display:flex;justify-content:space-between;color:#9b938d;font-size:9px;margin-top:4px}
.tbe-category-checks{display:grid;gap:10px}.tbe-category-checks label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;color:#5f6670;font-size:12px;cursor:pointer}.tbe-category-checks input{width:15px;height:15px;accent-color:var(--tbe-ink)}.tbe-category-checks small{color:#a19a94;font-size:10px}
.tbe-archive-results{min-width:0}.tbe-archive-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.tbe-search-box{height:46px;min-width:280px;max-width:470px;flex:1;display:flex;align-items:center;gap:8px;border:1px solid #e6dcd5;border-radius:12px;background:#fff;padding:0 13px;color:#8d8580}.tbe-search-box input{width:100%;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;min-height:0!important;font:500 13px/1 "Plus Jakarta Sans",sans-serif;color:#49535e}.tbe-result-actions{display:flex;align-items:center;gap:10px}.tbe-result-count{font-size:11px;color:#9a918b;white-space:nowrap}.tbe-tour-sort{height:46px;border:1px solid #e6dcd5;border-radius:10px;background:#fff;color:#59636d;padding:0 32px 0 12px;font:500 11px/1 "Plus Jakarta Sans",sans-serif}.tbe-view-toggle{display:flex;border:1px solid #e6dcd5;border-radius:10px;background:#fff;overflow:hidden}.tbe-view-toggle button{width:42px;height:44px;border:0;background:transparent;color:#98908a;cursor:pointer;font-size:16px}.tbe-view-toggle button+button{border-left:1px solid #eee5df}.tbe-view-toggle button.is-active{background:#f5eee9;color:var(--tbe-ink)}
.tbe-archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;position:relative}
.tbe-archive-card{background:#fff;border:1px solid #eae1da;border-radius:16px;overflow:hidden;box-shadow:0 12px 35px rgba(72,19,41,.055);transition:transform .2s ease,box-shadow .2s ease}
.tbe-archive-card:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(72,19,41,.095)}
.tbe-archive-image{display:block;height:285px;position:relative;background:#eee7e1 center/cover no-repeat;overflow:hidden}.tbe-archive-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(40,10,22,.40),transparent 55%);transition:.25s}.tbe-archive-card:hover .tbe-archive-image:after{background:linear-gradient(to top,rgba(40,10,22,.48),rgba(40,10,22,.03) 65%)}
.tbe-archive-card-body{padding:20px}.tbe-archive-eyebrow{font-size:10px;color:var(--tbe-accent);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px}.tbe-archive-card h3{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:26px;line-height:1.18;margin:0 0 9px;color:var(--tbe-ink)}.tbe-archive-card h3 a{color:inherit;text-decoration:none}.tbe-archive-card p{font-size:13px;line-height:1.62;color:var(--tbe-text);margin:0 0 17px;min-height:42px}
.tbe-card-detail-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #efe7e1;border-bottom:1px solid #efe7e1;padding:13px 0;margin-bottom:15px}.tbe-card-detail-row>span+span{border-left:1px solid #efe7e1;padding-left:14px}.tbe-card-detail-row small,.tbe-card-bottom small{display:block;color:#9c948e;font-size:9px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}.tbe-card-detail-row strong,.tbe-card-bottom strong{display:block;color:#48525b;font-size:12px;font-weight:600}
.tbe-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}.tbe-card-cta{display:inline-flex;align-items:center;gap:12px;padding:11px 15px;border-radius:7px;background:var(--tbe-ink);color:#fff!important;text-decoration:none!important;font-size:11px;font-weight:600;white-space:nowrap}.tbe-card-cta:hover{background:#350b1d}.tbe-card-cta span{font-size:15px}
.tbe-archive-grid.is-list{grid-template-columns:1fr}.tbe-archive-grid.is-list .tbe-archive-card{display:grid;grid-template-columns:320px minmax(0,1fr)}.tbe-archive-grid.is-list .tbe-archive-image{height:100%;min-height:280px}.tbe-archive-grid.is-list .tbe-archive-card p{min-height:0}
.tbe-no-results{grid-column:1/-1;text-align:center;background:#fff;border:1px dashed #dfd3cb;border-radius:16px;padding:55px 20px}.tbe-no-results h3{font-family:"Playfair Display",Georgia,serif;color:var(--tbe-ink);font-size:28px;font-weight:400;margin:0 0 7px}.tbe-no-results p{margin:0;color:var(--tbe-muted)}

/* Premium single-tour hero */
.tbe-tour-hero{min-height:610px;background:#3c1423 center/cover no-repeat;color:#fff;display:flex;align-items:flex-end;padding:92px 0 72px;position:relative}
.tbe-tour-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(22,5,12,.42),transparent 45%);pointer-events:none}.tbe-tour-hero .tbe-container{position:relative;z-index:2;padding-bottom:0}.tbe-hero-copy{max-width:820px}
.tbe-tour-hero .tbe-kicker{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;background:rgba(72,19,41,.30);backdrop-filter:blur(8px);font-size:10px}
.tbe-tour-hero h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(48px,6vw,78px);font-weight:400;line-height:1.02;letter-spacing:-.02em;max-width:900px;margin:17px 0 18px;color:#fff}.tbe-tour-hero p{max-width:720px;color:rgba(255,255,255,.88);font-size:16px;line-height:1.7}.tbe-hero-meta{display:flex;gap:11px;flex-wrap:wrap;margin-top:24px}.tbe-hero-meta span{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.17);font-size:11px;font-weight:600;backdrop-filter:blur(8px)}
.tbe-single-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);gap:50px;align-items:end;padding:52px 0 34px}.tbe-single-intro h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(34px,4vw,50px);line-height:1.14;font-weight:400;color:var(--tbe-ink);margin:9px 0 0;max-width:700px}.tbe-single-intro-meta{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e9dfd7;border-radius:14px;background:#fff;overflow:hidden}.tbe-single-intro-meta span{padding:17px 15px}.tbe-single-intro-meta span+span{border-left:1px solid #eee5df}.tbe-single-intro-meta small{display:block;color:#9b918a;font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.tbe-single-intro-meta strong{display:block;color:var(--tbe-ink);font-size:12px;font-weight:600}

/* Modern bento gallery */
.tbe-gallery-premium{padding-bottom:18px}.tbe-gallery-bento{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:250px 250px;gap:10px;height:510px;border-radius:22px;overflow:hidden;background:#ece4de}.tbe-gallery-tile{position:relative;border:0;padding:0;overflow:hidden;background:#eee;cursor:zoom-in}.tbe-gallery-tile img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}.tbe-gallery-tile:hover img{transform:scale(1.035)}.tbe-gallery-tile-1{grid-row:1/3;grid-column:1}.tbe-gallery-tile-2{grid-row:1;grid-column:2}.tbe-gallery-tile-3{grid-row:1;grid-column:3}.tbe-gallery-tile-4{grid-row:2;grid-column:2}.tbe-gallery-tile-5{grid-row:2;grid-column:3}.tbe-gallery-bento .tbe-gallery-tile:last-of-type:nth-child(2){grid-column:2/4;grid-row:1/3}.tbe-gallery-bento .tbe-gallery-tile:last-of-type:nth-child(3){grid-column:2/4;grid-row:2}.tbe-gallery-all{position:absolute;right:18px;bottom:18px;z-index:5;display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border:1px solid rgba(255,255,255,.7);border-radius:8px;background:rgba(255,255,255,.94);color:var(--tbe-ink);font:600 11px/1 "Plus Jakarta Sans",sans-serif;box-shadow:0 8px 25px rgba(40,10,22,.14);cursor:pointer}.tbe-gallery-all:hover{background:#fff}

/* Single tour content */
.tbe-tour-layout{grid-template-columns:minmax(0,1fr) 390px;gap:58px;padding-top:34px;padding-bottom:90px;align-items:start}.tbe-booking-aside>.tbe-booking-box{top:30px}.tbe-tour-main{min-width:0}.tbe-section{padding:44px 0;border-bottom:1px solid #e9e0da}.tbe-section:first-of-type{padding-top:18px}.tbe-section h2{font-family:"Playfair Display",Georgia,serif;color:var(--tbe-ink);font-size:42px;line-height:1.12;font-weight:400;margin:10px 0 24px}.tbe-richtext,.tbe-itinerary-copy{color:var(--tbe-text);font-size:15px;line-height:1.85}.tbe-richtext p,.tbe-itinerary-copy p{margin:0 0 17px}.tbe-highlight-box{margin-top:28px;background:#fff;border:1px solid #eadfd7;border-radius:16px;padding:24px 26px}.tbe-highlight-box h3{font-family:"Playfair Display",Georgia,serif;color:var(--tbe-ink);font-size:25px;font-weight:400}.tbe-highlight-box ul{grid-template-columns:1fr;gap:10px}.tbe-highlight-box li{color:#59636c;font-size:13px}.tbe-highlight-box li:before{color:var(--tbe-accent)}
.tbe-timeline:before{left:18px;background:#dfd4cc}.tbe-timeline-number{background:var(--tbe-ink);font-size:12px}.tbe-timeline-item{gap:20px;padding-bottom:34px}.tbe-timeline-item h3{font-family:"Playfair Display",Georgia,serif;color:var(--tbe-ink);font-size:24px;font-weight:400;line-height:1.25;margin:4px 0 8px}.tbe-timeline-meta{color:var(--tbe-accent);font-size:9px}
.tbe-two-col{gap:18px}.tbe-list-panel{background:#fff;border-color:#e9dfd7;border-radius:15px;padding:24px}.tbe-list-panel h3{font-family:"Playfair Display",Georgia,serif;color:var(--tbe-ink);font-size:24px;font-weight:400}.tbe-list-panel li{color:#5e6770;border-bottom-color:#eee5df;font-size:13px;line-height:1.55}.tbe-info-grid>div{background:#fff;border:1px solid #e9dfd7}.tbe-info-grid small{color:#9d948d}.tbe-info-grid strong{color:#56616b;font-size:13px;font-weight:600}.tbe-policy{background:#f6eee8;border:1px solid #eadfd7!important}.tbe-policy h3{font-family:"Playfair Display",Georgia,serif;color:var(--tbe-ink);font-size:27px;font-weight:400;margin:7px 0 12px}.tbe-accordion details{border-color:#e5dcd5}.tbe-accordion summary{font-family:"Playfair Display",Georgia,serif;color:var(--tbe-ink);font-size:19px;font-weight:400}.tbe-accordion details div{color:var(--tbe-text);font-size:13px}.tbe-review-grid article{background:#fff;border-color:#e9dfd7}.tbe-review-grid h3{font-family:"Playfair Display",Georgia,serif;color:var(--tbe-ink);font-weight:400}.tbe-map{border-color:#e3d8d0;border-radius:18px;box-shadow:0 12px 35px rgba(72,19,41,.07)}

/* Booking sidebar in the site palette */
.tbe-booking-box{border-color:#dfd3ca;border-radius:18px;box-shadow:0 20px 55px rgba(72,19,41,.12);background:#fff}.tbe-booking-head{background:var(--tbe-ink);padding:22px 23px}.tbe-booking-head>span,.tbe-booking-head small{color:rgba(255,255,255,.73)}.tbe-booking-head strong{font-family:"Playfair Display",Georgia,serif;font-size:31px;font-weight:400}.tbe-booking-form{padding:22px}.tbe-booking-form label{color:#5d5960;font-size:11px}.tbe-booking-form input,.tbe-booking-form select,.tbe-booking-form textarea{border-color:#e4dbd4;border-radius:8px;background:#fdfbf8;color:#525c65;font-size:12px}.tbe-booking-form input:focus,.tbe-booking-form select:focus,.tbe-booking-form textarea:focus{border-color:#c99a87;box-shadow:0 0 0 3px rgba(194,94,62,.10)}.tbe-step-label{color:var(--tbe-ink);font-size:10px}.tbe-step-label span{background:#f2e7e1;color:var(--tbe-accent)}.tbe-addon-list label,.tbe-payment-plans label,.tbe-gateways label{border-color:#e7ddd5;border-radius:9px}.tbe-addon-list label:has(input:checked),.tbe-payment-plans label:has(input:checked),.tbe-gateways label:has(input:checked){border-color:#c98b73;background:#fff8f4}.tbe-book-now{background:var(--tbe-ink);border-radius:8px}.tbe-secure-note{color:#99908a}.tbe-quote-panel{background:#f8f2ed!important;border-color:#eadfd7!important}

/* Gallery lightbox */
.tbe-lightbox{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;background:rgba(20,8,13,.94);padding:40px 86px;color:#fff}.tbe-lightbox.is-open{display:flex}.tbe-lightbox figure{margin:0;max-width:min(1200px,92vw);max-height:90vh;display:flex;flex-direction:column;align-items:center}.tbe-lightbox figure img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:10px;box-shadow:0 25px 80px rgba(0,0,0,.35)}.tbe-lightbox figcaption{width:100%;display:flex;justify-content:space-between;gap:20px;padding-top:12px;color:rgba(255,255,255,.82);font-size:11px}.tbe-lightbox figcaption strong{font-family:"Playfair Display",Georgia,serif;font-size:16px;font-weight:400}.tbe-lightbox-close,.tbe-lightbox-prev,.tbe-lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;backdrop-filter:blur(8px)}.tbe-lightbox-close{right:24px;top:20px;width:44px;height:44px;border-radius:50%;font-size:28px}.tbe-lightbox-prev,.tbe-lightbox-next{top:50%;transform:translateY(-50%);width:48px;height:64px;border-radius:10px;font-size:38px}.tbe-lightbox-prev{left:24px}.tbe-lightbox-next{right:24px}body.tbe-lightbox-open{overflow:hidden}

/* Custom trip typography follows the same website fonts */
.tbe-custom-trip-hero{background:var(--tbe-ink)}.tbe-custom-trip-hero h1,.tbe-custom-section h2{font-family:"Playfair Display",Georgia,serif}.tbe-custom-trip-form{font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif}

@media(max-width:1100px){
  .tbe-archive-wrap{grid-template-columns:230px minmax(0,1fr);gap:28px}.tbe-archive-image{height:245px}
  .tbe-tour-layout{grid-template-columns:minmax(0,1fr) 350px;gap:34px}.tbe-gallery-bento{grid-template-rows:215px 215px;height:440px}
  .tbe-single-intro{grid-template-columns:1fr;gap:25px}.tbe-single-intro-meta{max-width:620px}
}
@media(max-width:900px){
  .tbe-archive-wrap{grid-template-columns:1fr}.tbe-archive-sidebar{position:static;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:18px;border:1px solid #e7ddd6;background:#fff;border-radius:14px}.tbe-filter-heading{grid-column:1/-1}.tbe-side-filter{border:0;padding:0}.tbe-archive-tools{margin-top:6px}.tbe-tour-layout{grid-template-columns:1fr}.tbe-booking-aside{order:0}.tbe-booking-aside>.tbe-booking-box{position:static;max-width:none}.tbe-gallery-bento{grid-template-columns:2fr 1fr;grid-template-rows:210px 210px}.tbe-gallery-tile-1{grid-row:1/3}.tbe-gallery-tile-2{grid-column:2;grid-row:1}.tbe-gallery-tile-3{grid-column:2;grid-row:2}.tbe-gallery-tile-4,.tbe-gallery-tile-5{display:none}
}
@media(max-width:700px){
  .tbe-container{width:min(100% - 28px,1240px)}
  .tbe-archive-hero{padding:55px 0 48px}.tbe-archive-hero h1{font-size:44px}.tbe-archive-hero p{font-size:15px}.tbe-archive-kicker{font-size:12px}.tbe-hero-rule{margin-top:24px}
  .tbe-archive-wrap{padding:28px 0 60px}.tbe-archive-sidebar{grid-template-columns:1fr}.tbe-filter-heading{grid-column:auto}.tbe-side-filter{padding:8px 0}.tbe-archive-tools{align-items:stretch;flex-direction:column}.tbe-search-box{max-width:none;width:100%;min-width:0}.tbe-result-actions{justify-content:space-between;flex-wrap:wrap}.tbe-result-count{display:none}.tbe-tour-sort{flex:1}.tbe-archive-grid{grid-template-columns:1fr}.tbe-archive-image{height:245px}.tbe-archive-grid.is-list .tbe-archive-card{display:block}.tbe-archive-grid.is-list .tbe-archive-image{height:245px;min-height:0}
  .tbe-tour-hero{min-height:500px;padding:70px 0 45px}.tbe-tour-hero h1{font-size:44px}.tbe-tour-hero p{font-size:14px}.tbe-hero-meta{gap:7px}.tbe-hero-meta span{font-size:9px;min-height:30px}.tbe-single-intro{padding:36px 0 24px}.tbe-single-intro h2{font-size:35px}.tbe-single-intro-meta{grid-template-columns:1fr}.tbe-single-intro-meta span+span{border-left:0;border-top:1px solid #eee5df}
  .tbe-gallery-bento{display:flex;overflow:auto;scroll-snap-type:x mandatory;height:auto;border-radius:15px;gap:8px;background:transparent}.tbe-gallery-tile,.tbe-gallery-tile-1,.tbe-gallery-tile-2,.tbe-gallery-tile-3,.tbe-gallery-tile-4,.tbe-gallery-tile-5{display:block!important;min-width:88%;height:275px;scroll-snap-align:start;border-radius:14px}.tbe-gallery-all{right:12px;bottom:12px}
  .tbe-tour-layout{padding-top:20px;gap:28px}.tbe-section{padding:34px 0}.tbe-section h2{font-size:34px}.tbe-highlight-box ul,.tbe-two-col,.tbe-info-grid,.tbe-review-grid{grid-template-columns:1fr}.tbe-lightbox{padding:60px 15px}.tbe-lightbox-prev,.tbe-lightbox-next{top:auto;bottom:16px;width:46px;height:46px}.tbe-lightbox-prev{left:16px}.tbe-lightbox-next{right:16px}.tbe-lightbox-close{right:12px;top:12px}
}
.tbe-gallery-count-1 .tbe-gallery-tile-1{grid-column:1/4;grid-row:1/3}
.tbe-gallery-count-2{grid-template-columns:2fr 1fr}.tbe-gallery-count-2 .tbe-gallery-tile-1{grid-column:1;grid-row:1/3}.tbe-gallery-count-2 .tbe-gallery-tile-2{grid-column:2;grid-row:1/3}
.tbe-gallery-count-4 .tbe-gallery-tile-4{grid-column:2/4;grid-row:2}
@media(max-width:700px){.tbe-gallery-count-1,.tbe-gallery-count-2{display:flex}.tbe-gallery-count-1 .tbe-gallery-tile-1,.tbe-gallery-count-2 .tbe-gallery-tile-1,.tbe-gallery-count-2 .tbe-gallery-tile-2{min-width:88%;height:275px}}
@media(max-width:1024px) and (min-width:701px){.tbe-booking-aside{order:0}}

/* ========================================================================
   v1.2.3 — Single tour UX / responsive polish
   ======================================================================== */

/* Prevent theme-level button/link hover rules from destroying plugin labels. */
.tbe-gallery-all,
.tbe-gallery-all:hover,
.tbe-gallery-all:focus,
.tbe-gallery-all:active,
.tbe-card-cta,
.tbe-card-cta:hover,
.tbe-card-cta:focus,
.tbe-button,
.tbe-button:hover,
.tbe-button:focus{
  text-decoration:none!important;
}
.tbe-gallery-all,
.tbe-gallery-all:hover,
.tbe-gallery-all:focus,
.tbe-gallery-all:active{
  color:#481329!important;
  background:rgba(255,255,255,.97)!important;
  border-color:rgba(72,19,41,.16)!important;
  opacity:1!important;
  visibility:visible!important;
  font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;
  font-weight:700!important;
  letter-spacing:0!important;
  line-height:1!important;
  box-shadow:0 10px 26px rgba(40,10,22,.14)!important;
}
.tbe-gallery-all:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(40,10,22,.18)!important}

/* The booking card follows the reader down the itinerary, then stops with it. */
.tbe-booking-aside{
  position:sticky!important;
  top:28px;
  align-self:start;
  max-height:calc(100vh - 56px);
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#d7c6bb transparent;
  z-index:20;
  padding:0 4px 8px 0;
}
body.admin-bar .tbe-booking-aside{top:60px;max-height:calc(100vh - 82px)}
.tbe-booking-aside>.tbe-booking-box{position:static!important;top:auto!important;width:100%;margin:0}
.tbe-booking-aside::-webkit-scrollbar{width:5px}.tbe-booking-aside::-webkit-scrollbar-thumb{background:#d7c6bb;border-radius:99px}.tbe-booking-aside::-webkit-scrollbar-track{background:transparent}

/* More breathing room in the price header and quote summary. */
.tbe-booking-head{display:grid!important;grid-template-columns:auto 1fr;align-items:end;column-gap:8px;row-gap:3px}
.tbe-booking-head>span{align-self:center}.tbe-booking-head strong{line-height:1.05;min-width:0}.tbe-booking-head small{grid-column:1/-1;display:block;line-height:1.5;margin-top:2px}
.tbe-quote-panel{
  margin:18px 0 12px!important;
  padding:10px 14px!important;
  background:#f8f2ed!important;
  border:1px solid #eadfd7!important;
  border-radius:12px!important;
}
.tbe-quote-panel>div{padding:7px 2px!important;gap:24px;align-items:center;color:#74747a!important;font-size:13px!important}
.tbe-quote-panel>div span{min-width:0}.tbe-quote-panel>div strong{margin-left:auto;white-space:nowrap;color:#481329!important;font-weight:700!important}
.tbe-quote-panel .tbe-total-line{margin-top:5px!important;padding-top:12px!important;border-top:1px solid #e2d5cc!important;font-size:15px!important}
.tbe-quote-panel .tbe-total-line strong{font-family:"Playfair Display",Georgia,serif;font-size:23px!important;font-weight:500!important}

/* Fully branded calendar; replaces the browser-native picker. */
.tbe-date-label{position:relative;z-index:80}.tbe-date-picker{position:relative;margin-top:6px}.tbe-date-picker input[type="hidden"]{display:none!important}
.tbe-date-trigger{
  width:100%;min-height:48px;padding:0 13px 0 14px;margin:0;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:1px solid #e4dbd4;border-radius:9px;background:#fdfbf8;color:#536171;
  font:500 13px/1.3 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif;
  text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.tbe-date-trigger:hover{border-color:#d2b6a9;background:#fff}.tbe-date-trigger:focus{outline:0;border-color:#c98b73;box-shadow:0 0 0 3px rgba(194,94,62,.10);background:#fff}
.tbe-date-display{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbe-date-icon{width:20px;height:20px;flex:0 0 20px;color:#481329}
.tbe-calendar{
  position:absolute;z-index:9999;left:0;right:0;top:calc(100% + 8px);
  padding:14px;background:#fff;border:1px solid #e7ddd5;border-radius:14px;
  box-shadow:0 22px 60px rgba(72,19,41,.18);font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;color:#481329;
}
.tbe-calendar[hidden]{display:none!important}.tbe-calendar-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;margin-bottom:12px}.tbe-calendar-title{text-align:center;font-size:13px;font-weight:750;color:#481329}
.tbe-calendar-nav{width:36px;height:36px;padding:0;display:grid;place-items:center;border:1px solid #eee3dc;border-radius:9px;background:#fff;color:#481329;cursor:pointer;transition:.15s ease}.tbe-calendar-nav:hover:not(:disabled){background:#fbf4ef;border-color:#dbc8bd}.tbe-calendar-nav:disabled{opacity:.28;cursor:not-allowed}.tbe-calendar-nav svg{width:17px;height:17px}
.tbe-calendar-weekdays,.tbe-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.tbe-calendar-weekdays{margin-bottom:5px}.tbe-calendar-weekdays span{display:grid;place-items:center;height:28px;color:#a09690;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.tbe-calendar-blank{height:34px}.tbe-calendar-day{height:34px;min-width:0;padding:0;border:1px solid transparent;border-radius:9px;background:transparent;color:#4f5c66;font:650 11px/1 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif;cursor:pointer}.tbe-calendar-day:hover:not(:disabled){background:#fbf1eb;color:#481329;border-color:#ead7cb}.tbe-calendar-day:disabled{color:#d4ccc7;cursor:not-allowed}.tbe-calendar-day.is-today{border-color:#c98b73;color:#a7482c}.tbe-calendar-day.is-selected,.tbe-calendar-day.is-selected:hover{background:#481329;color:#fff;border-color:#481329;box-shadow:0 5px 14px rgba(72,19,41,.18)}
.tbe-calendar-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid #f0e7e1}.tbe-calendar-footer button{border:0;background:transparent;color:#c25e3e;font:750 10px/1 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif;cursor:pointer;padding:8px 4px}.tbe-calendar-footer button:hover{color:#481329}

/* Gallery lightbox controls — compact, centered icons, guaranteed click target. */
.tbe-lightbox{isolation:isolate}.tbe-lightbox figure{position:relative;z-index:1}.tbe-lightbox-close,.tbe-lightbox-prev,.tbe-lightbox-next{
  z-index:25!important;display:grid!important;place-items:center!important;padding:0!important;
  color:#fff!important;background:rgba(38,25,31,.70)!important;border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.20)!important;cursor:pointer!important;opacity:1!important;visibility:visible!important;
  transition:background .18s ease,transform .18s ease,border-color .18s ease!important;
}
.tbe-lightbox-close svg,.tbe-lightbox-prev svg,.tbe-lightbox-next svg{width:22px;height:22px;pointer-events:none}
.tbe-lightbox-close{width:46px!important;height:46px!important;right:28px!important;top:24px!important;border-radius:50%!important;font-size:0!important}
.tbe-lightbox-prev,.tbe-lightbox-next{width:48px!important;height:48px!important;top:50%!important;border-radius:50%!important;font-size:0!important}
.tbe-lightbox-prev{left:28px!important;transform:translateY(-50%)!important}.tbe-lightbox-next{right:28px!important;transform:translateY(-50%)!important}
.tbe-lightbox-close:hover,.tbe-lightbox-prev:hover,.tbe-lightbox-next:hover{background:#481329!important;border-color:rgba(255,255,255,.4)!important}.tbe-lightbox-close:focus-visible,.tbe-lightbox-prev:focus-visible,.tbe-lightbox-next:focus-visible{outline:2px solid #fff!important;outline-offset:3px}

/* Defensive responsive rules for themes that inject their own element widths. */
.tbe-container,.tbe-tour-layout,.tbe-tour-main,.tbe-booking-aside,.tbe-booking-box,.tbe-booking-form,.tbe-gallery-premium,.tbe-gallery-bento,.tbe-archive-wrap,.tbe-archive-results,.tbe-archive-grid,.tbe-archive-card{box-sizing:border-box;min-width:0}
.tbe-booking-form input,.tbe-booking-form select,.tbe-booking-form textarea,.tbe-date-trigger{max-width:100%;box-sizing:border-box}
.tbe-gallery-tile img,.tbe-lightbox img{max-width:100%}

@media(max-width:1024px){
  .tbe-tour-layout{grid-template-columns:1fr!important;gap:32px!important}
  .tbe-booking-aside,.tbe-booking-aside>.tbe-booking-box{position:static!important;top:auto!important;max-height:none!important;overflow:visible!important;padding-right:0!important}
  .tbe-booking-aside{width:100%;max-width:760px;margin:0 auto}
  .tbe-gallery-bento{height:430px}
}
@media(max-width:767px){
  .tbe-container{width:calc(100% - 28px)!important;max-width:none!important}
  .tbe-tour-layout{padding-bottom:60px!important}
  .tbe-booking-box{border-radius:14px!important}.tbe-booking-form{padding:18px!important}.tbe-booking-head{padding:19px 18px!important}.tbe-booking-head strong{font-size:28px!important}
  .tbe-guest-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}.tbe-guest-grid label{min-width:0}.tbe-guest-grid input{padding-left:8px!important;padding-right:8px!important}
  .tbe-two-fields{grid-template-columns:1fr!important;gap:0!important}
  .tbe-coupon-row{grid-template-columns:minmax(0,1fr) auto!important}
  .tbe-quote-panel{padding:9px 12px!important}.tbe-quote-panel>div{padding:7px 0!important}
  .tbe-calendar{left:0;right:auto;width:min(330px,calc(100vw - 52px));padding:12px}.tbe-calendar-day{height:36px}.tbe-calendar-blank{height:36px}
  .tbe-gallery-premium{margin-top:18px!important}.tbe-gallery-bento{height:auto!important;scrollbar-width:none}.tbe-gallery-bento::-webkit-scrollbar{display:none}.tbe-gallery-tile,.tbe-gallery-tile-1,.tbe-gallery-tile-2,.tbe-gallery-tile-3,.tbe-gallery-tile-4,.tbe-gallery-tile-5{min-width:86%!important;height:260px!important}
  .tbe-gallery-all{right:10px!important;bottom:10px!important;min-height:38px!important;padding:0 13px!important;font-size:10px!important}
  .tbe-lightbox{padding:66px 12px 78px!important}.tbe-lightbox figure{width:100%;max-width:100%!important}.tbe-lightbox figure img{max-height:70vh!important;border-radius:8px!important}.tbe-lightbox figcaption{gap:12px;align-items:flex-start}.tbe-lightbox figcaption strong{text-align:right;font-size:13px!important}
  .tbe-lightbox-close{right:12px!important;top:12px!important;width:42px!important;height:42px!important}.tbe-lightbox-prev,.tbe-lightbox-next{top:auto!important;bottom:16px!important;width:44px!important;height:44px!important;transform:none!important}.tbe-lightbox-prev{left:16px!important}.tbe-lightbox-next{right:16px!important}
  .tbe-section h2{font-size:clamp(30px,9vw,36px)!important}.tbe-richtext,.tbe-itinerary-copy{font-size:14px!important;line-height:1.75!important}
}
@media(max-width:480px){
  .tbe-container{width:calc(100% - 20px)!important}
  .tbe-tour-hero{min-height:440px!important}.tbe-tour-hero h1{font-size:38px!important}.tbe-single-intro h2{font-size:31px!important}
  .tbe-gallery-tile,.tbe-gallery-tile-1,.tbe-gallery-tile-2,.tbe-gallery-tile-3,.tbe-gallery-tile-4,.tbe-gallery-tile-5{min-width:92%!important;height:230px!important}
  .tbe-booking-form{padding:16px!important}.tbe-guest-grid{grid-template-columns:1fr!important}.tbe-coupon-row{grid-template-columns:1fr!important}.tbe-quote-button{min-height:43px}
  .tbe-calendar{width:calc(100vw - 34px);left:50%;right:auto;transform:translateX(-50%)}
  .tbe-calendar-weekdays,.tbe-calendar-days{gap:2px}.tbe-calendar-day{height:34px}.tbe-calendar-nav{width:34px;height:34px}
  .tbe-lightbox figcaption{font-size:10px!important}.tbe-lightbox figcaption strong{display:none}
}


/* ========================================================================
   v1.2.4 — Archive filters and view toggle polish
   ======================================================================== */
.tbe-archive-sidebar{padding-right:0}
.tbe-side-filter{
  padding:18px 0 20px!important;
}
.tbe-side-filter:first-of-type{padding-top:8px!important}
.tbe-side-filter:last-child{padding-bottom:4px!important}
.tbe-side-title,.tbe-side-title-row .tbe-side-title{
  color:#481329!important;
  font:700 13px/1.25 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;
  margin-bottom:14px!important;
}
.tbe-side-title-row{margin-bottom:10px;align-items:flex-end}
.tbe-side-title-row strong{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:28px;padding:0 10px;border-radius:999px;
  background:#f7efe8;color:#8d5a45;font:700 11px/1 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif;
}
.tbe-archive-sidebar select{
  min-height:54px!important;
  border-radius:14px!important;
  border:1px solid #e6dcd4!important;
  background:#fff!important;
  color:#59636d!important;
  font:500 14px/1.2 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;
  padding:0 42px 0 16px!important;
  box-shadow:0 1px 0 rgba(72,19,41,.02);
}
.tbe-archive-sidebar select:focus{border-color:#c98b73!important;box-shadow:0 0 0 3px rgba(194,94,62,.10)!important}
.tbe-duration-range{
  -webkit-appearance:none;appearance:none;
  width:100%!important;height:6px!important;border-radius:999px;
  background:linear-gradient(90deg,#d7c7bd 0%,#d7c7bd 100%);
  outline:none;border:0!important;box-shadow:none!important;margin:10px 0 0!important;padding:0!important;
}
.tbe-duration-range::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:#ddd4cd}
.tbe-duration-range::-moz-range-track{height:6px;border-radius:999px;background:#ddd4cd}
.tbe-duration-range::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;
  border:3px solid #fff;background:#481329;box-shadow:0 6px 16px rgba(72,19,41,.24);cursor:pointer;
}
.tbe-duration-range::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;border:3px solid #fff;background:#481329;box-shadow:0 6px 16px rgba(72,19,41,.24);cursor:pointer;
}
.tbe-range-labels{
  margin-top:10px!important;
  font:600 11px/1.2 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;
  color:#938982!important;
}
.tbe-category-checks{display:grid;gap:10px}
.tbe-category-checks label{
  display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:12px;
  padding:8px 0;border:0!important;border-radius:0!important;background:transparent!important;cursor:pointer;
}
.tbe-category-checks label span{
  color:#59636d;font:600 14px/1.3 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif;
}
.tbe-category-checks label small{
  color:#978e87;font:700 12px/1 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif;
}
.tbe-category-checks input{
  -webkit-appearance:none;appearance:none;width:18px!important;height:18px!important;min-height:18px!important;
  margin:0!important;border:1.6px solid #cdbfb5!important;border-radius:4px!important;background:#fff!important;position:relative;cursor:pointer;
}
.tbe-category-checks input:checked{background:#481329!important;border-color:#481329!important}
.tbe-category-checks input:checked::after{content:"";position:absolute;left:5px;top:1px;width:4px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.tbe-result-actions{gap:12px}
.tbe-view-toggle{
  display:inline-flex!important;align-items:center;gap:8px;padding:5px!important;
  border:1px solid #e6dcd5!important;border-radius:14px!important;background:#fff!important;overflow:visible!important;
  box-shadow:0 1px 0 rgba(72,19,41,.02);
}
.tbe-view-toggle button{
  width:46px!important;height:46px!important;display:grid!important;place-items:center;
  border:0!important;border-radius:12px!important;background:transparent!important;color:#8f837d!important;padding:0!important;
  transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.tbe-view-toggle button+button{border-left:0!important}
.tbe-view-toggle button svg{width:18px;height:18px;display:block}
.tbe-view-toggle button svg *{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tbe-view-toggle button.is-active,.tbe-view-toggle button:hover{
  background:#f5eee9!important;color:#481329!important;box-shadow:0 6px 16px rgba(72,19,41,.08);
}
.tbe-view-toggle button:focus{outline:0;box-shadow:0 0 0 3px rgba(194,94,62,.12)}
@media(max-width:900px){
  .tbe-archive-sidebar{padding:22px!important;border-radius:18px!important}
  .tbe-side-filter{padding:4px 0 2px!important}
}
@media(max-width:700px){
  .tbe-result-actions{gap:10px}
  .tbe-tour-sort{min-width:0;width:calc(100% - 70px)}
  .tbe-view-toggle{padding:4px!important;align-self:flex-end}
  .tbe-view-toggle button{width:42px!important;height:42px!important}
}

/* ========================================================================
   v1.2.5 — Card carousel, wishlist, map toggle and month availability
   ======================================================================== */
.tbe-card-media{position:relative;isolation:isolate;background:#eadfd7;overflow:hidden}
.tbe-card-media.tbe-archive-image,.tbe-card-media.tbe-tour-image{display:block}
.tbe-card-media.tbe-archive-image:after{display:none!important}
.tbe-card-slides,.tbe-card-slide{position:absolute;inset:0}
.tbe-card-slide{display:block;opacity:0;visibility:hidden;transition:opacity .34s ease,visibility .34s ease;z-index:1;background:#eee7e1;text-decoration:none!important}
.tbe-card-slide.is-active{opacity:1;visibility:visible}
.tbe-card-slide img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.tbe-card-media:hover .tbe-card-slide.is-active img{transform:scale(1.025)}
.tbe-card-slide-empty{display:grid!important;place-items:center;background:linear-gradient(135deg,#d8b08e,#7d4b43);color:#fff!important;font-family:"Playfair Display",Georgia,serif;font-size:28px}
.tbe-card-media-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(to top,rgba(40,10,22,.42),rgba(40,10,22,0) 58%)}
.tbe-card-media .tbe-duration-pill,.tbe-card-media .tbe-private-pill,.tbe-card-media .tbe-badge,.tbe-card-media .tbe-card-price{z-index:4}
.tbe-card-media .tbe-private-pill{right:68px}
.tbe-card-wishlist,.tbe-card-location,.tbe-card-prev,.tbe-card-next{
  position:absolute;z-index:9;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.34);color:#fff;
  background:rgba(72,19,41,.48);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);cursor:pointer;
  box-shadow:0 8px 22px rgba(33,11,19,.16);transition:background .18s ease,transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.tbe-card-wishlist:hover,.tbe-card-location:hover,.tbe-card-prev:hover,.tbe-card-next:hover{background:rgba(72,19,41,.78);transform:translateY(-1px);border-color:rgba(255,255,255,.60)}
.tbe-card-wishlist:focus,.tbe-card-location:focus,.tbe-card-prev:focus,.tbe-card-next:focus{outline:0;box-shadow:0 0 0 3px rgba(255,255,255,.48),0 8px 22px rgba(33,11,19,.20)}
.tbe-card-wishlist,.tbe-card-location{width:46px;height:46px;border-radius:50%}
.tbe-card-wishlist{right:14px;top:14px}
.tbe-card-location{right:14px;bottom:14px}
.tbe-card-wishlist svg,.tbe-card-location svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tbe-card-wishlist.is-saved{background:#fff;color:#481329;border-color:#fff}
.tbe-card-wishlist.is-saved svg{fill:#481329;stroke:#481329}
.tbe-card-location.is-active{background:#fff;color:#481329;border-color:#fff}
.tbe-card-prev,.tbe-card-next{top:50%;width:42px;height:48px;border-radius:13px;transform:translateY(-50%);background:rgba(36,15,23,.38);box-shadow:none}
.tbe-card-prev:hover,.tbe-card-next:hover{transform:translateY(-50%) scale(1.03)}
.tbe-card-prev{left:12px}.tbe-card-next{right:12px}
.tbe-card-prev svg,.tbe-card-next svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
.tbe-card-dots{position:absolute;z-index:8;left:50%;bottom:15px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:5px;max-width:54%;padding:5px 7px;border-radius:999px;background:rgba(35,14,21,.18);backdrop-filter:blur(5px)}
.tbe-card-dots button{width:7px;height:7px;min-width:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer;transition:width .18s ease,background .18s ease}
.tbe-card-dots button.is-active{width:18px;border-radius:999px;background:#fff}
.tbe-card-map{position:absolute;z-index:6;inset:0;background:#dcebed}
.tbe-card-map[hidden]{display:none!important}
.tbe-card-map iframe{width:100%;height:100%;border:0;display:block;background:#e9efef}
.tbe-card-map-caption{position:absolute;left:14px;right:70px;bottom:14px;display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.92);color:#481329;box-shadow:0 9px 24px rgba(24,18,18,.14);backdrop-filter:blur(8px)}
.tbe-card-map-caption strong{font:700 12px/1.2 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif}.tbe-card-map-caption span{font:500 9px/1.25 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif;color:#7f7771}
.tbe-card-media.is-map-open .tbe-card-prev,.tbe-card-media.is-map-open .tbe-card-next,.tbe-card-media.is-map-open .tbe-card-dots,.tbe-card-media.is-map-open .tbe-duration-pill,.tbe-card-media.is-map-open .tbe-private-pill,.tbe-card-media.is-map-open .tbe-badge,.tbe-card-media.is-map-open .tbe-card-price,.tbe-card-media.is-map-open .tbe-card-media-shade{opacity:0;visibility:hidden;pointer-events:none}
.tbe-card-availability{padding:13px 0 14px;border-top:1px solid #eee5df;display:grid;gap:8px}
.tbe-card-availability>span{font:700 11px/1.2 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif;color:#7c7773}
.tbe-card-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;align-items:center}
.tbe-card-months span{display:block;text-align:center;font:600 8px/1 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif;color:#c2bab4;white-space:nowrap}
.tbe-card-months span.is-active{color:#59636d}
.tbe-tour-card .tbe-card-availability{margin-top:3px}
.tbe-tour-card .tbe-card-months span{font-size:8px}
.tbe-archive-card .tbe-card-availability{margin-top:-2px}
.tbe-archive-card .tbe-card-bottom{padding-top:2px}
.tbe-wishlist-toast{position:fixed;z-index:100000;right:24px;bottom:24px;display:flex;align-items:center;gap:11px;max-width:min(390px,calc(100vw - 32px));padding:13px 16px;border:1px solid rgba(72,19,41,.12);border-radius:14px;background:#fff;color:#481329;box-shadow:0 18px 55px rgba(45,17,28,.20);font:700 12px/1.35 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif;opacity:0;visibility:hidden;transform:translateY(12px);transition:.22s ease}
.tbe-wishlist-toast.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.tbe-wishlist-toast svg{width:20px;height:20px;fill:#481329;stroke:#481329;stroke-width:1.7;flex:0 0 20px}
@media(max-width:900px){
  .tbe-card-prev,.tbe-card-next{opacity:1}
  .tbe-card-months{gap:2px}.tbe-card-months span{font-size:7.5px}
}
@media(max-width:700px){
  .tbe-card-wishlist,.tbe-card-location{width:43px;height:43px}.tbe-card-wishlist{right:12px;top:12px}.tbe-card-location{right:12px;bottom:12px}
  .tbe-card-media .tbe-private-pill{right:62px}
  .tbe-card-prev,.tbe-card-next{width:38px;height:44px}.tbe-card-prev{left:9px}.tbe-card-next{right:9px}
  .tbe-card-dots{bottom:13px;max-width:48%;gap:4px}.tbe-card-dots button{width:6px;height:6px;min-width:6px}.tbe-card-dots button.is-active{width:14px}
  .tbe-card-map-caption{left:12px;right:64px;bottom:12px}
  .tbe-card-months{grid-template-columns:repeat(6,1fr);row-gap:7px}.tbe-card-months span{font-size:9px}
  .tbe-wishlist-toast{right:16px;bottom:16px;left:16px;max-width:none}
}
.tbe-tour-card .tbe-card-media.has-map .tbe-card-price{right:72px}

/* ========================================================================
   v1.2.6 — Client quote workflow + exact custom trip form styling
   ======================================================================== */
.tbe-route-shell:has(.tbe-custom-trip-form){background:#FBF9F5!important}
.tbe-custom-trip-form{
  width:min(1140px,calc(100% - 40px))!important;max-width:1140px!important;
  margin:38px auto 86px!important;padding:38px 56px 54px!important;
  background:#fff!important;border:1px solid #e8ded6!important;border-radius:26px!important;
  box-shadow:0 3px 0 rgba(72,19,41,.03),0 18px 45px rgba(72,19,41,.045)!important;
  color:#4b1028!important;font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;
}
.tbe-custom-form-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:18px 20px!important}
.tbe-custom-section{
  grid-column:1/-1!important;display:flex!important;align-items:center!important;gap:15px!important;
  margin:14px 0 10px!important;padding:0 0 18px!important;border-bottom:1px solid #eadfd7!important;
}
.tbe-custom-section:first-child{margin-top:0!important}
.tbe-custom-section-number{
  width:38px!important;height:38px!important;min-width:38px!important;border-radius:50%!important;
  background:#cb603d!important;color:#fff!important;box-shadow:none!important;
  font:700 16px/1 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;
}
.tbe-custom-section h2{
  margin:0!important;color:#4b1028!important;font-family:"Playfair Display",Georgia,serif!important;
  font-size:25px!important;line-height:1.15!important;font-weight:400!important;letter-spacing:0!important;
}
.tbe-custom-section p{
  margin:3px 0 0!important;color:#657281!important;font:400 13px/1.45 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;
}
.tbe-custom-trip-form .tbe-custom-field>label{
  display:block!important;margin:0 0 9px!important;color:#4b1028!important;
  font:700 13px/1.35 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;
  text-transform:uppercase!important;letter-spacing:.02em!important;
}
.tbe-custom-trip-form .tbe-custom-field>label em{color:#4b1028!important}
.tbe-custom-trip-form input[type="text"],.tbe-custom-trip-form input[type="email"],.tbe-custom-trip-form input[type="tel"],.tbe-custom-trip-form input[type="number"],.tbe-custom-trip-form input[type="date"],.tbe-custom-trip-form select,.tbe-custom-trip-form textarea{
  width:100%!important;min-height:55px!important;margin:0!important;padding:0 20px!important;
  background:#FBF9F5!important;border:1px solid #e8ded6!important;border-radius:14px!important;
  box-shadow:none!important;color:#4b1028!important;font:400 16px/1.45 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;
}
.tbe-custom-trip-form input::placeholder,.tbe-custom-trip-form textarea::placeholder{color:#b58f99!important;opacity:1!important}
.tbe-custom-trip-form select{appearance:auto!important}
.tbe-custom-trip-form textarea{min-height:136px!important;padding:20px!important;resize:vertical!important}
.tbe-custom-trip-form input:focus,.tbe-custom-trip-form select:focus,.tbe-custom-trip-form textarea:focus{
  outline:0!important;border-color:#cb603d!important;box-shadow:0 0 0 3px rgba(203,96,61,.08)!important;background:#fff!important;
}
.tbe-custom-trip-form .field-travel_style>label,.tbe-custom-trip-form .field-experiences>label,.tbe-custom-trip-form .field-notes>label{display:none!important}
.tbe-custom-trip-form .type-radio .tbe-choice-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;width:100%!important;
}
.tbe-custom-trip-form .type-radio .tbe-choice-grid label{
  min-height:126px!important;position:relative!important;display:block!important;padding:25px 56px 22px 24px!important;
  background:#fff!important;border:1px solid #e8ded6!important;border-radius:18px!important;box-shadow:none!important;cursor:pointer!important;
  color:#4b1028!important;
}
.tbe-custom-trip-form .type-radio .tbe-choice-grid label:hover{border-color:#d8b4a5!important;background:#fffdfa!important}
.tbe-custom-trip-form .type-radio .tbe-choice-grid label:has(input:checked){border-color:#cb603d!important;background:#fffaf7!important;box-shadow:0 0 0 1px rgba(203,96,61,.04)!important}
.tbe-custom-trip-form .type-radio .tbe-choice-grid input{
  appearance:none!important;-webkit-appearance:none!important;position:absolute!important;right:23px!important;top:28px!important;
  width:14px!important;height:14px!important;min-height:14px!important;margin:0!important;border:1.5px solid #8d969b!important;border-radius:50%!important;background:#fff!important;
}
.tbe-custom-trip-form .type-radio .tbe-choice-grid input:checked{border-color:#cb603d!important;box-shadow:inset 0 0 0 3px #fff!important;background:#cb603d!important}
.tbe-custom-trip-form .type-radio .tbe-choice-grid span{display:block!important}
.tbe-custom-trip-form .type-radio .tbe-choice-grid strong{
  display:block!important;margin:0 0 9px!important;color:#4b1028!important;font-family:"Playfair Display",Georgia,serif!important;font-size:17px!important;font-weight:600!important;line-height:1.3!important;
}
.tbe-custom-trip-form .type-radio .tbe-choice-grid small{
  display:block!important;color:#657281!important;font:400 14px/1.65 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;
}
.tbe-custom-trip-form .type-checkbox .tbe-choice-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px 70px!important;
}
.tbe-custom-trip-form .type-checkbox .tbe-choice-grid label{
  position:relative!important;justify-self:start!important;display:flex!important;align-items:center!important;
  min-height:60px!important;width:auto!important;max-width:100%!important;padding:0 50px 0 17px!important;
  background:#fff!important;border:1px solid #e8ded6!important;border-radius:16px!important;color:#586574!important;
  font:500 16px/1.25 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;cursor:pointer!important;
}
.tbe-custom-trip-form .type-checkbox .tbe-choice-grid label:has(input:checked){border-color:#cb603d!important;background:#fffaf7!important;color:#4b1028!important}
.tbe-custom-trip-form .type-checkbox .tbe-choice-grid input{
  appearance:none!important;-webkit-appearance:none!important;position:absolute!important;right:13px!important;top:50%!important;transform:translateY(-50%)!important;
  width:24px!important;height:24px!important;min-height:24px!important;margin:0!important;border:1px solid #cdd4db!important;border-radius:7px!important;background:#fff!important;
}
.tbe-custom-trip-form .type-checkbox .tbe-choice-grid input:checked{background:#cb603d!important;border-color:#cb603d!important}
.tbe-custom-trip-form .type-checkbox .tbe-choice-grid input:checked:after{
  content:"✓"!important;position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;color:#fff!important;font-size:15px!important;font-weight:800!important;
}
.tbe-custom-submit-row{
  display:grid!important;grid-template-columns:minmax(0,1fr) 360px!important;align-items:center!important;gap:28px!important;
  margin-top:38px!important;padding-top:20px!important;border-top:1px solid #eadfd7!important;
}
.tbe-custom-privacy{margin:0!important;color:#657281!important;font:400 14px/1.5 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important}
.tbe-privacy-shield{display:inline-grid;place-items:center;margin-right:8px;color:#d49a48!important;font-weight:800!important}
.tbe-custom-submit-row .tbe-button{
  min-width:360px!important;min-height:68px!important;margin:0!important;border:0!important;border-radius:15px!important;background:#cb603d!important;color:#fff!important;
  box-shadow:0 9px 18px rgba(203,96,61,.18)!important;font:600 18px/1 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;gap:12px!important;
}
.tbe-custom-submit-row .tbe-button:hover{background:#b95232!important;transform:translateY(-1px)!important}
.tbe-custom-submit-row .tbe-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Starting-price disclosure */
.tbe-price-disclaimer{
  margin-top:-14px!important;margin-bottom:28px!important;color:#7a6d68!important;
  font:500 12px/1.6 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif!important;
}
.tbe-card-price em{font-style:normal;font-size:10px;font-weight:600;display:block;margin-top:1px}

/* Tour logistics — explicit without inventing unconfirmed details. */
.tbe-logistics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tbe-logistics-grid>div{padding:20px 22px;border:1px solid #eadfd7;border-radius:15px;background:#fffdfa}
.tbe-logistics-grid small{display:block;margin-bottom:7px;color:#c25e3e;font:800 10px/1.2 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.tbe-logistics-grid strong{display:block;color:#4f5c66;font:600 14px/1.6 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif}

/* Request-a-Quote replaces direct checkout while quote mode is enabled. */
.tbe-quote-request-box{
  width:100%;overflow:hidden;background:#fff;border:1px solid #eadfd7;border-radius:20px;
  box-shadow:0 18px 50px rgba(72,19,41,.10);font-family:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;
}
.tbe-quote-request-head{padding:23px 24px 22px;background:#481329;color:#fff}
.tbe-quote-request-head>span{display:block;margin-bottom:7px;color:#eab9a6;font:800 10px/1.2 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif;text-transform:uppercase;letter-spacing:.11em}
.tbe-quote-request-head strong{display:block;color:#fff;font-family:"Playfair Display",Georgia,serif;font-size:27px;font-weight:400;line-height:1.2}
.tbe-quote-request-head small{display:block;margin-top:10px;color:rgba(255,255,255,.73);font-size:10px;line-height:1.55}
.tbe-tour-quote-form{padding:22px 22px 20px}
.tbe-tour-quote-form label{display:block;margin-bottom:12px;color:#4b1028;font-size:11px;font-weight:750}
.tbe-tour-quote-form input,.tbe-tour-quote-form select,.tbe-tour-quote-form textarea{
  width:100%;min-height:46px;margin-top:6px;padding:9px 12px;border:1px solid #e4dad2;border-radius:10px;background:#fdfbf8;color:#4f5c66;font:500 13px/1.4 "Plus Jakarta Sans","Segoe UI",Arial,sans-serif;outline:0;
}
.tbe-tour-quote-form textarea{min-height:94px;resize:vertical}
.tbe-tour-quote-form input[readonly]{background:#f7f1ec;color:#71645f}
.tbe-tour-quote-form input:focus,.tbe-tour-quote-form select:focus,.tbe-tour-quote-form textarea:focus{border-color:#c98b73;box-shadow:0 0 0 3px rgba(194,94,62,.09);background:#fff}
.tbe-advance-note{margin:5px 0 14px;padding:12px 13px;border-radius:10px;background:#fbf3ed;color:#6e625d;font-size:11px;line-height:1.55}
.tbe-advance-note strong{color:#481329}
.tbe-request-quote-btn{width:100%;min-height:52px!important;border-radius:10px!important;background:#481329!important;color:#fff!important}
.tbe-request-quote-btn:hover{background:#35101f!important}
.tbe-tour-quote-form .tbe-secure-note{line-height:1.5;color:#8b817b}

@media(max-width:900px){
  .tbe-custom-trip-form{width:min(100% - 28px,1140px)!important;padding:30px 30px 40px!important}
  .tbe-custom-submit-row{grid-template-columns:1fr 300px!important}
  .tbe-custom-submit-row .tbe-button{min-width:300px!important}
}
@media(max-width:700px){
  .tbe-custom-trip-form{width:calc(100% - 20px)!important;margin:20px auto 50px!important;padding:24px 18px 30px!important;border-radius:20px!important}
  .tbe-custom-form-grid{grid-template-columns:1fr!important;gap:15px!important}
  .tbe-custom-field.width-33,.tbe-custom-field.width-50,.tbe-custom-field.width-66,.tbe-custom-field.width-100{grid-column:1/-1!important}
  .tbe-custom-section{align-items:flex-start!important;margin-top:18px!important;padding-bottom:15px!important}
  .tbe-custom-section-number{width:34px!important;height:34px!important;min-width:34px!important;font-size:14px!important}
  .tbe-custom-section h2{font-size:22px!important}
  .tbe-custom-trip-form .type-radio .tbe-choice-grid,.tbe-custom-trip-form .type-checkbox .tbe-choice-grid{grid-template-columns:1fr!important;gap:10px!important}
  .tbe-custom-trip-form .type-radio .tbe-choice-grid label{min-height:116px!important;padding:21px 50px 20px 19px!important}
  .tbe-custom-trip-form .type-checkbox .tbe-choice-grid label{width:100%!important;justify-self:stretch!important;min-height:54px!important;font-size:14px!important}
  .tbe-custom-submit-row{grid-template-columns:1fr!important;gap:18px!important;margin-top:28px!important}
  .tbe-custom-submit-row .tbe-button{width:100%!important;min-width:0!important;min-height:58px!important;font-size:16px!important}
  .tbe-custom-privacy{font-size:12px!important}
  .tbe-logistics-grid{grid-template-columns:1fr}
  .tbe-tour-quote-form .tbe-two-fields{grid-template-columns:1fr}
}
@media(max-width:420px){
  .tbe-custom-trip-form{padding:20px 14px 26px!important}
  .tbe-custom-section h2{font-size:20px!important}
  .tbe-custom-section p{font-size:12px!important}
  .tbe-custom-trip-form input[type="text"],.tbe-custom-trip-form input[type="email"],.tbe-custom-trip-form input[type="tel"],.tbe-custom-trip-form input[type="number"],.tbe-custom-trip-form input[type="date"],.tbe-custom-trip-form select{min-height:51px!important;font-size:14px!important;padding:0 14px!important}
}

/* v1.2.8: keep plugin route wrapper isolated; header/footer remain fully theme-controlled. */
body.tbe-plugin-route .tbe-route-shell{position:relative;z-index:1;overflow:visible}
