/* SGM Full Site Editing bridge. Keeps the visual system, removes editor-only spacer blocks. */
.wp-site-blocks{min-height:100vh;background:var(--black,#080808)}
.sgm-fse-main{min-height:60vh}

/* Header as native template part */
nav.sgm-fse-nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav-height);display:flex;align-items:center;padding:0 var(--container-padding);gap:clamp(14px,1.35vw,24px);background:rgba(8,8,8,.8);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
nav.sgm-fse-nav.scrolled{background:rgba(8,8,8,.97);border-color:var(--border)}
.sgm-fse-nav .sgm-fse-brand{display:flex;align-items:center;gap:11px;flex:0 0 auto}
.sgm-fse-nav .nav-logo-img-wrap{margin:0;width:auto!important}
.sgm-fse-nav .nav-logo-img{width:38px!important;height:38px!important;object-fit:contain;display:block}
.sgm-fse-nav .wordmark{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:800;text-transform:uppercase;line-height:1.05;letter-spacing:.5px;margin:0;white-space:nowrap}
.sgm-fse-nav .wordmark a{color:#fff;text-decoration:none}
.sgm-fse-nav .wp-block-navigation{position:static!important;inset:auto!important;height:auto!important;padding:0!important;background:transparent!important;backdrop-filter:none!important;border:0!important;margin-left:auto;min-width:0}
.sgm-fse-nav .wp-block-navigation__container{display:flex;align-items:center;gap:clamp(12px,1.22vw,24px);flex-wrap:nowrap}
.sgm-fse-nav .wp-block-navigation-item__content{font-size:clamp(12px,.86vw,15px);font-weight:600;letter-spacing:.85px;text-transform:uppercase;color:var(--gray-l);transition:color var(--transition);white-space:nowrap}
.sgm-fse-nav .wp-block-navigation-item__content:hover{color:#fff}
.sgm-fse-nav .sgm-nav-service-login>.wp-block-navigation-item__content,.sgm-fse-nav .sgm-nav-service-shop>.wp-block-navigation-item__content{padding:11px 15px;border:1px solid rgba(255,255,255,.2);border-radius:3px;color:#fff;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:1px}
.sgm-fse-nav .sgm-nav-service-login>.wp-block-navigation-item__content{background:rgba(255,255,255,.035)}
.sgm-fse-nav .sgm-nav-service-shop>.wp-block-navigation-item__content{background:var(--blue);border-color:var(--blue)}
@media(max-width:1280px){
  .sgm-fse-nav .wp-block-navigation__responsive-container-open{display:flex!important;color:#fff}
  .sgm-fse-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
  .sgm-fse-nav .wp-block-navigation__responsive-container.is-menu-open{position:fixed!important;inset:var(--nav-height) 0 0!important;background:#080808!important;padding:32px!important;color:#fff!important;z-index:9999}
  .sgm-fse-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:stretch;gap:0}
  .sgm-fse-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:900;padding:16px 0;border-bottom:1px solid var(--border);color:#fff}
}

/* Decorative Hero layers are CSS, not fake Gutenberg blocks. */
.hero{isolation:isolate}
.hero::before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.72) 28%,rgba(0,0,0,.34) 52%,rgba(0,0,0,.10) 72%,rgba(0,0,0,0) 100%),linear-gradient(160deg,transparent 0%,rgba(26,111,255,.04) 45%,rgba(26,111,255,.10) 100%),url('/wp-content/uploads/2026/07/front-sektion-background.png');background-repeat:no-repeat;background-position:center right;background-size:cover;pointer-events:none}
.hero::after{content:'';position:absolute;inset:0;z-index:0;opacity:.04;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px}
.hero>.hero-content,.hero>.hero-service-bar,.hero>.hero-num,.hero>.wp-block-sgm-home-stats{position:relative;z-index:2}
.hero .hero-num{position:absolute}

/* Decorative separators are pseudo elements instead of empty Group blocks. */
.cta-visual-label{position:relative;padding-top:20px}
.cta-visual-label::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:40px;height:1.5px;background:rgba(255,255,255,.3)}
.kontakt-left>.contact-block:first-of-type{position:relative;padding-top:36px}
.kontakt-left>.contact-block:first-of-type::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--border)}

