:root{--lbsm-navy:#12243d;--lbsm-ink:#182235;--lbsm-sand:#b7925c;--lbsm-cream:#f6f3ec;--lbsm-line:#e5e7eb;--lbsm-muted:#697386;--lbsm-white:#fff;--lbsm-green:#1f7a4b}
.lbsm-wrap{max-width:1200px;margin:0 auto;color:var(--lbsm-ink);font-family:inherit}.lbsm-wrap *{box-sizing:border-box}.lbsm-section-anchor{scroll-margin-top:100px}.lbsm-center{text-align:center}.lbsm-section-heading{margin:0 0 34px}.lbsm-section-heading h2{font-size:clamp(30px,4vw,48px);line-height:1.04;margin:8px 0 12px;color:var(--lbsm-navy);letter-spacing:-.035em}.lbsm-section-heading p{max-width:680px;margin:0 auto;color:var(--lbsm-muted);line-height:1.7}.lbsm-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--lbsm-sand);font-weight:800}.lbsm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:5px;padding:14px 20px;background:var(--lbsm-navy);color:#fff!important;font-weight:800;font-size:10px;letter-spacing:.08em;text-decoration:none;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.lbsm-btn:hover{transform:translateY(-2px);opacity:.93}.lbsm-btn-light{background:#fff;color:var(--lbsm-navy)!important}.lbsm-btn-outline{background:transparent;border:1px solid rgba(255,255,255,.8);color:#fff!important}.lbsm-site-home{overflow:hidden;background:#fff}.lbsm-hero{position:relative;min-height:680px;overflow:hidden;background:linear-gradient(120deg,#29465d,#12243d);display:flex;align-items:center}.lbsm-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(212,180,126,.22),transparent 30%)}.lbsm-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,25,42,.84),rgba(10,25,42,.18)),linear-gradient(0deg,rgba(10,25,42,.32),transparent)}.lbsm-hero-inner{position:relative;z-index:2;width:min(1200px,92%);margin:auto;color:#fff;padding:100px 0}.lbsm-hero-kicker{font-size:10px;letter-spacing:.14em;opacity:.9}.lbsm-hero h1{font-size:clamp(52px,7vw,92px);line-height:.91;max-width:780px;margin:18px 0;letter-spacing:-.045em}.lbsm-hero h1 span{color:#d4b47e}.lbsm-hero p{max-width:570px;font-size:17px;line-height:1.65;opacity:.9}.lbsm-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.lbsm-home-search{position:relative;z-index:5;margin-top:-70px}.lbsm-home-search-inner{width:min(1200px,92%);margin:auto;background:#fff;border-radius:12px;box-shadow:0 20px 55px rgba(20,36,61,.13)}.lbsm-home-search .lbsm-search{padding:30px}.lbsm-home-search .lbsm-section-heading{display:none}.lbsm-search{padding:80px 0}.lbsm-search-form{display:grid;grid-template-columns:1.25fr 1fr 1fr auto;gap:12px;align-items:end;background:var(--lbsm-cream);padding:18px;border-radius:10px;margin-bottom:32px}.lbsm-search-form label,.lbsm-booking-form-grid label{display:grid;gap:7px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.lbsm-search-form input,.lbsm-search-form select,.lbsm-booking-form-grid input,.lbsm-booking-form-grid select{width:100%;border:1px solid #d9dde4;border-radius:5px;padding:12px;background:#fff;font:inherit;color:var(--lbsm-ink);text-transform:none;letter-spacing:normal}.lbsm-home-section{padding:100px 0}.lbsm-home-featured{background:#fff}.lbsm-modern-grid,.lbsm-featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.lbsm-modern-card{border:1px solid var(--lbsm-line);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 10px 28px rgba(20,36,61,.05)}.lbsm-modern-card-media{position:relative;display:block;height:280px;overflow:hidden}.lbsm-modern-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.lbsm-modern-card:hover .lbsm-modern-card-media img{transform:scale(1.04)}.lbsm-status-badge{position:absolute;left:14px;top:14px;padding:6px 9px;border-radius:4px;color:#fff;font-size:9px;font-weight:800;letter-spacing:.05em}.lbsm-status-badge.available{background:#2f7c4d}.lbsm-status-badge.limited{background:#b98139}.lbsm-status-badge.soldout{background:#b64f4f}.lbsm-modern-card-body{padding:19px}.lbsm-modern-card-meta{display:flex;justify-content:space-between;color:var(--lbsm-sand);font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.lbsm-modern-card h3{font-size:27px;margin:8px 0 20px;color:var(--lbsm-navy)}.lbsm-modern-card h3 a{color:inherit;text-decoration:none}.lbsm-modern-card-bottom{display:flex;justify-content:space-between;align-items:end;gap:12px;border-top:1px solid var(--lbsm-line);padding-top:15px}.lbsm-modern-card-bottom small{display:block;font-size:9px;color:var(--lbsm-muted);letter-spacing:.08em}.lbsm-modern-card-bottom strong{font-size:18px;color:var(--lbsm-navy)}.lbsm-modern-card-bottom em{font-style:normal;font-size:9px;color:var(--lbsm-muted)}.lbsm-arrow-link{font-size:10px;font-weight:800;color:var(--lbsm-navy);text-decoration:none;white-space:nowrap}.lbsm-experience{background:var(--lbsm-cream);padding:100px 0}.lbsm-experience-grid{width:min(1200px,92%);margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}.lbsm-experience-visual{min-height:520px;position:relative}.lbsm-experience-photo{position:absolute;background:linear-gradient(145deg,#718a96,#18304b);box-shadow:0 20px 45px rgba(18,36,61,.14);color:#fff;display:flex;align-items:end;padding:20px;font-size:11px;letter-spacing:.16em;font-weight:800}.lbsm-experience-photo-a{inset:0 18% 10% 0}.lbsm-experience-photo-b{width:46%;height:48%;right:0;bottom:0;background:linear-gradient(145deg,#d4b47e,#536a6d);border:10px solid var(--lbsm-cream)}.lbsm-experience-copy h2{font-size:clamp(38px,4vw,58px);line-height:.98;letter-spacing:-.04em;color:var(--lbsm-navy);margin:10px 0 22px}.lbsm-experience-copy p{color:var(--lbsm-muted);line-height:1.8;max-width:540px;margin-bottom:28px}.lbsm-journey-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.lbsm-journey-grid article{border:1px solid var(--lbsm-line);padding:22px;border-radius:9px;min-height:190px;background:#fff}.lbsm-journey-number{font-size:28px;font-weight:800;color:#d6c09b}.lbsm-journey-copy h3{font-size:14px;color:var(--lbsm-navy);margin:30px 0 8px}.lbsm-journey-copy p{font-size:11px;color:var(--lbsm-muted);line-height:1.6;margin:0}.lbsm-home-why{background:var(--lbsm-navy);color:#fff}.lbsm-home-why .lbsm-section-heading h2{color:#fff}.lbsm-value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12)}.lbsm-value-grid article{background:var(--lbsm-navy);padding:30px}.lbsm-value-grid b{color:#d4b47e;font-size:13px}.lbsm-value-grid h3{font-size:18px;margin:28px 0 10px}.lbsm-value-grid p{color:rgba(255,255,255,.68);font-size:13px;line-height:1.7;margin:0}.lbsm-faq-block{max-width:900px;margin:auto}.lbsm-faq-list{border-top:1px solid var(--lbsm-line)}.lbsm-faq-list details{border-bottom:1px solid var(--lbsm-line)}.lbsm-faq-list summary{list-style:none;cursor:pointer;padding:20px 4px;display:flex;justify-content:space-between;gap:20px;font-size:15px;font-weight:800;color:var(--lbsm-navy)}.lbsm-faq-list summary::-webkit-details-marker{display:none}.lbsm-faq-list summary span{font-size:22px;font-weight:400;color:var(--lbsm-sand)}.lbsm-faq-list details[open] summary span{transform:rotate(45deg)}.lbsm-faq-list details>div{padding:0 45px 20px 4px}.lbsm-faq-list p{margin:0;color:var(--lbsm-muted);line-height:1.7;font-size:13px}.lbsm-home-cta{position:relative;background:linear-gradient(120deg,#27475d,#12243d);padding:115px 0;color:#fff;text-align:center}.lbsm-home-cta-overlay{position:absolute;inset:0;background:radial-gradient(circle at center,rgba(212,180,126,.22),transparent 45%)}.lbsm-home-cta-inner{position:relative;z-index:2}.lbsm-home-cta h2{font-size:clamp(42px,6vw,70px);line-height:.95;letter-spacing:-.045em;margin:12px auto 15px}.lbsm-home-cta p{opacity:.75;margin:0 0 28px}.lbsm-floating-wa{position:fixed;z-index:9999;right:22px;bottom:22px;display:flex;align-items:center;gap:10px;background:#1e7b4c;color:#fff!important;text-decoration:none;border-radius:999px;padding:9px 16px 9px 9px;box-shadow:0 12px 30px rgba(0,0,0,.2);font-size:9px;font-weight:800;letter-spacing:.06em}.lbsm-wa-dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#1e7b4c;font-size:10px}.lbsm-trip-card{display:grid;grid-template-columns:38% 62%;border:1px solid var(--lbsm-line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 12px 34px rgba(20,36,61,.06)}.lbsm-trip-media{position:relative;min-height:340px}.lbsm-trip-media img,.lbsm-modern-card-media img{width:100%;height:100%;object-fit:cover;display:block}.lbsm-trip-media-caption{position:absolute;left:22px;bottom:20px;color:#fff;display:grid;text-shadow:0 2px 10px rgba(0,0,0,.4)}.lbsm-trip-media-caption span{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.lbsm-trip-media-caption strong{font-size:28px}.lbsm-trip-content{padding:26px}.lbsm-trip-top{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px}.lbsm-trip-top h3{font-size:30px;margin:5px 0 0;color:var(--lbsm-navy)}.lbsm-date{text-align:right;font-size:13px;display:grid;gap:4px;color:var(--lbsm-muted)}.lbsm-date strong{color:var(--lbsm-navy)}.lbsm-cabin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lbsm-cabin-option{position:relative;border:1px solid var(--lbsm-line);border-radius:10px;padding:15px;display:grid;gap:10px;background:#fff}.lbsm-cabin-option.is-soldout{opacity:.62}.lbsm-cabin-option-main{display:flex;justify-content:space-between;gap:10px}.lbsm-cabin-option-main>div:first-child{display:grid;gap:4px}.lbsm-cabin-option span:not(.lbsm-availability){font-size:12px;color:var(--lbsm-muted)}.lbsm-cabin-price{font-weight:800;font-size:16px;text-align:right;white-space:nowrap}.lbsm-cabin-price small{display:block;font-size:10px;font-weight:500;color:var(--lbsm-muted)}.lbsm-availability{font-size:10px!important;font-weight:800;text-transform:uppercase}.lbsm-availability.available{color:#2b7a48}.lbsm-availability.soldout{color:#c04c4c}.lbsm-cabin-option .lbsm-btn{font-size:10px;padding:10px 12px}.lbsm-booking-panel{margin:35px 0 60px;background:#fff;color:#17324A;border:1px solid #DDE6EE;border-radius:20px;box-shadow:0 16px 42px rgba(8,59,117,.10);overflow:hidden}
.lbsm-panel-inner{position:relative;padding:32px}
.lbsm-close{position:absolute;right:18px;top:18px;width:36px;height:36px;border:1px solid #DDE6EE;border-radius:50%;background:#fff;color:#083B75;font-size:22px;line-height:1;cursor:pointer}
.lbsm-modern-booking-head{max-width:760px;margin:0 0 22px}
.lbsm-modern-booking-head>span{display:block;color:#36B86B;font-size:11px;font-weight:800;letter-spacing:2px;margin-bottom:7px}
.lbsm-modern-booking-head h3{margin:0 0 8px;color:#083B75;font-family:Manrope,Inter,system-ui,sans-serif;font-size:34px;line-height:1.12;font-weight:800}
.lbsm-modern-booking-head p{margin:0;color:#6B7A88;font-size:14px;line-height:1.6}
.lbsm-modern-booking-summary{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:12px;margin-bottom:20px}
.lbsm-modern-booking-summary>div{min-height:90px;padding:14px 16px;border:1px solid #DDEBFA;border-radius:10px;background:#F4F9FF}
.lbsm-modern-booking-summary small{display:block;color:#718396;font-size:9px;font-weight:800;letter-spacing:1px}
.lbsm-modern-booking-summary strong{display:block;margin-top:5px;color:#083B75;font-size:15px;font-weight:800}
.lbsm-modern-booking-summary span{display:block;margin-top:4px;color:#16804A;font-size:9px;font-weight:800}
.lbsm-booking-form-grid{display:grid;grid-template-columns:1fr 1.15fr 1.15fr 1.15fr;gap:14px}
.lbsm-booking-form-grid label{display:block;color:#253B4E;font-size:13px;font-weight:700}
.lbsm-booking-form-grid label>span{color:#8B98A4;font-weight:400}
.lbsm-search .lbsm-booking-form-grid input,.lbsm-search .lbsm-booking-form-grid select,.lbsm-booking-form-grid input,.lbsm-booking-form-grid select{width:100%;min-height:50px;margin-top:7px;border:1px solid #DDE6EE;border-radius:9px;padding:11px 13px;background:#fff;font:inherit;color:#17324A}
.lbsm-booking-form-grid input:focus,.lbsm-booking-form-grid select:focus{outline:none;border-color:#1268E8;box-shadow:0 0 0 3px rgba(18,104,232,.10)}
.lbsm-guest-stepper{display:grid;grid-template-columns:42px 1fr 42px;gap:7px;margin-top:7px}
.lbsm-guest-stepper select{margin-top:0!important}
.lbsm-guest-stepper button{height:50px;border:1px solid #DDE6EE;border-radius:9px;background:#fff;color:#083B75;font-size:20px;font-weight:800;cursor:pointer}
.lbsm-guest-stepper button:hover{border-color:#1268E8;background:#F4F9FF}
.lbsm-total-row{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-top:1px solid #E7EDF2;border-bottom:1px solid #E7EDF2;margin:20px 0}
.lbsm-total-row span{color:#6B7A88;font-size:13px}
.lbsm-total-row strong{color:#083B75;font-size:26px}
.lbsm-booking-panel .lbsm-confirm{width:100%;min-height:56px;border:0;border-radius:9px;background:#1268E8;color:#fff;font-size:14px;font-weight:800;cursor:pointer}
.lbsm-booking-panel .lbsm-confirm:hover{background:#083B75}
.lbsm-note{font-size:11px;color:#7B8995;margin:10px 0 0;text-align:center}
.lbsm-result{margin-top:12px;font-size:13px;text-align:center}
.lbsm-result.is-error{color:#C94D4D}.lbsm-empty{padding:38px;border:1px dashed #d9dde4;border-radius:14px;display:grid;gap:8px;text-align:center}.lbsm-boat-detail{padding:30px 0 80px}.lbsm-boat-hero{display:grid;grid-template-columns:1.15fr .85fr;min-height:480px;background:var(--lbsm-cream);border-radius:16px;overflow:hidden}.lbsm-boat-hero-media{min-height:480px}.lbsm-boat-hero-media img{width:100%;height:100%;object-fit:cover}.lbsm-boat-hero-copy{padding:54px;display:flex;flex-direction:column;justify-content:center}.lbsm-boat-hero-copy h1{font-size:58px;line-height:.95;color:var(--lbsm-navy);margin:12px 0 18px}.lbsm-boat-hero-copy p{color:var(--lbsm-muted);line-height:1.7}.lbsm-boat-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:30px}.lbsm-boat-stats span{border-top:1px solid #d9d5ca;padding-top:12px}.lbsm-boat-stats strong,.lbsm-boat-stats small{display:block}.lbsm-boat-stats strong{font-size:20px;color:var(--lbsm-navy)}.lbsm-boat-stats small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--lbsm-muted);margin-top:3px}.lbsm-boat-copy{max-width:820px;margin:50px auto;color:#4f5968;line-height:1.8}.lbsm-cabin-types-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.lbsm-cabin-type-card{border:1px solid var(--lbsm-line);border-radius:14px;overflow:hidden;background:#fff}.lbsm-cabin-type-card>img{width:100%;height:220px;object-fit:cover;display:block}.lbsm-cabin-type-body{padding:20px}.lbsm-cabin-type-body h3{font-size:24px;color:var(--lbsm-navy);margin:7px 0}.lbsm-cabin-type-body p{font-size:12px;color:var(--lbsm-muted)}.lbsm-cabin-type-price{margin:18px 0}.lbsm-cabin-type-price small{display:block;font-size:9px;color:var(--lbsm-muted)}.lbsm-cabin-type-price strong{font-size:20px;color:var(--lbsm-navy)}.lbsm-cabin-type-price em{font-style:normal;font-size:10px;color:var(--lbsm-muted)}
@media(max-width:1000px){.lbsm-search-form{grid-template-columns:1fr 1fr}.lbsm-modern-grid,.lbsm-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lbsm-trip-card{grid-template-columns:1fr}.lbsm-trip-media{min-height:300px}.lbsm-experience-grid{grid-template-columns:1fr;gap:50px}.lbsm-experience-visual{min-height:430px}.lbsm-value-grid{grid-template-columns:repeat(2,1fr)}.lbsm-boat-hero{grid-template-columns:1fr}.lbsm-boat-hero-media{min-height:360px}.lbsm-cabin-types-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lbsm-journey-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.lbsm-hero{min-height:600px}.lbsm-hero-inner{padding:70px 20px}.lbsm-hero h1{font-size:50px}.lbsm-hero p{font-size:15px}.lbsm-home-search{margin-top:-35px}.lbsm-home-search-inner{width:94%}.lbsm-home-search .lbsm-search{padding:18px}.lbsm-search{padding:55px 16px}.lbsm-section-heading h2{font-size:32px}.lbsm-home-section{padding:70px 16px}.lbsm-search-form{grid-template-columns:1fr;padding:14px}.lbsm-cabin-grid,.lbsm-modern-grid,.lbsm-featured-grid,.lbsm-cabin-types-grid{grid-template-columns:1fr}.lbsm-trip-content{padding:18px}.lbsm-trip-top{display:grid}.lbsm-date{text-align:left}.lbsm-booking-form-grid{grid-template-columns:1fr}.lbsm-panel-inner{padding:22px 16px}.lbsm-selected-trip{font-size:18px}.lbsm-experience{padding:70px 16px}.lbsm-experience-visual{min-height:360px}.lbsm-experience-copy h2{font-size:43px}.lbsm-value-grid{grid-template-columns:1fr}.lbsm-journey-grid{grid-template-columns:1fr}.lbsm-journey-grid article{min-height:0}.lbsm-journey-copy h3{margin-top:15px}.lbsm-boat-hero-copy{padding:32px 22px}.lbsm-boat-hero-copy h1{font-size:45px}.lbsm-boat-stats{grid-template-columns:1fr 1fr}.lbsm-boat-copy{margin:35px 16px}.lbsm-floating-wa{right:14px;bottom:14px}.lbsm-wa-label{display:none}.lbsm-home-cta{padding:85px 16px}}

.lbsm-cabin-facilities{margin:12px 0;padding:0;list-style:none;display:grid;gap:6px;font-size:13px}
.lbsm-cabin-facilities li:before{content:"✓";margin-right:7px;font-weight:700}
.lbsm-departure-itinerary{margin-top:64px}
.lbsm-itinerary-list{display:grid;gap:10px}
.lbsm-itinerary-item{padding:16px 18px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#fff}

/* v0.8.6: show cabin gallery/featured image in availability cards */
.lbsm-cabin-option-main{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px}
.lbsm-cabin-option-photo{width:64px;height:54px;border-radius:7px;overflow:hidden;background:#f0f0f0}
.lbsm-cabin-option-photo img{display:block;width:100%;height:100%;object-fit:cover}
.lbsm-cabin-option-photo:empty{display:none}
@media(max-width:700px){.lbsm-cabin-option-main{grid-template-columns:54px minmax(0,1fr);}.lbsm-cabin-price{grid-column:2;grid-row:1;justify-self:end}.lbsm-cabin-option-photo{width:54px;height:48px}}

/* v0.8.7 Fresh Tropical overrides */
.lbsm-wrap,.lbsm-widget,.lbsm-booking-widget,.lbsm-availability{
  --lbsm-blue:#1268E8;--lbsm-green:#36B86B;--lbsm-deep:#083B75;--lbsm-sky:#EAF4FF;
  --lbsm-fresh:#EAF8F0;--lbsm-text:#172B3A;--lbsm-muted:#6B7A88;--lbsm-border:#DDE6EE;
}
.lbsm-wrap .lbsm-button,.lbsm-widget .lbsm-button,.lbsm-booking-widget .lbsm-button{background:#1268E8;border-color:#1268E8;color:#fff;border-radius:9px}
.lbsm-wrap .lbsm-button:hover,.lbsm-widget .lbsm-button:hover,.lbsm-booking-widget .lbsm-button:hover{background:#083B75;border-color:#083B75}
.lbsm-wrap .lbsm-available,.lbsm-widget .lbsm-available,.lbsm-booking-widget .lbsm-available{color:#18894C;background:#EAF8F0;border-color:#BFE8CF}
.lbsm-wrap .lbsm-sold-out,.lbsm-widget .lbsm-sold-out,.lbsm-booking-widget .lbsm-sold-out{color:#E85D5D;background:#FFF1F1;border-color:#F4CACA}
.lbsm-wrap .lbsm-whatsapp-cta,.lbsm-widget .lbsm-whatsapp-cta{background:#36B86B;border-color:#36B86B}


/* v0.9.0 — Homepage Availability Bar */
.lbsm-availability-bar{
  width:min(1180px,calc(100% - 40px));
  margin:-56px auto 0;
  position:relative;
  z-index:10;
  display:grid;
  grid-template-columns:minmax(260px,.85fr) minmax(0,1.65fr);
  gap:28px;
  align-items:center;
  padding:28px 30px;
  background:#fff;
  border:1px solid #DDE6EE;
  border-radius:16px;
  box-shadow:0 18px 45px rgba(8,59,117,.13);
}
.lbsm-availability-copy{min-width:0}
.lbsm-availability-eyebrow{
  display:block;
  margin-bottom:7px;
  color:#36B86B;
  font-size:11px;
  font-weight:800;
  letter-spacing:2px;
}
.lbsm-availability-copy h2{
  margin:0 0 5px;
  color:#083B75;
  font-family:Manrope,Inter,system-ui,sans-serif;
  font-size:25px;
  line-height:1.15;
  letter-spacing:-.4px;
}
.lbsm-availability-copy p{
  margin:0;
  color:#6B7A88;
  font-size:14px;
  line-height:1.5;
}
.lbsm-availability-form{
  display:grid;
  grid-template-columns:1.15fr .9fr .8fr auto;
  gap:10px;
  align-items:end;
}
.lbsm-availability-field label{
  display:block;
  margin:0 0 7px;
  color:#172B3A;
  font-size:12px;
  font-weight:700;
}
.lbsm-availability-field input,
.lbsm-availability-field select{
  width:100%;
  height:48px;
  padding:0 13px;
  border:1px solid #DDE6EE;
  border-radius:9px;
  background:#fff;
  color:#172B3A;
  font:inherit;
  font-size:14px;
}
.lbsm-availability-field input:focus,
.lbsm-availability-field select:focus{
  border-color:#1268E8;
  box-shadow:0 0 0 3px rgba(18,104,232,.1);
  outline:none;
}
.lbsm-availability-submit{
  height:48px;
  padding:0 19px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  white-space:nowrap;
  border:1px solid #1268E8;
  border-radius:9px;
  background:#1268E8;
  color:#fff;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:.2s ease;
}
.lbsm-availability-submit:hover{
  background:#083B75;
  border-color:#083B75;
  transform:translateY(-1px);
}
.lbsm-availability-submit span{font-size:17px;line-height:1}
@media(max-width:900px){
  .lbsm-availability-bar{grid-template-columns:1fr;margin:-35px 20px 0;width:calc(100% - 40px)}
  .lbsm-availability-form{grid-template-columns:repeat(2,1fr)}
  .lbsm-availability-submit{width:100%}
}
@media(max-width:520px){
  .lbsm-availability-bar{margin:-25px 14px 0;width:calc(100% - 28px);padding:22px 18px;border-radius:14px}
  .lbsm-availability-form{grid-template-columns:1fr}
}


/* v0.9.1 — Availability bar visual fix */
.lbsm-wrap .lbsm-availability-bar,
.elementor .lbsm-availability-bar{
  width:min(1180px,calc(100% - 40px)) !important;
  margin:40px auto !important;
  position:relative;
  z-index:10;
  display:grid !important;
  grid-template-columns:minmax(280px,.85fr) minmax(0,1.65fr) !important;
  gap:28px !important;
  align-items:center !important;
  padding:28px 30px !important;
  background:#fff !important;
  border:1px solid #DDE6EE !important;
  border-radius:16px !important;
  box-shadow:0 18px 45px rgba(8,59,117,.13) !important;
}
.lbsm-wrap .lbsm-availability-form,
.elementor .lbsm-availability-form{
  display:grid !important;
  grid-template-columns:1.15fr .9fr .8fr auto !important;
  gap:10px !important;
  align-items:end !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.lbsm-wrap .lbsm-availability-copy h2,
.elementor .lbsm-availability-copy h2{
  margin:0 0 5px !important;
  color:#083B75 !important;
  font-family:Manrope,Inter,system-ui,sans-serif !important;
  font-size:25px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
}
.lbsm-wrap .lbsm-availability-copy p,
.elementor .lbsm-availability-copy p{
  margin:0 !important;
  color:#6B7A88 !important;
  font-size:14px !important;
  line-height:1.5 !important;
}
.lbsm-wrap .lbsm-availability-field label,
.elementor .lbsm-availability-field label{
  display:block !important;
  margin:0 0 7px !important;
  color:#172B3A !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
}
.lbsm-wrap .lbsm-availability-field input,
.lbsm-wrap .lbsm-availability-field select,
.elementor .lbsm-availability-field input,
.elementor .lbsm-availability-field select{
  width:100% !important;
  height:48px !important;
  min-height:48px !important;
  padding:0 13px !important;
  border:1px solid #DDE6EE !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#172B3A !important;
  font:inherit !important;
  font-size:14px !important;
  box-shadow:none !important;
}
.lbsm-wrap .lbsm-availability-submit,
.elementor .lbsm-availability-submit{
  width:auto !important;
  min-width:170px !important;
  height:48px !important;
  min-height:48px !important;
  padding:0 19px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  border:1px solid #1268E8 !important;
  border-radius:9px !important;
  background:#1268E8 !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
  box-shadow:none !important;
  text-decoration:none !important;
  cursor:pointer !important;
}
.lbsm-wrap .lbsm-availability-submit:hover,
.elementor .lbsm-availability-submit:hover{
  background:#083B75 !important;
  border-color:#083B75 !important;
  color:#fff !important;
}
@media(max-width:900px){
  .lbsm-wrap .lbsm-availability-bar,
  .elementor .lbsm-availability-bar{
    width:calc(100% - 40px) !important;
    grid-template-columns:1fr !important;
    margin:30px auto !important;
  }
  .lbsm-wrap .lbsm-availability-form,
  .elementor .lbsm-availability-form{
    grid-template-columns:repeat(2,1fr) !important;
  }
}
@media(max-width:520px){
  .lbsm-wrap .lbsm-availability-bar,
  .elementor .lbsm-availability-bar{
    width:calc(100% - 28px) !important;
    padding:22px 18px !important;
    margin:22px auto !important;
    border-radius:14px !important;
  }
  .lbsm-wrap .lbsm-availability-form,
  .elementor .lbsm-availability-form{
    grid-template-columns:1fr !important;
  }
  .lbsm-wrap .lbsm-availability-submit,
  .elementor .lbsm-availability-submit{
    width:100% !important;
  }
}

@media(max-width:900px){.lbsm-modern-booking-summary{grid-template-columns:1fr 1fr}.lbsm-modern-booking-summary>div:last-child{grid-column:1/-1}.lbsm-booking-form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.lbsm-panel-inner{padding:22px 18px}.lbsm-modern-booking-summary,.lbsm-booking-form-grid{grid-template-columns:1fr}.lbsm-modern-booking-summary>div:last-child{grid-column:auto}.lbsm-modern-booking-head h3{font-size:30px}}

/* v0.9.20 unified calendar, boat filter and cabin-capacity booking */
.lbsm-calendar-popover{width:320px!important;padding:16px!important;border-radius:14px!important}
.lbsm-calendar-head{margin-bottom:12px!important}
.lbsm-calendar-head strong{font-size:13px!important;letter-spacing:.8px!important}
.lbsm-calendar-week,.lbsm-calendar-days{gap:4px!important}
.lbsm-calendar-week span{padding:7px 0!important;font-size:10px!important;text-transform:uppercase!important}
.lbsm-calendar-day,.lbsm-calendar-empty{height:36px!important;min-width:0!important}
.lbsm-calendar-day{font-size:12px!important}
.lbsm-calendar-day.is-available{box-shadow:inset 0 0 0 1px rgba(54,184,107,.08)!important}
.lbsm-calendar-day.is-selected{box-shadow:0 0 0 2px rgba(18,104,232,.16)!important}
.lbsm-calendar-note{padding-top:12px!important;margin-top:12px!important}
.lbsm-calendar-note span{display:flex!important;align-items:center!important;gap:6px!important}
.lbsm-calendar-note i{display:inline-block!important;width:7px!important;height:7px!important;border-radius:50%!important;background:#36B86B!important}
.lbsm-guest-capacity-help{display:block!important;margin-top:6px!important;color:#7B8995!important;font-size:10px!important;font-weight:400!important;line-height:1.4!important}


/* v0.9.21 - shared booking form used on Sailing Trips and Sailing Details */
.lbsm-detail-booking-panel{position:relative;margin:42px 0 0;padding:0}.lbsm-detail-booking-inner{position:relative;padding:30px;background:#fff;border:1px solid #DDE6EE;border-radius:16px;box-shadow:0 18px 45px rgba(8,59,117,.12)}.lbsm-detail-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border:1px solid #DDE6EE;border-radius:50%;background:#fff;color:#526372;font-size:22px;line-height:1;cursor:pointer}.lbsm-detail-booking-head{max-width:650px;margin:0 0 22px}.lbsm-detail-booking-head .eyebrow{display:block;color:#36B86B;font-size:11px;font-weight:800;letter-spacing:2px;margin-bottom:7px}.lbsm-detail-booking-head h3{margin:0 0 7px;color:#083B75;font-family:Manrope,Inter,system-ui,sans-serif;font-size:30px;line-height:1.1;font-weight:800}.lbsm-detail-booking-head p{margin:0;color:#6B7A88;font-size:13px;line-height:1.6}.lbsm-detail-booking-summary{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:10px;margin-bottom:20px}.lbsm-detail-booking-summary>div{padding:13px 15px;border-radius:9px;background:#F4F9FF;border:1px solid #DDEBFA}.lbsm-detail-booking-summary small{display:block;color:#6B7A88;font-size:9px;font-weight:800;letter-spacing:1px}.lbsm-detail-booking-summary strong{display:block;margin-top:4px;color:#083B75;font-size:14px}.lbsm-detail-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lbsm-detail-booking-grid label{display:block;color:#172B3A;font-size:12px;font-weight:700}.lbsm-detail-booking-grid label span{color:#8B98A4;font-weight:400}.lbsm-detail-booking-grid input,.lbsm-detail-booking-grid select{display:block;width:100%;height:46px;margin-top:7px;padding:0 12px;border:1px solid #DDE6EE;border-radius:8px;background:#fff;color:#172B3A;font:inherit;font-size:14px;box-sizing:border-box}.lbsm-detail-booking-grid input:focus,.lbsm-detail-booking-grid select:focus{outline:none;border-color:#1268E8;box-shadow:0 0 0 3px rgba(18,104,232,.1)}.lbsm-detail-total{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding:15px 0;border-top:1px solid #E7EDF2}.lbsm-detail-total span{color:#6B7A88;font-size:13px}.lbsm-detail-total strong{color:#083B75;font-size:20px}.lbsm-detail-confirm{width:100%;height:50px;border:1px solid #1268E8;border-radius:9px;background:#1268E8;color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.lbsm-detail-confirm:hover{background:#083B75;border-color:#083B75}.lbsm-detail-confirm:disabled{opacity:.6;cursor:wait}.lbsm-detail-note{margin:10px 0 0;color:#7B8995;font-size:11px;text-align:center}.lbsm-detail-result{margin-top:10px;font-size:12px;text-align:center}.lbsm-detail-result.is-error{color:#C94D4D}.lbsm-detail-guest-help{display:block;margin-top:6px;color:#8B98A4;font-size:10px;font-weight:400;line-height:1.4}.lbsm-detail-selected-availability{display:block;margin-top:4px;color:#16804A;font-size:9px;font-weight:800;letter-spacing:.3px}.lbsm-detail-guest-stepper{display:flex;align-items:center;gap:8px}.lbsm-detail-guest-stepper button{width:38px;height:38px;border:1px solid #DDE6EE;border-radius:8px;background:#fff;color:#083B75;font-size:20px;font-weight:700;cursor:pointer}.lbsm-detail-guest-stepper button:hover{border-color:#1268E8;background:#F4F9FF}.lbsm-detail-guest-stepper select{flex:1}.lbsm-detail-select-cabin{border:0;cursor:pointer;font-family:inherit}
@media(max-width:900px){.lbsm-detail-booking-summary{grid-template-columns:1fr 1fr}.lbsm-detail-booking-summary>div:last-child{grid-column:1/-1}.lbsm-sailing-search .lbsm-cabin-grid{grid-template-columns:1fr!important}}@media(max-width:620px){.lbsm-detail-booking-inner{padding:22px 18px}.lbsm-detail-booking-summary,.lbsm-detail-booking-grid{grid-template-columns:1fr}.lbsm-detail-booking-summary>div:last-child{grid-column:auto}}

/* v0.9.22 — Sailing Trips card + booking form alignment */
#lbsm-sailing-search .lbsm-trip-card-modern{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)!important;min-height:0!important}
#lbsm-sailing-search .lbsm-trip-media,#lbsm-sailing-search .lbsm-trip-media img{min-height:300px!important;height:300px!important}
#lbsm-sailing-search .lbsm-trip-content{padding:22px!important}
#lbsm-sailing-search .lbsm-cabin-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin-top:14px!important}
#lbsm-sailing-search .lbsm-cabin-option{padding:10px!important;gap:7px!important}
#lbsm-sailing-search .lbsm-cabin-option-main{grid-template-columns:52px minmax(0,1fr) auto!important;gap:9px!important}
#lbsm-sailing-search .lbsm-cabin-option-photo{width:52px!important;height:42px!important}
#lbsm-sailing-search .lbsm-cabin-option-main strong{font-size:12px!important}
#lbsm-sailing-search .lbsm-cabin-option-main span{font-size:9px!important;margin-top:2px!important}
#lbsm-sailing-search .lbsm-cabin-price{font-size:12px!important}
#lbsm-sailing-search .lbsm-cabin-price small{font-size:8px!important}
#lbsm-sailing-search .lbsm-availability{margin-top:6px!important;padding:4px 7px!important;font-size:8px!important}
#lbsm-sailing-search .lbsm-select-cabin{margin-top:5px!important;height:30px!important;font-size:8px!important;padding:0 10px!important}
#lbsm-sailing-search .lbsm-search-booking-panel{display:block!important;margin:32px 0 60px!important;padding:0!important;background:#fff!important;border:1px solid #DDE6EE!important;border-radius:16px!important;box-shadow:0 18px 45px rgba(8,59,117,.12)!important;overflow:hidden!important}
#lbsm-sailing-search .lbsm-search-booking-inner{position:relative!important;padding:30px!important}
#lbsm-sailing-search .lbsm-search-booking-close{position:absolute!important;right:20px!important;top:20px!important;width:38px!important;height:38px!important;border:1px solid #DDE6EE!important;border-radius:50%!important;background:#fff!important;color:#083B75!important;font-size:24px!important;line-height:1!important;cursor:pointer!important}
#lbsm-sailing-search .lbsm-modern-booking-head{max-width:760px!important;margin:0 0 22px!important}
#lbsm-sailing-search .lbsm-modern-booking-head>span{display:block!important;color:#36B86B!important;font-size:11px!important;font-weight:800!important;letter-spacing:2px!important;margin-bottom:7px!important}
#lbsm-sailing-search .lbsm-modern-booking-head h3{margin:0 0 8px!important;color:#083B75!important;font-family:Manrope,Inter,system-ui,sans-serif!important;font-size:34px!important;line-height:1.12!important;font-weight:800!important}
#lbsm-sailing-search .lbsm-modern-booking-head p{margin:0!important;color:#6B7A88!important;font-size:14px!important;line-height:1.6!important}
#lbsm-sailing-search .lbsm-modern-booking-summary{display:grid!important;grid-template-columns:1.2fr 1fr .8fr!important;gap:12px!important;margin-bottom:20px!important}
#lbsm-sailing-search .lbsm-modern-booking-summary>div{min-height:90px!important;padding:14px 16px!important;border:1px solid #DDEBFA!important;border-radius:10px!important;background:#F4F9FF!important}
#lbsm-sailing-search .lbsm-modern-booking-summary small{display:block!important;color:#718396!important;font-size:9px!important;font-weight:800!important;letter-spacing:1px!important}
#lbsm-sailing-search .lbsm-modern-booking-summary strong{display:block!important;margin-top:5px!important;color:#083B75!important;font-size:15px!important;font-weight:800!important}
#lbsm-sailing-search .lbsm-modern-booking-summary span{display:block!important;margin-top:4px!important;color:#16804A!important;font-size:9px!important;font-weight:800!important}
#lbsm-sailing-search .lbsm-booking-form-grid{display:grid!important;grid-template-columns:1fr 1.15fr 1.15fr 1.15fr!important;gap:14px!important;align-items:start!important}
#lbsm-sailing-search .lbsm-booking-form-grid label{display:block!important;color:#253B4E!important;font-size:13px!important;font-weight:700!important;text-transform:none!important;letter-spacing:normal!important}
#lbsm-sailing-search .lbsm-booking-form-grid label>span{color:#8B98A4!important;font-weight:400!important}
#lbsm-sailing-search .lbsm-booking-form-grid input,#lbsm-sailing-search .lbsm-booking-form-grid select{display:block!important;width:100%!important;height:50px!important;min-height:50px!important;margin-top:7px!important;border:1px solid #DDE6EE!important;border-radius:9px!important;padding:11px 13px!important;background:#fff!important;font:inherit!important;color:#17324A!important;box-sizing:border-box!important}
#lbsm-sailing-search .lbsm-guest-stepper{display:grid!important;grid-template-columns:42px minmax(0,1fr) 42px!important;gap:8px!important;margin-top:7px!important}
#lbsm-sailing-search .lbsm-guest-stepper button{height:50px!important;border:1px solid #DDE6EE!important;border-radius:9px!important;background:#fff!important;color:#083B75!important;font-size:22px!important;font-weight:700!important;cursor:pointer!important}
#lbsm-sailing-search .lbsm-guest-stepper button:hover{border-color:#1268E8!important;color:#1268E8!important}
#lbsm-sailing-search .lbsm-guest-stepper select{margin-top:0!important}
#lbsm-sailing-search .lbsm-guest-capacity-help{display:block!important;margin-top:7px!important;color:#8B98A4!important;font-size:11px!important;font-weight:400!important;line-height:1.4!important}
#lbsm-sailing-search .lbsm-total-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;margin-top:22px!important;padding-top:20px!important;border-top:1px solid #E7EDF2!important;color:#6B7A88!important;font-size:14px!important}
#lbsm-sailing-search .lbsm-total-row strong{color:#083B75!important;font-size:26px!important;font-weight:800!important}
#lbsm-sailing-search .lbsm-search-booking-panel .lbsm-confirm{display:flex!important;width:100%!important;min-height:56px!important;margin-top:20px!important;border:0!important;border-radius:9px!important;background:#1268E8!important;color:#fff!important;align-items:center!important;justify-content:center!important;font-size:14px!important;font-weight:800!important;cursor:pointer!important}
#lbsm-sailing-search .lbsm-search-booking-panel .lbsm-confirm:hover{background:#083B75!important}
#lbsm-sailing-search .lbsm-search-booking-panel .lbsm-note{text-align:center!important;margin:12px 0 0!important;color:#6B7A88!important;font-size:12px!important}
@media(max-width:1000px){#lbsm-sailing-search .lbsm-cabin-grid{grid-template-columns:1fr!important}#lbsm-sailing-search .lbsm-booking-form-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:900px){#lbsm-sailing-search .lbsm-trip-card-modern{grid-template-columns:1fr!important}#lbsm-sailing-search .lbsm-trip-media,#lbsm-sailing-search .lbsm-trip-media img{height:280px!important;min-height:280px!important}}
@media(max-width:620px){#lbsm-sailing-search .lbsm-trip-media,#lbsm-sailing-search .lbsm-trip-media img{height:240px!important;min-height:240px!important}#lbsm-sailing-search .lbsm-search-booking-inner{padding:22px 18px!important}#lbsm-sailing-search .lbsm-modern-booking-summary,#lbsm-sailing-search .lbsm-booking-form-grid{grid-template-columns:1fr!important}#lbsm-sailing-search .lbsm-modern-booking-summary>div:last-child{grid-column:auto!important}#lbsm-sailing-search .lbsm-modern-booking-head h3{font-size:30px!important}}

/* v0.9.24 — explicit extra-bed field in booking request */
#lbsm-sailing-search .lbsm-extra-bed-field,#lbsm-sailing-search .lbsm-detail-extra-bed-field{display:none}
#lbsm-sailing-search .lbsm-extra-bed-box{display:flex;align-items:center;gap:8px;height:50px;margin-top:7px;padding:0 13px;border:1px solid #DDE6EE;border-radius:9px;background:#F8FBFE;box-sizing:border-box;color:#083B75}
#lbsm-sailing-search .lbsm-extra-bed-box strong{font-size:16px;font-weight:800}
#lbsm-sailing-search .lbsm-extra-bed-box span{font-size:13px;color:#526372}
#lbsm-sailing-search .lbsm-extra-bed-box em{margin-left:auto;font-style:normal;font-size:11px;font-weight:700;color:#16804A}
#lbsm-sailing-search .lbsm-extra-bed-field>small,#lbsm-sailing-search .lbsm-detail-extra-bed-field>small{display:block;margin-top:7px;color:#8B98A4;font-size:10px;font-weight:400;line-height:1.35}
#lbsm-sailing-search .lbsm-detail-extra-bed-field .lbsm-extra-bed-box{height:46px}
@media(max-width:1000px){#lbsm-sailing-search .lbsm-booking-form-grid .lbsm-extra-bed-field{grid-column:1/-1}}

/* v0.9.25 trip content */
.lbsm-trip-inclusions{max-width:1180px;margin:50px auto;padding:0 20px}.lbsm-trip-inclusions .lbsm-content-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}.lbsm-trip-inclusions ul{margin:14px 0 0;padding:0;list-style:none}.lbsm-trip-inclusions li{position:relative;padding:9px 0 9px 26px;border-bottom:1px solid #e8eef3;color:#425466}.lbsm-trip-inclusions li:before{content:"✓";position:absolute;left:0;color:#36B86B;font-weight:800}.lbsm-trip-notes{margin-top:24px;padding:16px 18px;border-radius:10px;background:#f7fafc;color:#66798A}.lbsm-itinerary-item{padding:18px 0;border-bottom:1px solid #e5ebf0}.lbsm-itinerary-item small{display:block;color:#36B86B;font-size:10px;font-weight:800;letter-spacing:1.5px}.lbsm-itinerary-item strong{display:block;margin:5px 0;color:#083B75;font-size:18px}.lbsm-itinerary-item p{margin:0;color:#66798A;line-height:1.6}@media(max-width:700px){.lbsm-trip-inclusions .lbsm-content-cols{grid-template-columns:1fr}}

/* v0.9.27 — compact trip information tabs */
.lbsm-trip-tabs{margin:18px 0 16px;border:1px solid #DDE6EE;border-radius:12px;background:#fff;overflow:hidden}
.lbsm-trip-tabs-nav{display:flex;align-items:stretch;border-bottom:1px solid #E7EDF2;background:#F8FBFE}
.lbsm-trip-tab{appearance:none;border:0;border-right:1px solid #E7EDF2;background:transparent;color:#6B7A88;padding:12px 16px;font:inherit;font-size:10px;font-weight:800;letter-spacing:1px;cursor:pointer}
.lbsm-trip-tab:last-child{border-right:0}
.lbsm-trip-tab:hover{color:#083B75;background:#F1F7FD}
.lbsm-trip-tab.is-active{color:#1268E8;background:#fff;box-shadow:inset 0 -2px 0 #1268E8}
.lbsm-trip-tab-panel{padding:14px 16px}
.lbsm-trip-tab-panel[hidden]{display:none!important}
.lbsm-trip-tab-panel .lbsm-itinerary-public{gap:8px}
.lbsm-trip-tab-panel .lbsm-itinerary-public-item{padding:12px 14px;box-shadow:none;border-radius:9px}
.lbsm-trip-tab-panel .lbsm-itinerary-public-item h3{font-size:15px;margin-bottom:4px}
.lbsm-trip-tab-panel .lbsm-itinerary-public-item p{font-size:12px;line-height:1.55}
.lbsm-trip-tab-panel .lbsm-trip-list-card{box-shadow:none;padding:16px;margin:0}
.lbsm-trip-tab-panel .lbsm-trip-list-card h3{font-size:18px;margin-bottom:10px}
.lbsm-trip-tab-panel .lbsm-trip-list-card li{padding:6px 0 6px 20px;font-size:12px}
.lbsm-trip-tab-notes{margin:0 16px 16px;padding:12px 14px;border-left:3px solid #36B86B;background:#F4F9FF;color:#526372;font-size:11px;line-height:1.6}
.lbsm-trip-tab-notes strong{display:block;color:#083B75;margin-bottom:3px}
.lbsm-trip-tab-notes p{margin:0;white-space:pre-line}
@media(max-width:620px){.lbsm-trip-tabs-nav{overflow-x:auto}.lbsm-trip-tab{flex:0 0 auto;padding:11px 13px}.lbsm-trip-tab-panel{padding:11px}.lbsm-trip-tab-notes{margin:0 11px 11px}}

/* v0.9.28 — site header + All Trips filter layout */
.lbsm-site-header{position:sticky;top:0;z-index:9998;background:rgba(255,255,255,.97);border-bottom:1px solid #E5EBF1;backdrop-filter:blur(12px);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.lbsm-site-header-inner{width:min(1240px,calc(100% - 40px));min-height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}
.lbsm-site-brand{display:grid;gap:2px;text-decoration:none;color:#083B75;line-height:1}.lbsm-site-brand span{font-size:8px;letter-spacing:2px;font-weight:800;color:#36B86B}.lbsm-site-brand strong{font-size:18px;letter-spacing:-.4px}
.lbsm-site-nav{display:flex;align-items:center;gap:28px}.lbsm-site-nav a{color:#263E52;text-decoration:none;font-size:13px;font-weight:700}.lbsm-site-nav a:hover{color:#1268E8}.lbsm-site-nav .lbsm-nav-cta{padding:11px 16px;border-radius:8px;background:#1268E8;color:#fff}.lbsm-nav-toggle{display:none;width:42px;height:42px;border:1px solid #DDE6EE;border-radius:9px;background:#fff;padding:9px}.lbsm-nav-toggle span{display:block;height:2px;margin:5px 0;background:#083B75}
.lbsm-all-trips-page{width:min(1240px,calc(100% - 40px));margin:0 auto 100px!important;padding:72px 0 0!important}.lbsm-all-trips-hero{margin:0 0 38px}.lbsm-all-trips-hero h1{margin:7px 0 8px;color:#083B75;font-family:Manrope,Inter,sans-serif;font-size:clamp(40px,5vw,58px);line-height:1;font-weight:800;letter-spacing:-1.5px}.lbsm-all-trips-hero p{margin:0;color:#6B7A88;font-size:15px}.lbsm-all-trips-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;align-items:start}.lbsm-all-trips-sidebar{position:sticky;top:98px;padding:22px;background:#F2F6FF;border-radius:16px}.lbsm-filter-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.lbsm-filter-head strong{display:block;color:#17324A;font-size:24px}.lbsm-filter-head span{display:block;margin-top:4px;color:#7A8A99;font-size:12px}.lbsm-filter-mobile-toggle{display:none}.lbsm-filter-group{margin-bottom:18px}.lbsm-filter-group label{display:block;margin-bottom:7px;color:#17324A;font-size:10px;font-weight:800;letter-spacing:.9px}.lbsm-filter-group select{width:100%;height:44px;border:1px solid #D7E0EA;border-radius:9px;background:#fff;color:#17324A;padding:0 11px;font:inherit;font-size:13px}.lbsm-filter-submit{width:100%;height:46px;border:0;border-radius:9px;background:#1268E8;color:#fff;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.lbsm-filter-reset{display:block;text-align:center;margin-top:12px;color:#1268E8;text-decoration:none;font-size:11px;font-weight:700}.lbsm-results-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.lbsm-results-head h2{margin:5px 0 0;color:#083B75;font-size:25px}.lbsm-results-count{color:#7A8A99;font-size:12px}.lbsm-all-trips-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.lbsm-all-trip-card{border:1px solid #DDE6EE;border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 10px 28px rgba(8,59,117,.06)}.lbsm-all-trip-image{display:block;position:relative;height:220px;overflow:hidden}.lbsm-all-trip-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.lbsm-all-trip-card:hover .lbsm-all-trip-image img{transform:scale(1.035)}.lbsm-all-trip-status{position:absolute;left:14px;top:14px;padding:6px 9px;border-radius:999px;background:#fff;color:#16804A;font-size:8px;font-weight:800;letter-spacing:.7px}.lbsm-all-trip-status.soldout{color:#C44E4E}.lbsm-all-trip-body{padding:18px}.lbsm-all-trip-meta,.lbsm-all-trip-date,.lbsm-all-trip-cabins{display:flex;justify-content:space-between;align-items:center;gap:10px}.lbsm-all-trip-meta{color:#36B86B;font-size:9px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}.lbsm-all-trip-body h3{margin:7px 0 5px;font-size:23px;line-height:1.08}.lbsm-all-trip-body h3 a{color:#083B75;text-decoration:none}.lbsm-all-trip-date{padding-bottom:12px;border-bottom:1px solid #E7EDF2}.lbsm-all-trip-date strong{color:#17324A;font-size:12px}.lbsm-all-trip-date span{color:#7A8A99;font-size:10px}.lbsm-all-trip-price{display:flex;align-items:baseline;gap:5px;padding:13px 0}.lbsm-all-trip-price small{color:#8B98A4;font-size:9px}.lbsm-all-trip-price strong{color:#083B75;font-size:19px}.lbsm-all-trip-price em{color:#8B98A4;font-size:9px;font-style:normal}.lbsm-all-trip-cabins{padding-top:12px;border-top:1px solid #E7EDF2}.lbsm-all-trip-cabins span{color:#16804A;font-size:10px;font-weight:700}.lbsm-all-trip-cabins a{color:#1268E8;text-decoration:none;font-size:10px;font-weight:800}.lbsm-all-trip-card .lbsm-trip-tabs{margin-top:14px}.lbsm-all-trip-cabin-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}.lbsm-all-trip-cabin-grid .lbsm-cabin-option{padding:9px}.lbsm-all-trip-cabin-grid .lbsm-cabin-option-main{grid-template-columns:44px minmax(0,1fr) auto}.lbsm-all-trip-cabin-grid .lbsm-cabin-option-photo{width:44px;height:36px}.lbsm-all-trip-cabin-grid .lbsm-cabin-option-main strong{font-size:11px}.lbsm-all-trip-cabin-grid .lbsm-cabin-option-main span{font-size:8px}.lbsm-all-trip-cabin-grid .lbsm-cabin-price{font-size:11px}.lbsm-all-trip-cabin-grid .lbsm-select-cabin{height:29px;padding:0 9px;font-size:8px}.lbsm-all-trip-card .lbsm-search-booking-panel{grid-column:1/-1}
@media(max-width:980px){.lbsm-site-nav{gap:18px}.lbsm-all-trips-layout{grid-template-columns:230px minmax(0,1fr)}.lbsm-all-trips-grid{grid-template-columns:1fr}}
@media(max-width:760px){.lbsm-site-header-inner{width:calc(100% - 28px);min-height:66px}.lbsm-nav-toggle{display:block}.lbsm-site-nav{position:absolute;left:14px;right:14px;top:70px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px;background:#fff;border:1px solid #DDE6EE;border-radius:12px;box-shadow:0 18px 40px rgba(8,59,117,.12)}.lbsm-site-nav.is-open{display:flex}.lbsm-site-nav a{padding:13px 12px}.lbsm-site-nav .lbsm-nav-cta{text-align:center;margin-top:6px}.lbsm-all-trips-page{width:calc(100% - 28px);padding-top:45px!important}.lbsm-all-trips-layout{grid-template-columns:1fr}.lbsm-all-trips-sidebar{position:static}.lbsm-filter-mobile-toggle{display:none}.lbsm-filter-group{margin-bottom:14px}}

/* v0.9.29 — reference-inspired All Trips + Sailing Details */
.lbsm-all-trips-page{width:min(1280px,calc(100% - 40px));padding-top:42px!important}
.lbsm-all-trips-hero{text-align:left;margin-bottom:24px}
.lbsm-all-trips-hero h1{font-size:42px;letter-spacing:-1px;margin:4px 0 6px}
.lbsm-all-trips-hero p{font-size:14px}
.lbsm-all-trips-layout{display:block}
.lbsm-all-trips-sidebar{position:static;padding:0;background:transparent;border:0;border-radius:0;margin-bottom:28px}
.lbsm-filter-head{margin-bottom:10px}
.lbsm-filter-head strong{font-size:22px}
.lbsm-filter-head span{font-size:11px}
.lbsm-all-trips-filters{display:flex;align-items:end;gap:10px;padding:14px;background:#f3f6ff;border-radius:14px;overflow-x:auto}
.lbsm-filter-group{flex:1 1 180px;min-width:160px;margin:0}
.lbsm-filter-group label{font-size:9px}
.lbsm-filter-group select,.lbsm-filter-group .lbsm-calendar-trigger{height:42px!important}
.lbsm-filter-submit{flex:0 0 170px;height:42px}
.lbsm-filter-reset{flex:0 0 auto;margin:0 8px 12px 0}
.lbsm-results-head{margin:0 0 16px}
.lbsm-results-head h2{font-size:24px}
.lbsm-all-trips-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.lbsm-all-trip-card{border:0;border-radius:16px;box-shadow:0 8px 25px rgba(8,59,117,.09);transition:transform .2s ease,box-shadow .2s ease}
.lbsm-all-trip-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(8,59,117,.13)}
.lbsm-all-trip-image{height:230px}
.lbsm-all-trip-status{left:12px;top:12px;font-size:8px}
.lbsm-all-trip-body{padding:17px 18px 18px}
.lbsm-all-trip-meta{font-size:8px}
.lbsm-all-trip-body h3{font-size:20px;min-height:44px;margin:8px 0 7px}
.lbsm-all-trip-date{padding:0 0 12px}
.lbsm-all-trip-price{padding:13px 0 10px}
.lbsm-all-trip-price strong{font-size:22px;color:#6d32ef}
.lbsm-all-trip-cabins{border:0;padding-top:8px}
.lbsm-all-trip-cabins span{display:none}
.lbsm-all-trip-cabins a{display:flex;align-items:center;justify-content:center;width:100%;min-height:43px;border-radius:9px;background:#6d32ef;color:#fff;font-size:11px;letter-spacing:.2px}
.lbsm-all-trip-cabins a:hover{background:#5420ca;color:#fff}
.lbsm-all-trip-card .lbsm-trip-tabs,.lbsm-all-trip-card .lbsm-all-trip-cabin-grid,.lbsm-search-booking-panel{display:none!important}

/* Sailing Details — compact editorial layout */
.lbsm-boat-detail-v2{width:min(1180px,calc(100% - 40px));margin:35px auto 80px}
.lbsm-detail-back{margin-bottom:18px}
.lbsm-detail-top{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:30px;align-items:start;margin-bottom:42px}
.lbsm-detail-main-image{height:480px;border-radius:16px}
.lbsm-detail-thumbs{gap:7px}
.lbsm-detail-thumb{width:82px;height:58px}
.lbsm-detail-copy{padding-top:32px}
.lbsm-detail-copy h1{font-size:clamp(42px,5vw,62px);margin-bottom:13px}
.lbsm-detail-copy>p{font-size:14px;line-height:1.65;margin-bottom:18px}
.lbsm-detail-stats{gap:8px;margin-bottom:18px}
.lbsm-detail-stat{padding:13px;border-radius:9px}
.lbsm-detail-departure{margin-bottom:14px;padding:16px 18px}
.lbsm-detail-cabin-btn{min-height:44px;border-radius:8px}
.lbsm-detail-description{max-width:none;margin:0 0 30px;padding:22px 24px;border:1px solid #e0e7ef;border-radius:14px;background:#fff;color:#526372;font-size:14px;line-height:1.75}
.lbsm-trip-content-public,.lbsm-trip-tabs{margin:0 0 38px}
.lbsm-trip-tabs{border-top:1px solid #e1e7ed;border-bottom:1px solid #e1e7ed;padding:0;background:#fff}
.lbsm-trip-tabs-nav{display:flex;gap:0;overflow:auto;border-bottom:1px solid #e6ebf0}
.lbsm-trip-tab{border:0!important;border-bottom:3px solid transparent!important;background:transparent!important;color:#71808d!important;padding:14px 22px!important;font-size:11px!important;font-weight:800!important;letter-spacing:.5px;white-space:nowrap;cursor:pointer}
.lbsm-trip-tab.is-active{color:#6d32ef!important;border-bottom-color:#6d32ef!important}
.lbsm-trip-tab-panel{padding:20px 2px}
.lbsm-itinerary-public{gap:8px}
.lbsm-itinerary-public-item{grid-template-columns:62px 1fr;padding:16px 18px;border-radius:10px;box-shadow:none}
.lbsm-trip-lists{margin-top:0}
.lbsm-trip-list-card{box-shadow:none;border-radius:10px}
.lbsm-detail-section-head{text-align:left;max-width:none;margin:36px 0 18px}
.lbsm-detail-section-head h2{font-size:34px}
.lbsm-detail-cabins{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.lbsm-detail-cabin{box-shadow:0 7px 20px rgba(8,59,117,.06);border-radius:12px}
.lbsm-detail-cabin-media{height:160px}
.lbsm-detail-cabin-body{padding:15px}
.lbsm-detail-cabin-body h3{font-size:18px}
.lbsm-detail-facilities{font-size:11px;margin-bottom:12px}

@media(max-width:980px){
  .lbsm-all-trips-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lbsm-detail-top{grid-template-columns:1fr}
  .lbsm-detail-copy{padding-top:0}
  .lbsm-detail-cabins{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .lbsm-all-trips-page{width:calc(100% - 28px);padding-top:30px!important}
  .lbsm-all-trips-filters{display:grid;grid-template-columns:1fr 1fr}
  .lbsm-filter-group{min-width:0}
  .lbsm-filter-submit{grid-column:1/-1;width:100%}
  .lbsm-filter-reset{margin:0;text-align:center}
  .lbsm-all-trips-grid{grid-template-columns:1fr}
  .lbsm-all-trip-image{height:215px}
  .lbsm-detail-main-image{height:330px}
  .lbsm-detail-cabins{grid-template-columns:1fr}
}
/* Gallery treatment matching the supplied reference */
.lbsm-detail-gallery{grid-template-columns:minmax(0,1fr) 82px;align-items:start}
.lbsm-detail-main-image{grid-column:1;height:480px}
.lbsm-detail-thumbs{grid-column:2;display:grid;grid-template-columns:1fr;gap:8px;overflow:visible;padding:0}
.lbsm-detail-thumb{width:82px;height:66px;flex:initial;border-radius:8px}
@media(max-width:700px){
  .lbsm-detail-gallery{grid-template-columns:1fr}
  .lbsm-detail-main-image{grid-column:1;height:330px}
  .lbsm-detail-thumbs{grid-column:1;display:flex;overflow-x:auto}
  .lbsm-detail-thumb{flex:0 0 78px;width:78px;height:58px}
}

/* v0.9.30 — All Trips is schedule-only; booking continues on Sailing Details */
.lbsm-all-trip-card .lbsm-all-trip-cabins{border-top:0;padding-top:12px}
.lbsm-all-trip-card .lbsm-all-trip-cabins a{background:#1268E8;color:#fff}
.lbsm-all-trip-card .lbsm-all-trip-cabins a:hover{background:#083B75}
.lbsm-all-trip-card .lbsm-all-trip-date{border-bottom:1px solid #E7EDF2}
.lbsm-all-trip-card .lbsm-all-trip-price{padding-bottom:8px}

/* Sailing Details gallery: large image + vertical thumbnails + navigation arrows */
.lbsm-detail-gallery{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) 82px!important;gap:10px!important;align-items:start!important}
.lbsm-detail-main-image{position:relative!important;grid-column:1!important;height:480px!important;overflow:hidden!important;border-radius:18px!important;background:#EAF4FF!important}
.lbsm-detail-main-image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.lbsm-gallery-arrow{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#083B75;font-size:34px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 20px rgba(8,59,117,.16)}
.lbsm-gallery-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.04)}
.lbsm-gallery-prev{left:16px}.lbsm-gallery-next{right:16px}
.lbsm-gallery-counter{position:absolute;right:16px;bottom:16px;z-index:3;padding:7px 10px;border-radius:999px;background:rgba(8,59,117,.78);color:#fff;font-size:10px;font-weight:800;letter-spacing:.5px}
.lbsm-detail-thumbs{grid-column:2!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;overflow:visible!important;padding:0!important}
.lbsm-detail-thumb{width:82px!important;height:82px!important;padding:0!important;border:2px solid transparent!important;border-radius:10px!important;overflow:hidden!important;background:#fff!important;cursor:pointer!important;opacity:.88;transition:opacity .2s,border-color .2s,transform .2s}
.lbsm-detail-thumb:hover{opacity:1;transform:translateY(-1px)}
.lbsm-detail-thumb.is-active{border-color:#1268E8!important;opacity:1}
.lbsm-detail-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}

/* Daily Schedule accordion inside the ITINERARY tab */
.lbsm-daily-schedule{max-width:100%;padding:4px 0 8px}
.lbsm-daily-schedule-title{margin:0 0 22px!important;color:#083B75!important;font-size:30px!important;line-height:1.1!important;font-weight:800!important}
.lbsm-schedule-item{position:relative;margin:0 0 14px 0;border:1px solid #DDE6EE;border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(8,59,117,.05);overflow:visible}
.lbsm-schedule-item summary{list-style:none;display:grid;grid-template-columns:58px 1fr 32px;align-items:center;gap:18px;min-height:112px;padding:18px 22px;cursor:pointer}
.lbsm-schedule-item summary::-webkit-details-marker{display:none}
.lbsm-schedule-number{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border:3px solid #E4E9EF;border-radius:50%;background:#F7F9FB;color:#7B8795;font-size:18px;font-weight:800}
.lbsm-schedule-copy{display:grid;gap:8px;min-width:0}
.lbsm-schedule-copy small{color:#6D32EF;font-size:11px;font-weight:900;letter-spacing:1.5px}
.lbsm-schedule-copy strong{color:#0B2E52;font-size:25px;line-height:1.15;font-weight:500;text-transform:uppercase}
.lbsm-schedule-chevron{color:#8A9AA8;font-size:28px;line-height:1;transition:transform .2s ease;text-align:center}
.lbsm-schedule-item[open] .lbsm-schedule-chevron{transform:rotate(180deg)}
.lbsm-schedule-detail{padding:0 22px 22px 98px;color:#526372;font-size:14px;line-height:1.75}
.lbsm-schedule-detail p{margin:0;padding-top:0;white-space:pre-line}
.lbsm-schedule-item[open] .lbsm-schedule-number{border-color:#6D32EF;background:#F4F0FF;color:#6D32EF}

/* Keep the established blue/green sailing brand palette; purple is only used for schedule labels if already present. */
@media(max-width:700px){
  .lbsm-detail-gallery{grid-template-columns:1fr!important}
  .lbsm-detail-main-image{grid-column:1!important;height:330px!important}
  .lbsm-detail-thumbs{grid-column:1!important;display:flex!important;overflow-x:auto!important;gap:8px!important}
  .lbsm-detail-thumb{flex:0 0 76px!important;width:76px!important;height:60px!important}
  .lbsm-gallery-arrow{width:40px;height:40px;font-size:28px}
  .lbsm-gallery-prev{left:10px}.lbsm-gallery-next{right:10px}
  .lbsm-schedule-item summary{grid-template-columns:46px 1fr 25px;gap:12px;padding:15px 14px;min-height:96px}
  .lbsm-schedule-number{width:42px;height:42px;font-size:15px}
  .lbsm-schedule-copy small{font-size:9px}
  .lbsm-schedule-copy strong{font-size:17px}
  .lbsm-schedule-detail{padding:0 16px 18px 70px;font-size:13px}
  .lbsm-daily-schedule-title{font-size:26px!important}
}


/* v0.9.31 — final visual cleanup: navy/blue/green theme, compact calendar and booking form */
:root{--lbsm-primary:#1268E8;--lbsm-navy:#083B75;--lbsm-green:#36B86B;--lbsm-muted:#6B7A88;--lbsm-line:#DDE6EE;--lbsm-soft:#F4F9FF}
.lbsm-all-trips-page{color:#172B3A}
.lbsm-all-trips-hero h1{color:#083B75!important;font-size:38px!important;line-height:1.05!important;letter-spacing:-1.1px!important}
.lbsm-all-trips-hero p{font-size:13px!important;color:#6B7A88!important}
.lbsm-filter-head strong{color:#17324A!important;font-size:20px!important}
.lbsm-filter-head span{color:#7A8A99!important;font-size:11px!important}
.lbsm-all-trips-filters{background:#F4F9FF!important;border:1px solid #DDEBFA!important;padding:12px!important;gap:9px!important;overflow:visible!important;align-items:end!important}
.lbsm-filter-group{min-width:145px!important}
.lbsm-filter-group label{color:#17324A!important;font-size:9px!important;margin-bottom:6px!important}
.lbsm-filter-group select{height:40px!important;font-size:12px!important;border-color:#DDE6EE!important;color:#17324A!important}
.lbsm-filter-submit{height:40px!important;background:#1268E8!important;border-color:#1268E8!important;font-size:10px!important}
.lbsm-filter-submit:hover{background:#083B75!important;border-color:#083B75!important}
.lbsm-filter-reset{color:#1268E8!important;font-size:10px!important}

/* Calendar must stay compact and hidden until the trigger is clicked. */
.lbsm-departure-calendar{position:relative!important;width:100%!important}
.lbsm-calendar-trigger{height:40px!important;padding:0 12px!important;border:1px solid #DDE6EE!important;border-radius:8px!important;background:#fff!important;color:#17324A!important;font-size:12px!important;font-weight:700!important;appearance:none!important;-webkit-appearance:none!important}
.lbsm-calendar-trigger:hover{border-color:#1268E8!important}
.lbsm-calendar-icon{color:#1268E8!important;font-size:12px!important}
.lbsm-calendar-popover{display:block!important;position:absolute!important;z-index:100000!important;left:0!important;top:calc(100% + 7px)!important;width:300px!important;padding:14px!important;background:#fff!important;border:1px solid #DDE6EE!important;border-radius:12px!important;box-shadow:0 18px 45px rgba(8,59,117,.16)!important}
.lbsm-calendar-popover[hidden]{display:none!important}
.lbsm-calendar-head{display:grid!important;grid-template-columns:34px 1fr 34px!important;align-items:center!important;gap:7px!important;margin-bottom:10px!important}
.lbsm-calendar-head strong{font-size:13px!important;color:#083B75!important}
.lbsm-calendar-head button{width:32px!important;height:32px!important;border:1px solid #DDE6EE!important;border-radius:7px!important;background:#fff!important;color:#083B75!important;appearance:none!important}
.lbsm-calendar-head button:hover:not(:disabled){border-color:#1268E8!important;color:#1268E8!important}
.lbsm-calendar-week,.lbsm-calendar-days{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:3px!important}
.lbsm-calendar-week span{padding:5px 0!important;color:#7B8995!important;font-size:9px!important;text-align:center!important}
.lbsm-calendar-day,.lbsm-calendar-empty{height:34px!important;min-width:0!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}
.lbsm-calendar-day{margin:0!important;padding:0!important;border:0!important;border-radius:7px!important;background:#fff!important;color:#8B98A4!important;font-size:11px!important;font-weight:600!important;appearance:none!important;-webkit-appearance:none!important;box-shadow:none!important}
.lbsm-calendar-day.is-available{background:#EAF8F0!important;color:#16804A!important;font-weight:800!important;cursor:pointer!important}
.lbsm-calendar-day.is-available:hover{background:#36B86B!important;color:#fff!important}
.lbsm-calendar-day.is-selected{background:#1268E8!important;color:#fff!important;box-shadow:none!important}
.lbsm-calendar-day.is-disabled{opacity:.35!important}
.lbsm-calendar-note{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-top:10px!important;padding-top:10px!important;border-top:1px solid #E7EDF2!important;color:#7B8995!important;font-size:9px!important}
.lbsm-calendar-clear{color:#1268E8!important;font-size:9px!important}

/* All Trips cards: compact, no booking form on this page. */
#lbsm-sailing-search .lbsm-all-trips-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
#lbsm-sailing-search .lbsm-all-trip-card{border:1px solid #DDE6EE!important;border-radius:14px!important;box-shadow:0 8px 22px rgba(8,59,117,.06)!important}
#lbsm-sailing-search .lbsm-all-trip-image{height:205px!important}
#lbsm-sailing-search .lbsm-all-trip-body{padding:15px 16px 16px!important}
#lbsm-sailing-search .lbsm-all-trip-body h3{font-size:18px!important;color:#083B75!important}
#lbsm-sailing-search .lbsm-all-trip-price strong{font-size:20px!important;color:#083B75!important}
#lbsm-sailing-search .lbsm-all-trip-cabins a{background:#1268E8!important;color:#fff!important}
#lbsm-sailing-search .lbsm-all-trip-cabins a:hover{background:#083B75!important}
#lbsm-sailing-search .lbsm-search-booking-panel{display:none!important}
#lbsm-sailing-search .lbsm-select-cabin{display:none!important}

/* Sailing Details booking request: five clear fields, including extra bed. */
.lbsm-detail-booking-grid{grid-template-columns:1.15fr 1fr 1.25fr 1.25fr 1.15fr!important;gap:12px!important}
.lbsm-detail-booking-head h3{font-size:28px!important;color:#083B75!important}
.lbsm-detail-booking-head p{font-size:12px!important}
.lbsm-detail-booking-summary>div{padding:12px 14px!important;background:#F4F9FF!important}
.lbsm-detail-booking-summary strong{font-size:13px!important;color:#083B75!important}
.lbsm-detail-booking-grid label{font-size:11px!important}
.lbsm-detail-booking-grid input,.lbsm-detail-booking-grid select{height:44px!important;font-size:13px!important;margin-top:6px!important}
.lbsm-detail-extra-bed-field{display:block!important}
.lbsm-detail-extra-bed-field[style*="display: none"]{display:block!important}
.lbsm-detail-extra-bed-field .lbsm-extra-bed-box{height:44px!important;margin-top:6px!important;background:#F8FBFE!important;border-color:#DDE6EE!important}
.lbsm-detail-extra-bed-field>small{font-size:9px!important;color:#8B98A4!important}
.lbsm-detail-total strong{font-size:22px!important;color:#083B75!important}
.lbsm-detail-confirm{background:#1268E8!important;border-color:#1268E8!important;height:48px!important;font-size:12px!important}
.lbsm-detail-confirm:hover{background:#083B75!important;border-color:#083B75!important}

/* Remove old purple accents from the public trip content. */
.lbsm-trip-tab.is-active{color:#1268E8!important;border-bottom-color:#1268E8!important}
.lbsm-itinerary-public-item small,.lbsm-itinerary-item small{color:#36B86B!important}

@media(max-width:1100px){
  .lbsm-detail-booking-grid{grid-template-columns:1fr 1fr 1.2fr 1.2fr!important}
  .lbsm-detail-booking-grid .lbsm-detail-email{grid-column:3/5}
}
@media(max-width:900px){
  #lbsm-sailing-search .lbsm-all-trips-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .lbsm-detail-booking-grid{grid-template-columns:1fr 1fr!important}
  .lbsm-detail-booking-grid .lbsm-detail-email{grid-column:auto}
}
@media(max-width:700px){
  .lbsm-all-trips-filters{display:grid!important;grid-template-columns:1fr 1fr!important;overflow:visible!important}
  .lbsm-filter-group{min-width:0!important}
  .lbsm-filter-submit{grid-column:1/-1!important;width:100%!important}
  .lbsm-filter-reset{margin:0!important;text-align:center!important}
  #lbsm-sailing-search .lbsm-all-trips-grid{grid-template-columns:1fr!important}
  .lbsm-detail-booking-grid{grid-template-columns:1fr!important}
}


/* v0.9.32 — calendar navigation + final itinerary typography cleanup */
.lbsm-calendar-head button:disabled{opacity:.45!important;color:#083B75!important;border-color:#DDE6EE!important;background:#fff!important}
.lbsm-calendar-head button:not(:disabled){color:#083B75!important;border-color:#DDE6EE!important;background:#fff!important;cursor:pointer!important}
.lbsm-calendar-head button:not(:disabled):hover{color:#1268E8!important;border-color:#1268E8!important;background:#F4F9FF!important}
.lbsm-calendar-month{font-size:13px!important;font-weight:800!important;color:#083B75!important}

/* Public trip content: keep the established navy/blue/green brand palette. */
.lbsm-trip-tabs-nav .lbsm-trip-tab.is-active{color:#1268E8!important;border-bottom-color:#1268E8!important;background:transparent!important}
.lbsm-trip-tabs-nav .lbsm-trip-tab:hover{color:#083B75!important;background:#F8FBFE!important}
.lbsm-daily-schedule-title{font-size:26px!important;color:#083B75!important;font-weight:800!important}
.lbsm-schedule-item{border-color:#DDE6EE!important;border-radius:14px!important;box-shadow:0 6px 18px rgba(8,59,117,.045)!important}
.lbsm-schedule-item summary{min-height:92px!important;padding:15px 20px!important;grid-template-columns:52px 1fr 24px!important;gap:16px!important}
.lbsm-schedule-number{width:48px!important;height:48px!important;border:2px solid #DDE6EE!important;background:#F7F9FB!important;color:#6B7A88!important;font-size:16px!important}
.lbsm-schedule-copy{gap:5px!important}
.lbsm-schedule-copy small{color:#36B86B!important;font-size:9px!important;letter-spacing:1.25px!important}
.lbsm-schedule-copy strong{color:#083B75!important;font-size:18px!important;line-height:1.25!important;font-weight:600!important;text-transform:none!important}
.lbsm-schedule-chevron{color:#6B7A88!important;font-size:22px!important}
.lbsm-schedule-item[open] .lbsm-schedule-number{border-color:#1268E8!important;background:#F4F9FF!important;color:#1268E8!important}
.lbsm-schedule-detail{padding:0 20px 18px 88px!important;color:#526372!important;font-size:13px!important;line-height:1.65!important}
.lbsm-schedule-detail p{font-size:13px!important}
.lbsm-trip-list-card .eyebrow{color:#36B86B!important}
.lbsm-trip-list-card h3{font-size:20px!important;color:#083B75!important}
.lbsm-trip-list-card li{font-size:12px!important}

@media(max-width:700px){
  .lbsm-schedule-item summary{grid-template-columns:44px 1fr 22px!important;gap:11px!important;min-height:82px!important;padding:13px 14px!important}
  .lbsm-schedule-number{width:40px!important;height:40px!important;font-size:14px!important}
  .lbsm-schedule-copy small{font-size:8px!important}
  .lbsm-schedule-copy strong{font-size:15px!important}
  .lbsm-schedule-detail{padding:0 14px 16px 65px!important;font-size:12px!important}
  .lbsm-daily-schedule-title{font-size:23px!important}
}
