.mbt{--ink:#3D2630;--accent:#C2185B;--brand:#E91E63;--blossom:#F48FB1;--blush:#FFE0EC;--bg:#FFF5F7;--surface:#FFFFFF;--border:#F1CEDA;--muted:#66565D;--rose:#B76E79;--teal:#267B73}
.mbt-hero{position:relative;overflow:hidden;background:var(--bg);border-radius:24px;padding:clamp(32px,5vw,72px)}
.mbt-hero__glow{position:absolute;inset:auto auto -30% -20%;width:60%;aspect-ratio:1;background:radial-gradient(circle,rgba(244,143,177,.45),rgba(255,224,236,0) 70%);pointer-events:none}
.mbt-hero__glow--2{inset:-25% -15% auto auto;background:radial-gradient(circle,rgba(232,213,245,.5),rgba(255,255,255,0) 70%)}
.mbt-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,48px);align-items:center}
@media(max-width:860px){.mbt-hero__grid{grid-template-columns:1fr}}
.mbt-h1{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:clamp(38px,5.6vw,64px);line-height:1.08;color:var(--ink);margin:0 0 16px;text-wrap:balance}
.mbt-lede{font-family:'Poppins',system-ui,sans-serif;font-size:clamp(16px,1.6vw,18px);line-height:1.65;color:var(--muted);max-width:60ch;margin:0 0 32px}
.mbt-actions{display:flex;flex-wrap:wrap;gap:12px}
.mbt-btn{display:inline-block;font-family:'Poppins',system-ui,sans-serif;font-weight:700;font-size:15px;text-decoration:none;padding:14px 26px;border-radius:9999px;background:var(--accent);color:#fff;border:2px solid var(--accent);transition:background .2s ease}
.mbt-btn:hover,.mbt-btn:focus-visible{background:var(--brand);border-color:var(--brand);color:#fff}
.mbt-btn--ghost{background:transparent;color:var(--accent)}
.mbt-btn--ghost:hover,.mbt-btn--ghost:focus-visible{background:var(--accent);color:#fff}
.mbt a:focus-visible,.mbt button:focus-visible,.mbt input:focus-visible,.mbt select:focus-visible,.mbt textarea:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.mbt-bloom{display:block;width:100%;max-width:360px;margin-inline:auto}
.mbt-eyebrow{font-family:'Poppins',system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}
.mbt-h2{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:clamp(28px,3.4vw,40px);line-height:1.12;color:var(--ink);margin:0 0 12px;text-wrap:balance}
.mbt-sub{font-family:'Poppins',system-ui,sans-serif;font-size:16px;line-height:1.65;color:var(--muted);max-width:62ch;margin:0 0 32px}
.mbt-rail{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;list-style:none;margin:0;padding:0}
@media(max-width:900px){.mbt-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;gap:14px}.mbt-rail li{flex:0 0 128px;scroll-snap-align:start}}
.mbt-rail a{display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;font-family:'Poppins',system-ui,sans-serif;font-size:14px;font-weight:600;color:var(--ink)}
.mbt-rail span.mbt-orb{display:block;width:100%;aspect-ratio:1;border-radius:9999px;border:1px solid var(--border)}
.mbt-rail a:hover span.mbt-orb,.mbt-rail a:focus-visible span.mbt-orb{border-color:var(--accent)}
.mbt-cards{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
@media(max-width:900px){.mbt-cards{grid-template-columns:1fr}}
.mbt-card{grid-column:span 4;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 10px rgba(194,24,91,.06)}
@media(max-width:900px){.mbt-card{grid-column:auto}}
.mbt-card--wide{grid-column:span 8}
.mbt-card--tall{grid-column:span 6}
.mbt-card__art{aspect-ratio:4/3;border-bottom:1px solid var(--border)}
.mbt-card--wide .mbt-card__art{aspect-ratio:16/7}
.mbt-card__body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.mbt-card__name{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:24px;line-height:1.12;color:var(--ink);margin:0}
.mbt-card__who{font-family:'Poppins',system-ui,sans-serif;font-size:13px;font-weight:600;color:var(--accent);margin:0}
.mbt-card__note{font-family:'Poppins',system-ui,sans-serif;font-size:14.5px;line-height:1.6;color:var(--muted);margin:0}
.mbt-card__stamp{font-family:'Poppins',system-ui,sans-serif;font-size:11.5px;color:var(--muted);margin:0;padding-top:4px;border-top:1px solid var(--border)}
.mbt-card__act{margin-top:auto;padding-top:14px}
.mbt-card__act a{font-family:'Poppins',system-ui,sans-serif;font-size:14px;font-weight:700;color:var(--accent);text-decoration:none;border-bottom:2px solid var(--blush);padding-bottom:2px}
.mbt-card__act a:hover,.mbt-card__act a:focus-visible{border-bottom-color:var(--accent)}
.mbt-panel{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:clamp(24px,4vw,48px)}
.mbt-chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0 0 28px;padding:0}
.mbt-chip{font-family:'Poppins',system-ui,sans-serif;font-size:13.5px;font-weight:600;padding:9px 16px;border-radius:9999px;border:1px solid var(--border);background:var(--bg);color:var(--ink);cursor:pointer}
.mbt-chip:hover,.mbt-chip:focus-visible{border-color:var(--accent);color:var(--accent)}
.mbt-state{font-family:'Poppins',system-ui,sans-serif;font-size:14px;line-height:1.6;border-radius:12px;padding:14px 16px;margin:0 0 16px}
.mbt-state--empty{background:var(--bg);color:var(--muted);border:1px dashed var(--border)}
.mbt-state--human{background:#fff;border:1px solid var(--border);color:var(--ink)}
.mbt-foot{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;margin:24px 0 0;padding:0;font-family:'Poppins',system-ui,sans-serif;font-size:13.5px}
.mbt-foot a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--blush)}
.mbt-note{font-family:'Poppins',system-ui,sans-serif;font-size:12.5px;line-height:1.6;color:var(--muted);margin:16px 0 0;max-width:78ch}
.mbt-sparkle{transform-origin:center}
@media(prefers-reduced-motion:no-preference){.mbt-sparkle{animation:mbt-tw 4.5s ease-in-out infinite}.mbt-sparkle:nth-of-type(2){animation-delay:1.4s}.mbt-sparkle:nth-of-type(3){animation-delay:2.8s}}
@keyframes mbt-tw{0%,100%{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}
.mbt .wpforms-container{max-width:640px}
.mbt .wpforms-field-label{font-family:'Poppins',system-ui,sans-serif!important;color:var(--ink)!important;font-weight:600!important}
.mbt .wpforms-field input[type=text],.mbt .wpforms-field input[type=email],.mbt .wpforms-field select,.mbt .wpforms-field textarea{border:1px solid var(--rose)!important;border-radius:8px!important;color:var(--ink)!important;background:#fff!important;font-family:'Poppins',system-ui,sans-serif!important}
.mbt .wpforms-submit{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;border-radius:9999px!important;font-family:'Poppins',system-ui,sans-serif!important;font-weight:700!important;padding:14px 28px!important}
.mbt .wpforms-submit:hover{background:var(--brand)!important;border-color:var(--brand)!important}
/* ---- Package card (concierge-led, no price fields) ---- */
.mbt-pkg{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 2px 14px rgba(194,24,91,.07);max-width:760px}
.mbt-pkg__art{aspect-ratio:16/7;position:relative}
.mbt-pkg__tag{position:absolute;left:16px;top:16px;background:rgba(255,255,255,.94);border:1px solid var(--border);border-radius:9999px;padding:6px 14px;font-family:'Poppins',system-ui,sans-serif;font-size:12px;font-weight:700;color:var(--accent)}
.mbt-pkg__body{padding:24px 26px 26px;display:flex;flex-direction:column;gap:14px}
.mbt-pkg__name{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:clamp(24px,3vw,32px);line-height:1.1;color:var(--ink);margin:0}
.mbt-pkg__facts{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.mbt-pkg__facts li{font-family:'Poppins',system-ui,sans-serif;font-size:12.5px;font-weight:600;color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:9999px;padding:6px 13px}
.mbt-pkg__shape{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.mbt-pkg__shape li{font-family:'Poppins',system-ui,sans-serif;font-size:14.5px;line-height:1.55;color:var(--ink);padding-left:34px;position:relative}
.mbt-pkg__shape li b{color:var(--accent);position:absolute;left:0;top:0;font-size:12.5px;letter-spacing:.04em}
.mbt-pkg__mods{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.mbt-pkg__mods{grid-template-columns:1fr}}
.mbt-pkg__mods h4{font-family:'Poppins',system-ui,sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.mbt-pkg__mods ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.mbt-pkg__mods li{font-family:'Poppins',system-ui,sans-serif;font-size:14px;line-height:1.5;color:var(--ink);padding-left:18px;position:relative}
.mbt-pkg__mods li::before{position:absolute;left:0;top:0;font-weight:700}
.mbt-pkg__mods .inc li::before{content:'+';color:var(--teal)}
.mbt-pkg__mods .exc li::before{content:'-';color:var(--rose)}
.mbt-pkg__disc{font-family:'Poppins',system-ui,sans-serif;font-size:12.5px;line-height:1.6;color:var(--muted);margin:0;padding-top:14px;border-top:1px solid var(--border)}
.mbt-pkg__stamp{font-family:'Poppins',system-ui,sans-serif;font-size:11.5px;color:var(--muted);margin:0}
.mbt-pkg__act{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding-top:4px}
/* ---- Travelpayouts table: mobile stacked label ----
   Plugin bug: the responsive td::before label hardcodes #1db1db instead of
   reading --table-header-bg, so desktop headers are on-brand and mobile ones
   are not. Matching the plugin's own selector specificity to correct it. */
.tp-widget-table-container.tp-widget-table-container.tp-widget-table-container.tp-widget-table-container tbody td:before,
.tp-widget-table-container.tp-widget-table--responsive.tp-widget-table-container.tp-widget-table--responsive tbody td:before{
  background:var(--table-header-bg,#C2185B)!important;
  color:var(--table-header-color,#FFFFFF)!important;
  font-family:'Poppins',system-ui,sans-serif!important;
}
.tp-widget-table-container .tp-widget-table-title{
  font-family:'Playfair Display',Georgia,serif!important;
  color:#3D2630!important;
}
/* Tables must scroll inside their own container, never the page */
.tp-widget-table-container{max-width:100%;overflow-x:auto}
/* ================= Blossom corrections ================= */
/* Body copy is ink per Blossom, not muted. Muted is for meta and stamps only. */
.mbt-lede,.mbt-sub,.mbt-card__note{color:var(--ink)}
.mbt-card__stamp,.mbt-note,.mbt-state--empty{color:var(--muted)}

/* Compact long-haul card */
.mbt-card--compact{grid-column:span 3}

/* ---- Mobile ----
   Blossom: every multi-column section needs an explicit collapse, and 16px
   mobile gutters. Card span classes must all reset or the implicit grid
   expands and cards collapse to a few pixels wide. */
@media(max-width:900px){
  .mbt-cards{grid-template-columns:1fr!important;gap:16px}
  .mbt-cards>.mbt-card,
  .mbt-cards>.mbt-card--wide,
  .mbt-cards>.mbt-card--tall,
  .mbt-cards>.mbt-card--compact{grid-column:1 / -1!important}
}
@media(max-width:782px){
  .wp-block-group.mbt{padding-left:16px;padding-right:16px}
  .wp-block-group.mbt.mbt-hero{padding-left:20px;padding-right:20px;border-radius:16px}
  .wp-block-group.mbt.mbt-panel{padding-left:18px;padding-right:18px;border-radius:16px}
  .mbt-h1{font-size:clamp(30px,8.6vw,38px)}
  .mbt-actions .mbt-btn{width:100%;text-align:center}
  .mbt-rail{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}
  .mbt-pkg__mods{grid-template-columns:1fr}
}
/* Tablet: two up rather than twelve columns */
@media(min-width:901px) and (max-width:1100px){
  .mbt-cards{grid-template-columns:repeat(6,1fr)}
  .mbt-card,.mbt-card--compact{grid-column:span 3}
  .mbt-card--wide,.mbt-card--tall{grid-column:span 6}
}