:root{
  --mmm-blue:#1558a3;
  --mmm-blue-dark:#0b3a53;
  --mmm-accent:#f2a000;
  --mmm-accent-hover:#ffb21a;
  --mmm-ink:#153e61;
  --mmm-muted:#566b7c;
  --mmm-panel:#fff;
  --mmm-border:rgba(11,58,83,.14);
  --mmm-shadow:0 24px 60px rgba(5,29,53,.24);
  --mmm-radius:16px;
}

#mmm-root{position:fixed;inset:0;z-index:1000010;pointer-events:none}
#mmm-root[aria-hidden="false"]{pointer-events:none}
.mmm-panel{position:fixed;top:var(--mmm-panel-top,120px);left:var(--mmm-panel-left,50%);width:min(1120px,calc(100vw - 48px));padding-top:8px;transform:translate(var(--mmm-panel-x,-50%),-8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .2s ease,visibility .16s ease;box-sizing:border-box}
.mmm-panel.is-open{opacity:1;visibility:visible;transform:translate(var(--mmm-panel-x,-50%),0);pointer-events:auto}
.mmm-panel-inner{overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - var(--mmm-panel-top,120px) - 16px);overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--mmm-border);border-radius:var(--mmm-radius);box-shadow:var(--mmm-shadow);background:var(--mmm-panel);color:var(--mmm-ink)}
.mmm-main{position:relative;box-sizing:border-box}
.mmm-width-compact{width:min(520px,calc(100vw - 48px))}.mmm-width-medium{width:min(760px,calc(100vw - 48px))}.mmm-width-wide{width:min(1120px,calc(100vw - 48px))}.mmm-width-extra-wide{width:min(1280px,calc(100vw - 36px))}.mmm-width-full{width:calc(100vw - 28px)}
.mmm-style-light .mmm-panel-inner{background:rgba(255,255,255,.99)}
.mmm-style-blue .mmm-panel-inner{background:linear-gradient(145deg,#1558a3,#0b3a53);color:#fff;border-color:rgba(255,255,255,.18)}
.mmm-style-glass .mmm-panel-inner{background:rgba(21,88,163,.90);color:#fff;border-color:rgba(255,255,255,.18);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}
.mmm-kicker{display:flex;align-items:center;gap:14px;padding:20px 22px 14px;font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--mmm-blue)}
.mmm-kicker:after{content:"";height:1px;flex:1;background:rgba(11,58,83,.14)}
.mmm-style-blue .mmm-kicker,.mmm-style-glass .mmm-kicker{color:#fff}.mmm-style-blue .mmm-kicker:after,.mmm-style-glass .mmm-kicker:after{background:rgba(255,255,255,.2)}
.mmm-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:6px 22px 22px}.mmm-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid rgba(11,58,83,.12);border-radius:11px;background:#fff;color:var(--mmm-ink)!important;text-decoration:none!important;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.mmm-card:not(.mmm-card-static):hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(5,29,53,.13);border-color:rgba(21,88,163,.28)}
.mmm-card-image{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,#4279a2,#0b3a53) center/cover no-repeat}.mmm-card-body{display:flex;flex:1;flex-direction:column;padding:13px}.mmm-card-eyebrow{display:block;margin-bottom:6px;color:#b06c00;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.mmm-card-title{display:block;font-size:18px;font-weight:900;line-height:1.12;color:#103f6b}.mmm-card-description{display:block;margin-top:6px;color:#516a7c;font-size:13px;line-height:1.42}.mmm-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:12px}.mmm-badge{display:inline-flex;padding:5px 7px;border-radius:5px;background:#edf4f8;color:#174d75;font-size:10px;font-weight:800;line-height:1}.mmm-badge-accent{background:#fff1c5;color:#765100}
.mmm-style-blue .mmm-card,.mmm-style-glass .mmm-card{background:rgba(255,255,255,.96)}
.mmm-card,.mmm-tile{position:relative}.mmm-featured-flag{position:absolute;top:10px;right:10px;z-index:3;display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;background:linear-gradient(180deg,#ffbe2f,#f2a000);color:#0b3a53;font-size:9px;font-weight:950;letter-spacing:.07em;text-transform:uppercase;box-shadow:0 4px 12px rgba(97,58,0,.18)}.mmm-card-featured{border:2px solid rgba(242,160,0,.72);box-shadow:0 10px 26px rgba(84,58,4,.12)}.mmm-card-featured:not(.mmm-card-static):hover{border-color:#f2a000;box-shadow:0 16px 34px rgba(84,58,4,.18)}.mmm-editorial-featured{margin:4px -10px;padding:10px!important;border:1px solid rgba(242,160,0,.3)!important;border-radius:8px;background:#fff8e5}.mmm-editorial-featured strong:before{content:"★ ";color:#f2a000}.mmm-tile-featured{grid-column:span 2;min-height:210px;outline:2px solid rgba(242,160,0,.72);outline-offset:-2px}
.mmm-split{display:grid;grid-template-columns:1fr 1.15fr;gap:20px;padding:8px 22px 22px}.mmm-split-links{display:flex;flex-direction:column;gap:8px}.mmm-link-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border-radius:9px;color:inherit!important;text-decoration:none!important;border:1px solid transparent}.mmm-link-row:not(.mmm-link-row-static):hover{background:rgba(21,88,163,.07);border-color:rgba(21,88,163,.12)}.mmm-link-row span{display:flex;flex-direction:column;gap:3px}.mmm-link-row strong{font-size:15px}.mmm-link-row small{font-size:12px;color:var(--mmm-muted)}.mmm-link-row b{font-size:24px}.mmm-split-feature .mmm-card{height:100%}.mmm-split-feature .mmm-card-image{aspect-ratio:16/8}
.mmm-editorial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:10px 24px 26px}.mmm-editorial-col h3{margin:0 0 10px;color:var(--mmm-blue);font-size:13px;letter-spacing:.08em;text-transform:uppercase}.mmm-editorial-col a,.mmm-editorial-col .mmm-editorial-link{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-bottom:1px solid rgba(11,58,83,.09);color:inherit!important;text-decoration:none!important}.mmm-editorial-col a:hover strong{color:var(--mmm-blue)}.mmm-editorial-col small{color:var(--mmm-muted);line-height:1.35}
.mmm-style-blue .mmm-editorial-col h3,.mmm-style-glass .mmm-editorial-col h3{color:#ffd77a}.mmm-style-blue .mmm-editorial-col small,.mmm-style-glass .mmm-editorial-col small,.mmm-style-blue .mmm-link-row small,.mmm-style-glass .mmm-link-row small{color:rgba(255,255,255,.75)}
.mmm-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:8px 22px 22px}.mmm-tile{position:relative;min-height:170px;overflow:hidden;border-radius:11px;background:linear-gradient(135deg,#356f99,#0b3a53) center/cover no-repeat;color:#fff!important;text-decoration:none!important}.mmm-tile-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,21,34,.04),rgba(3,21,34,.78))}.mmm-tile-copy{position:absolute;left:16px;right:16px;bottom:14px;display:flex;flex-direction:column}.mmm-tile-copy small{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#ffd77a}.mmm-tile-copy strong{font-size:20px;line-height:1.05;text-shadow:0 2px 6px rgba(0,0,0,.35)}
.mmm-simple{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;padding:10px 22px 22px}.mmm-simple-links{display:flex;flex-direction:column}.mmm-simple-links a,.mmm-simple-links .mmm-simple-link{display:flex;justify-content:space-between;padding:13px 4px;border-bottom:1px solid rgba(11,58,83,.1);color:inherit!important;text-decoration:none!important;font-weight:800}
.mmm-footer{display:flex;align-items:stretch;gap:16px;padding:14px 20px;background:#eef4f8;border-top:1px solid rgba(11,58,83,.1)}.mmm-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex:1}.mmm-trust-item{display:flex;align-items:center;gap:9px;padding:3px 12px;border-right:1px solid rgba(11,58,83,.12)}.mmm-trust-item:first-child{padding-left:0}.mmm-trust-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:#fff;color:var(--mmm-blue);font-weight:900}.mmm-trust-item strong,.mmm-trust-item small{display:block}.mmm-trust-item strong{font-size:10px;text-transform:uppercase;letter-spacing:.02em}.mmm-trust-item small{margin-top:2px;color:#627486;font-size:10px;line-height:1.2}.mmm-footer-cta{display:flex;align-items:center;justify-content:center;gap:10px;min-width:210px;padding:12px 16px;border-radius:7px;background:linear-gradient(180deg,#1558a3,#0b3a53);color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.mmm-footer-cta:hover{background:linear-gradient(180deg,#1c69bc,#0d4867)}
.mmm-style-blue .mmm-footer,.mmm-style-glass .mmm-footer{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}.mmm-style-blue .mmm-trust-item,.mmm-style-glass .mmm-trust-item{border-color:rgba(255,255,255,.15)}.mmm-style-blue .mmm-trust-item small,.mmm-style-glass .mmm-trust-item small{color:rgba(255,255,255,.7)}

@media(min-width:980px){
  .mmm-js-ready .mmm-has-mega.mmm-enhanced>.sub-menu{display:none!important}

  /* Keep the real Monumental logo above the detached mega-menu layer WITHOUT
     letting X Theme's oversized/transparent navbar box steal the mouse from
     the panel below it. The navbar shell is click-through while the menu is
     open; only the actual top-level nav items are made interactive again. */
  .mmm-menu-open .masthead .x-navbar{
    z-index:1000025!important;
    pointer-events:none!important;
  }

  .mmm-menu-open .masthead .x-navbar .desktop .x-nav > li,
  .mmm-menu-open .masthead .x-navbar .desktop .x-nav > li > a,
  .mmm-menu-open .masthead .x-navbar .desktop .x-nav > li > a > span{
    pointer-events:auto!important;
  }

  /* The logo is visual only while the mega menu is open. Let pointer movement
     pass through it to the menu rather than closing the panel when the logo
     overlaps the panel edge. */
  .mmm-menu-open .masthead .x-brand,
  .mmm-menu-open .masthead .x-brand img{
    pointer-events:none!important;
  }

  /* Smooth compact logo while a mega menu is open. Transform the existing
     logo instead of swapping in a clone. Its layout box never changes, so the
     menu stays still, and the transform has one stable start/end point. */
  .masthead.mmm-mega-logo-compact:not(.me-header-scrolled) .x-brand,
  .masthead.mmm-mega-logo-returning:not(.me-header-scrolled) .x-brand{
    transform-origin:top left!important;
    transition:transform .44s cubic-bezier(.22,1,.36,1)!important;
    will-change:transform;
  }

  .masthead.mmm-mega-logo-compact:not(.me-header-scrolled) .x-brand{
    transform:translate3d(var(--mmm-logo-tx,0px),var(--mmm-logo-ty,0px),0) scale(var(--mmm-logo-scale,1))!important;
  }

  .masthead.mmm-mega-logo-returning:not(.me-header-scrolled) .x-brand{
    transform:translate3d(0,0,0) scale(1)!important;
  }

  /* v0.1.9: the logo is compacted into the navbar itself. Mega-menu cards
     always use the full panel width; no internal brand/logo rail is reserved. */
  .mmm-panel.mmm-brand-overlap .mmm-main{padding-left:0!important;min-height:0!important}
  .mmm-panel.mmm-brand-overlap .mmm-main::before{display:none!important;content:none!important}

  /* Keep X Theme's anchor responsible for menu placement, then move the whole
     styled button upward slightly as one unit. The colored surface stays on the
     inner span so X Theme's tall line-height cannot split it from its label. */
  .mmm-nav-style-accent>a,
  .mmm-nav-style-primary>a{
    position:relative!important;
    top:-14px!important;
    background:transparent!important;
    background-image:none!important;
    border-radius:0!important;
    box-shadow:none!important;
    text-shadow:none!important;
    transform:none!important;
  }
  /* Keep the CTA at the same vertical offset in both normal and scrolled
     navbar states. The old -5px scrolled override made Book Now visibly
     drop about 9px when the sticky header activated. */
  .masthead.me-header-scrolled .mmm-nav-style-accent>a,
  .masthead.me-header-scrolled .mmm-nav-style-primary>a{
    top:-14px!important;
  }
  .mmm-nav-style-accent>a>span,
  .mmm-nav-style-primary>a>span{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    padding:0 24px!important;
    border-radius:7px!important;
    font-family:var(--me-font-heading,inherit)!important;
    font-size:20px!important;
    letter-spacing:.035em!important;
    line-height:1!important;
    white-space:nowrap!important;
    text-shadow:none!important;
    box-sizing:border-box!important;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
  }
  .mmm-nav-style-accent>a>span{
    color:#0b3a53!important;
    background:linear-gradient(180deg,var(--mmm-accent-hover),var(--mmm-accent))!important;
    box-shadow:0 5px 14px rgba(182,113,0,.22)!important;
  }
  .mmm-nav-style-accent>a:hover>span,
  .mmm-nav-style-accent>a:focus>span{
    color:#0b3a53!important;
    background:linear-gradient(180deg,#ffc139,#f2a000)!important;
    transform:translateY(-2px)!important;
    box-shadow:0 8px 18px rgba(182,113,0,.30)!important;
  }
  .mmm-nav-style-primary>a>span{
    color:#fff!important;
    background:linear-gradient(180deg,#1558a3,#0b3a53)!important;
    box-shadow:0 5px 14px rgba(5,44,72,.20)!important;
  }
  .mmm-nav-style-primary>a:hover>span,
  .mmm-nav-style-primary>a:focus>span{
    color:#fff!important;
    background:linear-gradient(180deg,#1c69bc,#0b3a53)!important;
    transform:translateY(-2px)!important;
    box-shadow:0 8px 18px rgba(5,44,72,.28)!important;
  }
}

.mmm-template-contact.mmm-style-blue .mmm-contact-middle-card>h3,.mmm-template-contact.mmm-style-glass .mmm-contact-middle-card>h3{color:#ffd77a}
.mmm-template-info.mmm-style-blue .mmm-info-nav-link>b,.mmm-template-info.mmm-style-glass .mmm-info-nav-link>b{color:#ffd77a}

@media(max-width:1180px){.mmm-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mmm-trust{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:10px}.mmm-trust-item:nth-child(2){border-right:0}.mmm-footer{align-items:center}.mmm-footer-cta{min-width:190px}}
@media(max-width:979px){#mmm-root{display:none!important}.mmm-js-ready .mmm-has-mega.mmm-enhanced>.sub-menu{display:initial!important}.mmm-nav-style-accent>a,.mmm-nav-style-primary>a{background:transparent!important;box-shadow:none!important}.mmm-nav-style-accent>a>span,.mmm-nav-style-primary>a>span{display:initial!important;min-height:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;color:inherit!important;transform:none!important}}
@media(max-width:760px){.mmm-editorial{grid-template-columns:1fr}.mmm-tiles{grid-template-columns:1fr}.mmm-tile-featured{grid-column:span 1}.mmm-simple,.mmm-split{grid-template-columns:1fr}}

.mmm-card-static,.mmm-link-row-static,.mmm-link-static,.mmm-tile-static{cursor:default}.mmm-card-static:hover{transform:none;box-shadow:0 2px 8px rgba(0,0,0,.04);border-color:rgba(11,58,83,.12)}
@media(max-width:979px){.mmm-has-mega.mmm-mobile-disabled>.sub-menu{display:none!important}}
@media(prefers-reduced-motion:reduce){.mmm-panel,.mmm-card,.mmm-nav-style-accent>a>span,.mmm-nav-style-primary>a>span{transition:none!important}.mmm-card:hover,.mmm-nav-style-accent>a:hover>span,.mmm-nav-style-primary>a:hover>span{transform:none!important}}

/* =========================================================
   0.3 PURPOSE-BUILT CONTENT TEMPLATES
   Trips keeps the existing card-grid treatment above.
   ========================================================= */
.mmm-campground-layout,.mmm-info-layout,.mmm-contact-layout{padding:8px 22px 22px;display:grid;gap:22px}.mmm-campground-layout{grid-template-columns:minmax(0,1.55fr) minmax(285px,.75fr)}.mmm-info-layout{grid-template-columns:minmax(0,1.65fr) minmax(280px,.72fr)}.mmm-contact-layout{grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr)}
.mmm-campground-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}.mmm-purpose-link{display:flex;align-items:center;gap:12px;min-width:0;padding:13px 14px;border:1px solid rgba(11,58,83,.1);border-radius:10px;background:#fff;color:var(--mmm-ink)!important;text-decoration:none!important;transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease,background .17s ease}.mmm-purpose-link:not(.is-static):hover{transform:translateY(-2px);border-color:rgba(21,88,163,.27);box-shadow:0 9px 20px rgba(5,29,53,.09);background:#fbfdff}.mmm-purpose-link-image{display:block;width:70px;height:58px;flex:0 0 70px;border-radius:7px;background:linear-gradient(135deg,#417ca7,#0b3a53) center/cover no-repeat}.mmm-purpose-link-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.mmm-purpose-link-copy small,.mmm-purpose-eyebrow{color:#b06c00;font-size:9px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.mmm-purpose-link-copy strong{color:#103f6b;font-size:14px;line-height:1.15}.mmm-purpose-link-copy>span{color:#607386;font-size:11px;line-height:1.35}.mmm-purpose-link>b{flex:0 0 auto;color:#1558a3;font-size:22px;line-height:1}.mmm-purpose-link.is-static{cursor:default}
.mmm-purpose-promos{display:flex;flex-direction:column;gap:12px;min-width:0}.mmm-purpose-promo{overflow:hidden;border:1px solid rgba(11,58,83,.12);border-radius:12px;background:#fff;box-shadow:0 7px 20px rgba(5,29,53,.08)}.mmm-purpose-promo-image{height:150px;background:linear-gradient(135deg,#3977b7,#0b3a53) center/cover no-repeat}.mmm-purpose-promo--primary .mmm-purpose-promo-image{height:180px}.mmm-purpose-promo--secondary .mmm-purpose-promo-image{height:95px}.mmm-purpose-promo-body{display:flex;flex-direction:column;align-items:flex-start;padding:15px}.mmm-purpose-promo-title{margin-top:4px;color:#103f6b;font-size:19px;line-height:1.12}.mmm-purpose-promo--secondary .mmm-purpose-promo-title{font-size:16px}.mmm-purpose-promo-text{margin-top:7px;color:#607386;font-size:12px;line-height:1.45}.mmm-purpose-promo-cta{display:inline-flex;align-items:center;gap:8px;margin-top:13px;padding:9px 12px;border-radius:7px;background:linear-gradient(180deg,#1558a3,#0b3a53);color:#fff!important;text-decoration:none!important;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.mmm-purpose-promo-cta:hover{background:linear-gradient(180deg,#1c69bc,#0b3a53)}
.mmm-info-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-content:start}.mmm-info-column h3{margin:0 0 7px;padding-bottom:8px;border-bottom:2px solid rgba(21,88,163,.15);color:#1558a3;font-size:11px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.mmm-info-column .mmm-purpose-link{padding:10px 3px;border:0;border-bottom:1px solid rgba(11,58,83,.09);border-radius:0;box-shadow:none;background:transparent}.mmm-info-column .mmm-purpose-link:not(.is-static):hover{transform:none;box-shadow:none;background:transparent;border-bottom-color:rgba(21,88,163,.28)}.mmm-info-column .mmm-purpose-link-copy strong{font-size:13px}.mmm-info-column .mmm-purpose-link-copy>span{font-size:10.5px}
.mmm-contact-content{min-width:0}.mmm-contact-intro{margin:0 0 14px;color:#405d73;font-size:14px;line-height:1.5}.mmm-contact-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mmm-contact-method{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid rgba(11,58,83,.1);border-radius:10px;background:#f8fbfd;color:var(--mmm-ink)!important;text-decoration:none!important}.mmm-contact-method:not(.is-static):hover{border-color:rgba(21,88,163,.25);background:#fff}.mmm-contact-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#fff;color:#1558a3;font-weight:900;box-shadow:0 2px 8px rgba(5,29,53,.08)}.mmm-contact-method>span:last-child{display:flex;min-width:0;flex-direction:column;gap:3px}.mmm-contact-method small{color:#7a8995;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.mmm-contact-method strong{color:#103f6b;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.mmm-contact-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.mmm-contact-quick-links .mmm-purpose-link{padding:10px 12px}.mmm-contact-quick-links .mmm-purpose-link-copy strong{font-size:12px}.mmm-contact-quick-links .mmm-purpose-link-copy>span{display:none}.mmm-contact-promo .mmm-purpose-promo{height:100%}.mmm-contact-promo .mmm-purpose-promo-image{height:190px}
/* Dark panel variants keep the purpose templates readable without changing their structure. */
.mmm-style-blue .mmm-purpose-link,.mmm-style-glass .mmm-purpose-link,.mmm-style-blue .mmm-purpose-promo,.mmm-style-glass .mmm-purpose-promo,.mmm-style-blue .mmm-contact-method,.mmm-style-glass .mmm-contact-method{background:rgba(255,255,255,.96)}.mmm-style-blue .mmm-info-column h3,.mmm-style-glass .mmm-info-column h3{color:#ffd77a;border-bottom-color:rgba(255,255,255,.2)}.mmm-style-blue .mmm-info-column .mmm-purpose-link,.mmm-style-glass .mmm-info-column .mmm-purpose-link{background:transparent;border-bottom-color:rgba(255,255,255,.15)}.mmm-style-blue .mmm-info-column .mmm-purpose-link-copy strong,.mmm-style-glass .mmm-info-column .mmm-purpose-link-copy strong{color:#fff}.mmm-style-blue .mmm-info-column .mmm-purpose-link-copy>span,.mmm-style-glass .mmm-info-column .mmm-purpose-link-copy>span{color:rgba(255,255,255,.72)}.mmm-style-blue .mmm-contact-intro,.mmm-style-glass .mmm-contact-intro{color:rgba(255,255,255,.84)}
@media(max-width:1120px){.mmm-campground-layout,.mmm-info-layout,.mmm-contact-layout{grid-template-columns:1fr}.mmm-purpose-promos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mmm-contact-promo{display:block}.mmm-info-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.mmm-campground-links,.mmm-info-columns,.mmm-contact-methods,.mmm-contact-quick-links,.mmm-purpose-promos{grid-template-columns:1fr}.mmm-campground-layout,.mmm-info-layout,.mmm-contact-layout{padding-left:14px;padding-right:14px}}
.mmm-purpose-no-promos{grid-template-columns:1fr!important}

/* =========================================================
   0.4 MOCKUP-DRIVEN PURPOSE TEMPLATES
   Campground, Info and Contact now mirror the approved
   visual concepts while Trips remains unchanged.
   ========================================================= */
.mmm-template-campground .mmm-main,
.mmm-template-info .mmm-main,
.mmm-template-contact .mmm-main{background:#fff}
.mmm-template-campground .mmm-kicker,
.mmm-template-info .mmm-kicker,
.mmm-template-contact .mmm-kicker{padding:18px 24px 8px}
.mmm-purpose-eyebrow{display:block;color:#c77a00;font-size:10px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}

.mmm-feature-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.mmm-feature-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:0 16px;border-radius:7px;background:#1558a3;color:#fff!important;text-decoration:none!important;font-size:11px;font-weight:950;letter-spacing:.02em;line-height:1;text-transform:uppercase;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.mmm-feature-button:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(5,29,53,.16)}
.mmm-feature-button--gold{background:linear-gradient(180deg,#ffbd30,#f2a000);color:#0b3a53!important;box-shadow:0 5px 14px rgba(178,106,0,.18)}
.mmm-feature-button--secondary{background:transparent;color:inherit!important;border:1px solid currentColor;box-shadow:none}.mmm-feature-button--static,.mmm-banner-cta--static{cursor:default}.mmm-feature-button--static:hover{transform:none;box-shadow:none}
.mmm-banner-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:0 15px;border-radius:7px;background:linear-gradient(180deg,#ffbd30,#f2a000);color:#0b3a53!important;text-decoration:none!important;font-size:10px;font-weight:950;line-height:1;text-transform:uppercase;white-space:nowrap}

/* Campground */
.mmm-campground-showcase{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.15fr);gap:22px;padding:14px 24px 24px}
.mmm-campground-feature-card{position:relative;min-height:490px;overflow:hidden;border-radius:14px;background:#0b3a53;box-shadow:0 10px 28px rgba(5,29,53,.14)}
.mmm-campground-feature-image{position:absolute;inset:0;background:linear-gradient(135deg,#3977b7,#0b3a53) center 35%/cover no-repeat}
.mmm-campground-feature-card:after{content:"";position:absolute;inset:57% 0 0;background:linear-gradient(180deg,rgba(5,31,52,0) 0%,rgba(5,41,72,.70) 42%,rgba(6,51,91,.96) 100%);pointer-events:none}
.mmm-campground-feature-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:30px 28px 26px;color:#fff}
.mmm-campground-feature-copy .mmm-purpose-eyebrow{color:#ffbd30}
.mmm-campground-feature-copy h2{margin:7px 0 10px;color:#fff;font-size:clamp(30px,3.2vw,46px);line-height:.98;font-weight:950;letter-spacing:-.02em}
.mmm-campground-feature-copy p{max-width:520px;margin:0;color:rgba(255,255,255,.9);font-size:14px;line-height:1.52}
.mmm-campground-feature-copy .mmm-feature-button--secondary{color:#ffbd30!important;border-color:#ffbd30}
.mmm-campground-nav-area{display:flex;min-width:0;flex-direction:column;gap:16px}
.mmm-campground-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;flex:1}
.mmm-purpose-link.mmm-campground-nav-card{min-height:116px;padding:17px 16px;border:1px solid rgba(11,58,83,.11);border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(5,29,53,.045)}
.mmm-purpose-link.mmm-campground-nav-card:hover{transform:translateY(-2px);background:#fff;border-color:rgba(21,88,163,.25);box-shadow:0 10px 22px rgba(5,29,53,.085)}
.mmm-purpose-link-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:50%;background:#f0f5f9;color:#0e528f;font-size:21px;font-weight:950;line-height:1}
.mmm-purpose-link-icon--image{background-color:#eaf1f6;background-position:center;background-size:contain;background-repeat:no-repeat;color:transparent}
.mmm-campground-nav-card .mmm-purpose-link-copy{gap:5px}.mmm-campground-nav-card .mmm-purpose-link-copy strong{font-size:14px;line-height:1.1}.mmm-campground-nav-card .mmm-purpose-link-copy>span{font-size:11px;line-height:1.38}.mmm-campground-nav-card>b{font-size:24px}
.mmm-campground-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:88px;padding:14px 16px;border:1px solid rgba(194,116,0,.17);border-radius:12px;background:linear-gradient(135deg,#fff8ed,#fbf1e4)}
.mmm-campground-banner-image,.mmm-campground-banner-symbol{display:block;width:76px;height:58px;flex:0 0 76px;border-radius:9px;background:#fff center/cover no-repeat}
.mmm-campground-banner-symbol{display:grid;place-items:center;color:#1558a3;font-size:28px;font-weight:950}
.mmm-campground-banner-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.mmm-campground-banner-copy small{color:#c66f00;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.mmm-campground-banner-copy strong{color:#103f6b;font-size:16px;line-height:1.12}.mmm-campground-banner-copy>span{color:#667989;font-size:11px;line-height:1.35}

/* Info */
.mmm-info-showcase{display:grid;grid-template-columns:282px minmax(0,1fr);gap:22px;padding:14px 24px 24px}
.mmm-info-showcase .mmm-info-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-left:1px solid rgba(11,58,83,.08);padding-left:22px}
.mmm-info-showcase .mmm-info-column{min-width:0;padding:2px 22px 0 0;margin-right:22px;border-right:1px solid rgba(11,58,83,.09)}
.mmm-info-showcase .mmm-info-column:last-child{border-right:0}
.mmm-info-showcase .mmm-info-column h3{margin:0 0 14px;padding:0;border:0;color:#123f6a;font-size:11px;font-weight:950;letter-spacing:.10em;text-transform:uppercase}
.mmm-purpose-link.mmm-info-nav-link{align-items:flex-start;min-height:76px;padding:10px 0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important}
.mmm-purpose-link.mmm-info-nav-link:hover{transform:none!important;background:transparent!important;box-shadow:none!important}
.mmm-info-nav-link .mmm-purpose-link-icon{width:42px;height:42px;flex-basis:42px;font-size:18px}
.mmm-info-nav-link .mmm-purpose-link-copy{gap:4px}.mmm-info-nav-link .mmm-purpose-link-copy strong{font-size:13px}.mmm-info-nav-link .mmm-purpose-link-copy>span{font-size:10.5px;line-height:1.4}.mmm-info-nav-link>b{margin-top:7px;color:#1558a3}
.mmm-info-feature-rail{display:flex;min-width:0;flex-direction:column;gap:14px}
.mmm-info-feature-card{overflow:hidden;border:1px solid rgba(11,58,83,.12);border-radius:12px;background:#fff;box-shadow:0 7px 20px rgba(5,29,53,.08)}
.mmm-info-feature-image{height:170px;background:#e9f1f6 center/cover no-repeat}
.mmm-info-feature-copy{padding:16px}.mmm-info-feature-copy h3{margin:5px 0 8px;color:#103f6b;font-size:20px;line-height:1.08}.mmm-info-feature-copy p{margin:0;color:#617586;font-size:11.5px;line-height:1.48}.mmm-info-feature-copy .mmm-feature-actions{margin-top:12px}
.mmm-info-callout{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid rgba(194,116,0,.12);border-radius:12px;background:linear-gradient(135deg,#fff9f0,#f9f0e5)}
.mmm-info-callout-image,.mmm-info-callout-symbol{display:block;width:52px;height:52px;flex:0 0 52px;border-radius:10px;background:#fff center/cover no-repeat}.mmm-info-callout-symbol{display:grid;place-items:center;color:#1558a3;font-size:24px;font-weight:950}
.mmm-info-callout-copy{display:flex;min-width:0;flex-direction:column;gap:4px}.mmm-info-callout-copy small{color:#c36f00;font-size:9px;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.mmm-info-callout-copy strong{color:#103f6b;font-size:14px;line-height:1.12}.mmm-info-callout-copy>span{color:#647687;font-size:10.5px;line-height:1.4}.mmm-info-callout-copy>a{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;padding:9px 11px;border:1px solid rgba(11,58,83,.15);border-radius:7px;background:#fff;color:#103f6b!important;text-decoration:none!important;font-size:9px;font-weight:950;text-transform:uppercase}

/* Contact */
.mmm-contact-showcase{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(270px,.78fr) minmax(300px,.82fr);gap:20px;padding:14px 24px 18px}
.mmm-contact-primary-card{padding:26px 24px;border-radius:13px;background:linear-gradient(145deg,#0f4f86,#06325b);color:#fff;box-shadow:0 8px 24px rgba(4,33,58,.16)}
.mmm-contact-primary-card .mmm-purpose-eyebrow{color:#ffbd30}.mmm-contact-primary-card h2{margin:6px 0 10px;color:#fff;font-size:34px;line-height:.98;font-weight:950}.mmm-contact-primary-card .mmm-contact-intro{margin:0 0 16px;color:rgba(255,255,255,.88);font-size:12px;line-height:1.48}
.mmm-contact-detail-list{display:flex;flex-direction:column}.mmm-contact-detail-list>a,.mmm-contact-detail-list>div{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.19);color:#fff!important;text-decoration:none!important}.mmm-contact-detail-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border:1px solid rgba(255,255,255,.45);border-radius:50%;font-size:14px}.mmm-contact-detail-list a>span:last-child,.mmm-contact-detail-list div>span:last-child{display:flex;min-width:0;flex-direction:column;gap:2px}.mmm-contact-detail-list small{color:rgba(255,255,255,.72);font-size:8.5px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.mmm-contact-detail-list strong{color:#fff;font-size:11px;line-height:1.38;font-weight:800;overflow-wrap:anywhere}
.mmm-contact-action-row{display:flex;flex-wrap:nowrap;gap:8px;margin-top:18px;width:100%}.mmm-contact-action{display:inline-flex;align-items:center;justify-content:center;flex:1 1 0;min-width:0;min-height:36px;padding:0 8px;border:1px solid rgba(255,189,48,.8);border-radius:7px;color:#fff!important;text-decoration:none!important;font-size:8.5px;font-weight:950;line-height:1;white-space:nowrap;text-transform:uppercase}.mmm-contact-action--gold{background:linear-gradient(180deg,#ffbd30,#f2a000);border-color:#f2a000;color:#0b3a53!important}
.mmm-contact-middle-card{min-width:0}.mmm-contact-middle-card>h3{margin:7px 0 10px;color:#103f6b;font-size:12px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.mmm-contact-middle-card .mmm-contact-quick-links{display:flex;flex-direction:column;gap:7px;margin:0}.mmm-purpose-link.mmm-contact-quick-link{min-height:50px;padding:8px 10px;border-radius:9px;background:#fff;box-shadow:none}.mmm-contact-quick-link .mmm-purpose-link-icon{width:32px;height:32px;flex-basis:32px;font-size:14px}.mmm-contact-quick-link .mmm-purpose-link-copy{gap:2px}.mmm-contact-quick-link .mmm-purpose-link-copy strong{font-size:11px}.mmm-contact-quick-link .mmm-purpose-link-copy>span{display:block;font-size:9px}.mmm-contact-quick-link>b{font-size:20px}
.mmm-contact-help-card{display:flex;align-items:flex-start;gap:12px;margin-top:14px;padding:16px;border:1px solid rgba(194,116,0,.15);border-radius:12px;background:linear-gradient(135deg,#fff8ee,#f8ede0)}.mmm-contact-help-symbol{display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;border-radius:10px;background:#fff;color:#1558a3;font-size:24px;font-weight:950}.mmm-contact-help-copy{display:flex;min-width:0;flex-direction:column;gap:4px}.mmm-contact-help-copy small{color:#c36f00;font-size:9px;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.mmm-contact-help-copy strong{color:#103f6b;font-size:14px;line-height:1.15}.mmm-contact-help-copy>span{color:#657787;font-size:10px;line-height:1.4}.mmm-contact-help-copy>a{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;padding:9px 10px;border:1px solid rgba(11,58,83,.16);border-radius:7px;background:#fff;color:#103f6b!important;text-decoration:none!important;font-size:9px;font-weight:950;text-transform:uppercase}
.mmm-contact-feature-card{overflow:hidden;border-radius:13px;background:#06335b;color:#fff;box-shadow:0 8px 24px rgba(4,33,58,.16)}.mmm-contact-feature-image{height:220px;background:#3977b7 center/cover no-repeat}.mmm-contact-feature-copy{padding:18px}.mmm-contact-feature-copy .mmm-purpose-eyebrow{color:#ffbd30}.mmm-contact-feature-copy h3{margin:5px 0 8px;color:#fff;font-size:22px;line-height:1.05}.mmm-contact-feature-copy p{margin:0;color:rgba(255,255,255,.88);font-size:11px;line-height:1.48}.mmm-contact-feature-copy .mmm-feature-button--secondary{color:#ffbd30!important;border-color:#ffbd30}
.mmm-contact-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:15px;margin:0 24px 22px;padding:12px 14px;border:1px solid rgba(194,116,0,.15);border-radius:12px;background:linear-gradient(135deg,#fff7ea,#f7ecdd)}.mmm-contact-banner-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:#fff;color:#1558a3;font-size:22px;font-weight:950}.mmm-contact-banner-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.mmm-contact-banner-copy small{color:#c36f00;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.mmm-contact-banner-copy strong{color:#103f6b;font-size:16px;line-height:1.1}.mmm-contact-banner-copy>span{color:#667989;font-size:10.5px;line-height:1.3}.mmm-contact-banner-image{display:block;width:130px;height:58px;border-radius:8px;background:#eaf1f6 center/cover no-repeat}

/* Purpose-template value strip */
.mmm-template-campground .mmm-footer,.mmm-template-info .mmm-footer,.mmm-template-contact .mmm-footer{padding:13px 20px;background:#f0f5f8}.mmm-template-campground .mmm-trust-item,.mmm-template-info .mmm-trust-item,.mmm-template-contact .mmm-trust-item{padding-top:4px;padding-bottom:4px}

/* Purpose-template panel skins. Light keeps the editorial white surface.
   Blue Adventure and Blue Glass now visibly affect the full panel instead of
   being forced back to white. Content cards remain readable white surfaces. */
.mmm-template-campground.mmm-style-blue .mmm-main,.mmm-template-info.mmm-style-blue .mmm-main,.mmm-template-contact.mmm-style-blue .mmm-main,
.mmm-template-campground.mmm-style-glass .mmm-main,.mmm-template-info.mmm-style-glass .mmm-main,.mmm-template-contact.mmm-style-glass .mmm-main{background:transparent}
.mmm-template-campground.mmm-style-blue .mmm-kicker,.mmm-template-info.mmm-style-blue .mmm-kicker,.mmm-template-contact.mmm-style-blue .mmm-kicker,
.mmm-template-campground.mmm-style-glass .mmm-kicker,.mmm-template-info.mmm-style-glass .mmm-kicker,.mmm-template-contact.mmm-style-glass .mmm-kicker{color:#fff}
.mmm-template-campground.mmm-style-blue .mmm-kicker:after,.mmm-template-info.mmm-style-blue .mmm-kicker:after,.mmm-template-contact.mmm-style-blue .mmm-kicker:after,
.mmm-template-campground.mmm-style-glass .mmm-kicker:after,.mmm-template-info.mmm-style-glass .mmm-kicker:after,.mmm-template-contact.mmm-style-glass .mmm-kicker:after{background:rgba(255,255,255,.22)}
.mmm-template-campground.mmm-style-blue .mmm-footer,.mmm-template-info.mmm-style-blue .mmm-footer,.mmm-template-contact.mmm-style-blue .mmm-footer,
.mmm-template-campground.mmm-style-glass .mmm-footer,.mmm-template-info.mmm-style-glass .mmm-footer,.mmm-template-contact.mmm-style-glass .mmm-footer{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.16)}
.mmm-template-campground.mmm-style-blue .mmm-trust-item,.mmm-template-info.mmm-style-blue .mmm-trust-item,.mmm-template-contact.mmm-style-blue .mmm-trust-item,
.mmm-template-campground.mmm-style-glass .mmm-trust-item,.mmm-template-info.mmm-style-glass .mmm-trust-item,.mmm-template-contact.mmm-style-glass .mmm-trust-item{border-color:rgba(255,255,255,.16);color:#fff}
.mmm-template-campground.mmm-style-blue .mmm-trust-item small,.mmm-template-info.mmm-style-blue .mmm-trust-item small,.mmm-template-contact.mmm-style-blue .mmm-trust-item small,
.mmm-template-campground.mmm-style-glass .mmm-trust-item small,.mmm-template-info.mmm-style-glass .mmm-trust-item small,.mmm-template-contact.mmm-style-glass .mmm-trust-item small{color:rgba(255,255,255,.72)}
.mmm-template-info.mmm-style-blue .mmm-info-showcase .mmm-info-column h3,.mmm-template-info.mmm-style-glass .mmm-info-showcase .mmm-info-column h3{color:#ffd77a}
.mmm-template-info.mmm-style-blue .mmm-info-nav-link .mmm-purpose-link-copy strong,.mmm-template-info.mmm-style-glass .mmm-info-nav-link .mmm-purpose-link-copy strong{color:#fff}
.mmm-template-info.mmm-style-blue .mmm-info-nav-link .mmm-purpose-link-copy>span,.mmm-template-info.mmm-style-glass .mmm-info-nav-link .mmm-purpose-link-copy>span{color:rgba(255,255,255,.74)}
.mmm-template-info.mmm-style-blue .mmm-info-showcase .mmm-info-column,.mmm-template-info.mmm-style-glass .mmm-info-showcase .mmm-info-column,.mmm-template-info.mmm-style-blue .mmm-info-showcase .mmm-info-columns,.mmm-template-info.mmm-style-glass .mmm-info-showcase .mmm-info-columns{border-color:rgba(255,255,255,.16)}

.mmm-template-contact.mmm-style-blue .mmm-contact-middle-card>h3,.mmm-template-contact.mmm-style-glass .mmm-contact-middle-card>h3{color:#ffd77a}
.mmm-template-info.mmm-style-blue .mmm-info-nav-link>b,.mmm-template-info.mmm-style-glass .mmm-info-nav-link>b{color:#ffd77a}

@media(max-width:1180px){
  .mmm-campground-showcase{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:16px;padding-left:18px;padding-right:18px}
  .mmm-info-showcase{grid-template-columns:250px minmax(0,1fr);gap:16px;padding-left:18px;padding-right:18px}
  .mmm-info-showcase .mmm-info-column{padding-right:14px;margin-right:14px}
  .mmm-contact-showcase{grid-template-columns:minmax(280px,.85fr) minmax(240px,.75fr) minmax(260px,.8fr);gap:14px;padding-left:18px;padding-right:18px}
}
@media(max-width:1020px){
  .mmm-campground-showcase,.mmm-info-showcase,.mmm-contact-showcase{grid-template-columns:1fr}
  .mmm-campground-feature-card{min-height:420px}
  .mmm-info-showcase .mmm-info-columns{border-left:0;padding-left:0}
  .mmm-info-feature-rail{display:grid;grid-template-columns:1fr 1fr}
  .mmm-contact-feature-card{display:grid;grid-template-columns:1fr 1fr}.mmm-contact-feature-image{height:auto;min-height:220px}
}

/* =========================================================
   0.4.3 interaction + Info builder/frontend refinements
   ========================================================= */

/* Let custom Info menus define 1-4 real columns instead of making every new
   item behave like another column. */
.mmm-info-showcase .mmm-info-columns{
  grid-template-columns:repeat(var(--mmm-info-column-count,3),minmax(0,1fr));
}

/* Info links should feel clickable, not like static text. */
.mmm-purpose-link.mmm-info-nav-link:not(.is-static){
  cursor:pointer;
  margin:0 -8px;
  padding-left:8px!important;
  padding-right:8px!important;
  border-radius:9px!important;
  transition:background .16s ease,transform .16s ease,color .16s ease!important;
}
.mmm-purpose-link.mmm-info-nav-link:not(.is-static):hover,
.mmm-purpose-link.mmm-info-nav-link:not(.is-static):focus-visible{
  background:rgba(21,88,163,.075)!important;
  transform:translateX(3px)!important;
  outline:none;
}
.mmm-info-nav-link .mmm-purpose-link-icon,
.mmm-info-nav-link>b{
  transition:transform .16s ease,background .16s ease,color .16s ease;
}
.mmm-info-nav-link:not(.is-static):hover .mmm-purpose-link-icon,
.mmm-info-nav-link:not(.is-static):focus-visible .mmm-purpose-link-icon{
  background:#e3eef7;
  transform:scale(1.04);
}
.mmm-info-nav-link:not(.is-static):hover>b,
.mmm-info-nav-link:not(.is-static):focus-visible>b{
  transform:translateX(4px);
}
.mmm-template-info.mmm-style-blue .mmm-info-nav-link:not(.is-static):hover,
.mmm-template-info.mmm-style-blue .mmm-info-nav-link:not(.is-static):focus-visible,
.mmm-template-info.mmm-style-glass .mmm-info-nav-link:not(.is-static):hover,
.mmm-template-info.mmm-style-glass .mmm-info-nav-link:not(.is-static):focus-visible{
  background:rgba(255,255,255,.09)!important;
}

/* Strong, obvious interaction for every CTA rendered by the plugin. */
.mmm-feature-button[href],
.mmm-banner-cta[href],
.mmm-contact-action[href]{cursor:pointer}
.mmm-feature-button[href]:hover,
.mmm-feature-button[href]:focus-visible,
.mmm-banner-cta[href]:hover,
.mmm-banner-cta[href]:focus-visible{
  transform:translateY(-2px);
  filter:brightness(1.045);
  box-shadow:0 9px 20px rgba(5,29,53,.18);
  outline:none;
}
.mmm-feature-button[href]>span,
.mmm-banner-cta[href]>span{transition:transform .16s ease}
.mmm-feature-button[href]:hover>span,
.mmm-feature-button[href]:focus-visible>span,
.mmm-banner-cta[href]:hover>span,
.mmm-banner-cta[href]:focus-visible>span{transform:translateX(3px)}

/* Contact actions: text only, one row, and sized to fit all three labels. */
.mmm-contact-action-row{gap:6px}
.mmm-contact-action{
  min-height:38px;
  padding:0 5px;
  font-size:8.15px;
  letter-spacing:0;
  white-space:nowrap;
  text-align:center;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.mmm-contact-action[href]:hover,
.mmm-contact-action[href]:focus-visible{
  transform:translateY(-2px);
  background:rgba(255,255,255,.09);
  border-color:#ffbd30;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
  outline:none;
}
.mmm-contact-action--gold[href]:hover,
.mmm-contact-action--gold[href]:focus-visible{
  background:linear-gradient(180deg,#ffc94e,#f2a000);
}

@media(max-width:1120px){
  .mmm-info-showcase .mmm-info-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .mmm-info-showcase .mmm-info-columns{grid-template-columns:1fr}
}


/* =========================================================
   0.4.4 alignment + left-side Info feature rail
   ========================================================= */
.mmm-info-showcase{grid-template-columns:282px minmax(0,1fr)}
.mmm-info-showcase .mmm-info-feature-rail{grid-column:1}
.mmm-info-showcase .mmm-info-columns{grid-column:2;border-right:0;border-left:1px solid rgba(11,58,83,.08);padding-left:22px}
.mmm-template-info.mmm-style-blue .mmm-info-showcase .mmm-info-columns,
.mmm-template-info.mmm-style-glass .mmm-info-showcase .mmm-info-columns{border-left-color:rgba(255,255,255,.16)}
@media(max-width:1180px){
  .mmm-info-showcase{grid-template-columns:250px minmax(0,1fr)}
}
@media(max-width:1020px){
  .mmm-info-showcase{grid-template-columns:1fr}
  .mmm-info-showcase .mmm-info-feature-rail{grid-column:auto}
  .mmm-info-showcase .mmm-info-columns{grid-column:auto;border-left:0;padding-left:0}
}


/* =========================================================
   0.4.5 contact auto-fit + stronger Info column headings
   ========================================================= */
/* Contact panels now size themselves to the content that actually exists.
   This prevents an empty Quick Links / promo column from leaving a large
   unused blue area when the Contact menu only contains the primary card. */
.mmm-template-contact.mmm-contact-cols-1{
  width:min(520px,calc(100vw - 48px))!important;
}
.mmm-template-contact.mmm-contact-cols-1 .mmm-contact-showcase{
  grid-template-columns:minmax(0,1fr)!important;
}
.mmm-template-contact.mmm-contact-cols-2{
  width:min(900px,calc(100vw - 48px))!important;
}
.mmm-template-contact.mmm-contact-cols-2 .mmm-contact-showcase{
  grid-template-columns:minmax(300px,.95fr) minmax(270px,.85fr)!important;
}
.mmm-template-contact.mmm-contact-cols-3 .mmm-contact-showcase{
  grid-template-columns:minmax(300px,.9fr) minmax(270px,.78fr) minmax(300px,.82fr)!important;
}

/* Make the Info section labels read as real column headings rather than tiny
   eyebrow text. */
.mmm-info-showcase .mmm-info-column h3{
  font-size:15px!important;
  line-height:1.12!important;
  letter-spacing:.055em!important;
  margin-bottom:16px!important;
}

@media(max-width:1020px){
  .mmm-template-contact.mmm-contact-cols-1,
  .mmm-template-contact.mmm-contact-cols-2{
    width:min(760px,calc(100vw - 32px))!important;
  }
}

/* =========================================================
   0.5.0 contact surfaces, stronger contact hierarchy,
   featured-trip emphasis, and visual value-strip icons
   ========================================================= */

/* Built-in value-strip SVGs inherit the existing icon color. */
.mmm-trust-svg{
  width:18px;
  height:18px;
  display:block;
}

/* The single-column Contact panel is intentionally roomier so phone, email,
   location and actions feel like primary information rather than a small card
   floating inside unused space. */
.mmm-template-contact.mmm-contact-cols-1{
  width:min(610px,calc(100vw - 48px))!important;
}
.mmm-template-contact.mmm-contact-cols-1 .mmm-contact-showcase{
  padding:16px!important;
}
.mmm-template-contact.mmm-contact-cols-1 .mmm-contact-primary-card{
  padding:34px 34px 32px;
}
.mmm-template-contact.mmm-contact-cols-1 .mmm-contact-primary-card h2{
  margin:8px 0 14px;
  font-size:40px;
  line-height:1;
}
.mmm-template-contact.mmm-contact-cols-1 .mmm-contact-primary-card .mmm-contact-intro{
  margin-bottom:22px;
  font-size:15px;
  line-height:1.5;
}
.mmm-template-contact.mmm-contact-cols-1 .mmm-contact-detail-list>a,
.mmm-template-contact.mmm-contact-cols-1 .mmm-contact-detail-list>div{
  gap:14px;
  padding:14px 0;
}
.mmm-template-contact.mmm-contact-cols-1 .mmm-contact-detail-icon{
  width:42px;
  height:42px;
  flex-basis:42px;
  font-size:18px;
}
.mmm-template-contact.mmm-contact-cols-1 .mmm-contact-detail-list small{
  font-size:10px;
}
.mmm-template-contact.mmm-contact-cols-1 .mmm-contact-detail-list strong{
  font-size:14px;
  line-height:1.4;
}
.mmm-template-contact.mmm-contact-cols-1 .mmm-contact-action-row{
  gap:10px;
  margin-top:22px;
}
.mmm-template-contact.mmm-contact-cols-1 .mmm-contact-action{
  min-height:46px;
  padding:0 10px;
  font-size:10.5px;
}

/* Contact background surfaces can be independently disabled in the builder. */
.mmm-template-contact.mmm-contact-outer-off .mmm-panel-inner{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.mmm-template-contact.mmm-contact-outer-off .mmm-contact-showcase{
  padding-left:0!important;
  padding-right:0!important;
}
.mmm-template-contact.mmm-contact-card-off .mmm-contact-primary-card{
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
}

/* If the dark inner card is removed while the outer surface is light, switch
   its copy to the normal dark brand colors so it stays readable. */
.mmm-template-contact.mmm-style-light.mmm-contact-card-off .mmm-contact-primary-card{
  color:#103f6b;
}
.mmm-template-contact.mmm-style-light.mmm-contact-card-off .mmm-contact-primary-card h2,
.mmm-template-contact.mmm-style-light.mmm-contact-card-off .mmm-contact-detail-list strong{
  color:#103f6b;
}
.mmm-template-contact.mmm-style-light.mmm-contact-card-off .mmm-contact-intro{
  color:#536b7d;
}
.mmm-template-contact.mmm-style-light.mmm-contact-card-off .mmm-contact-detail-list>a,
.mmm-template-contact.mmm-style-light.mmm-contact-card-off .mmm-contact-detail-list>div{
  color:#103f6b!important;
  border-color:rgba(11,58,83,.16);
}
.mmm-template-contact.mmm-style-light.mmm-contact-card-off .mmm-contact-detail-icon{
  border-color:rgba(11,58,83,.28);
  color:#1558a3;
}
.mmm-template-contact.mmm-style-light.mmm-contact-card-off .mmm-contact-detail-list small{
  color:#6d7e8d;
}
.mmm-template-contact.mmm-style-light.mmm-contact-card-off .mmm-contact-action:not(.mmm-contact-action--gold){
  color:#103f6b!important;
  border-color:#f2a000;
}

/* Make the selected Featured rafting trip physically larger, not just outlined.
   The small scale increase preserves the four-card layout. */
.mmm-template-trips .mmm-card-grid{
  padding-top:12px;
  overflow:visible;
}
.mmm-template-trips .mmm-card-featured{
  z-index:5;
  transform:translateY(-5px) scale(1.032);
  border-color:#f2a000;
  box-shadow:0 16px 34px rgba(84,58,4,.20);
}
.mmm-template-trips .mmm-card-featured:not(.mmm-card-static):hover{
  transform:translateY(-8px) scale(1.042);
  box-shadow:0 20px 40px rgba(84,58,4,.25);
}
.mmm-template-trips .mmm-card-featured .mmm-featured-flag{
  min-height:27px;
  padding:5px 10px;
  font-size:9.5px;
}

@media(max-width:700px){
  .mmm-template-contact.mmm-contact-cols-1{
    width:min(100%,calc(100vw - 24px))!important;
  }
  .mmm-template-contact.mmm-contact-cols-1 .mmm-contact-primary-card{
    padding:26px 22px;
  }
  .mmm-template-contact.mmm-contact-cols-1 .mmm-contact-primary-card h2{
    font-size:32px;
  }
}


/* 0.5.3 - uploaded Media Library icons in bottom value strips */
.mmm-trust-media-image{display:block;width:22px;height:22px;max-width:22px;max-height:22px;object-fit:contain;border-radius:3px}


/* =========================================================
   0.5.4 larger Trips value icons + stable Info hover icons
   ========================================================= */

/* The rafting-trip trust/value strip is one of the strongest visual anchors
   in the Trips menu. Give those icons more presence without changing the
   sizing used by Campground, Info, or Contact. */
.mmm-template-trips .mmm-trust-item{
  gap:11px;
}
.mmm-template-trips .mmm-trust-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  font-size:21px;
}
.mmm-template-trips .mmm-trust-icon .mmm-trust-svg,
.mmm-template-trips .mmm-trust-svg{
  width:26px;
  height:26px;
}
.mmm-template-trips .mmm-trust-media-image{
  width:30px;
  height:30px;
  max-width:30px;
  max-height:30px;
}

/* Info icons should remain perfectly stable when the row is hovered.
   Scaling a small background-image icon caused browser resampling/blurring,
   and some theme/browser combinations could briefly make it appear blank. */
.mmm-info-nav-link .mmm-purpose-link-icon{
  transform:none!important;
  filter:none!important;
  opacity:1!important;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transition:background-color .16s ease,box-shadow .16s ease!important;
}
.mmm-info-nav-link .mmm-purpose-link-icon--image{
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
  filter:none!important;
  opacity:1!important;
}
.mmm-info-nav-link:not(.is-static):hover .mmm-purpose-link-icon,
.mmm-info-nav-link:not(.is-static):focus-visible .mmm-purpose-link-icon{
  transform:none!important;
  filter:none!important;
  opacity:1!important;
  background-color:#eef4f8!important;
  box-shadow:0 0 0 2px rgba(242,160,0,.32);
}
.mmm-template-info.mmm-style-blue .mmm-info-nav-link:not(.is-static):hover .mmm-purpose-link-icon,
.mmm-template-info.mmm-style-blue .mmm-info-nav-link:not(.is-static):focus-visible .mmm-purpose-link-icon,
.mmm-template-info.mmm-style-glass .mmm-info-nav-link:not(.is-static):hover .mmm-purpose-link-icon,
.mmm-template-info.mmm-style-glass .mmm-info-nav-link:not(.is-static):focus-visible .mmm-purpose-link-icon{
  background-color:#f3f7fa!important;
}
