:root{--gbb-green:#78c900;--gbb-green-dark:#5ea400;--gbb-charcoal:#202423;--gbb-dark:#171a19;--gbb-text:#343737;--gbb-muted:#7c8180;--gbb-line:#e3e7e4;--gbb-soft:#f5f7f5;--gbb-white:#fff;--gbb-shadow:0 12px 30px rgba(0,0,0,.12);--gbb-shell:1180px}
*{box-sizing:border-box}.gbb-site{margin:0;background:#fff;color:var(--gbb-text);font-family:Roboto,Arial,sans-serif;font-size:16px;line-height:1.65}.gbb-site a{text-decoration:none}.gbb-site img{max-width:100%;height:auto}.gbb-shell{width:min(var(--gbb-shell),calc(100% - 40px));margin-inline:auto}.gbb-main{overflow:hidden}.gbb-icon{width:22px;height:22px;display:inline-block;vertical-align:middle;flex:0 0 auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed!important;top:10px;left:10px;width:auto;height:auto;margin:0;padding:12px;background:#fff;clip:auto;z-index:99999}
.gbb-header{background:#fff;position:relative;z-index:50}.gbb-header__top{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}.gbb-brand{display:flex;align-items:center;color:var(--gbb-charcoal);gap:10px}.gbb-brand__bike{width:72px;height:55px;color:#121212}.gbb-brand__bike .gbb-icon{width:72px;height:55px;stroke-width:1.4}.gbb-brand__text{font-family:Montserrat,sans-serif;line-height:.82;transform:skew(-10deg);font-size:27px}.gbb-brand__text strong,.gbb-brand__text em{display:block}.gbb-brand__text strong{color:var(--gbb-green)}.gbb-brand__text em{color:#2e6b38;font-style:normal;font-weight:800}.gbb-brand .custom-logo{max-width:260px;max-height:76px;width:auto}.gbb-header__actions{display:flex;align-items:center;gap:22px}.gbb-header__actions>a{display:flex;align-items:center;gap:8px;color:#505554;font-size:13px;font-weight:600}.gbb-header__actions .gbb-icon{color:var(--gbb-green)}.gbb-trip-count{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:10px;background:var(--gbb-green);color:#fff}.gbb-header__actions .gbb-quick-ask{background:var(--gbb-green);color:#fff;padding:10px 18px;text-transform:uppercase;letter-spacing:.05em}.gbb-nav-wrap{background:var(--gbb-charcoal);border-bottom:4px solid var(--gbb-green)}.gbb-menu{list-style:none;margin:0;padding:0;display:flex;align-items:stretch}.gbb-menu>li{margin:0;position:relative}.gbb-menu>li>a{display:flex;align-items:center;min-height:58px;padding:0 30px;color:#fff;font:700 13px Montserrat,sans-serif;letter-spacing:.07em;border-right:1px solid rgba(255,255,255,.1)}.gbb-menu>li:first-child>a{background:var(--gbb-green)}.gbb-menu a:hover{background:#303635}.gbb-menu-toggle{display:none;border:0;background:transparent;padding:10px;color:var(--gbb-charcoal)}
.gbb-hero{height:660px;position:relative;background-size:cover;background-position:center;display:flex;align-items:center}.gbb-hero__overlay,.gbb-tour-hero>div,.gbb-page-hero>div{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.12) 65%,rgba(0,0,0,.32))}.gbb-hero__content{position:relative;color:#fff;padding-bottom:120px}.gbb-hero h1{max-width:750px;margin:0;font:800 clamp(36px,5vw,64px)/1.08 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:-.03em}.gbb-hero__content>p{font:500 20px Montserrat,sans-serif;margin:18px 0 0}.gbb-search-panel{position:absolute;left:50%;bottom:-62px;transform:translateX(-50%);background:#fff;box-shadow:var(--gbb-shadow);padding:0 24px 24px;z-index:3}.gbb-search-panel>h2{display:inline-block;margin:-22px 0 18px;background:var(--gbb-green);color:#fff;padding:12px 28px;font:700 18px Montserrat,sans-serif;text-transform:uppercase}.gbb-tour-search{display:grid;grid-template-columns:repeat(6,minmax(0,1fr)) 64px;gap:1px;background:var(--gbb-line);border:1px solid var(--gbb-line)}.gbb-tour-search label{min-width:0;background:#fff;padding:10px 12px}.gbb-tour-search label>span{display:block;color:#868b89;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.gbb-tour-search select,.gbb-tour-search input{min-width:0;width:100%;height:34px;padding:0;border:0;background:#fff;color:#333;font-weight:600;outline:0}.gbb-tour-search button{border:0;background:var(--gbb-green);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.gbb-tour-search button span{display:none}.gbb-section{padding:95px 0}.gbb-departures{padding-top:145px}.gbb-section-heading{text-align:center;margin:0 auto 42px;max-width:820px}.gbb-section-heading h2{margin:0 0 14px;color:var(--gbb-charcoal);font:800 32px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.03em}.gbb-section-heading h2:after{content:"";display:block;width:62px;height:4px;background:var(--gbb-green);margin:15px auto}.gbb-section-heading p{margin:0;color:#737776}.gbb-section-heading--light h2,.gbb-section-heading--light p{color:#fff}.gbb-tour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.gbb-tour-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.gbb-tour-card{background:#fff;border:1px solid #e6e9e7;box-shadow:0 5px 16px rgba(0,0,0,.08);transition:.25s}.gbb-tour-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(0,0,0,.14)}.gbb-tour-card__media{position:relative}.gbb-tour-card__image{height:230px;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;padding:20px;color:#fff;overflow:hidden}.gbb-tour-card__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent 65%)}.gbb-tour-card h3{position:relative;margin:0;font:700 17px/1.35 Montserrat,sans-serif;color:#fff;text-transform:uppercase}.gbb-wishlist{position:absolute;z-index:2;right:13px;top:13px;border:0;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);color:#444;cursor:pointer}.gbb-wishlist.is-saved{background:var(--gbb-green);color:#fff}.gbb-wishlist .gbb-icon{width:18px}.gbb-tour-card__meta{display:grid;grid-template-columns:1fr 1fr;padding:14px 18px 17px;gap:8px 12px}.gbb-tour-card__meta span{display:flex;align-items:center;gap:7px;font-size:12px;color:#666;min-width:0}.gbb-tour-card__meta .gbb-icon{width:16px;height:16px;color:var(--gbb-green)}.gbb-tour-card__price{font-weight:800;color:var(--gbb-charcoal)!important}.gbb-center{text-align:center;margin:40px 0 0}.gbb-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--gbb-green);background:var(--gbb-green);color:#fff!important;padding:13px 22px;font:700 13px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.04em;transition:.2s;cursor:pointer}.gbb-btn:hover{background:var(--gbb-green-dark);border-color:var(--gbb-green-dark)}.gbb-btn--outline{background:transparent;color:var(--gbb-charcoal)!important}.gbb-btn--outline:hover{color:#fff!important}.gbb-btn--dark{background:var(--gbb-charcoal);border-color:var(--gbb-charcoal)}.gbb-styles{background:var(--gbb-soft)}.gbb-style-grid{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--gbb-line);background:#fff}.gbb-style-grid a{min-height:155px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--gbb-charcoal);border-right:1px solid var(--gbb-line);transition:.2s}.gbb-style-grid a:last-child{border-right:0}.gbb-style-grid a:hover{background:var(--gbb-green);color:#fff}.gbb-style-grid span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gbb-green);color:var(--gbb-green)}.gbb-style-grid a:hover span{border-color:#fff;color:#fff}.gbb-style-grid strong{font:700 13px Montserrat,sans-serif;text-transform:uppercase}.gbb-destinations{background:var(--gbb-charcoal)}
.gbb-destinations__heading{width:100%;max-width:none;text-align:center}.gbb-destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.gbb-destination-grid>a{height:250px;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;overflow:hidden}.gbb-destination-grid>a>span{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.1))}.gbb-destination-grid>a>div{position:relative;color:#fff;padding:24px;width:100%}.gbb-destination-grid h3{margin:0;font:700 21px Montserrat,sans-serif;text-transform:uppercase}.gbb-destination-grid p{margin:5px 0;color:#d7dbd9}.gbb-destination-grid em{font-style:normal;color:var(--gbb-green);font-size:12px;text-transform:uppercase;font-weight:700}.gbb-destination-grid em .gbb-icon{width:16px}.gbb-custom-tour{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.gbb-custom-tour__image{background-size:cover;background-position:center}.gbb-custom-tour__content{background:var(--gbb-green);display:flex;align-items:center;padding:65px}.gbb-custom-tour__content>div{max-width:560px}.gbb-custom-tour h2{font:800 46px Montserrat,sans-serif;text-transform:uppercase;color:#fff;margin:4px 0 20px}.gbb-custom-tour p{color:#fff;font-size:18px}.gbb-custom-tour .gbb-btn{background:#fff;color:var(--gbb-charcoal)!important;border-color:#fff;margin-top:15px}.gbb-kicker{font:700 12px Montserrat,sans-serif;letter-spacing:.12em;color:rgba(255,255,255,.8)}
.gbb-page-hero{height:370px;position:relative;background-size:cover;background-position:center;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;padding:30px}.gbb-page-hero--compact{height:270px}.gbb-page-hero h1,.gbb-page-hero p{position:relative;margin:0}.gbb-page-hero h1{font:800 clamp(34px,5vw,56px) Montserrat,sans-serif;text-transform:uppercase}.gbb-page-hero p{max-width:700px;margin-top:12px}.gbb-search-panel--inline{position:relative;left:auto;bottom:auto;transform:none;width:100%;margin:-135px auto 70px}.gbb-list-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin:0 0 25px;padding-bottom:12px;border-bottom:1px solid var(--gbb-line);font-size:13px}.gbb-list-toolbar strong{margin-right:auto}.gbb-list-toolbar a{color:var(--gbb-charcoal)}.nav-links,.page-numbers{display:flex;justify-content:center;gap:7px;margin-top:35px}.nav-links .page-numbers,.page-numbers{padding:7px 11px}.nav-links .current{background:var(--gbb-green);color:#fff}.gbb-planner{padding:70px 0}.gbb-planner__layout{display:grid;grid-template-columns:300px 1fr;gap:38px}.gbb-filter-sidebar{background:#f2f4f3;padding:25px;align-self:start}.gbb-filter-sidebar h2{font:800 20px Montserrat,sans-serif;text-transform:uppercase;margin-top:0}.gbb-filter-sidebar .gbb-tour-search{display:block;background:none;border:0}.gbb-filter-sidebar .gbb-tour-search label{display:block;margin-bottom:12px;border:1px solid var(--gbb-line)}.gbb-filter-sidebar .gbb-tour-search button{width:100%;height:48px}.gbb-filter-sidebar .gbb-tour-search button span{display:inline;margin-left:8px}.gbb-filter-reset{display:block;text-align:center;color:#666;margin-top:12px;font-size:13px}.gbb-empty{grid-column:1/-1;text-align:center;padding:60px 20px;background:var(--gbb-soft)}.gbb-editorial-intro{display:grid;grid-template-columns:1fr 1fr;min-height:410px;margin-bottom:70px}.gbb-editorial-intro__quote{background:var(--gbb-green);color:#fff;padding:55px;display:flex;flex-direction:column;justify-content:center}.gbb-editorial-intro__quote>.gbb-icon{width:48px;height:48px;opacity:.7}.gbb-editorial-intro__quote h2{font:800 34px Montserrat,sans-serif;margin:18px 0}.gbb-editorial-intro__media{background-size:cover;background-position:center}
.gbb-tour-hero{height:510px;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;color:#fff;padding-bottom:62px}.gbb-tour-hero>.gbb-shell{position:relative}.gbb-tour-hero h1{font:800 clamp(35px,5vw,58px)/1.1 Montserrat,sans-serif;max-width:900px;margin:10px 0}.gbb-breadcrumbs{font-size:13px}.gbb-breadcrumbs a{color:#fff}.gbb-tour-tabs{background:var(--gbb-charcoal);position:sticky;top:0;z-index:30}.gbb-tour-tabs .gbb-shell{display:flex}.gbb-tour-tabs a{color:#fff;padding:17px 28px;border-right:1px solid rgba(255,255,255,.12);font:700 12px Montserrat,sans-serif;text-transform:uppercase}.gbb-tour-tabs a:last-child{background:var(--gbb-green);margin-left:auto}.gbb-tour-detail__layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:42px;padding-top:55px;padding-bottom:80px}.gbb-tour-block{scroll-margin-top:75px;margin-bottom:55px}.gbb-tour-block h2{font:800 31px Montserrat,sans-serif;text-transform:uppercase;margin:0 0 28px;border-bottom:1px solid var(--gbb-line);padding-bottom:14px}.gbb-tour-block h2:after{content:"";display:block;width:50px;height:4px;background:var(--gbb-green);position:relative;top:16px}.gbb-overview-stats{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--gbb-line);margin-bottom:30px}.gbb-overview-stats>div{text-align:center;padding:22px 10px;border-right:1px solid var(--gbb-line)}.gbb-overview-stats>div:last-child{border:0}.gbb-overview-stats .gbb-icon{color:var(--gbb-green);width:29px;height:29px}.gbb-overview-stats>div>span,.gbb-overview-stats>div>strong{display:block}.gbb-overview-stats>div>span{font-size:11px;color:#818584;text-transform:uppercase}.gbb-overview-stats>div>strong{font-size:13px}.gbb-entry-content{font-size:17px}.gbb-entry-content h2,.gbb-entry-content h3{font-family:Montserrat,sans-serif}.gbb-entry-content a{color:var(--gbb-green-dark)}.gbb-cycling-summary{border-left:4px solid var(--gbb-green);background:var(--gbb-soft);padding:15px 22px}.gbb-cycling-summary p{display:flex;justify-content:space-between;margin:7px 0}.gbb-itinerary h3{font:700 18px Montserrat,sans-serif;padding:14px 18px;background:var(--gbb-soft);border-left:4px solid var(--gbb-green)}.gbb-facts{border-top:1px solid var(--gbb-line)}.gbb-facts p{display:grid;grid-template-columns:24px 1fr 1fr;gap:12px;margin:0;padding:13px 10px;border-bottom:1px solid var(--gbb-line)}.gbb-facts p:nth-child(-n+3){grid-template-columns:1fr 1fr}.gbb-facts .gbb-icon{color:var(--gbb-green);width:18px}.gbb-departure-row{display:grid;grid-template-columns:1.6fr 1.1fr .7fr .8fr auto;align-items:center;gap:15px;padding:15px;border:1px solid var(--gbb-line);border-top:0}.gbb-departure-row:first-child{border-top:1px solid var(--gbb-line)}.gbb-departure-row small{display:block;color:#929694}.status{color:var(--gbb-green-dark)}.status--sold_out{color:#b33}.gbb-departure-row .gbb-btn{padding:9px 16px}.gbb-booking-card{position:sticky;top:85px;align-self:start;background:#fff;border-top:5px solid var(--gbb-green);box-shadow:var(--gbb-shadow);padding:26px}.gbb-booking-card h3{font:700 17px Montserrat,sans-serif}.gbb-booking-card>strong{font:800 29px Montserrat,sans-serif;color:var(--gbb-green-dark);display:block;margin:0 0 20px}.gbb-booking-card .gbb-btn{display:flex;margin-top:10px;width:100%}
.gbb-blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:40px}.gbb-blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.gbb-post-card{border:1px solid var(--gbb-line);background:#fff}.gbb-post-card__image{display:block;height:240px;background-size:cover;background-position:center}.gbb-post-card>div{padding:23px}.gbb-post-card time{font-size:12px;color:#8c908e}.gbb-post-card h2{font:700 20px/1.35 Montserrat,sans-serif}.gbb-post-card h2 a{color:var(--gbb-charcoal)}.gbb-read-more{color:var(--gbb-green-dark);font-size:12px;font-weight:700;text-transform:uppercase}.gbb-read-more .gbb-icon{width:15px}.gbb-blog-sidebar{align-self:start}.gbb-blog-sidebar form{display:flex}.gbb-blog-sidebar input[type=search]{min-width:0;width:100%;height:46px;border:1px solid var(--gbb-line);padding:10px}.gbb-blog-sidebar input[type=submit]{background:var(--gbb-green);color:#fff;border:0}.gbb-blog-sidebar h3{font:700 17px Montserrat,sans-serif;border-bottom:3px solid var(--gbb-green);padding-bottom:9px}.gbb-blog-sidebar ul{list-style:none;padding:0}.gbb-blog-sidebar li{border-bottom:1px solid var(--gbb-line);padding:8px 0}.gbb-blog-sidebar a{color:#555}.gbb-article{display:grid;grid-template-columns:minmax(0,780px) 270px;gap:55px;padding:70px 0}.gbb-page-content{max-width:920px}.gbb-contact{display:grid;grid-template-columns:1fr 430px;gap:70px}.gbb-contact h2{font:800 40px Montserrat,sans-serif;text-transform:uppercase}.gbb-contact .gbb-kicker{color:var(--gbb-green-dark)}.gbb-contact-cards{display:grid;gap:12px;margin-top:30px}.gbb-contact-cards>a,.gbb-contact-cards>div{display:flex;gap:16px;align-items:flex-start;padding:18px;border:1px solid var(--gbb-line);color:var(--gbb-text)}.gbb-contact-cards .gbb-icon{color:var(--gbb-green)}.gbb-contact-cards span,.gbb-contact-cards strong{display:block}.gbb-contact-cards strong{font-weight:600}.gbb-contact-form{padding:32px;background:var(--gbb-soft);border-top:5px solid var(--gbb-green)}.gbb-contact-form h3{font:800 25px Montserrat,sans-serif;margin-top:0}.gbb-contact-form label{display:block;font-size:13px;font-weight:600;margin-bottom:13px}.gbb-contact-form input,.gbb-contact-form textarea{width:100%;border:1px solid #d9ddda;padding:11px;background:#fff;margin-top:5px}.gbb-404{margin:100px auto}.gbb-404 h1{font:800 100px Montserrat,sans-serif;color:var(--gbb-green);margin:0}
.gbb-footer{background:var(--gbb-charcoal);color:#c9cecb}.gbb-footer__grid{display:grid;grid-template-columns:1fr 1.25fr 1.2fr 1fr;gap:45px;padding-top:65px;padding-bottom:45px}.gbb-footer h3{font:700 16px Montserrat,sans-serif;text-transform:uppercase;color:#fff;border-bottom:1px solid #454a48;padding-bottom:12px}.gbb-footer a{color:#c9cecb}.gbb-footer ul{list-style:none;margin:0;padding:0}.gbb-footer li{padding:4px 0}.gbb-footer p{display:flex;gap:10px;margin:11px 0;font-size:14px}.gbb-footer p .gbb-icon{width:17px;color:var(--gbb-green)}.gbb-map-placeholder{position:relative;height:220px;overflow:hidden;background:#303634;text-align:center}.gbb-map-placeholder iframe{display:block;width:100%;height:100%;border:0}.gbb-map-open{position:absolute;right:10px;bottom:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:4px;background:var(--gbb-green);color:#173119!important;font:700 11px Montserrat,sans-serif;text-transform:uppercase;box-shadow:0 4px 12px rgba(0,0,0,.24)}.gbb-map-open:hover,.gbb-map-open:focus{background:#fff;color:#173119!important}.gbb-map-placeholder .gbb-icon{color:var(--gbb-green);width:36px;height:36px}.gbb-affiliate-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.gbb-affiliate-actions a{padding:9px;border:1px solid #555;text-align:center;font-size:11px}.gbb-affiliate-actions a:last-child{grid-column:1/-1;background:var(--gbb-green);color:#fff;border-color:var(--gbb-green)}.gbb-socials{display:flex;gap:8px;margin-top:20px}.gbb-socials a{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#343a38}.gbb-footer__license{text-align:center;padding:17px;border-top:1px solid #3d4240;font-size:12px}.gbb-footer__bottom{background:var(--gbb-dark);padding:17px 0;text-align:center;font-size:12px}
@media(max-width:1000px){.gbb-header__actions>a span{display:none}.gbb-tour-grid{grid-template-columns:repeat(2,1fr)}.gbb-style-grid{grid-template-columns:repeat(3,1fr)}.gbb-style-grid a{border-bottom:1px solid var(--gbb-line)}.gbb-destination-grid{grid-template-columns:repeat(2,1fr)}.gbb-tour-search{grid-template-columns:repeat(3,1fr)}.gbb-tour-search button{min-height:58px}.gbb-overview-stats{grid-template-columns:repeat(3,1fr)}.gbb-overview-stats>div{border-bottom:1px solid var(--gbb-line)}.gbb-tour-detail__layout{grid-template-columns:1fr}.gbb-booking-card{position:relative;top:auto}.gbb-footer__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.gbb-shell{width:min(100% - 28px,var(--gbb-shell))}.gbb-header__top{min-height:72px}.gbb-brand__bike{width:48px}.gbb-brand__bike .gbb-icon{width:48px}.gbb-brand__text{font-size:20px}.gbb-header__actions{margin-left:auto}.gbb-header__actions>a:not(.gbb-quick-ask){display:none}.gbb-quick-ask{padding:8px 10px!important;font-size:11px!important}.gbb-menu-toggle{display:block}.gbb-nav{display:none}.gbb-nav.is-open{display:block}.gbb-menu{display:block}.gbb-menu>li>a{min-height:48px;padding:0 18px}.gbb-hero{height:650px;align-items:flex-start;padding-top:85px}.gbb-hero__content{padding-bottom:0}.gbb-hero h1{font-size:38px}.gbb-hero__content>p{font-size:16px}.gbb-search-panel{bottom:18px;width:calc(100% - 28px);padding:0 12px 12px}.gbb-search-panel>h2{margin-top:-18px;padding:8px 16px}.gbb-tour-search{grid-template-columns:1fr 1fr}.gbb-tour-search label{padding:7px}.gbb-tour-search button{grid-column:1/-1}.gbb-section{padding:65px 0}.gbb-departures{padding-top:65px}.gbb-tour-grid,.gbb-tour-grid--two{grid-template-columns:1fr}.gbb-section-heading h2{font-size:26px}.gbb-style-grid{grid-template-columns:repeat(2,1fr)}.gbb-destination-grid{grid-template-columns:1fr}.gbb-custom-tour{grid-template-columns:1fr}.gbb-custom-tour__image{min-height:330px}.gbb-custom-tour__content{padding:45px 24px}.gbb-custom-tour h2{font-size:36px}.gbb-planner__layout{grid-template-columns:1fr}.gbb-filter-sidebar{position:relative}.gbb-search-panel--inline{margin:0 0 40px}.gbb-editorial-intro{grid-template-columns:1fr}.gbb-editorial-intro__media{min-height:300px}.gbb-tour-hero{height:430px}.gbb-tour-tabs{overflow-x:auto}.gbb-tour-tabs .gbb-shell{width:max-content}.gbb-tour-tabs a{padding:14px 16px;white-space:nowrap}.gbb-tour-tabs a:last-child{margin-left:0}.gbb-overview-stats{grid-template-columns:1fr 1fr}.gbb-departure-row{grid-template-columns:1fr 1fr}.gbb-departure-row .gbb-btn{grid-column:1/-1}.gbb-blog-layout,.gbb-article,.gbb-contact{grid-template-columns:1fr}.gbb-blog-grid{grid-template-columns:1fr}.gbb-footer__grid{grid-template-columns:1fr}.gbb-footer__grid{gap:20px}.gbb-contact h2{font-size:32px}}

/* v1.1 — complete WordPress templates, image controls and navigation */
.gbb-menu .sub-menu{position:absolute;left:0;top:100%;z-index:60;min-width:230px;margin:0;padding:8px 0;list-style:none;background:#fff;border-top:4px solid var(--gbb-green);box-shadow:0 16px 36px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.gbb-menu .sub-menu li{position:relative;margin:0}.gbb-menu .sub-menu a{display:block;padding:11px 18px;color:var(--gbb-charcoal);font:600 12px Montserrat,sans-serif;letter-spacing:.02em;border-bottom:1px solid var(--gbb-line);white-space:nowrap}.gbb-menu .sub-menu li:last-child>a{border-bottom:0}.gbb-menu .sub-menu a:hover{background:var(--gbb-soft);color:var(--gbb-green-dark)}.gbb-menu li:hover>.sub-menu,.gbb-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}.gbb-menu .sub-menu .sub-menu{left:100%;top:-8px}
.gbb-page-hero>.gbb-shell,.gbb-single-post__hero-content{position:relative;z-index:2}.gbb-archive-description{position:relative;z-index:2;max-width:760px;margin:14px auto 0;font-size:17px;color:#fff}.gbb-archive-description p{margin:0}.gbb-archive-hero h1{max-width:900px}.gbb-single-post__hero{min-height:470px;height:auto;padding:90px 0;text-align:left;align-items:stretch}.gbb-single-post__hero-content{align-self:center}.gbb-single-post__hero h1{max-width:920px;margin:18px 0;font-size:clamp(34px,5vw,58px);line-height:1.08}.gbb-single-post__meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.gbb-single-post__meta a{color:#fff;text-decoration:underline;text-underline-offset:3px}.gbb-breadcrumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gbb-breadcrumbs a{display:inline-flex;align-items:center;gap:5px}.gbb-breadcrumbs .gbb-icon{width:15px;height:15px}
.gbb-post-card__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.gbb-post-card__meta span,.gbb-post-card__meta a{font-size:12px;color:var(--gbb-green-dark)}.gbb-post-card__image{transition:filter .2s,transform .3s}.gbb-post-card:hover .gbb-post-card__image{filter:saturate(1.08)}.gbb-blog-sidebar{position:sticky;top:30px}.gbb-sidebar-block{margin-top:28px}.gbb-sidebar-block li{display:flex;justify-content:space-between;gap:10px}.gbb-search-form{display:flex;width:100%;margin:0}.gbb-search-form input{min-width:0;width:100%;height:48px;padding:0 14px;border:1px solid var(--gbb-line);background:#fff}.gbb-search-form button{width:52px;border:0;background:var(--gbb-green);color:#fff;display:grid;place-items:center;cursor:pointer}.gbb-tag-cloud{display:flex;flex-wrap:wrap;gap:7px}.gbb-tag-cloud a,.gbb-post-tags a{display:inline-flex;padding:6px 10px;background:var(--gbb-soft);border:1px solid var(--gbb-line);color:#59605d;font-size:12px}.gbb-post-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:25px;margin-top:30px;border-top:1px solid var(--gbb-line)}
.gbb-author-box{display:grid;grid-template-columns:90px 1fr;gap:22px;align-items:start;margin:42px 0;padding:28px;background:var(--gbb-soft);border-left:4px solid var(--gbb-green)}.gbb-author-box img{border-radius:50%}.gbb-author-box span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--gbb-muted)}.gbb-author-box h3{margin:2px 0 7px;font:700 20px Montserrat,sans-serif}.gbb-author-box h3 a{color:var(--gbb-charcoal)}.gbb-author-box p{margin:0}.gbb-post-navigation{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:38px 0}.gbb-post-navigation>div{padding:18px;border:1px solid var(--gbb-line)}.gbb-post-navigation>div:last-child{text-align:right}.gbb-post-navigation span{display:block;color:var(--gbb-muted);font-size:11px;text-transform:uppercase}.gbb-post-navigation a{color:var(--gbb-charcoal);font-weight:700}.gbb-related-posts{margin-top:55px}.gbb-related-posts>h2,.gbb-comments>h2{font:800 27px Montserrat,sans-serif;text-transform:uppercase}.gbb-comments{margin-top:55px;padding-top:35px;border-top:1px solid var(--gbb-line)}.gbb-comments .comment-list{list-style:none;padding:0}.gbb-comments .comment-body{padding:20px 0;border-bottom:1px solid var(--gbb-line)}.gbb-comments input:not([type=submit]),.gbb-comments textarea{width:100%;padding:11px;border:1px solid var(--gbb-line)}.gbb-comments input[type=submit]{border:0;background:var(--gbb-green);color:#fff;padding:12px 20px;font-weight:700;text-transform:uppercase}
.navigation.pagination{margin-top:40px}.nav-links{display:flex;gap:6px;flex-wrap:wrap}.nav-links .page-numbers{min-width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--gbb-line);color:var(--gbb-charcoal);background:#fff}.nav-links .current,.nav-links a:hover{background:var(--gbb-green);border-color:var(--gbb-green);color:#fff}.gbb-empty{grid-column:1/-1;padding:42px;text-align:center;background:var(--gbb-soft);border:1px solid var(--gbb-line)}.gbb-empty h2,.gbb-empty h3{margin-top:0;font-family:Montserrat,sans-serif}.gbb-empty .gbb-search-form{max-width:480px;margin:20px auto 0}
.gbb-entry-content>*:first-child{margin-top:0}.gbb-entry-content figure{margin:32px 0}.gbb-entry-content blockquote{margin:32px 0;padding:20px 25px;border-left:4px solid var(--gbb-green);background:var(--gbb-soft);font-size:19px}.gbb-entry-content table{width:100%;border-collapse:collapse}.gbb-entry-content th,.gbb-entry-content td{padding:12px;border:1px solid var(--gbb-line);text-align:left}.gbb-entry-content th{background:var(--gbb-soft)}.gbb-page-content .alignwide{max-width:1120px;margin-left:50%;transform:translateX(-50%);width:calc(100vw - 40px)}
.gbb-tour-card[hidden]{display:none!important}.gbb-tour-card__image,.gbb-post-card__image,.gbb-page-hero,.gbb-tour-hero,.gbb-hero,.gbb-destination-grid>a,.gbb-custom-tour__image,.gbb-editorial-intro__media{background-color:#627d69}.gbb-tour-card__image{background-blend-mode:normal}.gbb-term-image-preview img{border:1px solid #ccd1ce}
@media(max-width:760px){.gbb-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border-top:0;background:#2b302f;padding:0 0 0 15px}.gbb-menu .sub-menu a{color:#fff;border-color:rgba(255,255,255,.08);white-space:normal}.gbb-menu .sub-menu .sub-menu{position:static}.gbb-single-post__hero{min-height:390px;padding:65px 0}.gbb-author-box{grid-template-columns:1fr;text-align:center}.gbb-author-box__avatar{display:flex;justify-content:center}.gbb-post-navigation{grid-template-columns:1fr}.gbb-post-navigation>div:last-child{text-align:left}.gbb-blog-sidebar{position:relative;top:auto}.gbb-archive-description{font-size:15px}.gbb-page-content .alignwide{width:100%;margin-left:0;transform:none}}

/* v2.0 — live Laravel migration visual refinements */
.gbb-site .site.grid-container,.gbb-site #page.grid-container{max-width:none;padding:0}.gbb-site .site-content{display:block;padding:0}.gbb-site .content-area{width:100%}.gbb-header{box-shadow:0 1px 0 rgba(0,0,0,.07)}.gbb-tour-card__image,.gbb-destination-grid>a,.gbb-hero,.gbb-page-hero,.gbb-tour-hero{image-rendering:auto}.gbb-entry-content img{border-radius:0}.gbb-entry-content iframe{max-width:100%}.gbb-migrated-source-note{display:none}

/* v2.1 — WooCommerce + CBT Woo Tour Fields compatibility */
.gbb-tour-single .cbt-tour-sections,.gbb-tour-single .cbt-private-tour-inquiry{display:none!important}
.gbb-tour-lead{margin:28px 0;padding:22px 25px;border-left:4px solid var(--gbb-green);background:var(--gbb-soft);font-size:18px;line-height:1.75}
.gbb-tour-lead p:last-child{margin-bottom:0}
.gbb-tour-highlights{margin-top:30px;padding:26px 30px;background:#fff;border:1px solid var(--gbb-line);box-shadow:0 8px 24px rgba(0,0,0,.06)}
.gbb-tour-highlights h3{margin:0 0 16px;font:800 20px Montserrat,sans-serif;text-transform:uppercase}
.gbb-tour-highlights ul,.gbb-inclusion-grid ul{margin:0;padding:0;list-style:none}
.gbb-tour-highlights li,.gbb-inclusion-grid li{position:relative;padding:7px 0 7px 26px}
.gbb-tour-highlights li:before,.gbb-inclusion-grid li:before{content:"✓";position:absolute;left:0;top:7px;color:var(--gbb-green-dark);font-weight:800}
.gbb-tour-gallery__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gbb-tour-gallery__grid a{display:block;overflow:hidden;background:var(--gbb-soft);aspect-ratio:16/10}
.gbb-tour-gallery__grid a:first-child{grid-column:1/-1;aspect-ratio:16/8}
.gbb-tour-gallery__grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.gbb-tour-gallery__grid a:hover img{transform:scale(1.035)}
.gbb-itinerary--structured{display:grid;gap:14px}
.gbb-itinerary--structured .gbb-itinerary-day{border:1px solid var(--gbb-line);background:#fff;box-shadow:0 4px 15px rgba(0,0,0,.04)}
.gbb-itinerary--structured .gbb-itinerary-day h3{display:flex;align-items:center;gap:16px;margin:0;padding:17px 20px;border-left:0;background:var(--gbb-charcoal);color:#fff;font-size:17px;text-transform:none}
.gbb-itinerary--structured .gbb-itinerary-day h3 span{flex:0 0 auto;padding:7px 10px;background:var(--gbb-green);color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.gbb-itinerary--structured .gbb-itinerary-day>div{padding:20px 22px}
.gbb-itinerary--structured dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:18px 0 0;background:var(--gbb-line);border:1px solid var(--gbb-line)}
.gbb-itinerary--structured dl>div{display:grid;grid-template-columns:105px 1fr;gap:12px;padding:10px 12px;background:#fff}
.gbb-itinerary--structured dt{font-size:11px;color:var(--gbb-muted);text-transform:uppercase;letter-spacing:.04em}
.gbb-itinerary--structured dd{margin:0;font-weight:600}
.gbb-price-table{border:1px solid var(--gbb-line);background:#fff}
.gbb-price-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;align-items:center;min-height:54px;border-top:1px solid var(--gbb-line)}
.gbb-price-row:first-child{border-top:0}
.gbb-price-row>*{padding:13px 16px;border-left:1px solid var(--gbb-line)}
.gbb-price-row>*:first-child{border-left:0}
.gbb-price-row--head{background:var(--gbb-charcoal);color:#fff;font:700 12px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.05em}
.gbb-price-row strong{color:var(--gbb-green-dark)}
.gbb-inclusion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gbb-inclusion-grid>div{padding:24px;border:1px solid var(--gbb-line);background:var(--gbb-soft)}
.gbb-inclusion-grid h3{margin:0 0 14px;font:800 18px Montserrat,sans-serif;text-transform:uppercase}
.gbb-inclusion-grid>div:nth-child(2) li:before{content:"×";color:#b33}
.gbb-policy-list,.gbb-tour-faq{border-top:1px solid var(--gbb-line)}
.gbb-policy-list details,.gbb-tour-faq details{border:1px solid var(--gbb-line);border-top:0;background:#fff}
.gbb-policy-list summary,.gbb-tour-faq summary{position:relative;padding:17px 50px 17px 18px;cursor:pointer;font:700 15px Montserrat,sans-serif;list-style:none}
.gbb-policy-list summary::-webkit-details-marker,.gbb-tour-faq summary::-webkit-details-marker{display:none}
.gbb-policy-list summary:after,.gbb-tour-faq summary:after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--gbb-green-dark)}
.gbb-policy-list details[open] summary:after,.gbb-tour-faq details[open] summary:after{content:"−"}
.gbb-policy-list details>div,.gbb-tour-faq details>div{padding:0 20px 20px;color:#555}
.gbb-policy-list details>div>:last-child,.gbb-tour-faq details>div>:last-child{margin-bottom:0}
.gbb-tour-file-links{display:flex;flex-wrap:wrap;gap:10px}
.gbb-booking-card__meta{padding:13px 0;margin:0 0 10px;border-top:1px solid var(--gbb-line);border-bottom:1px solid var(--gbb-line);color:var(--gbb-muted)}
.gbb-booking-card .price,.gbb-tour-card__price .price,.gbb-overview-stats .price{display:inline!important;margin:0;color:inherit;font:inherit}
.gbb-booking-card .woocommerce-Price-amount{font:800 29px Montserrat,sans-serif;color:var(--gbb-green-dark)}
.gbb-tour-card__price .woocommerce-Price-amount{font-weight:800;color:var(--gbb-charcoal)}
.gbb-direct-booking{margin-top:18px;padding-top:16px;border-top:1px solid var(--gbb-line)}
.gbb-direct-booking form.cart{display:grid;gap:10px;margin:0}
.gbb-direct-booking .quantity input{width:100%}
.gbb-direct-booking button.single_add_to_cart_button{width:100%;border:0;border-radius:0;background:var(--gbb-green);font:700 13px Montserrat,sans-serif;text-transform:uppercase}
.gbb-site .woocommerce-notices-wrapper,.gbb-main>.woocommerce-notices-wrapper{width:min(100% - 40px,var(--gbb-shell));margin:20px auto 0}
.gbb-site .woocommerce-message,.gbb-site .woocommerce-info,.gbb-site .woocommerce-error{border-top-color:var(--gbb-green);background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.07)}
.gbb-site .woocommerce-message:before,.gbb-site .woocommerce-info:before{color:var(--gbb-green-dark)}
.gbb-tour-single .cbt-mobile-inquiry{display:none;position:fixed;left:0;right:0;bottom:0;z-index:9999;padding:10px 14px;background:rgba(23,26,25,.96);box-shadow:0 -5px 20px rgba(0,0,0,.2)}
.gbb-tour-single .cbt-mobile-inquiry a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:11px 18px;background:var(--gbb-green);color:#fff!important;font:800 13px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.gbb-tour-single .cbt-mobile-inquiry a:hover{background:var(--gbb-green-dark)}
.gbb-site.woocommerce-page:not(.gbb-tour-single) .woocommerce{width:min(100% - 40px,var(--gbb-shell));margin:55px auto 80px}
.gbb-site.woocommerce-page:not(.gbb-tour-single) div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:45px}
.gbb-site.woocommerce-page:not(.gbb-tour-single) div.product .woocommerce-tabs,.gbb-site.woocommerce-page:not(.gbb-tour-single) div.product .related{grid-column:1/-1}
.gbb-site.woocommerce-page:not(.gbb-tour-single) .button,.gbb-site.woocommerce-page:not(.gbb-tour-single) button.button{border-radius:0;background:var(--gbb-green);color:#fff;font-weight:700}
@media(max-width:1000px){.gbb-inclusion-grid{grid-template-columns:1fr 1fr}.gbb-itinerary--structured dl{grid-template-columns:1fr}.gbb-site.woocommerce-page:not(.gbb-tour-single) div.product{grid-template-columns:1fr}}
@media(max-width:760px){.gbb-tour-gallery__grid{grid-template-columns:1fr}.gbb-tour-gallery__grid a:first-child{grid-column:auto;aspect-ratio:16/10}.gbb-itinerary--structured .gbb-itinerary-day h3{align-items:flex-start;flex-direction:column;gap:9px}.gbb-itinerary--structured dl>div{grid-template-columns:1fr;gap:3px}.gbb-price-row{grid-template-columns:1fr 1fr 1fr;font-size:12px}.gbb-price-row>*{padding:10px 8px}.gbb-inclusion-grid{grid-template-columns:1fr}.gbb-tour-file-links{display:grid}.gbb-tour-single .cbt-mobile-inquiry{display:block}.gbb-tour-single{padding-bottom:68px}}
.gbb-inquiry-context{display:grid;gap:5px;margin:20px 0;padding:18px 20px;border-left:4px solid var(--gbb-green);background:var(--gbb-soft)}
.gbb-inquiry-context strong{font:700 11px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:var(--gbb-muted)}
.gbb-inquiry-context a{font:800 18px Montserrat,sans-serif;color:var(--gbb-charcoal)}
.gbb-inquiry-context span{color:var(--gbb-green-dark);font-weight:600}

/* v2.1.1 reliability fixes */
.gbb-btn--disabled{display:inline-flex;align-items:center;justify-content:center;opacity:.5;cursor:not-allowed;pointer-events:none;background:#9aa09d!important}
.gbb-form-notice{margin:0 0 18px;padding:13px 16px;border-left:4px solid var(--gbb-green);background:var(--gbb-soft)}
.gbb-form-notice--error{border-left-color:#b33;background:#fff3f3}
.gbb-hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Departure year/month controls — v2.2.3 */
.gbb-departure-controls{
  margin:0 0 22px;
  padding:18px 20px 16px;
  border:1px solid #d7e6df;
  border-radius:14px;
  background:linear-gradient(135deg,#f4fbf7 0%,#ffffff 72%);
  box-shadow:0 8px 24px rgba(24,92,72,.08);
}
.gbb-departure-controls>div{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0;
}
.gbb-departure-controls>div+div{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #dfeae5;
}
.gbb-departure-controls>div::before{
  flex:0 0 100%;
  color:#587169;
  font:700 11px/1.2 Montserrat,sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.gbb-departure-controls>div:first-child::before{content:"Departure year"}
.gbb-departure-controls>div:last-child::before{content:"Departure month"}
.gbb-departure-controls button{
  min-width:48px;
  min-height:42px;
  padding:9px 13px;
  border:1px solid #c9dbd3;
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 7px rgba(22,64,51,.06);
  color:#214b3e;
  cursor:pointer;
  font:700 13px/1 Montserrat,sans-serif;
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease;
}
.gbb-departure-controls [data-year]{
  min-width:92px;
  min-height:48px;
  padding:11px 20px;
  border-width:2px;
  border-color:#88b7a5;
  font-size:16px;
  letter-spacing:.02em;
}
.gbb-departure-controls [data-month]{
  flex:1 1 58px;
  max-width:76px;
}
.gbb-departure-controls button:hover{
  transform:translateY(-1px);
  border-color:#23866a;
  background:#edf7f3;
  color:#174c3d;
  box-shadow:0 6px 14px rgba(24,92,72,.13);
}
.gbb-departure-controls button.is-active{
  transform:translateY(-1px);
  border-color:#185c48;
  background:#185c48;
  color:#fff;
  box-shadow:0 0 0 3px rgba(35,134,106,.18),0 8px 18px rgba(24,92,72,.25);
}
.gbb-departure-controls button.is-active:hover{
  background:#124b3b;
  border-color:#124b3b;
  color:#fff;
}
.gbb-departure-controls button:focus-visible{
  outline:3px solid rgba(249,115,22,.38);
  outline-offset:3px;
}
@media (max-width:700px){
  .gbb-departure-controls{padding:15px 14px}
  .gbb-departure-controls>div{gap:7px}
  .gbb-departure-controls [data-month]{flex:1 1 calc(25% - 7px);max-width:none;min-width:0}
}
@media (max-width:420px){
  .gbb-departure-controls [data-month]{flex-basis:calc(33.333% - 7px)}
}


/* v2.2.5 — taxonomy artwork on Tour Style cards. */
.gbb-style-grid a{position:relative;overflow:hidden;background-size:cover;background-position:center}
.gbb-style-grid a>i{display:none;position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,24,20,.84),rgba(14,24,20,.18))}
.gbb-style-grid a.has-term-image>i{display:block}
.gbb-style-grid a.has-term-image>span,.gbb-style-grid a.has-term-image>strong{position:relative;z-index:1;color:#fff}
.gbb-style-grid a.has-term-image>span{border-color:rgba(255,255,255,.72);background:rgba(0,0,0,.18);backdrop-filter:blur(3px)}
.gbb-style-grid a.has-term-image:hover{background-color:transparent;background-blend-mode:normal}
.gbb-style-grid a.has-term-image:hover>i{background:linear-gradient(0deg,rgba(94,164,0,.88),rgba(32,36,35,.24))}

/* =========================================================
   v2.3.0 — Configurable homepage hero slider
========================================================= */
.gbb-hero-slider{
  --gbb-hero-height:700px;
  --gbb-hero-mobile-height:720px;
  --gbb-hero-duration:850ms;
  --gbb-hero-overlay:.48;
  position:relative;
  display:block;
  height:var(--gbb-hero-height);
  min-height:560px;
  overflow:visible;
  background:#1b2f28;
  isolation:isolate;
}
.gbb-hero-slider__viewport,.gbb-hero-slider__track{position:absolute;inset:0;overflow:hidden}
.gbb-hero-slider__track{background:#1b2f28;perspective:1400px}
.gbb-hero-slide{position:absolute;inset:0;z-index:0;display:flex;align-items:center;visibility:hidden;opacity:0;pointer-events:none;transition:opacity var(--gbb-hero-duration) ease,transform var(--gbb-hero-duration) cubic-bezier(.2,.7,.2,1),clip-path var(--gbb-hero-duration) cubic-bezier(.2,.7,.2,1),filter var(--gbb-hero-duration) ease;will-change:opacity,transform,clip-path,filter}
.gbb-hero-slide.is-active,.gbb-hero-slide.is-leaving{visibility:visible}
.gbb-hero-slide.is-active{z-index:2;opacity:1;pointer-events:auto}
.gbb-hero-slide.is-leaving{z-index:1;pointer-events:none}
.gbb-hero-slide__media,.gbb-hero-slide__overlay{position:absolute;inset:0}
.gbb-hero-slide__media{background-size:cover;background-repeat:no-repeat;transform:scale(1.001);will-change:transform}
.gbb-hero-slide__overlay{z-index:1;background:linear-gradient(90deg,rgba(0,0,0,calc(var(--gbb-hero-overlay) + .12)),rgba(0,0,0,calc(var(--gbb-hero-overlay) * .34)) 64%,rgba(0,0,0,calc(var(--gbb-hero-overlay) * .72)))}
.gbb-hero-slide__content{position:relative;z-index:2;display:flex;align-items:center;width:min(100% - 40px,var(--gbb-shell));height:100%;padding:72px 0 150px;color:#fff}
.gbb-hero-slide__content.is-left{justify-content:flex-start;text-align:left}
.gbb-hero-slide__content.is-center{justify-content:center;text-align:center}
.gbb-hero-slide__content.is-right{justify-content:flex-end;text-align:right}
.gbb-hero-slide__copy{width:min(790px,72vw)}
.gbb-hero-slide__content.is-center .gbb-hero-slide__copy{margin-inline:auto}
.gbb-hero-slide__content.is-right .gbb-hero-slide__copy{margin-left:auto}
.gbb-hero-slide__eyebrow{display:inline-flex;margin:0 0 14px;padding:7px 12px;border-left:4px solid var(--gbb-green);background:rgba(13,23,19,.46);backdrop-filter:blur(5px);font:800 12px/1.2 Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.gbb-hero-slider .gbb-hero-slide h1,.gbb-hero-slider .gbb-hero-slide h2{max-width:none;margin:0;color:#fff;font:800 clamp(38px,5.1vw,72px)/1.04 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:-.035em;text-shadow:0 3px 22px rgba(0,0,0,.24)}
.gbb-hero-slider .gbb-hero-slide p{max-width:680px;margin:20px 0 0;color:#fff;font:500 clamp(16px,1.4vw,21px)/1.6 Montserrat,sans-serif;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.gbb-hero-slide__content.is-center p{margin-inline:auto}
.gbb-hero-slide__content.is-right p{margin-left:auto}
.gbb-hero-slide__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.gbb-hero-slide__content.is-center .gbb-hero-slide__actions{justify-content:center}
.gbb-hero-slide__content.is-right .gbb-hero-slide__actions{justify-content:flex-end}
.gbb-hero-slide__actions .gbb-btn{min-height:50px;padding:14px 24px;border-radius:2px;box-shadow:0 8px 24px rgba(0,0,0,.22)}
.gbb-hero-slide__primary{background:var(--gbb-green);border-color:var(--gbb-green)}
.gbb-hero-slide__secondary{background:rgba(10,20,16,.28);border-color:rgba(255,255,255,.72);color:#fff!important;backdrop-filter:blur(5px)}
.gbb-hero-slide__secondary:hover{background:#fff;border-color:#fff;color:var(--gbb-charcoal)!important}

/* Slider controls */
.gbb-hero-slider__arrow{position:absolute;z-index:12;top:44%;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.52);border-radius:50%;background:rgba(15,30,24,.35);color:#fff;cursor:pointer;backdrop-filter:blur(7px);transition:background .2s,transform .2s,border-color .2s}
.gbb-hero-slider__arrow:hover,.gbb-hero-slider__arrow:focus-visible{background:var(--gbb-green);border-color:var(--gbb-green);transform:scale(1.07)}
.gbb-hero-slider__arrow .gbb-icon{width:21px;height:21px}
.gbb-hero-slider__arrow--prev{left:max(18px,calc((100vw - var(--gbb-shell))/2 - 72px))}
.gbb-hero-slider__arrow--prev .gbb-icon{transform:rotate(180deg)}
.gbb-hero-slider__arrow--next{right:max(18px,calc((100vw - var(--gbb-shell))/2 - 72px))}
.gbb-hero-slider__dots{position:absolute;z-index:12;left:50%;bottom:92px;display:flex;align-items:center;gap:9px;transform:translateX(-50%)}
.gbb-hero-slider__dots button{display:grid;place-items:center;width:25px;height:25px;padding:0;border:0;background:transparent;cursor:pointer}
.gbb-hero-slider__dots button span{display:block;width:8px;height:8px;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(255,255,255,.45);transition:width .25s,background .25s,border-radius .25s}
.gbb-hero-slider__dots button[aria-selected="true"] span{width:24px;border-color:var(--gbb-green);border-radius:999px;background:var(--gbb-green)}
.gbb-hero-slider.is-single-slide .gbb-hero-slider__arrow,.gbb-hero-slider.is-single-slide .gbb-hero-slider__dots{display:none}
.gbb-hero-slider .gbb-search-panel{z-index:20}

/* Slide transitions */
.gbb-hero-slider[data-transition="fade"] .gbb-hero-slide{transform:none}
.gbb-hero-slider[data-transition="slide-left"] .gbb-hero-slide:not(.is-active):not(.is-leaving){transform:translate3d(100%,0,0)}
.gbb-hero-slider[data-transition="slide-left"][data-direction="prev"] .gbb-hero-slide:not(.is-active):not(.is-leaving){transform:translate3d(-100%,0,0)}
.gbb-hero-slider[data-transition="slide-left"][data-direction="next"] .gbb-hero-slide.is-leaving{transform:translate3d(-100%,0,0);opacity:1}
.gbb-hero-slider[data-transition="slide-left"][data-direction="prev"] .gbb-hero-slide.is-leaving{transform:translate3d(100%,0,0);opacity:1}
.gbb-hero-slider[data-transition="slide-right"] .gbb-hero-slide:not(.is-active):not(.is-leaving){transform:translate3d(-100%,0,0)}
.gbb-hero-slider[data-transition="slide-right"][data-direction="prev"] .gbb-hero-slide:not(.is-active):not(.is-leaving){transform:translate3d(100%,0,0)}
.gbb-hero-slider[data-transition="slide-right"][data-direction="next"] .gbb-hero-slide.is-leaving{transform:translate3d(100%,0,0);opacity:1}
.gbb-hero-slider[data-transition="slide-right"][data-direction="prev"] .gbb-hero-slide.is-leaving{transform:translate3d(-100%,0,0);opacity:1}
.gbb-hero-slider[data-transition="slide-up"] .gbb-hero-slide:not(.is-active):not(.is-leaving){transform:translate3d(0,100%,0)}
.gbb-hero-slider[data-transition="slide-up"][data-direction="prev"] .gbb-hero-slide:not(.is-active):not(.is-leaving){transform:translate3d(0,-100%,0)}
.gbb-hero-slider[data-transition="slide-up"][data-direction="next"] .gbb-hero-slide.is-leaving{transform:translate3d(0,-100%,0);opacity:1}
.gbb-hero-slider[data-transition="slide-up"][data-direction="prev"] .gbb-hero-slide.is-leaving{transform:translate3d(0,100%,0);opacity:1}
.gbb-hero-slider[data-transition="zoom"] .gbb-hero-slide:not(.is-active):not(.is-leaving){transform:scale(1.13)}
.gbb-hero-slider[data-transition="zoom"] .gbb-hero-slide.is-active{transform:scale(1)}
.gbb-hero-slider[data-transition="zoom"] .gbb-hero-slide.is-leaving{transform:scale(.94);opacity:0}
.gbb-hero-slider[data-transition="clip"] .gbb-hero-slide:not(.is-active):not(.is-leaving){clip-path:inset(0 0 0 100%);opacity:1}
.gbb-hero-slider[data-transition="clip"][data-direction="prev"] .gbb-hero-slide:not(.is-active):not(.is-leaving){clip-path:inset(0 100% 0 0)}
.gbb-hero-slider[data-transition="clip"] .gbb-hero-slide.is-active{clip-path:inset(0);opacity:1}
.gbb-hero-slider[data-transition="clip"] .gbb-hero-slide.is-leaving{opacity:1}
.gbb-hero-slider[data-transition="flip"] .gbb-hero-slide{transform-origin:center;backface-visibility:hidden}
.gbb-hero-slider[data-transition="flip"] .gbb-hero-slide:not(.is-active):not(.is-leaving){transform:rotateY(75deg) scale(.92)}
.gbb-hero-slider[data-transition="flip"][data-direction="prev"] .gbb-hero-slide:not(.is-active):not(.is-leaving){transform:rotateY(-75deg) scale(.92)}
.gbb-hero-slider[data-transition="flip"] .gbb-hero-slide.is-active{transform:rotateY(0) scale(1)}
.gbb-hero-slider[data-transition="flip"] .gbb-hero-slide.is-leaving{transform:rotateY(-75deg) scale(.92);opacity:0}
.gbb-hero-slider[data-transition="flip"][data-direction="prev"] .gbb-hero-slide.is-leaving{transform:rotateY(75deg) scale(.92)}
.gbb-hero-slider[data-transition="blur"] .gbb-hero-slide:not(.is-active):not(.is-leaving){filter:blur(18px);transform:scale(1.06)}
.gbb-hero-slider[data-transition="blur"] .gbb-hero-slide.is-active{filter:blur(0);transform:scale(1)}
.gbb-hero-slider[data-transition="blur"] .gbb-hero-slide.is-leaving{filter:blur(18px);transform:scale(1.04);opacity:0}

/* Text entrance animations. */
.gbb-hero-slide__copy>*{opacity:0;transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1),filter .8s ease,clip-path .9s cubic-bezier(.2,.7,.2,1)}
.gbb-hero-slide.is-active .gbb-hero-slide__copy>*{opacity:1;transform:none;filter:none;clip-path:inset(0)}
.gbb-hero-slide.is-active .gbb-hero-slide__copy>*:nth-child(2){transition-delay:.10s}
.gbb-hero-slide.is-active .gbb-hero-slide__copy>*:nth-child(3){transition-delay:.18s}
.gbb-hero-slide.is-active .gbb-hero-slide__copy>*:nth-child(4){transition-delay:.26s}
.gbb-hero-slide[data-text-animation="fade-up"] .gbb-hero-slide__copy>*{transform:translateY(34px)}
.gbb-hero-slide[data-text-animation="fade-down"] .gbb-hero-slide__copy>*{transform:translateY(-34px)}
.gbb-hero-slide[data-text-animation="fade-left"] .gbb-hero-slide__copy>*{transform:translateX(-46px)}
.gbb-hero-slide[data-text-animation="fade-right"] .gbb-hero-slide__copy>*{transform:translateX(46px)}
.gbb-hero-slide[data-text-animation="zoom-in"] .gbb-hero-slide__copy>*{transform:scale(.82)}
.gbb-hero-slide[data-text-animation="reveal"] .gbb-hero-slide__copy>*{clip-path:inset(0 100% 0 0);transform:translateX(-12px)}
.gbb-hero-slide[data-text-animation="blur-in"] .gbb-hero-slide__copy>*{filter:blur(14px);transform:translateY(12px)}
.gbb-hero-slide.is-active[data-text-animation] .gbb-hero-slide__copy>*{transform:none;filter:none;clip-path:inset(0)}

/* Background motion. */
.gbb-hero-slide.is-active[data-background-animation="kenburns-in"] .gbb-hero-slide__media{animation:gbbHeroKenburnsIn 10s ease-out both}
.gbb-hero-slide.is-active[data-background-animation="kenburns-out"] .gbb-hero-slide__media{animation:gbbHeroKenburnsOut 10s ease-out both}
.gbb-hero-slide.is-active[data-background-animation="pan-left"] .gbb-hero-slide__media{animation:gbbHeroPanLeft 11s ease-out both}
.gbb-hero-slide.is-active[data-background-animation="pan-right"] .gbb-hero-slide__media{animation:gbbHeroPanRight 11s ease-out both}
.gbb-hero-slide.is-active[data-background-animation="pan-up"] .gbb-hero-slide__media{animation:gbbHeroPanUp 11s ease-out both}
@keyframes gbbHeroKenburnsIn{from{transform:scale(1)}to{transform:scale(1.13)}}
@keyframes gbbHeroKenburnsOut{from{transform:scale(1.14)}to{transform:scale(1.01)}}
@keyframes gbbHeroPanLeft{from{transform:scale(1.1) translateX(2.5%)}to{transform:scale(1.1) translateX(-2.5%)}}
@keyframes gbbHeroPanRight{from{transform:scale(1.1) translateX(-2.5%)}to{transform:scale(1.1) translateX(2.5%)}}
@keyframes gbbHeroPanUp{from{transform:scale(1.1) translateY(2.5%)}to{transform:scale(1.1) translateY(-2.5%)}}

@media(max-width:980px){
  .gbb-hero-slider__arrow{top:39%;width:42px;height:42px}
  .gbb-hero-slider__arrow--prev{left:12px}.gbb-hero-slider__arrow--next{right:12px}
  .gbb-hero-slide__copy{width:min(720px,82vw)}
}
@media(max-width:760px){
  .gbb-hero-slider{height:var(--gbb-hero-mobile-height);min-height:620px;padding-top:0}
  .gbb-hero-slide{align-items:flex-start}
  .gbb-hero-slide__content{width:min(100% - 34px,var(--gbb-shell));padding:70px 0 285px;align-items:flex-start}
  .gbb-hero-slide__copy{width:100%}
  .gbb-hero-slider .gbb-hero-slide h1,.gbb-hero-slider .gbb-hero-slide h2{font-size:clamp(33px,10vw,48px);line-height:1.06}
  .gbb-hero-slider .gbb-hero-slide p{margin-top:13px;font-size:15px;line-height:1.5}
  .gbb-hero-slide__actions{margin-top:18px}
  .gbb-hero-slide__actions .gbb-btn{min-height:44px;padding:11px 16px;font-size:11px}
  .gbb-hero-slider__arrow{top:31%}
  .gbb-hero-slider__dots{bottom:272px}
  .gbb-hero-slider .gbb-search-panel{bottom:18px}
  .gbb-hero-slide__overlay{background:linear-gradient(180deg,rgba(0,0,0,calc(var(--gbb-hero-overlay) + .18)),rgba(0,0,0,calc(var(--gbb-hero-overlay) * .42)) 64%,rgba(0,0,0,.58))}
}
@media(max-width:480px){
  .gbb-hero-slide__content{padding-top:54px;padding-bottom:300px}
  .gbb-hero-slider__arrow{display:none}
  .gbb-hero-slider__dots{bottom:286px}
  .gbb-hero-slide__eyebrow{margin-bottom:10px;padding:5px 9px;font-size:10px}
  .gbb-hero-slide__actions{gap:8px}
}
@media(prefers-reduced-motion:reduce){
  .gbb-hero-slide,.gbb-hero-slide__copy>*,.gbb-hero-slide__media{animation:none!important;transition-duration:1ms!important;transition-delay:0ms!important}
}

/* Dynamic WordPress Blog Sidebar — v2.3.1 */
.gbb-blog-sidebar .gbb-widget,
.gbb-blog-sidebar .widget {
    margin: 0 0 28px;
}
.gbb-blog-sidebar .gbb-widget:last-child,
.gbb-blog-sidebar .widget:last-child {
    margin-bottom: 0;
}
.gbb-blog-sidebar .gbb-widget-title,
.gbb-blog-sidebar .widget-title,
.gbb-blog-sidebar .wp-block-heading {
    margin: 0 0 14px;
    padding-bottom: 9px;
    border-bottom: 3px solid var(--gbb-green);
    color: var(--gbb-charcoal);
    font: 700 17px/1.35 Montserrat, sans-serif;
}
.gbb-blog-sidebar .widget ul,
.gbb-blog-sidebar .wp-block-latest-posts,
.gbb-blog-sidebar .wp-block-categories-list,
.gbb-blog-sidebar .wp-block-archives-list,
.gbb-blog-sidebar .wp-block-page-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.gbb-blog-sidebar .widget li,
.gbb-blog-sidebar .wp-block-latest-posts li,
.gbb-blog-sidebar .wp-block-categories-list li,
.gbb-blog-sidebar .wp-block-archives-list li,
.gbb-blog-sidebar .wp-block-page-list li {
    padding: 9px 0;
    border-bottom: 1px solid var(--gbb-line);
}
.gbb-blog-sidebar .widget li:last-child,
.gbb-blog-sidebar .wp-block-latest-posts li:last-child,
.gbb-blog-sidebar .wp-block-categories-list li:last-child,
.gbb-blog-sidebar .wp-block-archives-list li:last-child,
.gbb-blog-sidebar .wp-block-page-list li:last-child {
    border-bottom: 0;
}
.gbb-blog-sidebar .widget a,
.gbb-blog-sidebar .wp-block-latest-posts a,
.gbb-blog-sidebar .wp-block-categories-list a,
.gbb-blog-sidebar .wp-block-archives-list a,
.gbb-blog-sidebar .wp-block-page-list a {
    color: #4f5754;
    text-decoration: none;
}
.gbb-blog-sidebar .widget a:hover,
.gbb-blog-sidebar .widget a:focus-visible {
    color: var(--gbb-green-dark);
}
.gbb-blog-sidebar .wp-block-search__inside-wrapper,
.gbb-blog-sidebar .widget_search form,
.gbb-blog-sidebar .search-form {
    display: flex;
    width: 100%;
}
.gbb-blog-sidebar .wp-block-search__input,
.gbb-blog-sidebar .widget_search input[type="search"],
.gbb-blog-sidebar .search-form input[type="search"] {
    min-width: 0;
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid var(--gbb-line);
    background: #fff;
}
.gbb-blog-sidebar .wp-block-search__button,
.gbb-blog-sidebar .widget_search input[type="submit"],
.gbb-blog-sidebar .search-form button,
.gbb-blog-sidebar .search-form input[type="submit"] {
    min-width: 52px;
    height: 48px;
    margin: 0;
    padding: 0 14px;
    border: 0;
    background: var(--gbb-green);
    color: #fff;
    cursor: pointer;
}
.gbb-blog-sidebar .wp-block-tag-cloud,
.gbb-blog-sidebar .tagcloud {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}
.gbb-blog-sidebar .wp-block-tag-cloud a,
.gbb-blog-sidebar .tagcloud a {
    display: inline-flex;
    margin: 0 !important;
    padding: 6px 10px;
    border: 1px solid var(--gbb-line);
    background: var(--gbb-soft);
    color: #59605d;
    font-size: 12px !important;
    line-height: 1.3;
}
.gbb-blog-sidebar .wp-block-image,
.gbb-blog-sidebar .widget_media_image {
    margin: 0;
}
.gbb-blog-sidebar .wp-block-image img,
.gbb-blog-sidebar .widget_media_image img {
    width: 100%;
    height: auto;
}

/* Default Page Template — post-style hero with right sidebar, v2.3.2 */
.gbb-single-page__hero {
    min-height: 470px;
    height: auto;
    padding: 90px 0;
    align-items: stretch;
    justify-content: center;
    text-align: left;
}
.gbb-single-page__hero > div:first-child {
    background:
        linear-gradient(90deg, rgba(27, 61, 41, .88) 0%, rgba(31, 69, 46, .62) 48%, rgba(35, 76, 51, .18) 100%),
        linear-gradient(180deg, rgba(32, 65, 45, .02) 18%, rgba(24, 54, 37, .72) 100%);
}
.gbb-single-page__hero-content {
    position: relative;
    z-index: 2;
    align-self: center;
    background: transparent;
    border: 0;
    box-shadow: none;
}
.gbb-single-page__hero .gbb-breadcrumbs {
    width: fit-content;
    max-width: 100%;
    margin: 0 0 20px;
    padding: 9px 13px;
    color: rgba(255, 255, 255, .84);
    background: rgba(37, 78, 52, .34);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 650;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.gbb-single-page__hero .gbb-breadcrumbs a {
    color: #d6f4a6;
    text-decoration: none;
}
.gbb-single-page__hero .gbb-breadcrumbs a:hover,
.gbb-single-page__hero .gbb-breadcrumbs a:focus-visible {
    color: #fff;
}
.gbb-single-page__hero .gbb-breadcrumbs [aria-current="page"] {
    max-width: 460px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.gbb-single-page__hero h1 {
    max-width: 920px;
    margin: 0;
    color: #fff;
    font: 800 clamp(40px, 5.2vw, 68px)/1.06 Montserrat, sans-serif;
    letter-spacing: -.045em;
    text-transform: none;
    text-wrap: balance;
    text-shadow: 0 4px 22px rgba(29, 65, 43, .38);
}
.gbb-single-page__hero h1::after {
    content: "";
    display: block;
    width: 84px;
    height: 5px;
    margin-top: 21px;
    background: linear-gradient(90deg, #82c815, #b3e55f);
    border-radius: 999px;
}
.gbb-single-page__lead {
    max-width: 760px !important;
    margin: 21px 0 0 !important;
    color: rgba(255, 255, 255, .9) !important;
    font-size: 17px;
    line-height: 1.7;
}
.gbb-page-article {
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 34px;
    align-items: start;
    padding-top: 58px;
    padding-bottom: 80px;
}
.gbb-page-main,
.gbb-page-article .gbb-blog-sidebar {
    min-width: 0;
}
.gbb-page-entry-content {
    max-width: none;
    padding: clamp(28px, 4vw, 52px);
    background: #fff;
    border: 1px solid #dce5d8;
    border-radius: 22px;
    box-shadow: 0 18px 48px rgba(32, 51, 41, .09);
}
.gbb-page-entry-content h2 {
    position: relative;
    margin: 46px 0 20px;
    padding-bottom: 12px;
    color: #203329;
    font: 800 clamp(27px, 3vw, 36px)/1.25 Montserrat, sans-serif;
    letter-spacing: -.03em;
}
.gbb-page-entry-content h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 66px;
    height: 4px;
    background: #82c815;
    border-radius: 999px;
}
.gbb-page-entry-content h3 {
    margin: 32px 0 14px;
    color: #203329;
    font: 750 23px/1.35 Montserrat, sans-serif;
}
.gbb-page-entry-content p,
.gbb-page-entry-content li {
    color: #405348;
    font-size: 17px;
    line-height: 1.82;
}
.gbb-page-entry-content a {
    color: #679f18;
    text-decoration-color: rgba(103, 159, 24, .4);
    text-underline-offset: 3px;
}
.gbb-page-entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 16px;
}
.gbb-page-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 28px;
}
.gbb-page-links a,
.gbb-page-links > span {
    min-width: 38px;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 11px;
    border: 1px solid #dce5d8;
    border-radius: 9px;
    text-decoration: none;
}
.gbb-page-links > span {
    color: #203329;
    background: #82c815;
    border-color: #82c815;
}
@media (max-width: 1050px) {
    .gbb-page-article {
        grid-template-columns: minmax(0, 1fr) 300px;
        gap: 24px;
    }
}
@media (max-width: 900px) {
    .gbb-page-article {
        grid-template-columns: 1fr;
    }
    .gbb-page-article .gbb-blog-sidebar {
        position: relative;
        top: auto;
        width: 100%;
    }
}
@media (max-width: 600px) {
    .gbb-single-page__hero {
        min-height: 410px;
        padding: 68px 0 42px;
    }
    .gbb-single-page__hero > div:first-child {
        background: linear-gradient(180deg, rgba(31, 69, 46, .14) 0%, rgba(28, 63, 43, .46) 46%, rgba(23, 53, 36, .9) 100%);
    }
    .gbb-single-page__hero .gbb-breadcrumbs {
        width: 100%;
        padding: 8px 10px;
        border-radius: 12px;
        font-size: 10px;
    }
    .gbb-single-page__hero .gbb-breadcrumbs [aria-current="page"] {
        max-width: 180px;
    }
    .gbb-single-page__hero h1 {
        font-size: clamp(33px, 10vw, 46px);
        line-height: 1.1;
    }
    .gbb-single-page__hero h1::after {
        width: 66px;
        height: 4px;
        margin-top: 17px;
    }
    .gbb-single-page__lead {
        font-size: 15px;
    }
    .gbb-page-article {
        padding-top: 28px;
        padding-bottom: 54px;
    }
    .gbb-page-entry-content {
        padding: 24px 19px;
        border-radius: 17px;
    }
    .gbb-page-entry-content p,
    .gbb-page-entry-content li {
        font-size: 16px;
        line-height: 1.75;
    }
}

/* =========================================================
   HOMEPAGE – GUARANTEED & SET DEPARTURES
   ========================================================= */
.gbb-departure-showcase {
    padding-top: 145px;
    background:
        radial-gradient(circle at 8% 8%, rgba(130, 200, 21, .09), transparent 24%),
        linear-gradient(180deg, #ffffff 0%, #f7faf4 100%);
}
.gbb-departure-showcase__heading {
    max-width: 880px;
    margin-bottom: 46px;
}
.gbb-departure-groups {
    display: grid;
    gap: 34px;
}
.gbb-departure-group {
    position: relative;
    overflow: hidden;
    padding: clamp(24px, 3vw, 38px);
    background: #ffffff;
    border: 1px solid #dce5d8;
    border-radius: 24px;
    box-shadow: 0 16px 42px rgba(32, 51, 41, .08);
}
.gbb-departure-group::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: #82c815;
}
.gbb-departure-group--set {
    background:
        radial-gradient(circle at 100% 0, rgba(130, 200, 21, .12), transparent 27%),
        #ffffff;
}
.gbb-departure-group--guaranteed {
    background:
        radial-gradient(circle at 0 100%, rgba(130, 200, 21, .09), transparent 28%),
        #f8faf6;
}
.gbb-departure-group--guaranteed::before {
    background: #5f9317;
}
.gbb-departure-group__header {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 17px;
    align-items: start;
    max-width: 900px;
    margin-bottom: 26px;
}
.gbb-departure-group__icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    color: #294035;
    background: #82c815;
    border-radius: 17px;
    box-shadow: 0 10px 22px rgba(103, 159, 24, .2);
}
.gbb-departure-group--guaranteed .gbb-departure-group__icon {
    color: #ffffff;
    background: #294b38;
    box-shadow: 0 10px 22px rgba(32, 51, 41, .17);
}
.gbb-departure-group__icon .gbb-icon {
    width: 26px;
    height: 26px;
}
.gbb-departure-group__header h3 {
    margin: 0 0 7px;
    color: #203329;
    font: 800 clamp(24px, 2.5vw, 34px)/1.15 Montserrat, sans-serif;
    letter-spacing: -.025em;
    text-transform: uppercase;
}
.gbb-departure-group__header p {
    max-width: 760px;
    margin: 0;
    color: #607168;
    font-size: 15px;
    line-height: 1.65;
}
.gbb-departure-group__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}
.gbb-departure-group__grid--count-1 {
    grid-template-columns: minmax(0, 430px);
    justify-content: center;
}
.gbb-departure-group__grid--count-2 {
    grid-template-columns: repeat(2, minmax(0, 430px));
    justify-content: center;
}
.gbb-departure-group__grid--count-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.gbb-departure-group__grid--count-4,
.gbb-departure-group__grid--count-5,
.gbb-departure-group__grid--count-6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.gbb-departure-group .gbb-tour-card {
    overflow: hidden;
    border-color: #dfe7db;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(32, 51, 41, .075);
}
.gbb-departure-group .gbb-tour-card:hover {
    border-color: #b8d58f;
    box-shadow: 0 16px 34px rgba(32, 51, 41, .12);
}
.gbb-departure-group .gbb-tour-card__image {
    height: 250px;
}
.gbb-departure-group .gbb-tour-card__meta {
    padding: 17px 18px 19px;
    gap: 9px 13px;
}

.gbb-departure-showcase__cta {
    display: flex;
    justify-content: center;
    margin-top: 24px;
}
.gbb-departure-showcase__cta .gbb-btn {
    display: inline-flex !important;
    min-width: 290px;
    padding: 16px 28px;
}
.gbb-departure-showcase__cta .gbb-icon {
    width: 20px;
    height: 20px;
}
.gbb-departure-empty {
    padding: 30px;
    text-align: center;
    background: rgba(255, 255, 255, .72);
    border: 1px dashed #b9cf9f;
    border-radius: 16px;
}
.gbb-departure-empty strong {
    display: block;
    margin-bottom: 7px;
    color: #203329;
    font: 800 18px/1.35 Montserrat, sans-serif;
}
.gbb-departure-empty p {
    max-width: 620px;
    margin: 0 auto;
    color: #66786d;
    font-size: 14px;
    line-height: 1.6;
}
@media (max-width: 1100px) {
    .gbb-departure-group__grid,
    .gbb-departure-group__grid--count-3,
    .gbb-departure-group__grid--count-4,
    .gbb-departure-group__grid--count-5,
    .gbb-departure-group__grid--count-6 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 900px) {
    .gbb-departure-group__grid,
    .gbb-departure-group__grid--count-2,
    .gbb-departure-group__grid--count-3,
    .gbb-departure-group__grid--count-4,
    .gbb-departure-group__grid--count-5,
    .gbb-departure-group__grid--count-6 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 760px) {
    .gbb-departure-showcase {
        padding-top: 65px;
    }
    .gbb-departure-showcase__heading {
        margin-bottom: 30px;
    }
    .gbb-departure-groups {
        gap: 24px;
    }
    .gbb-departure-group {
        padding: 22px 16px;
        border-radius: 18px;
    }
    .gbb-departure-group__header {
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 13px;
        margin-bottom: 20px;
    }
    .gbb-departure-group__icon {
        width: 48px;
        height: 48px;
        border-radius: 14px;
    }
    .gbb-departure-group__icon .gbb-icon {
        width: 22px;
        height: 22px;
    }
    .gbb-departure-group__header h3 {
        font-size: 23px;
    }
    .gbb-departure-group__header p {
        font-size: 14px;
    }
    .gbb-departure-group__grid,
    .gbb-departure-group__grid--count-1,
    .gbb-departure-group__grid--count-2,
    .gbb-departure-group__grid--count-3,
    .gbb-departure-group__grid--count-4,
    .gbb-departure-group__grid--count-5,
    .gbb-departure-group__grid--count-6 {
        grid-template-columns: 1fr;
    }
    .gbb-departure-group .gbb-tour-card__image {
        height: 225px;
    }
}

/* =========================================================
   TOUR SHOP / ARCHIVE CARDS — v2.3.4
   ========================================================= */
.gbb-tour-archive .gbb-planner {
    padding: 72px 0 86px;
    background: #f6f8f3;
}
.gbb-tour-archive .gbb-search-panel--inline {
    margin-bottom: 48px;
    border: 1px solid #dce5d8;
    border-radius: 18px;
    box-shadow: 0 18px 44px rgba(32, 51, 41, .10);
}
.gbb-tour-archive__toolbar {
    min-height: 58px;
    margin-bottom: 28px;
    padding: 0 0 16px;
    border-bottom: 1px solid #dce5d8;
}
.gbb-tour-archive__toolbar strong {
    color: #203329;
    font: 800 14px/1.3 Montserrat, sans-serif;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.gbb-tour-archive__toolbar .woocommerce-ordering {
    margin: 0;
}
.gbb-tour-archive__toolbar .woocommerce-ordering select {
    min-width: 220px;
    height: 46px;
    margin: 0;
    padding: 0 40px 0 14px;
    color: #344b3d;
    background-color: #fff;
    border: 1px solid #d4dfd1;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 650;
}
.gbb-tour-grid--archive {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: stretch;
}
.gbb-tour-card--archive {
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border: 1px solid #dce5d8;
    border-radius: 18px;
    box-shadow: 0 9px 27px rgba(32, 51, 41, .075);
    transform: none;
}
.gbb-tour-card--archive:hover {
    border-color: #b8d58f;
    box-shadow: 0 18px 42px rgba(32, 51, 41, .13);
    transform: translateY(-4px);
}
.gbb-tour-card--archive .gbb-tour-card__image {
    height: 255px;
    padding: 22px;
    background-position: center;
}
.gbb-tour-card--archive .gbb-tour-card__shade {
    background: linear-gradient(0deg, rgba(24, 54, 37, .92) 0%, rgba(28, 65, 43, .32) 58%, rgba(28, 65, 43, .08) 100%);
}
.gbb-tour-card--archive h3 {
    max-width: calc(100% - 20px);
    font-size: 19px;
    line-height: 1.32;
    letter-spacing: -.015em;
    text-transform: none;
    text-shadow: 0 2px 12px rgba(22, 48, 32, .32);
}
.gbb-tour-card__badge {
    position: absolute;
    z-index: 2;
    top: 15px;
    left: 15px;
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 6px 10px;
    color: #203329;
    background: rgba(236, 248, 218, .94);
    border: 1px solid rgba(255, 255, 255, .78);
    border-radius: 999px;
    box-shadow: 0 5px 16px rgba(24, 54, 37, .14);
    font: 800 10px/1 Montserrat, sans-serif;
    letter-spacing: .07em;
    text-transform: uppercase;
    backdrop-filter: blur(7px);
}
.gbb-tour-card__badge--set {
    color: #fff;
    background: rgba(32, 76, 49, .9);
}
.gbb-tour-card__badge--guaranteed {
    color: #203329;
    background: rgba(130, 200, 21, .94);
}
.gbb-tour-card__badge--custom {
    color: #24413a;
    background: rgba(225, 243, 238, .95);
}
.gbb-tour-card__badge--festive {
    color: #5d3a13;
    background: rgba(255, 230, 180, .95);
}
.gbb-tour-card__badge--event {
    color: #ffffff;
    background: rgba(43, 54, 50, .92);
}
.gbb-tour-card--archive .gbb-wishlist {
    top: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
    color: #294437;
    border: 1px solid rgba(255, 255, 255, .75);
}
.gbb-tour-card__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 18px 19px 20px;
}
.gbb-tour-card__route {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    min-height: 46px;
    margin: 0 0 15px;
    padding-bottom: 14px;
    color: #405348;
    border-bottom: 1px solid #e4ebe1;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.5;
}
.gbb-tour-card__route .gbb-icon {
    width: 17px;
    height: 17px;
    margin-top: 1px;
    color: #679f18;
}
.gbb-tour-card__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin: 0 0 13px;
}
.gbb-tour-card__facts > div {
    position: relative;
    min-width: 0;
    min-height: 61px;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 8px;
    align-content: center;
    padding: 9px 10px;
    background: #f7faf4;
    border: 1px solid #e1e9dd;
    border-radius: 10px;
}
.gbb-tour-card__facts .gbb-icon {
    grid-row: 1 / span 2;
    width: 17px;
    height: 17px;
    margin-top: 2px;
    color: #82c815;
}
.gbb-tour-card__facts dt,
.gbb-tour-card__facts dd {
    min-width: 0;
    margin: 0;
}
.gbb-tour-card__facts dt {
    color: #7a897f;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.gbb-tour-card__facts dd {
    overflow: hidden;
    color: #2e4538;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
    text-overflow: ellipsis;
}
.gbb-tour-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 14px;
}
.gbb-tour-card__tags span {
    display: inline-flex;
    padding: 5px 8px;
    color: #5b6f63;
    background: #fff;
    border: 1px solid #dce5d8;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
}
.gbb-tour-card__departure {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    margin-top: auto;
    padding: 11px 12px;
    color: #31483a;
    background: linear-gradient(135deg, #eff7e5 0%, #f8fbf4 100%);
    border: 1px solid #d6e8bd;
    border-radius: 11px;
}
.gbb-tour-card__departure .gbb-icon {
    width: 19px;
    height: 19px;
    color: #679f18;
}
.gbb-tour-card__departure span {
    display: grid;
    gap: 2px;
}
.gbb-tour-card__departure small {
    color: #728177;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.gbb-tour-card__departure strong {
    color: #294437;
    font-size: 12px;
    line-height: 1.35;
}
.gbb-tour-card--archive .gbb-tour-card__footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 13px;
    align-items: center;
    margin-top: 16px;
    padding-top: 15px;
    border-top: 1px solid #e2e9df;
}
.gbb-tour-card--archive .gbb-tour-card__price {
    display: grid !important;
    gap: 3px;
    min-width: 0;
}
.gbb-tour-card--archive .gbb-tour-card__price > small {
    color: #7b8980;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.gbb-tour-card--archive .gbb-tour-card__price > strong {
    color: #679f18;
    font: 800 16px/1.3 Montserrat, sans-serif;
}
.gbb-tour-card--archive .gbb-tour-card__price .price,
.gbb-tour-card--archive .gbb-tour-card__price .woocommerce-Price-amount {
    color: inherit !important;
    font: inherit !important;
}
.gbb-tour-card__cta {
    min-height: 43px;
    padding: 10px 13px;
    border-radius: 9px;
    font-size: 10px;
    white-space: nowrap;
}
.gbb-tour-card__cta .gbb-icon {
    width: 16px;
    height: 16px;
}
@media (max-width: 1050px) {
    .gbb-tour-grid--archive {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 760px) {
    .gbb-tour-archive .gbb-planner {
        padding: 45px 0 60px;
    }
    .gbb-tour-archive__toolbar {
        align-items: stretch;
        flex-direction: column;
    }
    .gbb-tour-archive__toolbar .woocommerce-ordering,
    .gbb-tour-archive__toolbar .woocommerce-ordering select {
        width: 100%;
    }
    .gbb-tour-grid--archive {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .gbb-tour-card--archive .gbb-tour-card__image {
        height: 235px;
    }
}
@media (max-width: 420px) {
    .gbb-tour-card__facts {
        grid-template-columns: 1fr 1fr;
    }
    .gbb-tour-card--archive .gbb-tour-card__footer {
        grid-template-columns: 1fr;
    }
    .gbb-tour-card__cta {
        width: 100%;
    }
}

/* =========================================================
   SINGLE TOUR SIDEBAR + SIMILAR TOURS — v2.3.5
   ========================================================= */
.gbb-tour-detail__layout {
    grid-template-columns: minmax(0, 1fr) 350px;
    gap: 38px;
}

.gbb-tour-detail__sidebar,
.gbb-tour-detail__sidebar *,
.gbb-tour-detail__sidebar *::before,
.gbb-tour-detail__sidebar *::after {
    box-sizing: border-box;
}

.gbb-tour-detail__sidebar {
    min-width: 0;
    align-self: start;
}

/* Keep the booking panel visible; the opaque Similar Tours panel scrolls over it naturally. */
.gbb-tour-detail__sidebar .gbb-booking-card {
    position: sticky;
    top: 85px;
    z-index: 1;
    width: 100%;
    margin: 0 0 28px;
    border: 1px solid #e0e7dc;
    border-top: 5px solid var(--gbb-green);
    border-radius: 0 0 15px 15px;
    box-shadow: 0 14px 38px rgba(32, 51, 41, .09);
}

.gbb-similar-tours {
    position: relative;
    z-index: 2;
    overflow: hidden;
    padding: 20px;
    background: #fff;
    border: 1px solid #dce5d8;
    border-radius: 17px;
    box-shadow: 0 14px 38px rgba(32, 51, 41, .08);
}

.gbb-similar-tours__header {
    position: relative;
    margin: 0 0 15px;
    padding: 0 0 14px;
    border-bottom: 1px solid #e0e8dc;
}

.gbb-similar-tours__header::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 58px;
    height: 3px;
    background: var(--gbb-green);
    border-radius: 999px;
}

.gbb-similar-tours__header > span {
    display: block;
    margin-bottom: 4px;
    color: var(--gbb-green-dark);
    font: 800 10px/1.3 Montserrat, sans-serif;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.gbb-similar-tours__header h2 {
    margin: 0;
    padding: 0;
    color: #203329;
    border: 0;
    font: 800 23px/1.2 Montserrat, sans-serif;
    letter-spacing: -.025em;
    text-transform: none;
}

.gbb-similar-tours__header h2::after {
    display: none;
    content: none;
}

.gbb-similar-tours__list {
    display: flex;
    flex-direction: column;
}

.gbb-similar-tour-card {
    display: grid;
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 12px;
    min-width: 0;
    margin: 0;
    padding: 13px 0;
    border-bottom: 1px solid #e4ebe1;
}

.gbb-similar-tour-card:first-child {
    padding-top: 0;
}

.gbb-similar-tour-card:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.gbb-similar-tour-card__image {
    position: relative;
    width: 94px;
    height: 90px;
    display: block;
    overflow: hidden;
    background: #edf2e9;
    border-radius: 11px;
    text-decoration: none;
}

.gbb-similar-tour-card__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .25s ease;
}

.gbb-similar-tour-card:hover .gbb-similar-tour-card__image img {
    transform: scale(1.045);
}

.gbb-similar-tour-card__image > span {
    position: absolute;
    top: 7px;
    left: 7px;
    max-width: calc(100% - 14px);
    padding: 4px 7px;
    overflow: hidden;
    color: #203329;
    background: rgba(186, 232, 111, .94);
    border-radius: 999px;
    font: 800 8px/1 Montserrat, sans-serif;
    letter-spacing: .04em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.gbb-similar-tour-card__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.gbb-similar-tour-card h3 {
    margin: 0 0 6px;
    padding: 0;
    font: 750 13px/1.38 Montserrat, sans-serif;
    letter-spacing: -.01em;
}

.gbb-similar-tour-card h3 a {
    display: -webkit-box;
    overflow: hidden;
    color: #294035;
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.gbb-similar-tour-card h3 a:hover {
    color: var(--gbb-green-dark);
}

.gbb-similar-tour-card__facts {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-bottom: 7px;
}

.gbb-similar-tour-card__facts > span {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 5px;
    overflow: hidden;
    color: #718077;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gbb-similar-tour-card__facts .gbb-icon {
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
    color: var(--gbb-green-dark);
}

.gbb-similar-tour-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
}

.gbb-similar-tour-card__footer > strong {
    min-width: 0;
    color: var(--gbb-green-dark);
    font: 800 13px/1.2 Montserrat, sans-serif;
}

.gbb-similar-tour-card__footer > strong .price,
.gbb-similar-tour-card__footer > strong .woocommerce-Price-amount {
    display: inline !important;
    margin: 0;
    color: inherit;
    font: inherit;
}

.gbb-similar-tour-card__footer > a {
    width: 29px;
    height: 29px;
    flex: 0 0 29px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #203329;
    background: var(--gbb-green);
    border-radius: 50%;
    text-decoration: none;
    transition: color .2s ease, background-color .2s ease;
}

.gbb-similar-tour-card__footer > a:hover {
    color: #fff;
    background: var(--gbb-green-dark);
}

.gbb-similar-tour-card__footer .gbb-icon {
    width: 15px;
    height: 15px;
}

.gbb-similar-tour-card__next {
    display: block;
    margin-top: 4px;
    color: #718077;
    font-size: 9px;
    font-weight: 650;
    line-height: 1.3;
}

.gbb-similar-tours__all {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: 18px;
    padding: 11px 15px;
    color: #203329;
    background: #f3f8ed;
    border: 1px solid #cfe0c4;
    border-radius: 10px;
    font: 800 11px/1 Montserrat, sans-serif;
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
}

.gbb-similar-tours__all:hover {
    color: #fff;
    background: var(--gbb-green-dark);
    border-color: var(--gbb-green-dark);
}

.gbb-similar-tours__all .gbb-icon {
    width: 17px;
    height: 17px;
}

@media (max-width: 1100px) and (min-width: 1001px) {
    .gbb-tour-detail__layout {
        grid-template-columns: minmax(0, 1fr) 320px;
        gap: 28px;
    }

    .gbb-similar-tours {
        padding: 17px;
    }

    .gbb-similar-tour-card {
        grid-template-columns: 82px minmax(0, 1fr);
        gap: 10px;
    }

    .gbb-similar-tour-card__image {
        width: 82px;
        height: 82px;
    }
}

@media (max-width: 1000px) {
    .gbb-tour-detail__layout {
        grid-template-columns: 1fr;
    }

    .gbb-tour-detail__sidebar {
        width: 100%;
    }

    .gbb-tour-detail__sidebar .gbb-booking-card {
        position: static;
        top: auto;
    }

    .gbb-similar-tours__list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 24px;
    }

    .gbb-similar-tour-card:nth-last-child(-n + 2) {
        border-bottom: 0;
    }
}

@media (max-width: 620px) {
    .gbb-similar-tours {
        padding: 17px;
        border-radius: 14px;
    }

    .gbb-similar-tours__list {
        grid-template-columns: 1fr;
    }

    .gbb-similar-tour-card:nth-last-child(2) {
        border-bottom: 1px solid #e4ebe1;
    }

    .gbb-similar-tour-card {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    .gbb-similar-tour-card__image {
        width: 88px;
        height: 84px;
    }
}



/* Destinations index and homepage View All action — v2.3.9 */
.gbb-destinations__actions{margin-top:34px}
.gbb-destinations__actions .gbb-btn{min-width:220px}
.gbb-all-destinations{background:var(--gbb-soft)}
.gbb-destinations-page__intro{max-width:820px;margin:0 auto 42px;text-align:center}
.gbb-destinations-page__intro>:first-child{margin-top:0}
.gbb-destinations-page__intro>:last-child{margin-bottom:0}
.gbb-destination-grid--all{gap:28px}
.gbb-destination-grid--all>a{height:300px;border-radius:20px;border:1px solid rgba(121,201,0,.28);box-shadow:0 12px 28px rgba(20,31,25,.10)}
.gbb-destination-grid--all>a>div{padding:28px}
.gbb-destination-grid--all h3{font-size:25px}
@media(max-width:760px){.gbb-destination-grid--all{gap:20px}.gbb-destination-grid--all>a{height:270px;border-radius:16px}.gbb-destinations__actions .gbb-btn{width:100%}}
.gbb-destinations-page .gbb-page-hero .gbb-breadcrumbs{justify-content:center;margin:0 0 12px}

/* v2.3.11 — configurable footer social profiles */
.gbb-footer-socials{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
.gbb-footer-socials a{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:#343a38;color:#fff;transition:background-color .2s,border-color .2s,color .2s,transform .2s}
.gbb-footer-socials a:hover,.gbb-footer-socials a:focus-visible{background:var(--gbb-green);border-color:var(--gbb-green);color:#fff;transform:translateY(-2px)}
.gbb-footer-socials a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.gbb-footer-socials .gbb-social-icon{display:block;width:18px;height:18px}


/* v2.3.15 — About page suite with legacy left navigation */
.gbb-about-suite{background:#fff}
.gbb-about-suite__hero .gbb-shell{position:relative;text-align:center}
.gbb-about-suite__hero .gbb-breadcrumbs{justify-content:center;margin-bottom:10px}
.gbb-about-suite__layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:58px;padding-top:72px;padding-bottom:92px;align-items:start}
.gbb-about-suite__sidebar{min-width:0}
.gbb-about-suite__nav{position:sticky;top:28px}
.gbb-about-suite__nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.gbb-about-suite__nav li{margin:0;padding:0}
.gbb-about-suite__nav a{min-height:54px;display:flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:8px;color:#606362;background:transparent;font:700 14px/1.45 Montserrat,sans-serif;text-align:center;text-transform:uppercase;transition:background-color .2s,color .2s,box-shadow .2s,transform .2s}
.gbb-about-suite__nav a:hover,.gbb-about-suite__nav a:focus-visible{color:var(--gbb-green-dark);background:#f2f8eb;outline:0}
.gbb-about-suite__nav a.is-active{color:#fff;background:var(--gbb-green);box-shadow:0 13px 24px rgba(89,160,0,.25);transform:translateY(-1px)}
.gbb-about-suite__content{min-width:0;padding:0 0 20px}
.gbb-about-suite__content>:first-child{margin-top:0}
.gbb-about-suite__content h2{margin-top:0;color:var(--gbb-charcoal);font:800 clamp(27px,3vw,38px)/1.2 Montserrat,sans-serif;text-transform:uppercase}
.gbb-about-suite__content h2:not(:first-child){margin-top:42px}
.gbb-about-suite__content h3{color:var(--gbb-charcoal);font:750 23px/1.3 Montserrat,sans-serif}
.gbb-about-suite__content img{border-radius:14px}
.gbb-about-suite__content hr{margin:42px 0;border:0;border-top:1px solid var(--gbb-line)}
.gbb-about-suite__mobile-nav{display:none}
.gbb-about-suite__editor-note{margin-top:28px;padding:18px 20px;border:1px dashed #b7c5b8;background:#f7faf5;border-radius:10px}
.gbb-about-suite__editor-note strong{display:block;color:var(--gbb-charcoal)}
.gbb-about-suite__editor-note a{color:var(--gbb-green-dark);font-weight:700}
@media(max-width:900px){.gbb-about-suite__layout{grid-template-columns:205px minmax(0,1fr);gap:34px}.gbb-about-suite__nav a{padding-inline:13px;font-size:12px}}
@media(max-width:720px){.gbb-about-suite__layout{display:block;padding-top:42px;padding-bottom:65px}.gbb-about-suite__nav{display:none}.gbb-about-suite__mobile-nav{display:block;margin-bottom:32px;padding:18px;background:#f3f7f0;border:1px solid #dfe8da;border-radius:12px}.gbb-about-suite__mobile-nav label{display:block;margin-bottom:8px;color:var(--gbb-charcoal);font:800 12px/1.3 Montserrat,sans-serif;letter-spacing:.05em;text-transform:uppercase}.gbb-about-suite__mobile-nav select{width:100%;min-height:46px;padding:8px 40px 8px 12px;border:1px solid #cfd9ca;border-radius:7px;background:#fff;color:#323635;font:700 14px Montserrat,sans-serif}.gbb-about-suite__content h2{font-size:27px}}

/* =========================================================
   SINGLE TOUR TABS + COLLAPSIBLE GALLERY — v2.3.16
   ========================================================= */
.gbb-tour-tabs button {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 17px 28px;
    color: #fff;
    background: transparent;
    border: 0;
    border-right: 1px solid rgba(255,255,255,.12);
    border-radius: 0;
    cursor: pointer;
    font: 700 12px/1 Montserrat, sans-serif;
    letter-spacing: .02em;
    text-transform: uppercase;
    transition: color .2s ease, background-color .2s ease;
}
.gbb-tour-tabs button:hover,
.gbb-tour-tabs button:focus-visible {
    color: #fff;
    background: rgba(255,255,255,.1);
    outline: none;
}
.gbb-tour-tabs button.is-active {
    color: #fff;
    background: var(--gbb-green-dark);
}
.gbb-tour-tabs button:last-child {
    margin-left: auto;
    border-left: 1px solid rgba(255,255,255,.12);
}
.gbb-tour-tabs button:last-child:not(.is-active) {
    background: var(--gbb-green);
}
.gbb-tour-tabs button:last-child:hover,
.gbb-tour-tabs button:last-child:focus-visible,
.gbb-tour-tabs button:last-child.is-active {
    background: var(--gbb-green-dark);
}
.gbb-tour-tab-panel[hidden],
.gbb-tour-gallery__item[hidden] {
    display: none !important;
}
.gbb-tour-tab-panel.is-active {
    animation: gbbTourPanelIn .22s ease-out;
}
@keyframes gbbTourPanelIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
.gbb-tour-tab-panel > .gbb-tour-block:first-child {
    margin-top: 0;
}
.gbb-tour-gallery__actions {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}
.gbb-tour-gallery__toggle {
    min-width: 210px;
    border: 1px solid var(--gbb-green-dark);
    background: transparent;
    color: var(--gbb-green-dark);
    cursor: pointer;
}
.gbb-tour-gallery__toggle:hover,
.gbb-tour-gallery__toggle:focus-visible {
    color: #fff;
    background: var(--gbb-green-dark);
    outline: none;
}
@media (max-width: 760px) {
    .gbb-tour-tabs .gbb-shell {
        width: max-content;
    }
    .gbb-tour-tabs button {
        min-height: 48px;
        padding: 14px 16px;
        white-space: nowrap;
    }
    .gbb-tour-tabs button:last-child {
        margin-left: 0;
    }
    .gbb-tour-gallery__toggle {
        width: 100%;
    }
}
@media (prefers-reduced-motion: reduce) {
    .gbb-tour-tab-panel.is-active {
        animation: none;
    }
}



/* =========================================================
   GOOGLE MAPS ROUTE URL — v2.3.17
   ========================================================= */
.gbb-tour-map-embed {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    margin: 0 0 18px;
    border: 2px solid #79c900;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(121, 201, 0, .14);
}
.gbb-tour-map-embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.gbb-tour-route-media .gbb-tour-file-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}
@media (max-width: 767px) {
    .gbb-tour-map-embed { aspect-ratio: 4 / 3; }
    .gbb-tour-route-media .gbb-tour-file-links .gbb-btn { width: 100%; justify-content: center; }
}

/* =========================================================
   TOUR GALLERY DIALOG / LIGHTBOX — v2.3.23
========================================================= */
body.gbb-gallery-dialog-open {
    overflow: hidden;
}
.gbb-tour-gallery__item {
    cursor: zoom-in;
}
.gbb-gallery-dialog {
    width: min(1180px, calc(100vw - 40px));
    max-width: none;
    max-height: calc(100vh - 40px);
    margin: auto;
    padding: 0;
    border: 0;
    border-radius: 16px;
    background: #111513;
    color: #fff;
    box-shadow: 0 24px 80px rgba(0,0,0,.42);
    overflow: hidden;
}
.gbb-gallery-dialog::backdrop {
    background: rgba(8,12,10,.88);
    backdrop-filter: blur(4px);
}
.gbb-gallery-dialog__panel {
    position: relative;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 40px);
}
.gbb-gallery-dialog__close {
    position: absolute;
    z-index: 3;
    top: 14px;
    right: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 999px;
    background: rgba(17,21,19,.74);
    color: #fff;
    font: 400 32px/1 Arial,sans-serif;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}
.gbb-gallery-dialog__close:hover,
.gbb-gallery-dialog__close:focus-visible {
    background: var(--gbb-green-dark);
    outline: 2px solid #fff;
    outline-offset: 2px;
    transform: scale(1.04);
}
.gbb-gallery-dialog__figure {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    flex-direction: column;
    margin: 0;
}
.gbb-gallery-dialog__stage {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    align-items: center;
    justify-content: center;
    padding: 24px 64px 12px;
    background: #0c0f0e;
}
.gbb-gallery-dialog__image {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: calc(100vh - 190px);
    object-fit: contain;
    border-radius: 8px;
}
.gbb-gallery-dialog__caption {
    margin: 0;
    padding: 10px 22px 0;
    color: rgba(255,255,255,.78);
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
}
.gbb-gallery-dialog__controls {
    display: grid;
    grid-template-columns: minmax(120px,1fr) auto minmax(120px,1fr);
    align-items: center;
    gap: 18px;
    padding: 16px 22px 20px;
    background: #111513;
}
.gbb-gallery-dialog__nav {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    background: transparent;
    color: #fff;
    font: 700 13px/1 Montserrat,sans-serif;
    text-transform: uppercase;
    letter-spacing: .03em;
    cursor: pointer;
}
.gbb-gallery-dialog__nav--prev {
    justify-self: start;
}
.gbb-gallery-dialog__nav--next {
    justify-self: end;
}
.gbb-gallery-dialog__nav:hover,
.gbb-gallery-dialog__nav:focus-visible {
    border-color: var(--gbb-green);
    background: var(--gbb-green-dark);
    outline: none;
}
.gbb-gallery-dialog__counter {
    min-width: 70px;
    color: rgba(255,255,255,.82);
    font: 700 13px/1 Montserrat,sans-serif;
    text-align: center;
}
@media (max-width: 760px) {
    .gbb-gallery-dialog {
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
        border-radius: 12px;
    }
    .gbb-gallery-dialog__panel {
        max-height: calc(100dvh - 16px);
    }
    .gbb-gallery-dialog__stage {
        padding: 62px 10px 10px;
    }
    .gbb-gallery-dialog__image {
        max-height: calc(100dvh - 205px);
        border-radius: 6px;
    }
    .gbb-gallery-dialog__caption {
        padding: 8px 14px 0;
        font-size: 13px;
    }
    .gbb-gallery-dialog__controls {
        grid-template-columns: 1fr auto 1fr;
        gap: 8px;
        padding: 14px 10px 16px;
    }
    .gbb-gallery-dialog__nav {
        min-width: 0;
        padding: 10px 12px;
        font-size: 11px;
    }
    .gbb-gallery-dialog__counter {
        min-width: 52px;
        font-size: 12px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .gbb-gallery-dialog__close {
        transition: none;
    }
}



/* v2.3.25 — Tour overview price stat: Icon → amount → Per Person; remove PRICE label. */
.gbb-overview-stat--price .gbb-icon{display:block;margin:0 auto 7px}
.gbb-overview-stat--price>strong{line-height:1.45}
.gbb-overview-stat--price .price{display:block!important;margin:0!important;color:inherit!important;font:inherit!important}
.gbb-overview-stat--price .woocommerce-Price-amount{display:inline!important;font:800 16px Montserrat,sans-serif;color:var(--gbb-charcoal)}
.gbb-overview-stat--price .woocommerce-Price-amount bdi{white-space:nowrap}
.gbb-overview-stat--price .woocommerce-Price-currencySymbol{display:none!important}
.gbb-overview-stat--price .woocommerce-price-suffix{display:block;margin-top:5px;font:700 12px/1.35 Montserrat,sans-serif;color:var(--gbb-charcoal);text-transform:none}

/* v2.3.26 — Keep all Tour Overview stats on the same Roboto typography system. */
.gbb-overview-stats{font-family:Roboto,Arial,sans-serif}
.gbb-overview-stats>div>span{font-family:Roboto,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.35;letter-spacing:0}
.gbb-overview-stats>div>strong{font-family:Roboto,Arial,sans-serif;font-size:15px;font-weight:700;line-height:1.4;letter-spacing:0;color:var(--gbb-text)}
.gbb-overview-stat--price .price,
.gbb-overview-stat--price .woocommerce-Price-amount,
.gbb-overview-stat--price .woocommerce-Price-amount bdi,
.gbb-overview-stat--price .woocommerce-price-suffix{font-family:Roboto,Arial,sans-serif!important}
.gbb-overview-stat--price .woocommerce-Price-amount{font-size:15px!important;font-weight:700!important;line-height:1.4!important;color:var(--gbb-text)!important}
.gbb-overview-stat--price .woocommerce-price-suffix{display:inline!important;margin:0 0 0 4px!important;font-size:11px!important;font-weight:500!important;line-height:1.4!important;color:var(--gbb-text)!important;text-transform:none!important;vertical-align:baseline}

/* v2.3.27 — Match Price stat value sizing with Duration, Distance and Tour Code. */
.gbb-overview-stat--price>strong,
.gbb-overview-stat--price .price,
.gbb-overview-stat--price .woocommerce-Price-amount,
.gbb-overview-stat--price .woocommerce-Price-amount bdi,
.gbb-overview-stat--price .woocommerce-price-suffix{
    font-size:15px!important;
    line-height:1.4!important;
}
.gbb-overview-stat--price .woocommerce-price-suffix{
    margin-left:4px!important;
    font-weight:700!important;
    vertical-align:baseline!important;
}
