.cbm-booking-page{--cbm-ink:#123047;--cbm-muted:#526777;--cbm-accent:#0f8b8d;--cbm-accent-dark:#096c70;--cbm-line:#dce7ec;--cbm-soft:#f5fafb;color:var(--cbm-ink);font-family:inherit;margin:0 auto;max-width:1440px}
.cbm-booking-page *{box-sizing:border-box}
.cbm-intro{max-width:760px;margin:0 auto 34px;text-align:center;padding:12px 16px}
.cbm-eyebrow{display:inline-block;color:var(--cbm-accent);font-size:11px;letter-spacing:.18em;font-weight:800;margin-bottom:12px}
.cbm-intro h2{font-size:clamp(30px,4vw,48px);line-height:1.1;letter-spacing:-.035em;margin:0 0 14px;color:var(--cbm-ink);font-weight:800}
.cbm-intro p{color:var(--cbm-muted);font-size:16px;line-height:1.7;margin:0}
.cbm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.cbm-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--cbm-line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.06);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.cbm-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(0,0,0,.12);border-color:#E5E5E5}
.cbm-card-media{height:220px;position:relative;background:#f2f2f2;overflow:hidden}
.cbm-card-media>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.cbm-card:hover .cbm-card-media>img{transform:scale(1.045)}
.cbm-image-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#123047,#0f8b8d);color:#fff;font-weight:800;letter-spacing:.18em;font-size:12px}
.cbm-duration-badge{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.94);color:var(--cbm-ink);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.cbm-card-body{display:flex;flex:1;flex-direction:column;padding:22px}
.cbm-card-body h3{font-size:23px;line-height:1.2;letter-spacing:-.025em;margin:0 0 10px;color:var(--cbm-ink);font-weight:800}
.cbm-card-body>div:not(.cbm-details):not(.cbm-price-row){color:var(--cbm-muted);font-size:14px;line-height:1.65}
.cbm-card-body>div:not(.cbm-details):not(.cbm-price-row) p{margin:0 0 8px}
.cbm-details{display:grid;gap:8px;margin:16px 0 18px;padding:14px 0;border-top:1px solid var(--cbm-line);border-bottom:1px solid var(--cbm-line)}
.cbm-details p{font-size:13px;line-height:1.5;margin:0;color:var(--cbm-muted)}
.cbm-details strong{color:var(--cbm-ink);font-weight:700}
.cbm-price-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 18px}
.cbm-price-label{font-size:13px;color:var(--cbm-muted)}
.cbm-price{font-size:25px;line-height:1.2;font-weight:850;color:var(--cbm-accent);margin:0;white-space:nowrap}
.cbm-booking-panel{margin-top:auto;border:1px solid var(--cbm-line);border-radius:12px;background:var(--cbm-soft);overflow:hidden}
.cbm-booking-panel>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px 15px;font-size:14px;font-weight:800;color:var(--cbm-ink)}
.cbm-booking-panel>summary::-webkit-details-marker{display:none}
.cbm-booking-panel>summary:after{content:'−';color:var(--cbm-accent);font-size:19px;line-height:1}
.cbm-booking-panel:not([open])>summary:after{content:'+'}
.cbm-booking-panel>summary span{font-size:11px;font-weight:600;color:var(--cbm-muted);margin-left:auto}
.cbm-form{display:grid;gap:13px;padding:0 15px 16px}
.cbm-form label{display:grid;gap:6px;color:var(--cbm-ink);font-size:12px;font-weight:750}
.cbm-form input,.cbm-form select{width:100%;min-height:44px;border:1px solid #d9d9d9;border-radius:8px;background:#fff;color:var(--cbm-ink);padding:10px 12px;font:inherit;font-size:14px;outline:none;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease}
.cbm-form input:focus,.cbm-form select:focus{border-color:var(--cbm-accent);box-shadow:0 0 0 3px rgba(236,99,25,.12)}
.cbm-total-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;border-top:1px solid var(--cbm-line);font-size:13px;color:var(--cbm-muted)}
.cbm-total-row strong{font-size:21px;color:var(--cbm-ink);font-weight:850;white-space:nowrap}
.cbm-pricing-note{font-size:11px;line-height:1.5;color:var(--cbm-muted);margin:-5px 0 0}
.cbm-button{width:100%;min-height:48px;border:0;border-radius:9px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;background:var(--cbm-accent);color:#fff!important;font:inherit;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 6px 14px rgba(236,99,25,.17);transition:background .15s ease,transform .15s ease}
.cbm-button:hover,.cbm-button:focus{background:var(--cbm-accent-dark);color:#fff!important;transform:translateY(-1px)}
.cbm-button[disabled]{opacity:.65;cursor:wait;transform:none}
.cbm-message{font-size:12px;line-height:1.5;color:var(--cbm-muted);min-height:0}
.cbm-message:empty{display:none}
.cbm-message.cbm-error{color:#C94C0B;background:#FFF3EB;padding:10px;border-radius:7px}
.cbm-message.cbm-success{color:#ec6319;background:#fff3eb;padding:10px;border-radius:7px}
.cbm-trust-note{text-align:center;font-size:12px;color:var(--cbm-muted);margin:24px 0 0}
@media(max-width:1100px){.cbm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cbm-card-media{height:210px}}
@media(max-width:680px){.cbm-intro{margin-bottom:22px;padding:8px 4px}.cbm-intro p{font-size:14px}.cbm-grid{grid-template-columns:minmax(0,1fr);gap:18px}.cbm-card{border-radius:14px}.cbm-card-media{height:220px}.cbm-card-body{padding:18px}.cbm-card-body h3{font-size:21px}.cbm-booking-panel>summary span{max-width:115px;text-align:right}}
/* Individual departure slots: available and booked states remain visible. */
.cbm-slot-field{display:grid;gap:8px}.cbm-slot-label{font-size:12px;font-weight:750;color:var(--cbm-ink)}
.cbm-time-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cbm-slot-option{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:10px 11px;border:1px solid #d9d9d9;border-radius:8px;background:#fff;color:var(--cbm-ink);cursor:pointer;text-align:left;font:inherit}
.cbm-slot-option strong{font-size:13px}.cbm-slot-option small{font-size:8px;letter-spacing:.02em;font-weight:800;color:#ec6319;white-space:nowrap}
.cbm-slot-option:hover:not(:disabled),.cbm-slot-option.is-selected{border-color:var(--cbm-accent);background:#fff3eb;box-shadow:0 0 0 1px var(--cbm-accent)}
.cbm-slot-option.is-selected:before{content:'✓';font-weight:900;color:var(--cbm-accent)}
.cbm-slot-option.is-booked{background:#f1f2f3;border-color:#e0e3e5;color:#666666;cursor:not-allowed;opacity:1}
.cbm-slot-option.is-booked small{color:#C94C0B}.cbm-slot-placeholder{grid-column:1/-1;color:var(--cbm-muted);font-size:12px;padding:8px 0}
@media(max-width:420px){.cbm-time-slots{grid-template-columns:1fr}}

/* Compact availability search bar inspired by the supplied booking reference. */
.cbm-search-bar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) auto;gap:10px;align-items:end;padding:12px;background:#fff;border:1px solid var(--cbm-line);border-radius:13px;box-shadow:0 8px 24px rgba(0,0,0,.10);margin:-8px auto 34px;position:relative;z-index:2}
.cbm-search-bar label{display:grid;gap:6px;font-size:12px;font-weight:750;color:var(--cbm-ink)}
.cbm-search-bar select,.cbm-search-bar input{width:100%;min-height:48px;border:1px solid #d9d9d9;border-radius:8px;background:#fff;padding:10px 12px;color:var(--cbm-ink);font:inherit;font-size:14px}
.cbm-search-bar button{min-height:48px;border:0;border-radius:8px;padding:0 24px;background:#ec6319;color:#fff;font:inherit;font-size:14px;font-weight:800;cursor:pointer;white-space:nowrap}
.cbm-search-bar button:hover{background:#c94c0b}
@media(max-width:760px){.cbm-search-bar{grid-template-columns:1fr;margin:0 0 24px;padding:14px}.cbm-search-bar button{width:100%}}

/* Compact homepage availability search and protected frontend calendar */
.cbm-home-availability{display:flex;align-items:end;gap:12px;flex-wrap:wrap;background:#fff;padding:16px;border-radius:12px;box-shadow:0 5px 22px rgba(0,0,0,.12)}
.cbm-home-availability label{display:flex;flex:1 1 190px;flex-direction:column;gap:6px;font-weight:600;color:#111111}
.cbm-home-availability input,.cbm-home-availability select,.cbm-public-calendar input{min-height:48px;border:1px solid #d9d9d9;border-radius:8px;padding:8px 12px;background:#fff}
.cbm-home-availability button,.cbm-public-calendar button{min-height:48px;border:0;border-radius:8px;padding:0 24px;background:#ec6319;color:#fff;font-weight:700;cursor:pointer}
.cbm-home-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:18px}
.cbm-availability-result{border:1px solid #e5e5e5;border-radius:12px;padding:18px;background:#fff}
.cbm-availability-result h3{margin:0 0 10px}.cbm-availability-result .cbm-button{display:inline-block;padding:12px 18px;text-decoration:none;border-radius:7px;background:#ec6319;color:#fff}
.cbm-public-calendar{max-width:100%;overflow:hidden}.cbm-public-calendar form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:20px}.cbm-public-calendar form label{display:flex;flex-direction:column;gap:6px}.cbm-public-calendar-table{overflow-x:auto}.cbm-public-calendar table{width:100%;border-collapse:collapse;min-width:760px}.cbm-public-calendar th,.cbm-public-calendar td{padding:11px;border-bottom:1px solid #E5E5E5;text-align:left}.cbm-checkout-hidden{display:none!important}
@media(max-width:600px){.cbm-home-availability{display:grid;grid-template-columns:1fr}.cbm-home-availability button{width:100%}}

.cbm-search-message{margin:12px 0 20px;color:var(--cbm-muted);font-size:13px}.cbm-search-message:empty{display:none}

/* Explicit high-contrast checkout action; override theme button styles. */
.cbm-booking-page .cbm-button,
.cbm-booking-page .cbm-button:visited { background-color:#ec6319 !important; color:#ffffff !important; }
.cbm-booking-page .cbm-button span { color:#ffffff !important; }
.cbm-booking-page .cbm-button:hover,
.cbm-booking-page .cbm-button:focus-visible { background-color:#c94c0b !important; color:#ffffff !important; }
.cbm-booking-page .cbm-button:hover span,
.cbm-booking-page .cbm-button:focus-visible span { color:#ffffff !important; }
.cbm-booking-page .cbm-form select { color:#111111 !important; background-color:#ffffff !important; }

/* Brand palette and full trip detail page */
.cbm-booking-page{--cbm-accent:#ec6319;--cbm-accent-dark:#C94C0B;--cbm-ink:#202020;--cbm-muted:#626262;--cbm-line:#ececec;--cbm-soft:#FFF3EB}
.cbm-booking-page .cbm-button,.cbm-booking-page .cbm-button:visited,.cbm-booking-page .cbm-search-bar button,.cbm-booking-page .cbm-home-availability button,.cbm-booking-page .cbm-public-calendar button{background:#ec6319!important;color:#fff!important}
.cbm-booking-page .cbm-button span{color:#fff!important}
.cbm-booking-page .cbm-button:hover,.cbm-booking-page .cbm-button:focus-visible,.cbm-booking-page .cbm-search-bar button:hover{background:#C94C0B!important;color:#fff!important}
.cbm-booking-page .cbm-button:hover span,.cbm-booking-page .cbm-button:focus-visible span{color:#fff!important}
.cbm-booking-page .cbm-card-media{position:relative}
.cbm-card-image-link{display:block;width:100%;height:100%;color:inherit;text-decoration:none}
.cbm-card-detail-link{color:inherit;text-decoration:none}
.cbm-booking-page .cbm-card h3 a:hover,.cbm-view-trip:hover{color:#ec6319}
.cbm-view-trip-wrap{margin:10px 0 14px!important}
.cbm-view-trip{display:inline-flex;align-items:center;gap:8px;color:#ec6319;font-size:13px;font-weight:800;text-decoration:none}
.cbm-view-trip span{font-size:18px;transition:transform .2s}.cbm-view-trip:hover span{transform:translateX(3px)}
.cbm-trip-detail{--cbm-trip-accent:#ec6319;--cbm-trip-ink:#202020;--cbm-trip-muted:#666;max-width:1240px;margin:0 auto 50px;color:var(--cbm-trip-ink)}
.cbm-trip-detail *{box-sizing:border-box}
.cbm-trip-hero{height:clamp(280px,42vw,520px);position:relative;overflow:hidden;border-radius:22px;background:#f4f4f4;margin:0 0 34px}
.cbm-trip-hero>img{width:100%;height:100%;object-fit:cover;display:block}
.cbm-trip-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.25) 62%,rgba(0,0,0,.04))}
.cbm-trip-hero-overlay{position:absolute;z-index:1;left:clamp(20px,5vw,60px);right:24px;bottom:clamp(22px,5vw,54px);color:#fff}
.cbm-trip-kicker{display:inline-block;color:#ec6319;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.cbm-trip-hero .cbm-trip-kicker{color:#fff}
.cbm-trip-hero h1,.cbm-trip-title h1{color:inherit;font-size:clamp(32px,5vw,58px);line-height:1.06;letter-spacing:-.035em;font-weight:850;margin:10px 0 18px}
.cbm-trip-quickfacts{display:flex;gap:9px;flex-wrap:wrap}.cbm-trip-quickfacts span{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.48);border-radius:999px;padding:8px 13px;color:#fff;font-size:13px;font-weight:700;backdrop-filter:blur(6px)}
.cbm-trip-title{padding:30px 0}.cbm-trip-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,390px);gap:36px;align-items:start}
.cbm-trip-main{min-width:0}.cbm-trip-description,.cbm-trip-facts,.cbm-trip-gallery-section{margin:0 0 34px}.cbm-trip-detail h2{font-size:clamp(22px,3vw,30px);line-height:1.2;margin:0 0 18px;color:#202020;font-weight:800}.cbm-trip-rich-content{font-size:16px;line-height:1.85;color:#454545;overflow-wrap:anywhere}.cbm-trip-rich-content>*:first-child{margin-top:0}.cbm-trip-rich-content h2,.cbm-trip-rich-content h3{margin-top:1.3em}.cbm-trip-rich-content ul,.cbm-trip-rich-content ol{padding-left:1.4em}.cbm-trip-rich-content img{max-width:100%;height:auto;border-radius:12px}
.cbm-trip-facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cbm-trip-fact{padding:18px;border:1px solid #eee;border-radius:13px;background:#fff;min-width:0}.cbm-trip-fact span,.cbm-trip-fact strong{display:block}.cbm-trip-fact span{font-size:12px;color:#777;margin-bottom:7px}.cbm-trip-fact strong{font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.cbm-trip-section-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:18px}.cbm-trip-section-heading h2{margin:5px 0 0}.cbm-trip-gallery-count{font-size:12px;color:#777;white-space:nowrap}
.cbm-trip-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cbm-trip-gallery a{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:#f3f3f3}.cbm-trip-gallery a:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;min-height:250px}.cbm-trip-gallery-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.cbm-trip-gallery a:hover .cbm-trip-gallery-image{transform:scale(1.045)}
.cbm-trip-booking-sticky{position:sticky;top:24px;padding:22px;border:1px solid #eee;border-radius:18px;background:#fff;box-shadow:0 12px 38px rgba(0,0,0,.07)}.cbm-trip-booking-sticky>h2{margin:8px 0}.cbm-trip-starting{font-size:22px;font-weight:850;color:#ec6319;margin:10px 0}.cbm-trip-booking-sticky>p:not(.cbm-trip-starting){font-size:13px;line-height:1.65;color:#666}.cbm-trip-booking-sticky .cbm-booking-page{margin-top:18px}.cbm-trip-booking-sticky .cbm-intro,.cbm-trip-booking-sticky .cbm-trust-note{display:none}.cbm-trip-booking-sticky .cbm-grid{display:block}.cbm-trip-booking-sticky .cbm-card{box-shadow:none;border:0;border-radius:0;overflow:visible}.cbm-trip-booking-sticky .cbm-card-media,.cbm-trip-booking-sticky .cbm-view-trip-wrap,.cbm-trip-booking-sticky .cbm-card-body>h3,.cbm-trip-booking-sticky .cbm-card-body>div:not(.cbm-price-row):not(.cbm-details),.cbm-trip-booking-sticky .cbm-details,.cbm-trip-booking-sticky .cbm-price-row{display:none}.cbm-trip-booking-sticky .cbm-card-body{padding:0}.cbm-trip-booking-sticky .cbm-form{gap:12px}.cbm-trip-booking-sticky .cbm-form label{font-size:13px}.cbm-trip-booking-sticky .cbm-form .cbm-button{width:100%;justify-content:center;background:#ec6319!important;color:#fff!important}.cbm-trip-booking-sticky .cbm-form .cbm-button span{color:#fff!important}
@media(max-width:900px){.cbm-trip-detail-layout{grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:22px}.cbm-trip-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.cbm-trip-gallery a:first-child{min-height:210px}}
@media(max-width:700px){.cbm-trip-detail{margin-bottom:30px}.cbm-trip-hero{border-radius:14px;margin-bottom:24px}.cbm-trip-detail-layout{grid-template-columns:1fr;gap:24px}.cbm-trip-booking-sticky{position:static}.cbm-trip-gallery{gap:8px}.cbm-trip-gallery a:first-child{min-height:170px}.cbm-trip-facts-grid{gap:8px}.cbm-trip-fact{padding:13px}}
@media(max-width:420px){.cbm-trip-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.cbm-trip-gallery a:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:16/9;min-height:0}.cbm-trip-facts-grid{grid-template-columns:1fr}}
/* Gallery: two-row preview with a responsive +N tile and full-screen carousel. */
.cbm-trip-gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(105px,13vw,175px);gap:12px}
.cbm-trip-gallery a.cbm-trip-gallery-item{grid-column:auto!important;grid-row:auto!important;min-height:0!important;aspect-ratio:auto!important;cursor:pointer}
.cbm-trip-gallery-item.cbm-gallery-hidden{display:none!important}
.cbm-gallery-more-overlay{display:none;position:absolute;inset:0;align-items:center;justify-content:center;background:rgba(0,0,0,.62);color:#fff;font-size:clamp(18px,2.3vw,28px);font-weight:800;letter-spacing:.01em;z-index:2}
.cbm-trip-gallery-item.cbm-gallery-more .cbm-gallery-more-overlay{display:flex}
.cbm-gallery-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center;padding:60px 72px 72px}
.cbm-gallery-lightbox[hidden]{display:none!important}
.cbm-gallery-lightbox-image{display:block;max-width:min(100%,1400px);max-height:calc(100vh - 130px);width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 12px 50px rgba(0,0,0,.4)}
.cbm-gallery-lightbox-close,.cbm-gallery-lightbox-prev,.cbm-gallery-lightbox-next{position:absolute;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.12);color:#fff!important;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:999px;line-height:1;transition:background .2s}
.cbm-gallery-lightbox-close:hover,.cbm-gallery-lightbox-prev:hover,.cbm-gallery-lightbox-next:hover{background:#ec6319}
.cbm-gallery-lightbox-close{top:18px;right:22px;width:46px;height:46px;font-size:30px}
.cbm-gallery-lightbox-prev,.cbm-gallery-lightbox-next{top:50%;transform:translateY(-50%);width:48px;height:58px;font-size:38px}
.cbm-gallery-lightbox-prev{left:18px}.cbm-gallery-lightbox-next{right:18px}
.cbm-gallery-lightbox-counter{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#fff;font-size:14px;font-weight:700;letter-spacing:.05em}
body.cbm-gallery-open{overflow:hidden}
@media(max-width:900px){.cbm-trip-gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(95px,17vw,145px)}.cbm-trip-gallery a.cbm-trip-gallery-item:first-child{grid-column:auto!important;grid-row:auto!important;min-height:0!important}}
@media(max-width:600px){.cbm-trip-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(115px,34vw,190px);gap:8px}.cbm-gallery-lightbox{padding:55px 12px 65px}.cbm-gallery-lightbox-image{max-width:100%;max-height:calc(100vh - 130px)}.cbm-gallery-lightbox-prev,.cbm-gallery-lightbox-next{width:38px;height:44px;font-size:28px;background:rgba(0,0,0,.45)}.cbm-gallery-lightbox-prev{left:8px}.cbm-gallery-lightbox-next{right:8px}.cbm-gallery-lightbox-close{top:10px;right:10px;width:40px;height:40px}}


/* v2.8.9 visual polish: consistent orange/white brand, refined surfaces and smooth motion. */
.cbm-booking-page,.cbm-trip-detail,.cbm-home-availability,.cbm-public-calendar{--cbm-brand:#ec6319;--cbm-brand-hover:#c94c0b;--cbm-brand-soft:#fff3eb;--cbm-brand-ring:rgba(236,99,25,.22)}
.cbm-booking-page{color:#242424}
.cbm-booking-page .cbm-intro h2{color:#202020;letter-spacing:-.04em}
.cbm-booking-page .cbm-eyebrow,.cbm-booking-page .cbm-price,.cbm-booking-page .cbm-slot-option.is-selected:before{color:#ec6319}
.cbm-booking-page .cbm-card{border-color:#FFF3EB;box-shadow:0 8px 26px rgba(0,0,0,.065);transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease}
.cbm-booking-page .cbm-card:hover{transform:translateY(-6px);border-color:#FFF3EB;box-shadow:0 20px 42px rgba(0,0,0,.13)}
.cbm-booking-page .cbm-card-media{background:#fff3eb;overflow:hidden}
.cbm-booking-page .cbm-card-media>img{transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .45s ease}
.cbm-booking-page .cbm-card:hover .cbm-card-media>img{transform:scale(1.065);filter:saturate(1.06)}
.cbm-booking-page .cbm-duration-badge{border:1px solid rgba(236,99,25,.16);box-shadow:0 6px 18px rgba(0,0,0,.12)}
.cbm-booking-page .cbm-card-body h3{letter-spacing:-.025em}
.cbm-booking-page .cbm-booking-panel{border-color:#FFF3EB;background:#FFF3EB;transition:border-color .2s ease,box-shadow .2s ease}
.cbm-booking-page .cbm-booking-panel[open]{border-color:#FFF3EB;box-shadow:0 8px 22px rgba(236,99,25,.07)}
.cbm-booking-page .cbm-form input:focus,.cbm-booking-page .cbm-form select:focus,.cbm-search-bar input:focus,.cbm-search-bar select:focus{border-color:#ec6319!important;box-shadow:0 0 0 4px rgba(236,99,25,.13)!important;outline:none}
.cbm-booking-page .cbm-button,.cbm-booking-page .cbm-search-bar button,.cbm-booking-page .cbm-home-availability button,.cbm-booking-page .cbm-public-calendar button,.cbm-trip-detail .cbm-button{background:#ec6319!important;color:#fff!important;border:1px solid #ec6319!important;box-shadow:0 7px 16px rgba(236,99,25,.2);transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease!important}
.cbm-booking-page .cbm-button span,.cbm-trip-detail .cbm-button span{color:#fff!important}
.cbm-booking-page .cbm-button:hover,.cbm-booking-page .cbm-search-bar button:hover,.cbm-booking-page .cbm-home-availability button:hover,.cbm-booking-page .cbm-public-calendar button:hover,.cbm-trip-detail .cbm-button:hover{background:#c94c0b!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 11px 22px rgba(236,99,25,.28)}
.cbm-booking-page .cbm-button:active,.cbm-booking-page .cbm-search-bar button:active,.cbm-trip-detail .cbm-button:active{transform:translateY(0) scale(.99)}
.cbm-booking-page .cbm-slot-option{transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
.cbm-booking-page .cbm-slot-option:hover:not(:disabled){transform:translateY(-1px);border-color:#ec6319;background:#fff3eb;box-shadow:0 4px 12px rgba(236,99,25,.09)}
.cbm-booking-page .cbm-slot-option.is-selected{border-color:#ec6319;background:#fff3eb;box-shadow:0 0 0 1px #ec6319}
.cbm-booking-page .cbm-total-row strong{transition:color .2s ease}
.cbm-booking-page .cbm-search-bar,.cbm-booking-page .cbm-home-availability{border-color:#FFF3EB;box-shadow:0 12px 32px rgba(0,0,0,.08)}
.cbm-booking-page .cbm-search-bar button{white-space:nowrap}
.cbm-trip-detail{color:#242424}
.cbm-trip-hero{isolation:isolate;box-shadow:0 18px 48px rgba(0,0,0,.14);animation:cbmHeroIn .7s cubic-bezier(.2,.7,.2,1) both}
.cbm-trip-hero>img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1);animation:cbmHeroImageIn 1.2s ease both}
.cbm-trip-hero:hover>img{transform:scale(1.025)}
.cbm-trip-hero-overlay{text-shadow:0 2px 18px rgba(0,0,0,.24)}
.cbm-trip-hero h1{max-width:900px;text-wrap:balance}
.cbm-trip-quickfacts span{transition:background .2s ease,transform .2s ease}
.cbm-trip-quickfacts span:hover{background:rgba(236,99,25,.88);transform:translateY(-2px)}
.cbm-trip-description,.cbm-trip-facts,.cbm-trip-gallery-section{padding:clamp(18px,2.6vw,28px);border:1px solid #FFF3EB;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.035)}
.cbm-trip-detail h2{letter-spacing:-.035em}
.cbm-trip-rich-content a{color:#EC6319;text-decoration-thickness:1px;text-underline-offset:3px}
.cbm-trip-rich-content a:hover{color:#C94C0B}
.cbm-trip-fact{border-color:#FFF3EB;background:linear-gradient(145deg,#fff 0%,#FFF3EB 100%);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.cbm-trip-fact:hover{transform:translateY(-3px);border-color:#FFF3EB;box-shadow:0 10px 24px rgba(236,99,25,.08)}
.cbm-trip-fact span{color:#777}
.cbm-trip-gallery{gap:12px}
.cbm-trip-gallery-item{isolation:isolate;box-shadow:0 5px 16px rgba(0,0,0,.06);outline-offset:3px}
.cbm-trip-gallery-item:focus-visible{outline:3px solid #ec6319}
.cbm-trip-gallery-image{transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .35s ease!important}
.cbm-trip-gallery-item:hover .cbm-trip-gallery-image{transform:scale(1.07)!important;filter:saturate(1.1)}
.cbm-gallery-more-overlay{background:linear-gradient(135deg,rgba(0,0,0,.48),rgba(0,0,0,.78));backdrop-filter:blur(1px);transition:background .25s ease;gap:6px}
.cbm-trip-gallery-item.cbm-gallery-more:hover .cbm-gallery-more-overlay{background:rgba(236,99,25,.86)}
.cbm-trip-booking-sticky{border-color:#FFF3EB;box-shadow:0 14px 40px rgba(0,0,0,.09);transition:box-shadow .25s ease,border-color .25s ease}
.cbm-trip-booking-sticky:hover{border-color:#FFF3EB;box-shadow:0 18px 46px rgba(0,0,0,.12)}
.cbm-trip-starting{letter-spacing:-.035em}
.cbm-gallery-lightbox{background:rgba(0,0,0,.96);backdrop-filter:blur(12px);animation:cbmOverlayIn .22s ease both}
.cbm-gallery-lightbox-image{touch-action:pan-y}
.cbm-gallery-lightbox-close,.cbm-gallery-lightbox-prev,.cbm-gallery-lightbox-next{box-shadow:0 4px 16px rgba(0,0,0,.18);backdrop-filter:blur(8px)}
.cbm-gallery-lightbox-close:focus-visible,.cbm-gallery-lightbox-prev:focus-visible,.cbm-gallery-lightbox-next:focus-visible{outline:3px solid #ec6319;outline-offset:3px}
.cbm-gallery-lightbox-counter{padding:8px 14px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(0,0,0,.3)}
.cbm-motion-ready .cbm-reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--cbm-reveal-delay,0ms)}
.cbm-motion-ready .cbm-reveal.cbm-revealed{opacity:1;transform:translateY(0)}
.cbm-card.cbm-reveal{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease}
@keyframes cbmHeroIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes cbmHeroImageIn{from{transform:scale(1.045);filter:saturate(.8)}to{transform:scale(1);filter:saturate(1)}}
@keyframes cbmOverlayIn{from{opacity:0}to{opacity:1}}
@keyframes cbmPhotoIn{from{opacity:.45;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){.cbm-trip-description,.cbm-trip-facts,.cbm-trip-gallery-section{padding:20px;border-radius:15px}.cbm-trip-gallery{gap:10px}}
@media(max-width:600px){.cbm-trip-description,.cbm-trip-facts,.cbm-trip-gallery-section{padding:16px}.cbm-trip-hero{box-shadow:0 10px 28px rgba(0,0,0,.12)}.cbm-trip-booking-sticky{padding:18px}.cbm-gallery-lightbox-image{animation-duration:.2s}}
@media(prefers-reduced-motion:reduce){.cbm-booking-page *, .cbm-trip-detail *, .cbm-gallery-lightbox, .cbm-gallery-lightbox-image{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.cbm-motion-ready .cbm-reveal{opacity:1;transform:none}}


/* v2.8.10: tablet layout and compact availability form. */
.cbm-booking-page.cbm-availability-compact { width:100%; max-width:100%; }
.cbm-booking-page.cbm-availability-compact .cbm-search-bar { margin:0 0 22px; }
.cbm-booking-page.cbm-availability-compact .cbm-intro { display:none!important; }
.cbm-booking-page.cbm-availability-compact .cbm-search-bar button { background:#ec6319!important; color:#fff!important; }
.cbm-booking-page.cbm-availability-compact .cbm-search-bar button:hover { background:#C94C0B!important; }
.cbm-checkout-charter-thumbnail { width:76px!important; max-width:76px!important; height:64px!important; object-fit:cover!important; border-radius:8px!important; display:block!important; }
@media (min-width:701px) and (max-width:1024px) {
  .cbm-trip-detail { padding-left:20px; padding-right:20px; }
  .cbm-trip-detail-layout { grid-template-columns:minmax(0,1fr); gap:22px; }
  .cbm-trip-booking { min-width:0; width:100%; }
  .cbm-trip-booking-sticky { position:static!important; top:auto!important; }
  .cbm-trip-hero { height:clamp(300px,42vw,440px); }
  .cbm-trip-gallery { grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:clamp(100px,15vw,150px); }
  .cbm-trip-gallery a.cbm-trip-gallery-item:first-child { grid-column:auto!important; grid-row:auto!important; min-height:0!important; }
  .cbm-booking-page { padding-left:18px; padding-right:18px; }
  .cbm-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .cbm-card-body { padding:18px; }
  .cbm-card-body h3 { font-size:21px; }
  .cbm-form { padding-left:13px; padding-right:13px; }
  .cbm-search-bar { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .cbm-search-bar button { grid-column:1/-1; width:100%; }
}
@media (max-width:760px) {
  .cbm-booking-page.cbm-availability-compact .cbm-search-bar { grid-template-columns:minmax(0,1fr); gap:12px; }
  .cbm-booking-page.cbm-availability-compact .cbm-search-bar button { width:100%; }
}


/* v2.8.12 brand system: orange, black, white and neutral greys only. */
.cbm-booking-page,.cbm-trip-detail,.cbm-home-availability,.cbm-public-calendar{--cbm-ink:#111111;--cbm-muted:#666666;--cbm-accent:#EC6319;--cbm-accent-dark:#C94C0B;--cbm-line:#E5E5E5;--cbm-soft:#FFFFFF;--cbm-brand:#EC6319;--cbm-brand-hover:#C94C0B;--cbm-brand-soft:#FFF3EB;--cbm-brand-ring:rgba(236,99,25,.22);color:#111111}
.cbm-booking-page .cbm-button,.cbm-booking-page .cbm-button:visited,.cbm-booking-page .cbm-search-bar button,.cbm-booking-page .cbm-home-availability button,.cbm-booking-page .cbm-public-calendar button,.cbm-trip-detail .cbm-button{background:#EC6319!important;border-color:#EC6319!important;color:#FFFFFF!important}
.cbm-booking-page .cbm-button:hover,.cbm-booking-page .cbm-button:focus-visible,.cbm-booking-page .cbm-search-bar button:hover,.cbm-booking-page .cbm-home-availability button:hover,.cbm-booking-page .cbm-public-calendar button:hover,.cbm-trip-detail .cbm-button:hover{background:#C94C0B!important;border-color:#C94C0B!important;color:#FFFFFF!important}
.cbm-booking-page input:focus,.cbm-booking-page select:focus,.cbm-search-bar input:focus,.cbm-search-bar select:focus{border-color:#EC6319!important;box-shadow:0 0 0 3px rgba(236,99,25,.16)!important;outline:0}
.cbm-booking-page .cbm-slot-option:hover:not(:disabled),.cbm-booking-page .cbm-slot-option.is-selected{border-color:#EC6319;background:#FFF3EB;color:#111111}
.cbm-trip-gallery-item:focus-visible,.cbm-gallery-lightbox button:focus-visible{outline:3px solid #EC6319;outline-offset:3px}
.cbm-gallery-lightbox{background:rgba(0,0,0,.96)}
.cbm-gallery-lightbox-image{opacity:1;transform:translateX(0) scale(1);transition:opacity .22s ease,transform .32s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.cbm-gallery-lightbox-image.is-changing{opacity:0;transform:translateX(12px) scale(.985)}
.cbm-gallery-lightbox-prev:hover,.cbm-gallery-lightbox-next:hover,.cbm-gallery-lightbox-close:hover{background:#EC6319;color:#FFFFFF}
@media(prefers-reduced-motion:reduce){.cbm-gallery-lightbox-image{transition:none!important}}

/* Lightweight catalog cards: image + short copy + trip facts + booking link. */
.cbm-catalog{--cbm-catalog-orange:#EC6319;--cbm-catalog-black:#000;--cbm-catalog-white:#fff;color:var(--cbm-catalog-black);width:100%;margin:0 auto}
.cbm-catalog *{box-sizing:border-box}
.cbm-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.cbm-catalog-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--cbm-catalog-white);border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 2px 9px rgba(0,0,0,.08);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.cbm-catalog-card:hover{transform:translateY(-4px);border-color:var(--cbm-catalog-orange);box-shadow:0 12px 28px rgba(0,0,0,.13)}
.cbm-catalog-image{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:#f3f3f3;text-decoration:none}
.cbm-catalog-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.cbm-catalog-card:hover .cbm-catalog-image img{transform:scale(1.045)}
.cbm-catalog-image-placeholder{height:100%;display:grid;place-items:center;background:var(--cbm-catalog-black);color:var(--cbm-catalog-white);font-size:12px;font-weight:800;letter-spacing:.12em}
.cbm-catalog-content{display:flex;flex:1;flex-direction:column;padding:15px 16px 16px}
.cbm-catalog-categories{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 7px}
.cbm-catalog-categories span{display:inline-flex;padding:3px 8px;border-radius:3px;background:#fff1e9;color:#9e3d08;font-size:10px;font-weight:800;letter-spacing:.03em}
.cbm-catalog-content h3{margin:0 0 8px;font-size:21px;line-height:1.2;font-weight:800;color:var(--cbm-catalog-black)}
.cbm-catalog-content h3 a{color:inherit;text-decoration:none;transition:color .18s ease}
.cbm-catalog-content h3 a:hover{color:var(--cbm-catalog-orange)}
.cbm-catalog-description{margin:0 0 12px;color:#333;font-size:13px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cbm-catalog-facts{list-style:none!important;margin:0 0 14px!important;padding:0!important;display:grid;gap:7px}
.cbm-catalog-facts li{display:flex;align-items:center;gap:9px;margin:0!important;padding:0!important;color:#222;font-size:13px;line-height:1.35}
.cbm-catalog-icon{width:17px;flex:0 0 17px;text-align:center;color:var(--cbm-catalog-black);font-size:16px;font-weight:900}
.cbm-catalog-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:42px;margin-top:auto;padding:10px 14px;border:1px solid var(--cbm-catalog-orange);border-radius:6px;background:var(--cbm-catalog-orange);color:var(--cbm-catalog-white)!important;text-align:center;text-decoration:none!important;font-size:13px;font-weight:800;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.cbm-catalog-button:hover,.cbm-catalog-button:focus-visible{background:var(--cbm-catalog-black);border-color:var(--cbm-catalog-black);color:var(--cbm-catalog-white)!important;transform:translateY(-1px)}
.cbm-catalog-button:focus-visible{outline:3px solid rgba(236,99,25,.3);outline-offset:3px}
.cbm-catalog-empty{padding:14px;border-left:3px solid #EC6319;background:#fff;color:#111}
@media(max-width:900px){.cbm-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:600px){.cbm-catalog-grid{grid-template-columns:minmax(0,1fr);gap:16px}.cbm-catalog-content{padding:14px}.cbm-catalog-content h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){.cbm-catalog-card,.cbm-catalog-image img,.cbm-catalog-button,.cbm-catalog-content h3 a{transition:none!important}.cbm-catalog-card:hover,.cbm-catalog-button:hover{transform:none}}


/* Ocean-inspired booking polish and resilient departure-slot hover states. */
.cbm-booking-page .cbm-card{border-color:#dce7ec;box-shadow:0 10px 30px rgba(18,48,71,.08)}
.cbm-booking-page .cbm-card:hover{border-color:#b8d5dc;box-shadow:0 18px 42px rgba(18,48,71,.14)}
.cbm-booking-page .cbm-button{background:#0f8b8d!important;color:#fff!important;border-color:#0f8b8d!important}
.cbm-booking-page .cbm-button:hover,.cbm-booking-page .cbm-button:focus-visible{background:#096c70!important;color:#fff!important}
.cbm-booking-page .cbm-slot-option,
.cbm-booking-page .cbm-slot-option strong,
.cbm-booking-page .cbm-slot-option small{color:#123047!important}
.cbm-booking-page .cbm-slot-option:hover:not(:disabled),
.cbm-booking-page .cbm-slot-option:focus-visible:not(:disabled),
.cbm-booking-page .cbm-slot-option.is-selected{
    background:#e7f5f4!important;
    background-color:#e7f5f4!important;
    border-color:#0f8b8d!important;
    color:#123047!important;
    box-shadow:0 0 0 2px rgba(15,139,141,.16)!important;
    outline:none;
}
.cbm-booking-page .cbm-slot-option:hover:not(:disabled) strong,
.cbm-booking-page .cbm-slot-option:hover:not(:disabled) small,
.cbm-booking-page .cbm-slot-option.is-selected strong,
.cbm-booking-page .cbm-slot-option.is-selected small{color:#123047!important}
.cbm-booking-page .cbm-slot-option.is-booked,
.cbm-booking-page .cbm-slot-option.is-booked:hover{background:#f3f5f6!important;color:#87939b!important;border-color:#e0e5e8!important}
.cbm-booking-page .cbm-payment-preview{display:grid;gap:5px;margin:12px 0;padding:13px 15px;border:1px solid #cce5e3;border-radius:12px;background:#f0f8f7;color:#123047;font-size:13px;line-height:1.5}
.cbm-booking-page .cbm-payment-preview strong{font-size:14px;color:#096c70}
.cbm-booking-page .cbm-balance-amount{color:#526777}
.cbm-booking-page .cbm-refund-note{margin:10px 0 14px;padding:13px 15px;border-left:3px solid #0f8b8d;border-radius:8px;background:#f5fafb;color:#526777;font-size:12px;line-height:1.6}
.cbm-booking-page .cbm-refund-note strong{display:block;margin-bottom:4px;color:#123047;font-size:13px}
.cbm-booking-page .cbm-refund-note p{margin:0}


/* Central admin-controlled visual tokens and booking interactions. */
.cbm-booking-page{font-family:var(--cbm-font-family,inherit);font-size:var(--cbm-font-size,15px);font-weight:var(--cbm-font-weight,400);color:var(--cbm-ink,#111);max-width:var(--cbm-container-width,1240px);margin-left:auto;margin-right:auto}
.cbm-booking-page .cbm-card,.cbm-booking-page .cbm-trip-booking-sticky{background:var(--cbm-trip-bg,#fff)}
.cbm-booking-page .cbm-button,.cbm-booking-page .cbm-search-bar button,.cbm-booking-page .cbm-home-availability button,.cbm-booking-page .cbm-public-calendar button{background:var(--cbm-accent,#ec6319)!important;color:var(--cbm-button-text,#fff)!important;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.cbm-booking-page .cbm-button:hover,.cbm-booking-page .cbm-search-bar button:hover{transform:translateY(-2px);filter:brightness(.94);box-shadow:0 8px 18px rgba(0,0,0,.13)}
.cbm-booking-page .cbm-refund-note{background:var(--cbm-notice-bg,#ec6319)!important;color:#fff!important;border:1px solid #111!important;border-radius:10px;padding:14px 16px;box-shadow:0 5px 18px rgba(0,0,0,.09)}
.cbm-booking-page .cbm-refund-note strong,.cbm-booking-page .cbm-refund-note p{color:#fff!important}
.cbm-booking-page .cbm-customer-note-label{display:grid;gap:7px;margin:14px 0;font-weight:700;color:var(--cbm-ink,#111)}
.cbm-booking-page .cbm-customer-note{width:100%;min-height:88px;border:1px solid #d7d7d7;border-radius:9px;padding:11px 12px;font:inherit;line-height:1.5;background:#fff;color:#111;transition:border-color .2s,box-shadow .2s}
.cbm-booking-page .cbm-customer-note:focus{outline:0;border-color:var(--cbm-accent,#ec6319);box-shadow:0 0 0 3px rgba(236,99,25,.15)}
.cbm-booking-page .cbm-booking-type,.cbm-booking-page .cbm-guests{transition:border-color .2s,box-shadow .2s}
.cbm-booking-page .cbm-slot-option{transition:transform .18s ease,border-color .18s ease,background .18s ease}
.cbm-booking-page .cbm-slot-option:hover:not(:disabled){transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.cbm-booking-page *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.cbm-trip-detail{max-width:var(--cbm-container-width,1240px);background:var(--cbm-trip-bg,#fff);font-family:var(--cbm-font-family,inherit);font-size:var(--cbm-font-size,15px);color:var(--cbm-ink,#111)}

/* Party booking toggle and dynamic guest capacity. */
.cbm-party-toggle{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px;font-weight:700;cursor:pointer;padding:12px 14px;border:1px solid #d9e0e5;border-radius:9px;background:#fff}
.cbm-party-toggle input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#ec6319}
.cbm-party-toggle small{display:block;flex-basis:100%;margin-left:26px;font-size:12px;font-weight:400;line-height:1.45;color:#68737d}
.cbm-party-toggle.is-active{border-color:#ec6319;background:#fff8f3}


/* v2.9.5: compact, customer-first single charter layout.
   Presentation-only overrides: booking, availability and pricing logic unchanged. */
.cbm-trip-detail{max-width:1180px;margin:0 auto 28px}
.cbm-trip-hero{height:clamp(230px,28vw,340px);margin-bottom:20px;border-radius:14px}
.cbm-trip-hero-overlay{left:clamp(18px,3vw,36px);bottom:22px}
.cbm-trip-hero h1,.cbm-trip-title h1{font-size:clamp(28px,3.5vw,44px);margin:7px 0 12px}
.cbm-trip-quickfacts{gap:7px}
.cbm-trip-quickfacts span{padding:6px 10px;font-size:12px}
.cbm-trip-detail-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:22px}
.cbm-trip-description,.cbm-trip-facts,.cbm-trip-gallery-section{margin-bottom:20px}
.cbm-trip-detail h2{font-size:22px;margin-bottom:10px}
.cbm-trip-rich-content{font-size:14px;line-height:1.65}
.cbm-trip-rich-content p{margin:0 0 9px}
.cbm-trip-rich-content h2,.cbm-trip-rich-content h3{margin-top:1em;margin-bottom:7px;font-size:17px}
.cbm-trip-rich-content ul,.cbm-trip-rich-content ol{margin:6px 0;padding-left:1.2em}
.cbm-trip-facts-grid{gap:8px}
.cbm-trip-fact{padding:11px 13px;border-radius:9px}
.cbm-trip-fact span{margin-bottom:3px;font-size:11px}
.cbm-trip-fact strong{font-size:13px;line-height:1.4}
.cbm-trip-section-heading{margin-bottom:10px}
.cbm-trip-gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(78px,8vw,112px);gap:8px}
.cbm-trip-gallery a.cbm-trip-gallery-item:first-child{grid-column:auto!important;grid-row:auto!important;min-height:0!important;aspect-ratio:4/3}
.cbm-trip-booking-sticky{top:16px;padding:17px;border-radius:13px;box-shadow:0 7px 22px rgba(0,0,0,.06)}
.cbm-trip-booking-sticky>h2{font-size:21px;margin:5px 0}
.cbm-trip-starting{font-size:19px;margin:7px 0}
.cbm-trip-booking-sticky>p:not(.cbm-trip-starting){font-size:12px;line-height:1.5;margin:6px 0}
.cbm-trip-booking-sticky .cbm-booking-page{margin-top:12px}
.cbm-trip-booking-sticky .cbm-trip-kicker{font-size:10px}
.cbm-trip-booking-sticky .cbm-form{gap:9px}
.cbm-trip-booking-sticky .cbm-form label{font-size:12px}
.cbm-trip-booking-sticky .cbm-form input,.cbm-trip-booking-sticky .cbm-form select{min-height:40px}
.cbm-trip-booking-sticky .cbm-form .cbm-button{min-height:44px}
@media(max-width:900px){
 .cbm-trip-detail-layout{grid-template-columns:minmax(0,1fr) minmax(285px,.9fr);gap:16px}
 .cbm-trip-hero{height:clamp(220px,32vw,290px)}
 .cbm-trip-gallery{grid-auto-rows:90px}
}
@media(max-width:700px){
 .cbm-trip-detail{margin-bottom:20px}
 .cbm-trip-hero{height:240px;margin-bottom:15px;border-radius:11px}
 .cbm-trip-hero-overlay{left:16px;right:16px;bottom:16px}
 .cbm-trip-hero h1{font-size:29px;margin:6px 0 9px}
 .cbm-trip-detail-layout{grid-template-columns:1fr;gap:16px}
 .cbm-trip-booking{order:-1}
 .cbm-trip-booking-sticky{position:static;padding:15px}
 .cbm-trip-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cbm-trip-gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:76px;gap:6px}
 .cbm-trip-gallery a.cbm-trip-gallery-item:first-child{grid-column:auto!important;grid-row:auto!important}
 .cbm-trip-rich-content{font-size:14px;line-height:1.6}
}
@media(max-width:420px){
 .cbm-trip-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cbm-trip-gallery{grid-auto-rows:64px}
}