/* Native editable map block */
.sgm-map-block{overflow:hidden;background:#07162d;border:1px solid rgba(26,111,255,.35)}
.sgm-map-block iframe{width:100%;height:var(--sgm-map-height,320px);display:block;border:0}
.sgm-map-block .contact-map-link{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;background:rgba(26,111,255,.08);color:var(--blue);font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;border-top:1px solid rgba(26,111,255,.25)}

/* Block-theme footer bridge */
.sgm-fse-footer{background:#050505;padding:60px 0 28px;border-top:1px solid var(--border)}
.sgm-fse-footer .wp-block-columns{margin-bottom:60px}
.sgm-fse-footer .wp-block-button__link{background:transparent;border:0;padding:0;color:inherit;font:inherit;text-transform:none}
.sgm-fse-footer .footer-cta-link .wp-block-button__link{color:#fff;border:1px solid var(--blue);padding:10px 14px;text-transform:uppercase;font-family:'Barlow Condensed',sans-serif;font-weight:800}
.sgm-fse-footer .footer-link-subtle .wp-block-button__link{color:#777}
.sgm-fse-footer .wp-block-navigation{position:static!important;height:auto!important;padding:0!important;background:none!important;backdrop-filter:none!important;border:0!important}

/* Editor: no giant placeholder boxes for non-content decoration. */
.editor-styles-wrapper .hero,.editor-styles-wrapper .cta-section,.editor-styles-wrapper .kontakt-section{position:relative}
.editor-styles-wrapper .sgm-map-block{min-height:220px}
.editor-styles-wrapper .wp-block-sgm-impressions-viewer{max-height:56px;overflow:hidden}
.editor-styles-wrapper .wp-block-sgm-impressions-viewer>div{padding:10px 14px!important;font-size:12px!important}

/* Site editor canvas spacing */
.editor-styles-wrapper{background:#080808;color:#fff}
.editor-styles-wrapper .sgm-fse-main{padding-top:var(--nav-height,66px)}
.editor-styles-wrapper .wp-block-post-content>.wp-block-group{max-width:none}

/* ═══════════════════════════════════════
   SGM FSE 3.1 – responsive/header parity fixes
   Keeps the approved frontend composition across widths.
═══════════════════════════════════════ */

/* The FSE Navigation must not inherit the old .nav-links mobile rule. */
.sgm-fse-nav .wp-block-navigation.sgm-fse-navigation{
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  margin-left:auto;
  min-width:0;
}

@media (min-width:1281px){
  .sgm-fse-nav .wp-block-navigation__responsive-container-open{display:none!important}
  .sgm-fse-nav .wp-block-navigation__responsive-container{display:block!important;position:static!important}
}

@media (max-width:1280px){
  .sgm-fse-nav .wp-block-navigation.sgm-fse-navigation{
    display:flex!important;
    width:auto!important;
    flex:0 0 auto;
  }
  .sgm-fse-nav .wp-block-navigation__responsive-container-open{
    display:flex!important;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    padding:0!important;
    color:#fff!important;
    background:transparent!important;
    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:3px;
  }
  .sgm-fse-nav .wp-block-navigation__responsive-container-open svg{
    width:26px!important;
    height:26px!important;
    fill:currentColor!important;
  }
  .sgm-fse-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
  .sgm-fse-nav .wp-block-navigation__responsive-container.is-menu-open{
    display:flex!important;
    position:fixed!important;
    inset:var(--nav-height) 0 0!important;
    width:100vw!important;
    height:calc(100dvh - var(--nav-height))!important;
    padding:24px clamp(22px,5vw,48px)!important;
    background:rgba(8,8,8,.985)!important;
    color:#fff!important;
    z-index:99999!important;
    overflow:auto!important;
  }
  .admin-bar .sgm-fse-nav .wp-block-navigation__responsive-container.is-menu-open{
    top:calc(var(--nav-height) + 32px)!important;
    height:calc(100dvh - var(--nav-height) - 32px)!important;
  }
  .sgm-fse-nav .wp-block-navigation__responsive-container-close{
    top:18px!important;
    right:22px!important;
    color:#fff!important;
  }
  .sgm-fse-nav .wp-block-navigation__responsive-container-content{
    width:100%!important;
    padding-top:48px!important;
  }
  .sgm-fse-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
  }
  .sgm-fse-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
    width:100%!important;
  }
  .sgm-fse-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
    display:block!important;
    width:100%!important;
    padding:15px 0!important;
    border:0!important;
    border-bottom:1px solid var(--border)!important;
    background:transparent!important;
    color:#fff!important;
    font-family:'Barlow Condensed',sans-serif!important;
    font-size:clamp(24px,6vw,32px)!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:1.2px!important;
    text-transform:uppercase!important;
  }
  .sgm-fse-nav .wp-block-navigation__responsive-container.is-menu-open .sgm-nav-service-login>.wp-block-navigation-item__content,
  .sgm-fse-nav .wp-block-navigation__responsive-container.is-menu-open .sgm-nav-service-shop>.wp-block-navigation-item__content{
    margin-top:10px!important;
    padding:15px 16px!important;
    text-align:center!important;
    border:1px solid rgba(255,255,255,.2)!important;
  }
  .sgm-fse-nav .wp-block-navigation__responsive-container.is-menu-open .sgm-nav-service-shop>.wp-block-navigation-item__content{
    background:var(--blue)!important;
    border-color:var(--blue)!important;
  }
}
@media (max-width:782px){
  .admin-bar .sgm-fse-nav .wp-block-navigation__responsive-container.is-menu-open{
    top:calc(var(--nav-height) + 46px)!important;
    height:calc(100dvh - var(--nav-height) - 46px)!important;
  }
}

/* Hero composition: prevent Gutenberg group constraints from changing the approved service-bar layout. */
.hero .hero-service-bar.wp-block-group{
  max-width:none!important;
  box-sizing:border-box!important;
}
.hero .hero-service-card.wp-block-group{max-width:none!important}
.hero .hero-content.wp-block-group{max-width:680px!important}

@media (min-width:1401px){
  .hero .hero-service-bar{
    left:13.2%!important;
    right:auto!important;
    width:min(1220px,78.3vw)!important;
  }
  .hero .hero-stats{right:0!important;margin-right:40px!important}
}

@media (min-width:1101px) and (max-width:1400px){
  .hero{padding-bottom:188px!important}
  .hero .hero-content{
    max-width:min(620px,52vw)!important;
    padding-left:40px!important;
    padding-right:20px!important;
  }
  .hero .hero-service-bar{
    left:40px!important;
    right:300px!important;
    width:auto!important;
    min-width:0!important;
  }
  .hero .hero-stats{
    display:flex!important;
    right:20px!important;
    margin-right:0!important;
    bottom:176px!important;
  }
  .hero .hero-stat{min-width:235px!important}
}

@media (min-width:901px) and (max-width:1100px){
  .hero{padding-bottom:180px!important}
  .hero .hero-content{
    max-width:620px!important;
    padding-left:40px!important;
    padding-right:32px!important;
  }
  .hero .hero-service-bar{
    position:absolute!important;
    left:32px!important;
    right:32px!important;
    bottom:26px!important;
    width:auto!important;
    max-width:none!important;
  }
  .hero .hero-stats{display:none!important}
}

@media (max-width:900px){
  .hero{
    min-height:auto!important;
    padding-bottom:42px!important;
  }
  .hero .hero-content{
    max-width:none!important;
    width:100%!important;
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .hero .hero-service-bar{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:auto!important;
    max-width:none!important;
    margin:30px 20px 0!important;
    grid-template-columns:1fr!important;
  }
  .hero .hero-stats{display:none!important}
}

@media (max-width:560px){
  nav.sgm-fse-nav{padding-left:16px!important;padding-right:16px!important}
  .sgm-fse-nav .wordmark{font-size:12px!important}
  .sgm-fse-nav .nav-logo-img{width:34px!important;height:34px!important}
  .hero .hero-content{padding-left:18px!important;padding-right:18px!important}
  .hero .hero-service-bar{margin-left:18px!important;margin-right:18px!important}
}

/* The page editor should resemble the frontend instead of forcing service cards below the Hero at desktop widths. */
.editor-styles-wrapper .hero{
  container-type:inline-size;
  min-height:760px;
  position:relative;
  overflow:hidden;
  background:#050b16;
  color:#fff;
}
@media (min-width:1281px){
  .editor-styles-wrapper .hero .hero-service-bar{
    position:absolute!important;
    left:7%!important;
    right:7%!important;
    bottom:24px!important;
    width:auto!important;
    margin:0!important;
  }
  .editor-styles-wrapper .hero .hero-stats{
    position:absolute!important;
    right:20px!important;
    bottom:154px!important;
    margin:0!important;
  }
}
@media (min-width:901px) and (max-width:1280px){
  .editor-styles-wrapper .hero .hero-service-bar{
    position:absolute!important;
    left:24px!important;
    right:24px!important;
    bottom:24px!important;
    width:auto!important;
    margin:0!important;
  }
  .editor-styles-wrapper .hero .hero-stats{display:none!important}
}
@media (max-width:900px){
  .editor-styles-wrapper .hero .hero-service-bar{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:auto!important;
    margin:30px 0 0!important;
  }
  .editor-styles-wrapper .hero .hero-stats{display:none!important}
}

/* Keep functional-only blocks compact in the editor. */
.editor-styles-wrapper .wp-block-sgm-impressions-viewer>div{
  min-height:0!important;
  max-height:none!important;
  padding:6px 10px!important;
  background:#101722!important;
  border:1px dashed rgba(255,255,255,.18)!important;
  color:#9aa6b5!important;
  font-size:10px!important;
  line-height:1.25!important;
}
.editor-styles-wrapper .wp-block-sgm-impressions-viewer>div strong{color:#dbe5f2!important;font-size:10px!important}

/* ═══════════════════════════════════════════════════════════════
   v3.2 HERO LAYOUT LOCK
   One source of truth for the two service tiles (Trainer Login / JAKO Shop).
   They sit centered at the bottom of the hero on desktop/tablet and stack
   naturally on mobile. This final block intentionally overrides legacy
   main.css + earlier Gutenberg adapter rules.
═══════════════════════════════════════════════════════════════ */

/* Hero establishes the positioning context. */
.hero.wp-block-group,
.hero {
  position: relative !important;
  box-sizing: border-box !important;
}

/* Keep text independent from the bottom utility bar. */
@media (min-width: 901px) {
  .hero.wp-block-group,
  .hero {
    min-height: 760px !important;
    padding-bottom: 184px !important;
  }

  .hero .hero-service-bar.wp-block-group,
  .hero .hero-service-bar {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    bottom: 24px !important;
    transform: translateX(-50%) !important;
    width: min(1220px, calc(100% - 80px)) !important;
    max-width: 1220px !important;
    min-height: 112px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    z-index: 8 !important;
  }

  /* The migrated page uses two editable Groups. The reusable pattern may
     still contain Buttons. Both structures therefore get the same 2-column grid. */
  .hero .hero-service-bar > .wp-block-group,
  .hero .hero-service-bar > .wp-block-buttons {
    min-width: 0 !important;
  }
  .hero .hero-service-bar > .wp-block-buttons {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
  }

  .hero .hero-service-card.wp-block-group,
  .hero .hero-service-card.wp-block-button,
  .hero .hero-service-card {
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  /* Result/next-game box floats above the service bar and never changes
     the service-bar centering. */
  .hero .hero-stats,
  .hero .wp-block-sgm-home-stats {
    position: absolute !important;
    right: 32px !important;
    left: auto !important;
    bottom: 164px !important;
    margin: 0 !important;
    z-index: 9 !important;
  }
}

/* Medium desktop / landscape tablet: preserve the exact bottom-centred bar,
   but remove the floating score stack when it would collide. */
@media (min-width: 901px) and (max-width: 1180px) {
  .hero .hero-service-bar.wp-block-group,
  .hero .hero-service-bar {
    width: calc(100% - 56px) !important;
    bottom: 22px !important;
  }
  .hero .hero-stats,
  .hero .wp-block-sgm-home-stats {
    display: none !important;
  }
}

/* Mobile: no overlay. The cards become normal document flow and stack. */
@media (max-width: 900px) {
  .hero.wp-block-group,
  .hero {
    min-height: auto !important;
    padding-bottom: 42px !important;
  }

  .hero .hero-service-bar.wp-block-group,
  .hero .hero-service-bar {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 30px 20px 0 !important;
  }

  .hero .hero-service-bar > .wp-block-buttons {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .hero .hero-stats,
  .hero .wp-block-sgm-home-stats {
    display: none !important;
  }
}

/* Gutenberg editor must mirror the frontend composition. */
@media (min-width: 901px) {
  .editor-styles-wrapper .hero.wp-block-group,
  .editor-styles-wrapper .hero {
    min-height: 760px !important;
    padding-bottom: 184px !important;
    position: relative !important;
  }

  .editor-styles-wrapper .hero .hero-service-bar.wp-block-group,
  .editor-styles-wrapper .hero .hero-service-bar {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    bottom: 24px !important;
    transform: translateX(-50%) !important;
    width: min(1220px, calc(100% - 56px)) !important;
    max-width: 1220px !important;
    margin: 0 !important;
  }

  .editor-styles-wrapper .hero .hero-stats,
  .editor-styles-wrapper .hero .wp-block-sgm-home-stats {
    position: absolute !important;
    right: 24px !important;
    left: auto !important;
    bottom: 164px !important;
    margin: 0 !important;
  }
}

@media (max-width: 900px) {
  .editor-styles-wrapper .hero .hero-service-bar.wp-block-group,
  .editor-styles-wrapper .hero .hero-service-bar {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: auto !important;
    margin: 30px 0 0 !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   v3.3 TARGETED FIXES ONLY
   1) reliable custom mobile burger
   2) restore the original square/compact SGM buttons
   3) map iframe visibility
═══════════════════════════════════════════════════════════════ */

/* --- 1. Mobile navigation fallback: use our own visible burger, not WP's
   breakpoint-dependent overlay trigger. Desktop navigation remains native. --- */
.sgm-mobile-menu-toggle,
.sgm-mobile-menu-panel{display:none}

@media (max-width:1280px){
  .sgm-fse-nav .wp-block-navigation.sgm-fse-navigation{display:none!important}
  .sgm-mobile-menu-toggle{
    display:flex!important;
    width:44px;height:44px;margin-left:auto;padding:0;
    flex:0 0 44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;
    border:1px solid rgba(255,255,255,.18);border-radius:3px;
    background:transparent;color:#fff;cursor:pointer;z-index:10002;
    -webkit-appearance:none;appearance:none;
  }
  .sgm-mobile-menu-toggle span{display:block;width:23px;height:2px;background:#fff;transition:transform .24s ease,opacity .2s ease}
  .sgm-mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .sgm-mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .sgm-mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .sgm-mobile-menu-panel{
    position:fixed;left:0;right:0;top:var(--nav-height,66px);bottom:0;
    z-index:10001;background:#080808;padding:24px 22px 36px;overflow:auto;
    flex-direction:column;
  }
  .sgm-mobile-menu-panel.is-open{display:flex!important}
  .admin-bar .sgm-mobile-menu-panel{top:calc(var(--nav-height,66px) + 32px)}
  .sgm-mobile-menu-panel a{
    display:block;width:100%;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.1);
    color:#fff!important;font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:900;
    line-height:1;text-transform:uppercase;letter-spacing:1.2px;text-decoration:none!important;
  }
  .sgm-mobile-menu-panel a.sgm-mobile-service{margin-top:12px;padding:15px;text-align:center;border:1px solid rgba(255,255,255,.22)}
  .sgm-mobile-menu-panel a.sgm-mobile-shop{background:var(--blue);border-color:var(--blue)}
  body.sgm-mobile-menu-open{overflow:hidden}
}
@media (max-width:782px){.admin-bar .sgm-mobile-menu-panel{top:calc(var(--nav-height,66px) + 46px)}}

/* --- 2. Restore the original SGM button language.
   Gutenberg's global button style had turned these into oversized pills. --- */
.wp-block-button.btn-primary,
.wp-block-button.btn-outline,
.wp-block-button.btn-white,
.wp-block-button.btn-ghost{
  width:auto!important;min-width:0!important;margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;border-radius:0!important;
}
.wp-block-button.btn-primary .wp-block-button__link,
.wp-block-button.btn-outline .wp-block-button__link,
.wp-block-button.btn-white .wp-block-button__link,
.wp-block-button.btn-ghost .wp-block-button__link{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:auto!important;min-width:0!important;min-height:44px!important;
  padding:13px 26px!important;border-radius:0!important;box-shadow:none!important;
  font-family:'Barlow Condensed',sans-serif!important;font-size:var(--font-button,12px)!important;
  font-weight:700!important;line-height:1!important;letter-spacing:1.8px!important;text-transform:uppercase!important;
  white-space:nowrap!important;text-decoration:none!important;transition:all var(--transition,.25s ease)!important;
}
.wp-block-button.btn-primary .wp-block-button__link{background:var(--blue)!important;color:#fff!important;border:1.5px solid var(--blue)!important}
.wp-block-button.btn-outline .wp-block-button__link{background:transparent!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.25)!important}
.wp-block-button.btn-white .wp-block-button__link{background:#fff!important;color:#080808!important;border:1.5px solid #fff!important}
.wp-block-button.btn-ghost .wp-block-button__link{background:transparent!important;color:var(--blue)!important;border:1.5px solid var(--blue)!important}
.wp-block-button.btn-primary .wp-block-button__link:hover{background:var(--blue-dark)!important;border-color:var(--blue-dark)!important;transform:translateY(-2px)}
.wp-block-button.btn-outline .wp-block-button__link:hover{color:var(--blue)!important;border-color:var(--blue)!important;transform:translateY(-2px)}
.wp-block-button.btn-white .wp-block-button__link:hover{background:var(--off-white,#f2f2f2)!important;border-color:var(--off-white,#f2f2f2)!important;transform:translateY(-2px)}
.wp-block-button.btn-ghost .wp-block-button__link:hover{background:var(--blue)!important;color:#fff!important;transform:translateY(-2px)}
.hero .hero-buttons.wp-block-buttons{display:flex!important;flex-wrap:wrap!important;gap:12px!important;align-items:center!important}
.hero .hero-buttons .wp-block-button{flex:0 0 auto!important;width:auto!important}

@media (max-width:560px){
  .wp-block-button.btn-primary .wp-block-button__link,
  .wp-block-button.btn-outline .wp-block-button__link,
  .wp-block-button.btn-white .wp-block-button__link,
  .wp-block-button.btn-ghost .wp-block-button__link{padding:12px 18px!important;font-size:12px!important}
  .hero .hero-buttons.wp-block-buttons{gap:10px!important}
}

/* --- 3. Map: make the real iframe occupy the card, never a blank flex placeholder. --- */
.sgm-map-block{display:block!important;position:relative!important;min-height:0!important;background:#07162d!important}
.sgm-map-block iframe{display:block!important;width:100%!important;height:var(--sgm-map-height,320px)!important;min-height:240px!important;background:#eaf1fb!important;border:0!important}
