:root {
  --mbg-red: #E5484D;
  --mbg-gold: #E8A63D;
  --mbg-green: #0E8F6B;
  --mbg-green-2: #12B58C;
  --mbg-black: #12161C;
  --mbg-ink: #1C232B;
  --mbg-muted: #6B7280;
  --mbg-paper: #fff;
  --mbg-mist: #F6F7F9;
  --mbg-line: rgba(18, 22, 28, .09);
  --mbg-shadow: 0 24px 64px rgba(18, 22, 28, .10);
  --mbg-soft-shadow: 10px 10px 26px rgba(30, 35, 45, .07), -10px -10px 26px #fff;
  --mbg-radius: 24px;
  --mbg-radius-sm: 14px;
  --mbg-shell: min(1240px, calc(100vw - 40px));
  --mbg-font: "Poppins", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mbg-display: "Poppins", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mbg-ease: cubic-bezier(.16, .84, .44, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--mbg-paper); color: var(--mbg-ink); font-family: var(--mbg-font); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.is-locked { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
h1, h2, h3, h4 { margin: 0; color: var(--mbg-black); font-family: var(--mbg-display); font-weight: 600; line-height: 1.12; letter-spacing: -.01em; }
h1 { font-size: clamp(2.6rem, 5.4vw, 4.6rem); font-weight: 650; }
h2 { font-size: clamp(1.9rem, 3vw, 2.9rem); }
h3 { font-size: clamp(1.15rem, 1.7vw, 1.5rem); font-weight: 600; }
p { margin: 0 0 1rem; }
::selection { background: var(--mbg-gold); color: var(--mbg-black); }

.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus, .mbg-skip-link:focus { clip: auto !important; clip-path: none; height: auto; width: auto; z-index: 99999; }
.mbg-skip-link { position: fixed; left: 16px; top: -100px; z-index: 99999; background: var(--mbg-black); color: #fff; padding: 12px 18px; border-radius: 0 0 10px 10px; }
.mbg-skip-link:focus { top: 0; }
.mbg-shell { width: var(--mbg-shell); margin-inline: auto; }
.mbg-main { overflow: clip; }


.mbg-utility { background: #f8faf8; border-bottom: 1px solid var(--mbg-line); font-size: .73rem; letter-spacing: .01em; color: var(--mbg-muted); }
.mbg-utility__inner { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.mbg-utility p { margin: 0; }
.mbg-utility p span { color: var(--mbg-gold); }
.mbg-utility__links { display: flex; gap: 22px; }
.mbg-utility a:hover { color: var(--mbg-green); }

.mbg-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.86); border-bottom: 1px solid rgba(17,23,19,.08); backdrop-filter: blur(18px) saturate(140%); transition: box-shadow .25s ease, background .25s ease; }
.mbg-header.is-scrolled { background: rgba(255,255,255,.96); box-shadow: 0 10px 40px rgba(13,37,23,.08); }
.mbg-header__inner { min-height: 82px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; }
.mbg-brand { display: inline-flex; align-items: center; gap: 10px; min-width: max-content; }
.mbg-brand .custom-logo { max-height: 58px; width: auto; }
.mbg-brand__mark { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 13px; background: var(--mbg-black); color: var(--mbg-gold); box-shadow: inset 0 0 0 1px rgba(255,255,255,.18), 0 8px 18px rgba(0,0,0,.18); }
.mbg-brand__copy { display: flex; flex-direction: column; line-height: .92; }
.mbg-brand__copy strong { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.mbg-brand__copy em { font-family: var(--mbg-display); font-size: 1.65rem; color: var(--mbg-green); font-weight: 700; font-style: normal; }
.mbg-nav { position: static; justify-self: center; }
.mbg-nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: clamp(11px, 1.35vw, 24px); }
.mbg-nav__list > li { position: relative; }
.mbg-nav__list > li > a, .mbg-nav__trigger { position: relative; display: flex; align-items: center; gap: 6px; min-height: 82px; padding: 0; border: 0; background: transparent; color: var(--mbg-black); font-size: .84rem; font-weight: 700; white-space: nowrap; cursor: pointer; }
.mbg-nav__list > li > a::after, .mbg-nav__trigger::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 18px; height: 2px; border-radius: 4px; background: var(--mbg-green); transition: right .25s var(--mbg-ease); }
.mbg-nav__list > li > a:hover::after, .mbg-nav__list > .current-menu-item > a::after, .mbg-nav__trigger:hover::after, .mbg-nav__trigger[aria-expanded="true"]::after { right: 0; }
.mbg-nav__trigger > span { color: var(--mbg-green); font-size: 1rem; transition: transform .2s ease; }
.mbg-nav__trigger[aria-expanded="true"] > span { transform: rotate(180deg); }
.mbg-nav__mobile-head, .mbg-nav__mobile-actions { display: none; }
.mbg-menu-toggle__close { display: none; font-size: 1.45rem; }
.mbg-menu-toggle[aria-expanded="true"] .mbg-menu-toggle__open { display: none; }
.mbg-menu-toggle[aria-expanded="true"] .mbg-menu-toggle__close { display: inline; }
.mbg-mega[hidden] { display: none; }
.mbg-mega { position: absolute; left: 50%; top: calc(100% - 1px); width: min(1240px, calc(100vw - 40px)); max-height: calc(100vh - 132px); overflow: auto; transform: translateX(-50%); border: 1px solid rgba(17,23,19,.1); border-radius: 0 0 30px 30px; background: rgba(255,255,255,.96); box-shadow: 0 30px 70px rgba(17,38,25,.2), inset 0 1px 0 rgba(255,255,255,.9); backdrop-filter: blur(22px) saturate(145%); }

.mbg-mega__grid { display: grid; grid-template-columns: 1.2fr .9fr 1.1fr .9fr; gap: clamp(24px, 3.2vw, 48px); padding: clamp(28px, 3.5vw, 48px); }
.mbg-mega h2 { margin: 0 0 15px; font-family: var(--mbg-font); font-size: .73rem; letter-spacing: .13em; text-transform: uppercase; }
.mbg-mega ul { list-style: none; margin: 0; padding: 0; }
.mbg-mega__feature { position: relative; align-self: stretch; padding: 25px; border: 1px solid rgba(0,107,63,.13); border-radius: 23px; background: radial-gradient(circle at 90% 10%, rgba(244,196,48,.32), transparent 34%), linear-gradient(145deg, rgba(0,107,63,.1), rgba(255,255,255,.85)); box-shadow: inset 0 1px 0 #fff, 10px 10px 25px rgba(45,69,53,.08); overflow: hidden; }
.mbg-mega__feature::after { content: "✦"; position: absolute; right: 20px; bottom: -20px; color: rgba(0,107,63,.09); font-size: 8rem; line-height: 1; }
.mbg-mega__feature h2 { max-width: 280px; margin: 12px 0 14px; font-family: var(--mbg-display); font-size: clamp(1.75rem, 2.4vw, 2.6rem); letter-spacing: -.035em; text-transform: none; }
.mbg-mega__feature p { position: relative; z-index: 1; max-width: 330px; color: var(--mbg-muted); font-size: .82rem; line-height: 1.6; }
.mbg-mega__kicker { color: var(--mbg-green); font-size: .66rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.mbg-mega__all { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; color: var(--mbg-green); font-size: .79rem; font-weight: 800; }
.mbg-mega__all:hover { color: var(--mbg-green); }
.mbg-mega__column > ul:not(.mbg-mega__cards) { display: grid; gap: 3px; }
.mbg-mega__column > ul:not(.mbg-mega__cards) a { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 5px 8px; border-radius: 10px; font-size: .8rem; font-weight: 650; }
.mbg-mega__column > ul:not(.mbg-mega__cards) a:hover { background: var(--mbg-mist); color: var(--mbg-green); }
.mbg-mega__column > ul:not(.mbg-mega__cards) a > span { width: 18px; color: var(--mbg-green); text-align: center; }
.mbg-mega__cards { display: grid; gap: 7px; }
.mbg-mega__cards a { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 10px; padding: 9px; border: 1px solid transparent; border-radius: 13px; }
.mbg-mega__cards a:hover { border-color: rgba(0,107,63,.12); background: rgba(0,107,63,.05); }
.mbg-mega__icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(0,107,63,.12); border-radius: 12px; background: #fff; color: var(--mbg-green); box-shadow: 4px 4px 10px rgba(34,57,42,.09), inset 1px 1px 0 #fff; }
.mbg-mega__cards strong, .mbg-mega__cards small { display: block; }
.mbg-mega__cards strong { font-size: .8rem; }
.mbg-mega__cards small { margin-top: 2px; color: var(--mbg-muted); font-size: .65rem; line-height: 1.35; }
.mbg-menu-scrim[hidden] { display: none; }
.mbg-menu-scrim { position: fixed; inset: 0; z-index: 90; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(7,19,12,.48); backdrop-filter: blur(5px); cursor: pointer; }
.mbg-header__actions { display: flex; align-items: center; gap: 8px; }
.mbg-icon-button { display: inline-grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid var(--mbg-line); border-radius: 14px; background: rgba(255,255,255,.74); cursor: pointer; box-shadow: 0 6px 18px rgba(36,53,43,.05); transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.mbg-icon-button:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(36,53,43,.12); background: #fff; }
.mbg-menu-toggle { display: none; }

.mbg-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 13px 24px; border: 1px solid var(--mbg-green); border-radius: 16px; background: linear-gradient(135deg, var(--mbg-green-2), var(--mbg-green)); color: #fff; font-weight: 750; cursor: pointer; box-shadow: 0 11px 24px rgba(0,107,63,.22), inset 0 1px 0 rgba(255,255,255,.25); transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.mbg-button:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(0,107,63,.28); filter: saturate(1.05); }
.mbg-button--small { min-height: 42px; padding: 9px 17px; font-size: .82rem; border-radius: 13px; }
.mbg-button--dark { border-color: var(--mbg-black); background: linear-gradient(135deg, #2b332e, var(--mbg-black)); box-shadow: 0 10px 22px rgba(17,23,19,.2); }
.mbg-button--ghost { border-color: rgba(17,23,19,.18); background: rgba(255,255,255,.62); color: var(--mbg-black); box-shadow: inset 0 0 0 1px rgba(255,255,255,.8), 0 8px 24px rgba(25,50,34,.06); }
.mbg-button--light { background: #fff; color: var(--mbg-black); border-color: #fff; box-shadow: 0 15px 35px rgba(0,0,0,.18); }
.mbg-text-link { color: var(--mbg-green); font-weight: 750; border-bottom: 1px solid rgba(0,107,63,.3); padding-bottom: 3px; }
.mbg-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--mbg-green); font-size: .75rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }

.mbg-search-drawer[hidden] { display: none; }
.mbg-search-drawer { position: fixed; inset: 0; z-index: 150; display: grid; align-items: start; padding: 24px; background: rgba(8,18,12,.62); backdrop-filter: blur(12px); }
.mbg-search-drawer__panel { position: relative; width: min(900px, 100%); margin: 7vh auto; padding: clamp(30px, 6vw, 72px); border: 1px solid rgba(255,255,255,.7); border-radius: 30px; background: rgba(255,255,255,.95); box-shadow: 0 30px 100px rgba(0,0,0,.32); }
.mbg-search-drawer__panel h2 { max-width: 670px; margin: 14px 0 30px; font-size: clamp(2rem, 5vw, 4rem); }
.mbg-search-drawer__close { position: absolute; right: 20px; top: 20px; font-size: 1.5rem; }
.mbg-global-search { display: flex; gap: 10px; }
.mbg-global-search input { flex: 1; min-width: 0; min-height: 58px; padding: 0 20px; border: 1px solid var(--mbg-line); border-radius: 16px; background: var(--mbg-mist); }

.mbg-hero { position: relative; padding: clamp(50px, 7vw, 94px) 0 0; background: radial-gradient(circle at 78% 20%, rgba(244,196,48,.16), transparent 25%), radial-gradient(circle at 10% 70%, rgba(0,107,63,.10), transparent 30%), linear-gradient(180deg, #fff 0%, #f8faf8 100%); }
.mbg-hero__pattern { position: absolute; inset: 0; opacity: .24; pointer-events: none; background-image: linear-gradient(45deg, transparent 47%, rgba(0,107,63,.12) 48%, rgba(0,107,63,.12) 52%, transparent 53%), linear-gradient(-45deg, transparent 47%, rgba(206,17,38,.09) 48%, rgba(206,17,38,.09) 52%, transparent 53%); background-size: 76px 76px; mask-image: linear-gradient(to right, #000, transparent 45%); }
.mbg-hero__grid { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(40px, 7vw, 90px); }
.mbg-hero__copy { position: relative; z-index: 2; padding-bottom: 76px; }
.mbg-hero__copy h1 { max-width: 720px; margin: 18px 0 24px; }
.mbg-hero__copy h1::after { content: ""; display: block; width: 64px; height: 5px; margin-top: 24px; border-radius: 20px; background: var(--mbg-green); }
.mbg-hero__copy > p { max-width: 650px; color: var(--mbg-muted); font-size: clamp(1.05rem, 1.5vw, 1.28rem); }
.mbg-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 32px 0 28px; }
.mbg-trust-row { display: flex; flex-wrap: wrap; gap: 18px; color: #47544c; font-size: .78rem; font-weight: 650; }
.mbg-trust-row span::first-letter { color: var(--mbg-green); }
.mbg-hero__visual { position: relative; align-self: stretch; display: flex; align-items: center; }
.mbg-hero__visual::before { content: ""; position: absolute; width: 84%; height: 78%; right: -4%; top: 8%; border-radius: 50%; background: rgba(244,196,48,.15); filter: blur(50px); }
.mbg-hero__visual img { position: relative; width: 100%; border-radius: 38px 38px 90px 38px; box-shadow: 0 34px 90px rgba(26,53,36,.19), inset 0 0 0 1px rgba(255,255,255,.8); transform: rotate(1.1deg); }
.mbg-hero__stamp { position: absolute; left: -34px; bottom: 44px; display: flex; flex-direction: column; min-width: 150px; padding: 18px 20px; border: 1px solid rgba(255,255,255,.76); border-radius: 20px; background: rgba(255,255,255,.82); box-shadow: var(--mbg-shadow); backdrop-filter: blur(16px); transform: rotate(-3deg); }
.mbg-hero__stamp strong { color: var(--mbg-green); font-size: 1.15rem; }
.mbg-hero__stamp span { color: var(--mbg-muted); font-size: .7rem; }

.mbg-search-deck { position: relative; z-index: 4; margin-bottom: -72px; padding: 10px; border: 1px solid rgba(255,255,255,.8); border-radius: 26px; background: rgba(255,255,255,.78); box-shadow: var(--mbg-shadow), inset 0 1px 0 #fff; backdrop-filter: blur(18px); }
.mbg-search-tabs { display: flex; gap: 4px; padding: 3px 5px 9px; overflow-x: auto; }
.mbg-search-tabs button { flex: 0 0 auto; padding: 9px 15px; border: 0; border-radius: 11px; background: transparent; color: var(--mbg-muted); font-size: .79rem; font-weight: 750; cursor: pointer; }
.mbg-search-tabs button.is-active { background: var(--mbg-black); color: #fff; box-shadow: 0 6px 14px rgba(17,23,19,.2); }
.mbg-search-deck__form { display: grid; grid-template-columns: 1.4fr 1fr .8fr auto; gap: 0; border: 1px solid var(--mbg-line); border-radius: 18px; background: #fff; overflow: hidden; }
.mbg-search-deck__form label { display: grid; gap: 2px; padding: 13px 18px; border-right: 1px solid var(--mbg-line); }
.mbg-search-deck__form label span { color: var(--mbg-green); font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.mbg-search-deck__form input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--mbg-black); font-size: .9rem; }
.mbg-search-deck__form .mbg-button { margin: 8px; min-height: 58px; }

.mbg-section { padding: clamp(72px, 9vw, 128px) 0; }
.mbg-section--intro { padding-top: 150px; }
.mbg-section--mist { background: var(--mbg-mist); }
.mbg-section--dark { position: relative; background: radial-gradient(circle at 85% 15%, rgba(244,196,48,.16), transparent 24%), linear-gradient(135deg, #17241c, #07130c); color: rgba(255,255,255,.76); }
.mbg-section--dark h2 { color: #fff; }
.mbg-section--dark .mbg-eyebrow { color: var(--mbg-gold); }
.mbg-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 42px; }
.mbg-section-heading h2 { max-width: 850px; margin-top: 12px; }
.mbg-section-heading > p { max-width: 500px; color: var(--mbg-muted); }

.mbg-path-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.mbg-path-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 15px; padding: 22px; border: 1px solid rgba(17,23,19,.08); border-radius: 22px; background: linear-gradient(145deg, #fff, #f5f8f6); box-shadow: var(--mbg-soft-shadow); transition: transform .25s ease, border-color .25s ease; }
.mbg-path-card:hover { transform: translateY(-6px); border-color: rgba(0,107,63,.3); }
.mbg-path-card__icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; background: #fff; color: var(--mbg-green); border: 1px solid rgba(0,107,63,.12); box-shadow: inset 2px 2px 5px rgba(255,255,255,.9), 5px 5px 12px rgba(41,63,49,.09); }
.mbg-path-card strong, .mbg-path-card small { display: block; }
.mbg-path-card strong { font-family: var(--mbg-display); font-size: 1.08rem; }
.mbg-path-card small { margin-top: 5px; color: var(--mbg-muted); font-size: .74rem; line-height: 1.45; }
.mbg-path-card b { color: var(--mbg-green); }

.mbg-card-grid { display: grid; gap: 22px; }
.mbg-card-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mbg-card-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mbg-card { position: relative; min-width: 0; border: 1px solid rgba(17,23,19,.08); border-radius: 24px; background: rgba(255,255,255,.9); overflow: hidden; box-shadow: 0 14px 42px rgba(34,57,42,.08); transition: transform .28s ease, box-shadow .28s ease; }
.mbg-card:hover { transform: translateY(-8px); box-shadow: 0 24px 55px rgba(34,57,42,.15); }
.mbg-card__media { position: relative; display: block; aspect-ratio: 1.32; overflow: hidden; background: #e6eee8; }
.mbg-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.mbg-card:hover .mbg-card__media img { transform: scale(1.055); }
.mbg-card__placeholder { width: 100%; height: 100%; display: grid; place-items: center; background: linear-gradient(135deg, rgba(0,107,63,.18), rgba(244,196,48,.2)), repeating-linear-gradient(45deg, transparent 0 18px, rgba(255,255,255,.28) 18px 20px); }
.mbg-card__placeholder span { width: 70px; height: 70px; display: grid; place-items: center; border-radius: 22px; background: rgba(255,255,255,.72); color: var(--mbg-black); font-size: 1.8rem; backdrop-filter: blur(8px); box-shadow: var(--mbg-shadow); }
.mbg-card__type { position: absolute; left: 14px; top: 14px; padding: 7px 11px; border: 1px solid rgba(255,255,255,.6); border-radius: 10px; background: rgba(17,23,19,.72); color: #fff; font-size: .64rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; backdrop-filter: blur(8px); }
.mbg-save { position: absolute; right: 13px; top: 13px; z-index: 2; min-width: 39px; height: 39px; padding: 0 12px; border: 1px solid rgba(255,255,255,.8); border-radius: 12px; background: rgba(255,255,255,.8); cursor: pointer; box-shadow: 0 8px 20px rgba(17,23,19,.12); }
.mbg-save.is-saved { background: var(--mbg-red); color: #fff; border-color: var(--mbg-red); }
.mbg-save--large { position: static; display: inline-flex; align-items: center; gap: 8px; }
.mbg-card__body { padding: 21px; }
.mbg-card__meta { margin-bottom: 5px; color: var(--mbg-green); font-size: .7rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.mbg-card h3 { margin-bottom: 10px; }
.mbg-card h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.mbg-card__body > p:not(.mbg-card__meta) { color: var(--mbg-muted); font-size: .83rem; }
.mbg-card__foot { min-height: 25px; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--mbg-line); font-size: .76rem; }
.mbg-card__foot strong { color: var(--mbg-black); }
.mbg-rating { color: #8a6500; font-weight: 750; }

/* Twenty assignable card presentations: all retain the same semantic content. */
.mbg-card--style-classic { background: rgba(255,255,255,.96); }
.mbg-card--style-glass { border-color: rgba(255,255,255,.72); background: rgba(255,255,255,.68); backdrop-filter: blur(18px); box-shadow: 0 24px 60px rgba(0,107,63,.12), inset 0 1px 0 #fff; }
.mbg-card--style-kente { border: 0; border-bottom: 8px solid var(--mbg-green); border-radius: 7px 26px 7px 26px; box-shadow: inset 6px 0 var(--mbg-red), inset 12px 0 var(--mbg-gold), var(--mbg-shadow); }
.mbg-card--style-black-star { border-color: #202923; background: #101713; color: #fff; }
.mbg-card--style-black-star .mbg-card__meta, .mbg-card--style-black-star .mbg-card__foot { color: var(--mbg-gold); }
.mbg-card--style-black-star h3 a, .mbg-card--style-black-star .mbg-card__foot strong { color: #fff; }
.mbg-card--style-black-star .mbg-card__body > p:not(.mbg-card__meta) { color: rgba(255,255,255,.68); }
.mbg-card--style-black-star .mbg-card__foot { border-color: rgba(255,255,255,.14); }
.mbg-card--style-red-edge { border: 0; border-left: 7px solid var(--mbg-red); border-radius: 4px 22px 22px 4px; }
.mbg-card--style-gold-frame { border: 2px solid #c99e1d; background: linear-gradient(145deg, #fffdf5, #fff); box-shadow: 0 18px 44px rgba(138,101,0,.16), inset 0 0 0 5px rgba(244,196,48,.08); }
.mbg-card--style-green-mist { border-color: transparent; background: #eef5f0; box-shadow: 14px 14px 34px #d2ddd5, -10px -10px 28px #fff; }
.mbg-card--style-editorial { border: 0; border-radius: 0; box-shadow: none; background: #fff; }
.mbg-card--style-editorial .mbg-card__body { padding-inline: 0; }
.mbg-card--style-editorial h3 { font-size: clamp(1.65rem, 2.5vw, 2.15rem); }
.mbg-card--style-editorial .mbg-card__media { aspect-ratio: 1.12; }
.mbg-card--style-polaroid { padding: 11px 11px 22px; border-radius: 5px; transform: rotate(-.7deg); box-shadow: 0 16px 28px rgba(17,23,19,.15); }
.mbg-card--style-polaroid:hover { transform: rotate(0) translateY(-7px); }
.mbg-card--style-polaroid .mbg-card__media { border-radius: 2px; }
.mbg-card--style-postcard { border-radius: 14px; background: linear-gradient(90deg, #fff 0 65%, #fbf7e9 65%); }
.mbg-card--style-postcard .mbg-card__body { position: relative; }
.mbg-card--style-postcard .mbg-card__body::after { content: "GH"; position: absolute; right: 18px; top: 16px; padding: 6px; border: 2px solid var(--mbg-red); color: var(--mbg-red); font-size: .62rem; font-weight: 900; }
.mbg-card--style-minimal { border-color: transparent; border-radius: 12px; box-shadow: none; }
.mbg-card--style-minimal:hover { box-shadow: 0 14px 34px rgba(34,57,42,.09); }
.mbg-card--style-split, .mbg-card--style-compact { display: grid; grid-template-columns: minmax(120px, .82fr) 1.18fr; }
.mbg-card--style-split .mbg-card__media, .mbg-card--style-compact .mbg-card__media { height: 100%; aspect-ratio: auto; }
.mbg-card--style-compact { grid-template-columns: 112px 1fr; border-radius: 15px; }
.mbg-card--style-compact .mbg-card__body { padding: 15px; }
.mbg-card--style-compact .mbg-card__body > p:not(.mbg-card__meta) { display: none; }
.mbg-card--style-luxury { border: 1px solid rgba(244,196,48,.35); background: linear-gradient(145deg, #0b2518, #123a27); color: #fff; }
.mbg-card--style-luxury h3 a, .mbg-card--style-luxury .mbg-card__foot strong { color: #fff; }
.mbg-card--style-luxury .mbg-card__body > p:not(.mbg-card__meta) { color: rgba(255,255,255,.64); }
.mbg-card--style-luxury .mbg-card__meta, .mbg-card--style-luxury .mbg-rating { color: var(--mbg-gold); }
.mbg-card--style-luxury .mbg-card__foot { border-color: rgba(255,255,255,.13); }
.mbg-card--style-night { border-color: #2d2431; background: radial-gradient(circle at 90% 0, rgba(206,17,38,.32), transparent 42%), #171119; color: #fff; box-shadow: 0 22px 55px rgba(23,17,25,.28); }
.mbg-card--style-night h3 a, .mbg-card--style-night .mbg-card__foot strong { color: #fff; }
.mbg-card--style-night .mbg-card__body > p:not(.mbg-card__meta) { color: rgba(255,255,255,.64); }
.mbg-card--style-night .mbg-card__foot { border-color: rgba(255,255,255,.12); }
.mbg-card--style-borderless { border: 0; border-radius: 0; box-shadow: none; background: transparent; overflow: visible; }
.mbg-card--style-borderless .mbg-card__media { border-radius: 26px; }
.mbg-card--style-borderless .mbg-card__body { padding-inline: 4px; }
.mbg-card--style-soft { border: 0; border-radius: 34px; background: #f3eee6; box-shadow: 10px 14px 32px rgba(80,65,45,.12), inset 1px 1px #fff; }
.mbg-card--style-vibrant { border: 0; background: linear-gradient(145deg, #ce1126 0 9px, #fff 9px 86%, #006b3f 86%); box-shadow: 0 18px 45px rgba(206,17,38,.14); }
.mbg-card--style-vibrant .mbg-card__type { background: var(--mbg-gold); color: var(--mbg-black); }
.mbg-card--style-heritage { border: 1px solid #c9b58d; border-radius: 4px; background: #fbf5e8; box-shadow: 0 13px 28px rgba(72,53,24,.1); }
.mbg-card--style-heritage h3 { font-family: var(--mbg-display); }
.mbg-card--style-heritage .mbg-card__media { filter: saturate(.82) contrast(.96); }
.mbg-card--style-market { border: 2px solid var(--mbg-black); border-radius: 9px; box-shadow: 7px 7px 0 var(--mbg-gold); }
.mbg-card--style-market .mbg-card__type { border-radius: 2px; background: var(--mbg-red); }

.mbg-shop-landing { display: grid; gap: 60px; }
.mbg-shop-intro { max-width: 860px; padding: clamp(28px, 6vw, 70px); border: 1px solid rgba(0,107,63,.15); border-radius: 32px; background: radial-gradient(circle at 90% 10%, rgba(244,196,48,.35), transparent 28%), linear-gradient(135deg, #f3faf5, #fff); box-shadow: var(--mbg-soft-shadow); }
.mbg-shop-intro h2 { margin: 12px 0 18px; }
.mbg-shop-intro p { max-width: 680px; margin-bottom: 24px; color: var(--mbg-muted); }
.mbg-shop-categories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.mbg-shop-categories article { padding: 28px; border: 1px solid var(--mbg-line); border-radius: 22px; background: #fff; box-shadow: 0 12px 34px rgba(34,57,42,.07); }
.mbg-shop-categories article > span { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 20px; border-radius: 15px; background: rgba(244,196,48,.22); color: var(--mbg-green); font-size: 1.25rem; }
.mbg-shop-categories h3 { margin-bottom: 8px; }
.mbg-shop-categories p { color: var(--mbg-muted); font-size: .86rem; }
.mbg-shop-packages > h2 { margin-bottom: 24px; }

.mbg-feature-split { display: grid; grid-template-columns: 1fr 1.1fr; align-items: center; gap: clamp(55px, 8vw, 120px); }
.mbg-feature-split h2 { margin: 14px 0 22px; }
.mbg-feature-split > div:first-child > p { max-width: 600px; margin-bottom: 30px; }
.mbg-plan-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mbg-plan-grid a { min-height: 170px; display: flex; flex-direction: column; justify-content: end; padding: 22px; border: 1px solid rgba(255,255,255,.13); border-radius: 23px; background: rgba(255,255,255,.07); backdrop-filter: blur(12px); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); transition: transform .25s ease, background .25s ease; }
.mbg-plan-grid a:hover { transform: translateY(-5px); background: rgba(255,255,255,.12); }
.mbg-plan-grid span { margin-bottom: auto; color: var(--mbg-gold); font-size: .7rem; font-weight: 800; letter-spacing: .14em; }
.mbg-plan-grid strong { color: #fff; font-family: var(--mbg-display); font-size: 1.28rem; }
.mbg-plan-grid small { color: rgba(255,255,255,.58); }

.mbg-event-list { border-top: 1px solid var(--mbg-line); }
.mbg-event-row { display: grid; grid-template-columns: 84px 1fr auto; align-items: center; gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--mbg-line); }
.mbg-event-row time { width: 70px; height: 70px; display: grid; place-items: center; align-content: center; border-radius: 20px; background: linear-gradient(145deg, #fff, #eef3ef); box-shadow: var(--mbg-soft-shadow); }
.mbg-event-row time strong { color: var(--mbg-red); font-family: var(--mbg-display); font-size: 1.7rem; line-height: 1; }
.mbg-event-row time span { font-size: .63rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.mbg-event-row p { margin: 0 0 4px; color: var(--mbg-green); font-size: .7rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }

.mbg-story-cta__inner { display: flex; align-items: end; justify-content: space-between; gap: 60px; padding: clamp(35px, 6vw, 70px); border: 1px solid rgba(0,107,63,.12); border-radius: 34px; background: linear-gradient(135deg, rgba(0,107,63,.08), rgba(244,196,48,.15) 50%, rgba(206,17,38,.05)); box-shadow: var(--mbg-soft-shadow); }
.mbg-story-cta h2 { max-width: 760px; margin: 12px 0 18px; }
.mbg-story-cta p { max-width: 760px; color: var(--mbg-muted); }
.mbg-story-cta__inner > div:last-child { display: flex; flex-wrap: wrap; gap: 12px; min-width: max-content; }

.mbg-page-hero { position: relative; padding: clamp(76px, 11vw, 150px) 0 clamp(55px, 8vw, 90px); background: radial-gradient(circle at 85% 20%, rgba(244,196,48,.18), transparent 24%), linear-gradient(180deg, #f8faf8, #fff); border-bottom: 1px solid var(--mbg-line); }
.mbg-page-hero::after { content: ""; position: absolute; right: 5vw; top: 20%; width: 130px; height: 130px; opacity: .13; background: repeating-conic-gradient(var(--mbg-green) 0 12deg, transparent 12deg 24deg); border-radius: 50%; }
.mbg-page-hero h1 { max-width: 1000px; margin: 14px 0 18px; font-size: clamp(3rem, 6.5vw, 6rem); }
.mbg-page-hero p { max-width: 740px; color: var(--mbg-muted); font-size: 1.1rem; }
.mbg-page-content { padding-block: 70px 120px; }
.mbg-filter-bar { display: grid; grid-template-columns: 1fr .55fr auto; align-items: end; gap: 14px; margin-bottom: 24px; padding: 18px; border: 1px solid var(--mbg-line); border-radius: 20px; background: var(--mbg-mist); }
.mbg-filter-bar label { display: grid; gap: 5px; }
.mbg-filter-bar label > span { color: var(--mbg-green); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.mbg-filter-bar input, .mbg-filter-bar select { width: 100%; min-height: 46px; padding: 0 13px; border: 1px solid var(--mbg-line); border-radius: 12px; background: #fff; }
.mbg-results-bar { margin-bottom: 25px; color: var(--mbg-muted); }
.mbg-results-bar strong { color: var(--mbg-black); }
.nav-links { display: flex; justify-content: center; gap: 8px; margin-top: 45px; }
.nav-links a, .nav-links span { min-width: 42px; height: 42px; display: grid; place-items: center; padding: 0 13px; border: 1px solid var(--mbg-line); border-radius: 12px; }
.nav-links .current { background: var(--mbg-black); color: #fff; }

.mbg-detail__hero { position: relative; padding-top: 64px; background: linear-gradient(180deg, #f4f8f5, #fff); }
.mbg-detail__image { width: var(--mbg-shell); height: min(62vw, 620px); margin: 0 auto; border-radius: 34px; overflow: hidden; box-shadow: var(--mbg-shadow); }
.mbg-detail__image img { width: 100%; height: 100%; object-fit: cover; }
.mbg-detail__intro { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding-block: 45px; }
.mbg-back-link { color: var(--mbg-green); font-size: .78rem; font-weight: 750; }
.mbg-detail__intro h1 { max-width: 950px; margin: 14px 0; font-size: clamp(2.7rem, 6vw, 5.6rem); }
.mbg-detail__lead { max-width: 780px; color: var(--mbg-muted); font-size: 1.12rem; }
.mbg-detail__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mbg-detail__chips span { padding: 7px 11px; border-radius: 10px; background: var(--mbg-mist); color: #3d4c42; font-size: .74rem; font-weight: 650; }
.mbg-detail__layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: start; gap: clamp(50px, 8vw, 110px); padding-bottom: 110px; }
.mbg-prose { color: #344138; font-size: 1.04rem; }
.mbg-prose > * { max-width: 780px; }
.mbg-prose > .alignwide { max-width: 1100px; }
.mbg-prose h2, .mbg-prose h3 { margin: 2.2em 0 .65em; }
.mbg-prose a { color: var(--mbg-green); text-decoration: underline; text-underline-offset: 3px; }
.mbg-prose ul, .mbg-prose ol { padding-left: 1.25em; }
.mbg-prose blockquote { margin: 35px 0; padding: 25px 30px; border-left: 5px solid var(--mbg-gold); border-radius: 0 18px 18px 0; background: var(--mbg-mist); font-family: var(--mbg-display); font-size: 1.4rem; }
.mbg-source-note { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 50px; padding: 18px 20px; border: 1px solid rgba(0,107,63,.15); border-radius: 16px; background: rgba(0,107,63,.05); font-size: .78rem; }
.mbg-detail__map { max-width: 780px; margin-top: 48px; }
.mbg-detail__map iframe { width: 100%; height: 360px; border: 1px solid var(--mbg-line); border-radius: 20px; box-shadow: var(--mbg-soft-shadow); }
.mbg-detail__map > a { display: inline-block; margin-top: 10px; font-size: .78rem; }
.mbg-booking-card { position: sticky; top: 118px; padding: 28px; border: 1px solid rgba(255,255,255,.8); border-radius: 26px; background: rgba(255,255,255,.88); box-shadow: var(--mbg-shadow), inset 0 1px 0 #fff; backdrop-filter: blur(14px); }
.mbg-booking-card h2 { margin: 10px 0 14px; font-size: 2rem; }
.mbg-booking-card__price { color: var(--mbg-green); font-weight: 800; }
.mbg-booking-card .mbg-button--wide { width: 100%; justify-content: center; margin-bottom: 14px; }
.mbg-booking-card small { display: block; margin-top: 14px; color: var(--mbg-muted); font-size: .7rem; line-height: 1.45; }
.mbg-booking-form { display: grid; gap: 10px; }
.mbg-booking-form input, .mbg-booking-form select, .mbg-booking-form textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--mbg-line); border-radius: 11px; background: #f8faf8; }
.mbg-booking-form textarea { min-height: 90px; resize: vertical; }
.mbg-booking-form label { display: grid; gap: 5px; color: var(--mbg-black); font-size: .76rem; font-weight: 700; }
.mbg-booking-form .mbg-consent { grid-template-columns: auto 1fr; align-items: start; font-size: .69rem; font-weight: 500; line-height: 1.45; }
.mbg-booking-form .mbg-consent input { width: auto; margin-top: 3px; }
.mbg-honeypot { position: absolute !important; left: -9999px !important; opacity: 0 !important; pointer-events: none !important; }
.mbg-form-notice { margin-bottom: 14px; padding: 12px 14px; border-radius: 11px; font-size: .78rem; }
.mbg-form-notice--success { background: rgba(0,107,63,.1); color: var(--mbg-green); }
.mbg-form-notice--error { background: rgba(206,17,38,.09); color: var(--mbg-red); }

.mbg-explorer { display: grid; grid-template-columns: 290px 1fr; align-items: start; gap: 34px; }
.mbg-explorer__filters { position: sticky; top: 110px; display: grid; gap: 17px; padding: 22px; border: 1px solid var(--mbg-line); border-radius: 22px; background: var(--mbg-mist); }
.mbg-explorer__filters label { display: grid; gap: 6px; color: var(--mbg-green); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mbg-explorer__filters input, .mbg-explorer__filters select { width: 100%; min-height: 45px; padding: 0 12px; border: 1px solid var(--mbg-line); border-radius: 11px; background: #fff; color: var(--mbg-black); text-transform: none; letter-spacing: normal; }
.mbg-explorer__status { margin: 0 0 20px; color: var(--mbg-muted); }
.mbg-explorer__more { display: block; margin: 35px auto 0; }
.mbg-explorer-card { display: grid; grid-template-columns: 170px 1fr; min-height: 150px; border: 1px solid var(--mbg-line); border-radius: 20px; background: #fff; overflow: hidden; box-shadow: 0 10px 30px rgba(35,61,44,.07); }
.mbg-explorer-card img, .mbg-explorer-card__placeholder { width: 100%; height: 100%; object-fit: cover; background: linear-gradient(135deg, rgba(0,107,63,.18), rgba(244,196,48,.22)); }
.mbg-explorer-card__body { padding: 18px; }
.mbg-explorer-card__body span { color: var(--mbg-green); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.mbg-explorer-card__body h2 { margin: 5px 0 7px; font-size: 1.45rem; }
.mbg-explorer-card__body p { color: var(--mbg-muted); font-size: .8rem; }
.mbg-explorer__results { display: grid; gap: 16px; }

.mbg-empty { grid-column: 1 / -1; padding: 40px; border: 1px dashed rgba(0,107,63,.3); border-radius: 20px; background: rgba(0,107,63,.04); color: var(--mbg-muted); }
.mbg-global-search--page { margin-bottom: 40px; }
.mbg-error { min-height: 68vh; display: grid; place-items: center; padding: 90px 0; text-align: center; background: radial-gradient(circle, rgba(244,196,48,.18), transparent 42%); }
.mbg-error__number { display: block; margin-bottom: -25px; color: rgba(0,107,63,.1); font-family: var(--mbg-display); font-size: clamp(9rem, 28vw, 22rem); font-weight: 900; line-height: .7; }
.mbg-error h1 { margin: 15px 0 20px; font-size: clamp(2.6rem, 6vw, 5rem); }
.mbg-error p { max-width: 600px; margin: 0 auto 30px; color: var(--mbg-muted); }
.mbg-error .mbg-button { margin: 5px; }

.mbg-footer-rule { height: 1px; background: var(--mbg-line); }
.mbg-footer { background: #07130c; color: rgba(255,255,255,.65); }
.mbg-footer__grid { display: grid; grid-template-columns: 1.4fr .7fr .7fr 1fr; gap: clamp(35px, 6vw, 80px); padding-block: 78px 58px; }
.mbg-brand--footer { color: #fff; margin-bottom: 22px; }
.mbg-footer__grid > div:first-child > p { max-width: 390px; }
.mbg-footer h2 { margin-bottom: 16px; color: #fff; font-family: var(--mbg-font); font-size: .78rem; letter-spacing: .13em; text-transform: uppercase; }
.mbg-footer ul { list-style: none; margin: 0; padding: 0; }
.mbg-footer li { margin: 8px 0; }
.mbg-footer a:hover { color: var(--mbg-gold); }
.mbg-newsletter { display: flex; margin-top: 18px; padding: 5px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.07); }
.mbg-newsletter input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: #fff; padding: 7px 10px; }
.mbg-newsletter button { width: 40px; border: 0; border-radius: 10px; background: var(--mbg-gold); color: var(--mbg-black); cursor: pointer; }
.mbg-footer__bottom { display: flex; justify-content: space-between; gap: 30px; padding-block: 20px 28px; border-top: 1px solid rgba(255,255,255,.1); font-size: .7rem; }
.mbg-footer__bottom p { margin: 0; }
.mbg-footer__bottom div { display: flex; gap: 20px; }

.woocommerce .products { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; padding: 16px; border: 1px solid var(--mbg-line); border-radius: 22px; background: #fff; box-shadow: 0 12px 32px rgba(30,50,37,.08); }
.woocommerce ul.products li.product img { border-radius: 16px; }
.woocommerce ul.products li.product .price { color: var(--mbg-green); font-weight: 800; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { border-radius: 13px; background: var(--mbg-green); color: #fff; }

/* WooCommerce storefront — bespoke presentation, native commerce underneath. */
.mbg-commerce-hero { position: relative; overflow: hidden; padding: clamp(64px, 8vw, 110px) 0 28px; background: radial-gradient(circle at 84% 5%, rgba(244,196,48,.25), transparent 24%), radial-gradient(circle at 8% 80%, rgba(0,107,63,.12), transparent 29%), linear-gradient(180deg, #fff, #f5f8f6); }
.mbg-commerce-hero::after { content: "★"; position: absolute; right: 2vw; top: -7vw; color: rgba(17,23,19,.035); font-size: clamp(14rem, 32vw, 36rem); line-height: 1; pointer-events: none; }
.mbg-commerce-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.35fr .65fr; align-items: end; gap: clamp(35px, 7vw, 100px); }
.mbg-commerce-hero h1 { max-width: 820px; margin: 16px 0 20px; }
.mbg-commerce-hero p { max-width: 720px; color: var(--mbg-muted); font-size: 1.08rem; }
.mbg-commerce-hero__stamp { max-width: 380px; padding: 28px; border: 1px solid rgba(255,255,255,.85); border-radius: 28px; background: rgba(255,255,255,.72); box-shadow: var(--mbg-soft-shadow); backdrop-filter: blur(14px); transform: rotate(1deg); }
.mbg-commerce-hero__stamp > span { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 18px; border-radius: 15px; background: var(--mbg-black); color: var(--mbg-gold); box-shadow: inset 0 1px rgba(255,255,255,.2), 0 8px 18px rgba(0,0,0,.2); }
.mbg-commerce-hero__stamp strong, .mbg-commerce-hero__stamp small { display: block; }
.mbg-commerce-hero__stamp strong { font-family: var(--mbg-display); font-size: 1.32rem; line-height: 1.15; }
.mbg-commerce-hero__stamp small { margin-top: 9px; color: var(--mbg-muted); line-height: 1.5; }
.mbg-shop-category-nav { position: relative; z-index: 2; display: flex; gap: 8px; margin-top: 46px; padding: 8px; overflow-x: auto; border: 1px solid var(--mbg-line); border-radius: 18px; background: rgba(255,255,255,.82); box-shadow: 0 14px 35px rgba(30,50,37,.08); backdrop-filter: blur(16px); scrollbar-width: thin; }
.mbg-shop-category-nav a { flex: 0 0 auto; display: flex; align-items: center; gap: 9px; min-height: 42px; padding: 8px 14px; border-radius: 12px; font-size: .78rem; font-weight: 750; }
.mbg-shop-category-nav a:hover, .mbg-shop-category-nav a.is-active { background: var(--mbg-black); color: #fff; }
.mbg-shop-category-nav span { min-width: 23px; height: 23px; display: grid; place-items: center; border-radius: 8px; background: rgba(244,196,48,.2); color: var(--mbg-gold); font-size: .64rem; }
.mbg-commerce { padding-block: clamp(55px, 7vw, 100px); }
.woocommerce .woocommerce-result-count { margin: 13px 0 28px; color: var(--mbg-muted); font-size: .82rem; }
.woocommerce .woocommerce-ordering { margin-bottom: 28px; }
.woocommerce .woocommerce-ordering select { min-height: 46px; padding: 0 38px 0 14px; border: 1px solid var(--mbg-line); border-radius: 13px; background: #fff; }
.woocommerce .products { align-items: stretch; gap: 28px !important; }
.woocommerce ul.products li.product.mbg-product-card { display: flex; flex-direction: column; padding: 9px !important; border: 1px solid rgba(17,23,19,.08); border-radius: 26px; background: #fff; overflow: hidden; box-shadow: 0 18px 48px rgba(25,50,34,.10); }
.woocommerce ul.products li.product.mbg-product-card:hover { transform: translateY(-8px); box-shadow: 0 28px 60px rgba(25,50,34,.16); }
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__media { aspect-ratio: 1.25; border-radius: 19px; }
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__media img { width: 100%; height: 100%; margin: 0; object-fit: cover; border-radius: inherit; }
.mbg-product-card__sale { position: absolute; right: 13px; top: 13px; padding: 7px 10px; border-radius: 10px; background: var(--mbg-red); color: #fff; font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__body { display: flex; flex: 1; flex-direction: column; padding: 18px 8px 8px; }
.mbg-product-card__intro { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 14px; }
.woocommerce ul.products li.product.mbg-product-card .mbg-card__meta { margin: 0 0 5px; color: var(--mbg-green); font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.woocommerce ul.products li.product.mbg-product-card .woocommerce-loop-product__title { margin: 0; padding: 0; color: var(--mbg-black); font-family: var(--mbg-display); font-size: clamp(1.2rem, 1.7vw, 1.52rem); line-height: 1.12; }
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__price { min-width: max-content; color: var(--mbg-black); font-size: .92rem; font-weight: 850; }
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__price .price { margin: 0; color: inherit; font-size: inherit; }
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__price del { display: block; color: var(--mbg-muted); font-size: .7rem; opacity: .7; }
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__price ins { text-decoration: none; }
.mbg-product-card__excerpt { margin: 10px 0 14px; color: var(--mbg-muted); font-size: .78rem; line-height: 1.5; }
.mbg-product-card__facts { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: auto; padding: 13px 0; border-block: 1px solid var(--mbg-line); }
.mbg-product-card__facts span { display: flex; align-items: center; justify-content: center; gap: 5px; min-width: 0; padding: 0 7px; border-right: 1px solid var(--mbg-line); color: var(--mbg-muted); font-size: .68rem; text-align: center; }
.mbg-product-card__facts span:last-child { border: 0; }
.mbg-product-card__facts i { color: var(--mbg-green); font-style: normal; }
.mbg-product-card__action { padding-top: 14px; }
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__action .button { width: 100%; min-height: 44px; margin: 0; display: flex; align-items: center; justify-content: center; border-radius: 14px; background: linear-gradient(180deg, #313733, #101713); color: #fff; font-size: .77rem; box-shadow: inset 0 1px rgba(255,255,255,.23), 0 8px 18px rgba(17,23,19,.18); }
.woocommerce ul.products li.product.mbg-product-card .added_to_cart { display: block; padding: 8px 0 0; color: var(--mbg-green); font-size: .72rem; font-weight: 800; text-align: center; }
/* Product editions extend the same 20 selectable cards already used by travel content. */
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-glass { background: rgba(255,255,255,.66); backdrop-filter: blur(20px); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-black-star,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-luxury,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-night { border-color: rgba(244,196,48,.28); background: #101713; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-black-star .woocommerce-loop-product__title,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-luxury .woocommerce-loop-product__title,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-night .woocommerce-loop-product__title,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-black-star .mbg-product-card__price,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-luxury .mbg-product-card__price,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-night .mbg-product-card__price { color: #fff; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-black-star .mbg-product-card__facts,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-luxury .mbg-product-card__facts,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-night .mbg-product-card__facts { border-color: rgba(255,255,255,.13); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-black-star .mbg-product-card__facts span,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-luxury .mbg-product-card__facts span,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-night .mbg-product-card__facts span { border-color: rgba(255,255,255,.13); color: rgba(255,255,255,.62); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-split,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-compact { display: grid; grid-template-columns: minmax(140px,.9fr) 1.1fr; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-split .mbg-product-card__media,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-compact .mbg-product-card__media { height: 100%; aspect-ratio: auto; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-borderless { position: relative; min-height: 480px; padding: 0 !important; border: 0; border-radius: 26px; background: #0b1710; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-borderless .mbg-product-card__media { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; border-radius: inherit; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-borderless .mbg-product-card__media::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(3,14,8,.95)); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-borderless .mbg-product-card__body { position: relative; z-index: 2; justify-content: end; margin-top: auto; padding: 210px 20px 20px; color: #fff; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-borderless .woocommerce-loop-product__title,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-borderless .mbg-product-card__price { color: #fff; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-borderless .mbg-product-card__excerpt { color: rgba(255,255,255,.7); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-borderless .mbg-product-card__facts { border-color: rgba(255,255,255,.2); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-borderless .mbg-product-card__facts span { border-color: rgba(255,255,255,.2); color: rgba(255,255,255,.72); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-editorial,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-minimal { padding: 0 !important; border-radius: 6px; box-shadow: none; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-editorial .mbg-product-card__media,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-minimal .mbg-product-card__media { border-radius: 4px; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-polaroid { padding: 12px 12px 24px !important; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-market { border: 2px solid var(--mbg-black); border-radius: 11px; box-shadow: 8px 8px 0 var(--mbg-gold); }

/* v0.5 Shop Studio: boxed layouts and twelve explicitly selectable product cards. */
.mbg-shop-page { padding: 1px 0 clamp(65px,8vw,110px); background: linear-gradient(180deg,#f5f8f6 0,#fff 420px); }
.mbg-shop-page .mbg-commerce-hero { width: var(--mbg-shell); margin: 32px auto 0; padding: clamp(52px,7vw,88px) clamp(26px,6vw,74px) 24px; border: 1px solid rgba(17,23,19,.08); border-radius: 34px; box-shadow: 0 24px 65px rgba(23,48,31,.1); }
.mbg-shop-page .mbg-commerce { padding-top: clamp(42px,6vw,74px); }
.mbg-shop-page .mbg-shop-category-nav { margin-top: 38px; }
.mbg-shop-cols--2 .woocommerce .products { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.mbg-shop-cols--3 .woocommerce .products { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.mbg-shop-cols--4 .woocommerce .products { grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 18px !important; }
.mbg-shop-image--square .woocommerce ul.products li.product.mbg-product-card .mbg-product-card__media { aspect-ratio: 1; }
.mbg-shop-image--portrait .woocommerce ul.products li.product.mbg-product-card .mbg-product-card__media { aspect-ratio: .78; }
.mbg-shop-image--landscape .woocommerce ul.products li.product.mbg-product-card .mbg-product-card__media { aspect-ratio: 1.25; }
.mbg-shop-layout--boutique .mbg-commerce-hero { background: radial-gradient(circle at 88% 18%,rgba(244,196,48,.38),transparent 27%),linear-gradient(135deg,#fffaf0,#fff); }
.mbg-shop-layout--boutique .woocommerce .products { gap: 34px !important; }
.mbg-shop-layout--boutique .mbg-commerce { width: min(1120px,calc(100vw - 40px)); }
.mbg-shop-layout--market-grid .mbg-commerce-hero { border-radius: 12px; border: 2px solid var(--mbg-black); background: linear-gradient(135deg,rgba(206,17,38,.06),rgba(244,196,48,.15) 48%,rgba(0,107,63,.08)); box-shadow: 10px 10px 0 var(--mbg-gold); }
.mbg-shop-layout--market-grid .mbg-shop-category-nav { border: 2px solid var(--mbg-black); border-radius: 10px; box-shadow: 5px 5px 0 rgba(0,107,63,.3); }
.mbg-shop-layout--editorial-store { background: #fff; }
.mbg-shop-layout--editorial-store .mbg-commerce-hero { padding-bottom: 38px; border-width: 0 0 1px; border-radius: 0; background: #fff; box-shadow: none; }
.mbg-shop-layout--editorial-store .mbg-commerce-hero::after { content: "GHANA / GOODS"; right: 5%; top: 18%; color: rgba(17,23,19,.055); font: 800 clamp(2rem,6vw,6rem)/1 var(--mbg-font); letter-spacing: -.06em; }
.mbg-shop-layout--glass-showcase { background: radial-gradient(circle at 12% 8%,rgba(0,107,63,.14),transparent 28%),radial-gradient(circle at 88% 22%,rgba(244,196,48,.2),transparent 30%),#edf4ef; }
.mbg-shop-layout--glass-showcase .mbg-commerce-hero { border-color: rgba(255,255,255,.8); background: rgba(255,255,255,.58); box-shadow: var(--mbg-soft-shadow); backdrop-filter: blur(22px); }
.mbg-shop-layout--dark-luxury { background: linear-gradient(180deg,#07130c 0,#101d15 560px,#f5f8f6 560px); }
.mbg-shop-layout--dark-luxury .mbg-commerce-hero { border-color: rgba(244,196,48,.22); background: radial-gradient(circle at 85% 15%,rgba(244,196,48,.18),transparent 26%),linear-gradient(135deg,#152c20,#07130c); box-shadow: 0 28px 75px rgba(0,0,0,.28); }
.mbg-shop-layout--dark-luxury .mbg-commerce-hero h1 { color: #fff; }
.mbg-shop-layout--dark-luxury .mbg-commerce-hero p { color: rgba(255,255,255,.62); }
.mbg-shop-layout--dark-luxury .mbg-commerce-hero__stamp { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.07); color: #fff; box-shadow: none; }
.mbg-shop-layout--dark-luxury .mbg-commerce-hero__stamp small { color: rgba(255,255,255,.5); }
.mbg-shop-layout--dark-luxury .mbg-shop-category-nav { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.07); }
.mbg-shop-layout--dark-luxury .mbg-shop-category-nav a { color: rgba(255,255,255,.72); }
.mbg-shop-layout--compact-catalog .mbg-commerce-hero { padding-top: 42px; padding-bottom: 18px; }
.mbg-shop-layout--compact-catalog .mbg-commerce-hero h1 { font-size: clamp(2.8rem,5vw,5rem); }
.mbg-shop-layout--compact-catalog .woocommerce .products { gap: 14px !important; }
.mbg-shop-layout--discovery-mosaic .woocommerce .products li.product:first-child { grid-column: span 2; }
.mbg-shop-layout--discovery-mosaic .woocommerce .products li.product:first-child .mbg-product-card__media { aspect-ratio: 2.1; }

.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-framed { padding: 9px !important; border-radius: 26px; background: #fff; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-framed .mbg-product-card__media { border: 1px solid rgba(17,23,19,.07); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-reserve { padding: 0 !important; border-radius: 27px; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-reserve .mbg-product-card__media { border-radius: 27px 27px 0 0; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-reserve .mbg-product-card__body { padding: 20px; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-reserve .mbg-product-card__action .button { background: #fff; color: var(--mbg-black); border: 1px solid var(--mbg-line); box-shadow: none; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-overlay,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-poster { position: relative; min-height: 490px; padding: 0 !important; border: 0; border-radius: 28px; background: #0b1710; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-overlay .mbg-product-card__media,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-poster .mbg-product-card__media { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; border-radius: inherit; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-overlay .mbg-product-card__media::after,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-poster .mbg-product-card__media::after { content: ""; position: absolute; inset: 25% 0 0; background: linear-gradient(transparent,rgba(3,13,8,.96)); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-overlay .mbg-product-card__body,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-poster .mbg-product-card__body { position: relative; z-index: 2; justify-content: end; margin-top: auto; padding: 245px 22px 22px; color: #fff; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-overlay .woocommerce-loop-product__title,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-poster .woocommerce-loop-product__title,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-overlay .mbg-product-card__price,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-poster .mbg-product-card__price { color: #fff; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-overlay .mbg-product-card__excerpt,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-poster .mbg-product-card__excerpt,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-overlay .mbg-product-card__facts span,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-poster .mbg-product-card__facts span { color: rgba(255,255,255,.68); border-color: rgba(255,255,255,.18); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-overlay .mbg-product-card__facts,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-poster .mbg-product-card__facts { border-color: rgba(255,255,255,.18); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-overlay .mbg-product-card__action .button { background: #fff; color: var(--mbg-black); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-poster { min-height: 560px; border-radius: 8px; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-poster .mbg-product-card__action .button { background: var(--mbg-red); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-compact { padding: 7px !important; border-radius: 18px; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-compact .mbg-product-card__media { border-radius: 13px; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-compact .mbg-product-card__body { padding: 13px 6px 6px; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-compact .mbg-product-card__excerpt { display: none; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-compact .mbg-product-card__facts { padding: 9px 0; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-compact .mbg-product-card__facts span { font-size: .58rem; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-suite { border-color: rgba(17,23,19,.1); border-radius: 20px; box-shadow: 0 16px 42px rgba(24,44,31,.08); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-suite .mbg-product-card__facts { background: var(--mbg-mist); border: 0; border-radius: 12px; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass { border-color: rgba(255,255,255,.8); background: linear-gradient(145deg,rgba(255,255,255,.78),rgba(237,247,240,.5)); box-shadow: 18px 18px 40px rgba(31,67,43,.13),inset 1px 1px 0 #fff; backdrop-filter: blur(20px); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass .mbg-product-card__action .button { background: linear-gradient(135deg,rgba(0,153,94,.88),rgba(0,107,63,.96)); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-kente { border: 0; border-radius: 10px 27px 10px 27px; background: linear-gradient(90deg,var(--mbg-red) 0 5px,var(--mbg-gold) 5px 10px,var(--mbg-green) 10px 15px,#fff 15px); box-shadow: 8px 8px 0 rgba(244,196,48,.85); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-blackstar { border-color: rgba(244,196,48,.32); background: linear-gradient(145deg,#17241c,#080e0a); color: #fff; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-blackstar .woocommerce-loop-product__title,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-blackstar .mbg-product-card__price { color: #fff; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-blackstar .mbg-product-card__excerpt,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-blackstar .mbg-product-card__facts span { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.13); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-blackstar .mbg-product-card__facts { border-color: rgba(255,255,255,.13); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-blackstar .mbg-product-card__action .button { background: var(--mbg-gold); color: var(--mbg-black); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-editorial { padding: 0 !important; border: 0; border-radius: 0; box-shadow: none; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-editorial .mbg-product-card__media { border-radius: 0; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-editorial .mbg-product-card__body { padding-inline: 0; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-editorial .woocommerce-loop-product__title { font-size: clamp(1.4rem,2vw,1.9rem); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-soft { border: 0; background: #eef3ef; box-shadow: 13px 13px 28px #d4ddd6,-10px -10px 28px #fff; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-soft .mbg-product-card__action .button { background: #eef3ef; color: var(--mbg-green); box-shadow: inset 1px 1px #fff,7px 7px 15px #d1dbd4,-5px -5px 14px #fff; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-minimal { padding: 0 !important; border-color: transparent; border-radius: 14px; box-shadow: none; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-minimal .mbg-product-card__body { padding-inline: 2px; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-minimal .mbg-product-card__facts { display: none; }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-minimal .mbg-product-card__action .button { border: 1px solid var(--mbg-black); background: transparent; color: var(--mbg-black); box-shadow: none; }

/* Live Ghana trip planner. */
.mbg-trip-planner { min-height: 100vh; padding-bottom: 80px; background: radial-gradient(circle at 62% 18%, rgba(0,107,63,.2), transparent 28%), radial-gradient(circle at 92% 50%, rgba(206,17,38,.12), transparent 25%), #07100b; color: rgba(255,255,255,.74); }
.mbg-trip-planner h1, .mbg-trip-planner h2, .mbg-trip-planner h3 { color: #fff; }
.mbg-planner-shell { width: min(1560px, calc(100vw - 34px)); margin-inline: auto; }
.mbg-planner-hero { position: relative; padding: clamp(58px, 8vw, 105px) 0 45px; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.08); }
.mbg-planner-hero::before { content: ""; position: absolute; inset: 0; opacity: .13; background-image: linear-gradient(rgba(255,255,255,.15) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.15) 1px, transparent 1px); background-size: 46px 46px; mask-image: linear-gradient(to right, #000, transparent 70%); }
.mbg-planner-hero::after { content: "GH"; position: absolute; right: 3vw; top: -4rem; color: rgba(255,255,255,.025); font-family: var(--mbg-display); font-size: clamp(15rem, 32vw, 35rem); font-weight: 900; line-height: 1; }
.mbg-planner-hero .mbg-planner-shell { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 50px; }
.mbg-planner-kicker { display: inline-flex; align-items: center; gap: 9px; color: var(--mbg-gold); font-size: .72rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.mbg-planner-kicker i, .mbg-planner-live > span, .mbg-plan-pulse i { width: 8px; height: 8px; border-radius: 50%; background: #4effa7; box-shadow: 0 0 0 7px rgba(78,255,167,.1), 0 0 20px #4effa7; animation: mbg-live-pulse 1.8s ease-in-out infinite; }
.mbg-planner-hero h1 { max-width: 940px; margin: 14px 0 20px; font-size: clamp(3.5rem, 8vw, 8rem); }
.mbg-planner-hero p { max-width: 790px; margin: 0; color: rgba(255,255,255,.6); font-size: clamp(1rem, 1.4vw, 1.18rem); }
.mbg-planner-live { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 5px 12px; min-width: 245px; padding: 20px; border: 1px solid rgba(255,255,255,.1); border-radius: 19px; background: rgba(255,255,255,.05); box-shadow: inset 0 1px rgba(255,255,255,.08), 0 18px 40px rgba(0,0,0,.18); backdrop-filter: blur(14px); }
.mbg-planner-live > span { grid-row: span 2; }
.mbg-planner-live strong { color: #fff; font-size: .83rem; }
.mbg-planner-live small { color: rgba(255,255,255,.45); font-size: .66rem; }
.mbg-planner-controls { position: sticky; top: 87px; z-index: 30; border-bottom: 1px solid rgba(255,255,255,.09); background: rgba(7,16,11,.84); backdrop-filter: blur(20px) saturate(130%); }
.mbg-planner-controls__grid { display: grid; grid-template-columns: 1fr 1fr .65fr 1.15fr 1.1fr auto; align-items: end; }
.mbg-planner-controls label { display: grid; gap: 4px; padding: 13px 17px; border-right: 1px solid rgba(255,255,255,.08); }
.mbg-planner-controls label > span { color: rgba(255,255,255,.42); font-size: .59rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.mbg-planner-controls input, .mbg-planner-controls select { width: 100%; min-height: 30px; padding: 0; border: 0; outline: 0; background: transparent; color: #fff; font-size: .78rem; color-scheme: dark; }
.mbg-planner-reset { min-height: 44px; margin: 10px; padding: 7px 15px; border: 1px solid rgba(206,17,38,.5); border-radius: 12px; background: rgba(206,17,38,.12); color: #ff8f9c; font-size: .7rem; font-weight: 800; cursor: pointer; }
.mbg-planner-workspace { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(450px,1.5fr) minmax(300px,.82fr); gap: 14px; align-items: start; padding-top: 18px; }
.mbg-planner-discovery, .mbg-ghana-map, .mbg-planner-itinerary { min-width: 0; border: 1px solid rgba(255,255,255,.09); border-radius: 24px; background: rgba(255,255,255,.045); box-shadow: 0 30px 80px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.05); backdrop-filter: blur(15px); }
.mbg-planner-discovery, .mbg-planner-itinerary { position: sticky; top: 177px; max-height: calc(100vh - 196px); overflow: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.16) transparent; }
.mbg-planner-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 22px 22px 16px; }
.mbg-planner-panel-head span, .mbg-map-detail > span { color: var(--mbg-gold); font-size: .57rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.mbg-planner-panel-head h2 { margin-top: 5px; font-family: var(--mbg-font); font-size: 1.05rem; letter-spacing: -.015em; }
.mbg-planner-panel-head > strong { min-width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.06); color: #fff; font-size: .74rem; }
.mbg-planner-search { position: relative; display: flex; align-items: center; margin: 0 16px 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(0,0,0,.18); }
.mbg-planner-search b { padding-left: 13px; color: rgba(255,255,255,.35); font-size: 1.1rem; }
.mbg-planner-search input { width: 100%; min-height: 44px; padding: 8px 13px; border: 0; outline: 0; background: transparent; color: #fff; font-size: .7rem; }
.mbg-planner-filters { display: flex; gap: 6px; padding: 0 16px 13px; overflow-x: auto; }
.mbg-planner-filters button { flex: 0 0 auto; display: flex; align-items: center; gap: 5px; padding: 7px 9px; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; background: transparent; color: rgba(255,255,255,.45); font-size: .6rem; cursor: pointer; }
.mbg-planner-filters button i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.mbg-planner-filters button.is-active { background: rgba(255,255,255,.09); color: #fff; }
.mbg-planner-filters [data-planner-filter="mbg_event"].is-active { color: #ff7f8e; }.mbg-planner-filters [data-planner-filter="mbg_experience"].is-active { color: #63e5a8; }.mbg-planner-filters [data-planner-filter="mbg_tour"].is-active { color: #f6d766; }.mbg-planner-filters [data-planner-filter="mbg_accommodation"].is-active { color: #78c7ff; }
.mbg-planner-results { display: grid; gap: 7px; padding: 0 10px 14px; }
.mbg-place-result { border: 1px solid transparent; border-radius: 15px; background: rgba(255,255,255,.035); transition: background .2s, border-color .2s; }
.mbg-place-result:hover { border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.07); }
.mbg-place-result__open { width: 100%; display: grid; grid-template-columns: 34px 1fr; gap: 10px; padding: 12px 12px 7px; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.mbg-place-result__open > i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: rgba(255,255,255,.08); color: #fff; font-style: normal; }
.mbg-place-result__open span, .mbg-place-result__open small, .mbg-place-result__open strong, .mbg-place-result__open em { min-width: 0; display: block; }
.mbg-place-result__open small { color: rgba(255,255,255,.35); font-size: .52rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.mbg-place-result__open strong { margin-top: 2px; overflow: hidden; color: #fff; font-size: .69rem; text-overflow: ellipsis; white-space: nowrap; }
.mbg-place-result__open em { margin-top: 2px; overflow: hidden; color: rgba(255,255,255,.4); font-size: .58rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.mbg-place-result > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 12px 10px 56px; }
.mbg-place-result > div b { overflow: hidden; color: rgba(255,255,255,.7); font-size: .61rem; text-overflow: ellipsis; white-space: nowrap; }
.mbg-place-result > div button { width: 28px; height: 28px; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; background: #fff; color: var(--mbg-black); font-weight: 900; cursor: pointer; }
.mbg-place-result > div button.is-added { background: var(--mbg-green); color: #fff; }
.mbg-ghana-map { overflow: hidden; }
.mbg-ghana-map__head { display: flex; align-items: center; justify-content: space-between; min-height: 68px; padding: 13px 18px; border-bottom: 1px solid rgba(255,255,255,.08); }
.mbg-ghana-map__head span, .mbg-ghana-map__head strong { display: block; }
.mbg-ghana-map__head span { color: var(--mbg-gold); font-size: .56rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.mbg-ghana-map__head strong { margin-top: 4px; color: rgba(255,255,255,.74); font-size: .66rem; }
.mbg-map-tools { display: flex; gap: 5px; }
.mbg-map-tools button { width: 33px; height: 33px; border: 1px solid rgba(255,255,255,.11); border-radius: 10px; background: rgba(255,255,255,.06); color: #fff; cursor: pointer; }
.mbg-ghana-map__viewport { position: relative; min-height: 670px; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at center, rgba(0,107,63,.18), transparent 49%), linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px), #050d08; background-size: auto, 31px 31px, 31px 31px, auto; cursor: grab; touch-action: none; }
.mbg-ghana-map__viewport:active { cursor: grabbing; }
.mbg-ghana-map__canvas { position: relative; width: min(440px, 88%); aspect-ratio: 500 / 760; transform-origin: center; transition: transform .2s ease; }
.mbg-ghana-map__shape, .mbg-map-route, .mbg-map-pins { position: absolute; inset: 0; width: 100%; height: 100%; }
.mbg-map-country { fill: url(#ghanaFill); stroke: rgba(255,255,255,.92); stroke-width: 2.2; filter: url(#mapGlow); }
.mbg-map-regions path { fill: none; stroke: rgba(255,255,255,.32); stroke-width: 1.1; stroke-dasharray: 2 3; }
.mbg-map-labels text { fill: rgba(255,255,255,.48); font: 700 9px var(--mbg-font); letter-spacing: .03em; text-anchor: middle; text-transform: uppercase; }
.mbg-map-topography circle, .mbg-map-topography path { fill: none; stroke: rgba(78,255,167,.09); stroke-width: 1; }
.mbg-map-route { z-index: 2; overflow: visible; pointer-events: none; }
.mbg-map-route polyline { fill: none; stroke: var(--mbg-gold); stroke-width: .55; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 2 1.4; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 5px rgba(244,196,48,.7)); animation: mbg-route-flow 2.6s linear infinite; }
.mbg-map-pins { z-index: 4; pointer-events: none; }
.mbg-map-pin { position: absolute; display: flex; align-items: center; min-width: 12px; min-height: 12px; padding: 0; border: 0; background: none; color: #fff; transform: translate(-50%,-50%); pointer-events: auto; cursor: pointer; animation: mbg-pin-arrive .45s both; animation-delay: var(--pin-delay); }
.mbg-map-pin > i { position: relative; z-index: 2; width: 11px; height: 11px; flex: 0 0 auto; border: 2px solid #fff; border-radius: 50%; background: #63e5a8; box-shadow: 0 0 0 5px rgba(99,229,168,.13), 0 0 16px rgba(99,229,168,.72); }
.mbg-map-pin > i::after { content: ""; position: absolute; inset: -8px; border: 1px solid currentColor; border-radius: 50%; opacity: .65; animation: mbg-marker-ring 2.2s ease-out infinite; }
.mbg-map-pin > span { max-width: 92px; margin-left: 5px; padding: 4px 6px; overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 7px; background: rgba(7,16,11,.82); color: rgba(255,255,255,.78); font-size: .48rem; font-weight: 800; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; backdrop-filter: blur(8px); }
.mbg-map-pin--event > i { background: #ed4055; box-shadow: 0 0 0 5px rgba(237,64,85,.12), 0 0 16px rgba(237,64,85,.7); }.mbg-map-pin--tour > i { background: var(--mbg-gold); box-shadow: 0 0 0 5px rgba(244,196,48,.12), 0 0 16px rgba(244,196,48,.7); }.mbg-map-pin--accommodation > i { background: #55adf1; box-shadow: 0 0 0 5px rgba(85,173,241,.12), 0 0 16px rgba(85,173,241,.7); }
.mbg-map-pin.is-selected > i, .mbg-map-pin.is-focused > i { width: 15px; height: 15px; background: #fff; border-color: var(--mbg-gold); box-shadow: 0 0 0 7px rgba(244,196,48,.18), 0 0 24px var(--mbg-gold); }
.mbg-map-pin.is-selected > span, .mbg-map-pin.is-focused > span { background: #fff; color: var(--mbg-black); }
.mbg-map-scan { position: absolute; inset-inline: 0; top: -25%; height: 35%; background: linear-gradient(transparent, rgba(78,255,167,.045), rgba(78,255,167,.12), transparent); pointer-events: none; animation: mbg-map-scan 7s linear infinite; }
.mbg-map-detail { min-height: 150px; padding: 22px 24px; border-top: 1px solid rgba(255,255,255,.08); background: linear-gradient(135deg, rgba(255,255,255,.06), transparent); }
.mbg-map-detail h2 { margin: 6px 0 8px; font-family: var(--mbg-font); font-size: 1.18rem; letter-spacing: -.02em; }
.mbg-map-detail p { margin: 0; color: rgba(255,255,255,.56); font-size: .72rem; }
.mbg-map-detail small { display: block; margin-top: 7px; color: rgba(255,255,255,.34); font-size: .62rem; }
.mbg-map-detail > div { display: flex; flex-wrap: wrap; align-items: center; gap: 15px; margin-top: 14px; }
.mbg-map-detail__add { min-height: 36px; padding: 7px 13px; border: 0; border-radius: 10px; background: var(--mbg-gold); color: var(--mbg-black); font-size: .65rem; font-weight: 850; cursor: pointer; }
.mbg-map-detail a { color: #72e4ad; font-size: .63rem; font-weight: 750; }
.mbg-map-note { margin: 0; padding: 12px 22px 18px; color: rgba(255,255,255,.31); font-size: .57rem; line-height: 1.5; }
.mbg-plan-pulse { display: flex; align-items: center; gap: 10px; margin: 0 16px 14px; padding: 11px 12px; border: 1px solid rgba(78,255,167,.12); border-radius: 12px; background: rgba(78,255,167,.06); color: #82eeb8; font-size: .62rem; }
.mbg-plan-pulse i { width: 6px; height: 6px; }
.mbg-plan-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 0 16px 14px; overflow: hidden; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(255,255,255,.08); }
.mbg-plan-summary > div { padding: 13px; background: #0b1710; }
.mbg-plan-summary span, .mbg-plan-summary strong { display: block; }
.mbg-plan-summary span { color: rgba(255,255,255,.34); font-size: .52rem; text-transform: uppercase; }
.mbg-plan-summary strong { margin-top: 3px; color: #fff; font-size: .72rem; }
.mbg-budget { margin: 0 16px 14px; padding: 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(255,255,255,.035); }
.mbg-budget > div { display: flex; justify-content: space-between; gap: 10px; color: rgba(255,255,255,.57); font-size: .59rem; }
.mbg-budget progress { width: 100%; height: 7px; margin: 9px 0 5px; overflow: hidden; border: 0; border-radius: 10px; background: rgba(255,255,255,.08); accent-color: var(--mbg-gold); }
.mbg-budget small { display: block; color: rgba(255,255,255,.3); font-size: .52rem; line-height: 1.45; }
.mbg-plan-warnings { margin: 0 16px 14px; padding: 11px 13px; border: 1px solid rgba(244,196,48,.2); border-radius: 13px; background: rgba(244,196,48,.06); }
.mbg-plan-warnings p { margin: 4px 0; color: #ebd681; font-size: .56rem; line-height: 1.45; }
.mbg-plan-warnings p::before { content: "!"; display: inline-grid; place-items: center; width: 15px; height: 15px; margin-right: 6px; border-radius: 50%; background: rgba(244,196,48,.18); font-weight: 900; }
.mbg-plan-days { display: grid; gap: 7px; padding: 0 12px 14px; }
.mbg-plan-empty { margin: 0; padding: 18px; border: 1px dashed rgba(255,255,255,.1); border-radius: 13px; color: rgba(255,255,255,.35); font-size: .63rem; line-height: 1.55; }
.mbg-plan-stop { display: grid; grid-template-columns: 28px 1fr 26px; align-items: center; gap: 9px; padding: 10px; border: 1px solid rgba(255,255,255,.07); border-radius: 13px; background: rgba(255,255,255,.035); animation: mbg-stop-in .35s both; }
.mbg-plan-stop > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; background: var(--mbg-green); color: #fff; font-size: .6rem; font-weight: 900; }
.mbg-plan-stop small, .mbg-plan-stop strong, .mbg-plan-stop em { min-width: 0; display: block; }
.mbg-plan-stop small { color: var(--mbg-gold); font-size: .48rem; font-weight: 800; text-transform: uppercase; }
.mbg-plan-stop strong { margin-top: 2px; overflow: hidden; color: #fff; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.mbg-plan-stop em { margin-top: 2px; overflow: hidden; color: rgba(255,255,255,.34); font-size: .5rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.mbg-plan-stop button { width: 26px; height: 26px; padding: 0; border: 0; border-radius: 8px; background: rgba(206,17,38,.12); color: #ff8492; cursor: pointer; }
.mbg-plan-actions { display: grid; gap: 7px; padding: 14px 16px 20px; border-top: 1px solid rgba(255,255,255,.07); }
.mbg-plan-actions button { min-height: 42px; border: 1px solid var(--mbg-gold); border-radius: 12px; background: var(--mbg-gold); color: var(--mbg-black); font-size: .66rem; font-weight: 850; cursor: pointer; }
.mbg-plan-actions button:disabled { border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.06); color: rgba(255,255,255,.3); cursor: not-allowed; }
.mbg-plan-actions small { color: rgba(255,255,255,.3); font-size: .52rem; text-align: center; }
.mbg-planner-toast { position: fixed; right: 24px; bottom: 24px; z-index: 100; max-width: min(360px, calc(100vw - 48px)); padding: 14px 18px; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; background: rgba(13,32,21,.95); color: #fff; box-shadow: 0 20px 60px rgba(0,0,0,.35); font-size: .72rem; animation: mbg-stop-in .25s both; }
@keyframes mbg-live-pulse { 50% { opacity: .45; transform: scale(.72); } }
@keyframes mbg-route-flow { to { stroke-dashoffset: -20; } }
@keyframes mbg-pin-arrive { from { opacity: 0; transform: translate(-50%,-30%) scale(.6); } }
@keyframes mbg-marker-ring { from { opacity: .65; transform: scale(.4); } to { opacity: 0; transform: scale(1.35); } }
@keyframes mbg-map-scan { from { transform: translateY(-100%); } to { transform: translateY(420%); } }
@keyframes mbg-stop-in { from { opacity: 0; transform: translateY(8px); } }

[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
[data-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1120px) {
  .mbg-header__inner { grid-template-columns: auto 1fr auto; }
  .mbg-menu-toggle { display: inline-grid; }
  .mbg-menu-toggle { grid-column: 3; justify-self: end; }
  .mbg-nav { position: fixed; inset: 0 0 0 auto; z-index: 120; width: min(540px, 92vw); height: 100dvh; padding: 0 20px 28px; overflow-y: auto; visibility: hidden; transform: translateX(104%); background: rgba(255,255,255,.98); box-shadow: -24px 0 70px rgba(7,25,14,.24); backdrop-filter: blur(22px); transition: transform .28s cubic-bezier(.2,.7,.2,1), visibility .28s; }
  .mbg-nav.is-open { visibility: visible; transform: translateX(0); }
  .mbg-nav__mobile-head { position: sticky; top: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; min-height: 76px; margin: 0 -20px 8px; padding: 0 20px; border-bottom: 1px solid var(--mbg-line); background: rgba(255,255,255,.94); backdrop-filter: blur(18px); }
  .mbg-nav__mobile-head > span { max-width: 280px; font-family: var(--mbg-display); font-size: 1.2rem; font-weight: 700; }
  .mbg-nav__mobile-head .mbg-icon-button { font-size: 1.45rem; }
  .mbg-nav__list { display: grid; gap: 3px; }
  .mbg-nav__list > li { border-bottom: 1px solid rgba(17,23,19,.08); }
  .mbg-nav__list > li > a, .mbg-nav__trigger { width: 100%; min-height: 52px; justify-content: space-between; padding: 10px 4px; font-size: .96rem; text-align: left; }
  .mbg-nav__list > li > a::after, .mbg-nav__trigger::after { display: none; }
  .mbg-mega { position: static; width: 100%; max-height: none; margin: 0 0 15px; overflow: visible; transform: none; border-radius: 20px; background: linear-gradient(145deg, rgba(244,248,245,.98), #fff); box-shadow: inset 0 1px 0 #fff, 0 10px 28px rgba(25,50,34,.08); backdrop-filter: none; }
  .mbg-mega__flag { border-radius: 20px 20px 0 0; overflow: hidden; }
  .mbg-mega__grid { grid-template-columns: 1fr 1fr; gap: 24px; padding: 22px; }
  .mbg-mega__feature { grid-column: 1 / -1; }
  .mbg-mega__column:last-child { grid-column: 1 / -1; }
  .mbg-mega__column:last-child > ul { grid-template-columns: 1fr 1fr; }
  .mbg-nav__mobile-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding-top: 22px; }
  .mbg-header__actions { justify-self: end; }
  .mbg-path-grid { grid-template-columns: 1fr 1fr; }
  .mbg-card-grid--four { grid-template-columns: 1fr 1fr; }
  .mbg-planner-controls { top: 77px; }
  .mbg-planner-controls__grid { grid-template-columns: repeat(3, 1fr); }
  .mbg-planner-workspace { grid-template-columns: minmax(250px,.75fr) minmax(440px,1.25fr); }
  .mbg-planner-itinerary { grid-column: 1 / -1; position: static; max-height: none; }
  .mbg-planner-discovery { top: 218px; }
}

@media (max-width: 860px) {
  :root { --mbg-shell: min(100% - 28px, 720px); }
  .mbg-utility { display: none; }
  .mbg-header__inner { min-height: 72px; gap: 8px; }
  .mbg-brand__copy strong { display: none; }
  .mbg-brand__copy em { font-size: 1.35rem; }
  .mbg-header__actions .mbg-icon-button, .mbg-header__actions .mbg-button { display: none; }
  .mbg-hero { padding-top: 46px; }
  .mbg-hero__grid { grid-template-columns: 1fr; gap: 10px; }
  .mbg-hero__copy { padding-bottom: 30px; }
  .mbg-hero__visual img { border-radius: 28px 28px 60px 28px; transform: none; }
  .mbg-hero__stamp { left: 16px; bottom: 18px; }
  .mbg-search-deck { margin-top: 28px; margin-bottom: -55px; }
  .mbg-search-deck__form { grid-template-columns: 1fr 1fr; }
  .mbg-search-deck__form label:nth-of-type(2) { border-right: 0; }
  .mbg-search-deck__form label:nth-of-type(3) { border-top: 1px solid var(--mbg-line); }
  .mbg-search-deck__form .mbg-button { grid-column: 2; }
  .mbg-section--intro { padding-top: 125px; }
  .mbg-section-heading { display: grid; gap: 18px; }
  .mbg-card-grid--three { grid-template-columns: 1fr 1fr; }
  .mbg-feature-split { grid-template-columns: 1fr; }
  .mbg-story-cta__inner { align-items: start; flex-direction: column; }
  .mbg-story-cta__inner > div:last-child { min-width: 0; }
  .mbg-detail__layout { grid-template-columns: 1fr; }
  .mbg-booking-card { position: static; }
  .mbg-footer__grid { grid-template-columns: 1fr 1fr; }
  .mbg-filter-bar { grid-template-columns: 1fr 1fr; }
  .mbg-filter-bar .mbg-button { grid-column: 1 / -1; }
  .mbg-commerce-hero__grid, .mbg-planner-hero .mbg-planner-shell { grid-template-columns: 1fr; }
  .mbg-commerce-hero__stamp { display: none; }
  .mbg-planner-live { width: max-content; }
  .mbg-planner-controls { position: relative; top: auto; }
  .mbg-planner-controls__grid { grid-template-columns: 1fr 1fr; }
  .mbg-planner-workspace { grid-template-columns: 1fr; }
  .mbg-planner-discovery, .mbg-planner-itinerary { position: static; max-height: none; }
  .mbg-planner-discovery { order: 2; }
  .mbg-ghana-map { order: 1; }
  .mbg-planner-itinerary { order: 3; }
  .mbg-planner-results { grid-template-columns: 1fr 1fr; }
  .mbg-shop-cols--4 .woocommerce .products, .mbg-shop-cols--3 .woocommerce .products { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .mbg-shop-layout--discovery-mosaic .woocommerce .products li.product:first-child { grid-column: span 2; }
}

@media (max-width: 580px) {
  h1 { font-size: clamp(2.75rem, 14vw, 4.4rem); }
  h2 { font-size: clamp(2rem, 11vw, 3.2rem); }
  .mbg-header__inner { grid-template-columns: auto 1fr auto; }
  .mbg-brand__mark { width: 36px; height: 36px; }
  .mbg-menu-toggle { grid-column: 3; }
  .mbg-header__actions { display: none; }
  .mbg-nav { width: 100%; padding-inline: 14px; }
  .mbg-nav__mobile-head { margin-inline: -14px; padding-inline: 14px; }
  .mbg-mega__grid { grid-template-columns: 1fr; padding: 15px; }
  .mbg-mega__feature, .mbg-mega__column:last-child { grid-column: auto; }
  .mbg-mega__column:last-child > ul { grid-template-columns: 1fr; }
  .mbg-nav__mobile-actions { grid-template-columns: 1fr; }
  .mbg-search-deck__form { grid-template-columns: 1fr; }
  .mbg-search-deck__form label { border-right: 0; border-bottom: 1px solid var(--mbg-line); }
  .mbg-search-deck__form label:nth-of-type(2) { border-bottom: 1px solid var(--mbg-line); }
  .mbg-search-deck__form label:nth-of-type(3) { border-top: 0; }
  .mbg-search-deck__form .mbg-button { grid-column: 1; }
  .mbg-path-grid, .mbg-card-grid--three, .mbg-card-grid--four, .mbg-plan-grid { grid-template-columns: 1fr; }
  .mbg-event-row { grid-template-columns: 62px 1fr; gap: 14px; }
  .mbg-event-row time { width: 58px; height: 58px; border-radius: 16px; }
  .mbg-event-row > .mbg-icon-button { display: none; }
  .mbg-story-cta__inner { padding: 28px; }
  .mbg-story-cta__inner > div:last-child { display: grid; width: 100%; }
  .mbg-detail__intro { align-items: start; flex-direction: column; }
  .mbg-detail__image { height: 72vw; border-radius: 22px; }
  .mbg-detail__layout { padding-bottom: 70px; }
  .mbg-filter-bar, .mbg-footer__grid { grid-template-columns: 1fr; }
  .mbg-explorer { grid-template-columns: 1fr; }
  .mbg-explorer__filters { position: static; }
  .mbg-explorer-card { grid-template-columns: 110px 1fr; }
  .mbg-footer__bottom { align-items: flex-start; flex-direction: column; }
  .mbg-footer__bottom div { flex-wrap: wrap; }
  .mbg-global-search { flex-direction: column; }
  .woocommerce .products { grid-template-columns: 1fr !important; }
	.mbg-shop-categories { grid-template-columns: 1fr; }
	.mbg-card--style-split, .mbg-card--style-compact { display: block; }
	.mbg-card--style-split .mbg-card__media, .mbg-card--style-compact .mbg-card__media { height: auto; aspect-ratio: 1.32; }
  .mbg-commerce-hero { padding-top: 48px; }
  .mbg-shop-category-nav { margin-top: 28px; }
  .woocommerce ul.products li.product.mbg-product-card.mbg-card--style-split,
  .woocommerce ul.products li.product.mbg-product-card.mbg-card--style-compact { display: flex; }
  .woocommerce ul.products li.product.mbg-product-card.mbg-card--style-split .mbg-product-card__media,
  .woocommerce ul.products li.product.mbg-product-card.mbg-card--style-compact .mbg-product-card__media { height: auto; aspect-ratio: 1.25; }
  .mbg-planner-shell { width: min(100% - 18px, 620px); }
  .mbg-planner-hero { padding-top: 45px; }
  .mbg-planner-hero h1 { font-size: clamp(3.25rem, 17vw, 5.3rem); }
  .mbg-planner-live { width: 100%; }
  .mbg-planner-controls__grid { grid-template-columns: 1fr 1fr; }
  .mbg-planner-controls label { padding-inline: 11px; }
  .mbg-planner-reset { grid-column: 1 / -1; }
  .mbg-planner-workspace { padding-top: 9px; }
  .mbg-ghana-map__viewport { min-height: 610px; }
  .mbg-ghana-map__canvas { width: 96%; }
  .mbg-map-pin > span { display: none; }
  .mbg-planner-results { grid-template-columns: 1fr; }
  .mbg-shop-page .mbg-commerce-hero { width: min(100% - 20px,620px); margin-top: 12px; padding-inline: 20px; border-radius: 24px; }
  .mbg-shop-cols--2 .woocommerce .products, .mbg-shop-cols--3 .woocommerce .products, .mbg-shop-cols--4 .woocommerce .products { grid-template-columns: 1fr !important; }
  .mbg-shop-layout--discovery-mosaic .woocommerce .products li.product:first-child { grid-column: auto; }
  .mbg-shop-layout--discovery-mosaic .woocommerce .products li.product:first-child .mbg-product-card__media { aspect-ratio: 1.25; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}

@media print {
  .mbg-utility, .mbg-header, .mbg-search-drawer, .mbg-footer, .mbg-save, .mbg-booking-card { display: none !important; }
  .mbg-detail__layout { display: block; }
  .mbg-prose { color: #000; }
}

/* ========================================================================== */
/* MBG v0.6.0 — WooCommerce layout rebuild                                  */
/* ========================================================================== */

/* The shop and product surfaces now own a real theme shell instead of relying
   on WooCommerce's wrapper hooks. This is intentionally defensive so plugin
   updates cannot push the catalogue back to browser-edge width. */
.mbg-shop-main,
.mbg-product-main { width: 100%; overflow: clip; }

.mbg-commerce--catalog,
.mbg-commerce--single {
  width: var(--mbg-shell);
  max-width: 1240px;
  margin-inline: auto;
}

.mbg-commerce--catalog { padding-top: clamp(34px, 4.5vw, 58px); }
.mbg-commerce--single { padding-block: clamp(38px, 5vw, 72px) clamp(72px, 8vw, 118px); }

/* Catalogue controls. */
.mbg-commerce--catalog .woocommerce-result-count,
.mbg-commerce--catalog .woocommerce-ordering { float: none !important; }
.mbg-commerce--catalog .woocommerce-result-count { display: inline-flex; align-items: center; min-height: 46px; margin: 0 0 24px !important; }
.mbg-commerce--catalog .woocommerce-ordering { float: right !important; margin: 0 0 24px !important; }
.mbg-commerce--catalog .woocommerce-ordering select { min-width: 220px; }
.mbg-commerce--catalog ul.products { width: 100%; margin: 0 !important; clear: both; }

/* Keep every selectable shop composition boxed. */
.mbg-shop-page .mbg-commerce,
.mbg-shop-page .mbg-commerce-hero { max-width: 1240px; margin-inline: auto; }
.mbg-shop-layout--boutique .mbg-commerce { width: min(1120px, calc(100vw - 40px)); }

/* Single product: remove WooCommerce float-era layout and rebuild it as a
   predictable editorial grid. */
body.single-product .mbg-commerce--single > div.product[id^="product-"] {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(360px, .94fr);
  column-gap: clamp(34px, 5vw, 76px);
  row-gap: clamp(42px, 5.5vw, 74px);
  align-items: start;
  width: 100%;
  margin: 0;
}

body.single-product .woocommerce div.product div.images,
body.single-product .woocommerce div.product div.summary,
body.single-product .mbg-commerce--single div.product div.images,
body.single-product .mbg-commerce--single div.product div.summary {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}

body.single-product .mbg-commerce--single div.product div.images {
  position: relative;
  min-width: 0;
}

body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery__image > a {
  display: block;
  width: 100%;
}

body.single-product .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: clamp(18px, 2vw, 30px);
  box-shadow: 0 24px 64px rgba(22, 45, 30, .13);
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 0 !important;
  padding: 0 !important;
}
body.single-product .woocommerce-product-gallery .flex-control-thumbs li { width: auto !important; float: none !important; }
body.single-product .woocommerce-product-gallery .flex-control-thumbs img { border-radius: 12px; }

body.single-product .woocommerce span.onsale {
  z-index: 4;
  top: 18px;
  left: 18px;
  min-width: 0;
  min-height: 0;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--mbg-red);
  color: #fff;
  font-size: .7rem;
  font-weight: 850;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0 10px 25px rgba(206,17,38,.22);
}

body.single-product .mbg-commerce--single div.product div.summary {
  position: sticky;
  top: 124px;
  padding: clamp(8px, 1.2vw, 16px) 0;
}

body.single-product .product_title {
  max-width: 760px;
  margin: 0 0 18px !important;
  font-family: var(--mbg-display);
  font-size: clamp(2.6rem, 4.25vw, 4.65rem) !important;
  font-weight: 700;
  line-height: .98 !important;
  letter-spacing: -.045em;
  overflow-wrap: anywhere;
}

body.single-product .summary .price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
  margin: 0 0 22px !important;
  color: var(--mbg-green) !important;
  font-size: clamp(1.25rem, 2vw, 1.65rem) !important;
  font-weight: 850;
}
body.single-product .summary .price del { color: #918b70; font-size: .82em; opacity: .68; }
body.single-product .summary .price ins { text-decoration: none; }

body.single-product .woocommerce-product-details__short-description {
  max-width: 700px;
  margin-bottom: 24px;
  color: #4c574f;
  font-size: .98rem;
  line-height: 1.75;
}
body.single-product .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }

body.single-product form.cart { margin: 24px 0 0 !important; }
body.single-product form.cart::before,
body.single-product form.cart::after { display: none !important; }

body.single-product table.variations {
  display: grid;
  gap: 12px;
  width: 100%;
  margin: 0 0 18px !important;
  border: 0;
}
body.single-product table.variations tbody,
body.single-product table.variations tr { display: grid; gap: 8px; width: 100%; }
body.single-product table.variations tr { grid-template-columns: 110px minmax(0, 1fr); align-items: center; }
body.single-product table.variations th,
body.single-product table.variations td { display: block; padding: 0 !important; border: 0 !important; }
body.single-product table.variations label { font-weight: 800; color: var(--mbg-black); }
body.single-product table.variations select {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 50px;
  padding: 0 44px 0 15px;
  border: 1px solid #d9dfdb;
  border-radius: 13px;
  background: #fff;
  color: var(--mbg-black);
}
body.single-product .reset_variations { display: inline-block; margin-top: 8px; color: var(--mbg-green); font-size: .78rem; font-weight: 800; }
body.single-product .single_variation_wrap { margin-top: 12px; }
body.single-product .woocommerce-variation-price { margin-bottom: 12px; }

body.single-product .quantity { float: none !important; display: inline-flex; margin: 0 9px 0 0 !important; vertical-align: middle; }
body.single-product .quantity .qty {
  width: 72px;
  min-height: 50px;
  border: 1px solid #d9dfdb;
  border-radius: 13px;
  background: #fff;
  font-weight: 750;
}
body.single-product .single_add_to_cart_button {
  float: none !important;
  min-height: 50px;
  padding: 0 24px !important;
  border-radius: 13px !important;
  background: linear-gradient(180deg, #173326, #0d2117) !important;
  color: #fff !important;
  font-size: .86rem !important;
  font-weight: 850 !important;
  box-shadow: inset 0 1px rgba(255,255,255,.16), 0 12px 24px rgba(13,33,23,.16);
}
body.single-product .single_add_to_cart_button:hover { transform: translateY(-1px); filter: brightness(1.08); }

body.single-product .product_meta {
  display: grid;
  gap: 7px;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--mbg-line);
  color: var(--mbg-muted);
  font-size: .78rem;
  line-height: 1.55;
}
body.single-product .product_meta a { color: var(--mbg-green); font-weight: 750; }

/* Everything after gallery + summary spans the complete product shell. */
body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.single-product .upsells.products {
  grid-column: 1 / -1;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin: 0 !important;
}

body.single-product .woocommerce-tabs {
  padding-top: clamp(20px, 2vw, 30px);
  border-top: 1px solid var(--mbg-line);
}
body.single-product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 26px !important;
  padding: 0 !important;
  border: 0 !important;
}
body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.single-product .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--mbg-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
}
body.single-product .woocommerce-tabs ul.tabs li a { padding: 10px 17px !important; font-size: .8rem; }
body.single-product .woocommerce-tabs ul.tabs li.active { background: var(--mbg-black) !important; }
body.single-product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
body.single-product .woocommerce-Tabs-panel { max-width: 900px; color: #4c574f; line-height: 1.8; }
body.single-product .woocommerce-Tabs-panel h2 { font-size: clamp(2rem, 3vw, 3.2rem); }

body.single-product .related.products,
body.single-product .upsells.products { padding-top: clamp(18px, 3vw, 34px); }
body.single-product .related.products > h2,
body.single-product .upsells.products > h2 {
  max-width: none;
  margin: 0 0 28px;
  font-size: clamp(2.2rem, 4vw, 4rem);
  line-height: 1;
  letter-spacing: -.04em;
}
body.single-product .related.products ul.products,
body.single-product .upsells.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100%;
  margin: 0 !important;
}
body.single-product .related.products ul.products li.product,
body.single-product .upsells.products ul.products li.product { width: auto !important; margin: 0 !important; }

/* Notices remain inside the same visual system. */
.mbg-commerce .woocommerce-message,
.mbg-commerce .woocommerce-info,
.mbg-commerce .woocommerce-error {
  border: 1px solid var(--mbg-line);
  border-top: 3px solid var(--mbg-green);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(30,50,37,.07);
}

@media (max-width: 980px) {
  body.single-product .mbg-commerce--single > div.product[id^="product-"] {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .86fr);
    column-gap: 28px;
  }
  body.single-product .product_title { font-size: clamp(2.4rem, 5.5vw, 3.8rem) !important; }
  body.single-product .related.products ul.products,
  body.single-product .upsells.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 760px) {
  .mbg-commerce--catalog,
  .mbg-commerce--single { width: min(100% - 24px, 620px); }
  .mbg-commerce--single { padding-top: 24px; }
  .mbg-commerce--catalog .woocommerce-result-count,
  .mbg-commerce--catalog .woocommerce-ordering { float: none !important; display: block; width: 100%; }
  .mbg-commerce--catalog .woocommerce-ordering select { width: 100%; min-width: 0; }
  body.single-product .mbg-commerce--single > div.product[id^="product-"] { display: block; }
  body.single-product .mbg-commerce--single div.product div.summary { position: static; margin-top: 28px !important; }
  body.single-product .product_title { font-size: clamp(2.35rem, 11vw, 3.75rem) !important; }
  body.single-product table.variations tr { grid-template-columns: 1fr; }
  body.single-product .woocommerce-tabs,
  body.single-product .related.products,
  body.single-product .upsells.products { margin-top: 46px !important; }
  body.single-product .related.products ul.products,
  body.single-product .upsells.products ul.products { grid-template-columns: 1fr !important; }
}

@media (max-width: 430px) {
  .mbg-commerce--catalog,
  .mbg-commerce--single { width: calc(100% - 18px); }
  body.single-product .quantity { margin-bottom: 10px !important; }
  body.single-product .single_add_to_cart_button { width: calc(100% - 86px); }
  body.single-product .woocommerce-tabs ul.tabs { display: grid; grid-template-columns: 1fr; }
  body.single-product .woocommerce-tabs ul.tabs li a { display: block; text-align: center; }
}


/* ========================================================================== */
/* MBG v0.7.1 — single-product structural hotfix                              */
/* ========================================================================== */

/* WooCommerce does NOT give the main product element id="product". Its real
   id is product-<post id> (for example product-1842). v0.7.0 narrowed the
   selector to #product by mistake, so the main two-column grid never started.
   These selectors bind only to the real top-level product and cannot leak into
   related/upsell product cards. */
body.single-product .mbg-commerce--single > div.product[id^="product-"] {
  display: grid !important;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr) !important;
  column-gap: clamp(36px, 5vw, 76px) !important;
  row-gap: clamp(42px, 5.5vw, 74px) !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

body.single-product .mbg-commerce--single > div.product[id^="product-"] > .woocommerce-product-gallery,
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .images {
  grid-column: 1 !important;
  grid-row: 1 !important;
  float: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.single-product .mbg-commerce--single > div.product[id^="product-"] > .summary {
  grid-column: 2 !important;
  grid-row: 1 !important;
  float: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

/* Tabs and recommendations are full-width rows below the hero product. */
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .woocommerce-tabs,
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .upsells.products,
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .related.products {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Keep variation rows and purchase controls from colliding with the tabs. */
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .summary form.cart,
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .summary .variations_form {
  position: relative !important;
  z-index: 1;
  width: 100% !important;
  overflow: visible !important;
}
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .summary .single_variation_wrap {
  display: block;
  width: 100%;
  clear: both;
}
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .summary .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  min-height: 52px;
}
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .summary .quantity {
  flex: 0 0 auto;
  margin: 0 !important;
}
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .summary .single_add_to_cart_button {
  flex: 0 1 auto;
  margin: 0 !important;
}

/* Recommendations: cards remain genuine cards, regardless of the selected
   store template or product-card design. */
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .related.products ul.products,
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .upsells.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2vw, 28px) !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .related.products ul.products > li.product,
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .upsells.products ul.products > li.product {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}

@media (max-width: 980px) {
  body.single-product .mbg-commerce--single > div.product[id^="product-"] {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .88fr) !important;
    column-gap: 28px !important;
  }
  body.single-product .mbg-commerce--single > div.product[id^="product-"] > .related.products ul.products,
  body.single-product .mbg-commerce--single > div.product[id^="product-"] > .upsells.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.single-product .mbg-commerce--single > div.product[id^="product-"] {
    display: block !important;
  }
  body.single-product .mbg-commerce--single > div.product[id^="product-"] > .summary {
    margin-top: 28px !important;
  }
  body.single-product .mbg-commerce--single > div.product[id^="product-"] > .woocommerce-tabs,
  body.single-product .mbg-commerce--single > div.product[id^="product-"] > .upsells.products,
  body.single-product .mbg-commerce--single > div.product[id^="product-"] > .related.products {
    margin-top: 46px !important;
  }
  body.single-product .mbg-commerce--single > div.product[id^="product-"] > .related.products ul.products,
  body.single-product .mbg-commerce--single > div.product[id^="product-"] > .upsells.products ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* ========================================================================== */
/* MBG v0.7.0 — Store template differentiation, glass cards + WC safeguards  */
/* ========================================================================== */

/* Product-card colour system. Every template declares its own readable ink,
   muted text and accent colours so dark cards can never inherit dark copy. */
.woocommerce ul.products li.product.mbg-product-card {
  --mbg-product-ink: var(--mbg-black);
  --mbg-product-muted: #69766e;
  --mbg-product-accent: var(--mbg-green);
  --mbg-product-line: rgba(17,23,19,.12);
  isolation: isolate;
  transition: transform .38s cubic-bezier(.2,.8,.2,1), box-shadow .38s ease, border-color .28s ease, filter .28s ease;
  will-change: transform;
}
.woocommerce ul.products li.product.mbg-product-card .woocommerce-loop-product__title,
.woocommerce ul.products li.product.mbg-product-card .woocommerce-loop-product__title a,
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__price,
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__price .price {
  color: var(--mbg-product-ink) !important;
}
.woocommerce ul.products li.product.mbg-product-card .mbg-card__meta,
.woocommerce ul.products li.product.mbg-product-card .mbg-card__meta a {
  color: var(--mbg-product-accent) !important;
}
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__excerpt,
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__facts span,
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__price del {
  color: var(--mbg-product-muted) !important;
}
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__facts,
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__facts span {
  border-color: var(--mbg-product-line) !important;
}
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__facts i { color: var(--mbg-product-accent); }
.woocommerce ul.products li.product.mbg-product-card:hover {
  transform: translateY(-10px) scale(1.012);
}
.woocommerce ul.products li.product.mbg-product-card:hover .mbg-product-card__media img {
  transform: scale(1.075);
}
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__action .button {
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease, background .22s ease, color .22s ease;
}
.woocommerce ul.products li.product.mbg-product-card .mbg-product-card__action .button:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
}

/* Dark / image-overlay styles opt into a light ink palette. */
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-blackstar,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-overlay,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-poster,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass-smoke {
  --mbg-product-ink: #ffffff;
  --mbg-product-muted: rgba(255,255,255,.68);
  --mbg-product-accent: #f4c430;
  --mbg-product-line: rgba(255,255,255,.18);
}
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-blackstar .mbg-card__type,
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass-smoke .mbg-card__type {
  border-color: rgba(255,255,255,.2);
  background: rgba(2,10,6,.52);
  color: #fff;
}

/* Real glass option 1 — clear/prismatic. */
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass-crystal {
  border: 1px solid rgba(255,255,255,.88);
  background:
    linear-gradient(145deg, rgba(255,255,255,.72), rgba(255,255,255,.30)),
    radial-gradient(circle at 12% 5%, rgba(244,196,48,.22), transparent 34%),
    radial-gradient(circle at 90% 18%, rgba(0,107,63,.18), transparent 36%);
  box-shadow: 0 24px 70px rgba(27,62,41,.15), inset 1px 1px 0 rgba(255,255,255,.95), inset -1px -1px 0 rgba(0,107,63,.08);
  backdrop-filter: blur(28px) saturate(155%);
  -webkit-backdrop-filter: blur(28px) saturate(155%);
}
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass-crystal::before {
  content: "";
  position: absolute;
  z-index: 3;
  inset: -45% 45% 45% -55%;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.76) 49%, transparent 68%);
  transform: translateX(-35%) rotate(6deg);
  opacity: .55;
  transition: transform .8s cubic-bezier(.2,.7,.2,1), opacity .3s ease;
}
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass-crystal:hover::before {
  transform: translateX(230%) rotate(6deg);
  opacity: .9;
}
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass-crystal .mbg-product-card__media {
  border: 1px solid rgba(255,255,255,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 14px 30px rgba(27,62,41,.10);
}
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass-crystal .mbg-product-card__action .button {
  background: rgba(10,34,22,.84);
  color: #fff;
  box-shadow: inset 0 1px rgba(255,255,255,.18), 0 10px 26px rgba(5,32,19,.16);
  backdrop-filter: blur(12px);
}

/* Real glass option 2 — animated Aurora liquid glass. */
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass-aurora {
  border: 1px solid rgba(255,255,255,.82);
  background:
    linear-gradient(145deg, rgba(238,250,243,.70), rgba(255,250,224,.48)),
    linear-gradient(120deg, rgba(0,107,63,.12), rgba(244,196,48,.16), rgba(206,17,38,.06));
  background-size: 100% 100%, 220% 220%;
  box-shadow: 0 24px 68px rgba(0,107,63,.16), inset 1px 1px 0 rgba(255,255,255,.95);
  backdrop-filter: blur(30px) saturate(165%);
  -webkit-backdrop-filter: blur(30px) saturate(165%);
  animation: mbg-aurora-glass 8s ease-in-out infinite alternate;
}
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass-aurora::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -35px;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(circle at 20% 15%, rgba(244,196,48,.34), transparent 30%), radial-gradient(circle at 82% 82%, rgba(0,107,63,.28), transparent 32%);
  filter: blur(28px);
  opacity: .5;
  transition: opacity .35s ease, transform .5s ease;
}
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass-aurora:hover::after { opacity: .82; transform: scale(1.08); }
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass-aurora .mbg-product-card__action .button {
  background: linear-gradient(135deg, rgba(0,107,63,.92), rgba(23,51,38,.92));
  color: #fff;
  box-shadow: 0 11px 28px rgba(0,107,63,.22), inset 0 1px rgba(255,255,255,.22);
}

/* Real glass option 3 — dark smoked glass. */
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass-smoke {
  border: 1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(145deg, rgba(20,35,27,.82), rgba(5,13,8,.70)),
    radial-gradient(circle at 84% 8%, rgba(244,196,48,.18), transparent 28%);
  box-shadow: 0 28px 76px rgba(0,0,0,.30), inset 1px 1px 0 rgba(255,255,255,.12), inset -1px -1px 0 rgba(244,196,48,.06);
  backdrop-filter: blur(30px) saturate(135%);
  -webkit-backdrop-filter: blur(30px) saturate(135%);
}
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass-smoke::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(125deg, rgba(255,255,255,.12), transparent 24% 72%, rgba(244,196,48,.08));
  opacity: .75;
}
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass-smoke .mbg-product-card__media {
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 14px 35px rgba(0,0,0,.28);
}
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass-smoke .mbg-product-card__action .button {
  border: 1px solid rgba(244,196,48,.42);
  background: rgba(244,196,48,.94);
  color: #101713;
  box-shadow: 0 10px 28px rgba(244,196,48,.14);
}
.woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass-smoke:hover {
  border-color: rgba(244,196,48,.42);
  box-shadow: 0 34px 90px rgba(0,0,0,.38), 0 0 0 1px rgba(244,196,48,.08) inset;
}

@keyframes mbg-aurora-glass {
  0% { background-position: 0 0, 0% 50%; }
  100% { background-position: 0 0, 100% 50%; }
}

/* The eight shop templates now change the full composition, not just the hero. */
.mbg-shop-page { position: relative; }
.mbg-shop-page .mbg-commerce--catalog {
  position: relative;
  transition: background .35s ease, border-color .35s ease, box-shadow .35s ease;
}

/* 1. Boxed Classic — clean website-standard rhythm. */
.mbg-shop-layout--boxed-classic .mbg-commerce--catalog {
  padding-inline: 0;
  background: transparent;
}

/* 2. Ghana Boutique — airy showroom with floating catalogue island. */
.mbg-shop-layout--boutique { background: linear-gradient(180deg,#fffaf0 0,#fff 620px); }
.mbg-shop-layout--boutique .mbg-commerce-hero { transform: translateZ(0); }
.mbg-shop-layout--boutique .mbg-commerce--catalog {
  padding: clamp(24px,3vw,42px);
  border: 1px solid rgba(145,111,21,.16);
  border-radius: 34px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 28px 80px rgba(100,74,15,.10);
}
.mbg-shop-layout--boutique .woocommerce .products { row-gap: 40px !important; }
.mbg-shop-layout--boutique .woocommerce ul.products li.product.mbg-product-card:hover { transform: translateY(-12px) scale(1.018); }

/* 3. Market Grid — tactile Ghana market board. */
.mbg-shop-layout--market-grid {
  background-image: linear-gradient(rgba(244,196,48,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(0,107,63,.045) 1px,transparent 1px),linear-gradient(180deg,#fffdf4,#fff);
  background-size: 34px 34px,34px 34px,100% 100%;
}
.mbg-shop-layout--market-grid .mbg-commerce--catalog {
  padding: clamp(22px,3vw,36px);
  border: 2px solid var(--mbg-black);
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  box-shadow: 10px 10px 0 rgba(244,196,48,.9);
}
.mbg-shop-layout--market-grid .woocommerce ul.products li.product.mbg-product-card:nth-child(3n+1) { transform: rotate(-.35deg); }
.mbg-shop-layout--market-grid .woocommerce ul.products li.product.mbg-product-card:nth-child(3n+2) { transform: rotate(.35deg); }
.mbg-shop-layout--market-grid .woocommerce ul.products li.product.mbg-product-card:hover { transform: translateY(-9px) rotate(0) scale(1.012); }

/* 4. Editorial Store — magazine spacing, rules and restrained controls. */
.mbg-shop-layout--editorial-store .mbg-commerce-hero__stamp { border-radius: 4px; transform: none; box-shadow: none; }
.mbg-shop-layout--editorial-store .mbg-shop-category-nav { padding-inline: 0; border-width: 1px 0; border-radius: 0; box-shadow: none; background: transparent; }
.mbg-shop-layout--editorial-store .mbg-commerce--catalog {
  padding-top: 38px;
  border-top: 1px solid rgba(17,23,19,.16);
}
.mbg-shop-layout--editorial-store .woocommerce .products { column-gap: 34px !important; row-gap: 54px !important; }
.mbg-shop-layout--editorial-store .woocommerce-result-count { letter-spacing: .08em; text-transform: uppercase; }

/* 5. Glass Showcase — full frosted storefront panel. */
.mbg-shop-layout--glass-showcase::before,
.mbg-shop-layout--glass-showcase::after {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  filter: blur(20px);
  pointer-events: none;
  opacity: .34;
}
.mbg-shop-layout--glass-showcase::before { left: -110px; top: 420px; background: rgba(0,107,63,.28); }
.mbg-shop-layout--glass-showcase::after { right: -120px; top: 690px; background: rgba(244,196,48,.34); }
.mbg-shop-layout--glass-showcase .mbg-commerce--catalog {
  padding: clamp(24px,3.5vw,44px);
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 36px;
  background: rgba(255,255,255,.42);
  box-shadow: 0 34px 90px rgba(31,67,43,.14), inset 1px 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(26px) saturate(150%);
  -webkit-backdrop-filter: blur(26px) saturate(150%);
}
.mbg-shop-layout--glass-showcase .woocommerce-ordering select { background: rgba(255,255,255,.66); backdrop-filter: blur(14px); }

/* 6. Black Star Luxury — dark catalogue stage as well as dark hero. */
.mbg-shop-layout--dark-luxury .mbg-commerce--catalog {
  padding: clamp(24px,3.5vw,44px);
  border: 1px solid rgba(244,196,48,.18);
  border-radius: 34px;
  background: linear-gradient(145deg,rgba(17,36,25,.98),rgba(5,13,8,.98));
  box-shadow: 0 32px 92px rgba(0,0,0,.28);
}
.mbg-shop-layout--dark-luxury .mbg-commerce--catalog .woocommerce-result-count { color: rgba(255,255,255,.62); }
.mbg-shop-layout--dark-luxury .mbg-commerce--catalog .woocommerce-ordering select {
  border-color: rgba(255,255,255,.14);
  background: #15251b;
  color: #fff;
}
.mbg-shop-layout--dark-luxury .mbg-commerce--catalog .woocommerce-pagination a,
.mbg-shop-layout--dark-luxury .mbg-commerce--catalog .woocommerce-pagination span { border-color: rgba(255,255,255,.16); }

/* 7. Compact Catalogue — denser utility-first store. */
.mbg-shop-layout--compact-catalog .mbg-commerce--catalog {
  padding: 22px;
  border: 1px solid rgba(17,23,19,.08);
  border-radius: 22px;
  background: #f8faf8;
}
.mbg-shop-layout--compact-catalog .woocommerce .products { gap: 13px !important; }
.mbg-shop-layout--compact-catalog .woocommerce ul.products li.product.mbg-product-card { border-radius: 17px; }
.mbg-shop-layout--compact-catalog .woocommerce ul.products li.product.mbg-product-card .mbg-product-card__body { padding: 13px 6px 6px; }
.mbg-shop-layout--compact-catalog .woocommerce ul.products li.product.mbg-product-card .woocommerce-loop-product__title { font-size: clamp(1rem,1.35vw,1.28rem); }
.mbg-shop-layout--compact-catalog .mbg-product-card__facts { padding-block: 8px; }

/* 8. Discovery Mosaic — deliberate magazine mosaic, not a normal grid. */
.mbg-shop-layout--discovery-mosaic .mbg-commerce--catalog {
  padding: clamp(22px,3vw,34px);
  border-radius: 30px;
  background: linear-gradient(145deg,#f7faf8,#fff9e9);
  box-shadow: inset 0 0 0 1px rgba(17,23,19,.06);
}
.mbg-shop-layout--discovery-mosaic .woocommerce .products { align-items: stretch; }
.mbg-shop-layout--discovery-mosaic .woocommerce .products li.product.mbg-product-card:first-child { grid-column: span 2; }
.mbg-shop-layout--discovery-mosaic .woocommerce .products li.product.mbg-product-card:first-child .mbg-product-card__media { aspect-ratio: 2.05; }
.mbg-shop-layout--discovery-mosaic .woocommerce .products li.product.mbg-product-card:nth-child(6n+4) .mbg-product-card__media { aspect-ratio: .9; }

/* Related / upsell safeguard: these cards must remain cards and must never
   inherit the main single-product 2-column grid. */
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .related.products,
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .upsells.products {
  display: block !important;
  grid-column: 1 / -1;
  min-width: 0;
  padding-top: clamp(30px,4vw,54px);
  border-top: 1px solid var(--mbg-line);
}
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .related.products ul.products,
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .upsells.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  align-items: stretch !important;
  gap: clamp(18px,2vw,28px) !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .related.products ul.products > li.product.mbg-product-card,
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .upsells.products ul.products > li.product.mbg-product-card {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}
body.single-product .related.products > h2,
body.single-product .upsells.products > h2 {
  padding-right: 10%;
}

@media (max-width: 980px) {
  body.single-product .mbg-commerce--single > div.product[id^="product-"] > .related.products ul.products,
  body.single-product .mbg-commerce--single > div.product[id^="product-"] > .upsells.products ul.products { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .mbg-shop-layout--market-grid .woocommerce ul.products li.product.mbg-product-card { transform: none; }
}

@media (max-width: 760px) {
  .mbg-shop-layout--boutique .mbg-commerce--catalog,
  .mbg-shop-layout--market-grid .mbg-commerce--catalog,
  .mbg-shop-layout--glass-showcase .mbg-commerce--catalog,
  .mbg-shop-layout--dark-luxury .mbg-commerce--catalog,
  .mbg-shop-layout--compact-catalog .mbg-commerce--catalog,
  .mbg-shop-layout--discovery-mosaic .mbg-commerce--catalog { padding: 16px; border-radius: 22px; }
  .mbg-shop-layout--market-grid .mbg-commerce--catalog { box-shadow: 6px 6px 0 rgba(244,196,48,.8); }
  .mbg-shop-layout--discovery-mosaic .woocommerce .products li.product.mbg-product-card:first-child { grid-column: auto; }
  .mbg-shop-layout--discovery-mosaic .woocommerce .products li.product.mbg-product-card:first-child .mbg-product-card__media,
  .mbg-shop-layout--discovery-mosaic .woocommerce .products li.product.mbg-product-card:nth-child(6n+4) .mbg-product-card__media { aspect-ratio: 1.25; }
  body.single-product .mbg-commerce--single > div.product[id^="product-"] > .related.products ul.products,
  body.single-product .mbg-commerce--single > div.product[id^="product-"] > .upsells.products ul.products { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
  .woocommerce ul.products li.product.mbg-product-card.mbg-card--style-product-glass-aurora { animation: none !important; }
  .woocommerce ul.products li.product.mbg-product-card::before,
  .woocommerce ul.products li.product.mbg-product-card::after { transition: none !important; }
}

/* Extra storefront micro-interactions. */
.mbg-shop-page .mbg-commerce-hero__stamp,
.mbg-shop-page .mbg-shop-category-nav a {
  transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, background .24s ease, color .24s ease;
}
.mbg-shop-page .mbg-commerce-hero__stamp:hover { transform: translateY(-5px) rotate(.4deg); box-shadow: 0 22px 52px rgba(29,57,39,.14); }
.mbg-shop-page .mbg-shop-category-nav a:hover { transform: translateY(-2px); }
.mbg-shop-layout--glass-showcase .mbg-commerce-hero__stamp { animation: mbg-shop-float 5.4s ease-in-out infinite; }
@keyframes mbg-shop-float { 50% { transform: translateY(-7px) rotate(.7deg); } }
@media (prefers-reduced-motion: reduce) { .mbg-shop-layout--glass-showcase .mbg-commerce-hero__stamp { animation: none !important; } }


/* ========================================================================== */
/* MBG v0.7.2 — single-product scroll/overlap fix                             */
/* ========================================================================== */

/* The summary was sticky inside the top-level WooCommerce product element.
   Because WooCommerce also places tabs, upsells and related products inside
   that same element, the summary stayed pinned while later grid rows scrolled
   underneath it. Keep the hero as a true two-column first row instead. */
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .summary {
  position: static !important;
  top: auto !important;
  align-self: start !important;
  z-index: auto !important;
}

/* Make every section after the hero an independent full-width row. */
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .woocommerce-tabs,
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .upsells.products,
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .related.products {
  position: relative !important;
  inset: auto !important;
  z-index: 1 !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  clear: both !important;
  isolation: isolate;
}

/* Recommendations must never visually slide beneath the hero copy. */
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .related.products,
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .upsells.products {
  overflow: visible !important;
}

/* Ensure the product cards themselves are in ordinary flow. */
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .related.products ul.products > li.product,
body.single-product .mbg-commerce--single > div.product[id^="product-"] > .upsells.products ul.products > li.product {
  position: relative !important;
  inset: auto !important;
}

/* ========================================================================== */
/* MBG v0.8.0 — warm Ghana journey planner                                  */
/* ========================================================================== */
.mbg-journey-planner {
  --journey-teal: #0f5c50;
  --journey-teal-deep: #123f38;
  --journey-gold: #d8a722;
  --journey-cream: #fffaf0;
  --journey-sand: #f4ecdc;
  --journey-cocoa: #6d4a32;
  --journey-ink: #1d2b26;
  --journey-muted: #6f7d75;
  min-height: 100vh;
  padding-bottom: 0;
  background: #fffdf8;
  color: var(--journey-ink);
}
.mbg-journey-planner h1,
.mbg-journey-planner h2,
.mbg-journey-planner h3 { color: var(--journey-ink); }
.mbg-journey-planner .mbg-planner-shell { width: min(1280px, calc(100vw - 40px)); }
.mbg-journey-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--journey-teal); font-size: .72rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }

/* Hero */
.mbg-journey-hero { position: relative; min-height: min(760px, 78vh); display: flex; align-items: end; overflow: hidden; isolation: isolate; background: #173d35; }
.mbg-journey-hero::before { content: ""; position: absolute; inset: 0; z-index: -3; background-image: var(--mbg-journey-hero); background-position: center 42%; background-size: cover; transform: scale(1.025); animation: mbg-journey-hero-breathe 14s ease-in-out infinite alternate; }
.mbg-journey-hero::after { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(9,34,27,.84) 0%, rgba(9,34,27,.58) 42%, rgba(9,34,27,.18) 68%, rgba(9,34,27,.3) 100%), linear-gradient(0deg, rgba(9,34,27,.72), transparent 55%); }
.mbg-journey-hero__inner { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(250px,.42fr); align-items: end; gap: 60px; padding-block: clamp(110px, 15vw, 190px) 64px; }
.mbg-journey-hero__copy { max-width: 850px; }
.mbg-journey-hero .mbg-journey-eyebrow { color: #f6d36c; text-shadow: 0 2px 14px rgba(0,0,0,.25); }
.mbg-journey-hero h1 { max-width: 900px; margin: 16px 0 20px; color: #fff; font-size: clamp(3.6rem, 7vw, 7rem); text-wrap: balance; text-shadow: 0 8px 32px rgba(0,0,0,.28); }
.mbg-journey-hero__copy > p { max-width: 680px; margin: 0; color: rgba(255,255,255,.82); font-size: clamp(1rem,1.6vw,1.22rem); line-height: 1.7; }
.mbg-journey-cta { display: inline-flex; align-items: center; gap: 14px; margin-top: 30px; padding: 15px 22px; border: 1px solid rgba(255,255,255,.52); border-radius: 999px; background: rgba(255,255,255,.14); color: #fff; font-size: .84rem; font-weight: 800; box-shadow: inset 0 1px rgba(255,255,255,.32), 0 15px 36px rgba(0,0,0,.18); backdrop-filter: blur(15px) saturate(140%); transition: transform .25s ease, background .25s ease, border-color .25s ease; }
.mbg-journey-cta:hover { transform: translateY(-3px); background: rgba(255,255,255,.22); border-color: #fff; }
.mbg-journey-cta span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--journey-gold); color: var(--journey-ink); }
.mbg-journey-hero__note { align-self: end; display: grid; grid-template-columns: 48px 1fr; gap: 2px 13px; padding: 20px; border: 1px solid rgba(255,255,255,.25); border-radius: 22px; background: rgba(255,250,240,.13); color: #fff; box-shadow: 0 20px 54px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.25); backdrop-filter: blur(18px) saturate(140%); }
.mbg-journey-hero__note > span { grid-row: span 2; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 16px; background: rgba(216,167,34,.94); color: #17372f; font-size: 1.2rem; }
.mbg-journey-hero__note strong { align-self: end; font-size: .84rem; }
.mbg-journey-hero__note small { color: rgba(255,255,255,.7); font-size: .67rem; }

/* Inspiration */
.mbg-journey-inspiration { padding: clamp(70px,8vw,115px) 0; background: linear-gradient(180deg,#fffdf8,#fbf4e7); }
.mbg-journey-section-heading { display: grid; grid-template-columns: 1.2fr .55fr; align-items: end; gap: 60px; margin-bottom: 34px; }
.mbg-journey-section-heading h2 { max-width: 790px; margin-top: 10px; font-size: clamp(2.6rem,5vw,5.2rem); }
.mbg-journey-section-heading > p { margin: 0 0 7px; color: var(--journey-muted); font-size: .93rem; line-height: 1.75; }
.mbg-journey-route-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.mbg-journey-route-card { overflow: hidden; border: 1px solid rgba(27,63,52,.1); border-radius: 26px; background: rgba(255,255,255,.84); box-shadow: 0 18px 50px rgba(55,66,57,.09), inset 0 1px #fff; transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease; transition-delay: var(--route-delay); }
.mbg-journey-route-card:hover { transform: translateY(-7px); box-shadow: 0 28px 64px rgba(44,67,54,.14); }
.mbg-journey-route-card__image { position: relative; min-height: 240px; overflow: hidden; background: linear-gradient(0deg,rgba(11,43,34,.2),transparent), var(--route-image) center/cover no-repeat; }
.mbg-journey-route-card__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(10,38,31,.55),transparent 55%); }
.mbg-journey-route-card__image span { position: absolute; left: 16px; bottom: 16px; z-index: 2; padding: 7px 10px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; background: rgba(255,255,255,.18); color: #fff; font-size: .68rem; font-weight: 800; backdrop-filter: blur(10px); }
.mbg-journey-route-card__body { padding: 22px; }
.mbg-journey-route-card h3 { font-size: 1.55rem; }
.mbg-journey-route-card__body > strong { display: block; margin-top: 6px; color: var(--journey-teal); font-size: .72rem; line-height: 1.45; }
.mbg-journey-route-card p { min-height: 72px; margin: 12px 0 17px; color: var(--journey-muted); font-size: .75rem; line-height: 1.65; }
.mbg-journey-route-card button { display: inline-flex; align-items: center; gap: 8px; padding: 0; border: 0; background: transparent; color: var(--journey-teal); font-size: .72rem; font-weight: 850; cursor: pointer; }
.mbg-journey-route-card button span { transition: transform .2s ease; }
.mbg-journey-route-card button:hover span { transform: translate(3px,-2px); }

/* Map explainer */
.mbg-journey-how { padding: 0 0 clamp(65px,7vw,95px); background: #fbf4e7; }
.mbg-journey-how__inner { display: grid; grid-template-columns: .78fr 1.6fr; align-items: center; gap: 40px; padding: 26px 30px; border: 1px solid rgba(15,92,80,.12); border-radius: 24px; background: rgba(255,255,255,.68); box-shadow: inset 0 1px #fff, 0 16px 40px rgba(78,72,58,.07); backdrop-filter: blur(14px); }
.mbg-journey-how__intro { display: flex; align-items: center; gap: 15px; }
.mbg-journey-how__intro > span { width: 48px; height: 48px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 16px; background: var(--journey-teal); color: #fff; font-size: 1.3rem; box-shadow: 0 10px 24px rgba(15,92,80,.2); }
.mbg-journey-how__intro small,.mbg-journey-how__intro strong { display: block; }
.mbg-journey-how__intro small { color: var(--journey-gold); font-size: .58rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.mbg-journey-how__intro strong { margin-top: 2px; font-family: var(--mbg-display); font-size: 1.35rem; }
.mbg-journey-how ul { list-style: none; display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin: 0; padding: 0; }
.mbg-journey-how li { padding: 11px 12px; border-radius: 12px; background: #fff; color: #526259; font-size: .68rem; font-weight: 700; text-align: center; }

/* Planner section + workspace */
.mbg-journey-builder { position: relative; padding: clamp(70px,8vw,110px) 0 95px; background: radial-gradient(circle at 8% 10%,rgba(216,167,34,.14),transparent 24%), linear-gradient(180deg,#f5efe2,#fffaf1); }
.mbg-journey-builder__heading { max-width: 820px; margin-bottom: 34px; }
.mbg-journey-builder__heading h2 { margin: 10px 0 14px; font-size: clamp(2.8rem,5.4vw,5.5rem); }
.mbg-journey-builder__heading > p { max-width: 650px; color: var(--journey-muted); font-size: .95rem; }
.mbg-journey-workspace { display: grid; grid-template-columns: minmax(0,1.32fr) minmax(360px,.68fr); gap: 20px; align-items: start; }
.mbg-planner-map-column { min-width: 0; display: grid; gap: 18px; }
.mbg-planner-sidebar { min-width: 0; display: grid; gap: 16px; }
.mbg-journey-control-card,.mbg-journey-planner .mbg-ghana-map,.mbg-live-selection { border: 1px solid rgba(36,69,56,.12); border-radius: 26px; background: rgba(255,255,255,.82); box-shadow: 0 22px 54px rgba(58,65,54,.1), inset 0 1px #fff; backdrop-filter: blur(18px) saturate(120%); }
.mbg-journey-control-card { overflow: hidden; }

/* Map — warmer, softer, still fully interactive */
.mbg-journey-planner .mbg-ghana-map { overflow: hidden; }
.mbg-journey-planner .mbg-ghana-map__head { min-height: 74px; padding: 15px 19px; border-bottom: 1px solid rgba(15,92,80,.11); background: rgba(255,253,248,.92); }
.mbg-journey-planner .mbg-ghana-map__head span { color: var(--journey-gold); font-size: .59rem; }
.mbg-journey-planner .mbg-ghana-map__head strong { margin-top: 4px; color: var(--journey-ink); font-size: .71rem; }
.mbg-journey-planner .mbg-map-tools button { width: 36px; height: 36px; border-color: rgba(15,92,80,.15); background: #fff; color: var(--journey-teal); box-shadow: 0 5px 13px rgba(43,70,58,.07); }
.mbg-journey-planner .mbg-map-tools button:hover { background: var(--journey-teal); color: #fff; }
.mbg-journey-planner .mbg-ghana-map__viewport { min-height: 760px; background: radial-gradient(circle at 46% 45%,rgba(58,139,115,.18),transparent 34%), radial-gradient(circle at 82% 13%,rgba(216,167,34,.13),transparent 24%), linear-gradient(135deg,#edf4ec,#e8efe4 58%,#f5eedf); cursor: grab; }
.mbg-journey-planner .mbg-ghana-map__viewport::before { content: ""; position: absolute; inset: 0; opacity: .28; background-image: radial-gradient(rgba(15,92,80,.22) .8px,transparent .8px); background-size: 24px 24px; pointer-events: none; }
.mbg-journey-planner .mbg-ghana-map__canvas { width: min(500px,88%); }
.mbg-journey-planner .mbg-map-country { stroke: rgba(255,255,255,.94); filter: drop-shadow(0 18px 28px rgba(18,63,56,.18)); }
.mbg-journey-planner .mbg-map-regions path { stroke: rgba(255,255,255,.42); }
.mbg-journey-planner .mbg-map-labels text { fill: rgba(255,255,255,.72); font-weight: 800; }
.mbg-journey-planner .mbg-map-topography circle,.mbg-journey-planner .mbg-map-topography path { stroke: rgba(255,255,255,.09); }
.mbg-journey-planner .mbg-map-route polyline { stroke: #f3c74f; stroke-width: .65; filter: drop-shadow(0 0 4px rgba(174,124,0,.52)); }
.mbg-journey-planner .mbg-map-pin > i { width: 12px; height: 12px; border: 2px solid #fff; background: #43a47e; box-shadow: 0 0 0 5px rgba(67,164,126,.18),0 6px 14px rgba(28,91,69,.28); }
.mbg-journey-planner .mbg-map-pin > i::after { opacity: .35; }
.mbg-journey-planner .mbg-map-pin > span { max-width: 125px; margin-left: 7px; padding: 5px 7px; border-color: rgba(255,255,255,.45); background: rgba(255,253,247,.9); color: var(--journey-ink); font-size: .5rem; box-shadow: 0 5px 15px rgba(24,64,50,.12); }
.mbg-journey-planner .mbg-map-pin--event > i { background: #ce5a55; }.mbg-journey-planner .mbg-map-pin--tour > i { background: #d7a92d; }.mbg-journey-planner .mbg-map-pin--accommodation > i { background: #4b87a5; }
.mbg-journey-planner .mbg-map-pin.is-selected > i,.mbg-journey-planner .mbg-map-pin.is-focused > i { background: #fff; border-color: #d8a722; box-shadow: 0 0 0 8px rgba(216,167,34,.2),0 8px 22px rgba(117,84,0,.24); }
.mbg-journey-planner .mbg-map-pin.is-selected > span,.mbg-journey-planner .mbg-map-pin.is-focused > span { background: var(--journey-teal); color: #fff; }
.mbg-journey-planner .mbg-map-scan { display: none; }
.mbg-journey-planner .mbg-map-note { padding: 13px 20px 17px; border-top: 1px solid rgba(15,92,80,.08); background: #fffdf8; color: #849087; font-size: .57rem; }

/* Live selection */
.mbg-live-selection { min-height: 250px; overflow: hidden; }
.mbg-live-selection__empty { min-height: 250px; display: grid; grid-template-columns: 58px 1fr; align-items: center; gap: 18px; padding: 28px; }
.mbg-live-selection__empty > span { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 20px; background: #edf5ef; color: var(--journey-teal); font-size: 1.4rem; }
.mbg-live-selection__empty small { color: var(--journey-gold); font-size: .58rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.mbg-live-selection__empty h2 { margin: 4px 0 8px; font-size: 1.8rem; }
.mbg-live-selection__empty p { max-width: 680px; margin: 0; color: var(--journey-muted); font-size: .77rem; line-height: 1.65; }
.mbg-live-selection:not(:has(.mbg-live-selection__empty)) { display: grid; grid-template-columns: minmax(240px,.78fr) minmax(0,1.35fr); }
.mbg-live-selection__image { min-height: 300px; overflow: hidden; background: #e7efe8; }
.mbg-live-selection__image img { width: 100%; height: 100%; object-fit: cover; }
.mbg-live-selection__body { padding: 26px; }
.mbg-live-selection__badges { display: flex; flex-wrap: wrap; gap: 7px; }
.mbg-live-selection__badges span { padding: 6px 9px; border-radius: 999px; background: #f2eee4; color: #765b27; font-size: .56rem; font-weight: 800; }
.mbg-live-selection__badges .is-verified { background: #e8f5ed; color: var(--journey-teal); }
.mbg-live-selection__body h2 { margin: 10px 0 4px; font-size: clamp(1.8rem,3vw,2.8rem); }
.mbg-live-selection__location { margin: 0; color: var(--journey-teal); font-size: .68rem; font-weight: 800; }
.mbg-live-selection__description { margin: 11px 0 17px; color: var(--journey-muted); font-size: .76rem; line-height: 1.65; }
.mbg-live-selection__facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.mbg-live-selection__facts > div { padding: 11px; border: 1px solid rgba(15,92,80,.1); border-radius: 13px; background: #fffcf6; }
.mbg-live-selection__facts span,.mbg-live-selection__facts strong { display: block; }
.mbg-live-selection__facts span { color: #8d988f; font-size: .51rem; text-transform: uppercase; }
.mbg-live-selection__facts strong { margin-top: 3px; color: var(--journey-ink); font-size: .65rem; line-height: 1.35; }
.mbg-live-selection__precision { display: block; margin-top: 12px; color: #8b968e; font-size: .57rem; }
.mbg-live-selection__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 17px; }
.mbg-live-selection__actions .mbg-map-detail__add { min-height: 42px; padding: 9px 15px; border: 0; border-radius: 13px; background: var(--journey-teal); color: #fff; font-size: .7rem; font-weight: 850; box-shadow: 0 10px 24px rgba(15,92,80,.2); }
.mbg-live-selection__actions a { color: var(--journey-teal); font-size: .68rem; font-weight: 800; }

/* Sidebar cards */
.mbg-journey-card-heading { display: grid; grid-template-columns: 40px 1fr; align-items: center; gap: 11px; padding: 22px 22px 10px; }
.mbg-journey-card-heading > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 13px; background: #edf5ef; color: var(--journey-teal); }
.mbg-journey-card-heading small { display: block; color: var(--journey-gold); font-size: .54rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.mbg-journey-card-heading h2 { margin-top: 1px; font-family: var(--mbg-font); font-size: 1.02rem; letter-spacing: -.015em; }
.mbg-interest-fieldset { margin: 10px 18px 14px; padding: 0; border: 0; }
.mbg-interest-fieldset legend,.mbg-journey-choice > span { display: block; margin-bottom: 8px; color: #4d5c53; font-size: .63rem; font-weight: 800; }
.mbg-interest-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.mbg-interest-chips label { cursor: pointer; }
.mbg-interest-chips input { position: absolute; opacity: 0; pointer-events: none; }
.mbg-interest-chips span { display: inline-flex; align-items: center; min-height: 34px; padding: 7px 10px; border: 1px solid rgba(15,92,80,.12); border-radius: 999px; background: #fffdf8; color: #65746b; font-size: .6rem; font-weight: 750; transition: background .2s ease,color .2s ease,transform .2s ease,border-color .2s ease; }
.mbg-interest-chips input:checked + span { border-color: var(--journey-teal); background: var(--journey-teal); color: #fff; transform: translateY(-1px); }
.mbg-journey-choice { margin: 0 18px 15px; }
.mbg-duration-options { display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; }
.mbg-duration-options button { min-height: 38px; padding: 6px; border: 1px solid rgba(15,92,80,.11); border-radius: 10px; background: #fffdf8; color: #69776f; font-size: .55rem; font-weight: 750; cursor: pointer; }
.mbg-duration-options button.is-active { border-color: #d4ae47; background: #fff3ca; color: #684f11; }
.mbg-pace-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
.mbg-pace-options button { min-height: 54px; padding: 8px 5px; border: 1px solid rgba(15,92,80,.11); border-radius: 12px; background: #fffdf8; color: #66756c; cursor: pointer; }
.mbg-pace-options strong,.mbg-pace-options small { display: block; }
.mbg-pace-options strong { font-size: .6rem; }.mbg-pace-options small { margin-top: 2px; color: inherit; font-size: .49rem; opacity: .7; }
.mbg-pace-options button.is-active { border-color: var(--journey-teal); background: #e9f4ee; color: var(--journey-teal); box-shadow: inset 0 0 0 1px rgba(15,92,80,.05); }
.mbg-suggestion-button { width: calc(100% - 36px); min-height: 46px; display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 18px 18px; border: 0; border-radius: 14px; background: linear-gradient(135deg,#176c5c,var(--journey-teal-deep)); color: #fff; font-size: .68rem; font-weight: 850; box-shadow: 0 11px 24px rgba(15,92,80,.19); cursor: pointer; }
.mbg-suggestion-button span { transition: transform .2s ease; }.mbg-suggestion-button:hover span { transform: translateX(4px); }
.mbg-trip-details { border-top: 1px solid rgba(15,92,80,.08); }
.mbg-trip-details summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 15px 18px; color: var(--journey-teal); font-size: .64rem; font-weight: 800; cursor: pointer; list-style: none; }
.mbg-trip-details summary::-webkit-details-marker { display: none; }
.mbg-trip-details summary span { color: #8a958e; font-size: .5rem; font-weight: 600; }
.mbg-trip-details__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 18px 18px; }
.mbg-trip-details__grid label { display: grid; gap: 4px; }
.mbg-trip-details__grid label span { color: #829087; font-size: .52rem; font-weight: 750; }
.mbg-trip-details__grid input { width: 100%; min-height: 40px; padding: 8px 9px; border: 1px solid rgba(15,92,80,.13); border-radius: 10px; outline: 0; background: #fffdf8; color: var(--journey-ink); font-size: .62rem; color-scheme: light; }
.mbg-trip-details__grid input:focus { border-color: var(--journey-teal); box-shadow: 0 0 0 3px rgba(15,92,80,.08); }

/* Route */
.mbg-journey-planner .mbg-planner-itinerary { position: static; max-height: none; overflow: hidden; }
.mbg-journey-planner .mbg-planner-panel-head { padding: 20px 20px 13px; }
.mbg-journey-planner .mbg-planner-panel-head span { color: var(--journey-gold); font-size: .55rem; }
.mbg-journey-planner .mbg-planner-panel-head h2 { color: var(--journey-ink); font-size: 1.02rem; }
.mbg-journey-planner .mbg-planner-panel-head > strong { min-width: 38px; height: 38px; border-color: rgba(15,92,80,.12); background: #eef5ef; color: var(--journey-teal); }
.mbg-journey-planner .mbg-plan-pulse { margin: 0 16px 13px; border-color: rgba(15,92,80,.1); background: #edf7f0; color: var(--journey-teal); }
.mbg-journey-planner .mbg-plan-pulse i { background: #54a983; box-shadow: 0 0 0 6px rgba(84,169,131,.12); }
.mbg-journey-planner .mbg-plan-summary { margin: 0 16px 11px; gap: 7px; border: 0; border-radius: 0; background: transparent; overflow: visible; }
.mbg-journey-planner .mbg-plan-summary > div { padding: 11px; border: 1px solid rgba(15,92,80,.09); border-radius: 12px; background: #fffaf0; }
.mbg-journey-planner .mbg-plan-summary span { color: #89958d; font-size: .49rem; }.mbg-journey-planner .mbg-plan-summary strong { color: var(--journey-ink); font-size: .67rem; }
.mbg-estimated-cost-note { margin: 0 16px 13px; color: #7d8981; font-size: .53rem; line-height: 1.5; }
.mbg-journey-planner .mbg-plan-warnings { margin: 0 16px 13px; border-color: rgba(216,167,34,.2); background: #fff8df; }
.mbg-journey-planner .mbg-plan-warnings p { color: #755f27; }
.mbg-journey-planner .mbg-plan-days { max-height: 320px; overflow: auto; padding: 0 12px 13px; scrollbar-width: thin; scrollbar-color: #d8e2da transparent; }
.mbg-journey-planner .mbg-plan-empty { border-color: rgba(15,92,80,.12); background: #fbf9f2; color: #7f8a83; }
.mbg-plan-empty--route,.mbg-plan-empty--warm { display: grid; justify-items: start; gap: 5px; }
.mbg-plan-empty--route > span,.mbg-plan-empty--warm > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: #edf5ef; color: var(--journey-teal); }
.mbg-plan-empty--route strong,.mbg-plan-empty--warm strong { color: var(--journey-ink); font-size: .66rem; }.mbg-plan-empty--route p,.mbg-plan-empty--warm p { margin: 0; font-size: .58rem; }
.mbg-journey-planner .mbg-plan-stop { border-color: rgba(15,92,80,.08); background: #fffdf8; }
.mbg-journey-planner .mbg-plan-stop > span { background: var(--journey-teal); }
.mbg-journey-planner .mbg-plan-stop small { color: var(--journey-gold); }.mbg-journey-planner .mbg-plan-stop strong { color: var(--journey-ink); }.mbg-journey-planner .mbg-plan-stop em { color: #7d8981; }
.mbg-route-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 13px 16px 8px; border-top: 1px solid rgba(15,92,80,.08); }
.mbg-route-actions button { min-height: 39px; padding: 7px; border: 1px solid rgba(15,92,80,.15); border-radius: 11px; background: #fff; color: var(--journey-teal); font-size: .56rem; font-weight: 800; cursor: pointer; transition: transform .2s ease,background .2s ease; }
.mbg-route-actions button:hover { transform: translateY(-2px); background: #eff7f2; }
.mbg-route-save-note { display: block; padding: 0 16px 17px; color: #9aa39d; font-size: .49rem; text-align: center; }

/* Places */
.mbg-planner-places .mbg-planner-panel-head { padding-bottom: 8px; }
.mbg-journey-planner .mbg-planner-filters { gap: 6px; padding: 0 16px 11px; }
.mbg-journey-planner .mbg-planner-filters button { padding: 7px 9px; border-color: rgba(15,92,80,.12); background: #fffdf8; color: #7b8980; font-size: .54rem; font-weight: 750; }
.mbg-journey-planner .mbg-planner-filters button.is-active { background: var(--journey-teal); color: #fff !important; }
.mbg-journey-planner .mbg-planner-search { margin: 0 16px 12px; border-color: rgba(15,92,80,.12); background: #fffdf8; }
.mbg-journey-planner .mbg-planner-search b { color: var(--journey-teal); }.mbg-journey-planner .mbg-planner-search input { color: var(--journey-ink); font-size: .62rem; }
.mbg-journey-planner .mbg-planner-results { max-height: 610px; display: grid; grid-template-columns: 1fr; gap: 8px; overflow: auto; padding: 0 10px 13px; scrollbar-width: thin; scrollbar-color: #d9e3dc transparent; }
.mbg-place-loading { display: flex; align-items: center; gap: 10px; padding: 18px; border-radius: 14px; background: #fbf8ef; color: #748279; font-size: .63rem; }
.mbg-place-loading i { width: 10px; height: 10px; border: 2px solid #cddbd2; border-top-color: var(--journey-teal); border-radius: 50%; animation: mbg-place-spin .8s linear infinite; }
.mbg-journey-planner .mbg-place-result { overflow: hidden; border-color: rgba(15,92,80,.08); background: #fffdf9; }
.mbg-journey-planner .mbg-place-result:hover { border-color: rgba(15,92,80,.2); background: #fff; box-shadow: 0 10px 24px rgba(48,75,59,.08); }
.mbg-journey-planner .mbg-place-result.is-suggested { border-color: rgba(216,167,34,.25); box-shadow: inset 3px 0 #e4b635; }
.mbg-journey-planner .mbg-place-result__open { grid-template-columns: 64px 1fr; gap: 11px; align-items: center; padding: 9px 10px 6px; }
.mbg-place-result__media { width: 64px; height: 58px; overflow: hidden; border-radius: 11px; background: #e8eee8; }
.mbg-place-result__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }.mbg-place-result:hover .mbg-place-result__media img { transform: scale(1.06); }
.mbg-place-result__copy { min-width: 0; }
.mbg-journey-planner .mbg-place-result__open small { color: #a38846; font-size: .48rem; }.mbg-journey-planner .mbg-place-result__open strong { color: var(--journey-ink); font-size: .66rem; }.mbg-journey-planner .mbg-place-result__open em { color: #839087; font-size: .52rem; }
.mbg-journey-planner .mbg-place-result__foot { padding: 0 10px 9px 85px; }
.mbg-journey-planner .mbg-place-result__foot b { color: var(--journey-teal); font-size: .56rem; }
.mbg-journey-planner .mbg-place-result__foot button { border-color: rgba(15,92,80,.15); background: #edf5ef; color: var(--journey-teal); }.mbg-journey-planner .mbg-place-result__foot button.is-added { background: var(--journey-teal); color: #fff; }

/* Help + newsletter */
.mbg-journey-help { padding: 90px 0 25px; background: #fffdf8; }
.mbg-journey-help__card { display: grid; grid-template-columns: 1fr 1.15fr; align-items: center; gap: 50px; padding: clamp(34px,5vw,58px); border-radius: 32px; background: radial-gradient(circle at 90% 10%,rgba(216,167,34,.22),transparent 32%), linear-gradient(135deg,#164e44,#0d332d); color: #fff; box-shadow: 0 30px 70px rgba(16,59,50,.2); }
.mbg-journey-help .mbg-journey-eyebrow { color: #f1ca5b; }.mbg-journey-help h2 { margin: 9px 0 12px; color: #fff; font-size: clamp(2.3rem,4vw,4rem); }.mbg-journey-help p { max-width: 480px; margin: 0; color: rgba(255,255,255,.7); font-size: .82rem; }
.mbg-journey-help nav { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.mbg-journey-help nav a { min-height: 58px; display: flex; align-items: center; padding: 12px 15px; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: rgba(255,255,255,.08); color: #fff; font-size: .69rem; font-weight: 750; backdrop-filter: blur(10px); transition: transform .2s ease,background .2s ease; }
.mbg-journey-help nav a:hover { transform: translateY(-3px); background: rgba(255,255,255,.14); }
.mbg-journey-newsletter { padding: 30px 0 100px; background: #fffdf8; }
.mbg-journey-newsletter__inner { display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: 60px; padding: 34px 0; border-bottom: 1px solid rgba(15,92,80,.12); }
.mbg-journey-newsletter h2 { margin: 7px 0; font-size: clamp(2rem,3.5vw,3.4rem); }.mbg-journey-newsletter p { margin: 0; color: var(--journey-muted); font-size: .77rem; }
.mbg-journey-newsletter__form { display: grid; grid-template-columns: 1fr auto; padding: 6px; border: 1px solid rgba(15,92,80,.15); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px rgba(48,73,58,.07); }
.mbg-journey-newsletter__form input { min-width: 0; min-height: 48px; padding: 8px 13px; border: 0; outline: 0; background: transparent; color: var(--journey-ink); }.mbg-journey-newsletter__form button { min-height: 48px; padding: 9px 17px; border: 0; border-radius: 12px; background: var(--journey-teal); color: #fff; font-size: .68rem; font-weight: 800; cursor: pointer; }
.mbg-journey-planner .mbg-planner-toast { border-color: rgba(255,255,255,.2); background: rgba(18,63,56,.96); }

@keyframes mbg-journey-hero-breathe { to { transform: scale(1.075); } }
@keyframes mbg-place-spin { to { transform: rotate(360deg); } }

@media (max-width: 1120px) {
  .mbg-journey-route-grid { grid-template-columns: 1fr 1fr; }
  .mbg-journey-workspace { grid-template-columns: minmax(0,1.05fr) minmax(340px,.75fr); }
  .mbg-journey-how__inner { grid-template-columns: 1fr; }
  .mbg-journey-how ul { grid-template-columns: 1fr 1fr; }
  .mbg-live-selection:not(:has(.mbg-live-selection__empty)) { grid-template-columns: 1fr; }
  .mbg-live-selection__image { min-height: 330px; max-height: 430px; }
}

@media (max-width: 900px) {
  .mbg-journey-planner .mbg-planner-shell { width: min(100% - 28px,760px); }
  .mbg-journey-hero { min-height: 720px; }
  .mbg-journey-hero__inner { grid-template-columns: 1fr; gap: 24px; padding-bottom: 42px; }
  .mbg-journey-hero__note { max-width: 360px; }
  .mbg-journey-section-heading { grid-template-columns: 1fr; gap: 16px; }
  .mbg-journey-workspace { grid-template-columns: 1fr; }
  .mbg-planner-sidebar { display: contents; }
  .mbg-journey-quick-filters { order: 1; }
  .mbg-planner-map-column { order: 2; }
  .mbg-planner-itinerary { order: 3; }
  .mbg-planner-places { order: 4; }
  .mbg-journey-builder .mbg-journey-workspace { display: flex; flex-direction: column; }
  .mbg-journey-builder .mbg-journey-quick-filters,.mbg-journey-builder .mbg-planner-map-column,.mbg-journey-builder .mbg-planner-itinerary,.mbg-journey-builder .mbg-planner-places { width: 100%; }
  .mbg-journey-planner .mbg-ghana-map__viewport { min-height: 690px; }
  .mbg-journey-help__card,.mbg-journey-newsletter__inner { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 620px) {
  .mbg-journey-planner .mbg-planner-shell { width: min(100% - 20px,620px); }
  .mbg-journey-hero { min-height: 650px; }
  .mbg-journey-hero::after { background: linear-gradient(0deg,rgba(8,33,26,.82),rgba(8,33,26,.28) 80%); }
  .mbg-journey-hero__inner { padding-top: 110px; }
  .mbg-journey-hero h1 { font-size: clamp(3.1rem,15vw,5rem); }
  .mbg-journey-hero__copy > p { font-size: .95rem; }
  .mbg-journey-hero__note { width: 100%; }
  .mbg-journey-inspiration { padding-block: 65px; }
  .mbg-journey-route-grid { grid-template-columns: 1fr; }
  .mbg-journey-route-card__image { min-height: 270px; }
  .mbg-journey-route-card p { min-height: 0; }
  .mbg-journey-how__inner { padding: 20px; }
  .mbg-journey-how ul { grid-template-columns: 1fr; }
  .mbg-journey-builder { padding-top: 65px; }
  .mbg-journey-planner .mbg-ghana-map__viewport { min-height: 600px; }
  .mbg-journey-planner .mbg-ghana-map__canvas { width: 96%; }
  .mbg-journey-planner .mbg-map-pin > span { display: none; }
  .mbg-live-selection__empty { grid-template-columns: 1fr; }
  .mbg-live-selection__image { min-height: 280px; }
  .mbg-live-selection__facts { grid-template-columns: 1fr; }
  .mbg-duration-options { grid-template-columns: 1fr 1fr; }
  .mbg-trip-details__grid { grid-template-columns: 1fr; }
  .mbg-journey-help { padding-top: 65px; }.mbg-journey-help__card { padding: 28px 22px; border-radius: 26px; }
  .mbg-journey-help nav { grid-template-columns: 1fr; }
  .mbg-journey-newsletter { padding-bottom: 70px; }
  .mbg-journey-newsletter__form { grid-template-columns: 1fr; gap: 6px; }
  .mbg-journey-newsletter__form button { width: 100%; }
}

/* ========================================================================== */
/* Ghana Trip Planner v0.8.1 — full-width 70/30 live planning workspace      */
/* ========================================================================== */
.mbg-journey-planner {
  --planner-teal: #0f6e56;
  --planner-teal-deep: #0a5644;
  --planner-gold: #d85a30;
  --planner-cream: #f7f2e8;
  --planner-ink: #17231e;
  --planner-muted: #66736c;
  --planner-blue: #2f80ed;
  --planner-green: #2e9d68;
  --planner-orange: #e67e22;
  --planner-purple: #7b61ff;
  --planner-ease-out: cubic-bezier(.215,.61,.355,1);
  --planner-ease-move: cubic-bezier(.645,.045,.355,1);
}
.mbg-journey-planner .mbg-journey-builder {
  padding: 0;
  background: var(--planner-cream);
  overflow: clip;
}
.mbg-planner-builder-intro {
  min-height: 112px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  padding: 22px clamp(24px,4vw,64px);
  border-top: 1px solid rgba(15,110,86,.1);
  border-bottom: 1px solid rgba(15,110,86,.1);
  background: rgba(255,252,246,.94);
}
.mbg-planner-builder-intro > div { min-width: 0; }
.mbg-planner-builder-intro .mbg-journey-eyebrow { color: var(--planner-gold); }
.mbg-planner-builder-intro h2 { margin: 4px 0 0; font-size: clamp(1.9rem,3vw,3.25rem); line-height: .98; }
.mbg-planner-builder-intro > p { width: min(440px,38vw); margin: 0; color: var(--planner-muted); font-size: .78rem; line-height: 1.55; text-align: right; }

.mbg-journey-planner .mbg-journey-workspace--full {
  width: 100%;
  min-height: 720px;
  height: calc(100vh - 82px);
  max-height: 980px;
  display: grid;
  grid-template-columns: minmax(0,7fr) minmax(380px,3fr);
  gap: 0;
  align-items: stretch;
  background: #edf4ee;
}
.mbg-journey-planner .mbg-planner-map-column {
  min-width: 0;
  height: 100%;
  display: block;
  overflow: hidden;
}
.mbg-journey-planner .mbg-ghana-map {
  height: 100%;
  display: grid;
  grid-template-rows: auto auto minmax(0,1fr) auto auto;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #e9f1e9;
  box-shadow: none;
  backdrop-filter: none;
}
.mbg-journey-planner .mbg-ghana-map__head {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 14px clamp(18px,2.2vw,34px);
  border-bottom: 1px solid rgba(15,110,86,.1);
  background: rgba(255,253,248,.96);
  position: relative;
  z-index: 7;
}
.mbg-journey-planner .mbg-ghana-map__head span { color: var(--planner-gold); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.mbg-journey-planner .mbg-ghana-map__head strong { margin-top: 4px; color: var(--planner-ink); font-size: .76rem; }
.mbg-journey-planner .mbg-map-tools { display: flex; gap: 7px; }
.mbg-journey-planner .mbg-map-tools button {
  width: 38px; height: 38px; border: 1px solid rgba(15,110,86,.15); border-radius: 12px;
  background: #fff; color: var(--planner-teal); box-shadow: 0 5px 16px rgba(38,74,58,.07);
  transition: transform 120ms var(--planner-ease-out), background 120ms ease, color 120ms ease, box-shadow 120ms ease;
}
.mbg-journey-planner .mbg-map-tools button:hover { transform: translateY(-1px) scale(1.04); background: var(--planner-teal); color: #fff; box-shadow: 0 9px 20px rgba(15,110,86,.18); }
.mbg-journey-planner .mbg-map-tools button:active { transform: scale(.94); }

.mbg-map-legend {
  min-height: 42px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  padding: 8px clamp(18px,2.2vw,34px);
  border-bottom: 1px solid rgba(15,110,86,.08);
  background: rgba(252,250,243,.9);
  position: relative;
  z-index: 6;
}
.mbg-map-legend span { display: inline-flex; align-items: center; gap: 6px; color: #68766e; font-size: .54rem; font-weight: 750; }
.mbg-map-legend i { width: 8px; height: 8px; border-radius: 50%; box-shadow: 0 0 0 4px color-mix(in srgb,currentColor 14%,transparent); }
.mbg-map-legend .is-experience { background: var(--planner-blue); color: var(--planner-blue); }
.mbg-map-legend .is-stay { background: var(--planner-green); color: var(--planner-green); }
.mbg-map-legend .is-event { background: var(--planner-orange); color: var(--planner-orange); }
.mbg-map-legend .is-tour { background: var(--planner-purple); color: var(--planner-purple); }

.mbg-journey-planner .mbg-ghana-map__viewport {
  min-height: 0;
  height: auto;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 24% 18%,rgba(216,90,48,.09),transparent 22%),
    radial-gradient(circle at 78% 78%,rgba(15,110,86,.14),transparent 28%),
    linear-gradient(135deg,#eef5ed 0%,#e6efe6 55%,#f4ecdd 100%);
  cursor: grab;
  touch-action: none;
}
.mbg-journey-planner .mbg-ghana-map__viewport.is-dragging { cursor: grabbing; }
.mbg-journey-planner .mbg-ghana-map__viewport::before {
  opacity: .22;
  background-image: radial-gradient(rgba(15,110,86,.22) .75px,transparent .75px);
  background-size: 25px 25px;
}
.mbg-journey-planner .mbg-ghana-map__canvas {
  width: min(610px,76%);
  transform-origin: center center;
  will-change: transform;
  backface-visibility: hidden;
}
.mbg-journey-planner .mbg-ghana-map__canvas.is-smooth-transform { transition: transform 300ms var(--planner-ease-out); }
.mbg-journey-planner .mbg-ghana-map__viewport.is-dragging .mbg-ghana-map__canvas { transition: none !important; }
.mbg-journey-planner .mbg-map-country { stroke: rgba(255,255,255,.95); stroke-width: 3; filter: drop-shadow(0 20px 34px rgba(20,74,57,.2)); }
.mbg-journey-planner .mbg-map-regions path { stroke: rgba(255,255,255,.46); stroke-width: 1.6; }
.mbg-journey-planner .mbg-map-labels text { fill: rgba(255,255,255,.84); font-size: 12px; font-weight: 850; text-shadow: 0 1px 4px rgba(7,54,41,.25); }
.mbg-journey-planner .mbg-map-topography circle,.mbg-journey-planner .mbg-map-topography path { stroke: rgba(255,255,255,.08); }
.mbg-journey-planner .mbg-map-route polyline { stroke: #f3be43; stroke-width: .75; stroke-dasharray: 1.7 1.15; filter: drop-shadow(0 1px 3px rgba(121,79,0,.3)); animation: mbg-route-dash 8s linear infinite; }

.mbg-journey-planner .mbg-map-pin {
  will-change: transform;
  transition: transform 150ms var(--planner-ease-out), filter 150ms ease, opacity 200ms ease;
}
.mbg-journey-planner .mbg-map-pin:hover,
.mbg-journey-planner .mbg-map-pin:focus-visible { transform: translate(-50%,-50%) scale(1.3); filter: drop-shadow(0 8px 10px rgba(23,42,34,.24)); z-index: 20; }
.mbg-journey-planner .mbg-map-pin.is-popping { animation: mbg-pin-pop 400ms cubic-bezier(.34,1.56,.64,1) both !important; z-index: 22; }
.mbg-journey-planner .mbg-map-pin > i { width: 13px; height: 13px; border: 2px solid #fff; background: var(--planner-blue); box-shadow: 0 0 0 5px rgba(47,128,237,.15),0 7px 17px rgba(35,66,104,.25); }
.mbg-journey-planner .mbg-map-pin--experience > i { background: var(--planner-blue); box-shadow: 0 0 0 5px rgba(47,128,237,.15),0 7px 17px rgba(47,128,237,.24); }
.mbg-journey-planner .mbg-map-pin--accommodation > i { background: var(--planner-green); box-shadow: 0 0 0 5px rgba(46,157,104,.15),0 7px 17px rgba(46,157,104,.24); }
.mbg-journey-planner .mbg-map-pin--event > i { background: var(--planner-orange); box-shadow: 0 0 0 5px rgba(230,126,34,.15),0 7px 17px rgba(230,126,34,.24); }
.mbg-journey-planner .mbg-map-pin--tour > i { background: var(--planner-purple); box-shadow: 0 0 0 5px rgba(123,97,255,.15),0 7px 17px rgba(123,97,255,.24); }
.mbg-journey-planner .mbg-map-pin.is-selected > i,.mbg-journey-planner .mbg-map-pin.is-focused > i { width: 15px; height: 15px; border-color: #fff6d4; box-shadow: 0 0 0 6px rgba(241,190,67,.25),0 9px 24px rgba(45,67,55,.28); }
.mbg-journey-planner .mbg-map-pin > span { max-width: 142px; background: rgba(255,253,248,.92); color: #1c2c25; border-color: rgba(255,255,255,.65); box-shadow: 0 8px 20px rgba(31,66,51,.12); transition: background 150ms ease,color 150ms ease; }
.mbg-journey-planner .mbg-map-pin.is-selected > span,.mbg-journey-planner .mbg-map-pin.is-focused > span { background: #153c32; color: #fff; }

.mbg-map-guidance {
  display: flex; align-items: center; gap: 10px; padding: 9px clamp(18px,2.2vw,34px);
  border-top: 1px solid rgba(15,110,86,.08); background: #fffdf8;
}
.mbg-map-guidance > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px; background: #eaf4ef; color: var(--planner-teal); }
.mbg-map-guidance strong,.mbg-map-guidance small { display: block; }
.mbg-map-guidance strong { color: var(--planner-ink); font-size: .59rem; }
.mbg-map-guidance small { margin-top: 1px; color: #7f8b84; font-size: .5rem; }
.mbg-journey-planner .mbg-map-note { padding: 8px clamp(18px,2.2vw,34px) 10px; border-top: 0; background: #fffdf8; color: #9aa29d; font-size: .48rem; }

/* Sticky planner sidebar: outer never scrolls, center scrolls internally. */
.mbg-journey-planner .mbg-planner-sidebar {
  min-width: 0;
  height: 100%;
  position: sticky;
  top: 82px;
  z-index: 30;
  display: grid;
  grid-template-rows: auto minmax(0,1fr) auto;
  gap: 0;
  overflow: hidden;
  border-left: 1px solid rgba(15,110,86,.12);
  background: #fffdf8;
  box-shadow: -18px 0 44px rgba(46,66,55,.08);
}
.admin-bar .mbg-journey-planner .mbg-planner-sidebar { top: 114px; }
.mbg-planner-sidebar__header {
  position: relative;
  z-index: 5;
  padding: 18px 18px 14px;
  border-bottom: 1px solid rgba(15,110,86,.1);
  background: rgba(255,253,248,.98);
  box-shadow: 0 8px 24px rgba(50,71,60,.05);
}
.mbg-sidebar-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.mbg-sidebar-title-row h2 { margin: 0; font-family: var(--mbg-font); color: var(--planner-ink); font-size: 1.02rem; letter-spacing: -.02em; }
.mbg-sidebar-title-row p { margin: 3px 0 0; color: #7d8a83; font-size: .55rem; }
.mbg-sidebar-close { display: none; width: 34px; height: 34px; border: 1px solid rgba(15,110,86,.12); border-radius: 11px; background: #fff; color: var(--planner-ink); font-size: 1rem; }
.mbg-planner-sidebar__header .mbg-interest-fieldset { margin: 13px 0 12px; }
.mbg-planner-sidebar__header .mbg-interest-chips { gap: 6px; }
.mbg-planner-sidebar__header .mbg-interest-chips span {
  min-height: 32px; padding: 6px 9px; border-color: rgba(15,110,86,.14); background: #fff;
  color: #6d7972; font-size: .55rem; transition: transform 150ms cubic-bezier(.34,1.56,.64,1),background 150ms ease,color 150ms ease,border-color 150ms ease,box-shadow 150ms ease;
}
.mbg-planner-sidebar__header .mbg-interest-chips label:hover span { transform: scale(1.035); border-color: rgba(15,110,86,.3); }
.mbg-planner-sidebar__header .mbg-interest-chips input:focus-visible + span { outline: 2px solid var(--planner-gold); outline-offset: 2px; }
.mbg-planner-sidebar__header .mbg-interest-chips input:checked + span { border-color: var(--planner-teal); background: var(--planner-teal); color: #fff; transform: scale(1.035); box-shadow: 0 7px 18px rgba(15,110,86,.18); animation: mbg-filter-pulse 260ms var(--planner-ease-out); }

.mbg-planner-progress { display: grid; grid-template-columns: auto 1fr auto 1fr auto; align-items: center; gap: 7px; color: #99a19d; }
.mbg-planner-progress > span { display: inline-flex; align-items: center; gap: 5px; font-size: .48rem; font-weight: 800; transition: color 180ms ease; }
.mbg-planner-progress b { width: 20px; height: 20px; display: grid; place-items: center; border: 1px solid rgba(15,110,86,.12); border-radius: 50%; background: #fff; font-size: .45rem; transition: background 180ms ease,color 180ms ease,transform 180ms var(--planner-ease-out); }
.mbg-planner-progress i { height: 1px; background: #e2e7e3; }
.mbg-planner-progress .is-current { color: var(--planner-teal); }
.mbg-planner-progress .is-current b { border-color: var(--planner-teal); background: var(--planner-teal); color: #fff; transform: scale(1.08); }
.mbg-planner-progress .is-complete { color: #5c8c78; }
.mbg-planner-progress .is-complete b { border-color: #dcebe3; background: #e8f5ee; color: var(--planner-teal); }

.mbg-planner-sidebar__scroll {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(15,110,86,.26) transparent;
  background: linear-gradient(180deg,#fffdf8,#fbf8f0);
  scroll-behavior: smooth;
}
.mbg-planner-sidebar__scroll::-webkit-scrollbar { width: 7px; }
.mbg-planner-sidebar__scroll::-webkit-scrollbar-thumb { background: rgba(15,110,86,.23); border-radius: 99px; }
.mbg-sidebar-section { padding: 18px; border-bottom: 1px solid rgba(15,110,86,.09); animation: mbg-section-in 220ms var(--planner-ease-out) both; }
.mbg-sidebar-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.mbg-sidebar-section__head > div { display: flex; align-items: center; gap: 8px; min-width: 0; }
.mbg-sidebar-section__head > div > span { width: 25px; height: 25px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; background: #eef5f0; color: var(--planner-teal); font-size: .45rem; font-weight: 900; }
.mbg-sidebar-section__head h3 { margin: 0; font-family: var(--mbg-font); color: var(--planner-ink); font-size: .82rem; }
.mbg-sidebar-section__head > small { color: #8d9891; font-size: .48rem; text-align: right; }

.mbg-sidebar-quick-filters .mbg-journey-choice { margin: 0 0 14px; }
.mbg-sidebar-quick-filters .mbg-journey-choice > span { margin-bottom: 7px; font-size: .57rem; }
.mbg-sidebar-quick-filters .mbg-duration-options { grid-template-columns: repeat(3,1fr); padding: 3px; border: 1px solid rgba(15,110,86,.1); border-radius: 12px; background: #f5f5ef; }
.mbg-sidebar-quick-filters .mbg-duration-options button { min-height: 36px; border: 0; border-radius: 9px; background: transparent; font-size: .52rem; transition: transform 100ms var(--planner-ease-out),background 100ms ease,color 100ms ease,box-shadow 100ms ease; }
.mbg-sidebar-quick-filters .mbg-duration-options button.is-active { background: #fff; color: var(--planner-teal); box-shadow: 0 4px 13px rgba(38,66,54,.09); transform: translateY(-1px); }
.mbg-sidebar-quick-filters .mbg-pace-options { gap: 5px; }
.mbg-sidebar-quick-filters .mbg-pace-options button { min-height: 53px; padding: 7px 4px; border-radius: 11px; transition: transform 120ms var(--planner-ease-out),background 120ms ease,border-color 120ms ease,box-shadow 120ms ease; }
.mbg-sidebar-quick-filters .mbg-pace-options button:hover { transform: translateY(-1px); }
.mbg-sidebar-quick-filters .mbg-pace-options button.is-active { border-color: var(--planner-teal); background: #e9f5ef; box-shadow: 0 5px 14px rgba(15,110,86,.09); }
.mbg-sidebar-quick-filters .mbg-trip-details { margin-top: 13px; border: 1px solid rgba(15,110,86,.09); border-radius: 12px; background: #fff; overflow: hidden; }
.mbg-sidebar-quick-filters .mbg-trip-details summary { padding: 11px 12px; }
.mbg-sidebar-quick-filters .mbg-trip-details__grid { padding: 0 12px 12px; }

/* Live selection lives inside the scrollable sidebar now. */
.mbg-sidebar-selection .mbg-live-selection {
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(15,110,86,.1);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(48,71,59,.06);
  backdrop-filter: none;
  opacity: 1;
}
.mbg-sidebar-selection .mbg-live-selection.is-entering { animation: mbg-detail-slide 250ms var(--planner-ease-out) both; }
.mbg-sidebar-selection .mbg-live-selection__empty { min-height: 118px; grid-template-columns: 38px 1fr; gap: 11px; padding: 16px; animation: mbg-empty-in 300ms var(--planner-ease-out) both; }
.mbg-sidebar-selection .mbg-live-selection__empty > span { width: 38px; height: 38px; border-radius: 12px; font-size: .9rem; animation: mbg-gentle-bounce 2.4s ease-in-out infinite; }
.mbg-sidebar-selection .mbg-live-selection__empty strong { color: var(--planner-ink); font-size: .63rem; }
.mbg-sidebar-selection .mbg-live-selection__empty p { margin: 3px 0 0; color: #829087; font-size: .53rem; line-height: 1.5; }
.mbg-sidebar-selection .mbg-live-selection:not(:has(.mbg-live-selection__empty)) { display: block; }
.mbg-sidebar-selection .mbg-live-selection__image { width: 100%; aspect-ratio: 16/9; min-height: 0; max-height: none; background: #e5ede8; }
.mbg-sidebar-selection .mbg-live-selection__body { padding: 14px; }
.mbg-sidebar-selection .mbg-live-selection__badges { gap: 5px; }
.mbg-sidebar-selection .mbg-live-selection__badges span { padding: 5px 7px; font-size: .46rem; }
.mbg-sidebar-selection .mbg-live-selection__badges .is-experience { background: rgba(47,128,237,.1); color: #2167bd; }
.mbg-sidebar-selection .mbg-live-selection__badges .is-accommodation { background: rgba(46,157,104,.1); color: #247f55; }
.mbg-sidebar-selection .mbg-live-selection__badges .is-event { background: rgba(230,126,34,.11); color: #ae5e16; }
.mbg-sidebar-selection .mbg-live-selection__badges .is-tour { background: rgba(123,97,255,.1); color: #5c45c8; }
.mbg-sidebar-selection .mbg-live-selection__body h2 { margin: 8px 0 3px; font-size: 1.24rem; line-height: 1.03; }
.mbg-sidebar-selection .mbg-live-selection__location { font-size: .54rem; }
.mbg-sidebar-selection .mbg-live-selection__description { margin: 8px 0 11px; font-size: .57rem; line-height: 1.55; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.mbg-sidebar-selection .mbg-live-selection__facts { grid-template-columns: 1fr; gap: 5px; }
.mbg-sidebar-selection .mbg-live-selection__facts > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 9px; border-radius: 9px; }
.mbg-sidebar-selection .mbg-live-selection__facts span { font-size: .44rem; }
.mbg-sidebar-selection .mbg-live-selection__facts strong { margin: 0; font-size: .51rem; text-align: right; }
.mbg-live-selection__rating { margin-top: 9px; color: #b77b18; font-size: .52rem; font-weight: 800; }
.mbg-sidebar-selection .mbg-live-selection__actions { gap: 8px; margin-top: 11px; }
.mbg-sidebar-selection .mbg-live-selection__actions .mbg-map-detail__add { flex: 1; min-height: 40px; padding: 8px 11px; font-size: .58rem; border-radius: 11px; transition: transform 120ms var(--planner-ease-out),background 120ms ease,box-shadow 120ms ease; }
.mbg-sidebar-selection .mbg-live-selection__actions .mbg-map-detail__add:hover { transform: translateY(-1px); background: var(--planner-teal-deep); box-shadow: 0 11px 22px rgba(15,110,86,.22); }
.mbg-sidebar-selection .mbg-live-selection__actions .mbg-map-detail__add:active { transform: scale(.97); }
.mbg-sidebar-selection .mbg-live-selection__actions .mbg-map-detail__add.is-added { background: #e8f5ee; color: var(--planner-teal); box-shadow: none; }
.mbg-sidebar-selection .mbg-live-selection__actions a { font-size: .53rem; }

/* Search + region + animated tabs. */
.mbg-journey-planner .mbg-planner-search { margin: 0 0 8px; border: 1px solid rgba(15,110,86,.13); border-radius: 12px; background: #fff; transition: border-color 150ms ease,box-shadow 150ms ease,transform 150ms ease; }
.mbg-journey-planner .mbg-planner-search:focus-within { border-color: var(--planner-teal); box-shadow: 0 0 0 3px rgba(15,110,86,.08),0 8px 18px rgba(35,73,56,.06); transform: translateY(-1px); }
.mbg-region-filter { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; margin-bottom: 9px; padding: 8px 10px; border: 1px solid rgba(15,110,86,.1); border-radius: 11px; background: #fff; }
.mbg-region-filter > span { color: #748179; font-size: .5rem; font-weight: 800; }
.mbg-region-filter select { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: var(--planner-ink); font-size: .54rem; }
.mbg-journey-planner .mbg-planner-filters { display: flex; gap: 2px; padding: 0; margin: 0 0 10px; overflow-x: auto; border-bottom: 1px solid rgba(15,110,86,.11); scrollbar-width: none; }
.mbg-journey-planner .mbg-planner-filters::-webkit-scrollbar { display: none; }
.mbg-journey-planner .mbg-planner-filters button { position: relative; flex: 0 0 auto; padding: 8px 7px 9px; border: 0; border-radius: 0; background: transparent; color: #79867e; font-size: .48rem; font-weight: 750; transition: color 150ms ease,transform 150ms var(--planner-ease-out); }
.mbg-journey-planner .mbg-planner-filters button::after { content: ""; position: absolute; left: 8px; right: 8px; bottom: -1px; height: 2px; border-radius: 2px; background: var(--planner-teal); transform: scaleX(0); transform-origin: center; transition: transform 150ms var(--planner-ease-out); }
.mbg-journey-planner .mbg-planner-filters button:hover { color: var(--planner-ink); transform: translateY(-1px); }
.mbg-journey-planner .mbg-planner-filters button.is-active { background: transparent; color: var(--planner-teal) !important; }
.mbg-journey-planner .mbg-planner-filters button.is-active::after { transform: scaleX(1); }
.mbg-journey-planner .mbg-planner-results { max-height: none; overflow: visible; padding: 0; gap: 7px; }
.mbg-place-loading { min-height: 120px; align-items: flex-start; background: #fff; border: 1px solid rgba(15,110,86,.08); }
.mbg-place-loading i { width: 18px; height: 18px; flex: 0 0 auto; border-width: 2px; }
.mbg-place-loading > div { width: 100%; display: grid; gap: 7px; }
.mbg-place-loading strong { color: var(--planner-ink); font-size: .55rem; }
.mbg-place-loading span { display: block; height: 8px; border-radius: 99px; background: linear-gradient(90deg,#eef1ed,#f8f8f4,#eef1ed); background-size: 200% 100%; animation: mbg-skeleton 1.5s ease-in-out infinite; }
.mbg-place-loading span:nth-child(3) { width: 82%; }.mbg-place-loading span:nth-child(4) { width: 56%; }
.mbg-journey-planner .mbg-place-result { border: 1px solid rgba(15,110,86,.09); border-radius: 13px; background: #fff; opacity: 0; transform: translateY(7px); animation: mbg-result-in 220ms var(--planner-ease-out) forwards; animation-delay: var(--result-delay); transition: transform 100ms var(--planner-ease-out),box-shadow 100ms ease,border-color 100ms ease,background 100ms ease; }
.mbg-journey-planner .mbg-place-result:hover { transform: translateY(-2px); border-color: rgba(15,110,86,.2); box-shadow: 0 9px 21px rgba(35,66,52,.09); }
.mbg-journey-planner .mbg-place-result.is-current { border-color: var(--planner-gold); box-shadow: inset 3px 0 var(--planner-gold),0 8px 20px rgba(57,68,55,.07); }
.mbg-journey-planner .mbg-place-result.is-added { background: #f7fbf8; }
.mbg-journey-planner .mbg-place-result.is-suggested { border-color: rgba(216,90,48,.24); box-shadow: inset 3px 0 rgba(216,90,48,.75); }
.mbg-journey-planner .mbg-place-result__open { grid-template-columns: 62px 1fr; gap: 10px; padding: 8px 9px 5px; }
.mbg-place-result__media { width: 62px; height: 58px; aspect-ratio: 4/3; border-radius: 10px; }
.mbg-journey-planner .mbg-place-result__open small { font-size: .45rem; }.mbg-journey-planner .mbg-place-result__open strong { font-size: .58rem; }.mbg-journey-planner .mbg-place-result__open em { font-size: .47rem; }
.mbg-journey-planner .mbg-place-result__foot { padding: 0 9px 8px 81px; }
.mbg-journey-planner .mbg-place-result__foot b { font-size: .5rem; }
.mbg-journey-planner .mbg-place-result__foot button { width: 27px; height: 27px; border-radius: 9px; transition: transform 100ms var(--planner-ease-out),background 100ms ease; }
.mbg-journey-planner .mbg-place-result__foot button:hover { transform: scale(1.08); }
.mbg-journey-planner .mbg-place-result--experience { border-left: 3px solid rgba(47,128,237,.7); }
.mbg-journey-planner .mbg-place-result--accommodation { border-left: 3px solid rgba(46,157,104,.7); }
.mbg-journey-planner .mbg-place-result--event { border-left: 3px solid rgba(230,126,34,.7); }
.mbg-journey-planner .mbg-place-result--tour { border-left: 3px solid rgba(123,97,255,.7); }

/* Route summary */
.mbg-journey-planner .mbg-planner-itinerary { position: static; max-height: none; overflow: visible; }
.mbg-journey-planner .mbg-plan-pulse { margin: 0 0 10px; padding: 8px 10px; border-radius: 10px; font-size: .5rem; }
.mbg-journey-planner .mbg-plan-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 0 0 9px; }
.mbg-journey-planner .mbg-plan-summary > div { min-height: 63px; display: grid; align-content: center; padding: 9px 10px; border-radius: 11px; background: #fff; }
.mbg-journey-planner .mbg-plan-summary span { font-size: .46rem; }
.mbg-journey-planner .mbg-plan-summary strong { margin-top: 3px; font-size: .68rem; font-variant-numeric: tabular-nums; }
.mbg-estimated-cost-note { margin: 0 0 10px; font-size: .49rem; }
.mbg-journey-planner .mbg-plan-warnings { margin: 0 0 10px; padding: 8px 10px; border-radius: 10px; }
.mbg-journey-planner .mbg-plan-warnings p { margin: 3px 0; font-size: .47rem; line-height: 1.45; }
.mbg-journey-planner .mbg-plan-days { max-height: 250px; overflow: auto; padding: 0; }
.mbg-journey-planner .mbg-plan-empty { padding: 13px; border-radius: 12px; animation: mbg-empty-in 300ms var(--planner-ease-out) both; }
.mbg-plan-empty--route > span,.mbg-plan-empty--warm > span { animation: mbg-gentle-bounce 2.4s ease-in-out infinite; }
.mbg-plan-empty--route strong,.mbg-plan-empty--warm strong { font-size: .57rem; }.mbg-plan-empty--route p,.mbg-plan-empty--warm p { font-size: .49rem; }
.mbg-journey-planner .mbg-plan-stop { opacity: 0; transform: translateY(5px); animation: mbg-result-in 200ms var(--planner-ease-out) forwards; animation-delay: var(--result-delay); }
.mbg-journey-planner .mbg-plan-stop strong { font-size: .55rem; }.mbg-journey-planner .mbg-plan-stop em { font-size: .44rem; }
.mbg-route-add-stop { width: 100%; min-height: 38px; margin-top: 9px; border: 1px dashed rgba(15,110,86,.26); border-radius: 11px; background: #f7fbf8; color: var(--planner-teal); font-size: .52rem; font-weight: 800; transition: transform 120ms var(--planner-ease-out),background 120ms ease; }
.mbg-route-add-stop:hover { transform: translateY(-1px); background: #ecf6f0; }

.mbg-planner-sidebar__footer {
  position: relative;
  z-index: 6;
  padding: 11px 14px 13px;
  border-top: 1px solid rgba(15,110,86,.11);
  background: rgba(255,253,248,.99);
  box-shadow: 0 -12px 28px rgba(47,67,56,.07);
  overflow: hidden;
}
.mbg-sidebar-next-step { min-height: 28px; display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.mbg-sidebar-next-step > span { width: 24px; height: 24px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; background: #eaf4ef; color: var(--planner-teal); font-size: .56rem; }
.mbg-sidebar-next-step p { margin: 0; color: #65736b; font-size: .49rem; line-height: 1.4; }
.mbg-planner-sidebar__footer .mbg-route-actions { display: grid; grid-template-columns: 1.25fr .8fr .8fr; gap: 6px; padding: 0; border: 0; }
.mbg-planner-sidebar__footer .mbg-route-actions button { min-height: 39px; padding: 7px 5px; border-radius: 11px; font-size: .5rem; transition: transform 120ms var(--planner-ease-out),background 120ms ease,box-shadow 120ms ease; }
.mbg-planner-sidebar__footer .mbg-route-actions button:first-child { border-color: var(--planner-teal); background: var(--planner-teal); color: #fff; box-shadow: 0 8px 18px rgba(15,110,86,.18); }
.mbg-planner-sidebar__footer .mbg-route-actions button:hover { transform: translateY(-1px); }
.mbg-planner-sidebar__footer .mbg-route-actions button:active { transform: scale(.97); }
.mbg-journey-planner.is-route-celebrating .mbg-planner-sidebar__footer::before {
  content: "✦  ·  ★  ·  ✦";
  position: absolute; left: 50%; top: 2px; color: var(--planner-gold); font-size: .66rem; pointer-events: none;
  animation: mbg-confetti-pulse 620ms var(--planner-ease-out) both;
}

.mbg-planner-mobile-toggle { display: none; }
.mbg-journey-planner .mbg-planner-toast { transform: translateY(8px) scale(.98); opacity: 0; transition: transform 200ms var(--planner-ease-out),opacity 200ms ease; }
.mbg-journey-planner .mbg-planner-toast.is-showing { transform: translateY(0) scale(1); opacity: 1; }

@keyframes mbg-route-dash { to { stroke-dashoffset: -28; } }
@keyframes mbg-pin-pop { 0% { transform: translate(-50%,-50%) scale(1); } 45% { transform: translate(-50%,-58%) scale(1.45); } 72% { transform: translate(-50%,-48%) scale(.94); } 100% { transform: translate(-50%,-50%) scale(1); } }
@keyframes mbg-filter-pulse { 0% { box-shadow: 0 0 0 0 rgba(15,110,86,.22); } 100% { box-shadow: 0 0 0 8px rgba(15,110,86,0); } }
@keyframes mbg-section-in { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@keyframes mbg-detail-slide { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: translateX(0); } }
@keyframes mbg-result-in { to { opacity: 1; transform: translateY(0); } }
@keyframes mbg-empty-in { from { opacity: 0; transform: scale(.95); } to { opacity: 1; transform: scale(1); } }
@keyframes mbg-gentle-bounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes mbg-skeleton { 0% { background-position: 100% 0; opacity: .55; } 50% { opacity: 1; } 100% { background-position: -100% 0; opacity: .55; } }
@keyframes mbg-confetti-pulse { 0% { opacity: 0; transform: translate(-50%,12px) scale(.7); } 35% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%,-22px) scale(1.25); } }

@media (max-width: 1180px) and (min-width: 769px) {
  .mbg-journey-planner .mbg-journey-workspace--full { grid-template-columns: minmax(0,65fr) minmax(360px,35fr); }
  .mbg-journey-planner .mbg-ghana-map__canvas { width: min(540px,82%); }
  .mbg-planner-builder-intro { padding-inline: 28px; }
}

@media (max-width: 768px) {
  .mbg-planner-builder-intro { min-height: 0; display: block; padding: 22px 18px; }
  .mbg-planner-builder-intro h2 { font-size: clamp(2rem,9vw,3.2rem); }
  .mbg-planner-builder-intro > p { width: auto; margin-top: 10px; font-size: .68rem; text-align: left; }
  .mbg-journey-planner .mbg-journey-workspace--full { height: auto; min-height: 0; display: block; }
  .mbg-journey-planner .mbg-planner-map-column { height: min(74vh,700px); min-height: 560px; }
  .mbg-journey-planner .mbg-ghana-map { height: 100%; }
  .mbg-journey-planner .mbg-ghana-map__head { min-height: 64px; padding: 11px 14px; }
  .mbg-map-legend { gap: 9px; padding: 7px 14px; }
  .mbg-map-legend span { font-size: .48rem; }
  .mbg-journey-planner .mbg-ghana-map__canvas { width: min(470px,92%); }
  .mbg-journey-planner .mbg-map-pin > span { display: none; }
  .mbg-map-guidance { padding-inline: 14px; }
  .mbg-journey-planner .mbg-map-note { padding-inline: 14px; }

  .mbg-planner-mobile-toggle {
    position: fixed;
    right: 14px;
    bottom: 18px;
    z-index: 150;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 11px 8px 13px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 999px;
    background: rgba(13,82,64,.95);
    color: #fff;
    box-shadow: 0 14px 34px rgba(13,54,43,.28);
    backdrop-filter: blur(14px);
    transition: transform 150ms var(--planner-ease-out),background 150ms ease;
  }
  .mbg-planner-mobile-toggle:active { transform: scale(.96); }
  .mbg-planner-mobile-toggle strong { font-size: .6rem; }
  .mbg-planner-mobile-toggle b { min-width: 24px; height: 24px; display: grid; place-items: center; border-radius: 999px; background: #f6c658; color: #543d08; font-size: .52rem; }

  .mbg-journey-planner .mbg-planner-sidebar {
    width: 100%;
    height: min(82vh,760px);
    position: fixed;
    inset: auto 0 0;
    top: auto;
    z-index: 160;
    transform: translate3d(0,105%,0);
    border: 0;
    border-radius: 24px 24px 0 0;
    box-shadow: 0 -24px 70px rgba(17,45,35,.27);
    transition: transform 280ms var(--planner-ease-out);
    will-change: transform;
  }
  .admin-bar .mbg-journey-planner .mbg-planner-sidebar { top: auto; }
  .mbg-journey-planner.is-sidebar-open .mbg-planner-sidebar { transform: translate3d(0,0,0); }
  .mbg-journey-planner.is-sidebar-open::after { content: ""; position: fixed; inset: 0; z-index: 155; background: rgba(8,31,24,.28); backdrop-filter: blur(2px); animation: mbg-section-in 200ms ease both; }
  .mbg-sidebar-close { display: grid; place-items: center; }
  .mbg-planner-sidebar__header { padding: 16px 15px 13px; }
  .mbg-planner-sidebar__header::before { content: ""; width: 44px; height: 4px; display: block; margin: -7px auto 10px; border-radius: 99px; background: #d8ded9; }
  .mbg-planner-sidebar__header .mbg-interest-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
  .mbg-planner-sidebar__header .mbg-interest-chips::-webkit-scrollbar { display: none; }
  .mbg-planner-sidebar__header .mbg-interest-chips label { flex: 0 0 auto; }
  .mbg-planner-progress { margin-top: 9px; }
  .mbg-sidebar-section { padding: 16px 15px; }
  .mbg-sidebar-quick-filters .mbg-trip-details__grid { grid-template-columns: 1fr 1fr; }
  .mbg-planner-sidebar__footer { padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); }
}

@media (max-width: 480px) {
  .mbg-journey-planner .mbg-planner-map-column { height: 68vh; min-height: 500px; }
  .mbg-map-legend span { font-size: .44rem; }
  .mbg-map-legend span:nth-child(n+4) { display: none; }
  .mbg-sidebar-quick-filters .mbg-pace-options strong { font-size: .54rem; }
  .mbg-sidebar-quick-filters .mbg-pace-options small { font-size: .43rem; }
  .mbg-sidebar-quick-filters .mbg-trip-details__grid { grid-template-columns: 1fr; }
  .mbg-planner-sidebar__footer .mbg-route-actions { grid-template-columns: 1.1fr .75fr .75fr; }
}

@media (prefers-reduced-motion: reduce) {
  .mbg-journey-planner *, .mbg-journey-planner *::before, .mbg-journey-planner *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* v0.9.1 precise planner pin states. */
.mbg-live-selection__badges .is-location-review{background:#fff3d6;color:#8a6117;border:1px solid #ead7ac}.mbg-map-detail__add.is-location-disabled,.mbg-place-result__foot button.is-location-disabled{cursor:not-allowed!important;opacity:.62!important;background:#f4f0e5!important;color:#8b7750!important;border-color:#e5dac4!important;box-shadow:none!important;transform:none!important}.mbg-place-result__copy small{line-height:1.35}.mbg-place-result:has(.is-location-disabled){border-style:dashed}.mbg-place-result:has(.is-location-disabled)::after{content:"Exact map pin pending";position:absolute;right:9px;top:9px;padding:4px 7px;border-radius:999px;background:rgba(255,248,225,.94);color:#8a6117;font-size:.39rem;font-weight:850;letter-spacing:.04em;box-shadow:0 5px 13px rgba(89,68,22,.08)}

/* ========================================================================== */
/* MBG v1.0.0 — mobile-first presentation + liquid glass app navigation       */
/* ========================================================================== */

.mbg-mobile-header-actions,
.mbg-mobile-dock,
.mbg-mobile-app-menu { display: none; }

@media (max-width: 860px) {
  :root {
    --mbg-shell: calc(100% - 32px);
    --mbg-mobile-gutter: 16px;
    --mbg-mobile-dock-height: 74px;
  }

  html { overflow-x: hidden; scroll-padding-top: 74px; }
  body.mbg-site { overflow-x: clip; min-width: 320px; }
  body.mbg-site img,
  body.mbg-site video,
  body.mbg-site iframe,
  body.mbg-site svg { max-width: 100%; }
  body.mbg-site input,
  body.mbg-site select,
  body.mbg-site textarea,
  body.mbg-site button { max-width: 100%; }

  /* Consistent mobile breathing room across regular site pages. */
  .mbg-shell { width: calc(100% - (var(--mbg-mobile-gutter) * 2)); max-width: 720px; }
  .mbg-main > .mbg-shell,
  .mbg-section > .mbg-shell,
  .mbg-detail > .mbg-shell,
  .mbg-archive > .mbg-shell { margin-inline: auto; }
  .mbg-section { padding-block: clamp(48px, 12vw, 76px); }
  .mbg-section-heading { gap: 14px; margin-bottom: 26px; }
  .mbg-section-heading p { max-width: none; }
  .mbg-card-grid,
  .mbg-path-grid,
  .mbg-plan-grid { gap: 16px; }
  .mbg-card,
  .mbg-path-card,
  .mbg-booking-card,
  .mbg-search-deck,
  .mbg-filter-bar { border-radius: 22px; }
  .mbg-prose { overflow-wrap: anywhere; }
  .mbg-prose table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

  /* Mobile gets its own header/navigation system; desktop nav is completely hidden. */
  .mbg-utility,
  .mbg-header .mbg-nav,
  .mbg-header .mbg-menu-toggle,
  .mbg-header .mbg-header__actions,
  .mbg-menu-scrim { display: none !important; }
  .mbg-header {
    top: 0;
    z-index: 180;
    background: rgba(255,255,255,.72);
    border-bottom-color: rgba(17,23,19,.07);
    box-shadow: 0 8px 30px rgba(17,42,28,.05);
    -webkit-backdrop-filter: blur(22px) saturate(170%);
    backdrop-filter: blur(22px) saturate(170%);
  }
  .admin-bar .mbg-header { top: 46px; }
  .mbg-header__inner {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }
  .mbg-brand { min-width: 0; max-width: calc(100% - 96px); }
  .mbg-brand .custom-logo { width: auto; max-width: min(190px, 52vw); max-height: 46px; object-fit: contain; }
  .mbg-brand__mark { width: 36px; height: 36px; border-radius: 12px; flex: 0 0 auto; }
  .mbg-brand__copy { min-width: 0; }
  .mbg-brand__copy strong { display: none; }
  .mbg-brand__copy em { max-width: 150px; overflow: hidden; font-size: 1.32rem; text-overflow: ellipsis; white-space: nowrap; }
  .mbg-mobile-header-actions { display: flex; align-items: center; gap: 7px; }
  .mbg-mobile-header-action {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(15,91,65,.10);
    border-radius: 13px;
    background: rgba(255,255,255,.58);
    color: #15372b;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 8px 20px rgba(26,62,43,.06);
    -webkit-backdrop-filter: blur(14px) saturate(155%);
    backdrop-filter: blur(14px) saturate(155%);
  }
  .mbg-mobile-header-action:active { transform: scale(.94); }

  /* App-style floating liquid glass bottom navigation. */
  .mbg-mobile-dock {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: calc(10px + env(safe-area-inset-bottom));
    z-index: 190;
    height: var(--mbg-mobile-dock-height);
    display: grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    align-items: center;
    padding: 7px 8px;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 25px;
    background:
      linear-gradient(135deg, rgba(255,255,255,.78), rgba(244,250,246,.54)),
      radial-gradient(circle at 12% 0%, rgba(244,196,48,.14), transparent 35%);
    box-shadow: 0 18px 48px rgba(17,47,32,.20), inset 0 1px 0 rgba(255,255,255,.88), inset 0 -1px 0 rgba(23,82,57,.05);
    -webkit-backdrop-filter: blur(28px) saturate(190%);
    backdrop-filter: blur(28px) saturate(190%);
    transition: transform .24s cubic-bezier(.2,.8,.2,1), opacity .2s ease;
    isolation: isolate;
  }
  .mbg-mobile-dock::before {
    content: "";
    position: absolute;
    inset: 1px;
    z-index: -1;
    border-radius: 23px;
    background: linear-gradient(115deg, rgba(255,255,255,.54), transparent 38%, rgba(255,255,255,.12) 62%, rgba(255,255,255,.48));
    pointer-events: none;
  }
  .mbg-mobile-dock.is-keyboard-open { transform: translateY(140%); opacity: 0; pointer-events: none; }
  .mbg-mobile-dock__item {
    min-width: 0;
    min-height: 56px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 4px 2px;
    border: 0;
    border-radius: 17px;
    background: transparent;
    color: #6a7871;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform 120ms ease, color 140ms ease, background 140ms ease;
  }
  .mbg-mobile-dock__item:active { transform: scale(.92); }
  .mbg-mobile-dock__icon { font-size: 1.08rem; line-height: 1; }
  .mbg-mobile-dock__label { max-width: 100%; overflow: hidden; font-size: .54rem; font-weight: 800; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }
  .mbg-mobile-dock__item.is-active { color: var(--mbg-green); background: rgba(0,107,63,.07); }
  .mbg-mobile-dock__item--plan { overflow: visible; }
  .mbg-mobile-dock__plan-orb {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    margin-top: -21px;
    margin-bottom: 1px;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 15px;
    background: linear-gradient(145deg,#123e31,#071f17);
    color: #f6ca55;
    box-shadow: 0 10px 25px rgba(9,48,34,.26), inset 0 1px 0 rgba(255,255,255,.20);
    transform: rotate(-2deg);
    transition: transform 150ms cubic-bezier(.34,1.56,.64,1), box-shadow 150ms ease;
  }
  .mbg-mobile-dock__item--plan:active .mbg-mobile-dock__plan-orb { transform: rotate(0) scale(.90); }
  .mbg-mobile-dock__item--plan.is-active .mbg-mobile-dock__plan-orb { background: linear-gradient(145deg,#0f6e56,#0a4d3d); box-shadow: 0 11px 27px rgba(15,110,86,.32), inset 0 1px 0 rgba(255,255,255,.22); }

  /* Liquid-glass mobile app menu. */
  .mbg-mobile-app-menu[hidden] { display: none !important; }
  .mbg-mobile-app-menu {
    position: fixed;
    inset: 0;
    z-index: 230;
    display: block;
    pointer-events: none;
  }
  .mbg-mobile-app-menu__scrim {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(8,28,20,.30);
    opacity: 0;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    transition: opacity .22s ease;
  }
  .mbg-mobile-app-menu__sheet {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: calc(10px + env(safe-area-inset-bottom));
    max-height: min(78dvh, 720px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 8px 14px calc(18px + env(safe-area-inset-bottom));
    border: 1px solid rgba(255,255,255,.76);
    border-radius: 30px;
    background:
      radial-gradient(circle at 5% 0%, rgba(244,196,48,.22), transparent 28%),
      radial-gradient(circle at 96% 12%, rgba(0,107,63,.16), transparent 32%),
      rgba(250,253,250,.76);
    box-shadow: 0 28px 80px rgba(9,38,26,.30), inset 0 1px 0 rgba(255,255,255,.94);
    -webkit-backdrop-filter: blur(34px) saturate(190%);
    backdrop-filter: blur(34px) saturate(190%);
    transform: translate3d(0,108%,0) scale(.98);
    opacity: 0;
    transition: transform .26s cubic-bezier(.2,.8,.2,1), opacity .20s ease;
    will-change: transform;
  }
  .mbg-mobile-app-menu.is-open { pointer-events: auto; }
  .mbg-mobile-app-menu.is-open .mbg-mobile-app-menu__scrim { opacity: 1; }
  .mbg-mobile-app-menu.is-open .mbg-mobile-app-menu__sheet { transform: translate3d(0,0,0) scale(1); opacity: 1; }
  .mbg-mobile-app-menu__handle { width: 44px; height: 4px; margin: 0 auto 8px; border-radius: 99px; background: rgba(31,64,49,.16); }
  .mbg-mobile-app-menu__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 10px 2px 14px; }
  .mbg-mobile-app-menu__head span { color: #b24c2b; font-size: .58rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
  .mbg-mobile-app-menu__head h2 { margin-top: 4px; font-size: clamp(1.72rem, 8vw, 2.35rem); line-height: 1; }
  .mbg-mobile-app-menu__head button { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(16,78,57,.10); border-radius: 13px; background: rgba(255,255,255,.55); font-size: 1.15rem; }
  .mbg-mobile-app-menu__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
  .mbg-mobile-app-menu__grid a {
    min-width: 0;
    display: grid;
    grid-template-columns: 40px minmax(0,1fr);
    align-items: center;
    gap: 9px;
    min-height: 72px;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.70);
    border-radius: 18px;
    background: rgba(255,255,255,.48);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.74), 0 8px 22px rgba(29,67,47,.06);
    transition: transform 120ms ease, background 140ms ease, box-shadow 140ms ease;
  }
  .mbg-mobile-app-menu__grid a:active { transform: scale(.97); }
  .mbg-mobile-app-menu__grid i { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 13px; background: rgba(0,107,63,.08); color: #0f6e56; font-size: .95rem; font-style: normal; }
  .mbg-mobile-app-menu__grid strong,
  .mbg-mobile-app-menu__grid small { display: block; overflow: hidden; text-overflow: ellipsis; }
  .mbg-mobile-app-menu__grid strong { font-size: .68rem; line-height: 1.2; }
  .mbg-mobile-app-menu__grid small { margin-top: 2px; color: #748078; font-size: .49rem; line-height: 1.25; }
  .mbg-mobile-app-menu__cta {
    min-height: 56px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    padding: 10px 14px;
    border-radius: 18px;
    background: linear-gradient(135deg,#0f6e56,#0a4a3a);
    color: #fff;
    box-shadow: 0 14px 28px rgba(15,110,86,.22), inset 0 1px 0 rgba(255,255,255,.18);
  }
  .mbg-mobile-app-menu__cta > span { color: #f6ca55; }
  .mbg-mobile-app-menu__cta strong { font-size: .72rem; }
  .mbg-mobile-app-menu__cta em { font-style: normal; }

  /* Search drawer is mobile-safe and no longer extends beyond the viewport. */
  .mbg-search-drawer { padding: 12px; }
  .mbg-search-drawer__panel { width: 100%; max-width: none; max-height: calc(100dvh - 24px); overflow-y: auto; padding: 28px 18px 20px; border-radius: 26px; }
  .mbg-search-drawer__panel h2 { font-size: clamp(2rem, 10vw, 3.4rem); }
  .mbg-global-search { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .mbg-global-search input,
  .mbg-global-search .mbg-button { width: 100%; }

  /* Home/archive/detail page refinements. */
  .mbg-hero { padding-top: 34px; }
  .mbg-hero__grid { gap: 22px; }
  .mbg-hero__copy { padding-bottom: 10px; }
  .mbg-hero__copy h1 { max-width: 100%; font-size: clamp(2.75rem, 13vw, 4.6rem); }
  .mbg-hero__visual img { width: 100%; }
  .mbg-search-deck { width: 100%; margin-inline: 0; }
  .mbg-archive-hero,
  .mbg-commerce-hero { overflow: hidden; }
  .mbg-archive-hero h1,
  .mbg-commerce-hero h1 { overflow-wrap: anywhere; }
  .mbg-filter-bar { padding: 14px; gap: 10px; }
  .mbg-filter-bar > * { min-width: 0; }
  .mbg-explorer-card { width: 100%; }
  .mbg-detail__image { width: 100%; max-height: 68svh; object-fit: cover; }
  .mbg-detail__layout { gap: 30px; }
  .mbg-story-cta__inner { gap: 20px; padding: 24px 20px; }
  .mbg-footer { padding-bottom: calc(var(--mbg-mobile-dock-height) + 30px + env(safe-area-inset-bottom)); }
  .mbg-footer__grid { gap: 28px; }

  /* WooCommerce mobile: controlled width, readable forms and stable card grids. */
  .mbg-commerce--catalog,
  .mbg-commerce--single,
  .mbg-shop-layout--boutique .mbg-commerce { width: calc(100% - 32px) !important; max-width: 720px !important; }
  .mbg-commerce--catalog { padding-top: 24px; }
  .mbg-shop-page .mbg-commerce-hero { width: calc(100% - 32px); padding-inline: 18px; }
  .mbg-shop-page .mbg-shop-category-nav { max-width: calc(100vw - 32px); overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
  .mbg-shop-page .mbg-shop-category-nav::-webkit-scrollbar { display: none; }
  .mbg-shop-page .mbg-shop-category-nav a { flex: 0 0 auto; }
  .woocommerce .woocommerce-ordering,
  .woocommerce .woocommerce-result-count { width: 100%; float: none !important; }
  .woocommerce .woocommerce-ordering select { width: 100%; min-height: 48px; }
  body.single-product .mbg-commerce--single > div.product[id^="product-"] { display: block !important; }
  body.single-product .mbg-commerce--single div.product div.images,
  body.single-product .mbg-commerce--single div.product div.summary { width: 100% !important; }
  body.single-product .mbg-commerce--single div.product div.summary { margin-top: 24px !important; padding-inline: 2px; }
  body.single-product .product_title { max-width: 100%; font-size: clamp(2.35rem, 11vw, 3.65rem) !important; overflow-wrap: anywhere; }
  body.single-product table.variations,
  body.single-product table.variations tbody,
  body.single-product table.variations tr { width: 100%; }
  body.single-product table.variations tr { grid-template-columns: 1fr; gap: 5px; }
  body.single-product table.variations select { min-height: 52px; }
  body.single-product form.cart .quantity { margin-bottom: 8px !important; }
  body.single-product .single_add_to_cart_button { min-height: 52px; }
  body.single-product .woocommerce-tabs ul.tabs { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; padding-bottom: 4px !important; scrollbar-width: none; }
  body.single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
  body.single-product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; }
  body.single-product .related.products > h2,
  body.single-product .upsells.products > h2 { padding-right: 0; font-size: clamp(2.1rem,10vw,3.2rem); }
  body.single-product .related.products ul.products,
  body.single-product .upsells.products ul.products { grid-template-columns: 1fr !important; gap: 16px !important; }

  /* Plan Your Trip: eliminate horizontal shifting and browser-toolbar jumps. */
  .mbg-journey-planner,
  .mbg-journey-planner .mbg-journey-builder,
  .mbg-journey-planner .mbg-journey-workspace--full,
  .mbg-journey-planner .mbg-planner-map-column,
  .mbg-journey-planner .mbg-ghana-map,
  .mbg-journey-planner .mbg-ghana-map__viewport { width: 100%; max-width: 100%; min-width: 0; }
  .mbg-journey-planner { overflow-x: clip; }
  .mbg-planner-builder-intro { padding: 20px var(--mbg-mobile-gutter); }
  .mbg-planner-builder-intro > p { max-width: 42rem; }
  .mbg-journey-planner .mbg-journey-workspace--full { overflow: hidden; }
  .mbg-journey-planner .mbg-planner-map-column {
    height: clamp(500px, calc(100svh - 138px), 720px);
    min-height: 500px;
    max-height: 720px;
    overflow: hidden;
    contain: layout paint;
  }
  .mbg-journey-planner .mbg-ghana-map__head { min-height: 58px; padding: 10px 14px; }
  .mbg-journey-planner .mbg-ghana-map__head > div { min-width: 0; }
  .mbg-journey-planner .mbg-ghana-map__head strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mbg-journey-planner .mbg-ghana-map__head .mbg-map-tools { display: none; }
  .mbg-map-legend { flex-wrap: nowrap; gap: 12px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
  .mbg-map-legend::-webkit-scrollbar { display: none; }
  .mbg-map-legend span { flex: 0 0 auto; }
  .mbg-journey-planner .mbg-ghana-map__viewport { min-height: 0 !important; height: 100%; touch-action: auto; }
  .mbg-map-guidance { min-width: 0; }
  .mbg-map-guidance > div { min-width: 0; }
  .mbg-map-guidance strong,
  .mbg-map-guidance small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mbg-journey-planner .mbg-map-note { display: none; }

  .mbg-planner-mobile-toggle {
    right: 14px;
    bottom: calc(var(--mbg-mobile-dock-height) + 24px + env(safe-area-inset-bottom));
    z-index: 210;
    min-height: 48px;
    box-shadow: 0 15px 36px rgba(13,54,43,.30), inset 0 1px 0 rgba(255,255,255,.18);
  }
  .mbg-journey-planner .mbg-planner-sidebar {
    width: 100%;
    max-width: 100vw;
    height: min(84dvh, 780px);
    max-height: min(84dvh, 780px);
    position: fixed;
    inset: auto 0 0;
    overflow: hidden;
    border-radius: 26px 26px 0 0;
    overscroll-behavior: contain;
    transform: translate3d(0,105%,0);
  }
  .mbg-planner-sidebar__scroll {
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
  }
  .mbg-planner-sidebar__header,
  .mbg-planner-sidebar__footer { min-width: 0; }
  .mbg-planner-sidebar__header { padding: 15px 15px 12px; }
  .mbg-sidebar-title-row > div { min-width: 0; }
  .mbg-sidebar-title-row h2 { overflow-wrap: anywhere; }
  .mbg-planner-sidebar__header .mbg-interest-chips,
  .mbg-planner-filters { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
  .mbg-planner-sidebar__header .mbg-interest-chips::-webkit-scrollbar,
  .mbg-planner-filters::-webkit-scrollbar { display: none; }
  .mbg-planner-sidebar__header .mbg-interest-chips label,
  .mbg-planner-filters button { flex: 0 0 auto; }
  .mbg-sidebar-section { min-width: 0; padding: 15px; }
  .mbg-sidebar-section__head { min-width: 0; gap: 8px; }
  .mbg-sidebar-section__head > div { min-width: 0; }
  .mbg-sidebar-section__head small { max-width: 42%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mbg-sidebar-quick-filters .mbg-duration-options,
  .mbg-sidebar-quick-filters .mbg-pace-options { width: 100%; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .mbg-sidebar-quick-filters .mbg-duration-options button,
  .mbg-sidebar-quick-filters .mbg-pace-options button { min-width: 0; padding-inline: 4px; }
  .mbg-planner-search,
  .mbg-region-filter,
  .mbg-planner-results,
  .mbg-live-selection,
  .mbg-plan-summary { max-width: 100%; min-width: 0; }
  .mbg-place-result { min-width: 0; }
  .mbg-place-result__copy { min-width: 0; }
  .mbg-place-result__copy strong,
  .mbg-place-result__copy small { overflow-wrap: anywhere; }
  .mbg-live-selection__image { aspect-ratio: 16/9; }
  .mbg-live-selection__image img { width: 100%; height: 100%; object-fit: cover; }
  .mbg-plan-summary { grid-template-columns: 1fr 1fr; gap: 7px; }
  .mbg-planner-sidebar__footer { padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
  .mbg-planner-sidebar__footer .mbg-route-actions { grid-template-columns: 1.2fr .8fr .8fr; }

  body:has(.mbg-journey-planner.is-sidebar-open) .mbg-mobile-dock {
    transform: translateY(145%);
    opacity: 0;
    pointer-events: none;
  }
  body:has(.mbg-journey-planner.is-sidebar-open) .mbg-planner-mobile-toggle { opacity: 0; pointer-events: none; }

  /* Make sections beneath the map consistent with the rest of mobile. */
  .mbg-journey-help,
  .mbg-journey-newsletter { padding-inline: var(--mbg-mobile-gutter); }
  .mbg-journey-help .mbg-planner-shell,
  .mbg-journey-newsletter .mbg-planner-shell { width: 100%; }
  .mbg-journey-help__card { padding: 26px 20px; }
  .mbg-journey-newsletter__inner { padding-inline: 0; }
}

@media (max-width: 580px) {
  :root { --mbg-mobile-gutter: 14px; --mbg-shell: calc(100% - 28px); }
  h1 { font-size: clamp(2.55rem, 13vw, 4.1rem); }
  h2 { font-size: clamp(2rem, 10.5vw, 3rem); }
  h3 { font-size: clamp(1.15rem, 6vw, 1.45rem); }
  body { font-size: 15px; }
  .mbg-section { padding-block: 50px; }
  .mbg-card-grid--three,
  .mbg-card-grid--four,
  .mbg-path-grid,
  .mbg-plan-grid { grid-template-columns: 1fr !important; }
  .mbg-mobile-dock { left: 8px; right: 8px; bottom: calc(7px + env(safe-area-inset-bottom)); padding-inline: 5px; border-radius: 23px; }
  .mbg-mobile-dock__label { font-size: .51rem; }
  .mbg-mobile-app-menu__grid { gap: 7px; }
  .mbg-mobile-app-menu__grid a { grid-template-columns: 36px minmax(0,1fr); min-height: 68px; padding: 8px; border-radius: 16px; }
  .mbg-mobile-app-menu__grid i { width: 36px; height: 36px; }
  .mbg-mobile-app-menu__grid small { display: none; }
  .mbg-commerce--catalog,
  .mbg-commerce--single,
  .mbg-shop-layout--boutique .mbg-commerce,
  .mbg-shop-page .mbg-commerce-hero { width: calc(100% - 28px) !important; }
  body.single-product .quantity { width: 72px; }
  body.single-product .single_add_to_cart_button { max-width: calc(100% - 84px); padding-inline: 16px !important; }
  .mbg-journey-planner .mbg-planner-map-column { height: clamp(470px, calc(100svh - 130px), 650px); min-height: 470px; }
  .mbg-map-guidance { padding: 8px 12px; }
  .mbg-map-guidance small { display: none; }
  .mbg-planner-mobile-toggle { right: 10px; }
  .mbg-journey-planner .mbg-planner-sidebar { height: min(88dvh,760px); max-height: min(88dvh,760px); }
  .mbg-sidebar-quick-filters .mbg-trip-details__grid { grid-template-columns: 1fr; }
  .mbg-sidebar-section__head small { display: none; }
}

@media (max-width: 380px) {
  :root { --mbg-mobile-gutter: 12px; --mbg-shell: calc(100% - 24px); }
  .mbg-brand .custom-logo { max-width: 150px; }
  .mbg-mobile-header-actions { gap: 5px; }
  .mbg-mobile-header-action { width: 36px; height: 36px; }
  .mbg-mobile-dock__item { min-height: 54px; }
  .mbg-mobile-dock__icon { font-size: 1rem; }
  .mbg-mobile-dock__label { font-size: .47rem; }
  .mbg-mobile-dock__plan-orb { width: 38px; height: 38px; }
  .mbg-mobile-app-menu__sheet { left: 7px; right: 7px; padding-inline: 10px; }
  .mbg-mobile-app-menu__grid strong { font-size: .62rem; }
  .mbg-sidebar-quick-filters .mbg-duration-options,
  .mbg-sidebar-quick-filters .mbg-pace-options { gap: 5px; }
  .mbg-sidebar-quick-filters .mbg-duration-options button,
  .mbg-sidebar-quick-filters .mbg-pace-options button { font-size: .48rem; }
}

@media (max-width: 860px) and (orientation: landscape) and (max-height: 540px) {
  .mbg-mobile-dock { --mbg-mobile-dock-height: 62px; }
  .mbg-mobile-dock__item { min-height: 48px; }
  .mbg-mobile-dock__plan-orb { width: 34px; height: 34px; margin-top: -16px; }
  .mbg-journey-planner .mbg-planner-map-column { height: calc(100svh - 64px); min-height: 340px; max-height: none; }
  .mbg-mobile-app-menu__sheet { max-height: 88dvh; }
}
@media (max-width: 768px) {
  body.mbg-planner-sheet-open { overflow: hidden; overscroll-behavior: none; }
}

/* Desktop primary nav: icon + label (mirrors the icon language already used in the mobile menu). */
.mbg-nav__icon { display: inline-flex; align-items: center; justify-content: center; font-style: normal; font-size: .92em; color: var(--mbg-green); line-height: 1; }
.mbg-nav__list > li > a:hover .mbg-nav__icon, .mbg-nav__trigger:hover .mbg-nav__icon, .mbg-nav__trigger[aria-expanded="true"] .mbg-nav__icon { color: var(--mbg-green-2); }
@media (max-width: 900px) {
  .mbg-nav__icon { width: 18px; }
}

/* v1.2.0 — dedicated accommodation booking pages + private stay chat */
.mbg-stay-page{background:#f7f8f6;padding:28px 0 0;overflow:visible}
.mbg-stay-shell{padding-bottom:54px}
.mbg-stay-breadcrumb{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:2px 0 18px;color:var(--mbg-muted);font-size:.76rem}.mbg-stay-breadcrumb a{color:var(--mbg-green);font-weight:800}.mbg-stay-breadcrumb strong{color:var(--mbg-ink);font-weight:700}
.mbg-stay-topline{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:18px}.mbg-stay-topline h1{font-family:var(--mbg-font);font-size:clamp(2rem,4vw,3.75rem);letter-spacing:-.055em;max-width:820px}.mbg-stay-topline p{margin:7px 0 0;color:var(--mbg-muted);font-size:.88rem}.mbg-stay-top-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.mbg-stay-top-actions>span,.mbg-stay-top-actions .mbg-save{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 12px;border:1px solid var(--mbg-line);border-radius:12px;background:#fff;font-size:.75rem;font-weight:800}.mbg-stay-verified{color:var(--mbg-green)!important;background:#eef9f3!important;border-color:rgba(0,107,63,.13)!important}
.mbg-stay-gallery{position:relative;display:grid;grid-template-columns:1.38fr 1fr;gap:8px;min-height:470px;margin-bottom:28px;padding:8px;border:1px solid rgba(17,23,19,.08);border-radius:22px;background:#fff;box-shadow:0 15px 45px rgba(30,50,38,.08);overflow:hidden}.mbg-stay-gallery button{border:0;padding:0;background:#eef1ee;cursor:pointer;overflow:hidden}.mbg-stay-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}.mbg-stay-gallery button:hover img{transform:scale(1.025)}.mbg-stay-gallery-main{border-radius:15px 4px 4px 15px}.mbg-stay-gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px}.mbg-stay-gallery-grid button{border-radius:5px}.mbg-stay-gallery-grid button:nth-child(2){border-radius:5px 14px 5px 5px}.mbg-stay-gallery-grid button:nth-child(4){border-radius:5px 5px 14px 5px}.mbg-stay-all-photos{position:absolute;right:22px;bottom:22px!important;width:auto!important;height:auto!important;padding:9px 13px!important;border-radius:10px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 8px 22px rgba(0,0,0,.14);font-weight:800;font-size:.72rem;backdrop-filter:blur(10px)}
.mbg-stay-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,390px);gap:34px;align-items:start}.mbg-stay-content{min-width:0}.mbg-stay-summary,.mbg-stay-section{padding:26px 0;border-bottom:1px solid var(--mbg-line)}.mbg-stay-summary{padding-top:0}.mbg-stay-summary h2,.mbg-stay-section h2{font-family:var(--mbg-font);font-size:clamp(1.35rem,2vw,2rem);letter-spacing:-.035em;margin:6px 0 16px}.mbg-stay-summary h2{max-width:760px;line-height:1.35;font-weight:650}.mbg-stay-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mbg-stay-facts>div{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;padding:14px;border:1px solid var(--mbg-line);border-radius:13px;background:#fff}.mbg-stay-facts>div>span{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#edf6f0;color:var(--mbg-green);font-weight:900}.mbg-stay-facts small{color:var(--mbg-muted);font-size:.62rem}.mbg-stay-facts strong{font-size:.77rem;line-height:1.25}.mbg-stay-section .mbg-prose{max-width:800px;color:#465149}.mbg-stay-section .mbg-prose p{font-size:.9rem;line-height:1.85}.mbg-stay-amenities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mbg-stay-amenities>div{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:12px;background:#fff;border:1px solid var(--mbg-line);font-size:.78rem}.mbg-stay-amenities span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#eff7f2;color:var(--mbg-green);font-weight:800}.mbg-stay-policy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.mbg-stay-policy-grid>div{padding:13px;border-radius:12px;border:1px solid var(--mbg-line);background:#fff}.mbg-stay-policy-grid small,.mbg-stay-policy-grid strong{display:block}.mbg-stay-policy-grid small{color:var(--mbg-muted);font-size:.64rem;margin-bottom:4px}.mbg-stay-policy-grid strong{font-size:.76rem}.mbg-stay-policies>p{margin:12px 0 0;color:var(--mbg-muted);font-size:.79rem}.mbg-stay-map{overflow:hidden;border-radius:15px;border:1px solid var(--mbg-line);background:#fff}.mbg-stay-map iframe{display:block;width:100%;height:340px;border:0}
.mbg-stay-booking-card{position:sticky;top:112px;padding:20px;border-radius:18px;background:#fff;border:1px solid rgba(17,23,19,.12);box-shadow:0 18px 50px rgba(20,44,30,.12)}.mbg-stay-booking-card h2{font-family:var(--mbg-font);font-size:1.5rem;letter-spacing:-.035em;margin:6px 0 9px}.mbg-stay-booking-card>p{color:var(--mbg-muted);font-size:.78rem;line-height:1.65}.mbg-stay-price{display:flex;align-items:baseline;gap:6px;margin-bottom:14px}.mbg-stay-price span,.mbg-stay-price small{color:var(--mbg-muted);font-size:.69rem}.mbg-stay-price strong{font-family:var(--mbg-font);font-size:1.55rem;letter-spacing:-.04em}.mbg-stay-booking-form,.mbg-stay-enquiry-form{display:grid;gap:11px}.mbg-stay-booking-form label,.mbg-stay-enquiry-form label{display:grid;gap:5px;color:#3a443e;font-size:.68rem;font-weight:800}.mbg-stay-booking-form input,.mbg-stay-booking-form select,.mbg-stay-enquiry-form input,.mbg-stay-enquiry-form select,.mbg-stay-enquiry-form textarea{width:100%;border:1px solid var(--mbg-line);border-radius:10px;background:#fbfcfb;color:var(--mbg-ink);padding:10px 11px;outline:0;transition:border-color .15s,box-shadow .15s}.mbg-stay-booking-form input:focus,.mbg-stay-booking-form select:focus,.mbg-stay-enquiry-form input:focus,.mbg-stay-enquiry-form select:focus,.mbg-stay-enquiry-form textarea:focus{border-color:rgba(0,107,63,.42);box-shadow:0 0 0 3px rgba(0,107,63,.07)}.mbg-stay-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mbg-stay-cost{display:grid;gap:7px;padding:12px 0;border-top:1px solid var(--mbg-line);border-bottom:1px solid var(--mbg-line)}.mbg-stay-cost>div{display:flex;justify-content:space-between;gap:10px;font-size:.72rem}.mbg-stay-cost>div span{color:var(--mbg-muted)}.mbg-stay-cost .total{padding-top:7px;border-top:1px dashed var(--mbg-line);font-size:.82rem}.mbg-stay-booking-card .mbg-button{justify-content:center;min-height:46px;border-radius:10px;background:#111713;color:#fff}.mbg-stay-booking-card .mbg-button:hover{background:var(--mbg-green);transform:translateY(-1px)}.mbg-stay-protection,.mbg-stay-enquiry-form>small{color:var(--mbg-muted);font-size:.63rem;line-height:1.55}.mbg-stay-consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start!important;gap:8px!important;font-weight:500!important}.mbg-stay-consent input{width:16px!important;height:16px!important;margin-top:2px}.mbg-stay-notice{padding:10px 12px;margin-bottom:12px;border-radius:10px;background:#fff7e5;color:#7b5710;font-size:.72rem;font-weight:700}.mbg-stay-notice.is-unavailable{background:#fff4eb;color:#814118}.mbg-honeypot{position:absolute!important;left:-10000px!important}
/* public secure stay conversation */
.mbg-stay-chat-page{padding:46px 0 70px;background:#f3f7f4;min-height:70vh}.mbg-stay-chat-shell{max-width:980px}.mbg-stay-chat-back{display:inline-flex;margin-bottom:13px;color:var(--mbg-green);font-size:.78rem;font-weight:800}.mbg-stay-chat-card{overflow:hidden;border:1px solid var(--mbg-line);border-radius:22px;background:#fff;box-shadow:var(--mbg-shadow)}.mbg-stay-chat-card>header{display:flex;justify-content:space-between;gap:22px;padding:24px 26px;border-bottom:1px solid var(--mbg-line)}.mbg-stay-chat-card>header span{font-size:.64rem;letter-spacing:.12em;font-weight:900;color:var(--mbg-green)}.mbg-stay-chat-card>header h1{font-family:var(--mbg-font);font-size:1.65rem;margin:4px 0 5px}.mbg-stay-chat-card>header p{max-width:660px;margin:0;color:var(--mbg-muted);font-size:.76rem}.mbg-stay-chat-card>header>strong{height:max-content;padding:7px 11px;border-radius:999px;background:#eef8f2;color:var(--mbg-green);font-size:.68rem}.mbg-stay-chat-success{margin:16px 20px 0;padding:10px 12px;border-radius:10px;background:#eaf8ef;color:#155c38;font-size:.75rem;font-weight:700}.mbg-stay-chat-trip{display:flex;gap:8px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--mbg-line)}.mbg-stay-chat-trip span{display:grid;gap:1px;padding:8px 10px;border-radius:9px;background:#f6f8f6;color:var(--mbg-muted);font-size:.61rem}.mbg-stay-chat-trip b{color:var(--mbg-ink);font-size:.72rem}.mbg-stay-chat-thread{display:flex;flex-direction:column;gap:10px;min-height:300px;max-height:55vh;overflow:auto;padding:22px;background:#f8faf8}.mbg-stay-chat-thread article{max-width:72%;padding:10px 13px;border-radius:14px;background:#fff;border:1px solid var(--mbg-line)}.mbg-stay-chat-thread article.is-vendor{align-self:flex-start;background:#eaf5ee;border-color:#d1e8da}.mbg-stay-chat-thread article.is-customer{align-self:flex-end;background:var(--mbg-green);border-color:var(--mbg-green);color:#fff}.mbg-stay-chat-thread small{display:block;margin-bottom:3px;color:var(--mbg-muted);font-size:.58rem}.mbg-stay-chat-thread .is-customer small{color:rgba(255,255,255,.72)}.mbg-stay-chat-thread p{margin:0;font-size:.79rem;line-height:1.55}.mbg-stay-chat-reply{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;padding:18px 20px}.mbg-stay-chat-reply label{display:grid;gap:5px;font-size:.68rem;font-weight:800}.mbg-stay-chat-reply textarea{border:1px solid var(--mbg-line);border-radius:12px;padding:11px 12px;resize:vertical}.mbg-stay-chat-reply .mbg-button{min-height:46px}
@media(max-width:900px){.mbg-stay-layout{grid-template-columns:1fr}.mbg-stay-booking-card{position:static}.mbg-stay-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.mbg-stay-amenities{grid-template-columns:repeat(2,minmax(0,1fr))}.mbg-stay-policy-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.mbg-stay-page{padding-top:16px}.mbg-stay-shell{width:min(calc(100vw - 28px),1240px)}.mbg-stay-topline{display:grid;align-items:start}.mbg-stay-topline h1{font-size:2rem}.mbg-stay-top-actions{justify-content:flex-start}.mbg-stay-gallery{display:block;min-height:0;padding:0;border:0;border-radius:16px}.mbg-stay-gallery-main{display:block;width:100%;aspect-ratio:4/3;border-radius:16px}.mbg-stay-gallery-grid{display:flex;overflow-x:auto;gap:7px;margin-top:8px}.mbg-stay-gallery-grid button{flex:0 0 95px;aspect-ratio:4/3;border-radius:10px!important}.mbg-stay-all-photos{display:none}.mbg-stay-layout{gap:18px}.mbg-stay-summary,.mbg-stay-section{padding:20px 0}.mbg-stay-facts{grid-template-columns:1fr 1fr}.mbg-stay-amenities{grid-template-columns:1fr 1fr}.mbg-stay-policy-grid{grid-template-columns:1fr 1fr}.mbg-stay-booking-card{padding:17px;border-radius:15px}.mbg-stay-date-grid{grid-template-columns:1fr 1fr}.mbg-stay-chat-page{padding:24px 0 90px}.mbg-stay-chat-shell{width:min(calc(100vw - 28px),980px)}.mbg-stay-chat-card>header{display:grid;padding:19px}.mbg-stay-chat-thread{padding:15px}.mbg-stay-chat-thread article{max-width:88%}.mbg-stay-chat-reply{grid-template-columns:1fr;padding:15px}.mbg-stay-chat-reply .mbg-button{width:100%;justify-content:center}}
@media(max-width:390px){.mbg-stay-facts,.mbg-stay-amenities,.mbg-stay-policy-grid,.mbg-stay-date-grid{grid-template-columns:1fr}.mbg-stay-top-actions>span,.mbg-stay-top-actions .mbg-save{font-size:.68rem}}

/* ==========================================================================
   v1.4.0 — Unified booking results page (filters + grid)
   ========================================================================== */
@keyframes mbg-fade-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

.mbg-results-page { padding: 22px 0 70px; background: var(--mbg-mist); }
.mbg-results-topbar { padding-bottom: 20px; }
.mbg-results-searchbar { display: grid; grid-template-columns: .8fr 1.3fr 1fr .9fr auto; gap: 10px; padding: 10px; border: 1px solid var(--mbg-line); border-radius: 20px; background: #fff; box-shadow: var(--mbg-shadow); }
.mbg-results-searchbar input { width: 100%; min-height: 50px; padding: 0 16px; border: 1px solid var(--mbg-line); border-radius: 14px; background: var(--mbg-mist); font-size: .88rem; transition: border-color .2s var(--mbg-ease), box-shadow .2s var(--mbg-ease); }
.mbg-results-searchbar input:focus { outline: none; border-color: var(--mbg-green); box-shadow: 0 0 0 4px rgba(14,143,107,.12); background: #fff; }
.mbg-results-searchbar .mbg-button { min-height: 50px; }

.mbg-results-layout { display: grid; grid-template-columns: 270px minmax(260px, 360px) minmax(380px, 1fr); gap: 22px; align-items: start; }
.mbg-results-searchbar__type select, .mbg-results-searchbar__region select { min-height: 50px; border-radius: 14px; font-weight: 700; }

.mbg-category-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mbg-category-box { display: grid; justify-items: center; gap: 8px; padding: 16px 10px; border: 1.5px solid var(--mbg-line); border-radius: 16px; text-align: center; font-size: .78rem; font-weight: 700; color: var(--mbg-ink); transition: border-color .2s var(--mbg-ease), background .2s var(--mbg-ease), color .2s var(--mbg-ease), transform .15s var(--mbg-ease); }
.mbg-category-box span { font-size: 1.4rem; color: var(--mbg-muted); transition: color .2s var(--mbg-ease); }
.mbg-category-box:hover { border-color: var(--mbg-green); transform: translateY(-2px); }
.mbg-category-box.is-active { border-color: var(--mbg-green); background: rgba(14,143,107,.07); color: var(--mbg-green); }
.mbg-category-box.is-active span { color: var(--mbg-green); }

.mbg-results-map { position: sticky; top: 18px; display: grid; gap: 10px; }
.mbg-results-map__canvas { width: 100%; height: 640px; border-radius: var(--mbg-radius); overflow: hidden; border: 1px solid var(--mbg-line); box-shadow: var(--mbg-soft-shadow); background: var(--mbg-mist); }
.mbg-results-map__live { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid var(--mbg-line); border-radius: 14px; background: #fff; font-size: .78rem; font-weight: 650; cursor: pointer; box-shadow: 0 6px 18px rgba(18,22,28,.05); }
.mbg-results-map__live input { width: 17px; height: 17px; accent-color: var(--mbg-green); }
.mbg-map-pin { width: 30px; height: 30px; border: none; border-radius: 50% 50% 50% 4px; background: var(--mbg-black); color: #fff; transform: rotate(-45deg); cursor: pointer; box-shadow: 0 6px 14px rgba(18,22,28,.35); transition: transform .18s var(--mbg-ease), background .18s var(--mbg-ease); }
.mbg-map-pin::after { content: "⌂"; display: block; transform: rotate(45deg); font-size: .8rem; line-height: 30px; }
.mbg-map-pin:hover { background: var(--mbg-green); transform: rotate(-45deg) scale(1.12); }
.mbg-map-popup { display: grid; gap: 2px; padding: 4px 2px; min-width: 140px; }
.mbg-map-popup strong { font-size: .82rem; color: var(--mbg-ink); }
.mbg-map-popup span { font-size: .78rem; font-weight: 700; color: var(--mbg-green); }
.maplibregl-popup-content { border-radius: 14px !important; box-shadow: var(--mbg-shadow) !important; padding: 10px 12px !important; font-family: var(--mbg-font) !important; }
.mbg-results-filter-toggle { display: none; align-items: center; gap: 8px; width: 100%; min-height: 48px; margin-bottom: 14px; border: 1px solid var(--mbg-line); border-radius: 14px; background: #fff; font-weight: 700; font-size: .85rem; cursor: pointer; }

.mbg-results-filters { position: sticky; top: 18px; padding: 22px; border: 1px solid var(--mbg-line); border-radius: var(--mbg-radius); background: #fff; box-shadow: var(--mbg-soft-shadow); animation: mbg-fade-up .4s var(--mbg-ease) both; }
.mbg-results-filter-form { display: grid; gap: 24px; }
.mbg-filter-group h2 { margin: 0 0 12px; font-family: var(--mbg-font); font-size: .82rem; font-weight: 700; letter-spacing: -.005em; }

.mbg-filter-pills { display: grid; gap: 8px; }
.mbg-filter-pill { display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 0 14px; border: 1.5px solid var(--mbg-line); border-radius: 14px; font-size: .83rem; font-weight: 650; color: var(--mbg-ink); transition: border-color .2s var(--mbg-ease), color .2s var(--mbg-ease), background .2s var(--mbg-ease), transform .15s var(--mbg-ease); }
.mbg-filter-pill:hover { border-color: var(--mbg-green); transform: translateY(-1px); }
.mbg-filter-pill.is-active { border-color: var(--mbg-green); background: rgba(14,143,107,.08); color: var(--mbg-green); }
.mbg-filter-pill span { font-size: 1.05em; }

.mbg-price-slider { position: relative; height: 34px; }
.mbg-price-slider__track { position: absolute; top: 15px; left: 0; right: 0; height: 4px; border-radius: 4px; background: var(--mbg-line); }
.mbg-price-slider__fill { position: absolute; top: 15px; height: 4px; border-radius: 4px; background: var(--mbg-green); }
.mbg-price-slider input[type="range"] { position: absolute; top: 8px; left: 0; width: 100%; height: 18px; margin: 0; background: transparent; pointer-events: none; -webkit-appearance: none; appearance: none; }
.mbg-price-slider input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 3px solid var(--mbg-green); box-shadow: 0 3px 8px rgba(18,22,28,.22); cursor: grab; }
.mbg-price-slider input[type="range"]::-moz-range-thumb { pointer-events: auto; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 3px solid var(--mbg-green); box-shadow: 0 3px 8px rgba(18,22,28,.22); cursor: grab; }
.mbg-price-slider input[type="range"]::-moz-range-track { background: transparent; }
.mbg-price-slider__labels { display: flex; justify-content: space-between; margin-top: 8px; font-size: .78rem; font-weight: 700; color: var(--mbg-ink); }

.mbg-filter-stepper { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 5px; border: 1.5px solid var(--mbg-line); border-radius: 14px; }
.mbg-filter-stepper button { width: 34px; height: 34px; border: 1px solid var(--mbg-line); border-radius: 10px; background: var(--mbg-mist); font-size: 1.1rem; font-weight: 700; cursor: pointer; transition: background .2s var(--mbg-ease); }
.mbg-filter-stepper button:hover { background: #eef2f0; }
.mbg-filter-stepper input { width: 100%; border: 0; text-align: center; font-size: .88rem; font-weight: 700; background: transparent; }
.mbg-filter-stepper input:focus { outline: none; }

.mbg-select-wrap { position: relative; }
.mbg-select-wrap select { width: 100%; min-height: 46px; padding: 0 38px 0 14px; border: 1.5px solid var(--mbg-line); border-radius: 14px; background: #fff; font-size: .84rem; font-weight: 650; appearance: none; -webkit-appearance: none; cursor: pointer; transition: border-color .2s var(--mbg-ease); }
.mbg-select-wrap select:focus { outline: none; border-color: var(--mbg-green); }
.mbg-select-wrap::after { content: "⌄"; position: absolute; right: 14px; top: 50%; transform: translateY(-50%); pointer-events: none; color: var(--mbg-muted); font-size: .9rem; }

.mbg-filter-checks { display: grid; gap: 4px; }
.mbg-filter-check { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 4px 6px; border-radius: 10px; font-size: .82rem; font-weight: 600; cursor: pointer; transition: background .2s var(--mbg-ease); }
.mbg-filter-check:hover { background: var(--mbg-mist); }
.mbg-filter-check input { width: 17px; height: 17px; accent-color: var(--mbg-green); }

.mbg-results-clear { display: block; margin-top: 4px; text-align: center; font-size: .78rem; font-weight: 700; color: var(--mbg-muted); }
.mbg-results-clear:hover { color: var(--mbg-red); }

.mbg-results-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.mbg-results-head h1 { font-size: clamp(1.2rem, 2vw, 1.5rem); }
.mbg-results-sort { width: 210px; }

.mbg-results-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.mbg-results-grid .mbg-card { animation: mbg-fade-up .45s var(--mbg-ease) both; }
.mbg-results-grid .mbg-card:nth-child(2) { animation-delay: .04s; }
.mbg-results-grid .mbg-card:nth-child(3) { animation-delay: .08s; }
.mbg-results-grid .mbg-card:nth-child(4) { animation-delay: .12s; }
.mbg-results-grid .mbg-card:nth-child(n+5) { animation-delay: .16s; }

.mbg-results-pagination { display: flex; justify-content: center; gap: 6px; margin-top: 34px; }
.mbg-results-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px; border: 1px solid var(--mbg-line); border-radius: 12px; background: #fff; font-size: .84rem; font-weight: 700; transition: background .2s var(--mbg-ease), color .2s var(--mbg-ease), border-color .2s var(--mbg-ease); }
.mbg-results-pagination .page-numbers:hover { border-color: var(--mbg-green); color: var(--mbg-green); }
.mbg-results-pagination .page-numbers.current { border-color: var(--mbg-green); background: var(--mbg-green); color: #fff; }

.mbg-results-empty { display: grid; justify-items: center; gap: 10px; padding: 70px 20px; text-align: center; border: 1px dashed var(--mbg-line); border-radius: var(--mbg-radius); background: #fff; }
.mbg-results-empty span { font-size: 2rem; color: var(--mbg-muted); }
.mbg-results-empty p { max-width: 320px; color: var(--mbg-muted); }

@media (max-width: 980px) {
  .mbg-results-searchbar { grid-template-columns: 1fr; }
  .mbg-results-layout { grid-template-columns: 1fr; }
  .mbg-results-filter-toggle { display: flex; }
  .mbg-results-filters { position: fixed; inset: 0 12% 0 0; z-index: 200; transform: translateX(100%); transition: transform .3s var(--mbg-ease); overflow-y: auto; border-radius: 0; }
  .mbg-results-filters.is-open { transform: translateX(0); }
  .mbg-results-map { position: static; order: -1; }
  .mbg-results-map__canvas { height: 320px; }
  .mbg-results-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .mbg-results-filters { inset: 0; }
  .mbg-results-head { flex-direction: column; align-items: flex-start; }
  .mbg-results-sort { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .mbg-results-filters, .mbg-results-grid .mbg-card { animation: none !important; }
  .mbg-results-filters { transition: none !important; }
}
