/*
Theme Name: SmartGifty
Theme URI: https://smartgifty.com
Description: Elementor-first child theme for the Git-managed SmartGifty site.
Author: SmartGifty
Template: hello-elementor
Version: 0.1.0
Text Domain: smartgifty
*/

@font-face {
  font-display: swap;
  font-family: "Gilroy Extra Bold";
  font-style: normal;
  font-weight: 800;
  src: url("/wp-content/uploads/2021/02/gilroy-extrabold.otf") format("opentype");
}

@font-face {
  font-display: swap;
  font-family: "Gilroy Light";
  font-style: normal;
  font-weight: 300;
  src: url("/wp-content/uploads/2021/02/gilroy-light.otf") format("opentype");
}

@font-face {
  font-display: swap;
  font-family: Archivo;
  font-style: normal;
  font-weight: 100 900;
  src: url("/wp-content/themes/smartgifty-child/assets/fonts/Archivo-latin-v25.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-display: swap;
  font-family: Archivo;
  font-style: normal;
  font-weight: 100 900;
  src: url("/wp-content/themes/smartgifty-child/assets/fonts/Archivo-latin-ext2-v25.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-display: swap;
  font-family: Archivo;
  font-style: normal;
  font-weight: 100 900;
  src: url("/wp-content/themes/smartgifty-child/assets/fonts/Archivo-latin-ext-v25.woff2") format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-display: swap;
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 300 400;
  src: url("/wp-content/themes/smartgifty-child/assets/fonts/DM-Sans-latin-v17.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body { overflow-x: clip; }
:root {
  --sg-purple: #592ddf;
  --sg-purple-hero: #2c007c;
  --sg-purple-dark: #23035e;
  --sg-purple-darker: #4815a7;
  --sg-purple-darkest: #120033;
  --sg-orange: #f39704;
  --sg-white: #fff;
}

html { scroll-behavior: smooth; }

body,
body.elementor-page {
  margin: 0;
  background: var(--sg-white);
  color: #414141;
  font-family: Archivo, system-ui, sans-serif;
}

.elementor,
.e-con,
.e-con-full { width: 100% !important; max-width: 100%; }

/* Legacy production markup is embedded in Elementor HTML widgets. Remove the
   default Hello Elementor page padding so the first production section starts
   immediately below the shared header, as it does on smartgifty.com. */
body.sg-production-page #content.site-main {
  margin: 0 !important;
  padding: 0 !important;
}

body.sg-production-page #content.site-main > .elementor > .sg-production-page.e-con {
  padding: 0 !important;
}

.skip-link { position: absolute; left: -999px; top: 0; }
.skip-link:focus { left: 12px; z-index: 10000; background: #fff; padding: 8px 12px; }

/* —— Header (Elementor Theme Builder) —— */
.elementor-location-header {
  background: #fff;
  border-bottom: 1px solid rgba(35, 3, 94, 0.09);
  box-shadow: rgba(18, 0, 51, 0.06) 0px 3px 14px 0px;
  min-height: 0 !important;
  height: auto !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9999;
}
.elementor-location-header .elementor-sticky__spacer {
  display: none !important;
  height: 0 !important;
}
.sg-elementor-header {
  background: #fff !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}
.sg-elementor-header.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 32px !important;
  min-height: 68px;
  height: 68px;
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 20px !important;
}
.elementor-location-header .elementor-widget-image {
  width: auto !important;
  flex: 0 0 auto;
  display: flex !important;
  align-items: center !important;
  min-height: 68px;
  margin: 0 !important;
}
.elementor-location-header .elementor-widget-image img,
.elementor-location-header .elementor-widget-image a {
  width: 163px !important;
  max-width: 163px !important;
  height: auto !important;
  max-height: 22px !important;
  object-fit: contain;
  display: block;
}
.elementor-location-header .sg-header-nav {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  margin-left: 0 !important;
}
.elementor-location-header .sg-header-nav.elementor-nav-menu--stretch {
  width: auto !important;
}
.elementor-location-header .elementor-nav-menu--main {
  display: block !important;
  width: auto !important;
}
.elementor-location-header .elementor-nav-menu--layout-horizontal .elementor-nav-menu {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li {
  display: flex;
  align-items: center;
  min-height: 68px;
}
.elementor-location-header .elementor-nav-menu--main .sub-arrow {
  width: 20.8px; /* prod: 10px gap + 10.8px chevron */
  margin-left: 0;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex-shrink: 0;
}
.elementor-location-header .elementor-nav-menu--main .sub-arrow svg,
.elementor-location-header .elementor-nav-menu--main .sub-arrow i {
  display: none !important;
}
/* prod (Astra) submenu indicator: orange chevron, 10.8px box (0.6em), 1.26px below centre */
.elementor-location-header .elementor-nav-menu--main .sub-arrow::before {
  content: "";
  display: block;
  width: 10.8px;
  height: 10.8px;
  background-color: rgb(243, 151, 4);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='57 35.171 26 16.043'%3E%3Cpath d='M57.5,38.193l12.5,12.5l12.5-12.5l-2.5-2.5l-10,10l-10-10L57.5,38.193z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='57 35.171 26 16.043'%3E%3Cpath d='M57.5,38.193l12.5,12.5l12.5-12.5l-2.5-2.5l-10,10l-10-10L57.5,38.193z'/%3E%3C/svg%3E") center / contain no-repeat;
  transform: translateY(1.26px);
}
.elementor-location-header .elementor-nav-menu .elementor-item {
  color: rgb(243, 151, 4) !important;
  background: transparent !important;
  font-family: Archivo, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  min-height: 68px;
  padding: 0 18px !important;
}
.elementor-location-header .elementor-nav-menu .elementor-item:hover {
  color: var(--sg-purple-dark) !important;
}
.elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-sub-item {
  min-height: auto;
  padding: 16.2px 18px !important;
  color: rgb(243, 151, 4) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 18px;
  white-space: normal;
  background: transparent !important;
}
.elementor-location-header .wpml-ls-flag {
  width: 18px;
  height: auto;
  margin-right: .3em; /* prod: 5.4px between flag and "English" */
  vertical-align: -1px;
  display: inline-block;
}
.elementor-location-header .elementor-nav-menu--dropdown {
  background: #fff;
  border-radius: 0;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 10px -2px;
}
@media (min-width: 1025px) {
  /* Elementor applies overflow:auto to the sticky header wrapper. That clips
     the desktop submenus at the 68px header edge, so hovering looks flaky and
     the language choices cannot be reached. Keep the header's dropdown area
     visible on desktop; the mobile drawer retains its own overflow rules. */
  .elementor-location-header {
    overflow: visible !important;
  }
  .elementor-location-header .sg-header-nav,
  .elementor-location-header .elementor-nav-menu--main,
  .elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu {
    overflow: visible !important;
  }
  .elementor-location-header .elementor-nav-menu--main {
    position: relative;
    z-index: 10000;
  }
  .elementor-location-header .elementor-menu-toggle { display: none !important; }
  .elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container { display: none !important; }
  .elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li {
    position: relative;
  }
  .elementor-location-header .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 240px;
    width: 240px;
    padding: 0;
    margin: 0;
    z-index: 100;
    border-radius: 0;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 10px -2px;
  }
  .elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li:hover > .sub-menu.elementor-nav-menu--dropdown,
  .elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li:focus-within > .sub-menu.elementor-nav-menu--dropdown {
    display: block;
  }
  .elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-sub-item {
    display: block;
    padding: 16.2px 18px !important;
    font-size: 18px !important;
    color: rgb(243, 151, 4) !important;
    font-weight: 400 !important;
    line-height: 18px;
    white-space: normal;
    background: transparent !important;
  }
}

/* —— Buttons ——
 * (A former generic "body .elementor-button" rule here was never applied: a stray "}" from a
 * selector-less block above swallowed it. It was removed with that block so button rendering
 * stays exactly as before.) */
body .elementor-button:hover { transform: translateY(-2px); }
body .sg-button-orange .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  background: #f39704 !important;
  color: #fff !important;
  box-shadow: 0 8px 22px rgba(18, 0, 51, .24);
}
body .sg-button-orange .elementor-button-content-wrapper,
body .sg-button-orange .elementor-button-text {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100%;
}
body .sg-button-orange .elementor-button:hover {
  background: #d98100 !important;
  color: #fff !important;
}
body .sg-button-purple .elementor-button { background: #5f2eea !important; color: #fff !important; }
body .sg-button-outline .elementor-button {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.72) !important;
}
body .sg-button-outline .elementor-button:hover {
  background: #fff !important;
  color: #23035e !important;
}

/* Hero audiences row (prod Built-for links under CTAs) */
.sg-home-hero .sg-home-hero__audiences {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  margin-top: 28px !important;
  margin-bottom: 0 !important;
  font-family: Archivo, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  color: rgba(255,255,255,.72) !important;
}
.sg-home-hero .sg-home-hero__audiences > span {
  color: rgba(255,255,255,.72) !important;
  font-weight: 600 !important;
}
.sg-home-hero .sg-home-hero__audiences a {
  color: #fff !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(255,255,255,.42) !important;
  text-underline-offset: 4px;
}
.sg-home-hero .sg-home-hero__audiences a:hover,
.sg-home-hero .sg-home-hero__audiences a:focus-visible {
  color: #ffd28a !important;
}
.sg-home-hero .elementor-element-sgheroau {
  width: 100% !important;
  margin: 0 !important;
}
.sg-home-hero .elementor-element-sgheroau .elementor-widget-container {
  padding: 0 !important;
}
.sg-home-hero .sg-button-orange .elementor-button,
.sg-home-hero .sg-button-outline .elementor-button {
  min-width: 180px;
}

/* —— Hero (live Smart Slider match) —— */
.sg-home-hero {
  display: flex !important;
  position: relative !important;
  z-index: 2;
  min-height: 700px !important;
  overflow: visible !important;
  padding: 0 !important;
  color: #fff;
  background-color: #2d017d !important;
  background-image: url("/wp-content/uploads/2026/01/Favorit-2.png") !important;
  background-position: 25% 7% !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}
.sg-home-hero.e-con > .e-con-inner {
  position: relative;
  min-height: 700px;
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sg-home-hero .sg-home-hero__inner,
.sg-home-hero .sg-home-hero__content.e-con > .e-con-inner {
  display: block !important;
  min-height: 0 !important;
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sg-home-hero .sg-home-hero__inner.e-con > .e-con-inner {
  display: block !important;
  min-height: 0 !important;
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 70px 0 0 140px !important;
}
.sg-home-hero__content,
.sg-home-hero .sg-home-hero__content {
  width: 765px !important;
  max-width: 765px !important;
  position: relative;
  z-index: 4;
  padding: 0 !important;
}
.sg-home-hero .sg-home-hero__eyebrow,
.sg-home-hero .sg-home-hero__eyebrow p {
  /* Prod Smart Slider: pad-bottom 30 + letter-spacing -1 (box 112.5) */
  margin: 0 !important;
  padding: 0 0 30px !important;
  max-width: 765px;
  color: #fff !important;
  font-family: "DM Sans", Archivo, sans-serif !important;
  font-size: 75px !important;
  font-weight: 400 !important;
  line-height: 82.5px !important;
  letter-spacing: -1px;
  white-space: nowrap;
}
.sg-home-hero h1,
.sg-home-hero .elementor-heading-title {
  /* Prod: pad-bottom 30 + ls -1; layer margin-bottom 10 to lead */
  max-width: 765px;
  margin: 0 0 10px !important;
  padding: 0 0 30px !important;
  color: #fff !important;
  font-family: "DM Sans", Archivo, sans-serif !important;
  font-size: 50px !important;
  font-weight: 700 !important;
  line-height: 55px !important;
  letter-spacing: -1px;
}
.sg-home-hero .sg-home-hero__lead,
.sg-home-hero .sg-home-hero__lead p {
  /* Prod: pad-bottom 30 (box 120); no extra margin-top */
  margin: 0 !important;
  padding: 0 0 30px !important;
  max-width: 600px;
  color: #fff !important;
  font-family: "Gilroy Light", sans-serif !important;
  font-size: 30px !important;
  font-weight: 200 !important;
  line-height: 45px !important;
}
.sg-home-hero__actions {
  padding: 0 !important;
  margin: 0 !important;
}
.sg-home-hero__actions.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  /* Prod lead→CTA gap ≈ 34px under lead; keep near 40 for Elementor stack */
  margin-top: 0 !important;
  margin-left: 0 !important;
  padding: 0 !important;
  align-items: stretch;
}
.sg-home-hero .elementor-widget-container {
  padding: 0 !important;
}
.sg-home-hero .elementor-widget {
  margin: 0 !important;
}
.sg-home-hero .elementor-element-sgheromp .elementor-button {
  width: 240px !important;
  min-width: 240px !important;
  max-width: 240px !important;
}
.sg-home-hero > .e-con-inner > .elementor-widget-image,
.sg-home-hero .elementor-element-sgheropd,
.sg-home-hero .sg-home-hero__product {
  position: absolute !important;
  z-index: 3;
  top: 100%;
  left: 50%;
  width: 720px !important;
  max-width: 720px !important;
  margin-top: 80px !important;
  transform: translate(-50%, -50%);
  filter: none;
}
.sg-home-hero .elementor-widget-image img,
.sg-home-hero .sg-home-hero__product img {
  width: 100%;
  height: auto;
  display: block;
}

/* —— Value / purple band —— */
.sg-home-value {
  position: relative;
  z-index: 1;
  padding: 340px 0 110px !important;
  color: #fff !important;
  background: #23035e !important;
  overflow: visible !important;
}
.sg-home-value.e-con {
  --padding-top: 340px;
  --padding-bottom: 110px;
  --padding-left: 0px;
  --padding-right: 0px;
  --gap: 0px !important;
  gap: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
.sg-home-value .sg-audience-grid,
.sg-home-value .sg-benefits-layout {
  width: 100% !important;
  max-width: 1480px !important;
  align-self: center !important;
}
.sg-section-heading {
  width: min(1000px, 100%) !important;
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-self: center !important;
  text-align: center;
}
/* Prod #subhero heading is a flat 1000px column (no Elementor gap/pad). */
.sg-section-heading.e-con {
  --gap: 0px !important;
  --padding-top: 0px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  gap: 0 !important;
  padding: 0 !important;
}
.sg-section-heading.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: 0 !important;
  --gap: 0px !important;
}
.sg-section-heading h2,
.sg-section-heading .elementor-widget-heading .elementor-heading-title {
  margin: 0 !important;
  color: #fff !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: clamp(40px, 4.3vw, 62px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.025em;
  text-align: center !important;
}
.sg-section-heading .elementor-widget-text-editor,
.sg-section-heading .elementor-widget-text-editor p {
  text-align: center !important;
}
.sg-section-heading p {
  max-width: 940px;
  margin: 28px auto 34px !important;
  color: rgba(255,255,255,.9) !important;
  font-family: "Gilroy Light", sans-serif !important;
  font-size: clamp(20px, 2vw, 28px) !important;
  line-height: 1.5;
}
.sg-section-heading .elementor-widget-button {
  display: flex;
  justify-content: center;
}
.sg-section-heading .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
  min-height: 52px !important;
  padding: 13px 28px !important;
  /* Prod .sg-button: 2px transparent border → +4px box width. */
  border: 2px solid transparent !important;
  border-radius: 12px !important;
  font-size: 17px !important;
  font-weight: 600 !important;
}

.sg-audience-grid.e-con {
  --padding-left: 20px !important;
  --padding-right: 20px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}
.sg-audience-grid.e-con > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  margin-top: 72px;
  max-width: none;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 !important;
}
.sg-audience-grid .elementor-widget-html {
  width: 100% !important;
  height: 100%;
}
.sg-audience-grid .elementor-widget-html .elementor-widget-container {
  height: 100%;
}
.sg-audience-card,
a.sg-audience-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 250px !important;
  height: 100%;
  padding: 30px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.09) !important;
  box-shadow: 0 14px 38px rgba(18, 0, 51, .18);
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
  overflow: hidden;
  text-decoration: none !important;
  color: #fff !important;
}
.sg-audience-card-link {
  display: flex;
  flex-direction: column;
  min-height: 250px;
  height: 100%;
  padding: 30px;
  text-decoration: none !important;
  color: inherit;
}
.sg-audience-card span,
.sg-audience-card-link span {
  margin-top: auto;
  color: #fff;
  font-family: Archivo, sans-serif;
  font-weight: 600;
  font-size: 16px;
}
a.sg-audience-card:hover,
.sg-audience-card:hover {
  transform: translateY(-5px) !important;
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(243,151,4,.8) !important;
}
.sg-audience-card h3,
.sg-audience-card .elementor-heading-title {
  color: var(--sg-orange) !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 25px !important;
  line-height: 1.2 !important;
  margin: 0 0 14px !important;
}
.sg-audience-card p { color: rgba(255,255,255,.88) !important; font-family: Archivo, sans-serif; font-size: 17px; line-height: 1.55; margin: 0 0 22px !important; }
.sg-audience-card .sg-audience-card__cta,
.sg-audience-card .elementor-widget-text-editor:last-child p {
  margin: auto 0 0 !important;
  color: #fff !important;
  font-family: Archivo, sans-serif;
  font-weight: 600;
  font-size: 16px;
}

.sg-audience-card.e-con > .e-con-inner,
.sg-benefit-card.e-con > .e-con-inner,
.sg-benefits-content.e-con > .e-con-inner,
.sg-home-value__links.e-con > .e-con-inner {
  gap: 0 !important;
  padding: 0 !important;
}
.sg-benefits-layout.e-con {
  --padding-left: 20px !important;
  --padding-right: 20px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}
.sg-benefits-layout.e-con > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(320px, 0.8fr) minmax(0, 1.2fr) !important;
  align-items: center !important;
  gap: 72px !important;
  margin-top: 110px;
  max-width: none;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 !important;
}
.sg-benefits-visual.e-con-boxed > .e-con-inner,
.sg-benefits-content.e-con-boxed > .e-con-inner,
.sg-benefits-grid.e-con-boxed > .e-con-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.sg-benefits-visual.e-con,
.sg-benefits-content.e-con,
.sg-benefits-grid.e-con {
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  --padding-top: 0px !important;
  --padding-bottom: 0px !important;
  padding: 0 !important;
}
.sg-benefits-visual.e-con > .e-con-inner,
.sg-benefits-content.e-con > .e-con-inner {
  padding: 0 !important;
}
.sg-benefits-visual,
.sg-benefits-visual.e-con,
.sg-benefits-visual > .e-con-inner {
  position: relative !important;
  min-height: 620px !important;
  height: 620px !important;
  overflow: visible !important;
  align-self: center !important;
}
.sg-benefits-visual.e-con-boxed {
  --width: 100% !important;
  max-width: none !important;
  width: 100% !important;
}
.sg-benefits-visual.e-con > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
}
.sg-benefits-visual .elementor-widget-html,
.sg-benefits-visual .elementor-widget-html .elementor-widget-container {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 620px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}
.sg-benefits-visual img.sg-benefits-visual__laptop,
.sg-benefits-visual .sg-benefits-visual__laptop {
  position: absolute !important;
  top: 12%;
  left: -25%;
  width: 145% !important;
  max-width: none !important;
  height: auto !important;
  display: block !important;
  margin: 0 !important;
}
.sg-benefits-visual img.sg-benefits-visual__card,
.sg-benefits-visual .sg-benefits-visual__card {
  position: absolute !important;
  right: 3%;
  bottom: 4%;
  width: 42% !important;
  max-width: none !important;
  height: auto !important;
  display: block !important;
  z-index: 2 !important;
  filter: drop-shadow(0 18px 22px rgba(18, 0, 51, 0.3));
  transform: rotate(12deg);
  margin: 0 !important;
  pointer-events: none;
}
.sg-benefits-visual .sg-benefits-visual__laptop img,
.sg-benefits-visual .elementor-element-sgbenlap img {
  width: 100%;
  height: auto;
}
.sg-benefits-visual .sg-benefits-visual__card img,
.sg-benefits-visual .elementor-element-sgbencar img {
  width: 100%;
  height: auto;
}
.sg-benefits-content > .e-con-inner > .elementor-widget-heading,
.elementor-element-sgbenh2 {
  margin: 0 !important;
  padding-bottom: 30px !important;
}
.elementor-element-sgbenh2 .elementor-heading-title {
  margin: 0 !important;
  color: #fff !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: clamp(38px, 4vw, 58px) !important;
  line-height: 1.05 !important;
  text-align: left !important;
}
.sg-benefits-grid.e-con > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  align-items: stretch !important;
}
.sg-benefits-grid .elementor-widget-html {
  width: 100% !important;
  height: 100%;
  display: flex !important;
}
.sg-benefits-grid .elementor-widget-html .elementor-widget-container {
  width: 100%;
  height: 100%;
  display: flex !important;
}
.sg-benefit-card,
article.sg-benefit-card {
  min-width: 0;
  width: 100%;
  height: 100%;
  display: block;
  padding: 24px !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.08) !important;
}
.sg-benefit-card h3,
.sg-benefit-card .elementor-heading-title {
  margin: 0 0 12px !important;
  color: var(--sg-orange) !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
}
.sg-benefit-card p,
.sg-benefit-card li {
  color: rgba(255,255,255,.88) !important;
  font-family: Archivo, sans-serif;
  font-size: 16px;
  font-style: normal !important;
  line-height: 1.5;
}
.sg-benefit-card p {
  margin: 0 0 17px !important;
}
.sg-benefit-card ul {
  margin: 0 0 17px 48px;
  padding-left: 34px;
  list-style-position: outside;
}
.sg-benefit-card ul:last-child {
  margin-bottom: 0;
}
.sg-benefit-card li::marker { color: rgba(255,255,255,.88); }
.elementor-element-sgbenlnk,
.sg-home-value__links.e-con {
  --padding-top: 0px !important;
  --padding-right: 0px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  padding: 0 !important;
}
.sg-home-value__links.e-con {
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  --padding-top: 0px !important;
  --padding-bottom: 0px !important;
  /* Prod: 34px gap after last benefit card is margin on the links box. */
  margin-top: 34px !important;
  padding: 0 !important;
}
.sg-home-value__links.e-con > .e-con-inner {
  display: block !important;
  padding: 0 !important;
  gap: 0 !important;
}
.sg-home-value__links .elementor-widget-html,
.sg-home-value__links .elementor-widget-html .elementor-widget-container {
  display: block;
  padding: 0 !important;
  margin: 0 !important;
}
.sg-home-value__actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 14px;
}
.sg-case-link,
.sg-case-link a {
  display: inline-block;
  margin-bottom: 28px;
  color: #ffbd50 !important;
  font-family: Archivo, sans-serif;
  font-size: 17px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.sg-case-link:hover,
.sg-case-link a:hover { color: #fff !important; }
.sg-home-value__actions.e-con,
.sg-home-value__actions.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 14px !important;
  margin-top: 0;
  padding: 0 !important;
  width: auto !important;
  min-height: 52px;
}
.sg-home-value__links .elementor-widget-text-editor,
.sg-home-value__links .elementor-widget-text-editor .elementor-widget-container,
.sg-home-value__links .elementor-widget-text-editor p,
.sg-home-value__actions .elementor-widget-button,
.sg-home-value__actions .elementor-widget-button .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}
.sg-home-value__actions .elementor-button {
  box-sizing: border-box !important;
  min-height: 52px !important;
  padding: 13px 28px !important;
  border: 2px solid transparent !important;
  border-radius: 12px !important;
  font-size: 17px !important;
  font-weight: 600 !important;
}

.sg-home-section-transition,
.sg-home-section-transition.e-con {
  display: block !important;
  height: 100px !important;
  min-height: 100px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  line-height: 0;
  background: transparent !important;
}
.sg-home-section-transition .elementor-widget,
.sg-home-section-transition .elementor-widget-container,
.sg-home-section-transition .e-con-inner {
  padding: 0 !important;
  margin: 0 !important;
}
#home-section-transition,
#home-section-transition svg {
  display: block;
  width: 100%;
  height: 100px;
}
#home-section-transition #home-triangle-desktop { fill: #23035e; }
#home-section-transition #home-triangle-mobile { display: none; fill: #23035e; }
@media (max-width: 450px) {
  #home-section-transition #home-triangle-desktop { display: none; }
  #home-section-transition #home-triangle-mobile { display: block; }
}

/* —— Loyalty / How it works —— */
.sg-home-loyalty, .sg-home-how { padding: 60px 0 !important; background: #fff !important; }
.sg-home-how__inner.e-con,
.sg-home-how .ast-container.e-con {
  max-width: 1480px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  --padding-left: 20px !important;
  --padding-right: 20px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}
.sg-home-how__inner.e-con > .e-con-inner,
.sg-home-how .ast-container.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  max-width: none;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 !important;
  gap: 0 !important;
}
.sg-home-loyalty h2,
.sg-home-loyalty h2.elementor-heading-title,
.sg-home-how h2 {
  text-align: center !important;
  color: var(--sg-purple-darkest) !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 34px !important;
  line-height: 1.3 !important;
  margin: 0 0 20px !important;
  width: 100%;
}
.sg-home-loyalty h3,
.sg-home-loyalty h3.elementor-heading-title,
.sg-home-loyalty .elementor-element-sgloylh3,
.sg-home-loyalty .elementor-element-sgloylh3 .elementor-heading-title,
.sg-home-how h3 {
  text-align: center !important;
  max-width: 1033px;
  width: 100%;
  margin: 0 auto 8.5px !important;
  color: var(--sg-purple-darkest) !important;
  font-family: "Gilroy Light", sans-serif !important;
  font-size: 30px !important;
  font-weight: 500 !important;
  line-height: 36px !important;
}
.sg-home-loyalty .elementor-widget-heading,
.sg-home-loyalty .elementor-element-sgloylh2,
.sg-home-loyalty .elementor-element-sgloylh3 {
  width: 100%;
  text-align: center !important;
}
.sg-home-how .elementor-element-sghowh2,
.sg-home-how .elementor-element-sghowh3 {
  width: 100%;
  margin-bottom: 0 !important;
}
.sg-home-loyalty.e-con,
.sg-home-how.e-con,
.sg-home-how .e-con,
.sg-home-stats.e-con,
.sg-footer-grid.e-con,
.sg-guarantee.e-con,
.sg-home-cta.e-con {
  --gap: 0px;
  --flex-gap: 0px;
}
.sg-home-loyalty.e-con > .e-con-inner,
.sg-home-how .e-con > .e-con-inner {
  gap: 0 !important;
  align-items: center !important;
}
.hiw-row.e-con,
.sg-hiw-row.e-con {
  width: 100% !important;
  max-width: none !important;
  align-self: stretch !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  --padding-top: 0px !important;
  --padding-bottom: 0px !important;
  padding: 0 !important;
}
.hiw-row.e-con > .e-con-inner,
.sg-hiw-row.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  margin-top: 50px !important;
  max-width: none;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 !important;
}
.hiw-row .elementor-widget-html,
.hiw-row .elementor-widget-html .elementor-widget-container {
  display: contents !important;
}
.hiw-card {
  position: relative;
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: 230px !important;
  min-width: 0;
  margin-top: 26px !important;
  display: flex;
  flex-direction: column;
  background: #fff !important;
  border: 1px solid #ece6f5 !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 24px rgba(18, 0, 51, .06);
  overflow: visible;
}
.hiw-card:not(:last-child)::after {
  content: none !important;
  display: none !important;
}
.hiw-badge, .hiw-card .hiw-badge {
  position: absolute;
  top: -22px;
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 44px;
  margin: 0 !important;
  border-radius: 50%;
  background: var(--sg-orange);
  color: #fff !important;
  font-family: Archivo, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(243, 151, 4, .4);
  z-index: 2;
}
.hiw-card-body {
  padding: 34px 18px 14px;
}
.hiw-title, .hiw-card h4.hiw-title {
  margin: 0 0 10px !important;
  color: var(--sg-purple-darkest) !important;
  font-family: Archivo, sans-serif !important;
  font-weight: 700 !important;
  font-size: 19px !important;
  line-height: 1.25;
  text-align: center;
  padding: 0;
}
.hiw-text, .hiw-card .hiw-text {
  margin: 0 !important;
  color: #6b6480 !important;
  font-size: 14px;
  font-style: normal;
  line-height: 1.45;
  text-align: center;
  padding: 0;
}
.hiw-img, .hiw-card img.hiw-img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  margin-top: auto;
  border-bottom-left-radius: 18px;
  border-bottom-right-radius: 18px;
}
.hiw-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px !important;
  width: 40px !important;
  min-width: 40px;
  align-self: center;
  margin-top: 26px;
}
.hiw-arrow svg {
  display: block;
  width: 40px;
  height: 16px;
}
.sg-home-how .elementor-widget-html:has(.hiw-features),
.sg-home-how .elementor-widget-html .elementor-widget-container:has(.hiw-features) {
  display: block;
  width: 100%;
}
.hiw-features {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  flex-direction: row !important;
  gap: 20px !important;
  width: 100%;
  max-width: none;
  margin: 50px auto 0 !important;
  padding-top: 30px !important;
  border-top: 1px solid #ece6f5;
  text-align: left;
}
.hiw-features-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  width: 100%;
}
.hiw-feature {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex: 1 1 0 !important;
  min-width: 180px;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.hiw-feature-icon { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; }
.hiw-feature-text { display: flex; flex-direction: column; line-height: 1.3; }
.hiw-feature-text strong { color: #120033; font-size: 17px; font-weight: 700; }
.hiw-feature-text span { color: #6b6480; font-size: 14px; }
.hiw-feature-logo { justify-content: flex-end !important; flex: 0 0 auto !important; min-width: 0; }
.hiw-feature-logo img { max-height: 38px; width: auto; }
.hiw-feature h4,
.hiw-feature .elementor-heading-title {
  color: var(--sg-purple-darkest) !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 17px !important;
  margin: 0 !important;
  text-align: left !important;
}
.sg-home-how__actions.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  gap: 14px !important;
  margin-top: 36px;
}

/* —— Stats —— */
.sg-home-stats {
  padding: 120px 0 100px !important;
  text-align: center;
  background: #fff !important;
}
.sg-home-stats.e-con {
  --display: flex;
  display: flex !important;
  flex-direction: column;
  --padding-top: 120px !important;
  --padding-bottom: 100px !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  padding: 120px 0 100px !important;
}
.sg-home-stats.e-con > .e-con-inner {
  display: block !important;
  max-width: 1480px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px !important;
  gap: 0 !important;
}
.sg-home-stats .elementor-widget-html,
.sg-home-stats .elementor-widget-html .elementor-widget-container {
  display: block;
  width: 100%;
  padding: 0 !important;
  margin: 0 !important;
}
.sg-home-stats .title-box {
  text-align: center;
  padding-bottom: 50px;
  max-width: 818px;
  margin: 0 auto;
}
.sg-home-stats h2.title,
.sg-home-stats .title {
  color: var(--sg-purple-darkest) !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 60px !important;
  line-height: 50px !important;
  padding-bottom: 20px;
  margin: 0 0 8.5px !important;
  text-align: center;
}
.sg-home-stats h2.title p,
.sg-home-stats .title p {
  margin: 0;
}
.sg-home-stats h3.subtitle,
.sg-home-stats .subtitle {
  color: var(--sg-purple-darkest) !important;
  font-family: "Gilroy Light", sans-serif !important;
  font-weight: 300 !important;
  font-size: 30px !important;
  line-height: 40px !important;
  margin: 0 0 8.5px !important;
  text-align: center;
}
.sg-stats-squares {
  max-width: none;
  margin: 0 auto;
  overflow: hidden;
}
.sg-stats-squares::after {
  content: "";
  display: table;
  clear: both;
}
.sg-stats-squares .square {
  float: left;
  position: relative;
  width: 33.3%;
  padding-bottom: 33.3%;
  overflow: hidden;
}
.sg-stats-squares .content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0;
}
.sg-stats-squares .table {
  box-sizing: border-box;
  padding: 2%;
  display: flex;
  width: 100%;
  height: 100%;
}
.sg-stats-squares .table-cell,
.sg-stats-squares .table-cell.numbers {
  display: contents;
}
.sg-stats-squares .circle {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #592ddf;
}
.sg-stats-squares .circle.c-1 { background: #592ddf; }
.sg-stats-squares .circle.c-2 { background: #23035e; }
.sg-stats-squares .circle.c-3 { background: #f39704; }
.sg-stats-squares .number,
.sg-stats-squares .text {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  font-family: "Gilroy Light", sans-serif;
  text-align: center;
  color: #fff;
}
.sg-stats-squares .number {
  transform: translate(-50%, -50%);
  font-size: 60px;
}
.sg-stats-squares .circle.c-1 .number,
.sg-stats-squares .circle.c-2 .number {
  font-size: 90px;
}
.sg-stats-squares .circle.c-2 .number,
.sg-stats-squares .circle.c-2 .text {
  color: #f39704;
}
.sg-stats-squares .circle.c-3 .number,
.sg-stats-squares .circle.c-3 .text {
  color: #23035e;
}
.sg-stats-squares .number .counter {
  position: static;
  display: inline;
  transform: none;
  font-size: inherit;
  color: inherit;
  font-family: inherit;
  line-height: inherit;
}
.sg-home-stats h3.subtitle .counter {
  position: static;
  display: inline;
  transform: none;
  font-size: inherit;
  color: inherit;
}
.sg-stats-squares .text {
  transform: translate(-50%, 50%);
  bottom: 100px;
  font-size: 30px;
  line-height: 30px;
  white-space: normal;
}

.sg-home-logos {
  padding: 0 0 100px !important;
  background: #fff !important;
}
.sg-home-logos.e-con {
  --display: flex;
  display: flex !important;
  flex-direction: column;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  --padding-bottom: 100px !important;
  padding: 0 0 100px !important;
}
.sg-home-logos.e-con > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
}
.sg-home-logos .elementor-widget-html,
.sg-home-logos .elementor-widget-html .elementor-widget-container {
  display: block;
  width: 100%;
  padding: 0 !important;
  margin: 0 !important;
}
.sg-logo-carousel {
  overflow: hidden;
  width: 100%;
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 32px;
  box-sizing: border-box;
  height: 267px;
}
.sg-logo-carousel__track {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  width: max-content;
  will-change: transform;
  gap: 20px;
}
.sg-logo-carousel__slide {
  flex: 0 0 auto;
  height: 267px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sg-logo-carousel__slide img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  filter: none;
}
@media (prefers-reduced-motion: reduce) {
  .sg-logo-carousel__track { transition: none !important; }
}

/* —— FAQ / CTA —— */
.sg-home-faq {
  padding: 80px 0 90px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  --background-color: #ffffff !important;
}
.sg-home-faq.e-con {
  --padding-top: 80px !important;
  --padding-bottom: 90px !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  --content-width: 100% !important;
  --background-color: #ffffff !important;
  padding: 80px max(20px, calc((100% - 1440px) / 2)) 90px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
}
.sg-home-faq.e-con > .e-con-inner {
  display: block !important;
  --content-width: 100% !important;
  --padding-top: 0px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}
.sg-faq-ast-container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.sg-home-faq .elementor-widget-html,
.sg-home-faq .elementor-widget-html .elementor-widget-container {
  display: block;
  width: 100%;
  padding: 0 !important;
  margin: 0 !important;
}
.sg-faq-heading-row {
  display: block;
  width: 100%;
}
.sg-faq-title-col {
  width: 66.6667%;
  margin: 0 16.6667%;
}
.sg-home-faq .title-box {
  padding: 0 0 12px;
  text-align: start;
}
.sg-home-faq h2,
.sg-home-faq h2.title,
.sg-home-faq .title .elementor-heading-title {
  color: #414141 !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 34px !important;
  line-height: 1.2 !important;
  text-align: start;
  margin: 0 0 8.5px !important;
}
.sg-home-faq .qae-faqs-container {
  width: 91.6667%;
  margin: 0 0 0 8.3333%;
}
#home-faq .sg-faq-ast-container .qae-faqs-container {
  width: 91.6667%;
  margin: 0 0 0 8.3333%;
}
.qe-faqs-filters-container {
  list-style: none;
  margin: 0 0 17px 51px;
  padding: 0;
}
.qe-faqs-filters-container li {
  display: inline-block;
  margin: 0 8px 0 0;
}
.qe-faqs-filter {
  color: #f39704 !important;
  font-family: Archivo, sans-serif !important;
  font-style: normal !important;
  font-size: 17px;
  line-height: 1.2;
  padding: 5px 10px;
  text-decoration: underline !important;
  font-weight: 400;
  border-bottom: 1px solid #f39704;
}
.qe-faqs-filters-container li.active .qe-faqs-filter {
  color: #f39704 !important;
  font-weight: 700;
  border-bottom: 2px solid #f39704;
}
.qe-faq-toggle {
  margin: 0 0 2px;
  transition: 0.5s;
}
.qe-faq-toggle + .qe-faq-toggle .qe-toggle-title {
  border-top: 0;
}
.qe-toggle-title {
  background: #fafafa;
  padding: 17px;
  cursor: pointer;
  border: 1px solid #ddd;
}
.qe-toggle-title h4 {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8.5px;
  color: #414141 !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 17px !important;
  font-weight: 500;
  line-height: 1.2 !important;
}
.sg-faq-icon {
  display: inline-flex;
  flex: 0 0 auto;
  color: #414141;
}
.sg-faq-icon svg {
  display: block;
}
.qe-faq-toggle .sg-faq-icon--minus {
  display: none;
}
.qe-faq-toggle.is-open .sg-faq-icon--plus {
  display: none;
}
.qe-faq-toggle.is-open .sg-faq-icon--minus {
  display: inline-flex;
}
.qe-toggle-content {
  display: none;
  padding: 25.5px;
  font-family: Archivo, sans-serif;
  font-style: normal;
  font-size: 17px;
  line-height: 1.5;
  color: #212529;
  border: 1px solid #ddd;
  border-top: 0;
  background: #fff;
}
.qe-toggle-content p {
  margin: 0;
}
.sg-guarantee, .sg-home-cta,
.sg-guarantee-html, .sg-cta-html {
  text-align: center;
}
.sg-guarantee,
.sg-guarantee-html {
  margin-top: 0 !important;
}
.sg-home-cta,
.sg-cta-html {
  margin-top: 78px !important;
}
.sg-guarantee-html,
.sg-guarantee-html.e-con {
  background: #ffffff !important;
  background-color: #ffffff !important;
  --background-color: #ffffff !important;
}
#guarantee { scroll-margin-top: 92px; }
.sg-col-10 {
  width: 83.3333%;
  margin: 0 auto;
  text-align: center;
}
.sg-col-8 {
  width: 66.6667%;
  margin: 0 auto;
  text-align: center;
}
.sg-guarantee-html .title,
.sg-cta-html .title,
.sg-home-faq .sg-guarantee-html h2.title,
.sg-home-faq .sg-cta-html h2.title {
  color: #414141 !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 34px !important;
  line-height: 1.3 !important;
  text-align: center !important;
  margin: 0 0 20px !important;
}
.sg-guarantee-html .subtitle,
.sg-cta-html .subtitle,
.sg-home-faq .sg-guarantee-html .subtitle,
.sg-home-faq .sg-cta-html .subtitle {
  color: #414141 !important;
  font-family: "Gilroy Light", sans-serif !important;
  font-weight: 300 !important;
  font-size: 30px !important;
  line-height: 36px !important;
  text-align: center !important;
  margin: 0 !important;
}
.sg-guarantee-html .disclaimer,
.sg-guarantee p {
  font-size: 0.85em;
  opacity: 0.7;
  margin-top: 16px;
  font-style: normal !important;
  text-align: center;
  color: #212529;
}
.sg-cta-html .button-row,
.sg-home-cta__actions.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  gap: 16px !important;
  padding: 30px 0 44px;
}
.sg-cta-html .btn-orange,
.sg-cta-html .btn-purple {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 230px;
  min-height: 56px;
  padding: 16px 0;
  border-radius: 12px;
  font-family: Archivo, sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  color: #fff !important;
  text-decoration: none !important;
  box-sizing: border-box;
}
.sg-cta-html .btn-orange { background: #f39704; }
.sg-cta-html .btn-purple { background: #592ddf; }
.sg-cta-html .btn-orange:hover { background: #d98100; color: #fff !important; }
.sg-cta-html .btn-purple:hover { background: #4a22c4; color: #fff !important; }
.sg-memberships { margin-top: 50px; }
.sg-memberships .sg-col-8 {
  text-align: start;
}
.sg-memberships .title {
  margin-bottom: 8.5px !important;
  text-align: start;
}
.sg-memberships-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-around;
  gap: 20px;
  width: 100%;
  padding: 24px 0 8px;
}
.sg-memberships-row img {
  flex: 0 0 auto;
  width: 150px;
  max-width: 150px;
  max-height: 143px;
  height: auto;
  object-fit: contain;
  filter: none;
}
.sg-memberships-row.e-con {
  --display: flex;
  display: flex !important;
  width: 100%;
}
.sg-memberships-row.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-around !important;
  gap: 20px !important;
  width: 100%;
  padding: 24px 0 8px !important;
}
.sg-memberships-row .elementor-widget-image {
  flex: 0 0 auto;
  width: auto !important;
}
.sg-memberships-row .elementor-widget-image img {
  width: 150px;
  max-width: 150px;
  max-height: 143px;
  height: auto;
  object-fit: contain;
}

/* —— Elementor-native wrappers —— */
.sg-audience-card.e-con {
  --display: flex;
  display: flex !important;
  flex-direction: column !important;
}
.sg-audience-card.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  flex: 1;
  gap: 0 !important;
  padding: 0 !important;
}
.sg-audience-grid.e-con > .e-con-inner > .sg-audience-card {
  width: 100% !important;
  height: 100%;
}

.sg-benefits-visual .elementor-widget-image.sg-benefits-visual__laptop,
.sg-benefits-visual .sg-benefits-visual__laptop.elementor-widget-image {
  position: absolute !important;
  top: 12%;
  left: -25%;
  width: 145% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  z-index: 1;
}
.sg-benefits-visual .elementor-widget-image.sg-benefits-visual__card,
.sg-benefits-visual .sg-benefits-visual__card.elementor-widget-image {
  position: absolute !important;
  right: 3%;
  bottom: 4%;
  width: 42% !important;
  max-width: none !important;
  z-index: 2 !important;
  margin: 0 !important;
  transform: rotate(12deg);
  filter: drop-shadow(0 18px 22px rgba(18, 0, 51, 0.3));
  pointer-events: none;
}
.sg-benefit-card.e-con {
  --display: flex;
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
}
.sg-benefit-card.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  gap: 0 !important;
}

.hiw-card.e-con {
  --display: flex;
  display: flex !important;
  flex-direction: column !important;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
  padding: 0 !important;
}
.hiw-card.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  padding: 34px 0 0 !important;
  gap: 0 !important;
}
.hiw-card .hiw-title,
.hiw-card .hiw-text,
.hiw-card .elementor-element[class*="sghiwt"],
.hiw-card .elementor-element[class*="sghiwx"] {
  padding-left: 18px !important;
  padding-right: 18px !important;
  margin: 0 !important;
}
.hiw-card .elementor-widget-heading .elementor-widget-container,
.hiw-card .elementor-widget-text-editor .elementor-widget-container,
.hiw-card .elementor-widget-image .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}
.hiw-card .hiw-badge {
  position: absolute;
  top: -22px;
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 44px;
  margin: 0 !important;
  z-index: 2;
}
.hiw-card .hiw-badge .elementor-heading-title {
  width: 44px;
  height: 44px;
  margin: 0 !important;
  border-radius: 50%;
  background: var(--sg-orange);
  color: #fff !important;
  font-family: Archivo, sans-serif !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(243, 151, 4, .4);
}
.hiw-card .hiw-title .elementor-heading-title,
.hiw-card h4.hiw-title {
  margin: 0 0 10px !important;
  font-family: Archivo, sans-serif !important;
  font-weight: 700 !important;
  font-size: 19px !important;
  line-height: 1.25 !important;
  text-align: center !important;
  color: var(--sg-purple-darkest) !important;
}
.hiw-card .hiw-img,
.hiw-card .elementor-widget-image.hiw-img,
.hiw-card .hiw-img img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto;
  margin-top: auto;
  padding: 0 !important;
  border-bottom-left-radius: 18px;
  border-bottom-right-radius: 18px;
}
.hiw-row .elementor-widget-html,
.hiw-row .hiw-arrow {
  display: flex !important;
  align-items: center;
  flex: 0 0 auto !important;
  width: auto !important;
}
.hiw-features.e-con {
  --display: flex;
  --flex-direction: row;
  --flex-wrap: nowrap;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: 100%;
}
.hiw-features.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  width: 100%;
  max-width: none;
  margin: 0 auto !important;
  padding: 0 !important;
}
.hiw-feature.e-con {
  --display: flex;
  --flex-direction: row;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}
.hiw-feature-text.e-con {
  --display: flex;
  --flex-direction: column;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  gap: 0 !important;
}
.hiw-feature-logo.e-con {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 160px !important;
}
.hiw-feature.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 !important;
}
.hiw-feature h4,
.hiw-feature .elementor-heading-title {
  margin: 0 !important;
  color: #120033 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.3;
  text-align: left !important;
}
.hiw-feature p {
  margin: 0 !important;
  color: #6b6480 !important;
  font-size: 14px !important;
  line-height: 1.3;
}

.sg-home-stats > .e-con-inner > .elementor-widget-heading,
.sg-home-stats > .e-con-inner > .elementor-widget-text-editor.subtitle {
  max-width: 818px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  width: 100%;
}
.sg-home-stats > .e-con-inner > .elementor-widget-text-editor.subtitle {
  padding-bottom: 50px;
}
.sg-home-faq > .e-con-inner > .elementor-widget-heading:first-child {
  width: 66.6667%;
  margin-left: 16.6667%;
  margin-right: 16.6667%;
}
.sg-home-stats h2,
.sg-home-stats .title .elementor-heading-title {
  color: var(--sg-purple-darkest) !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 60px !important;
  line-height: 50px !important;
  padding-bottom: 20px;
  margin: 0 0 8.5px !important;
  text-align: center !important;
}
.sg-home-stats .subtitle,
.sg-home-stats .subtitle p,
.sg-home-stats p.subtitle {
  color: var(--sg-purple-darkest) !important;
  font-family: "Gilroy Light", sans-serif !important;
  font-weight: 300 !important;
  font-size: 30px !important;
  line-height: 40px !important;
  margin: 0 0 8.5px !important;
  text-align: center !important;
}
.sg-stats-squares.e-con,
.sg-stats-squares.e-con > .e-con-inner {
  --display: block;
  display: block !important;
  overflow: hidden;
  max-width: none;
  width: 100%;
  margin: 0 auto;
  padding: 0 !important;
}
.sg-stats-squares .square.e-con {
  --display: block;
  display: block !important;
  float: left;
  position: relative;
  width: 33.3%;
  padding: 0 !important;
  padding-bottom: 33.3% !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden;
}
.sg-stats-squares .square.e-con > .e-con-inner {
  position: absolute;
  inset: 2%;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  padding: 0 !important;
  border-radius: 50%;
}
.sg-stats-squares .square.c-1 > .e-con-inner { background: #592ddf; }
.sg-stats-squares .square.c-2 > .e-con-inner { background: #23035e; }
.sg-stats-squares .square.c-3 > .e-con-inner { background: #f39704; }
.sg-stats-squares .elementor-widget,
.sg-stats-squares .elementor-widget-container {
  display: contents !important;
}
.sg-stats-squares .number,
.sg-stats-squares .text {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  font-family: "Gilroy Light", sans-serif;
  text-align: center;
  color: #fff;
}
.sg-stats-squares .number {
  transform: translate(-50%, -50%);
  font-size: 60px;
}
.sg-stats-squares .square.c-1 .number,
.sg-stats-squares .square.c-2 .number { font-size: 90px; }
.sg-stats-squares .square.c-2 .number,
.sg-stats-squares .square.c-2 .text { color: #f39704; }
.sg-stats-squares .square.c-3 .number,
.sg-stats-squares .square.c-3 .text { color: #23035e; }
.sg-stats-squares .text {
  transform: translate(-50%, 50%);
  bottom: 100px;
  font-size: 30px;
  line-height: 30px;
  white-space: normal;
}

.sg-logo-carousel.e-con {
  --display: block;
  display: block !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 1480px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  box-sizing: border-box;
  height: 267px;
}
.sg-logo-carousel.e-con > .e-con-inner,
.sg-logo-carousel__track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 20px !important;
  padding: 0 !important;
  max-width: none !important;
  width: max-content !important;
}
.sg-logo-carousel .elementor-widget-image,
.sg-logo-carousel .sg-logo-carousel__slide {
  flex: 0 0 auto !important;
  height: 267px;
  margin: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.sg-logo-carousel .elementor-widget-image img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 100% !important;
  object-fit: contain !important;
  filter: none;
}

.qe-faq-toggle.e-con {
  --display: block;
  display: block !important;
  width: 91.6667%;
  margin: 0 0 0 8.3333%;
  padding: 0 !important;
}
.qe-faq-toggle.e-con > .e-con-inner {
  display: block !important;
  padding: 0 !important;
  gap: 0 !important;
}
.qe-faq-toggle .elementor-widget-heading {
  background: #fafafa;
  padding: 17px;
  cursor: pointer;
  border: 1px solid #ddd;
  margin: 0 !important;
}
.qe-faq-toggle + .qe-faq-toggle .elementor-widget-heading {
  border-top: 0;
}
.qe-faq-toggle .elementor-heading-title {
  margin: 0 !important;
  display: flex;
  align-items: center;
  gap: 8.5px;
  color: #414141 !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 17px !important;
  font-weight: 500;
  line-height: 1.2 !important;
}
.qe-faq-toggle .elementor-heading-title::before {
  content: "";
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 17px 17px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23414141'/%3E%3Crect x='3.4' y='7.15' width='9.2' height='1.7' fill='%23fff'/%3E%3Crect x='7.15' y='3.4' width='1.7' height='9.2' fill='%23fff'/%3E%3C/svg%3E");
}
.qe-faq-toggle.is-open .elementor-heading-title::before,
.qe-faq-toggle.active .elementor-heading-title::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23414141'/%3E%3Crect x='3.4' y='7.15' width='9.2' height='1.7' fill='%23fff'/%3E%3C/svg%3E");
}
.qe-faq-toggle .elementor-widget-heading {
  transition: background-color 0.2s ease;
}
.qe-faq-toggle .elementor-widget-heading:hover,
.qe-faq-toggle.is-open .elementor-widget-heading,
.qe-faq-toggle.active .elementor-widget-heading {
  background: #eaeaea !important;
}
.qe-faq-toggle .elementor-widget-text-editor,
.qe-faq-toggle .qe-toggle-content {
  display: none;
  padding: 25.5px !important;
  font-family: Archivo, sans-serif;
  font-size: 17px;
  line-height: 1.5;
  color: #212529;
  border: 1px solid #ddd;
  border-top: 0;
  background: #fff;
}
.qe-faq-toggle .elementor-widget-text-editor .elementor-widget-container,
.qe-faq-toggle .qe-toggle-content .elementor-widget-container,
.qe-faq-toggle .qe-toggle-content p,
.qe-faq-toggle .elementor-widget-text-editor p {
  margin: 0 !important;
  padding: 0 !important;
}

.sg-guarantee-html.e-con,
.sg-cta-html.e-con,
.sg-memberships.e-con {
  --display: flex;
  display: flex !important;
  flex-direction: column;
  align-items: center;
}
.sg-memberships.e-con {
  align-items: stretch;
}
.sg-memberships .title,
.sg-memberships h2,
.sg-memberships .elementor-heading-title {
  text-align: left !important;
  width: 100%;
}
.sg-guarantee-html.e-con > .e-con-inner,
.sg-cta-html.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  max-width: 83.3333%;
  margin: 0 auto;
  text-align: center;
  gap: 0 !important;
}
.sg-cta-html .button-row.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap;
}
.sg-cta-html .sg-button-orange .elementor-button,
.sg-cta-html .sg-button-purple .elementor-button {
  min-width: 230px;
  min-height: 56px;
  border-radius: 12px !important;
  font-size: 18px !important;
  justify-content: center !important;
  text-align: center !important;
}
.sg-cta-html .sg-button-orange .elementor-button { background: #f39704 !important; color: #fff !important; }
.sg-cta-html .sg-button-purple .elementor-button { background: #592ddf !important; color: #fff !important; }

.sg-home-faq > .e-con-inner > .elementor-widget-heading:last-of-type {
  margin-top: 50px;
}

/* —— Footer ——
 * Production parity (smartgifty.com Astra footer, measured with Playwright at 1280/1366/1440/1920):
 * #footer padding 80px 0; .ast-container max 1480px incl. 20px side padding; bootstrap .row
 * (12.75px gutters) with col-md-2 | offset-md-4 col-md-5. Text, links and markup (company /
 * email-us / send-us / smart-gifty / copyright / numo-logo blocks) live in the Elementor template
 * "SmartGifty Footer"; this block only replicates prod's CSS values. */
.elementor-location-footer,
.sg-elementor-footer,
.sg-site-footer {
  background: var(--sg-purple-darkest) !important;
  color: #fff !important;
  padding: 0 !important;
  font-family: Archivo, sans-serif;
  font-size: 17px;
  line-height: 1.5;
}
.sg-elementor-footer.e-con {
  padding: 80px 0 !important;
}
.elementor-location-footer .elementor-widget-container,
.elementor-location-footer .elementor-widget-text-editor,
.elementor-location-footer .elementor-widget-text-editor p,
.elementor-location-footer .elementor-widget-text-editor div {
  color: #fff;
  font-family: Archivo, sans-serif !important;
}
.elementor-location-footer .elementor-widget-text-editor {
  font-size: 17px !important;
  line-height: 1.5 !important;
}
.elementor-location-footer .elementor-widget-text-editor p {
  margin: 0 0 17px !important;
  padding: 0;
}
.elementor-location-footer b,
.elementor-location-footer strong { font-weight: 700; }
.elementor-location-footer a:not(.elementor-button) {
  color: var(--sg-orange) !important;
  text-decoration: underline;
}
.elementor-location-footer .text { font-size: 17px; line-height: 24px; }
.elementor-location-footer small { font-size: .875em; }
.elementor-location-footer .company,
.elementor-location-footer .email-us { padding-bottom: 22px; }
/* prod: <b></b><br><br> (2 × 25.5px lines) + the empty .call-us block (22px) */
.elementor-location-footer .email-us { margin-top: 73px; }
/* prod: <p><b></b><br><b>Subscribe</b></p> — an empty 24px line above "Subscribe" */
.elementor-location-footer .sg-footer-subscribe { padding-top: 24px !important; }
.elementor-location-footer h2,
.elementor-location-footer .elementor-heading-title {
  color: #fff !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 20px !important;
  line-height: 30px !important;
  font-weight: 400 !important;
  margin: 0 0 17px !important;
}
.elementor-location-footer .smart-gifty { padding-bottom: 50px; }
.elementor-location-footer .footer-logos-wrap__vauchers { margin: 0 0 30px; }
.elementor-location-footer .footer-logos-wrap__vauchers p {
  color: #f4f4f4 !important;
  margin: 10px 0 0 !important;
  font-size: 12px !important;
  line-height: 18px !important;
}
.sg-footer-eu { display: flex; align-items: center; margin: 0; }
.sg-footer-eu img { display: block; height: auto !important; width: auto !important; max-width: 90px !important; margin: 0 30px 0 0; object-fit: contain; }
.elementor-location-footer .copyright { font-size: 17px; line-height: 1.5; }
.elementor-location-footer .copyright *,
.elementor-location-footer .copyright p { font-size: 15px !important; line-height: 1.5 !important; }
.elementor-location-footer .copyright .terms { padding-left: 45px; }
/* EN wraps FAQ below 1366px exactly like prod; the translated short labels keep one line
 * down to ~1260px with a slightly smaller gap (EN untouched). */
@media (max-width: 1365px) {
  html:not([lang|="en"]) .elementor-location-footer .copyright .terms { padding-left: 45px; }
}
.sg-footer-numo { padding-top: 30px; }
.sg-footer-numo img { display: inline; height: auto; width: auto; vertical-align: middle; }
.elementor-location-footer .sg-footer-contact .elementor-widget-button { text-align: left !important; }
.elementor-location-footer .sg-footer-contact .elementor-button {
  display: inline-block !important;
  width: 230px !important;
  min-height: 0 !important;
  padding: 16px 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  background: #f39704 !important;
  color: #fff !important;
  font-family: Archivo, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  text-align: center !important;
  text-decoration: none !important;
  transform: none !important;
  transition: background-color .3s !important;
}
.elementor-location-footer .sg-footer-contact .elementor-button:hover { background: #d48302 !important; transform: none !important; }
.elementor-location-footer .sg-footer-contact .elementor-button-content-wrapper,
.elementor-location-footer .sg-footer-contact .elementor-button-text {
  display: inline !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
}

/* Custom 404 page, matching the production layout while using the shared site chrome. */
.sg-error-page {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  min-height: 460px;
  padding: 120px 24px 72px;
  background: #fff;
  text-align: center;
}
.sg-error-page__content {
  width: min(100%, 1200px);
}
.sg-error-page h1 {
  margin: 0 0 18px;
  color: #f39704;
  font-family: "Gilroy Extra Bold", sans-serif;
  font-size: clamp(36px, 4vw, 50px);
  font-weight: 700;
  line-height: 1.16;
}
.sg-error-page p {
  margin: 0;
  color: #302d2b;
  font-family: "Gilroy Extra Bold", sans-serif;
  font-size: clamp(18px, 2vw, 25px);
  font-weight: 700;
  line-height: 1.4;
}
.sg-error-page__search {
  position: relative;
  display: flex;
  width: min(100%, 254px);
  height: 58px;
  margin: 36px auto 0;
  border: 1px solid #dedede;
  border-radius: 2px;
  background: #f8f8f8;
}
.sg-error-page__search input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: 0 48px 0 14px;
  border: 0;
  outline-offset: -3px;
  background: transparent;
  color: #302d2b;
  font: 16px/1.4 Archivo, sans-serif;
}
.sg-error-page__search input::placeholder { color: #858585; opacity: 1; }
.sg-error-page__search button {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  width: 48px;
  height: 100%;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: #555;
  cursor: pointer;
}
.sg-error-page__search button svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 2;
}
.sg-error-page__search button:focus-visible,
.sg-error-page__search input:focus-visible { outline: 2px solid #592ddf; }

@media (max-width: 767px) {
  .sg-error-page {
    min-height: 390px;
    padding: 76px 22px 64px;
  }
  .sg-error-page h1 {
    max-width: 560px;
    margin: 0 auto 16px;
    font-size: clamp(32px, 8.5vw, 40px);
    line-height: 1.12;
  }
  .sg-error-page p {
    max-width: 560px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.45;
  }
  .sg-error-page__search { margin-top: 28px; }
}

@media (min-width: 768px) {
  .sg-footer-grid.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    width: calc(100% - 14.5px) !important;
    max-width: 1465.5px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 0 !important;
  }
  .sg-footer-grid.e-con > .e-con-inner > .sg-footer-contact.e-con,
  .sg-footer-grid.e-con > .e-con-inner > .sg-footer-about.e-con {
    display: block !important;
    box-sizing: border-box !important;
    padding: 0 12.75px !important;
  }
  .sg-footer-contact {
    flex: 0 0 16.666667% !important;
    width: 16.666667% !important;
    max-width: 16.666667% !important;
  }
  .sg-footer-about {
    flex: 0 0 41.666667% !important;
    width: 41.666667% !important;
    max-width: 41.666667% !important;
    margin-left: 33.333333% !important;
  }
  .sg-footer-grid.e-con > .e-con-inner > .sg-footer-contact.e-con {
    flex: 0 0 16.666667% !important;
    width: 16.666667% !important;
    max-width: 16.666667% !important;
  }
  .sg-footer-grid.e-con > .e-con-inner > .sg-footer-about.e-con {
    flex: 0 0 41.666667% !important;
    width: 41.666667% !important;
    max-width: 41.666667% !important;
    margin-left: 33.333333% !important;
  }
}

/* Final mobile hero parity with the production layout. */
@media (max-width: 767px) {
  body.sg-elementor-home .sg-home-hero.e-con {
    gap: 0 !important;
  }

  body.sg-elementor-home .sg-home-hero .sg-home-hero__eyebrow,
  body.sg-elementor-home .sg-home-hero .sg-home-hero__eyebrow p {
    line-height: 1.08 !important;
  }

  body.sg-elementor-home .sg-home-hero__actions .elementor-button {
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 20.4px !important;
    border: 2px solid transparent !important;
  }

  body.sg-elementor-home .sg-home-hero__actions .elementor-element-sgheropr .elementor-button {
    border-color: rgba(255, 255, 255, 0.72) !important;
  }

  body.sg-elementor-home .sg-home-hero__audiences a {
    text-decoration: none !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheropd {
    width: 118% !important;
    max-width: none !important;
    margin: 8px 0 -20px -8.85% !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheropd img {
    width: 100% !important;
    max-width: none !important;
  }
}

/* Reset legacy fixed desktop layouts in the shopping-centre stats on phones. */
@media (max-width: 767px) {
  body.sg-solution-shopping #content .sg-solution-numbers,
  body.sg-solution-shopping #content .sg-solution-numbers * {
    box-sizing: border-box !important;
  }
  body.sg-solution-shopping #content .sg-solution-numbers__full.e-con,
  body.sg-solution-shopping #content .sg-solution-numbers__two.e-con,
  body.sg-solution-shopping #content .sg-solution-numbers__three.e-con,
  body.sg-solution-shopping #content .sg-solution-numbers__cell.e-con,
  body.sg-solution-shopping #content .sg-solution-numbers__cta.e-con {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    transform: none !important;
    overflow: visible !important;
  }
  body.sg-solution-shopping #content .sg-solution-numbers__full.e-con {
    padding: 20px 0 24px !important;
  }
  body.sg-solution-shopping #content .sg-solution-numbers__two.e-con,
  body.sg-solution-shopping #content .sg-solution-numbers__three.e-con {
    padding: 0 !important;
  }
  body.sg-solution-shopping #content .sg-solution-numbers__full.e-con > .e-con-inner,
  body.sg-solution-shopping #content .sg-solution-numbers__two.e-con > .e-con-inner,
  body.sg-solution-shopping #content .sg-solution-numbers__three.e-con > .e-con-inner,
  body.sg-solution-shopping #content .sg-solution-numbers__cell.e-con > .e-con-inner,
  body.sg-solution-shopping #content .sg-solution-numbers__cta.e-con > .e-con-inner {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    overflow: visible !important;
  }
  body.sg-solution-shopping #content .sg-solution-numbers__two .sg-solution-numbers__cell.e-con,
  body.sg-solution-shopping #content .sg-solution-numbers__three .sg-solution-numbers__cell.e-con {
    padding: 18px 0 !important;
  }
  body.sg-solution-shopping #content .sg-solution-numbers__full .elementor-widget,
  body.sg-solution-shopping #content .sg-solution-numbers__two .elementor-widget,
  body.sg-solution-shopping #content .sg-solution-numbers__three .elementor-widget,
  body.sg-solution-shopping #content .sg-solution-numbers__cta .elementor-widget {
    display: block !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
    position: static !important;
    inset: auto !important;
    float: none !important;
    clear: both !important;
    translate: none !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.sg-solution-shopping #content .sg-solution-numbers__full .text-first,
  body.sg-solution-shopping #content .sg-solution-numbers__cell .text-big,
  body.sg-solution-shopping #content .sg-solution-numbers__cell .text-small,
  body.sg-solution-shopping #content .sg-solution-numbers__full .text-first p,
  body.sg-solution-shopping #content .sg-solution-numbers__cell .text-big p,
  body.sg-solution-shopping #content .sg-solution-numbers__cell .text-small p {
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    translate: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: normal !important;
  }
  body.sg-solution-shopping #content .sg-solution-numbers__cta .elementor-button {
    display: flex !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    translate: none !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 320px !important;
    min-height: 52px !important;
    margin: 0 !important;
  }
}



/* Git-managed acquisition, loyalty and guarantee pages. */
body.sg-buy-offer-page,
body.sg-buy-form-page,
body.sg-loyalty-page,
body.sg-guarantee-page,
body.sg-survey-page {
  --sg-content-width: 1160px;
}

body.sg-buy-offer-page .sg-buy-offer-hero,
body.sg-buy-form-page .sg-buy-form-hero,
body.sg-loyalty-page .sg-loyalty-hero {
  background: linear-gradient(128deg, #21015f 0%, #351078 56%, #5521b4 100%);
  color: #fff;
  padding: clamp(64px, 8vw, 108px) 24px clamp(70px, 8vw, 104px);
}

body.sg-buy-offer-page .sg-buy-offer-hero__inner,
body.sg-buy-form-page .sg-buy-form-hero__inner,
body.sg-loyalty-page .sg-loyalty-hero__inner {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}

body.sg-buy-offer-page .sg-buy-offer-eyebrow,
body.sg-loyalty-page .sg-loyalty-eyebrow,
body.sg-survey-page .sg-survey-eyebrow {
  margin: 0 0 14px;
  color: #ffc15a;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}

body.sg-buy-offer-page .sg-buy-offer-hero h1,
body.sg-buy-form-page .sg-buy-form-hero h1,
body.sg-loyalty-page .sg-loyalty-hero h1 {
  max-width: 18ch;
  margin: 0 auto 18px;
  color: #fff;
  font-size: clamp(38px, 5vw, 62px);
  line-height: 1.08;
  text-wrap: balance;
}

body.sg-buy-offer-page .sg-buy-offer-lead,
body.sg-buy-form-page .sg-buy-form-lead,
body.sg-loyalty-page .sg-loyalty-lead {
  max-width: 720px;
  margin: 0 auto 28px;
  color: rgba(255,255,255,.86);
  font-size: clamp(18px, 2vw, 21px);
  line-height: 1.55;
}

body.sg-buy-offer-page .sg-buy-section,
body.sg-loyalty-page .sg-loyalty-section {
  padding: clamp(52px, 7vw, 88px) 24px;
  text-align: center;
}

body.sg-buy-offer-page .sg-buy-section--tint,
body.sg-loyalty-page .sg-loyalty-section--tint {
  background: #f6f3fb;
}

body.sg-buy-offer-page .sg-buy-section > .elementor-widget-heading,
body.sg-loyalty-page .sg-loyalty-section > .elementor-widget-heading {
  margin: 0 auto 30px;
}

body.sg-buy-offer-page .sg-buy-section h2,
body.sg-loyalty-page .sg-loyalty-section h2 {
  max-width: 24ch;
  margin: 0 auto;
  color: #21015f;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.16;
  text-wrap: balance;
}

body.sg-buy-offer-page .sg-buy-card-grid,
body.sg-loyalty-page .sg-buy-card-grid {
  max-width: var(--sg-content-width);
  margin: 30px auto 0;
  gap: 20px;
  align-items: stretch;
}

body.sg-buy-offer-page .sg-buy-card,
body.sg-buy-offer-page .sg-buy-step,
body.sg-loyalty-page .sg-buy-card,
body.sg-loyalty-page .sg-buy-step {
  flex: 1 1 0;
  min-width: 0;
  padding: 28px 26px;
  border: 1px solid #e8e1f4;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 35px rgba(35, 3, 94, .07);
  text-align: left;
}

body.sg-buy-offer-page .sg-buy-step,
body.sg-loyalty-page .sg-buy-step {
  border-top: 4px solid #f39704;
}

body.sg-buy-offer-page .sg-buy-card h3,
body.sg-buy-offer-page .sg-buy-step h3,
body.sg-loyalty-page .sg-buy-card h3,
body.sg-loyalty-page .sg-buy-step h3 {
  margin: 0 0 12px;
  color: #2c007c;
  font-size: 21px;
  line-height: 1.25;
}

body.sg-buy-offer-page .sg-buy-card p,
body.sg-buy-offer-page .sg-buy-step p,
body.sg-loyalty-page .sg-buy-card p,
body.sg-loyalty-page .sg-buy-step p {
  margin: 0;
  color: #555064;
  font-size: 16px;
  line-height: 1.6;
}

body.sg-buy-offer-page .sg-buy-note,
body.sg-loyalty-page .sg-buy-note {
  max-width: 760px;
  margin: 24px auto;
  color: #655e70;
  font-size: 14px;
}

body.sg-buy-offer-page .elementor-button,
body.sg-buy-form-page .elementor-button,
body.sg-loyalty-page .elementor-button,
body.sg-survey-page .elementor-button {
  min-height: 52px;
  padding: 15px 28px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(100deg, #f39704, #c87916);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
}

body.sg-buy-offer-page .sg-buy-section .elementor-button,
body.sg-loyalty-page .sg-loyalty-section .elementor-button {
  margin-top: 18px;
}

body.sg-buy-form-page .sg-buy-form-section {
  padding: 0 24px 80px;
  background: linear-gradient(180deg, #f6f3fb 0 180px, #fff 180px 100%);
}

body.sg-buy-form-page .sg-buy-form-shell {
  position: relative;
  max-width: 920px;
  margin: -42px auto 0;
  padding: clamp(24px, 4vw, 48px);
  border: 1px solid #e8e1f4;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(35, 3, 94, .12);
}

body.sg-buy-form-page .sg-buy-form .elementor-field-group {
  margin-bottom: 14px;
}

body.sg-buy-form-page .sg-buy-form .elementor-field-label {
  color: #342747;
  font-weight: 600;
}

body.sg-buy-form-page .sg-buy-form input:not([type=checkbox]),
body.sg-buy-form-page .sg-buy-form select,
body.sg-buy-form-page .sg-buy-form textarea {
  min-height: 48px;
  border: 1px solid #d9d1e6;
  border-radius: 8px;
  background: #fff;
  color: #2b2335;
}

body.sg-guarantee-page .sg-guarantee-terms {
  padding: clamp(42px, 7vw, 88px) 24px;
}

body.sg-guarantee-page .sg-guarantee-terms__content {
  max-width: 920px;
  margin: 0 auto;
  padding: clamp(24px, 5vw, 56px);
  border: 1px solid #ece7f3;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 40px rgba(35, 3, 94, .06);
}

body.sg-guarantee-page .sg-terms-title {
  margin-bottom: 20px;
  color: #21015f;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.12;
}

body.sg-guarantee-page .sg-terms-intro,
body.sg-guarantee-page .sg-terms-body {
  color: #50495a;
  font-size: 16px;
  line-height: 1.72;
}

body.sg-guarantee-page .sg-terms-heading {
  margin: 30px 0 10px;
  color: #2c007c;
  font-size: 23px;
  line-height: 1.3;
}

body.sg-survey-page .sg-survey-thanks {
  min-height: min(70vh, 720px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 52px 24px;
  background: linear-gradient(135deg, #f6f3fb, #fff);
}

body.sg-survey-page .sg-survey-thanks__card {
  width: min(100%, 720px);
  padding: clamp(28px, 5vw, 56px);
  border: 1px solid #e8e1f4;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 52px rgba(35, 3, 94, .1);
  text-align: center;
}

body.sg-survey-page .sg-survey-thanks h1 {
  color: #21015f;
  font-size: clamp(32px, 4vw, 46px);
  line-height: 1.14;
}

body.sg-survey-page .sg-survey-lead { color: #565060; font-size: 18px; line-height: 1.6; }
body.sg-survey-page .sg-button-purple .elementor-button { background: #592ddf; }

@media (max-width: 767px) {
  body.sg-buy-offer-page .sg-buy-offer-hero,
  body.sg-buy-form-page .sg-buy-form-hero,
  body.sg-loyalty-page .sg-loyalty-hero { padding: 54px 20px 64px; }

  body.sg-buy-offer-page .sg-buy-section,
  body.sg-loyalty-page .sg-loyalty-section { padding: 48px 20px; }

  body.sg-buy-offer-page .sg-buy-card-grid,
  body.sg-loyalty-page .sg-buy-card-grid { gap: 14px; }

  body.sg-buy-offer-page .sg-buy-card-grid.e-con > .e-con-inner,
  body.sg-loyalty-page .sg-buy-card-grid.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    flex-direction: column !important;
  }

  body.sg-buy-offer-page .sg-buy-card,
  body.sg-buy-offer-page .sg-buy-step,
  body.sg-loyalty-page .sg-buy-card,
  body.sg-loyalty-page .sg-buy-step {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    padding: 22px;
  }

  body.sg-buy-form-page .sg-buy-form-section { padding: 0 16px 54px; background: #f6f3fb; }
  body.sg-buy-form-page .sg-buy-form-shell { margin-top: -28px; padding: 22px 18px; }
  body.sg-buy-form-page .sg-buy-form .elementor-field-group { width: 100% !important; }
  body.sg-buy-form-page .sg-buy-form .elementor-button { width: 100%; }
  body.sg-guarantee-page .sg-guarantee-terms { padding: 32px 16px; }
  body.sg-guarantee-page .sg-guarantee-terms__content { padding: 24px 20px; }
  body.sg-guarantee-page .sg-terms-heading { font-size: 20px; }
  body.sg-survey-page .sg-survey-thanks { min-height: 52vh; padding: 36px 16px; }
}

/* Migrated orphan pages follow the current production desktop composition. */
body.sg-buy-offer-page .sg-buy-offer-hero,
body.sg-buy-form-page .sg-buy-form-hero,
body.sg-loyalty-page .sg-loyalty-hero {
  background: #fff !important;
  color: #414141 !important;
  padding: 20px 24px 34px !important;
}
body.sg-buy-offer-page .sg-buy-offer-hero__inner,
body.sg-buy-form-page .sg-buy-form-hero__inner,
body.sg-loyalty-page .sg-loyalty-hero__inner {
  max-width: 1128px !important;
  text-align: left !important;
}
body.sg-buy-offer-page .sg-buy-offer-hero h1,
body.sg-buy-form-page .sg-buy-form-hero h1,
body.sg-loyalty-page .sg-loyalty-hero h1 {
  max-width: 1100px !important;
  margin: 0 0 12px !important;
  color: #414141 !important;
  font-size: clamp(42px, 4.2vw, 60px) !important;
  line-height: 1.1 !important;
  text-align: left !important;
}
body.sg-buy-offer-page .sg-buy-offer-hero h2,
body.sg-buy-form-page .sg-buy-form-hero h2,
body.sg-loyalty-page .sg-loyalty-hero h2 {
  max-width: 1128px;
  margin: 0 0 12px;
  color: #414141;
  font-size: clamp(26px, 2.5vw, 36px);
  line-height: 1.2;
}
body.sg-buy-offer-page .sg-buy-section,
body.sg-loyalty-page .sg-loyalty-section,
body.sg-buy-form-page .sg-buy-faq {
  max-width: 1128px;
  margin-right: auto;
  margin-left: auto;
  padding: 28px 24px 40px !important;
  text-align: left !important;
}
body.sg-buy-offer-page .sg-buy-section h2,
body.sg-loyalty-page .sg-loyalty-section h2,
body.sg-buy-form-page .sg-buy-faq h2 {
  max-width: none !important;
  margin: 0 0 12px !important;
  color: #414141 !important;
  font-size: 34px !important;
  line-height: 1.2 !important;
  text-align: left !important;
}
body.sg-buy-offer-page .sg-buy-section h3,
body.sg-loyalty-page .sg-loyalty-section h3,
body.sg-buy-form-page .sg-buy-faq h3 {
  margin: 18px 0 8px !important;
  color: #414141 !important;
  font-size: 20px !important;
  line-height: 1.35 !important;
}
body.sg-buy-offer-page .sg-buy-audience-intro,
body.sg-buy-offer-page .sg-buy-audience-close,
body.sg-buy-offer-page .sg-buy-section p,
body.sg-loyalty-page .sg-loyalty-section p,
body.sg-buy-form-page .sg-buy-form-lead {
  color: #414141 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}
body.sg-buy-offer-page .sg-buy-audience-grid,
body.sg-buy-offer-page .sg-buy-how-grid,
body.sg-loyalty-page .sg-loyalty-content-grid {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: 1128px !important;
  margin: 0 auto !important;
}
body.sg-buy-offer-page .sg-buy-audience-copy,
body.sg-loyalty-page .sg-loyalty-copy { flex: 1 1 65% !important; min-width: 0 !important; }
body.sg-buy-offer-page .sg-buy-illustration,
body.sg-loyalty-page .sg-loyalty-illustration { flex: 0 1 38% !important; width: 38% !important; max-width: 38% !important; }
body.sg-buy-offer-page .sg-buy-audience ul,
body.sg-buy-offer-page .sg-buy-how ul,
body.sg-buy-offer-page .sg-buy-benefit-list ul,
body.sg-loyalty-page .sg-loyalty-section ul {
  margin: 0 0 20px !important;
  padding-left: 26px !important;
  color: #414141 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}
body.sg-buy-offer-page .sg-buy-audience li,
body.sg-buy-offer-page .sg-buy-how li,
body.sg-buy-offer-page .sg-buy-benefit-list li,
body.sg-loyalty-page .sg-loyalty-section li { margin: 0 !important; }
body.sg-buy-offer-page .sg-buy-numbered-list { flex: 1 1 54% !important; }
body.sg-buy-offer-page .sg-buy-numbered-list ol { padding-left: 28px; }
body.sg-buy-offer-page .sg-buy-referral,
body.sg-buy-offer-page .sg-buy-fill,
body.sg-buy-offer-page .sg-buy-guarantee,
body.sg-buy-form-page .sg-buy-faq { background: #fff !important; }
body.sg-buy-offer-page .sg-buy-benefit-grid {
  display: flex !important;
  flex-direction: row !important;
  gap: 24px !important;
  width: 100% !important;
}
body.sg-buy-offer-page .sg-buy-benefit-list { flex: 1 1 0 !important; min-width: 0 !important; }
body.sg-buy-offer-page .sg-buy-benefit-list strong { color: #414141; }
body.sg-buy-offer-page .sg-buy-logos {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 36px max(24px, calc((100% - 1128px) / 2)) !important;
  overflow: hidden;
  background: #fafafa !important;
}
body.sg-buy-offer-page .sg-buy-logos .elementor-widget-image { flex: 0 0 auto; width: 92px; }
body.sg-buy-offer-page .sg-buy-logos img { display: block; max-height: 70px; width: auto; max-width: 92px; object-fit: contain; filter: grayscale(1); }
body.sg-buy-offer-page .sg-buy-guarantee { max-width: none !important; padding: 50px max(24px, calc((100% - 1128px) / 2)) !important; background: #f7f5fb !important; }
body.sg-buy-offer-page .sg-buy-lead-form { max-width: 680px; margin: 28px auto 0; }
body.sg-buy-offer-page .sg-buy-lead-form .elementor-field-group { width: 50% !important; }
body.sg-buy-offer-page .sg-buy-lead-form .elementor-field-type-submit { width: 100% !important; }
body.sg-buy-offer-page .sg-button-purple .elementor-button,
body.sg-loyalty-page .sg-button-purple .elementor-button,
body.sg-survey-page .sg-button-purple .elementor-button { background: #592ddf !important; }
body.sg-buy-form-page .sg-buy-form-section { padding: 24px 24px 48px !important; background: #fff !important; }
body.sg-buy-form-page .sg-buy-form-shell { max-width: 920px !important; margin: 0 auto !important; box-shadow: none !important; }
body.sg-buy-form-page .sg-buy-faq { padding-top: 36px !important; }
body.sg-buy-form-page .sg-buy-faq-item { border-bottom: 1px solid #ddd; padding: 10px 0 18px; }
body.sg-buy-form-page .sg-buy-faq-grid .sg-buy-faq-item.qe-faq-toggle {
  border: 0 !important;
  padding: 0 !important;
}
body.sg-buy-form-page .sg-buy-faq-grid .qe-faq-toggle .elementor-widget-heading {
  padding: 8px 0 !important;
  background: #fff !important;
  border: 0 !important;
}
body.sg-buy-form-page .sg-buy-faq-grid .qe-faq-toggle .elementor-heading-title {
  color: #2c007c !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 30px !important;
  line-height: 1.2 !important;
}
body.sg-buy-form-page .sg-buy-faq-grid .qe-faq-toggle .elementor-heading-title::before {
  display: none !important;
}
body.sg-buy-form-page .sg-buy-faq-grid .qe-faq-toggle .elementor-widget-text-editor {
  border-color: #fff !important;
  background: #fff !important;
}
@media (max-width: 991px) {
  body.sg-buy-form-page .sg-buy-faq-grid .qe-faq-toggle.e-con {
    width: 100% !important;
    margin-left: 0 !important;
  }
}
@media (max-width: 767px) {
  body.sg-buy-form-page .sg-buy-faq-grid .qe-faq-toggle .elementor-heading-title {
    font-size: 22px !important;
  }
}
body.sg-loyalty-page .sg-loyalty-hero { padding-top: 18px !important; }
body.sg-loyalty-page .sg-loyalty-actions { display: flex !important; flex-direction: row !important; justify-content: flex-start !important; gap: 4px !important; }
body.sg-loyalty-page .sg-loyalty-intro { max-width: 1044px; padding-top: 24px !important; font-size: 28px !important; line-height: 1.4 !important; }
body.sg-loyalty-page .sg-loyalty-why { padding-top: 20px !important; }
body.sg-loyalty-page .sg-loyalty-banner { max-width: 900px; margin: 30px auto; }
body.sg-guarantee-page .sg-guarantee-terms { padding: 30px max(24px, calc((100% - 1128px) / 2)) !important; }
body.sg-guarantee-page .sg-guarantee-terms__content { max-width: 1128px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
body.sg-guarantee-page .sg-terms-title { font-size: 34px !important; color: #414141 !important; }
body.sg-survey-page .sg-survey-page-content { max-width: 920px; margin: 0 auto; padding: 35px 24px 80px !important; }
body.sg-survey-page .sg-survey-content { max-width: 920px; margin: 0 auto; }
body.sg-survey-page .sg-survey-content h1 { color: #414141; font-size: 46px; }
body.sg-survey-page .sg-survey-content h2 { color: #414141; font-size: 24px; line-height: 1.4; }
body.sg-survey-page .sg-survey-form .elementor-field-type-radio .elementor-field-option { display: inline-block; margin-right: 20px; }

/* Desktop survey follows the live marketing page's full-width hero and compact form. */
@media (min-width: 992px) {
  body.sg-survey-page .sg-survey-page-content {
    position: relative;
    width: calc(100% - 40px) !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 70px 0 48px !important;
  }
  body.sg-survey-page .sg-survey-page-content::before {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 317px;
    background: #2c007c;
    content: "";
  }
  body.sg-survey-page .sg-survey-content {
    position: relative;
    z-index: 1;
    width: 100% !important;
    max-width: 996px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
  }
  body.sg-survey-page .sg-survey-content > .elementor-element:first-child { margin-top: 10px !important; }
  body.sg-survey-page .sg-survey-content h1 {
    width: 100% !important;
    max-width: 996px !important;
    margin: 0 0 8px !important;
    color: #fff !important;
    font-size: 60px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
  }
  body.sg-survey-page .sg-survey-content h2 {
    max-width: 1129px;
    margin: 0 !important;
    color: #fff !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    line-height: 1.33 !important;
  }
  body.sg-survey-page .sg-survey-form-widget { margin-top: 273px !important; }
  body.sg-survey-page .sg-survey-frame { display: none !important; }
  body.sg-survey-page .sg-survey-form {
    width: 600px;
    max-width: 100%;
    margin: 0 auto;
    color: #414141;
    font-size: 17px;
    line-height: 1.5;
  }
  body.sg-survey-page .sg-survey-question { display: block; margin: 0 0 26px; padding: 0; border: 0; }
  body.sg-survey-page .sg-survey-question legend,
  body.sg-survey-page .sg-survey-features > span { display: block; margin: 0 0 7px; font-size: 18.7px; font-weight: 400; }
  body.sg-survey-page .sg-survey-option { display: block; min-height: 25.5px; }
  body.sg-survey-page .sg-survey-option input { width: 24px; height: 20px; margin: 0 8px 0 0; vertical-align: middle; }
  body.sg-survey-page .sg-survey-features input { display: block; width: 100%; min-height: 40px; }
  body.sg-survey-page .sg-survey-submit { margin-top: 12px; }
}


/* Desktop alignment for the migrated loyalty page, measured against production. */
@media (min-width: 992px) {
  body.sg-buy-form-page .sg-buy-form-hero {
    min-height: 375px !important;
    padding: 70px 0 120px !important;
    background: #2e087b !important;
    color: #fff !important;
    clip-path: polygon(0 0, 100% 0, 100% 79%, 20% 100%, 0 79%);
  }
  body.sg-buy-form-page .sg-buy-form-hero__inner { max-width: 1052px !important; text-align: left !important; }
  body.sg-buy-form-page .sg-buy-form-hero h1 {
    margin: 0 0 12px !important;
    color: #fff !important;
    font-size: 60px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-align: left !important;
  }
  body.sg-buy-form-page .sg-buy-form-hero .elementor-element-sgbfh1 { margin-bottom: -23px !important; }
  body.sg-buy-form-page .sg-buy-form-hero h2 {
    color: rgba(255,255,255,.8) !important;
    font-family: "Gilroy Light", sans-serif !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    text-align: left !important;
  }
  body.sg-buy-form-page .sg-buy-form-intro { padding: 12px 24px 26px !important; }
  body.sg-buy-form-page .sg-buy-form-intro__inner { max-width: 610px !important; margin: 0 auto !important; }
  body.sg-buy-form-page .sg-buy-form-intro .sg-buy-form-lead,
  body.sg-buy-form-page .sg-buy-form-intro p {
    color: #888 !important;
    font-size: 28px !important;
    font-weight: 300 !important;
    line-height: 1.4 !important;
  }
  body.sg-buy-form-page .sg-buy-form-section { padding: 20px 24px 60px !important; background: #fff !important; }
  body.sg-buy-form-page .sg-buy-form-shell { max-width: 686px !important; margin: 0 auto !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
  body.sg-buy-form-page .sg-buy-form .elementor-field-group { width: 50% !important; margin-bottom: 37.4px !important; }
  body.sg-buy-form-page .sg-buy-form .elementor-field-label { color: #433367 !important; font-weight: 400 !important; line-height: 25.5px !important; }
  body.sg-buy-form-page .sg-buy-form input:not([type=checkbox]),
  body.sg-buy-form-page .sg-buy-form select { min-height: 54px !important; border: 2px solid #e6b66d !important; border-radius: 10px !important; }
  body.sg-buy-form-page .sg-buy-form .elementor-field-type-submit { width: 100% !important; text-align: right !important; }
  body.sg-guarantee-page .sg-guarantee-terms { padding: 71px 24px 48px !important; }
  body.sg-guarantee-page .sg-guarantee-terms__content { max-width: 820px !important; }
  body.sg-guarantee-page .sg-terms-intro,
  body.sg-guarantee-page .sg-terms-body { color: #212529 !important; font-size: 17px !important; line-height: 25.5px !important; }
  body.sg-guarantee-page .sg-terms-intro { margin-bottom: -23px !important; }
  body.sg-guarantee-page .sg-terms-heading { margin-bottom: -10px !important; }
  body.sg-guarantee-page .sg-terms-heading .elementor-heading-title { margin: 0 !important; color: #343434 !important; }
  body.sg-guarantee-page .sg-terms-body { margin-bottom: -22px !important; }
  body.sg-guarantee-page .sg-terms-body ul { padding-left: 70px !important; }
  body.sg-guarantee-page .elementor-element-sggtp02 { margin-bottom: -25px !important; }
  body.sg-guarantee-page .elementor-element-sggtp05 { margin-bottom: 49px !important; }
  body.sg-guarantee-page .elementor-element-sggtp08 { margin-bottom: 39px !important; }
  body.sg-guarantee-page .sg-terms-heading.elementor-widget-heading:has(h2) .elementor-heading-title { font-size: 34px !important; font-weight: 700 !important; line-height: 1.15 !important; }
  body.sg-guarantee-page .sg-terms-heading.elementor-widget-heading:has(h3) .elementor-heading-title {
    font-family: "Gilroy Light", sans-serif !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    line-height: 36px !important;
  }
  body.sg-guarantee-page .sg-terms-heading.elementor-widget-heading:has(h3) { margin-top: 8px !important; }
  body.sg-buy-offer-page .sg-buy-offer-hero { padding-top: 10px !important; padding-bottom: 16px !important; }
  body.sg-buy-offer-page .sg-buy-offer-hero__inner { width: 100% !important; max-width: 996px !important; }
  body.sg-buy-offer-page .sg-buy-offer-hero h1 { width: 996px !important; max-width: 996px !important; font-size: 60px !important; font-weight: 500 !important; text-wrap: wrap !important; transform: translateX(-10px); }
  body.sg-buy-offer-page .sg-buy-offer-hero .elementor-element-sgboh1 { margin-bottom: -12px !important; }
  body.sg-buy-offer-page .sg-buy-offer-hero h2 { width: 996px !important; max-width: 996px !important; font-size: 34px !important; font-weight: 500 !important; text-wrap: wrap !important; transform: translateX(-10px); }
  body.sg-buy-offer-page .sg-buy-offer-hero .elementor-element-sgboh2 { position: relative; top: -13px; transform: translateX(-10px); }
  body.sg-buy-offer-page .sg-buy-offer-hero .elementor-element-sgboh2 { margin-bottom: -24px !important; }
  body.sg-buy-offer-page .sg-buy-offer-hero .elementor-element-sgbocta { position: relative; top: 2px; margin-top: -15px !important; }
  body.sg-buy-offer-page .sg-buy-offer-hero .elementor-element-sgbocta .elementor-button { width: 230px !important; min-height: 60px !important; transform: none; }
  body.sg-buy-offer-page .sg-buy-section:not(.sg-buy-logos):not(.sg-buy-guarantee) { max-width: 996px !important; padding: 25px 0 40px !important; }
  body.sg-buy-offer-page .elementor-element-sgbowho { margin-top: 2px !important; }
  body.sg-buy-offer-page .sg-buy-section > .e-con-inner { align-items: stretch !important; }
  body.sg-buy-offer-page .sg-buy-section > .e-con-inner > .elementor-widget-heading {
    align-self: stretch !important;
    width: 100% !important;
    text-align: left !important;
  }
  body.sg-buy-offer-page .sg-buy-section > .e-con-inner > .elementor-widget-heading .elementor-heading-title { text-align: left !important; }
  body.sg-buy-offer-page .sg-buy-section > .e-con-inner > .elementor-element-sgbowhh { margin-bottom: -36px !important; }
  body.sg-buy-offer-page .elementor-element-sgbowhh { align-self: stretch !important; width: 100% !important; text-align: left !important; }
  body.sg-buy-offer-page .elementor-element-sgbowhh h2 { text-align: left !important; transform: translateY(7px); }
  body.sg-buy-offer-page .elementor-element-sgbowintro { margin-bottom: -70px !important; }
  body.sg-buy-offer-page .elementor-element-sgbowintro { margin-top: -42px !important; }
  body.sg-buy-offer-page .sg-buy-audience-grid { max-width: 996px !important; }
  body.sg-buy-offer-page .sg-buy-audience-intro { max-width: 650px !important; }
  body.sg-buy-offer-page .elementor-element-sgbowimage { transform: translate(-25px, -28px); }
  body.sg-buy-offer-page .elementor-element-sgbowimage img { width: 436px !important; max-width: none !important; }
  body.sg-loyalty-page .sg-loyalty-hero { padding-top: 12px !important; padding-bottom: 24px !important; }
  body.sg-loyalty-page .sg-loyalty-hero__inner { width: 100% !important; max-width: 1048px !important; }
  body.sg-loyalty-page .sg-loyalty-hero h1 { width: 1128px !important; max-width: none !important; font-size: 60px !important; font-weight: 500 !important; }
  body.sg-loyalty-page .sg-loyalty-hero h1,
  body.sg-loyalty-page .sg-loyalty-hero h2,
  body.sg-loyalty-page .sg-loyalty-intro { text-wrap: wrap !important; }
  body.sg-loyalty-page .sg-loyalty-hero h2 { width: 100% !important; max-width: 1048px !important; font-size: 34px !important; font-weight: 500 !important; }
  body.sg-loyalty-page .sg-loyalty-hero .elementor-element-sglyh1 { margin-bottom: -19px !important; }
  body.sg-loyalty-page .sg-loyalty-actions { margin-top: -40px !important; gap: 4px !important; transform: translateX(-11px); }
  body.sg-loyalty-page .sg-loyalty-actions > .e-con-inner { gap: 4px !important; }
  body.sg-loyalty-page .sg-loyalty-actions .elementor-button { width: 230px !important; min-height: 60px !important; }
  body.sg-loyalty-page .sg-loyalty-intro {
    width: 928px !important;
    max-width: calc(100vw - 48px) !important;
    padding-top: 10px !important;
    transform: translate(-15px, 5px);
  }
  body.sg-loyalty-page .sg-loyalty-intro .e-con-inner { width: 1000px !important; max-width: 1000px !important; margin-left: 0 !important; margin-right: auto !important; }
  body.sg-loyalty-page .sg-loyalty-intro p,
  body.sg-loyalty-page .sg-loyalty-intro .elementor-widget-container {
    font-family: "Gilroy Light", sans-serif !important;
    width: 1000px !important;
    max-width: 1000px !important;
    font-size: 28px !important;
    line-height: 1.4 !important;
    font-weight: 300 !important;
  }
  body.sg-loyalty-page .sg-loyalty-section,
  body.sg-loyalty-page .sg-loyalty-content-grid { max-width: 1250px !important; }
  body.sg-loyalty-page .sg-loyalty-content-grid { gap: 24px !important; }
  body.sg-loyalty-page .sg-loyalty-copy { flex: 0 1 48% !important; }
  body.sg-loyalty-page .sg-loyalty-illustration { flex: 0 1 52% !important; width: 52% !important; max-width: 52% !important; }
  body.sg-loyalty-page .sg-loyalty-section h2 {
    color: #777 !important;
    font-size: 30px !important;
    font-weight: 300 !important;
  }
}

@media (max-width: 600px) {
  body.sg-guarantee-page .sg-guarantee-terms {
    padding:75px 20px 32px !important;
  }
  body.sg-guarantee-page .sg-guarantee-terms__content {
    padding:0 !important;
  }
  body.sg-guarantee-page .sg-terms-intro,
  body.sg-guarantee-page .sg-terms-body {
    color:#212529 !important;
    font-size:16px !important;
    line-height:24px !important;
  }
  body.sg-guarantee-page .sg-terms-intro { margin-bottom:-15px !important; }
  body.sg-guarantee-page .sg-terms-heading {
    margin-top:24px !important;
    margin-bottom:0 !important;
    color:#343434 !important;
  }
  body.sg-guarantee-page .sg-terms-heading:has(h2) .elementor-heading-title {
    color:#414141 !important;
    font-size:24px !important;
    font-weight:700 !important;
    line-height:29px !important;
  }
  body.sg-guarantee-page .sg-terms-heading:has(h3) .elementor-heading-title {
    color:#414141 !important;
    font-family:"Gilroy Light",sans-serif !important;
    font-size:28px !important;
    font-weight:500 !important;
    line-height:34px !important;
  }
}


@media (min-width: 601px) and (max-width: 1199px) {
  body.sg-guarantee-page .sg-guarantee-terms__content {
    width:100% !important;
    max-width:650px !important;
  }
}
@media (min-width: 1200px) {
  body.sg-guarantee-page .sg-guarantee-terms__content { max-width:925px !important; }
}
@media (max-width: 600px) {
  body.sg-guarantee-page .sg-terms-intro + .sg-terms-heading { margin-top:11px !important; }
  body.sg-guarantee-page .sg-terms-heading:has(h2) { margin-bottom:-14px !important; }
}

@media (min-width: 601px) and (max-width: 1199px) {
  body.sg-guarantee-page .sg-guarantee-terms__content {
    width:100% !important;
    max-width:650px !important;
  }
}

@media (min-width: 1200px) {
  body.sg-guarantee-page .sg-guarantee-terms__content { max-width:925px !important; }
}

@media (max-width: 600px) {
  body.sg-guarantee-page .sg-terms-intro + .sg-terms-heading { margin-top:11px !important; }
  body.sg-guarantee-page .sg-terms-heading:has(h2) { margin-bottom:-14px !important; }
}

@media (max-width: 767px) {
  body.sg-buy-form-page .sg-buy-form-intro br.sg-desktop-break { display: none !important; }
  body.sg-loyalty-page .sg-loyalty-hero h1 br.sg-desktop-break { display: none !important; }
  body.sg-loyalty-page .sg-loyalty-intro br.sg-desktop-break { display: none !important; }
  body.sg-buy-offer-page .sg-buy-offer-hero,
  body.sg-buy-form-page .sg-buy-form-hero,
  body.sg-loyalty-page .sg-loyalty-hero { padding: 26px 20px 28px !important; }
  body.sg-buy-offer-page .sg-buy-offer-hero h1,
  body.sg-buy-form-page .sg-buy-form-hero h1,
  body.sg-loyalty-page .sg-loyalty-hero h1 { font-size: 38px !important; }
  body.sg-buy-offer-page .sg-buy-section,
  body.sg-loyalty-page .sg-loyalty-section,
  body.sg-buy-form-page .sg-buy-faq { padding: 25px 20px 32px !important; }
  body.sg-buy-offer-page .sg-buy-audience-grid,
  body.sg-buy-offer-page .sg-buy-how-grid,
  body.sg-buy-offer-page .sg-buy-benefit-grid,
  body.sg-loyalty-page .sg-loyalty-content-grid { flex-direction: column !important; gap: 18px !important; }
  body.sg-buy-offer-page .sg-buy-illustration,
  body.sg-loyalty-page .sg-loyalty-illustration { width: 100% !important; max-width: 100% !important; }
  body.sg-buy-offer-page .sg-buy-logos { justify-content: flex-start !important; overflow-x: auto; gap: 20px !important; padding: 24px 20px !important; }
  body.sg-buy-offer-page .sg-buy-benefit-grid > .e-con-inner { flex-direction: column !important; }
  body.sg-buy-offer-page .sg-buy-lead-form .elementor-field-group { width: 100% !important; }
  body.sg-loyalty-page .sg-loyalty-actions { flex-direction: column !important; align-items: stretch !important; }
  body.sg-loyalty-page .sg-loyalty-intro { padding-top: 12px !important; font-size: 21px !important; }
  body.sg-survey-page .sg-survey-page-content { padding: 26px 18px 50px !important; }
  body.sg-buy-form-page .sg-buy-form-hero { min-height: auto !important; padding: 42px 20px 36px !important; background: #2e087b !important; color: #fff !important; clip-path: none !important; }
  body.sg-buy-form-page .sg-buy-form-hero h1,
  body.sg-buy-form-page .sg-buy-form-hero h2 { color: #fff !important; text-align: left !important; }
  body.sg-buy-form-page .sg-buy-form-intro { padding: 28px 20px 16px !important; }
  body.sg-buy-form-page .sg-buy-form-intro .sg-buy-form-lead,
  body.sg-buy-form-page .sg-buy-form-intro p { font-size: 21px !important; line-height: 1.5 !important; }
  body.sg-buy-form-page .sg-buy-form-section { padding: 0 20px 48px !important; background: #fff !important; }
  body.sg-buy-form-page .sg-buy-form-shell { margin: 0 auto !important; padding: 0 !important; }
  body.sg-survey-page .sg-survey-form .elementor-field-type-radio .elementor-field-option { display: block; margin: 5px 0; }
}

/* Match the production mobile hero layout. */
@media (max-width: 767px) {
  body.sg-elementor-home .sg-home-hero .sg-home-hero__eyebrow,
  body.sg-elementor-home .sg-home-hero .sg-home-hero__eyebrow p,
  body.sg-elementor-home .sg-home-hero .sg-home-hero__eyebrow .elementor-heading-title,
  body.sg-elementor-home .sg-home-hero h1,
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroh1 .elementor-heading-title,
  body.sg-elementor-home .sg-home-hero .sg-home-hero__lead,
  body.sg-elementor-home .sg-home-hero .sg-home-hero__lead p {
    padding-bottom: 0 !important;
  }

  body.sg-elementor-home .sg-home-hero h1,
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroh1 .elementor-heading-title {
    margin-bottom: 0 !important;
  }

  body.sg-elementor-home .sg-home-hero__actions.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 26px !important;
  }

  body.sg-elementor-home .sg-home-hero__actions .elementor-widget-button,
  body.sg-elementor-home .sg-home-hero__actions .elementor-button-wrapper,
  body.sg-elementor-home .sg-home-hero__actions .elementor-button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.sg-elementor-home .sg-home-hero__audiences {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    margin-top: 24px !important;
  }

  body.sg-elementor-home .sg-home-hero__audiences > *,
  body.sg-elementor-home .sg-home-hero__audiences a {
    width: 100% !important;
    text-align: center !important;
    line-height: 22.5px !important;
  }
}

/* Fine desktop alignment for the production survey page. */
@media (min-width: 992px) {
  /* Keep the complete submit button and the live white gap above the footer. */
  body.sg-survey-page .sg-survey-page-content { padding: 70px 0 158px !important; }
  body.sg-survey-page .sg-survey-page-content::before {
    height: 394px;
    clip-path: polygon(0 0, 100% 0, 100% 80.5%, 20% 100%, 0 80.5%);
  }
  body.sg-survey-page .sg-survey-content > .elementor-element:first-child { margin: 10px 0 0 !important; }
  body.sg-survey-page .sg-survey-content > .e-con-inner { gap: 0 !important; row-gap: 0 !important; }
  body.sg-survey-page .sg-survey-content > .elementor-element:first-child { margin-bottom: 0 !important; }
  body.sg-survey-page .sg-survey-content h2 {
    width: min(770px, calc(100vw - 195px)) !important;
    max-width: 770px !important;
    font-family: "Gilroy Light", sans-serif !important;
  }
  body.sg-survey-page .sg-survey-form-widget { margin-top: 278px !important; }
  body.sg-survey-page .sg-survey-question { margin-bottom: 20px; }
  body.sg-survey-page .sg-survey-question legend,
  body.sg-survey-page .sg-survey-features > span { color: #414141 !important; line-height: 1.5; }
  body.sg-survey-page .sg-survey-question legend {
    width: calc(100% + 25.5px);
    max-width: none !important;
    margin: 0 0 5px -12.75px;
    color: #2c007c !important;
    font-weight: 700 !important;
  }
  body.sg-survey-page .sg-survey-features { margin-bottom: 0; }
  body.sg-survey-page .sg-survey-features > span { margin-bottom: 5px; }
  body.sg-survey-page .sg-survey-features input { min-height: 53px; }
  body.sg-survey-page .sg-survey-form { position: relative; }
  body.sg-survey-page .sg-survey-submit {
    position: absolute;
    top: calc(100% + 20px);
    right: 0;
    width: 281px;
    min-height: 65px;
    margin: 0;
    border: 0;
    border-radius: 12px;
    background: #f39704;
    color: #fff;
    font-size: 18px;
  }
}

@media (max-width: 1200px) {
  .sg-home-hero__actions.e-con > .e-con-inner { flex-wrap: wrap !important; gap: 16px !important; }
}
@media (max-width: 991px) {
  body { overflow-x: clip; }
  body:not(.sg-about):not(.sg-contact) [data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }
  .sg-home-hero { min-height: 0 !important; overflow: hidden !important; background-image: radial-gradient(circle at 80% 80%, #592ddf 0%, #2d017d 42%, #23035e 100%) !important; }
  .sg-home-hero.e-con > .e-con-inner { min-height: 0; }
  .sg-home-hero .sg-home-hero__inner.e-con > .e-con-inner { padding: 54px 20px 22px !important; }
  .sg-home-hero__content,
  .sg-home-hero .sg-home-hero__content {
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 auto;
    text-align: center;
  }
  .sg-home-hero .sg-home-hero__eyebrow,
  .sg-home-hero .sg-home-hero__eyebrow p {
    font-size: clamp(30px, 8vw, 42px) !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    margin-bottom: 14px !important;
  }
  .sg-home-hero h1,
  .sg-home-hero .elementor-heading-title {
    font-size: clamp(36px, 9vw, 48px) !important;
    line-height: 1.08 !important;
    max-width: none;
  }
  .sg-home-hero .sg-home-hero__lead,
  .sg-home-hero .sg-home-hero__lead p {
    margin-top: 20px !important;
    font-size: clamp(19px, 5vw, 24px) !important;
    line-height: 1.45 !important;
    max-width: none;
  }
  .sg-home-hero__actions.e-con > .e-con-inner { justify-content: center !important; margin-left: 0 !important; }
  .sg-home-hero > .e-con-inner > .elementor-widget-image,
  .sg-home-hero .elementor-element-sgheropd,
  .sg-home-hero .sg-home-hero__product {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: min(620px, 100%) !important;
    max-width: 100% !important;
    margin: 20px auto 0 !important;
  }
  .sg-home-hero .sg-home-hero__product img,
  .sg-home-hero .elementor-element-sgheropd img {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin-top: 0 !important;
    transform: none !important;
  }
  .sg-home-value { padding: 82px 0 72px !important; }
  .sg-home-section-transition,
  #home-section-transition,
  #home-section-transition svg { height: 80px !important; min-height: 80px !important; }
  .sg-audience-grid.e-con > .e-con-inner,
  .sg-benefits-grid.e-con > .e-con-inner,
  .sg-benefits-layout.e-con > .e-con-inner { grid-template-columns: 1fr !important; }
  .sg-audience-grid.e-con > .e-con-inner { max-width: 680px; margin-left: auto; margin-right: auto; }
  .sg-audience-card { min-height: 0 !important; }
  .sg-benefits-layout.e-con > .e-con-inner { gap: 44px !important; margin-top: 78px; }
  .sg-benefits-visual { width: min(620px, 100%); min-height: 410px; margin: 0 auto; }
  .hiw-card:not(:last-child)::after { display: none; }
  .hiw-arrow { display: none !important; }
  .hiw-row.e-con > .e-con-inner,
  .sg-hiw-row.e-con > .e-con-inner {
    display: grid !important;
    grid-auto-flow: column;
    grid-auto-columns: minmax(280px, 42vw);
    justify-content: start !important;
    flex-wrap: unset !important;
    width: 100%;
    max-width: 100%;
    gap: 20px !important;
    padding: 0 20px 22px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 20px;
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
  }
  .hiw-card {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    scroll-snap-align: start;
  }
  .hiw-features,
  .hiw-features-inner { justify-content: center !important; }
  .hiw-feature { flex: 1 1 220px !important; }
  .hiw-feature-logo { justify-content: center !important; flex: 1 1 100% !important; margin-top: 10px; }
  .sg-home-loyalty, .sg-home-how { padding: 76px 0 !important; }
  .sg-home-how { padding-top: 40px !important; }
  .sg-home-loyalty h2, .sg-home-how h2 { font-size: clamp(40px, 4vw, 58px) !important; line-height: 1.08 !important; }
  .sg-home-loyalty h3, .sg-home-how h3 { font-size: clamp(20px, 2vw, 28px) !important; line-height: 1.45 !important; }
  .sg-home-stats { padding: 90px 0 80px; }
  .sg-home-stats h2.title, .sg-home-stats h2 { font-size: clamp(40px, 4vw, 58px) !important; line-height: 1.08 !important; }
  .sg-home-stats h3.subtitle, .sg-home-stats h3 { font-size: clamp(20px, 2vw, 28px) !important; }
  .sg-stats-squares .text { font-size: 18px !important; line-height: 18px !important; }
  .sg-stats-squares .number { font-size: 25px !important; }
  .sg-stats-squares .circle.c-3 .number { font-size: 25px !important; }
  .sg-home-logos { padding-bottom: 72px; }
  .sg-home-faq { padding: 80px 0 90px !important; }
  .sg-footer-grid.e-con > .e-con-inner { flex-direction: column !important; }
  .sg-footer-contact, .sg-footer-about { flex: 1 1 auto !important; width: 100% !important; max-width: none !important; }
}

@media (max-width: 767px) {
  body .elementor-button { width: 100%; min-height: 52px; }
  .sg-home-hero .sg-home-hero__inner.e-con > .e-con-inner { padding-top: 42px !important; }
  .sg-home-hero .sg-home-hero__eyebrow,
  .sg-home-hero .sg-home-hero__eyebrow p { margin-bottom: 12px !important; font-size: clamp(28px, 8.5vw, 36px) !important; white-space: normal; }
  .sg-home-hero h1,
  .sg-home-hero .elementor-heading-title { font-size: clamp(34px, 10vw, 42px) !important; line-height: 1.08 !important; }
  .sg-home-hero > .e-con-inner > .elementor-widget-image,
  .sg-home-hero .elementor-element-sgheropd,
  .sg-home-hero .sg-home-hero__product {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
  }
  .sg-home-hero .sg-home-hero__lead,
  .sg-home-hero .sg-home-hero__lead p { font-size: 20px !important; line-height: 1.45 !important; }
  .sg-home-hero__actions.e-con > .e-con-inner { flex-direction: column !important; align-items: stretch !important; gap: 10px !important; margin-top: 26px; }
  .sg-home-value { padding: 64px 0 72px !important; }
  .sg-section-heading h2, .sg-benefits-content h2 { font-size: clamp(34px, 10vw, 42px) !important; line-height: 1.1 !important; }
  .sg-section-heading p { font-size: 18px !important; line-height: 1.55 !important; }
  .sg-audience-grid.e-con > .e-con-inner { gap: 14px !important; margin-top: 48px; }
  .sg-audience-card { padding: 22px !important; }
  .sg-audience-card h3 { font-size: 22px !important; }
  .sg-benefits-layout.e-con > .e-con-inner { margin-top: 60px; }
  .sg-benefits-visual { min-height: 235px; }
  .sg-benefits-grid.e-con > .e-con-inner { grid-template-columns: 1fr !important; gap: 12px !important; }
  .sg-home-value__actions.e-con > .e-con-inner,
  .sg-cta-html .button-row,
  .sg-home-cta__actions.e-con > .e-con-inner { flex-direction: column !important; align-items: stretch !important; }
  .sg-cta-html .btn-orange,
  .sg-cta-html .btn-purple { width: 100%; }
  .sg-home-section-transition,
  #home-section-transition,
  #home-section-transition svg { height: 44px !important; min-height: 44px !important; }
  .sg-home-loyalty, .sg-home-how { padding: 54px 0 !important; }
  .sg-home-how { padding-top: 18px !important; }
  .sg-home-loyalty h2, .sg-home-how h2, .sg-home-stats h2, .sg-home-faq h2,
  .sg-guarantee h2, .sg-home-cta h2 { font-size: clamp(34px, 10vw, 42px) !important; line-height: 1.1 !important; }
  .sg-home-loyalty h3, .sg-home-how h3, .sg-home-stats h3, .sg-guarantee h3, .sg-home-cta h3 { font-size: 19px !important; line-height: 1.5 !important; }
  .hiw-row.e-con > .e-con-inner,
  .sg-hiw-row.e-con > .e-con-inner { grid-auto-columns: min(82vw, 320px); gap: 16px !important; margin-top: 38px; }
  .hiw-card { width: min(82vw, 320px) !important; max-width: min(82vw, 320px) !important; margin-top: 24px; }
  .hiw-card img.hiw-img,
  .hiw-card img { height: 330px; object-fit: cover; object-position: top center; }
  .hiw-features {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin: 34px 20px 0 !important;
    padding-top: 24px !important;
  }
  .hiw-features-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin: 34px 20px 0;
    padding-top: 24px !important;
  }
  .hiw-feature { min-width: 0; flex: none !important; }
  .sg-home-stats { padding: 60px 0; }
  .sg-stats-squares .square {
    float: none;
    width: min(74vw, 270px) !important;
    padding-bottom: min(74vw, 270px) !important;
    margin: 0 auto 18px;
  }
  .sg-stats-squares .number { font-size: clamp(44px, 13vw, 62px) !important; }
  .sg-stats-squares .circle.c-1 .number,
  .sg-stats-squares .circle.c-2 .number { font-size: clamp(44px, 13vw, 62px) !important; }
  .sg-stats-squares .circle.c-3 .number { font-size: 45px !important; }
  .sg-stats-squares .text { font-size: 20px !important; line-height: 1.15 !important; }
  .sg-home-logos { padding-bottom: 48px; }
  .sg-home-faq { padding: 56px 0 64px !important; }
  .sg-home-faq .qae-faqs-container {
    width: 100%;
    margin-left: 0;
  }
  .qe-faqs-filters-container {
    margin-left: 0;
  }
  .sg-faq-title-col {
    width: 100%;
    margin: 0;
  }
  .sg-home-faq h2.title,
  .sg-home-faq .title {
    font-size: clamp(34px, 10vw, 42px) !important;
    line-height: 1.12 !important;
  }
  .sg-guarantee { margin-top: 58px; }
  .sg-home-cta__actions.e-con > .e-con-inner { padding-bottom: 24px; }
  .sg-footer-contact { padding-top: 0; }
  .sg-footer-about { padding-top: 60px; }
}
@media (max-width: 450px) {
  #home-section-transition #home-triangle-desktop { display: none; }
  #home-section-transition #home-triangle-mobile { display: block; }
}

.sg-home-loyalty.e-con,
.sg-home-how.e-con,
.sg-home-faq.e-con,
.sg-home-stats.e-con,
.sg-home-logos.e-con,
.sg-guarantee-html.e-con,
.sg-cta-html.e-con,
.sg-memberships.e-con {
  --display: flex;
  --gap: 0px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.sg-home-faq.e-con > .e-con-inner {
  --gap: 0px !important;
  gap: 0 !important;
}
.qe-faq-toggle.e-con {
  --gap: 0px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.sg-memberships .sg-col-8.e-con {
  width: 66.6667% !important;
  max-width: 845px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.sg-logo-carousel.e-con {
  --flex-direction: row !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 1480px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-height: none;
  height: 267px !important;
}
.sg-home-logos.e-con {
  overflow: hidden !important;
  max-height: none !important;
}

.sg-stats-squares.e-con {
  --flex-direction: unset;
  --gap: 0px !important;
  --display: block;
  display: block !important;
  overflow: hidden !important;
  max-width: 1480px !important;
  margin: 0 auto;
  width: 100%;
  padding: 0 20px !important;
  box-sizing: border-box;
  gap: 0 !important;
}
.sg-stats-squares .square.e-con {
  --width: 33.3%;
  float: left !important;
  width: 33.3% !important;
  max-width: 33.3% !important;
  flex: none !important;
  position: relative !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  padding-bottom: 33.3% !important;
  aspect-ratio: auto !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}
.sg-stats-squares .square.c-1.e-con,
.sg-stats-squares .square.c-2.e-con,
.sg-stats-squares .square.c-3.e-con {
  background: transparent !important;
  border-radius: 0 !important;
}
.sg-stats-squares .square.e-con > .e-con-inner {
  position: absolute !important;
  inset: 2% !important;
  width: auto !important;
  height: auto !important;
  border-radius: 50% !important;
}
.sg-stats-squares .square.c-1.e-con > .e-con-inner { background: #592ddf !important; }
.sg-stats-squares .square.c-2.e-con > .e-con-inner { background: #23035e !important; }
.sg-stats-squares .square.c-3.e-con > .e-con-inner { background: #f39704 !important; }

@media (max-width: 991px) {
  .sg-stats-squares .square.e-con {
    float: none !important;
    width: min(74vw, 270px) !important;
    max-width: min(74vw, 270px) !important;
    padding-bottom: min(74vw, 270px) !important;
    margin: 0 auto 18px !important;
  }
}

.sg-home-faq.e-con {
  padding-left: max(20px, calc((100% - 1440px) / 2)) !important;
  padding-right: max(20px, calc((100% - 1440px) / 2)) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  --background-color: #ffffff !important;
}
.sg-home-faq.e-con > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
.sg-home-faq .elementor-element-sgfaqh2 {
  width: 66.6667% !important;
  max-width: none !important;
  margin-left: 16.6667% !important;
  margin-right: auto !important;
}
.sg-home-faq .elementor-element-sgfaqfil {
  width: 91.6667% !important;
  margin-left: 8.3333% !important;
  margin-right: 0 !important;
}
.sg-home-faq .qe-faqs-filters-container {
  margin-left: 51px !important;
}
.qe-faq-toggle.e-con {
  width: 91.6667% !important;
  max-width: none !important;
  margin-left: 8.3333% !important;
  margin-right: 0 !important;
}

.hiw-row.e-con,
.hiw-row.e-con > .e-con-inner {
  --flex-direction: row !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
}

.sg-benefits-visual.e-con,
.sg-benefits-content.e-con,
.sg-benefits-grid.e-con {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}
.sg-benefits-visual.e-con {
  overflow: visible !important;
  min-height: 620px !important;
  height: 620px !important;
  position: relative !important;
}
.sg-benefits-visual.e-con > .e-con-inner {
  --display: block;
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: 620px !important;
  overflow: visible !important;
}
.sg-benefits-visual .elementor-element-sgbenlap,
.sg-benefits-visual .sg-benefits-visual__laptop {
  --width: 145%;
  position: absolute !important;
  top: 12% !important;
  left: -25% !important;
  right: auto !important;
  bottom: auto !important;
  width: 145% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 975 / 762;
  z-index: 1;
}
.sg-benefits-visual .elementor-element-sgbenlap .elementor-widget-container,
.sg-benefits-visual .elementor-element-sgbenlap img {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 975 / 762;
  display: block !important;
}
.sg-benefits-visual .elementor-element-sgbencar,
.sg-benefits-visual .sg-benefits-visual__card {
  --width: 42%;
  position: absolute !important;
  top: auto !important;
  left: auto !important;
  right: 3% !important;
  bottom: 4% !important;
  width: 42% !important;
  max-width: none !important;
  z-index: 2 !important;
  transform: rotate(12deg) !important;
}
.sg-benefits-visual .elementor-element-sgbencar .elementor-widget-container,
.sg-benefits-visual .elementor-element-sgbencar img {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  display: block !important;
}
.hiw-features.e-con,
.hiw-features {
  --padding-top: 30px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  padding: 30px 0 0 !important;
  margin-top: 50px !important;
  min-height: 0 !important;
  height: auto !important;
}
.hiw-feature.e-con,
.hiw-feature-text.e-con {
  --padding-top: 0px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  padding: 0 !important;
}
.sg-cta-html h2,
.sg-cta-html .title,
.sg-cta-html .elementor-element-sgctah2 .elementor-heading-title,
.sg-guarantee-html h2,
.sg-guarantee-html .title,
.sg-guarantee-html .elementor-element-sgguarh2 .elementor-heading-title {
  font-size: 34px !important;
  line-height: 44px !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
}
.sg-cta-html .elementor-element-sgctah2,
.sg-cta-html .elementor-element-sgctah3,
.sg-guarantee-html .elementor-element-sgguarh2,
.sg-guarantee-html .elementor-element-sgguarh3,
.sg-guarantee-html .elementor-element-sgguarp {
  width: 1033px !important;
  max-width: 1033px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.sg-cta-html .subtitle,
.sg-cta-html .elementor-element-sgctah3 .elementor-heading-title,
.sg-guarantee-html .subtitle,
.sg-guarantee-html .elementor-element-sgguarh3 .elementor-heading-title {
  font-size: 30px !important;
  line-height: 36px !important;
  font-family: "Gilroy Light", sans-serif !important;
  font-weight: 500 !important;
  max-width: 1033px;
  width: 100%;
}
.sg-memberships .title,
.sg-memberships h2,
.sg-memberships .elementor-heading-title {
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 34px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
  text-align: left !important;
}
.qe-faqs-filter {
  line-height: 25.5px !important;
}
.hiw-feature.e-con > .e-con-inner,
.hiw-feature-text.e-con > .e-con-inner {
  padding: 0 !important;
  gap: 0 !important;
}
.hiw-feature .elementor-widget-html,
.hiw-feature .elementor-widget-heading,
.hiw-feature .elementor-widget-text-editor {
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}

/* —— Mobile header drawer (production parity; desktop unchanged) —— */
.sg-mobile-drawer-header,
#sg-mobile-menu-backdrop {
  display: none;
}

@media (max-width: 1024px) {
  body.sg-mobile-header-ready {
    overflow-x: clip;
  }
  .elementor-location-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 999999;
    width: 100%;
    background: #fff;
    border-bottom: 1px solid rgba(35, 3, 94, 0.09);
    box-shadow: 0 3px 14px rgba(18, 0, 51, 0.06);
  }
  .sg-elementor-header.e-con > .e-con-inner {
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 64px;
    height: 64px;
    max-width: none;
    width: 100%;
    padding: 0 16px !important;
  }
  .elementor-location-header .elementor-widget-image {
    min-height: 64px;
  }
  .elementor-location-header .elementor-widget-image img,
  .elementor-location-header .elementor-widget-image a {
    width: 142px !important;
    max-width: 142px !important;
    max-height: none !important;
  }
  .elementor-location-header .sg-header-nav,
  .elementor-location-header .sg-header-nav.elementor-nav-menu--stretch {
    position: static !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin-left: auto !important;
    overflow: visible !important;
  }
  .elementor-location-header .elementor-nav-menu--main {
    display: none !important;
  }
  .elementor-location-header .elementor-menu-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 48px;
    min-width: 48px;
    height: 48px;
    padding: 0 !important;
    margin: 0;
    border: 0;
    border-radius: 12px !important;
    color: #2c007c !important;
    background: rgba(89, 45, 223, 0.08) !important;
    box-shadow: none;
  }
  .elementor-location-header .elementor-menu-toggle svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
  }
  .elementor-location-header .elementor-menu-toggle .elementor-menu-toggle__icon--close {
    display: none !important;
  }
  .elementor-location-header .elementor-menu-toggle .elementor-menu-toggle__icon--open {
    display: block !important;
  }
  .elementor-location-header .elementor-menu-toggle:hover,
  .elementor-location-header .elementor-menu-toggle:active {
    color: #2c007c !important;
    background: rgba(89, 45, 223, 0.14) !important;
  }
  .elementor-location-header .elementor-menu-toggle:focus-visible {
    outline: 3px solid #f39704;
    outline-offset: 2px;
  }
  .elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    display: flex !important;
    flex-direction: column;
    width: min(92vw, 420px) !important;
    max-width: 420px !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    visibility: hidden;
    opacity: 1;
    background: #fff !important;
    box-shadow: -18px 0 50px rgba(18, 0, 51, 0.22);
    transform: translate3d(100%, 0, 0);
    transition: transform 240ms cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0s linear 240ms;
    pointer-events: none;
    z-index: 2147483001;
    will-change: transform;
    backface-visibility: hidden;
    --menu-height: auto !important;
  }
  .elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container.sg-mobile-drawer-open {
    visibility: visible;
    transform: translate3d(0, 0, 0);
    transition-delay: 0s;
    pointer-events: auto;
  }
  .elementor-location-header .sg-mobile-drawer-header {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    min-height: 72px;
    padding: env(safe-area-inset-top, 0) 16px 0 20px;
    border-bottom: 1px solid rgba(35, 3, 94, 0.1);
    background: #fff;
  }
  .elementor-location-header .sg-mobile-drawer-logo {
    display: inline-flex;
    align-items: center;
  }
  .elementor-location-header .sg-mobile-drawer-logo img {
    display: block !important;
    width: 142px !important;
    max-width: 142px !important;
    height: auto !important;
    max-height: none !important;
  }
  .elementor-location-header .sg-mobile-menu-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    min-width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 12px;
    color: #2c007c;
    background: rgba(89, 45, 223, 0.08);
    cursor: pointer;
  }
  .elementor-location-header .sg-mobile-menu-close svg {
    width: 22px;
    height: 22px;
    stroke: currentColor;
  }
  .elementor-location-header .sg-mobile-menu-close:hover,
  .elementor-location-header .sg-mobile-menu-close:active {
    color: #2c007c;
    background: rgba(89, 45, 223, 0.14);
  }
  .elementor-location-header .sg-mobile-menu-close:focus-visible {
    outline: 3px solid #f39704;
    outline-offset: 2px;
  }
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu {
    display: block !important;
    flex: 1 1 auto;
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 10px 20px calc(24px + env(safe-area-inset-bottom, 0));
    overflow-x: hidden;
    overflow-y: auto;
    background: #fff !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    list-style: none;
  }
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .menu-item {
    position: relative;
    display: block !important;
    width: 100%;
    border-bottom: 1px solid rgba(35, 3, 94, 0.09);
  }
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .menu-item > a.elementor-item {
    display: flex !important;
    align-items: center;
    width: 100% !important;
    min-height: 56px;
    padding: 12px 52px 12px 4px !important;
    color: #2c007c !important;
    font-family: "Archivo", sans-serif !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-align: left;
    text-decoration: none;
    background: transparent !important;
  }
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .menu-item > a.elementor-item:hover,
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .menu-item > a.elementor-item:active,
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .menu-item > a.elementor-item:focus-visible {
    color: #2c007c !important;
    background: rgba(89, 45, 223, 0.07) !important;
  }
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .menu-item > a.elementor-item:focus-visible {
    outline: 3px solid #f39704;
    outline-offset: -3px;
  }
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .menu-item > a.elementor-item .sub-arrow {
    display: none !important;
  }
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .current-menu-item > a.elementor-item,
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .current-menu-ancestor > a.elementor-item {
    color: #2c007c !important;
    background: transparent !important;
    box-shadow: none;
  }
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .current-menu-item > a.elementor-item .sg-menu-text,
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .current-menu-ancestor > a.elementor-item .sg-menu-text {
    position: relative;
  }
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .current-menu-item > a.elementor-item .sg-menu-text::after,
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .current-menu-ancestor > a.elementor-item .sg-menu-text::after {
    position: absolute;
    right: 0;
    bottom: -7px;
    left: 0;
    height: 3px;
    border-radius: 999px;
    background: #f39704;
    content: "";
  }
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .menu-item:last-child > a.elementor-item .sg-menu-text::after {
    display: none;
  }
  .elementor-location-header #sg-mobile-navigation-drawer .sg-mobile-submenu-toggle {
    position: absolute;
    top: 4px;
    right: 0;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 48px;
    min-width: 48px;
    height: 48px;
    padding: 0 !important;
    border: 0;
    border-radius: 10px;
    color: #2c007c !important;
    background: transparent !important;
    box-shadow: none;
    cursor: pointer;
    z-index: 2;
  }
  .elementor-location-header #sg-mobile-navigation-drawer .sg-mobile-submenu-toggle svg {
    width: 15px;
    height: 10px;
    fill: currentColor;
    transform: rotate(0deg);
    transition: transform 180ms ease;
  }
  .elementor-location-header #sg-mobile-navigation-drawer .sg-mobile-submenu-toggle:hover,
  .elementor-location-header #sg-mobile-navigation-drawer .sg-mobile-submenu-toggle:active {
    background: rgba(89, 45, 223, 0.09) !important;
  }
  .elementor-location-header #sg-mobile-navigation-drawer .sg-mobile-submenu-toggle:focus-visible {
    outline: 3px solid #f39704;
    outline-offset: -2px;
  }
  .elementor-location-header #sg-mobile-navigation-drawer .menu-item.sg-submenu-open > .sg-mobile-submenu-toggle svg {
    transform: rotate(180deg);
  }
  .elementor-location-header #sg-mobile-navigation-drawer .sub-menu {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-height: 0;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    border: 0 !important;
    border-radius: 10px;
    background: rgba(89, 45, 223, 0.055);
    box-shadow: none !important;
    transform: none !important;
    list-style: none;
    transition: max-height 200ms ease, opacity 160ms ease, visibility 0s linear 200ms;
  }
  .elementor-location-header #sg-mobile-navigation-drawer .sub-menu[hidden] {
    display: none !important;
  }
  .elementor-location-header #sg-mobile-navigation-drawer .sub-menu .menu-item {
    display: block !important;
    width: 100%;
  }
  .elementor-location-header #sg-mobile-navigation-drawer .sub-menu .elementor-sub-item {
    display: flex !important;
    align-items: center;
    width: 100% !important;
    min-height: 48px;
    padding: 11px 16px 11px 20px !important;
    color: #23035e !important;
    font-family: "Archivo", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    text-align: left;
    white-space: normal;
    background: transparent !important;
  }
  .elementor-location-header #sg-mobile-navigation-drawer .sub-menu .elementor-sub-item .sub-arrow {
    display: none !important;
  }
  .elementor-location-header #sg-mobile-navigation-drawer .sub-menu .elementor-sub-item:hover,
  .elementor-location-header #sg-mobile-navigation-drawer .sub-menu .elementor-sub-item:active,
  .elementor-location-header #sg-mobile-navigation-drawer .sub-menu .elementor-sub-item:focus-visible {
    color: #2c007c !important;
    background: rgba(89, 45, 223, 0.09) !important;
  }
  .elementor-location-header #sg-mobile-navigation-drawer .sub-menu .current-menu-item > .elementor-sub-item {
    color: #2c007c !important;
    font-weight: 600 !important;
  }
  .elementor-location-header #sg-mobile-navigation-drawer .sub-menu .current-menu-item > .elementor-sub-item::before {
    width: 6px;
    height: 6px;
    margin-right: 10px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #f39704;
    content: "";
  }
  .elementor-location-header #sg-mobile-navigation-drawer .menu-item.sg-submenu-open > .sub-menu {
    max-height: 560px;
    margin-bottom: 10px !important;
    visibility: visible;
    opacity: 1;
    transition-delay: 0s;
  }
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .menu-item-has-children:last-child,
  .elementor-location-header #sg-mobile-navigation-drawer .wpml-ls-current-language,
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .menu-item:last-child {
    margin-top: 0;
  }
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .menu-item:last-child {
    margin-top: 16px;
    border-top: 1px solid rgba(35, 3, 94, 0.16);
    border-bottom: 0;
  }
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu > .menu-item:last-child > a.elementor-item {
    margin-top: 8px;
  }
  .elementor-location-header #sg-mobile-navigation-drawer .wpml-ls-flag {
    width: 20px;
    min-width: 20px;
    height: auto;
    margin-right: 10px;
    border-radius: 2px;
  }
  body.sg-mobile-menu-open .elementor-location-header .elementor-widget-image,
  body.sg-mobile-menu-open .elementor-location-header .elementor-menu-toggle {
    opacity: 0;
  }
  body.sg-mobile-menu-open #n8n-chat-widget,
  body.sg-mobile-menu-open #ht-ctc-chat {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  #sg-mobile-menu-backdrop {
    position: fixed;
    inset: 0;
    display: block;
    visibility: hidden;
    opacity: 0;
    border: 0;
    background: rgba(18, 0, 51, 0.52);
    backdrop-filter: blur(2px);
    transition: opacity 190ms ease, visibility 0s linear 240ms;
    pointer-events: none;
    z-index: 999998;
  }
  #sg-mobile-menu-backdrop.sg-mobile-backdrop-open {
    visibility: visible;
    opacity: 1;
    transition-delay: 0s;
    pointer-events: auto;
  }
}

@media (max-width: 360px) {
  .sg-elementor-header.e-con > .e-con-inner {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }
  .elementor-location-header .elementor-widget-image img,
  .elementor-location-header .elementor-widget-image a,
  .elementor-location-header .sg-mobile-drawer-logo img {
    width: 132px !important;
    max-width: 132px !important;
  }
  .elementor-location-header #sg-mobile-navigation-drawer > .elementor-nav-menu {
    padding-right: 16px;
    padding-left: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container,
  .elementor-location-header #sg-mobile-navigation-drawer .sub-menu,
  .elementor-location-header #sg-mobile-navigation-drawer .sg-mobile-submenu-toggle svg,
  #sg-mobile-menu-backdrop {
    transition-duration: 0.01ms !important;
  }
}

/* —— Mobile page layout (overrides later desktop locks; desktop unchanged) —— */
@media (max-width: 991px) {
  html,
  body {
    overflow-x: clip;
    overflow-y: auto;
    max-width: 100%;
  }
  .sg-cta-html .elementor-element-sgctah2,
  .sg-cta-html .elementor-element-sgctah3,
  .sg-guarantee-html .elementor-element-sgguarh2,
  .sg-guarantee-html .elementor-element-sgguarh3,
  .sg-guarantee-html .elementor-element-sgguarp {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
  .sg-cta-html .subtitle,
  .sg-cta-html .elementor-element-sgctah3 .elementor-heading-title,
  .sg-guarantee-html .subtitle,
  .sg-guarantee-html .elementor-element-sgguarh3 .elementor-heading-title {
    max-width: 100% !important;
    width: 100% !important;
  }
  .sg-cta-html .button-row.e-con,
  .sg-cta-html .button-row.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
  .sg-memberships .sg-col-8,
  .sg-memberships .sg-col-8.e-con {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
  .sg-home-faq.e-con {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .sg-home-faq .elementor-element-sgfaqh2,
  .sg-home-faq .elementor-element-sgfaqfil,
  .qe-faq-toggle.e-con {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .sg-home-faq .qe-faqs-filters-container {
    margin-left: 0 !important;
  }
  .sg-benefits-visual.e-con,
  .sg-benefits-visual.e-con > .e-con-inner {
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 410px !important;
    height: auto !important;
  }
  .sg-benefits-visual .elementor-element-sgbenlap,
  .sg-benefits-visual .sg-benefits-visual__laptop,
  .sg-benefits-visual .elementor-widget-image.sg-benefits-visual__laptop,
  .sg-benefits-visual .sg-benefits-visual__laptop.elementor-widget-image {
    --width: 120%;
    top: 8% !important;
    left: -10% !important;
    width: 120% !important;
    max-width: none !important;
  }
  .hiw-row.e-con,
  .sg-hiw-row.e-con {
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .hiw-row.e-con > .e-con-inner,
  .sg-hiw-row.e-con > .e-con-inner {
    overflow-x: auto !important;
    max-width: 100% !important;
  }
  .sg-logo-carousel.e-con,
  .sg-home-logos.e-con {
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .sg-stats-squares.e-con {
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .sg-footer-eu {
    justify-content: flex-start;
    gap: 16px !important;
  }
  .sg-footer-eu img {
    max-width: min(90px, 28vw) !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 767px) {
  .sg-cta-html h2,
  .sg-cta-html .title,
  .sg-cta-html .elementor-element-sgctah2 .elementor-heading-title,
  .sg-guarantee-html h2,
  .sg-guarantee-html .title,
  .sg-guarantee-html .elementor-element-sgguarh2 .elementor-heading-title {
    font-size: clamp(34px, 10vw, 42px) !important;
    line-height: 1.12 !important;
  }
  .sg-cta-html .subtitle,
  .sg-cta-html .elementor-element-sgctah3 .elementor-heading-title,
  .sg-guarantee-html .subtitle,
  .sg-guarantee-html .elementor-element-sgguarh3 .elementor-heading-title {
    font-size: 19px !important;
    line-height: 1.5 !important;
  }
  .sg-cta-html .sg-button-orange .elementor-button,
  .sg-cta-html .sg-button-purple .elementor-button,
  .sg-cta-html .btn-orange,
  .sg-cta-html .btn-purple {
    width: 100% !important;
    min-width: 0 !important;
  }
  .sg-cta-html .button-row.e-con > .e-con-inner {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .sg-benefits-visual.e-con,
  .sg-benefits-visual.e-con > .e-con-inner {
    min-height: 235px !important;
    height: 235px !important;
  }
  .sg-benefits-visual .elementor-element-sgbencar,
  .sg-benefits-visual .sg-benefits-visual__card {
    --width: 32%;
    width: 32% !important;
    right: 5% !important;
    bottom: -2% !important;
  }
  .sg-memberships-row.e-con > .e-con-inner {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 16px !important;
  }
  .sg-memberships-row .elementor-widget-image img {
    max-width: 120px !important;
    height: auto !important;
  }
  .sg-elementor-footer.e-con {
    padding: 48px 20px !important;
  }
}

/* Solution Shopping Centre — 1162px content column (prod col-10 at 1440) */
body.sg-solution-shopping {
  --sg-ssc-hero-h: 506px;
  --sg-ssc-hero-pad: 100px 0 150px;
  --sg-ssc-hero-pad-block-start: 100px;
  --sg-ssc-hero-pad-block-end: 150px;
  --sg-ssc-col-w: 1162px;
  --sg-ssc-h1-x: 138.78px;
  --sg-ssc-h1-size: 60px;
  --sg-ssc-h1-line: 60px;
  --sg-ssc-h2-size: 30px;
  --sg-ssc-h2-line: 60px;
  --sg-ssc-btn-w: 230px;
  --sg-ssc-btn-h: 59px;
  --sg-ssc-btn-pad: 16px 0;
  --sg-ssc-btn-radius: 12px;
  --sg-ssc-orange: #f39704;
  --sg-ssc-purple: #592ddf;
  --sg-ssc-numbers-bg: #23035e;
  --sg-ssc-hero-clip: none;
  --sg-ssc-hero-image: url("/wp-content/uploads/theme/solution2-3k.jpg");
  --sg-ssc-hero-image-mobile: url("/wp-content/uploads/theme/solution-mobile.jpg");
  --sg-ssc-col-pad: max(20px, calc((100% - var(--sg-ssc-col-w)) / 2));
  --sg-ssc-calc-btn-w: 810px;
  --sg-ssc-calc-inner-w: 860px;
}
@media (min-width: 1480px) {
  body.sg-solution-shopping {
    --sg-ssc-col-w: 1196px;
  }
}

body.sg-solution-shopping .sg-solution-hero.e-con,
body.sg-solution-shopping .sg-solution-intro.e-con,
body.sg-solution-shopping .sg-solution-features.e-con,
body.sg-solution-shopping .sg-solution-how.e-con,
body.sg-solution-shopping .sg-solution-roles.e-con,
body.sg-solution-shopping .sg-solution-unsure.e-con,
body.sg-solution-shopping .sg-solution-benefits.e-con,
body.sg-solution-shopping .sg-solution-faq.e-con,
body.sg-solution-shopping .sg-solution-numbers.e-con {
  --padding-inline-start: var(--sg-ssc-col-pad);
  --padding-inline-end: var(--sg-ssc-col-pad);
}
body.sg-solution-shopping .sg-solution-hero.e-con,
body.sg-solution-shopping .sg-solution-hero {
  --display: flex;
  --flex-direction: column;
  --background-overlay: none;
  --background-color: transparent;
  --background-image: var(--sg-ssc-hero-image);
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  position: relative;
  height: var(--sg-ssc-hero-h) !important;
  min-height: var(--sg-ssc-hero-h) !important;
  max-height: var(--sg-ssc-hero-h) !important;
  box-sizing: border-box !important;
  padding: var(--sg-ssc-hero-pad-block-start) var(--sg-ssc-col-pad) var(--sg-ssc-hero-pad-block-end) !important;
  background-color: #2c007c;
  background-image: var(--sg-ssc-hero-image) !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: 100% 100% !important;
  clip-path: var(--sg-ssc-hero-clip);
  overflow: visible;
  gap: 0 !important;
  --gap: 0px;
}
body.sg-solution-shopping .sg-solution-intro.e-con,
body.sg-solution-shopping .sg-solution-features.e-con,
body.sg-solution-shopping .sg-solution-how.e-con,
body.sg-solution-shopping .sg-solution-roles.e-con,
body.sg-solution-shopping .sg-solution-unsure.e-con,
body.sg-solution-shopping .sg-solution-benefits.e-con,
body.sg-solution-shopping .sg-solution-faq.e-con,
body.sg-solution-shopping .sg-solution-numbers.e-con {
  padding-left: var(--sg-ssc-col-pad) !important;
  padding-right: var(--sg-ssc-col-pad) !important;
}
body.sg-solution-shopping .sg-solution-hero__inner.e-con,
body.sg-solution-shopping .sg-solution-hero__inner.e-con > .e-con-inner,
body.sg-solution-shopping .sg-solution-hero .sg-solution-hero__inner {
  --display: flex;
  --flex-direction: column;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  max-width: none;
  width: 100% !important;
  margin: 0;
  padding: 0;
}
.sg-solution-hero .elementor-widget,
.sg-solution-hero .elementor-element {
  margin: 0 !important;
  --margin-block-start: 0px;
  --margin-block-end: 0px;
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
}
.sg-solution-hero .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}
.sg-solution-hero .elementor-widget-button {
  width: auto !important;
  display: inline-block !important;
}
body.sg-solution-shopping .sg-solution-hero h1,
body.sg-solution-shopping .sg-solution-hero h1.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: var(--sg-ssc-h1-size) !important;
  line-height: var(--sg-ssc-h1-line) !important;
  font-weight: 500 !important;
  color: #fff !important;
  text-align: left !important;
  margin: 0 0 8.5px !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.sg-solution-shopping .sg-solution-hero h2,
body.sg-solution-shopping .sg-solution-hero h2.elementor-heading-title {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: var(--sg-ssc-h2-size) !important;
  line-height: var(--sg-ssc-h2-line) !important;
  font-weight: 500 !important;
  color: #fff !important;
  text-align: left !important;
  margin: 0 0 8.5px !important;
  width: 100% !important;
  max-width: 100% !important;
}
.sg-solution-hero__actions.e-con,
.sg-solution-hero__actions.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap;
  gap: 3px !important;
  justify-content: flex-start !important;
  align-items: center;
}
body.sg-solution-shopping .sg-solution-hero .sg-button-orange .elementor-button,
body.sg-solution-shopping .sg-solution-hero .sg-button-purple .elementor-button,
body.sg-solution-shopping .sg-solution-unsure .sg-button-orange .elementor-button,
body.sg-solution-shopping .sg-solution-numbers .sg-button-orange .elementor-button,
body.sg-solution-shopping .sg-solution-numbers .sg-button-purple .elementor-button {
  width: var(--sg-ssc-btn-w);
  min-height: var(--sg-ssc-btn-h);
  padding: var(--sg-ssc-btn-pad) !important;
  border-radius: var(--sg-ssc-btn-radius) !important;
  font-family: Archivo, sans-serif !important;
  font-size: 18px !important;
  line-height: 27px !important;
  font-weight: 400 !important;
  text-align: center;
  box-sizing: border-box;
}
body.sg-solution-shopping .sg-solution-hero .sg-button-orange .elementor-button { background: var(--sg-ssc-orange) !important; color: #fff !important; }
body.sg-solution-shopping .sg-solution-hero .sg-button-purple .elementor-button { background: var(--sg-ssc-purple) !important; color: #fff !important; }
.sg-solution-hero .sg-button-orange .elementor-button:hover { background: #d48302 !important; }
.sg-solution-hero .sg-button-purple .elementor-button:hover { background: #4815a7 !important; }

body.sg-solution-shopping .sg-solution-intro.e-con,
body.sg-solution-shopping .sg-solution-intro {
  background: #fff;
  padding: 0 var(--sg-ssc-col-pad) !important;
}
.sg-solution-intro .elementor-widget-text-editor {
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
}
.sg-solution-intro p {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 40px !important;
  color: #414141 !important;
  padding: 60px !important;
  /* prod Bootstrap p default margin-bottom ~1rem → section h 297 */
  margin: 0 0 17px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.sg-solution-shopping .sg-solution-features.e-con,
body.sg-solution-shopping .sg-solution-features {
  background: #fff;
  /* bottom spacing comes from grid padding (prod .col-wrapper 60px) */
  padding: 0 var(--sg-ssc-col-pad) 0 !important;
}
@media (min-width: 992px) {
  body.sg-solution-shopping .sg-solution-features.e-con {
    margin-top: 17px !important;
  }
}
.sg-solution-features h2,
.sg-solution-features h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 60px !important;
  line-height: 40px !important;
  color: #414141 !important;
  text-align: left !important;
  padding: 0 0 40px !important;
  margin: 0 !important;
}
.sg-solution-features__grid.e-con {
  display: block !important;
  width: 1068px !important;
  max-width: 1068px !important;
  margin-left: 47px !important;
  /* prod #solution .work-how .col-wrapper { padding:60px } */
  padding: 60px 0 !important;
  box-sizing: border-box !important;
}
.sg-solution-features__grid.e-con > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  grid-auto-rows: min-content !important;
  align-items: start !important;
  column-gap: 0;
  row-gap: 0;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sg-solution-features h3,
.sg-solution-features h3.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 40px !important;
  font-weight: 700 !important;
  color: #2c007c !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 12.75px 20px !important;
}
.sg-solution-features h3:nth-child(n+4),
.sg-solution-features .elementor-widget:nth-child(n+4) .elementor-heading-title {
  padding-bottom: 40px !important;
}

.sg-solution-how.e-con,
.sg-solution-how {
  background: #fff;
  padding: 60px var(--sg-ssc-col-pad) !important;
}
.sg-solution-how > .e-con-inner > .elementor-widget-heading h2,
.sg-solution-how h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 60px !important;
  line-height: 40px !important;
  color: #414141 !important;
  text-align: left !important;
  padding: 0 !important;
  margin: 0 0 8.5px !important;
  overflow: visible;
}
.sg-solution-how h3.elementor-heading-title {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 36px !important;
  font-weight: 500 !important;
  color: #120033 !important;
  text-align: center !important;
  margin: 0 0 8.5px !important;
}
.sg-solution-how__row.e-con {
  display: block !important;
  box-sizing: border-box !important;
  width: 1360px !important;
  max-width: 1360px !important;
  padding: 0 40px !important;
  margin-top: 40px;
  margin-left: calc(40px - var(--sg-ssc-col-pad)) !important;
  --padding-inline-start: 40px;
  --padding-inline-end: 40px;
}
.sg-solution-how__row.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 20px !important;
  flex-wrap: nowrap;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
}
.sg-solution-how__card .elementor-widget,
.sg-solution-how__box .elementor-widget,
.sg-solution-how__card .elementor-element {
  margin: 0 !important;
}
.sg-solution-how__card,
.sg-solution-how__card.e-con {
  flex: 0 0 260px !important;
  width: 260px !important;
  max-width: 260px !important;
  --flex-grow: 0;
  --flex-shrink: 0;
  --width: 260px;
}
.sg-solution-how__card.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column;
  gap: 0 !important;
  padding: 0 !important;
}
.sg-solution-how__box.e-con > .e-con-inner {
  padding: 15px !important;
  gap: 0 !important;
}
.sg-solution-how__step h3,
.sg-solution-how__step .elementor-heading-title,
.sg-solution-how .sg-solution-how__step .elementor-heading-title {
  color: #6b21a8 !important;
  font-size: 30px !important;
  line-height: 36px !important;
  font-weight: 500 !important;
  text-align: center !important;
  margin: 0 0 15px !important;
}
.sg-solution-how__box.e-con,
.sg-solution-how__box {
  background: #fff;
  border: 2px solid #6b21a8;
  border-radius: 8px;
  padding: 15px !important;
  height: 100%;
  text-align: justify;
}
.sg-solution-how__icon img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 15px;
}
.sg-solution-how__copy,
.sg-solution-how__copy.text {
  display: block;
  font-family: Archivo, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-style: normal !important;
  color: #414141 !important;
  text-align: justify !important;
}
.sg-solution-how__copy strong {
  font-weight: 700;
}
.sg-solution-how__arrow {
  flex: 0 0 40px;
  width: 40px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  color: #6b21a8;
  font-weight: 700;
  line-height: 1;
  padding: 0;
  align-self: flex-start;
}

body.sg-solution-shopping .sg-solution-calc.e-con,
body.sg-solution-shopping .sg-solution-calc {
  --display: flex;
  --flex-direction: column;
  --gap: 0px;
  --background-overlay: none;
  --background-color: transparent;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: calc(100% - 40px) !important;
  max-width: none !important;
  background:
    radial-gradient(1200px 800px at 20% 10%, rgba(120, 60, 255, 0.2), transparent 55%),
    radial-gradient(900px 700px at 90% 25%, rgba(180, 100, 255, 0.15), transparent 60%),
    linear-gradient(180deg, #08001a, #120033) !important;
  padding: 80px 20px !important;
  color: #e8ecff;
  font-size: 17px;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  border-radius: 14px;
  margin: 30px 20px 0 !important;
  box-sizing: border-box !important;
  position: relative;
  z-index: 3;
}
/* Override Elementor lazy-load background:none that fires on nth-of-type(n+4) containers */
body.sg-solution-shopping .sg-solution-calc.e-con.e-parent:not(.e-lazyloaded):not(.e-no-lazyload) {
  background:
    radial-gradient(1200px 800px at 20% 10%, rgba(120, 60, 255, 0.2), transparent 55%),
    radial-gradient(900px 700px at 90% 25%, rgba(180, 100, 255, 0.15), transparent 60%),
    linear-gradient(180deg, #08001a, #120033) !important;
}
.sg-solution-calc__inner.e-con > .e-con-inner,
.sg-solution-calc .calc-container {
  max-width: 860px;
  margin: 0 auto;
}
body.sg-solution-shopping .sg-solution-calc .sg-solution-calc__inner.e-con,
body.sg-solution-shopping .sg-solution-calc .sg-solution-calc__inner.e-con > .e-con-inner {
  --gap: 0px;
  gap: 0 !important;
}
/* Card keeps vertical rhythm via CTA margin-top (prod button margin 8px); no Elementor 20px gap */
body.sg-solution-shopping .sg-solution-calc .calc-card.e-con,
body.sg-solution-shopping .sg-solution-calc .calc-card.e-con > .e-con-inner {
  --gap: 0px;
  gap: 0 !important;
}
body.sg-solution-shopping .sg-solution-calc .calc-card .sg-calc-run {
  margin-top: 26px !important;
}
.sg-solution-calc h2,
.sg-solution-calc h2.elementor-heading-title {
  font-size: clamp(1.6em, 3.5vw, 2.2em) !important;
  font-weight: 800 !important;
  color: #fff !important;
  letter-spacing: -0.02em;
  line-height: 1.2 !important;
  margin: 0 0 10px !important;
  text-align: center !important;
}
.sg-solution-calc .elementor-widget-text-editor p {
  font-size: 1em !important;
  color: rgba(232, 236, 255, 0.72) !important;
  max-width: 520px;
  margin: 0 auto 40px !important;
  line-height: 1.6 !important;
  text-align: center;
}
.sg-solution-calc .calc-card {
  background: #1e004d;
  border: 1px solid rgba(232, 236, 255, 0.12);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  padding: 28px 24px;
  margin-bottom: 20px;
}
.sg-solution-calc .calc-card.e-con {
  background: #1e004d;
  border: 1px solid rgba(232, 236, 255, 0.12);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  padding: 0 !important;
  margin-bottom: 20px;
}
.sg-solution-calc .calc-card.e-con > .e-con-inner {
  padding: 28px 24px !important;
}
.sg-solution-calc .calc-fields {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  line-height: 1.5;
}
.sg-solution-calc .calc-field { display: grid; gap: 6px; }
.sg-solution-calc .calc-field.full { grid-column: 1 / -1; }
.sg-solution-calc .calc-label {
  font-size: 0.82em;
  line-height: 1.5;
  color: rgba(232, 236, 255, 0.72);
  font-weight: 500;
}
.sg-solution-calc__radios {
  display: grid;
  gap: 10px;
  margin-top: 8px;
}
.sg-solution-calc__radios label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  color: #e8ecff;
  font-size: 0.92em;
  line-height: 1.5;
}
.sg-solution-calc__radios input {
  width: 18px;
  height: 18px;
  accent-color: #f39704;
  cursor: pointer;
}
.sg-solution-calc .calc-input {
  width: 100%;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  padding: 13px 14px;
  font-size: 1em;
  color: #e8ecff;
  outline: none;
}
.sg-solution-calc .calc-input:focus {
  border-color: rgba(243, 151, 4, 0.5);
  box-shadow: 0 0 0 4px rgba(243, 151, 4, 0.12);
}
.sg-solution-calc .calc-input::placeholder { color: rgba(232, 236, 255, 0.35); }
.sg-solution-calc__note {
  font-size: 0.75rem;
  color: rgba(232, 236, 255, 0.72);
  margin: 4px 0 8px;
  line-height: 1.4;
}
body.sg-solution-shopping .sg-solution-calc .sg-calc-run {
  width: 100%;
  max-width: var(--sg-ssc-calc-btn-w);
  margin-top: 26px;
  margin-left: auto;
  margin-right: auto;
}
body.sg-solution-shopping .sg-solution-calc .sg-calc-run .elementor-button {
  width: 100% !important;
  max-width: 100%;
  background: linear-gradient(135deg, #f39704, #c2740a) !important;
  background-color: #f39704 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 16px !important;
  font-size: 1.05em !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
  box-sizing: border-box !important;
  display: block !important;
  text-align: center !important;
}
.sg-solution-calc .sg-calc-run .elementor-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(243, 151, 4, 0.35);
}
.sg-solution-calc .results-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 20px;
}
.sg-solution-calc .result-stat {
  padding: 18px 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
}
.sg-solution-calc .result-stat--accent {
  background: linear-gradient(180deg, rgba(243, 151, 4, 0.15), rgba(243, 151, 4, 0.05));
  border-color: rgba(243, 151, 4, 0.25);
}
.sg-solution-calc .result-stat-label {
  font-size: 0.78rem;
  color: rgba(232, 236, 255, 0.72);
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
}
.sg-solution-calc .result-stat-value {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
}
.sg-solution-calc .result-stat-value.accent { color: #f39704; }
.sg-solution-calc .calc-table-wrap {
  overflow: auto;
  border: 1px solid rgba(232, 236, 255, 0.12);
  border-radius: 14px;
  margin-bottom: 20px;
}
.sg-solution-calc .calc-chart-wrap {
  margin-top: 18px;
  padding: 14px 12px;
  border: 1px solid rgba(232, 236, 255, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.02);
  position: relative;
  height: 340px;
}
.sg-solution-calc .calc-table { width: 100%; border-collapse: collapse; }
.sg-solution-calc .calc-table th,
.sg-solution-calc .calc-table td {
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 0.92rem;
}
.sg-solution-calc .calc-table th {
  background: rgba(20, 0, 56, 0.8);
  text-align: left;
  font-size: 0.78rem;
  color: rgba(232, 236, 255, 0.72);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.sg-solution-calc .calc-table td.num,
.sg-solution-calc .calc-table th.num { text-align: right; font-variant-numeric: tabular-nums; }
.sg-solution-calc .calc-table tfoot td {
  border-bottom: none;
  border-top: 2px solid rgba(243, 151, 4, 0.25);
  background: rgba(243, 151, 4, 0.06);
  font-weight: 700;
}
.sg-solution-calc .benefits-card {
  background: linear-gradient(135deg, rgba(243, 151, 4, 0.08), rgba(243, 151, 4, 0.03));
  border: 1px solid rgba(243, 151, 4, 0.15);
  border-radius: 16px;
  padding: 28px 24px;
}
.sg-solution-calc .benefits-title {
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 16px;
}
.sg-solution-calc .benefits-list {
  list-style: none;
  display: grid;
  gap: 14px;
  padding: 0;
  margin: 0;
}
.sg-solution-calc .benefits-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.92rem;
  color: rgba(232, 236, 255, 0.72);
  line-height: 1.5;
}
.sg-solution-calc .benefit-icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  background: rgba(243, 151, 4, 0.15);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}
.sg-solution-calc .benefit-icon svg { width: 15px; height: 15px; fill: #f39704; }

.sg-solution-roles.e-con,
.sg-solution-roles {
  background: transparent;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  padding-top: 40px !important;
  padding-bottom: 20px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  position: relative;
  overflow: visible;
}
.sg-solution-roles #myCanvas,
#myCanvas {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
}
#youtube-circle {
  position: absolute;
  z-index: 5;
  pointer-events: auto;
}
.sg-solution-roles .watch-video-circle,
.watch-video-circle {
  box-shadow: 9px 8px 50px 0 #afafaf;
  z-index: 1;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  position: absolute;
  background-color: #592ddf;
  text-align: center;
  transition: 0.25s ease-in-out;
}
.sg-solution-roles .watch-video-circle:hover,
.watch-video-circle:hover {
  background-color: #4815a7;
}
.sg-solution-roles .inside-circle,
.inside-circle {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.sg-solution-roles .inside-circle .text,
.inside-circle .text {
  color: #fff;
  font-family: Archivo, sans-serif;
  font-weight: 400;
  font-size: 18px;
  text-align: center;
  display: block;
}
.sg-solution-roles .inside-circle img {
  display: block;
  margin: 4px auto 0;
  width: 22px;
  height: auto;
}
.sg-solution-role.e-con {
  display: block !important;
  overflow: visible !important;
  max-width: none !important;
  width: 100% !important;
  --content-width: 100%;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
}
.sg-solution-role.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 0;
  padding: 20px 0 40px !important;
  position: relative;
  overflow: visible !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
}
.sg-solution-role__visual,
.sg-solution-role__text {
  position: relative;
  overflow: visible;
}
.sg-solution-role__text.e-con,
.sg-solution-role__visual.e-con {
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
}
.sg-solution-role__text.e-con > .e-con-inner,
.sg-solution-role__visual.e-con > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sg-solution-role--text-first .sg-solution-role__text,
.sg-solution-role--text-only .sg-solution-role__text {
  flex: 0 0 41.666%;
  max-width: 41.666%;
  margin-left: 8.333%;
  padding: 60px 12px 0;
  box-sizing: border-box;
}
.sg-solution-role--text-first .sg-solution-role__visual {
  flex: 0 0 50%;
  max-width: 50%;
  min-height: 420px;
}
.sg-solution-role--image-first .sg-solution-role__visual {
  flex: 0 0 41.666%;
  max-width: 41.666%;
  min-height: 420px;
}
.sg-solution-role--image-first .sg-solution-role__text {
  flex: 0 0 41.666%;
  max-width: 41.666%;
  padding: 60px 12px 0;
  box-sizing: border-box;
}
.sg-solution-roles #image-1,
.sg-solution-roles img.image-1 {
  position: absolute;
  margin-top: 0;
  margin-left: 30px;
  width: 551px;
  max-width: none;
  height: auto;
  z-index: 2;
}
.sg-solution-roles #image-2,
.sg-solution-roles img.image-2 {
  position: absolute;
  margin-top: -65px;
  margin-left: -220px;
  width: 655px;
  max-width: none;
  height: auto;
  z-index: 2;
}
.sg-solution-roles #image-3,
.sg-solution-roles img.image-3 {
  position: absolute;
  margin-top: -100px;
  margin-left: 0;
  width: 1025px;
  max-width: none;
  height: auto;
  z-index: 2;
}
.sg-solution-role h3,
.sg-solution-role h3.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 40px !important;
  font-weight: 500 !important;
  font-style: normal !important;
  color: #2c007c !important;
  text-align: left !important;
  padding: 0 0 20px !important;
  margin: 0 0 8.5px !important;
}
.sg-solution-role p,
.sg-solution-role em,
.sg-solution-role i,
.sg-solution-role .elementor-widget-text-editor,
.sg-solution-role .elementor-widget-text-editor p,
.sg-solution-role .elementor-widget-text-editor * {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 24px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  color: #414141 !important;
  margin: 0 !important;
}
.sg-solution-role .elementor-widget-text-editor strong,
.sg-solution-role p strong {
  font-weight: 700 !important;
  font-style: normal !important;
}

.sg-solution-unsure.e-con,
.sg-solution-unsure {
  background: #fff;
  padding: 60px var(--sg-ssc-col-pad) !important;
}
.sg-solution-unsure.e-con,
.sg-solution-unsure.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 24px;
}
.sg-solution-unsure h3,
.sg-solution-unsure .cta-text .elementor-heading-title,
.sg-solution-unsure h3.elementor-heading-title {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 40px !important;
  font-weight: 500 !important;
  color: #f39704 !important;
  padding-top: 10px !important;
  margin: 0 0 8.5px !important;
}
.sg-solution-unsure .sg-button-orange .elementor-button {
  background: #f39704 !important;
  color: #fff !important;
  box-shadow: none !important;
  filter: none !important;
}

/* === sg-ssc-roles START === */
body.sg-solution-shopping .sg-solution-roles .sg-solution-role p,
body.sg-solution-shopping .sg-solution-roles .sg-solution-role .elementor-widget-text-editor p,
body.sg-solution-shopping .sg-solution-roles .sg-solution-role .elementor-widget-text-editor * {
  color: #414141 !important;
  font-size: 17px !important;
  line-height: 24px !important;
  font-style: normal !important;
}

/* Clip #image-3 (and other absolute role visuals) at the viewport — keep bleed paint, kill doc overflowX.
   Do NOT copy prod's off-screen .watch-video-circle (x≈2755) overflow. */
body.sg-solution-shopping {
  overflow-x: clip;
}
body.sg-solution-shopping .sg-solution-roles.e-con,
body.sg-solution-shopping .sg-solution-roles {
  overflow-x: clip;
}

/* YouTube watch-video modal (Bootstrap-compatible markup; no Bootstrap JS on local) */
body.sg-solution-shopping #ytModal.modal {
  position: fixed;
  inset: 0;
  z-index: 1055;
  display: none;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}
body.sg-solution-shopping #ytModal.modal.show {
  display: block;
}
body.sg-solution-shopping #ytModal .modal-dialog {
  position: relative;
  width: auto;
  margin: 1.75rem auto;
  max-width: 800px;
  pointer-events: none;
}
body.sg-solution-shopping #ytModal .modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 3.5rem);
}
body.sg-solution-shopping #ytModal .modal-content {
  pointer-events: auto;
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  background-color: transparent;
  border: 0;
  border-radius: 0;
}
body.sg-solution-shopping #ytModal .modal-body {
  position: relative;
  padding: 0;
}
body.sg-solution-shopping #ytModal iframe {
  display: block;
  width: 100%;
  max-width: 800px;
  height: 420px;
  border: 0;
  background: #000;
}
body.sg-solution-shopping .sg-yt-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1050;
  background-color: rgba(0, 0, 0, 0.55);
}
body.sg-solution-shopping.sg-yt-modal-open {
  overflow: hidden;
}
/* === sg-ssc-roles END === */

/* === sg-ssc-unsure START === */
body.sg-solution-shopping .sg-solution-unsure.e-con.sg-solution-unsure {
  --flex-direction: row;
  flex-direction: row !important;
  align-items: center !important;
  /* prod .row cta: ~12.75px between h3 and btn (Bootstrap gutter), not 24 */
  --gap: 12.75px;
  gap: 12.75px !important;
}
body.sg-solution-shopping .sg-solution-unsure.e-con > .e-con-inner {
  gap: 12.75px !important;
}
/* === sg-ssc-unsure END === */

.sg-solution-benefits.e-con,
.sg-solution-benefits {
  background: #fff;
  padding: 40px var(--sg-ssc-col-pad) 60px !important;
  position: relative;
}
.sg-solution-benefits__watermark h2,
.sg-solution-benefits__watermark .elementor-heading-title,
.sg-solution-benefits h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 60px !important;
  line-height: 40px !important;
  color: #414141 !important;
  text-align: left !important;
  padding: 0 0 60px !important;
  margin: 0 !important;
}
.sg-solution-benefits__grid.e-con {
  display: block !important;
}
.sg-solution-benefits__grid.e-con > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px;
  width: 100% !important;
  padding: 0;
}
.sg-solution-benefits__col h3,
.sg-solution-benefits__col h3.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 20px !important;
  line-height: 40px !important;
  color: #f39704 !important;
  margin: 0 0 8px !important;
}
.sg-solution-benefits__col ul {
  padding-left: 18px;
  margin: 0;
}
.sg-solution-benefits__col li {
  font-family: Archivo, sans-serif;
  font-size: 17px;
  line-height: 24px;
  color: #414141;
  margin-bottom: 8px;
}

.sg-solution-faq.e-con,
.sg-solution-faq {
  background: #fff;
  padding: 40px var(--sg-ssc-col-pad) 0 !important;
}

/* Zunanji Elementor container: rotiramo za arch efekt */
.sg-solution-section-transition.e-con,
.sg-solution-section-transition {
  position: relative;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
  padding: 0 !important;
  display: block !important;
  min-height: 0;
  margin-bottom: 0;
  background: #23035e !important;
}

/* Neposredni HTML widget znotraj že rotiranega shopping containerja: brez transform —
   parent .sg-solution-section-transition je že rotiran 180°, otrok ne sme podvojiti.
   NE uporabljaj globalnega #solution-section-transition[aria-hidden] — to bi
   razveljavilo MLB/SMB pattern, kjer se rotira notranji SVG, wrapper pa ostane none. */
.sg-solution-section-transition #solution-section-transition[aria-hidden="true"] {
  transform: none !important;
}

/* Standalonen #solution-section-transition brez Elementor containerja (produkcija) */
#solution-section-transition:not([aria-hidden]):not(.sg-solution-section-transition) {
  position: relative;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
  padding: 0 !important;
  display: block !important;
  min-height: 0;
  margin-bottom: 0;
}


#solution-section-transition svg,
.sg-solution-section-transition svg {
  position: relative;
  display: block;
  width: calc(100% + 2px);
  height: 100px;
  background: #23035e;
}
#solution-section-transition .shape-fill { fill: #fff; }

.sg-solution-numbers.e-con,
.sg-solution-numbers,
#numbers.sg-solution-numbers {
  background: var(--sg-ssc-numbers-bg, #23035e) !important;
  padding: 20px var(--sg-ssc-col-pad, 20px) 80px !important;
  color: #fff;
}
.sg-solution-numbers h2,
.sg-solution-numbers h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 60px !important;
  line-height: 40px !important;
  color: #fff !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sg-solution-numbers .elementor-widget,
.sg-solution-numbers .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}
.sg-solution-numbers__full.e-con,
.sg-solution-numbers__full.e-con {
  display: block !important;
}
.sg-solution-numbers__full.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.125);
  padding: 40px 0 25px !important;
  margin-top: 30px;
  overflow: visible;
}
.sg-solution-numbers .number-first .elementor-heading-title,
.sg-solution-numbers h3.number-first,
.sg-solution-numbers .number-first {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 90px !important;
  line-height: 90px !important;
  color: #f39704 !important;
  white-space: nowrap;
  overflow: visible !important;
}
.sg-solution-numbers .text-first p,
.sg-solution-numbers .text-first {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 26px !important;
  color: #fff !important;
  margin: 0 !important;
}
.sg-solution-numbers__two.e-con,
.sg-solution-numbers__three.e-con {
  display: block !important;
}
.sg-solution-numbers__two.e-con > .e-con-inner,
.sg-solution-numbers__three.e-con > .e-con-inner {
  display: grid !important;
  width: 100% !important;
}
.sg-solution-numbers__two.e-con > .e-con-inner { grid-template-columns: 1fr 1fr !important; }
.sg-solution-numbers__three.e-con > .e-con-inner { grid-template-columns: 1fr 1fr 1fr !important; }
.sg-solution-numbers__cell.e-con > .e-con-inner { padding: 40px 35px 40px 0; }
.sg-solution-numbers .second-box {
  padding-top: 60px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.125);
  height: 240px;
}
.sg-solution-numbers .second-box.first { border-right: 1px solid rgba(255, 255, 255, 0.125); padding-right: 24px; }
.sg-solution-numbers .second-box.second { padding-left: 40px; }
.sg-solution-numbers .third-box { border-right: 1px solid rgba(255, 255, 255, 0.125); margin-bottom: 80px; }
.sg-solution-numbers .third-box.last { border-right: none; }
.sg-solution-numbers .number-big,
.sg-solution-numbers .number-big p {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 120px !important;
  line-height: 40px !important;
  color: #f39704 !important;
  margin: 0 0 16px !important;
}
.sg-solution-numbers .text-big p,
.sg-solution-numbers .text-big {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 40px !important;
  color: #fff !important;
  margin: 0 !important;
}
.sg-solution-numbers .number-small,
.sg-solution-numbers .number-small p {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 60px !important;
  line-height: 40px !important;
  color: #f39704 !important;
  margin: 0 0 12px !important;
}
.sg-solution-numbers .text-small p,
.sg-solution-numbers .text-small {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 20px !important;
  color: #fff !important;
  margin: 0 !important;
}
.sg-solution-numbers__cta.e-con,
.sg-solution-numbers__cta.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.sg-solution-numbers__cta h3,
.sg-solution-numbers__cta .cta-text .elementor-heading-title,
.sg-solution-numbers__cta h3.elementor-heading-title {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 40px !important;
  color: #f39704 !important;
  margin: 0 40px 0 0 !important;
}
.sg-solution-numbers .sg-button-purple .elementor-button { background: #592ddf !important; color: #fff !important; }
.sg-solution-numbers .sg-button-orange .elementor-button { background: #f39704 !important; color: #fff !important; }

/* === sg-ssc-numbers-desktop START ===
   Prod #numbers @1440: section h≈852.5 (pad 20/80), first-box mg-top 30 + h 116.5,
   second-box h 240, third-box h 178.5 + mb 80, CTA row h 59.
   Kill Elementor 10px cell/row padding that was adding ~104px section height.
*/
body.sg-solution-shopping .sg-solution-numbers h2.elementor-heading-title {
  font-weight: 400 !important;
  margin: 0 0 8.5px !important;
}
body.sg-solution-shopping .sg-solution-numbers__full.e-con,
body.sg-solution-shopping .sg-solution-numbers__two.e-con,
body.sg-solution-shopping .sg-solution-numbers__three.e-con,
body.sg-solution-shopping .sg-solution-numbers__cell.e-con,
body.sg-solution-shopping .sg-solution-numbers__cta.e-con {
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  padding: 0 !important;
}
body.sg-solution-shopping .sg-solution-numbers__full.e-con {
  display: block !important;
  margin-top: 30px !important;
  height: 116.5px !important;
  max-height: 116.5px !important;
  overflow: visible !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.125);
  box-sizing: border-box !important;
}
body.sg-solution-shopping .sg-solution-numbers__full.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 20px !important;
  border-bottom: none !important;
  padding: 40px 0 25px !important;
  margin-top: 0 !important;
  height: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
body.sg-solution-shopping .sg-solution-numbers .number-first .elementor-heading-title,
body.sg-solution-shopping .sg-solution-numbers h3.number-first,
body.sg-solution-shopping .sg-solution-numbers .number-first {
  font-weight: 400 !important;
  line-height: 90px !important;
  overflow: visible !important;
}
body.sg-solution-shopping .sg-solution-numbers__two.e-con > .e-con-inner,
body.sg-solution-shopping .sg-solution-numbers__three.e-con > .e-con-inner {
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
}
body.sg-solution-shopping .sg-solution-numbers .second-box.e-con,
body.sg-solution-shopping .sg-solution-numbers .second-box {
  height: 240px !important;
  box-sizing: border-box !important;
  padding-top: 60px !important;
  padding-bottom: 40px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.125);
}
body.sg-solution-shopping .sg-solution-numbers .second-box.first {
  border-right: 1px solid rgba(255, 255, 255, 0.125);
  padding-right: 24px !important;
  padding-left: 0 !important;
}
body.sg-solution-shopping .sg-solution-numbers .second-box.second {
  padding-left: 40px !important;
  padding-right: 0 !important;
}
body.sg-solution-shopping .sg-solution-numbers .second-box.e-con > .e-con-inner {
  padding: 0 !important;
}
body.sg-solution-shopping .sg-solution-numbers .third-box.e-con,
body.sg-solution-shopping .sg-solution-numbers .third-box {
  height: 178.5px !important;
  box-sizing: border-box !important;
  margin-bottom: 80px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.125);
  overflow: visible !important;
}
body.sg-solution-shopping .sg-solution-numbers .third-box.last {
  border-right: none !important;
}
body.sg-solution-shopping .sg-solution-numbers .third-box.e-con > .e-con-inner {
  padding: 40px 35px 40px 0 !important;
  box-sizing: border-box !important;
  height: 100% !important;
}
body.sg-solution-shopping .sg-solution-numbers__cta.e-con,
body.sg-solution-shopping .sg-solution-numbers__cta.e-con > .e-con-inner {
  min-height: 59px !important;
  height: 59px !important;
  padding: 0 !important;
  gap: 0 !important;
  --gap: 0px;
  align-items: center !important;
  overflow: visible !important;
}
body.sg-solution-shopping .sg-solution-numbers__cta h3.elementor-heading-title,
body.sg-solution-shopping .sg-solution-numbers__cta .cta-text .elementor-heading-title {
  font-weight: 300 !important;
  margin: 4px 40px 0 0 !important;
  padding: 0 !important;
  line-height: 40px !important;
}
body.sg-solution-shopping .sg-solution-numbers__cta .sg-button-orange .elementor-button {
  margin-left: 30px !important;
}
/* === sg-ssc-numbers-desktop END === */

@media (max-width: 991px) {
  body.sg-solution-shopping .sg-solution-hero.e-con,
  body.sg-solution-shopping .sg-solution-intro.e-con,
  body.sg-solution-shopping .sg-solution-features.e-con,
  body.sg-solution-shopping .sg-solution-how.e-con,
  body.sg-solution-shopping .sg-solution-roles.e-con,
  body.sg-solution-shopping .sg-solution-unsure.e-con,
  body.sg-solution-shopping .sg-solution-benefits.e-con,
  body.sg-solution-shopping .sg-solution-faq.e-con,
  body.sg-solution-shopping .sg-solution-numbers.e-con {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  body.sg-solution-shopping .sg-solution-hero.e-con,
  body.sg-solution-shopping .sg-solution-hero {
    padding: var(--sg-ssc-hero-pad-block-start) 20px 100px !important;
    background-position: 75% center !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-hero h1,
  body.sg-solution-shopping .sg-solution-hero h1.elementor-heading-title {
    font-size: var(--sg-ssc-h1-size) !important;
    line-height: var(--sg-ssc-h1-line) !important;
  }
  body.sg-solution-shopping .sg-solution-hero h2,
  body.sg-solution-shopping .sg-solution-hero h2.elementor-heading-title {
    font-size: var(--sg-ssc-h2-size) !important;
    line-height: var(--sg-ssc-h2-line) !important;
  }
  .sg-solution-hero__actions.e-con { flex-wrap: wrap; }
  .sg-solution-intro p, .sg-solution-intro .elementor-widget-text-editor { font-size: 20px !important; line-height: 28px !important; padding: 32px 0 !important; }
  .sg-solution-features h2, .sg-solution-features h2.elementor-heading-title,
  .sg-solution-how h2.elementor-heading-title,
  .sg-solution-benefits h2.elementor-heading-title,
  .sg-solution-numbers h2.elementor-heading-title { font-size: 36px !important; line-height: 40px !important; }
  .sg-solution-features__grid.e-con { width: 100% !important; margin-left: 0 !important; }
  .sg-solution-features__grid.e-con > .e-con-inner { grid-template-columns: 1fr !important; }
  .sg-solution-how__row.e-con { width: 100% !important; margin-left: 0 !important; padding: 0 !important; }
  .sg-solution-how__row.e-con > .e-con-inner { flex-wrap: wrap !important; }
  .sg-solution-how__arrow { display: none !important; }
  .sg-solution-how__card { width: 100%; max-width: 400px; flex: 1 1 100%; }
  .sg-solution-calc { margin: 20px 0 0; border-radius: 0; }
  .sg-solution-calc .calc-fields,
  .sg-solution-calc .results-summary { grid-template-columns: 1fr; }
  .sg-solution-role.e-con > .e-con-inner,
  .sg-solution-role--text-first .sg-solution-role__text,
  .sg-solution-role--image-first .sg-solution-role__text {
    flex-direction: column !important;
    margin-left: 0;
    max-width: 100%;
    flex: 1 1 100%;
    padding: 16px 20px 0;
  }
  .sg-solution-role--text-first .sg-solution-role__visual,
  .sg-solution-role--image-first .sg-solution-role__visual {
    flex: 1 1 100%;
    max-width: 100%;
    min-height: 0;
  }
  .sg-solution-role__text { max-width: 100%; flex: 1 1 auto; padding-top: 16px; }
  .sg-solution-roles #image-1,
  .sg-solution-roles #image-2,
  .sg-solution-roles #image-3,
  .sg-solution-roles img.image-1,
  .sg-solution-roles img.image-2,
  .sg-solution-roles img.image-3 {
    position: relative !important;
    margin: 0 auto !important;
    width: min(100%, 420px) !important;
    max-width: 100% !important;
  }
  #youtube-circle, #myCanvas { display: none !important; }
  .sg-solution-unsure.e-con { flex-direction: column !important; align-items: flex-start !important; }
  body.sg-solution-shopping .sg-solution-unsure.e-con.sg-solution-unsure { flex-direction: column !important; align-items: flex-start !important; }
  .sg-solution-benefits__grid.e-con > .e-con-inner { grid-template-columns: 1fr !important; }
  .sg-solution-numbers__full.e-con { flex-direction: column !important; align-items: flex-start; }
  .sg-solution-numbers__two.e-con > .e-con-inner,
  .sg-solution-numbers__three.e-con > .e-con-inner { grid-template-columns: 1fr !important; }
  .sg-solution-numbers .second-box.first,
  .sg-solution-numbers .third-box { border-right: none; }
  .sg-solution-numbers .second-box.second { padding-left: 0; }
  .sg-solution-numbers .number-big, .sg-solution-numbers .number-big p { font-size: 64px !important; }
  .sg-solution-numbers .number-first .elementor-heading-title { font-size: 56px !important; }
  .sg-solution-numbers__cta.e-con { flex-direction: column !important; align-items: stretch; }
  .sg-solution-unsure .sg-button-orange .elementor-button,
  .sg-solution-numbers .sg-button-orange .elementor-button,
  .sg-solution-numbers .sg-button-purple .elementor-button { width: 100%; }
}
@media (max-width: 376px) {
  body.sg-solution-shopping .sg-solution-hero.e-con,
  body.sg-solution-shopping .sg-solution-hero {
    background-image: var(--sg-ssc-hero-image-mobile) !important;
    --background-image: var(--sg-ssc-hero-image-mobile);
  }
}

/* A2 envelope: Elementor --display unset → computed inline; force section blocks. Do NOT pad .elementor (header). */
body.sg-solution-shopping .sg-solution-hero.e-con,
body.sg-solution-shopping .sg-solution-intro.e-con,
body.sg-solution-shopping .sg-solution-features.e-con,
body.sg-solution-shopping .sg-solution-how.e-con,
body.sg-solution-shopping .sg-solution-calc.e-con,
body.sg-solution-shopping .sg-solution-roles.e-con,
body.sg-solution-shopping .sg-solution-unsure.e-con,
body.sg-solution-shopping .sg-solution-benefits.e-con,
body.sg-solution-shopping .sg-solution-faq.e-con,
body.sg-solution-shopping .sg-solution-section-transition.e-con,
body.sg-solution-shopping .sg-solution-numbers.e-con {
  --display: flex;
  --flex-direction: column;
  --gap: 0px;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
body.sg-solution-shopping .sg-solution-hero.e-con > .elementor-element,
body.sg-solution-shopping .sg-solution-intro.e-con > .elementor-element {
  width: 100% !important;
  max-width: 100% !important;
}
body.sg-solution-shopping .sg-solution-calc.e-con,
body.sg-solution-shopping .sg-solution-calc {
  width: calc(100% - 40px) !important;
  max-width: none !important;
}
/* Prod .calc-container is 860px; CTA inside card with 24px side pad → ~810 content width */
body.sg-solution-shopping .sg-solution-calc .sg-solution-calc__inner,
body.sg-solution-shopping .sg-solution-calc .sg-solution-calc__inner.e-con,
body.sg-solution-shopping .sg-solution-calc .sg-solution-calc__inner.e-con > .e-con-inner,
body.sg-solution-shopping .sg-solution-calc .calc-container {
  --background-color: transparent;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  --padding-top: 0px;
  --padding-bottom: 0px;
  background-color: transparent !important;
  width: 100% !important;
  max-width: var(--sg-ssc-calc-inner-w) !important;
  margin-left: auto;
  margin-right: auto;
  padding: 0 !important;
}
body.sg-solution-shopping .sg-solution-calc .calc-card,
body.sg-solution-shopping .sg-solution-calc .calc-card.e-con {
  background: #1e004d !important;
  border: 1px solid rgba(232, 236, 255, 0.12) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.sg-solution-shopping .sg-solution-calc .calc-card.e-con > .e-con-inner {
  padding: 28px 24px !important;
}
body.sg-solution-shopping .sg-solution-calc .sg-calc-run {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 26px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.sg-solution-shopping .sg-solution-calc .sg-calc-run .elementor-button {
  width: 100% !important;
  max-width: 100% !important;
  background: linear-gradient(135deg, #f39704, #c2740a) !important;
  background-color: #f39704 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 16px !important;
  font-size: 1.05em !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
  box-sizing: border-box !important;
  display: block !important;
  text-align: center !important;
}
@media (max-width: 1100px) {
  body.sg-solution-shopping .sg-solution-hero.e-con,
  body.sg-solution-shopping .sg-solution-hero {
    background-position: 75% center !important;
    padding-bottom: 100px !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
  }
}
@media (max-width: 450px) {
  body.sg-solution-shopping {
    --sg-ssc-h1-size: 45px;
    --sg-ssc-h1-line: 45px;
    --sg-ssc-h2-size: 26px;
    --sg-ssc-h2-line: 36px;
    --sg-ssc-hero-h: auto;
  }
  body.sg-solution-shopping .sg-solution-hero.e-con,
  body.sg-solution-shopping .sg-solution-hero {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    padding: 100px 20px 100px !important;
  }
  body.sg-solution-shopping .sg-solution-hero h1,
  body.sg-solution-shopping .sg-solution-hero h1.elementor-heading-title {
    font-size: 45px !important;
    line-height: 45px !important;
  }
  body.sg-solution-shopping .sg-solution-hero h2,
  body.sg-solution-shopping .sg-solution-hero h2.elementor-heading-title {
    font-size: 26px !important;
    line-height: 36px !important;
  }
  body.sg-solution-shopping .sg-solution-hero__actions.e-con,
  body.sg-solution-shopping .sg-solution-hero__actions.e-con > .e-con-inner {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
}

/* === sg-ssc-hero START === */
body.sg-solution-shopping .sg-solution-hero__inner.e-con,
body.sg-solution-shopping .sg-solution-hero__inner.e-con > .e-con-inner,
body.sg-solution-shopping .sg-solution-hero .sg-solution-hero__inner {
  --gap: 0px;
  gap: 0 !important;
}
@media (max-width: 450px) {
  body.sg-solution-shopping .sg-solution-hero.e-con,
  body.sg-solution-shopping .sg-solution-hero {
    background-image: var(--sg-ssc-hero-image-mobile) !important;
    --background-image: var(--sg-ssc-hero-image-mobile);
  }
  body.sg-solution-shopping .sg-solution-hero__actions.e-con,
  body.sg-solution-shopping .sg-solution-hero__actions.e-con > .e-con-inner {
    --gap: 0px;
    gap: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-hero .sg-button-orange {
    margin-top: 20px !important;
  }
}
/* === sg-ssc-hero END === */

/* === sg-ssc-intro START === */
body.sg-solution-shopping .sg-solution-intro.e-con,
body.sg-solution-shopping .sg-solution-intro {
  --padding-inline-start: var(--sg-ssc-col-pad);
  --padding-inline-end: var(--sg-ssc-col-pad);
  background: #fff;
  padding: 0 var(--sg-ssc-col-pad) !important;
}
body.sg-solution-shopping .sg-solution-intro .elementor-widget-text-editor {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 40px !important;
  font-weight: 400 !important;
  color: #414141 !important;
  text-align: left !important;
  padding: 60px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.sg-solution-shopping .sg-solution-intro p {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 40px !important;
  font-weight: 400 !important;
  color: #414141 !important;
  text-align: left !important;
  padding: 60px !important;
  /* Match prod .subhero-titles p.text: padding 60 + Bootstrap margin-bottom 17px */
  margin: 0 0 17px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
}
@media (max-width: 991px) {
  body.sg-solution-shopping .sg-solution-intro.e-con,
  body.sg-solution-shopping .sg-solution-intro {
    padding: 0 20px !important;
  }
  body.sg-solution-shopping .sg-solution-intro .elementor-widget-text-editor,
  body.sg-solution-shopping .sg-solution-intro p {
    font-size: 26px !important;
    line-height: 36px !important;
    padding: 0 !important;
  }
}
/* === sg-ssc-intro END === */

/* === sg-ssc-features START === */
/* Prod: Features lives in .row.work-how.row-1 > .col-lg-10 > h2 + .col-wrapper.cw1
   with .col-wrapper{padding:60px}, 3x .col-lg-4 rows, span.title 30/40 #2c007c.
   Local: Elementor headings in 1068px 3-col grid; keep wrap + overflow visible so
   "Empowering Transparency" is never bottom-clipped. */
body.sg-solution-shopping .sg-solution-features.e-con,
body.sg-solution-shopping .sg-solution-features {
  --padding-inline-start: var(--sg-ssc-col-pad);
  --padding-inline-end: var(--sg-ssc-col-pad);
  --gap: 0px;
  background: #fff;
  padding: 0 var(--sg-ssc-col-pad) 0 !important;
  overflow: visible !important;
}
body.sg-solution-shopping .sg-solution-features .elementor-widget,
body.sg-solution-shopping .sg-solution-features .elementor-widget-heading,
body.sg-solution-shopping .sg-solution-features .elementor-widget-container,
body.sg-solution-shopping .sg-solution-features .elementor-heading-title {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
}
body.sg-solution-shopping .sg-solution-features h2,
body.sg-solution-shopping .sg-solution-features h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 60px !important;
  line-height: 40px !important;
  font-weight: 500 !important;
  color: #414141 !important;
  text-align: left !important;
  padding: 0 0 40px !important;
  margin: 0 !important;
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  white-space: nowrap !important;
}
body.sg-solution-shopping .sg-solution-features__grid.e-con {
  display: block !important;
  width: 1068px !important;
  max-width: 1068px !important;
  margin-left: 47px !important;
  /* Match prod .col-wrapper padding:60px (vertical). Horizontal inset via title pad 12.75. */
  padding: 60px 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
body.sg-solution-shopping .sg-solution-features__grid.e-con > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  grid-auto-rows: min-content !important;
  align-items: start !important;
  align-content: start !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
body.sg-solution-shopping .sg-solution-features h3,
body.sg-solution-shopping .sg-solution-features h3.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 40px !important;
  font-weight: 700 !important;
  color: #2c007c !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 12.75px 20px !important;
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}
/* Second feature row: prod .row { padding-bottom:40px } */
body.sg-solution-shopping .sg-solution-features .elementor-widget:nth-child(n+4) .elementor-heading-title,
body.sg-solution-shopping .sg-solution-features h3:nth-child(n+4) {
  padding-bottom: 40px !important;
}
@media (max-width: 991px) {
  body.sg-solution-shopping .sg-solution-features.e-con,
  body.sg-solution-shopping .sg-solution-features {
    padding: 0 20px 50px !important;
  }
  body.sg-solution-shopping .sg-solution-features h2,
  body.sg-solution-shopping .sg-solution-features h2.elementor-heading-title {
    font-size: 45px !important;
    line-height: 45px !important;
    text-align: center !important;
    padding: 20px 0 40px !important;
    white-space: normal !important;
  }
  body.sg-solution-shopping .sg-solution-features__grid.e-con {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    /* prod #solution .work-how .cw1 { padding:0; padding-right:10vh } */
    padding: 0 10vh 0 0 !important;
    box-sizing: border-box !important;
  }
  body.sg-solution-shopping .sg-solution-features__grid.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
  body.sg-solution-shopping .sg-solution-features h3,
  body.sg-solution-shopping .sg-solution-features h3.elementor-heading-title {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* === sg-ssc-features END === */

/* === sg-ssc-how START === */
body.sg-solution-shopping .sg-solution-how.e-con,
body.sg-solution-shopping .sg-solution-how {
  --padding-inline-start: var(--sg-ssc-col-pad);
  --padding-inline-end: var(--sg-ssc-col-pad);
  --gap: 0px;
  background: #fff;
  padding: 0 var(--sg-ssc-col-pad) 60px !important;
  overflow: visible !important;
  gap: 0 !important;
}
body.sg-solution-shopping .sg-solution-how.e-con > .e-con-inner {
  --gap: 0px;
  gap: 0 !important;
}
body.sg-solution-shopping .sg-solution-how .elementor-widget,
body.sg-solution-shopping .sg-solution-how .elementor-widget-heading,
body.sg-solution-shopping .sg-solution-how .elementor-widget-text-editor,
body.sg-solution-shopping .sg-solution-how .elementor-widget-container,
body.sg-solution-shopping .sg-solution-how .elementor-heading-title {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}
body.sg-solution-shopping .sg-solution-how h2,
body.sg-solution-shopping .sg-solution-how h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 60px !important;
  line-height: 40px !important;
  font-weight: 500 !important;
  color: #414141 !important;
  text-align: left !important;
  padding: 0 !important;
  margin: 0 0 8.5px !important;
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  white-space: nowrap !important;
}
body.sg-solution-shopping .sg-solution-how .sg-solution-how__lead .elementor-heading-title {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 36px !important;
  font-weight: 500 !important;
  color: #120033 !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 60px 0 8.5px !important;
}
body.sg-solution-shopping .sg-solution-how__row.e-con {
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  --content-width: 1360px;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: min(1360px, calc(100vw - 80px)) !important;
  padding: 0 !important;
  margin-top: 40px !important;
  margin-bottom: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: visible !important;
}
body.sg-solution-shopping .sg-solution-how__row.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;
  flex-wrap: nowrap;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  overflow: visible !important;
}
body.sg-solution-shopping .sg-solution-how__card .elementor-widget,
body.sg-solution-shopping .sg-solution-how__box .elementor-widget,
body.sg-solution-shopping .sg-solution-how__card .elementor-element {
  margin: 0 !important;
}
body.sg-solution-shopping .sg-solution-how__card,
body.sg-solution-shopping .sg-solution-how__card.e-con {
  --flex-grow: 0;
  --flex-shrink: 0;
  --width: 260px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  flex: 0 0 260px !important;
  width: 260px !important;
  max-width: 260px !important;
  padding: 0 !important;
}
body.sg-solution-shopping .sg-solution-how__card.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column;
  gap: 0 !important;
  padding: 0 !important;
}
body.sg-solution-shopping .sg-solution-how .sg-solution-how__step .elementor-heading-title,
body.sg-solution-shopping .sg-solution-how__step h3,
body.sg-solution-shopping .sg-solution-how__step .elementor-heading-title {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 36px !important;
  font-weight: 500 !important;
  color: #6b21a8 !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 0 0 15px !important;
}
body.sg-solution-shopping .sg-solution-how__box.e-con,
body.sg-solution-shopping .sg-solution-how__box {
  --padding-block-start: 15px;
  --padding-block-end: 15px;
  --padding-inline-start: 15px;
  --padding-inline-end: 15px;
  background: #fff !important;
  border: 2px solid #6b21a8;
  border-radius: 8px;
  padding: 0 !important;
  text-align: justify;
}
body.sg-solution-shopping .sg-solution-how__box.e-con > .e-con-inner {
  padding: 15px !important;
  gap: 0 !important;
}
body.sg-solution-shopping .sg-solution-how__icon,
body.sg-solution-shopping .sg-solution-how__icon .elementor-widget-container,
body.sg-solution-shopping .sg-solution-how__icon figure {
  margin: 0 !important;
  padding: 0 !important;
}
body.sg-solution-shopping .sg-solution-how__icon img {
  width: 100% !important;
  height: auto !important;
  display: block;
  margin: 0 0 15px !important;
}
body.sg-solution-shopping .sg-solution-how__copy,
body.sg-solution-shopping .sg-solution-how__copy .elementor-widget-container,
body.sg-solution-shopping .sg-solution-how__copy p {
  display: block;
  font-family: Archivo, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-style: normal !important;
  font-weight: 400 !important;
  color: #414141 !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.sg-solution-shopping .sg-solution-how__copy strong {
  font-weight: 700 !important;
}
body.sg-solution-shopping .sg-solution-how .elementor-widget-html {
  flex: 0 0 40px !important;
  width: 40px !important;
  max-width: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.sg-solution-shopping .sg-solution-how__arrow {
  flex: 0 0 40px;
  width: 40px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  color: #6b21a8;
  font-weight: 700;
  line-height: 60px;
  padding: 0;
}
body.sg-solution-shopping .sg-solution-how__arrow > div {
  font-size: 40px;
  color: #6b21a8;
  font-weight: 700;
  line-height: 60px;
  width: 40px;
  height: 60px;
  text-align: center;
}
@media (max-width: 991px) {
  body.sg-solution-shopping .sg-solution-how.e-con,
  body.sg-solution-shopping .sg-solution-how {
    padding: 0 20px 60px !important;
  }
  body.sg-solution-shopping .sg-solution-how h2,
  body.sg-solution-shopping .sg-solution-how h2.elementor-heading-title {
    font-size: 45px !important;
    line-height: 45px !important;
    text-align: center !important;
    white-space: normal !important;
    padding: 20px 0 !important;
    margin-bottom: 8.5px !important;
  }
  body.sg-solution-shopping .sg-solution-how .sg-solution-how__lead .elementor-heading-title {
    margin: 60px auto 8.5px !important;
    max-width: 310px !important;
  }
  body.sg-solution-shopping .sg-solution-how__row.e-con {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 20px !important;
  }
  body.sg-solution-shopping .sg-solution-how__row.e-con > .e-con-inner {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 20px !important;
  }
  body.sg-solution-shopping .sg-solution-how .elementor-widget-html,
  body.sg-solution-shopping .sg-solution-how__arrow {
    display: none !important;
  }
  body.sg-solution-shopping .sg-solution-how__card,
  body.sg-solution-shopping .sg-solution-how__card.e-con {
    width: 100% !important;
    max-width: 400px !important;
    flex: 1 1 100% !important;
  }
}
/* === sg-ssc-how END === */

/* —— Multi-location business (sg-mlb-*) —— */
.sg-solution-mlb {
  overflow-x: clip;
}
.sg-mlb-hero.e-con,
.sg-mlb-intro.e-con,
.sg-mlb-benefits.e-con,
.sg-mlb-core.e-con,
.sg-mlb-loyalty.e-con,
.sg-mlb-faq.e-con,
.sg-mlb-numbers.e-con,
.sg-mlb-transition.e-con {
  --display: flex;
  --flex-direction: column;
  --gap: 0px;
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  gap: 0 !important;
}
.sg-mlb-hero.e-con > .elementor-element,
.sg-mlb-intro.e-con > .elementor-element,
.sg-mlb-benefits.e-con > .elementor-element,
.sg-mlb-core.e-con > .elementor-element,
.sg-mlb-loyalty.e-con > .elementor-element,
.sg-mlb-faq.e-con > .elementor-element,
.sg-mlb-numbers.e-con > .elementor-element {
  width: 100% !important;
  max-width: 1162px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.sg-mlb-hero.e-con,
.sg-mlb-hero {
  position: relative;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 20px 20px 0 !important;
  background: #fff !important;
  background-image: none !important;
  overflow: visible;
}
.sg-mlb-hero::before { display: none !important; }
.sg-mlb-hero__inner.e-con,
.sg-mlb-hero__inner.e-con > .e-con-inner,
.sg-mlb-hero .sg-mlb-hero__inner {
  --display: flex;
  --flex-direction: column;
  --gap: 0px;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  max-width: 1162px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: 0 !important;
}
.sg-mlb-hero .elementor-widget,
.sg-mlb-hero .elementor-element {
  margin: 0 !important;
  --margin-block-start: 0px;
  --margin-block-end: 0px;
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
}
.sg-mlb-hero .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}
.sg-mlb-hero .elementor-widget-button {
  width: auto !important;
  display: inline-block !important;
}
.sg-mlb-hero h1,
.sg-mlb-hero h1.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 60px !important;
  line-height: 66px !important;
  font-weight: 500 !important;
  color: #414141 !important;
  text-align: left !important;
  margin: 0 0 8.5px !important;
}
.sg-mlb-hero h2,
.sg-mlb-hero h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 34px !important;
  line-height: 40.8px !important;
  font-weight: 500 !important;
  color: #414141 !important;
  text-align: left !important;
  margin: 0 0 8.5px !important;
}
.sg-mlb-hero__actions.e-con,
.sg-mlb-hero__actions.e-con > .e-con-inner {
  --display: flex;
  --flex-direction: row;
  --gap: 3px;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap;
  gap: 3px !important;
  justify-content: flex-start !important;
  align-items: center;
  width: auto !important;
  max-width: 100% !important;
}
.sg-mlb-hero .sg-button-orange .elementor-button,
.sg-mlb-hero .sg-button-purple .elementor-button {
  width: 230px;
  min-height: 59px;
  padding: 16px 0 !important;
  border-radius: 12px !important;
  font-family: Archivo, sans-serif !important;
  font-size: 18px !important;
  line-height: 27px !important;
  font-weight: 400 !important;
  text-align: center;
  box-sizing: border-box;
}
.sg-mlb-hero .sg-button-orange .elementor-button { background: #f39704 !important; color: #fff !important; }
.sg-mlb-hero .sg-button-purple .elementor-button { background: #592ddf !important; color: #fff !important; }
.sg-mlb-hero .sg-button-orange .elementor-button:hover { background: #d48302 !important; }
.sg-mlb-hero .sg-button-purple .elementor-button:hover { background: #4815a7 !important; }

.sg-mlb-intro.e-con,
.sg-mlb-intro {
  background: #fff;
  padding: 0 20px !important;
}
.sg-mlb-intro .elementor-widget-text-editor {
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
  max-width: 1162px;
}
.sg-mlb-intro p {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 40px !important;
  color: #414141 !important;
  padding: 60px !important;
  margin: 0 0 17px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

body.sg-solution-mlb .site-content,
body.sg-solution-mlb .elementor {
  overflow-x: hidden;
}

.sg-mlb-benefits.e-con,
.sg-mlb-benefits {
  --content-width: 100%;
  background: #fff;
  /* Keep S3 = prod .work-how 1776.3 @1440. Internal row pad/mar mirrors
   * prod row-1 padB50 / row-2 padB100; residual padB fills the budget. */
  padding: 0 0 17px !important;
  overflow-x: hidden;
  align-items: stretch !important;
}
.sg-mlb-benefits > .e-con-inner {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
}
.sg-mlb-benefits > .elementor-widget-heading {
  width: 100% !important;
  max-width: 1162px !important;
  align-self: center;
}
.sg-mlb-benefits.e-con > .sg-mlb-benefit-row.e-con {
  --width: 100%;
  --content-width: 100%;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.sg-mlb-benefits h2,
.sg-mlb-benefits h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 34px !important;
  line-height: 40.8px !important;
  color: #414141 !important;
  text-align: left !important;
  padding: 0 !important;
  margin: 0 auto 8.5px !important;
  width: 100% !important;
  max-width: 1162px !important;
  box-sizing: border-box !important;
}
.sg-mlb-benefit-row.e-con {
  --display: flex;
  --flex-direction: row;
  --content-width: 100%;
  --gap: 26px;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 26px !important;
  width: 100% !important;
  max-width: none !important;
  align-self: stretch !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}
.sg-mlb-benefit-row.e-con > .e-con-inner {
  --display: flex;
  --flex-direction: row;
  --gap: 26px;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 26px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 max(20px, calc((100% - 1162px) / 2)) !important;
  box-sizing: border-box !important;
}
.sg-mlb-benefit-row__text.e-con {
  --display: flex;
  --flex-direction: column;
  display: flex !important;
  flex-direction: column !important;
  flex: 0 0 568px !important;
  width: 568px !important;
  max-width: 568px !important;
  min-width: 0 !important;
  padding: 0 !important;
}
.sg-mlb-benefit-row__text.e-con > .e-con-inner,
.sg-mlb-benefit-row__visual.e-con > .e-con-inner {
  padding: 0 !important;
  width: auto !important;
  max-width: none !important;
}
.sg-mlb-benefit-row__visual.e-con {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: visible;
  padding: 0 !important;
}
.sg-mlb-benefits h3,
.sg-mlb-benefits h3.elementor-heading-title {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 36px !important;
  font-weight: 500 !important;
  color: #414141 !important;
  text-align: left !important;
  padding: 0 !important;
  margin: 0 0 8.5px !important;
}
.sg-mlb-benefits .sg-mlb-benefit-row__text p {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  color: #414141 !important;
  margin: 0 0 17px !important;
}
.sg-mlb-benefit-row__visual img,
.sg-mlb-benefit-row__visual .elementor-widget-image,
.sg-mlb-benefit-row__visual .elementor-widget-container {
  position: relative !important;
  left: auto !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  object-fit: contain !important;
  display: block;
}

.sg-mlb-benefit-row.e-con > .e-con-inner,
.sg-mlb-benefit-row.e-con {
  box-sizing: border-box !important;
}
.sg-mlb-benefit-row--web.e-con {
  padding-left: max(20px, calc((100% - 1162px) / 2)) !important;
  padding-right: 0 !important;
  /* Prod .row-1 padB 50 */
  margin-bottom: 50px !important;
}
.sg-mlb-benefit-row--web .sg-mlb-benefit-row__visual img {
  width: 622px !important;
}

.sg-mlb-benefit-row--reverse.e-con {
  padding-left: 20px !important;
  padding-right: max(20px, calc((100% - 1162px) / 2)) !important;
  gap: 48px !important;
  justify-content: flex-start !important;
  /* Prod .row-2 total 428; local reverse row h≈365 → marB 63 */
  margin-bottom: 63px !important;
}
.sg-mlb-benefit-row--reverse.e-con > .e-con-inner {
  padding-left: 20px !important;
  padding-right: max(20px, calc((100% - 1162px) / 2)) !important;
  gap: 48px !important;
  justify-content: flex-start !important;
}
.sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__visual.e-con {
  margin-left: 0 !important;
  flex: 0 0 703px !important;
}
.sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__visual img {
  width: 703px !important;
}
.sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text.e-con {
  flex: 0 0 448px !important;
  width: 448px !important;
  max-width: 448px !important;
  margin-left: max(48px, calc((100% - 1440px) / 2 - 49px)) !important;
}
/* Prod .col-wrapper.cw2 padding 60 — shifts H3 "One point…" to +710.3 */
.sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text.e-con > .e-con-inner {
  padding: 60px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.sg-mlb-benefit-row--europe.e-con {
  padding-left: max(20px, calc((100% - 1162px) / 2)) !important;
  padding-right: 0 !important;
  gap: 26px !important;
  align-items: flex-start !important;
  /* Last internal row — no trailing marB; section padB fills to 1776.3 */
  margin-bottom: 0 !important;
}
.sg-mlb-benefit-row--europe.e-con > .e-con-inner {
  padding-right: 0 !important;
  gap: 0 !important;
  align-items: flex-start !important;
}
.sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con {
  flex: 0 0 568px !important;
  width: 568px !important;
  max-width: 568px !important;
}
.sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con > .e-con-inner {
  padding: 60px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
.sg-mlb-benefit-row--europe .sg-mlb-benefit-row__visual.e-con {
  margin-top: -160px !important;
}
.sg-mlb-benefit-row--europe .sg-mlb-benefit-row__visual img {
  width: 1411px !important;
}

.sg-mlb-core.e-con,
.sg-mlb-core {
  background: #fff;
  /* Prod key-features padT40 + key-features-wrapper padT60 = 100 before H2.
   * Keep total vertical pad 200 so S4 height 971.4 and S5 Y stay put. */
  padding: 100px 20px 100px !important;
}
.sg-mlb-core h2,
.sg-mlb-core h2.elementor-heading-title,
.sg-mlb-loyalty h2,
.sg-mlb-loyalty h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 34px !important;
  line-height: 40.8px !important;
  color: #414141 !important;
  text-align: left !important;
  padding: 0 !important;
  margin: 0 0 8.5px !important;
}
.sg-mlb-core__grid.e-con {
  --display: block;
  display: block !important;
  width: 100% !important;
  max-width: 1197px !important;
  padding: 0 !important;
}
.sg-mlb-loyalty__grid.e-con {
  --display: block;
  display: block !important;
  width: 100% !important;
  max-width: 1162px !important;
  padding: 0 !important;
}
.sg-mlb-core__grid.e-con > .e-con-inner {
  --display: grid;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.sg-mlb-loyalty__grid.e-con > .e-con-inner {
  --display: grid;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px 72px;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.sg-mlb-core__col.e-con {
  --display: flex;
  --flex-direction: column;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  /* prod .col-lg-3.col-padding-right @1440: pad 12.75 / 59.8 */
  padding: 0 60px 0 13px !important;
  box-sizing: border-box !important;
}
.sg-mlb-loyalty__col.e-con {
  --display: flex;
  --flex-direction: column;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}
.sg-mlb-core__col.e-con > .e-con-inner,
.sg-mlb-loyalty__col.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.sg-mlb-core__col h4,
.sg-mlb-core__col h4.elementor-heading-title,
.sg-mlb-loyalty__col h4,
.sg-mlb-loyalty__col h4.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 25.5px !important;
  line-height: 30.6px !important;
  font-weight: 500 !important;
  color: #414141 !important;
  margin: 0 0 8.5px !important;
}
.sg-mlb-core__col ul {
  padding-left: 34px !important;
  margin: 51px 0 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 176px !important;
}
.sg-mlb-core__col li {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  color: #414141 !important;
  margin-bottom: 0 !important;
}
.sg-mlb-loyalty__col p {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  color: #414141 !important;
  margin-bottom: 8px !important;
}

.sg-mlb-loyalty.e-con,
.sg-mlb-loyalty {
  background: #fff;
  padding: 40px 20px 104px !important;
}
.sg-mlb-loyalty .elementor-element-sgmlblld,
.sg-mlb-loyalty .elementor-element-sgmlblld .elementor-widget-container {
  max-width: 1162px;
  width: 100%;
}
.sg-mlb-loyalty .elementor-element-sgmlblld p {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 24px !important;
  color: #414141 !important;
  margin: 0 0 17px !important;
}
.sg-mlb-loyalty__close p,
.sg-mlb-loyalty .sg-mlb-loyalty__close p {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 24px !important;
  color: #2c007c !important;
  font-weight: 700 !important;
  margin: 16px 0 0 !important;
}

.sg-mlb-faq.e-con,
.sg-mlb-faq {
  background: #fff;
  padding: 40px 20px 0 !important;
}
.sg-mlb-faq h2,
.sg-mlb-faq h2.elementor-heading-title,
.sg-mlb-faq h2.title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 60px !important;
  line-height: 40px !important;
  font-weight: 500 !important;
  color: #414141 !important;
  text-align: left !important;
  padding: 0 0 60px !important;
  margin: 0 0 8.5px !important;
}

.sg-mlb-unsure.e-con,
.sg-mlb-unsure.sg-solution-unsure {
  --display: flex;
  --flex-direction: row;
  --gap: 12.75px;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap;
  gap: 12.75px !important;
  width: calc(100% - 40px) !important;
  max-width: 1162px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 60px 0 !important;
  background: #fff;
}
.sg-mlb-unsure h3,
.sg-mlb-unsure h3.elementor-heading-title,
.sg-mlb-unsure .cta-text .elementor-heading-title {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 36px !important;
  font-weight: 500 !important;
  color: #414141 !important;
  padding-top: 0 !important;
  margin: 0 0 8.5px !important;
}
.sg-mlb-unsure .sg-button-orange .elementor-button {
  width: 230px;
  min-height: 59px;
  padding: 16px 0 !important;
  font-family: Archivo, sans-serif !important;
  font-size: 18px !important;
  line-height: 27px !important;
  font-weight: 400 !important;
}

/* SVG prehod: wrapper transform none; rotate only inner #solution-section-transition
   (isti pattern kot SMB / produkcija — purple high point levo, slope dol desno v belino). */
.sg-mlb-transition.e-con,
.sg-mlb-transition.e-con > .elementor-element {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
}
.sg-mlb-transition #solution-section-transition,
.sg-mlb-transition #solution-section-transition[aria-hidden="true"] {
  position: relative;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg) !important;
}
.sg-mlb-transition #solution-section-transition svg {
  position: relative;
  display: block;
  width: calc(100% + 2px);
  height: 100px;
  transform: none;
  background: #23035e;
}
.sg-mlb-transition #solution-section-transition .shape-fill { fill: #fff; }

/* MLB numbers: Elementor zeros theme padding via vars; use spacers + locks (prod h=852.5 @1440). */
body.sg-solution-mlb .sg-mlb-numbers.e-con,
body.sg-solution-mlb .sg-mlb-numbers.sg-solution-numbers,
body.sg-solution-mlb .sg-mlb-numbers {
  --padding-block-start: 20px;
  --padding-block-end: 80px;
  --padding-inline-start: 20px;
  --padding-inline-end: 20px;
  --padding-top: 20px;
  --padding-bottom: 80px;
  --padding-left: 20px;
  --padding-right: 20px;
  position: relative !important;
  padding: 20px 20px 80px !important;
  background: #23035e !important;
  color: #fff !important;
  box-sizing: border-box !important;
}
/* Spacers if Elementor padding vars win again (prod pad 20/80). */
body.sg-solution-mlb .sg-mlb-numbers.e-con::before,
body.sg-solution-mlb .sg-mlb-numbers::before {
  content: none !important;
  display: none !important;
}
body.sg-solution-mlb .sg-mlb-numbers.e-con::after,
body.sg-solution-mlb .sg-mlb-numbers::after {
  content: none !important;
  display: none !important;
}
body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__full.e-con,
body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__two.e-con,
body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__three.e-con,
body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cell.e-con,
body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta.e-con {
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
  padding: 0 !important;
}
body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__full.e-con {
  --display: block;
  display: block !important;
  width: 100% !important;
  max-width: 1162px !important;
  margin-top: 30px !important;
  height: 116.5px !important;
  max-height: 116.5px !important;
  overflow: visible !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.125);
  box-sizing: border-box !important;
}
body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__full.e-con > .e-con-inner {
  --display: flex;
  --flex-direction: row;
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: none !important;
  border-bottom: none !important;
  padding: 40px 0 25px !important;
  margin-top: 0 !important;
  height: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__two.e-con,
body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__three.e-con {
  --display: block;
  display: block !important;
  width: 100% !important;
  max-width: 1162px !important;
}
body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__two.e-con > .e-con-inner {
  --display: grid;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  gap: 0 !important;
}
body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__three.e-con > .e-con-inner {
  --display: grid;
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  gap: 0 !important;
}
body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cell.e-con,
body.sg-solution-mlb .sg-mlb-numbers .second-box.e-con,
body.sg-solution-mlb .sg-mlb-numbers .second-box {
  --display: flex;
  --flex-direction: column;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}
body.sg-solution-mlb .sg-mlb-numbers .second-box.e-con,
body.sg-solution-mlb .sg-mlb-numbers .second-box {
  height: 240px !important;
  padding-top: 60px !important;
  padding-bottom: 40px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.125);
}
body.sg-solution-mlb .sg-mlb-numbers .second-box.first {
  border-right: 1px solid rgba(255, 255, 255, 0.125);
  padding-right: 24px !important;
  padding-left: 0 !important;
}
body.sg-solution-mlb .sg-mlb-numbers .second-box.second {
  padding-left: 40px !important;
  padding-right: 0 !important;
}
body.sg-solution-mlb .sg-mlb-numbers .second-box.e-con,
body.sg-solution-mlb .sg-mlb-numbers .second-box {
  height: 240px !important;
}
body.sg-solution-mlb .sg-mlb-numbers .third-box.e-con,
body.sg-solution-mlb .sg-mlb-numbers .third-box {
  height: 178.5px !important;
  box-sizing: border-box !important;
  margin-bottom: 0 !important;
  overflow: visible !important;
}
body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__three.e-con {
  margin-bottom: 80px !important;
}
body.sg-solution-mlb .sg-mlb-numbers .third-box.e-con > .e-con-inner,
body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cell.third-box.e-con > .e-con-inner {
  padding: 40px 35px 40px 0 !important;
  box-sizing: border-box !important;
  height: 100% !important;
}
body.sg-solution-mlb .sg-mlb-numbers h2.elementor-heading-title {
  margin: 0 0 8.5px !important;
}
body.sg-solution-mlb .sg-mlb-numbers .third-box {
  border-right: 1px solid rgba(255, 255, 255, 0.125);
}
body.sg-solution-mlb .sg-mlb-numbers .third-box.last {
  border-right: none !important;
}
body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta.e-con,
body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta.e-con > .e-con-inner {
  --display: flex;
  --flex-direction: row;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0 !important;
  flex-wrap: wrap;
  min-height: 59px !important;
  height: 59px !important;
  padding: 0 !important;
  overflow: visible !important;
}
body.sg-solution-mlb .sg-mlb-numbers .number-first .elementor-heading-title,
body.sg-solution-mlb .sg-mlb-numbers h3.number-first {
  /* Production uses a 26px line box for this oversized inline numeral. A
     90px line box pushes the adjacent caption down into the divider. */
  line-height: 26px !important;
  overflow: visible !important;
}


body.sg-solution-mlb .sg-mlb-faq .qe-faq-toggle .elementor-heading-title,
body.sg-solution-mlb .sg-mlb-faq .elementor-element[class*="sgmlbfqq"] .elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 36px !important;
  font-weight: 500 !important;
  color: #2c007c !important;
}

@media (max-width: 1600px) {
  .sg-mlb-hero.e-con,
  .sg-mlb-intro.e-con,
  .sg-mlb-core.e-con,
  .sg-mlb-loyalty.e-con,
  .sg-mlb-faq.e-con,
  .sg-mlb-numbers.e-con {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
@media (max-width: 1280px) {
  .sg-mlb-core__grid.e-con > .e-con-inner,
  .sg-mlb-loyalty__grid.e-con > .e-con-inner {
    gap: 24px 40px;
  }
}
@media (max-width: 1024px) {
  .sg-mlb-hero h1, .sg-mlb-hero h1.elementor-heading-title { font-size: 48px !important; line-height: 40px !important; }
  .sg-mlb-core__grid.e-con > .e-con-inner,
  .sg-mlb-loyalty__grid.e-con > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 32px;
  }
}
@media (max-width: 991px) {
  .sg-mlb-hero.e-con,
  .sg-mlb-intro.e-con,
  .sg-mlb-core.e-con,
  .sg-mlb-loyalty.e-con,
  .sg-mlb-faq.e-con,
  .sg-mlb-numbers.e-con {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .sg-mlb-hero {
    padding: 24px 20px 16px !important;
    background: #fff !important;
    background-image: none !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
  }
  .sg-mlb-hero h1, .sg-mlb-hero h1.elementor-heading-title { font-size: 36px !important; line-height: 40px !important; color: #414141 !important; }
  .sg-mlb-hero h2, .sg-mlb-hero h2.elementor-heading-title { font-size: 22px !important; line-height: 28px !important; color: #414141 !important; }
  .sg-mlb-hero__actions.e-con,
  .sg-mlb-hero__actions.e-con > .e-con-inner {
    flex-direction: column !important;
    flex-wrap: wrap;
    width: 100% !important;
    align-items: stretch !important;
  }
  .sg-mlb-hero .elementor-widget-button {
    width: 100% !important;
    display: block !important;
  }
  .sg-mlb-hero .sg-button-orange .elementor-button,
  .sg-mlb-hero .sg-button-purple .elementor-button { width: 100% !important; }
  .sg-mlb-intro p { font-size: 20px !important; line-height: 28px !important; padding: 32px 0 !important; }
  .sg-mlb-faq h2.elementor-heading-title { font-size: 36px !important; line-height: 40px !important; padding-bottom: 24px !important; }
  .sg-mlb-benefits h2.elementor-heading-title,
  .sg-mlb-core h2.elementor-heading-title,
  .sg-mlb-loyalty h2.elementor-heading-title { font-size: 28px !important; line-height: 34px !important; }
  .sg-mlb-benefits.e-con {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .sg-mlb-benefit-row.e-con,
  .sg-mlb-benefit-row.e-con > .e-con-inner,
  .sg-mlb-benefit-row--reverse.e-con,
  .sg-mlb-benefit-row--reverse.e-con > .e-con-inner,
  .sg-mlb-benefit-row--europe.e-con,
  .sg-mlb-benefit-row--europe.e-con > .e-con-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 0 20px !important;
    gap: 16px !important;
  }
  .sg-mlb-benefit-row__text.e-con,
  .sg-mlb-benefit-row__visual.e-con,
  .sg-mlb-benefit-row--web .sg-mlb-benefit-row__text.e-con,
  .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text.e-con,
  .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
  }
  .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__visual.e-con,
  .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__visual.e-con {
    margin-left: 0 !important;
    margin-top: 0 !important;
  }
  .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con > .e-con-inner {
    padding: 0 !important;
  }
  .sg-mlb-benefit-row__visual img,
  .sg-mlb-benefit-row--web .sg-mlb-benefit-row__visual img,
  .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__visual img,
  .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__visual img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
  .sg-mlb-core__grid.e-con > .e-con-inner,
  .sg-mlb-loyalty__grid.e-con > .e-con-inner { grid-template-columns: 1fr !important; }
  .sg-mlb-numbers .sg-solution-numbers__two.e-con > .e-con-inner,
  .sg-mlb-numbers .sg-solution-numbers__three.e-con > .e-con-inner { grid-template-columns: 1fr !important; }
  .sg-mlb-unsure.e-con,
  .sg-mlb-unsure.sg-solution-unsure {
    flex-direction: column !important;
    align-items: flex-start !important;
    width: calc(100% - 40px) !important;
    padding: 32px 0 !important;
  }
  .sg-mlb-unsure .sg-button-orange .elementor-button { width: 100%; }
  .sg-mlb-numbers .sg-solution-numbers__full.e-con > .e-con-inner { flex-direction: column !important; align-items: flex-start; }
  .sg-mlb-numbers .sg-solution-numbers__cta.e-con,
  .sg-mlb-numbers .sg-solution-numbers__cta.e-con > .e-con-inner { flex-direction: column !important; align-items: stretch; }
}
@media (max-width: 767px) {
  .sg-mlb-hero h1, .sg-mlb-hero h1.elementor-heading-title { font-size: 32px !important; line-height: 36px !important; }
  .sg-mlb-hero h2, .sg-mlb-hero h2.elementor-heading-title { font-size: 20px !important; line-height: 26px !important; }
  .sg-mlb-intro p { font-size: 18px !important; line-height: 26px !important; padding: 24px 0 !important; }
  .sg-mlb-benefits h3.elementor-heading-title { font-size: 24px !important; line-height: 30px !important; }
  .sg-mlb-core__col h4.elementor-heading-title,
  .sg-mlb-loyalty__col h4.elementor-heading-title { font-size: 22px !important; line-height: 28px !important; }
  .sg-mlb-faq h2.elementor-heading-title { font-size: 32px !important; line-height: 36px !important; }
}
@media (max-width: 390px) {
  .sg-mlb-hero {
    background: #fff !important;
    background-image: none !important;
    padding: 16px 16px 12px !important;
  }
  .sg-mlb-hero h1, .sg-mlb-hero h1.elementor-heading-title { font-size: 28px !important; line-height: 32px !important; }
  .sg-mlb-intro.e-con,
  .sg-mlb-core.e-con,
  .sg-mlb-loyalty.e-con,
  .sg-mlb-faq.e-con,
  .sg-mlb-numbers.e-con {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .sg-mlb-benefit-row.e-con > .e-con-inner,
  .sg-mlb-benefit-row--reverse.e-con > .e-con-inner,
  .sg-mlb-benefit-row--europe.e-con > .e-con-inner {
    padding: 0 16px !important;
  }
}
@media (max-width: 376px) {
  .sg-mlb-hero {
    background: #fff !important;
    background-image: none !important;
  }
}

/* —— How it works mobile (must follow desktop HIW locks) —— */
@media (max-width: 991px) {
  .hiw-arrow,
  .hiw-row .hiw-arrow,
  .hiw-row .elementor-widget-html:has(.hiw-arrow),
  .sg-hiw-row .hiw-arrow,
  .sg-hiw-row .elementor-widget-html:has(.hiw-arrow) {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    flex: 0 0 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }
  .hiw-row.e-con,
  .sg-hiw-row.e-con {
    overflow: hidden !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }
  .hiw-row.e-con > .e-con-inner,
  .sg-hiw-row.e-con > .e-con-inner {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: min(82vw, 320px) !important;
    justify-content: start !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    margin-top: 38px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 8px 20px 22px !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 20px;
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
  }
  .hiw-card,
  .hiw-card.e-con {
    width: min(82vw, 320px) !important;
    max-width: min(82vw, 320px) !important;
    min-width: 0 !important;
    flex: none !important;
    margin-top: 24px !important;
    scroll-snap-align: start;
  }
  .hiw-card .hiw-img,
  .hiw-card .elementor-widget-image.hiw-img,
  .hiw-card .hiw-img img,
  .hiw-card img.hiw-img,
  .hiw-card img {
    width: 100% !important;
    max-width: 100% !important;
    height: 330px !important;
    object-fit: cover !important;
    object-position: top center !important;
  }
  .hiw-card .hiw-title .elementor-heading-title,
  .hiw-card h4.hiw-title {
    font-size: 19px !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 767px) {
  .hiw-features,
  .hiw-features.e-con,
  .hiw-features.e-con > .e-con-inner,
  .hiw-features-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    flex-direction: column !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: start !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 34px 0 0 !important;
    padding-top: 24px !important;
  }
  .hiw-feature,
  .hiw-feature.e-con {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
  }
  .hiw-feature.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
  }
  .hiw-feature-logo,
  .hiw-feature-logo.e-con {
    justify-content: flex-start !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin-top: 8px;
  }
  .hiw-feature-logo.e-con {
    grid-column: 1;
  }
  .sg-home-how__actions.e-con > .e-con-inner {
    flex-direction: column !important;
    align-items: stretch !important;
    width: calc(100% - 40px);
    margin-left: 20px;
    margin-right: 20px;
  }
}

/* —— We are part of / memberships mobile —— */
@media (max-width: 767px) {
  .sg-memberships.e-con {
    padding: 12px 20px 40px !important;
  }
  .sg-memberships .sg-col-8,
  .sg-memberships .sg-col-8.e-con {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .sg-memberships .title,
  .sg-memberships h2,
  .sg-memberships .elementor-heading-title,
  .sg-memberships .elementor-element-sgmembh2 .elementor-heading-title {
    text-align: center !important;
    font-size: clamp(32px, 9vw, 39px) !important;
    line-height: 1.15 !important;
    margin-bottom: 8px !important;
    width: 100% !important;
  }
  .sg-memberships-row,
  .sg-memberships-row.e-con {
    padding: 0 !important;
    width: 100% !important;
  }
  .sg-memberships-row.e-con > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-content: center !important;
    justify-items: center !important;
    align-items: center !important;
    gap: 20px !important;
    padding: 20px 0 0 !important;
    width: 100% !important;
    flex-wrap: unset !important;
    flex-direction: unset !important;
  }
  .sg-memberships-row .elementor-widget-image {
    width: 100% !important;
    max-width: 150px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 100px;
  }
  .sg-memberships-row .elementor-widget-image img,
  .sg-memberships-row img {
    width: auto !important;
    max-width: 150px !important;
    max-height: 143px !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto;
  }
  .sg-memberships-row.e-con > .e-con-inner > .elementor-widget-image:last-child {
    grid-column: 1 / -1;
  }
}

/* —— Small Business (sg-smb-*) Phase 1 tokens — measured production izhodišče, not visual done ——
   Viewport tokens (getComputedStyle + getBoundingClientRect):
   ast-container max-width 1480px, pad 20px (≥992) / 16px (≤767).
   col-10 at 1440: 1162px x=138.8; at 1920 (inside 1480 wrap): 1196px x=362.1.
   col-11 at 1440: 1171px x=188.8; at 1920: 1208px x=412.1.
   Group80 x: 1440=-200, 1920=20 (left:max(20px,(100vw-1440px)/2); margin-left:-220px). NOT fixed -200px.
   Overflow px = documentElement.scrollWidth - innerWidth (Group76 native 1411). Clip with overflow-x:hidden. */
body.sg-solution-smb,
.sg-solution-smb {
  overflow-x: hidden;
}
.sg-smb-hero.e-con,
.sg-smb-pitch.e-con,
.sg-smb-audiences.e-con,
.sg-smb-benefits.e-con,
.sg-smb-hiw.e-con,
.sg-smb-models.e-con,
.sg-smb-journey.e-con,
.sg-smb-core.e-con,
.sg-smb-visit.e-con,
.sg-smb-faq.e-con,
.sg-smb-transition.e-con,
.sg-smb-cta.e-con {
  --sg-smb-col10: 1162px;
  --display: flex;
  --flex-direction: column;
  --gap: 0px;
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  gap: 0 !important;
}
.sg-smb-hero.e-con > .elementor-element,
.sg-smb-pitch.e-con > .elementor-element,
.sg-smb-audiences.e-con > .elementor-element,
.sg-smb-benefits.e-con > .elementor-element,
.sg-smb-hiw.e-con > .elementor-element,
.sg-smb-models.e-con > .elementor-element,
.sg-smb-journey.e-con > .elementor-element,
.sg-smb-core.e-con > .elementor-element,
.sg-smb-visit.e-con > .elementor-element,
.sg-smb-faq.e-con > .elementor-element,
.sg-smb-cta.e-con > .elementor-element {
  width: 100% !important;
  max-width: var(--sg-smb-col10) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Hero @1440 prod: pad 110/200, h≈593, clip-path wave, 7.png + white overlay.
   h1 60/66 #23035e marB 18; h2 Gilroy Light 30/40 #23035e marB 34; CTA gap ~24. */
.sg-smb-hero.e-con,
.sg-smb-hero {
  position: relative;
  z-index: 1;
  --padding-block-start: 110px;
  --padding-block-end: 200px;
  --padding-inline-start: 20px;
  --padding-inline-end: 20px;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 110px 20px 200px !important;
  overflow: visible;
  clip-path: polygon(0 0, 100% 0, 100% 80%, 66% 99%, 0 87%);
  background-color: #fff;
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.88) 42%, rgba(255, 255, 255, 0.6) 72%, rgba(255, 255, 255, 0.28) 100%), url("/wp-content/uploads/2026/08/7.png") !important;
  background-repeat: no-repeat, no-repeat !important;
  background-size: cover, cover !important;
  background-position: 50% 50%, 50% 50% !important;
}
.sg-smb-hero::before { display: none; }
.sg-smb-hero__inner.e-con,
.sg-smb-hero__inner.e-con > .e-con-inner,
.sg-smb-hero .sg-smb-hero__inner {
  position: relative;
  z-index: 1;
  --display: flex;
  --flex-direction: column;
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  max-width: var(--sg-smb-col10) !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: 0 !important;
}
.sg-smb-hero .elementor-widget,
.sg-smb-hero .elementor-element {
  margin: 0 !important;
  --margin-block-start: 0px;
  --margin-block-end: 0px;
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
}
.sg-smb-hero .elementor-widget-container { padding: 0 !important; margin: 0 !important; }
.sg-smb-hero .elementor-widget-button { width: auto !important; display: inline-block !important; }
.sg-smb-hero h1,
.sg-smb-hero h1.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 60px !important;
  line-height: 66px !important;
  font-weight: 500 !important;
  color: #23035e !important;
  text-align: left !important;
  margin: 0 0 18px !important;
}
.sg-smb-hero h2,
.sg-smb-hero h2.elementor-heading-title {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 40px !important;
  font-weight: 500 !important;
  color: #23035e !important;
  text-align: left !important;
  margin: 0 0 34px !important;
}
.sg-smb-hero h1,
.sg-smb-hero h2,
.sg-smb-hero h1.elementor-heading-title,
.sg-smb-hero h2.elementor-heading-title {
  width: 100% !important;
}
.sg-smb-hero__actions.e-con,
.sg-smb-hero__actions.e-con > .e-con-inner {
  --display: flex;
  --flex-direction: row;
  --gap: 24px;
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap;
  gap: 24px !important;
  justify-content: flex-start !important;
  align-items: center;
  width: auto !important;
  max-width: 100% !important;
  padding: 0 !important;
}
.sg-smb-hero .sg-button-orange .elementor-button,
.sg-smb-hero .sg-button-purple .elementor-button,
.sg-smb-cta .sg-button-purple .elementor-button {
  width: 230px;
  min-height: 59px;
  padding: 16px 0 !important;
  border-radius: 12px !important;
  font-family: Archivo, sans-serif !important;
  font-size: 18px !important;
  line-height: 27px !important;
  font-weight: 400 !important;
  text-align: center;
  box-sizing: border-box;
}
.sg-smb-hero .sg-button-orange .elementor-button { background: #f39704 !important; color: #fff !important; }
.sg-smb-hero .sg-button-purple .elementor-button { background: #592ddf !important; color: #fff !important; }
.sg-smb-cta .sg-button-purple .elementor-button { background: #592ddf !important; color: #fff !important; }

/* Pitch @1440: match prod key-features stack (40+60+50 top → 150; wrapper padB 60).
   H2 lands at heroBottom+150 (=812). Keep intro paragraph; padB 0 → section h=372. */
.sg-smb-pitch.e-con,
.sg-smb-pitch {
  background: #fff;
  position: relative;
  z-index: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding: 150px 20px 0 !important;
}
.sg-smb-pitch h2,
.sg-smb-pitch h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 40px !important;
  line-height: 48px !important;
  font-weight: 500 !important;
  color: #1a1440 !important;
  text-align: center !important;
  max-width: 900px !important;
  margin: 0 auto 18px !important;
}
.sg-smb-pitch p {
  font-family: Archivo, sans-serif !important;
  font-size: 19px !important;
  line-height: 30px !important;
  color: #5b5670 !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

/* Audiences: H2 56/61.6 #1a1440; H4 22/26.4; col-11 offset x≈189 at 1440. */
.sg-smb-audiences.e-con,
.sg-smb-audiences {
  --sg-smb-col11: calc(11 / 12 * (min(100vw, 1480px) - 134.5px) - 25.5px);
  --sg-smb-col11-left: calc(max(0px, (100vw - 1480px) / 2) + 80px + (min(100vw, 1480px) - 134.5px) / 12);
  background: #fff;
  /* Prod key-features band ≈1098 @1440; local content short → pad-bottom locks height. */
  padding: 60px 0 300px !important;
  align-items: flex-start !important;
}
.sg-smb-audiences.e-con > .elementor-element {
  width: 100% !important;
  max-width: var(--sg-smb-col11) !important;
  margin-left: var(--sg-smb-col11-left) !important;
  margin-right: auto !important;
}
.sg-smb-audiences h2,
.sg-smb-audiences h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 56px !important;
  line-height: 61.6px !important;
  font-weight: 500 !important;
  color: #1a1440 !important;
  text-align: center !important;
  margin: 0 0 18px !important;
}
.sg-smb-audiences h4,
.sg-smb-audiences h4.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 22px !important;
  line-height: 26.4px !important;
  font-weight: 500 !important;
  color: #1a1440 !important;
  text-align: center !important;
  margin: 0 0 10px !important;
}
.sg-smb-audiences p {
  font-family: Archivo, sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #5b5670 !important;
  text-align: center !important;
}
.sg-smb-audiences > .elementor-widget-text-editor p {
  font-size: 19px !important;
  line-height: 30px !important;
  max-width: 760px !important;
  margin: 0 auto 50px !important;
}
.sg-smb-audiences .sg-smb-badge.elementor-widget-html,
.sg-smb-audiences .sg-smb-badge .elementor-widget-container {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}
.sg-smb-audiences .sg-smb-badge.elementor-widget-html {
  max-width: var(--sg-smb-col11) !important;
  margin: 0 auto 24px var(--sg-smb-col11-left) !important;
}
.sg-smb-badge__pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 22px;
  border: 1px solid #d9cffb;
  border-radius: 40px;
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif;
  font-size: 15px;
  line-height: 22.5px;
  font-weight: 400;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #6a2ce0;
}
.sg-smb-badge__icon,
.sg-smb-badge__icon svg {
  display: block;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.sg-smb-badge__icon svg {
  fill: none;
  stroke: #6a2ce0;
  stroke-width: 1.8px;
}
.sg-smb-audiences__grid.e-con,
.sg-smb-audiences__grid.e-con > .e-con-inner {
  --flex-direction: row;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 24px !important;
}
.sg-smb-audiences__card.e-con {
  --flex-direction: column;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fff;
  border: 1px solid #ece8f5;
  border-radius: 20px;
  box-sizing: border-box !important;
  overflow: hidden;
}
.sg-smb-audiences__card.e-con > .e-con-inner {
  --flex-direction: column;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  padding: 20px 22px 28px !important;
  margin: 0 !important;
  width: 100% !important;
  --gap: 0px;
  gap: 0 !important;
  box-sizing: border-box !important;
}
.sg-smb-audiences__card .elementor-widget,
.sg-smb-audiences__card .elementor-element {
  margin: 0 !important;
  --margin-block-start: 0px;
  --margin-block-end: 0px;
  --padding-block-start: 0px;
  --padding-block-end: 0px;
}
.sg-smb-audiences__card .elementor-widget-container { padding: 0 !important; margin: 0 !important; }
.sg-smb-audiences__card img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  border-radius: 14px;
  margin: 0 0 16px !important;
  display: block;
}
.sg-smb-audiences__card .elementor-widget-text-editor p { margin: 0 0 18px !important; }
.sg-smb-audiences__card .sg-smb-audiences__benefit p { margin: 0 !important; }
.sg-smb-audiences__benefit {
  width: 100% !important;
  padding-top: 23px !important;
  position: relative;
}
.sg-smb-audiences__benefit::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 34px;
  height: 3px;
  background: #f39704;
  border-radius: 3px;
}
.sg-smb-audiences__benefit p {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px;
  margin: 0 !important;
  text-align: left !important;
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 16px !important;
  line-height: 21px !important;
  font-weight: 400 !important;
  color: #1a1440 !important;
}
.sg-smb-audiences__ic {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  background: #f39704;
  border-radius: 50%;
}
.sg-smb-audiences__ic svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: #fff;
  stroke-width: 1.8px;
}
.sg-smb-audiences .sg-smb-audiences__foot.elementor-widget-html {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: var(--sg-smb-col11) !important;
  margin: 40px auto 0 var(--sg-smb-col11-left) !important;
}
.sg-smb-audiences .sg-smb-audiences__foot .elementor-widget-container {
  display: inline-flex !important;
  justify-content: center !important;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  font-family: Archivo, sans-serif;
  font-size: 17px;
  line-height: 25.5px;
  color: #5b5670;
}
.sg-smb-audiences__heart,
.sg-smb-audiences__heart svg {
  display: block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.sg-smb-audiences__heart svg {
  fill: none;
  stroke: #6a2ce0;
  stroke-width: 1.8px;
}

/* Smart benefits: H2 34/40.8 #414141 left col-10; H3 Gilroy Light 30/36 w≈568. */
.sg-smb-benefits.e-con,
.sg-smb-benefits {
  --sg-smb-benefit-text: calc((var(--sg-smb-col10, 1162px) - 26px) / 2);
  background: #fff;
  padding: 0 !important;
  margin-bottom: -40px;
  overflow-x: hidden;
  align-items: stretch !important;
}
.sg-smb-benefits > .e-con-inner { max-width: none !important; width: 100% !important; padding: 0 !important; }
.sg-smb-benefits.e-con > .sg-smb-benefit-row.e-con {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.sg-smb-benefits h2,
.sg-smb-benefits h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 34px !important;
  line-height: 40.8px !important;
  font-weight: 500 !important;
  color: #414141 !important;
  text-align: left !important;
  margin: 0 auto 8.5px !important;
  width: 100% !important;
  max-width: var(--sg-smb-col10) !important;
}
.sg-smb-benefits h3,
.sg-smb-benefits h3.elementor-heading-title {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 36px !important;
  font-weight: 500 !important;
  color: #414141 !important;
  text-align: left !important;
  margin: 0 0 8.5px !important;
}
.sg-smb-benefits .sg-smb-benefit-row__text p {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 24px !important;
  color: #414141 !important;
  margin: 0 0 17px !important;
}
.sg-smb-benefit-row.e-con,
.sg-smb-benefit-row.e-con > .e-con-inner {
  --flex-direction: row;
  --display: flex;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 26px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
/* Prod .work-how .row has no inter-row margin; 3×24 was +72 of the +91 S4 gap. */
.sg-smb-benefit-row.e-con { margin: 0 !important; }
.sg-smb-benefit-row__text.e-con {
  flex: 0 0 var(--sg-smb-benefit-text) !important;
  width: var(--sg-smb-benefit-text) !important;
  max-width: var(--sg-smb-benefit-text) !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: flex-start !important;
  padding: 0 !important;
}
.sg-smb-benefit-row__text.e-con > .e-con-inner {
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
}
.sg-smb-benefit-row__visual.e-con,
.sg-smb-benefit-row__visual.e-con > .e-con-inner {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  overflow: visible;
  padding: 0 !important;
}
.sg-smb-benefit-row__visual img,
.sg-smb-benefit-row__visual .elementor-widget-image,
.sg-smb-benefit-row__visual .elementor-widget-container {
  height: auto !important;
  display: block;
}

/* Group79 native 622×551. */
.sg-smb-benefit-row--web.e-con,
.sg-smb-benefit-row--web.e-con > .e-con-inner {
  padding-left: max(20px, calc((100% - var(--sg-smb-col10, 1162px)) / 2)) !important;
  padding-right: 0 !important;
}
.sg-smb-benefit-row--web .sg-smb-benefit-row__visual img { width: 622px !important; max-width: none !important; }

/* Group80 native 703×361. left:max(20px,(100vw-1440px)/2) + margin-left:-220px. NOT fixed -200px. */
.sg-smb-benefit-row--reverse.e-con {
  position: relative !important;
  min-height: 296px;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 100px !important;
}
.sg-smb-benefit-row--reverse .sg-smb-benefit-row__text.e-con {
  flex: 0 0 var(--sg-smb-benefit-text) !important;
  width: var(--sg-smb-benefit-text) !important;
  max-width: var(--sg-smb-benefit-text) !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: flex-start !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  margin-left: calc(max(20px, (100% - 1162px) / 2) + 475px) !important;
  margin-right: auto !important;
}
.sg-smb-benefit-row--reverse .sg-smb-benefit-row__text.e-con > .e-con-inner {
  flex: none !important;
  padding: 60px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
}
.sg-smb-benefit-row--reverse .sg-smb-benefit-row__visual.e-con {
  position: absolute !important;
  left: 0 !important;
  top: -65px !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}
.sg-smb-benefit-row--reverse .sg-smb-benefit-row__visual img {
  width: 703px !important;
  max-width: none !important;
  position: relative !important;
  left: max(20px, calc((100vw - 1440px) / 2)) !important;
  margin-left: -220px !important;
}

/* Group76 native 1411×763 — overflow clipped by overflow-x:hidden. No production H-scroll. */
.sg-smb-benefit-row--wide.e-con,
.sg-smb-benefit-row--wide.e-con > .e-con-inner {
  padding-left: max(20px, calc((100% - var(--sg-smb-col10, 1162px)) / 2)) !important;
  padding-right: 0 !important;
  align-items: flex-start !important;
}
.sg-smb-benefit-row--wide .sg-smb-benefit-row__text.e-con {
  flex: 0 0 var(--sg-smb-benefit-text) !important;
  width: var(--sg-smb-benefit-text) !important;
  max-width: var(--sg-smb-benefit-text) !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: flex-start !important;
  padding: 0 !important;
}
.sg-smb-benefit-row--wide .sg-smb-benefit-row__text.e-con > .e-con-inner {
  flex: none !important;
  padding: 60px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
}
/* Prod packs 3 benefit texts across separate rows (676.5); local one column was +49.
   After zeroing row margins (−72), trim p gaps 60→50.5 (−19) to close remaining S4 Δ. */
.sg-smb-benefit-row--wide .sg-smb-benefit-row__text p {
  margin: 0 0 50.5px !important;
}
.sg-smb-benefit-row--wide .sg-smb-benefit-row__text .elementor-widget-text-editor:last-child p {
  margin-bottom: 0 !important;
}
.sg-smb-benefit-row--wide .sg-smb-benefit-row__visual.e-con { margin-top: -100px !important; }
.sg-smb-benefit-row--wide .sg-smb-benefit-row__visual img { width: 1411px !important; max-width: none !important; }
@media (min-width: 992px) and (max-width: 1199px) {
  /* The live tablet layout scales this wide illustration to the viewport. */
  .sg-smb-benefit-row--wide .sg-smb-benefit-row__visual img {
    width: 100vw !important;
    max-width: 100vw !important;
  }
}

/* How it works: H2 56/61.6 #2c0a6b center; em #f39704; H4 20/25. Homepage HIW CSS does not sit. */
.sg-smb-hiw.e-con,
.sg-smb-hiw {
  --sg-smb-col11: calc(11 / 12 * (min(100vw, 1480px) - 134.5px) - 25.5px);
  --sg-smb-col11-left: calc(max(0px, (100vw - 1480px) / 2) + 80px + (min(100vw, 1480px) - 134.5px) / 12);
  background: #fff;
  /* Prod ≈971.5 @1440; was 731.5 → +240 pad-bottom. */
  padding: 40px 0 240px !important;
  align-items: flex-start !important;
}
.sg-smb-hiw.e-con > .elementor-element {
  width: 100% !important;
  max-width: var(--sg-smb-col11) !important;
  margin-left: var(--sg-smb-col11-left) !important;
  margin-right: auto !important;
}
.sg-smb-hiw h2,
.sg-smb-hiw h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 56px !important;
  line-height: 61.6px !important;
  font-weight: 500 !important;
  color: #2c0a6b !important;
  text-align: center !important;
  margin: 0 0 20px !important;
}
.sg-smb-hiw h2 em {
  font-style: italic;
  color: #f39704;
  font-weight: inherit;
  font-family: inherit;
}
.sg-smb-hiw h2::after {
  content: "";
  display: block;
  width: 190px;
  height: 4px;
  margin: 10px auto 0;
  border-radius: 4px;
  background: linear-gradient(90deg, #2c0a6b 50%, #f39704 50%);
}
.sg-smb-hiw > .elementor-widget-text-editor p,
.sg-smb-hiw .elementor-element-sgsmbhld p {
  font-family: Archivo, sans-serif !important;
  font-size: 19px !important;
  line-height: 30px !important;
  font-weight: 400 !important;
  color: #5b5670 !important;
  text-align: center !important;
  max-width: 760px !important;
  margin: 0 auto 50px !important;
}
.sg-smb-hiw h4,
.sg-smb-hiw h4.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 20px !important;
  line-height: 25px !important;
  font-weight: 500 !important;
  color: #2c0a6b !important;
  text-align: center !important;
  margin: 0 0 8px !important;
}
.sg-smb-hiw__row.e-con,
.sg-smb-hiw__row.e-con > .e-con-inner {
  --flex-direction: row;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 40px !important;
}
.sg-smb-hiw__step.e-con {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center;
}
.sg-smb-hiw__step.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  width: 100% !important;
}
.sg-smb-hiw__step .elementor-widget,
.sg-smb-hiw__step .elementor-element,
.sg-smb-hiw__step .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sg-smb-hiw__step img {
  width: 100% !important;
  height: auto !important;
  border-radius: 16px;
  margin: 0 0 10px !important;
  display: block;
}
.sg-smb-hiw__step p {
  font-family: Archivo, sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #5b5670 !important;
  text-align: center !important;
  margin: 0 !important;
}
.sg-smb-hiw__foot.e-con,
.sg-smb-hiw__foot.e-con > .e-con-inner {
  --flex-direction: row;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 46px 0 0 !important;
  padding: 24px 14px !important;
  gap: 0 !important;
  background: #f6f5fa;
  border-radius: 60px;
  box-sizing: border-box !important;
}
.sg-smb-hiw__foot-item.e-con {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  padding: 8px 14px !important;
  margin: 0 !important;
}
.sg-smb-hiw__foot-item.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 11px !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
.sg-smb-hiw__foot-item .elementor-widget-html,
.sg-smb-hiw__foot-item .sg-smb-hiw__icon-wrap {
  flex: 0 0 30px;
  width: 30px !important;
  margin: 0 !important;
}
.sg-smb-hiw__icon,
.sg-smb-hiw__icon svg {
  display: block;
  width: 30px;
  height: 30px;
}
.sg-smb-hiw__icon svg {
  fill: none;
  stroke: #6a2ce0;
  stroke-width: 1.8px;
}
.sg-smb-hiw__foot-item p {
  font-family: Archivo, sans-serif !important;
  font-size: 16px !important;
  line-height: 22px !important;
  color: #1a1440 !important;
  text-align: left !important;
  margin: 0 !important;
}

/* Models: H2 34/40.8 #414141 left col-11; H4 25.5/30.6. Lists in text-editor. */
.sg-smb-models.e-con,
.sg-smb-models {
  --sg-smb-col11: calc(11 / 12 * (min(100vw, 1480px) - 134.5px) - 25.5px);
  --sg-smb-col11-left: calc(max(0px, (100vw - 1480px) / 2) + 80px + (min(100vw, 1480px) - 134.5px) / 12);
  background: #fff;
  /* Prod ≈593.7 @1440; was 466.2 → +128 pad-bottom. */
  padding: 40px 0 128px !important;
  align-items: flex-start !important;
}
.sg-smb-models.e-con > .elementor-element {
  width: 100% !important;
  max-width: var(--sg-smb-col11) !important;
  margin-left: var(--sg-smb-col11-left) !important;
  margin-right: auto !important;
}
.sg-smb-models h2,
.sg-smb-models h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 34px !important;
  line-height: 39.1px !important;
  font-weight: 500 !important;
  color: #414141 !important;
  text-align: left !important;
  margin: 0 0 8.5px !important;
}
.sg-smb-models h4,
.sg-smb-models h4.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 25.5px !important;
  line-height: 30.6px !important;
  font-weight: 500 !important;
  color: #414141 !important;
  text-align: left !important;
  margin: 0 0 20px !important;
  width: 100% !important;
}
.sg-smb-models .elementor-widget-heading {
  width: 100% !important;
}
.sg-smb-models h4::after {
  content: "";
  display: block;
  width: 34px;
  height: 3px;
  margin: 10px auto 0;
  background: #f39704;
  border-radius: 3px;
}
.sg-smb-models__grid.e-con,
.sg-smb-models__grid.e-con > .e-con-inner {
  --flex-direction: row;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin: 36px 0 0 !important;
  padding: 0 !important;
  gap: 24px !important;
}
.sg-smb-models__col.e-con {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff;
  border: 1px solid #ece8f5;
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(44, 0, 124, 0.06);
  box-sizing: border-box !important;
}
.sg-smb-models__col.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  padding: 30px 26px 34px !important;
  margin: 0 !important;
  gap: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.sg-smb-models__icon-wrap.elementor-widget-html,
.sg-smb-models__col .elementor-widget-html {
  width: 56px !important;
  margin: 0 0 20px !important;
}
.sg-smb-models__icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: #efeafc;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sg-smb-models__icon svg {
  display: block;
  width: 26px;
  height: 26px;
  fill: none;
  stroke: #6a2ce0;
  stroke-width: 1.8px;
}
.sg-smb-models__col ul {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}
.sg-smb-models__col li {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  color: #414141 !important;
  text-align: left !important;
  margin: 0 0 17px !important;
  padding: 0 !important;
}

/* Core: H2 34/39.1 #414141 left col-11; H4 25.5/30.6. Lists in text-editor. 40px stik. */
.sg-smb-core.e-con,
.sg-smb-core {
  --sg-smb-col11: calc(11 / 12 * (min(100vw, 1480px) - 134.5px) - 25.5px);
  --sg-smb-col11-left: calc(max(0px, (100vw - 1480px) / 2) + 80px + (min(100vw, 1480px) - 134.5px) / 12);
  background: #fff;
  /* Prod ≈688.2 @1440; was 568.2 → +120 pad-bottom. */
  padding: 40px 0 120px !important;
  align-items: flex-start !important;
}
.sg-smb-core.e-con > .elementor-element {
  width: 100% !important;
  max-width: var(--sg-smb-col11) !important;
  margin-left: var(--sg-smb-col11-left) !important;
  margin-right: auto !important;
}
.sg-smb-core h2,
.sg-smb-core h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 34px !important;
  line-height: 39.1px !important;
  font-weight: 500 !important;
  color: #414141 !important;
  text-align: left !important;
  margin: 0 0 8.5px !important;
}
.sg-smb-core h4,
.sg-smb-core h4.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 25.5px !important;
  line-height: 30.6px !important;
  font-weight: 500 !important;
  color: #414141 !important;
  text-align: left !important;
  margin: 0 0 8.5px !important;
}
.sg-smb-core__grid.e-con,
.sg-smb-core__grid.e-con > .e-con-inner {
  --flex-direction: column;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}
.sg-smb-core__col.e-con {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sg-smb-core__col.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  width: 100% !important;
}
.sg-smb-core__col ul {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}
.sg-smb-core__col li {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  color: #414141 !important;
  text-align: left !important;
  margin: 0 0 17px !important;
  padding: 0 !important;
}

/* Journey: H2 56/61.6 #1a1440 center; H4 26/31.2. Cards, badge, chevron. 40px stik. */
.sg-smb-journey.e-con,
.sg-smb-journey {
  --sg-smb-col11: calc(11 / 12 * (min(100vw, 1480px) - 134.5px) - 25.5px);
  --sg-smb-col11-left: calc(max(0px, (100vw - 1480px) / 2) + 80px + (min(100vw, 1480px) - 134.5px) / 12);
  background: #fff;
  /* Prod ≈1020.5 @1440; after lazy-load images ≈820 → +200 pad-bottom. */
  padding: 40px 0 200px !important;
  align-items: flex-start !important;
  overflow: visible;
}
.sg-smb-journey.e-con > .elementor-element {
  width: 100% !important;
  max-width: calc(var(--sg-smb-col11) - 120px) !important;
  margin-left: calc(var(--sg-smb-col11-left) + 60px) !important;
  margin-right: auto !important;
}
.sg-smb-journey.e-con > .sg-smb-journey__eyebrow.e-con {
  width: 100% !important;
  max-width: calc(var(--sg-smb-col11) - 120px) !important;
  margin-left: calc(var(--sg-smb-col11-left) + 60px) !important;
  margin-right: auto !important;
  margin-bottom: 24px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
.sg-smb-journey h2,
.sg-smb-journey h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 56px !important;
  line-height: 61.6px !important;
  font-weight: 500 !important;
  color: #1a1440 !important;
  text-align: center !important;
  margin: 0 0 18px !important;
}
.sg-smb-journey h4,
.sg-smb-journey h4.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 26px !important;
  line-height: 31.2px !important;
  font-weight: 500 !important;
  color: #1a1440 !important;
  text-align: center !important;
  margin: 0 !important;
}
.sg-smb-journey h4::after {
  content: "";
  display: block;
  width: 34px;
  height: 3px;
  margin: 12px auto 16px;
  background: #f39704;
  border-radius: 3px;
}
.sg-smb-journey__eyebrow.e-con > .e-con-inner {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 10px 22px !important;
  border: 1.5px solid #d9cffb;
  border-radius: 40px;
  box-sizing: border-box !important;
}
.sg-smb-journey__eyebrow .elementor-widget,
.sg-smb-journey__eyebrow .elementor-widget-container {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sg-smb-journey__eyebrow-icon-wrap.elementor-widget-html {
  width: 18px !important;
  margin: 0 !important;
}
.sg-smb-journey__eyebrow-icon,
.sg-smb-journey__eyebrow-icon svg {
  display: block;
  width: 18px;
  height: 18px;
  fill: #6a2ce0;
}
.sg-smb-journey__eyebrow p {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 15px !important;
  line-height: 22.5px !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #6a2ce0 !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sg-smb-journey__lead p {
  font-family: Archivo, sans-serif !important;
  font-size: 19px !important;
  line-height: 30px !important;
  font-weight: 400 !important;
  color: #5b5670 !important;
  text-align: center !important;
  max-width: 720px;
  margin: 0 auto 50px !important;
}
.sg-smb-journey__grid.e-con,
.sg-smb-journey__grid.e-con > .e-con-inner {
  --flex-direction: row;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 24px !important;
  overflow: visible;
}
.sg-smb-journey__col.e-con {
  position: relative;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff;
  border: 1px solid #ece8f5;
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(44, 0, 124, 0.06);
  box-sizing: border-box !important;
  overflow: visible;
}
.sg-smb-journey__col.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  padding: 30px 24px 34px !important;
  margin: 0 !important;
  gap: 0 !important;
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
}
.sg-smb-journey__col.e-con:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 40%;
  right: -30px;
  width: 20px;
  height: 20px;
  border-top: 2px solid #c9bdf0;
  border-right: 2px solid #c9bdf0;
  transform: rotate(45deg);
  z-index: 2;
}
.sg-smb-journey__badge-wrap.elementor-widget-html {
  width: 46px !important;
  margin: 0 0 18px !important;
}
.sg-smb-journey__badge {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #efeafc;
  color: #6a2ce0;
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif;
  font-size: 20px;
  line-height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sg-smb-journey__col img {
  width: 100% !important;
  max-width: 230px !important;
  height: auto !important;
  margin: 0 0 22px !important;
}
.sg-smb-journey__col p {
  font-family: Archivo, sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  color: #5b5670 !important;
  text-align: center !important;
  margin: 0 0 24px !important;
}
.sg-smb-journey__icon-wrap.elementor-widget-html,
.sg-smb-journey__col .elementor-widget-html.sg-smb-journey__icon-wrap {
  width: 54px !important;
  margin-top: auto !important;
  margin-bottom: 0 !important;
}
.sg-smb-journey__icon {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #f4f0fc;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sg-smb-journey__icon svg {
  display: block;
  width: 24px;
  height: 24px;
  fill: none;
  stroke: #6a2ce0;
  stroke-width: 2px;
}

/* Visit: col-11 offset-1; H2 56/61.6 #1a1440 center; 3 cards + SVG. 40px stik with core. */
.sg-smb-visit.e-con,
.sg-smb-visit {
  --sg-smb-col11: calc(11 / 12 * (min(100vw, 1480px) - 134.5px) - 25.5px);
  --sg-smb-col11-left: calc(max(0px, (100vw - 1480px) / 2) + 80px + (min(100vw, 1480px) - 134.5px) / 12);
  background: #fff;
  /* Prod ≈1067.6 @1440; was 1036.1 → +32 pad-bottom. */
  padding: 160px 0 152px !important;
  align-items: flex-start !important;
  text-align: center;
}
.sg-smb-visit.e-con > .elementor-element {
  width: 100% !important;
  max-width: var(--sg-smb-col11) !important;
  margin-left: var(--sg-smb-col11-left) !important;
  margin-right: auto !important;
}
.sg-smb-visit .sg-smb-badge.elementor-widget-html,
.sg-smb-visit .sg-smb-badge .elementor-widget-container {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}
.sg-smb-visit .sg-smb-badge.elementor-widget-html { margin-bottom: 24px !important; }
.sg-smb-visit h2,
.sg-smb-visit h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 56px !important;
  line-height: 61.6px !important;
  font-weight: 500 !important;
  color: #1a1440 !important;
  text-align: center !important;
  margin: 0 0 18px !important;
}
.elementor-element-sgsmbvld p,
.sg-smb-visit__lead.elementor-widget-text-editor .elementor-widget-container p,
.sg-smb-visit .sg-smb-visit__lead p {
  font-family: Archivo, sans-serif !important;
  font-size: 19px !important;
  line-height: 30px !important;
  font-weight: 400 !important;
  color: #5b5670 !important;
  text-align: center !important;
  max-width: 760px !important;
  margin: 0 auto 50px !important;
}
.sg-smb-visit__grid.e-con,
.sg-smb-visit__grid.e-con > .e-con-inner {
  --display: grid;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 38px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sg-smb-visit__step.e-con {
  position: relative;
  --flex-direction: column;
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  background: #fff;
  border: 1px solid #ece8f5;
  border-radius: 22px;
  box-shadow: 0 14px 34px rgba(44, 0, 124, 0.06);
  padding: 28px 26px 30px !important;
  text-align: left;
  box-sizing: border-box !important;
}
.sg-smb-visit__step.e-con > .e-con-inner {
  --flex-direction: column;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  min-height: 100%;
}
.sg-smb-visit__step .elementor-widget,
.sg-smb-visit__step .elementor-element {
  margin: 0 !important;
  --margin-block-start: 0px;
  --margin-block-end: 0px;
}
.sg-smb-visit__step .elementor-widget-container { padding: 0 !important; margin: 0 !important; }
.sg-smb-visit__head.e-con,
.sg-smb-visit__head.e-con > .e-con-inner {
  --flex-direction: row;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.sg-smb-visit__head .elementor-widget-html {
  width: auto !important;
  flex: 0 0 44px !important;
  max-width: 44px !important;
}
.sg-smb-visit__head .elementor-widget-heading {
  width: auto !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
}
.sg-smb-visit__head.e-con > .e-con-inner::after {
  content: "";
  flex: 1 0 100%;
  width: 34px;
  max-width: 34px;
  height: 3px;
  background: #f39704;
  border-radius: 3px;
  margin: 14px 0;
}
.sg-smb-visit__num {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #efeafc;
  color: #6a2ce0;
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif;
  font-size: 20px;
  line-height: 44px;
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sg-smb-visit h4,
.sg-smb-visit h4.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 22px !important;
  line-height: 27.5px !important;
  font-weight: 500 !important;
  color: #1a1440 !important;
  text-align: left !important;
  margin: 0 !important;
}
.sg-smb-visit__step p {
  font-family: Archivo, sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #5b5670 !important;
  text-align: left !important;
  margin: 0 0 22px !important;
}
.sg-smb-visit__step img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  border-radius: 16px;
  margin-top: auto !important;
  display: block;
}
.sg-smb-visit__step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -26px;
  width: 14px;
  height: 14px;
  border-top: 2px solid #6a2ce0;
  border-right: 2px solid #6a2ce0;
  transform: rotate(45deg);
  z-index: 1;
}
.sg-smb-visit__scene { margin: 10px 0 22px; }
.sg-smb-visit__scene svg { display: block; width: 100%; height: auto; overflow: visible; }
.sg-smb-visit__chips,
.sg-smb-visit__chips-wrap .sg-smb-visit__chips {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: auto;
}
.sg-smb-visit__chips-wrap p { margin: 0 !important; }
.sg-smb-visit__chips span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 8px;
  border: 1px solid #ece8f5;
  border-radius: 12px;
  font-family: Archivo, sans-serif;
  font-size: 12.5px;
  line-height: 16px;
  color: #5b5670;
  text-align: center;
}
.sg-smb-visit__chips svg {
  flex: 0 0 15px;
  width: 15px;
  height: 15px;
  fill: none;
  stroke: #6a2ce0;
  stroke-width: 1.8;
}
.sg-smb-visit__reward {
  display: flex;
  align-items: stretch;
  gap: 12px;
  margin: 6px 0 20px;
}
.sg-smb-visit__gc {
  flex: 1 1 58%;
  border-radius: 14px;
  padding: 16px 14px;
  min-height: 108px;
  background: linear-gradient(135deg, #6a2ce0 0%, #4a17ad 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  overflow: hidden;
}
.sg-smb-visit__gc svg {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 54px;
  height: 54px;
  fill: none;
  stroke: rgba(255, 255, 255, 0.55);
  stroke-width: 1.4;
}
.sg-smb-visit__gc b {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif;
  font-size: 19px;
  color: #fff;
  display: block;
}
.sg-smb-visit__gc em {
  font-style: normal;
  font-family: Archivo, sans-serif;
  font-size: 12px;
  letter-spacing: 1.4px;
  color: rgba(255, 255, 255, 0.8);
}
.sg-smb-visit__pts {
  flex: 1 1 42%;
  border: 1px solid #ece8f5;
  border-radius: 14px;
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.sg-smb-visit__pts small {
  font-family: Archivo, sans-serif;
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #6a2ce0;
}
.sg-smb-visit__pts .stars {
  color: #6a2ce0;
  font-size: 15px;
  letter-spacing: 2px;
  margin: 6px 0 4px;
}
.sg-smb-visit__pts b {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif;
  font-size: 17px;
  color: #1a1440;
}
.sg-smb-visit__mini,
.sg-smb-visit__mini-wrap .sg-smb-visit__mini {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: auto;
}
.sg-smb-visit__mini-wrap p { margin: 0 !important; }
.sg-smb-visit__mini span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: Archivo, sans-serif;
  font-size: 12.5px;
  line-height: 16px;
  color: #5b5670;
}
.sg-smb-visit__mini svg {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  fill: none;
  stroke: #6a2ce0;
  stroke-width: 1.8;
}
.sg-smb-visit__foot-wrap.elementor-widget-html,
.sg-smb-visit .sg-smb-visit__foot-wrap {
  margin-top: 42px !important;
  width: 100% !important;
}
.sg-smb-visit__foot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: Archivo, sans-serif;
  font-size: 18px;
  line-height: 27px;
  color: #1a1440;
}
.sg-smb-visit__foot svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: #6a2ce0;
  stroke-width: 1.8;
  flex-shrink: 0;
}
.sg-smb-visit__foot i { font-style: normal; color: #6a2ce0; }

/* FAQ: H2 60/40 #414141, pad-bottom 60. Production has no questions. */
.sg-smb-faq.e-con,
.sg-smb-faq {
  --sg-smb-col11: calc(11 / 12 * (min(100vw, 1480px) - 134.5px) - 25.5px);
  --sg-smb-col11-left: calc(max(0px, (100vw - 1480px) / 2) + 80px + (min(100vw, 1480px) - 134.5px) / 12);
  background: #fff;
  padding: 100px 0 60px !important;
  align-items: flex-start !important;
}
.sg-smb-faq.e-con > .elementor-element {
  width: 100% !important;
  max-width: var(--sg-smb-col11) !important;
  margin-left: var(--sg-smb-col11-left) !important;
  margin-right: auto !important;
}
.sg-smb-faq h2,
.sg-smb-faq h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 60px !important;
  line-height: 40px !important;
  font-weight: 500 !important;
  color: #414141 !important;
  text-align: left !important;
  padding: 0 0 60px !important;
  margin: 0 0 8.5px !important;
}

/* SVG prehod: wrapper transform none; rotate only inner #solution-section-transition. */
.sg-smb-transition.e-con,
.sg-smb-transition.e-con > .elementor-element {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
}
.sg-smb-transition__svg,
#solution-section-transition.sg-smb-transition__svg,
.sg-smb-transition #solution-section-transition[aria-hidden="true"] {
  position: relative;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg) !important;
}
.sg-smb-transition__svg svg,
#solution-section-transition.sg-smb-transition__svg svg {
  position: relative;
  display: block;
  width: calc(100% + 2px);
  height: 100px;
  transform: none;
  background: #23035e;
}
.sg-smb-transition__svg .shape-fill { fill: #fff; }

/* CTA #numbers: pad 20 0 80, bg #23035e. H2 60/40 weight 400 white. Lead Gilroy Light 30/40 #f39704. */
.sg-smb-cta.e-con,
.sg-smb-cta,
#numbers.sg-smb-cta {
  background: #23035e !important;
  padding: 20px 20px 80px !important;
  color: #fff;
}
.sg-smb-cta h2,
.sg-smb-cta h2.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: 60px !important;
  line-height: 40px !important;
  font-weight: 400 !important;
  color: #fff !important;
  text-align: left !important;
  margin: 0 0 8.5px !important;
}
.sg-smb-cta__row.e-con,
.sg-smb-cta__row.e-con > .e-con-inner {
  --display: block;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.sg-smb-cta.e-con > .sg-smb-cta__row {
  max-width: var(--sg-smb-col10) !important;
}
.sg-smb-cta__row .elementor-widget-text-editor,
.sg-smb-cta__row .sg-smb-cta__text {
  width: auto !important;
  max-width: none !important;
  display: inline !important;
  vertical-align: top;
}
.sg-smb-cta__row .elementor-widget-button {
  width: auto !important;
  max-width: none !important;
  display: inline-block !important;
  vertical-align: middle;
}
.sg-smb-cta p,
.sg-smb-cta .sg-smb-cta__text p {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 40px !important;
  font-weight: 300 !important;
  color: #f39704 !important;
  text-align: left !important;
  margin: 4px 40px 0 0 !important;
  display: inline;
}

@media (min-width: 1480px) {
  .sg-smb-hero.e-con,
  .sg-smb-pitch.e-con,
  .sg-smb-audiences.e-con,
  .sg-smb-benefits.e-con,
  .sg-smb-hiw.e-con,
  .sg-smb-models.e-con,
  .sg-smb-journey.e-con,
  .sg-smb-core.e-con,
  .sg-smb-visit.e-con,
  .sg-smb-faq.e-con,
  .sg-smb-cta.e-con {
    --sg-smb-col10: 1196px;
  }
}

@media (max-width: 991px) {
  .sg-smb-hero.e-con,
  .sg-smb-pitch.e-con,
  .sg-smb-audiences.e-con,
  .sg-smb-hiw.e-con,
  .sg-smb-models.e-con,
  .sg-smb-journey.e-con,
  .sg-smb-core.e-con,
  .sg-smb-visit.e-con,
  .sg-smb-faq.e-con,
  .sg-smb-cta.e-con {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .sg-smb-hero h1, .sg-smb-hero h1.elementor-heading-title { font-size: 60px !important; line-height: 40px !important; }
  .sg-smb-hero h2, .sg-smb-hero h2.elementor-heading-title { font-size: 31.4px !important; line-height: 37.7px !important; }
  .sg-smb-pitch h2, .sg-smb-pitch h2.elementor-heading-title { font-size: 32px !important; line-height: 38.4px !important; }
  .sg-smb-audiences h2, .sg-smb-hiw h2, .sg-smb-journey h2, .sg-smb-visit h2,
  .sg-smb-audiences h2.elementor-heading-title, .sg-smb-hiw h2.elementor-heading-title,
  .sg-smb-journey h2.elementor-heading-title, .sg-smb-visit h2.elementor-heading-title {
    font-size: 42px !important;
    line-height: 46.2px !important;
  }
  .sg-smb-benefits h2, .sg-smb-benefits h2.elementor-heading-title { font-size: 31.4px !important; line-height: 37.7px !important; }
  .sg-smb-faq h2, .sg-smb-cta h2,
  .sg-smb-faq h2.elementor-heading-title, .sg-smb-cta h2.elementor-heading-title {
    font-size: 45px !important;
    line-height: 45px !important;
  }
  .sg-smb-faq h2, .sg-smb-faq h2.elementor-heading-title { padding-bottom: 20px !important; }
  .sg-smb-cta h2, .sg-smb-cta h2.elementor-heading-title { text-align: center !important; }
  .sg-smb-cta p, .sg-smb-cta .sg-smb-cta__text p {
    text-align: center !important;
    display: block;
    margin: 4px 0 16px !important;
    font-size: 26px !important;
    line-height: 26px !important;
  }
  .sg-smb-visit__step:not(:last-child)::after { display: none !important; content: none !important; }
  .sg-smb-cta__row .elementor-widget-text-editor,
  .sg-smb-cta__row .elementor-widget-button { display: block !important; width: 100% !important; }
  .sg-smb-cta .elementor-widget-button { display: flex !important; justify-content: center !important; width: 100% !important; }
  .sg-smb-transition__svg svg,
  #solution-section-transition.sg-smb-transition__svg svg { height: 40px; }
  .sg-smb-visit.e-con > .elementor-element,
  .sg-smb-faq.e-con > .elementor-element {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .sg-smb-visit__grid.e-con,
  .sg-smb-visit__grid.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none;
    gap: 20px !important;
  }
  .sg-smb-visit__step.e-con {
    width: 100% !important;
    max-width: 100% !important;
  }
  .sg-smb-audiences.e-con > .elementor-element {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .sg-smb-audiences__card.e-con {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: visible;
  }
  .sg-smb-benefit-row.e-con,
  .sg-smb-benefit-row.e-con > .e-con-inner,
  .sg-smb-benefit-row--reverse.e-con,
  .sg-smb-benefit-row--reverse.e-con > .e-con-inner,
  .sg-smb-hiw__row.e-con,
  .sg-smb-hiw__row.e-con > .e-con-inner,
  .sg-smb-hiw__foot.e-con,
  .sg-smb-hiw__foot.e-con > .e-con-inner,
  .sg-smb-audiences__grid.e-con,
  .sg-smb-audiences__grid.e-con > .e-con-inner,
  .sg-smb-models__grid.e-con,
  .sg-smb-models__grid.e-con > .e-con-inner,
  .sg-smb-core__grid.e-con > .e-con-inner {
    flex-direction: column !important;
    --flex-direction: column;
  }
  .sg-smb-journey.e-con > .elementor-element {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .sg-smb-core.e-con > .elementor-element {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .sg-smb-journey__grid.e-con,
  .sg-smb-journey__grid.e-con > .e-con-inner {
    flex-wrap: wrap !important;
    flex-direction: row !important;
  }
  .sg-smb-journey__col.e-con {
    flex: 1 1 calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
  }
  .sg-smb-journey__col.e-con:not(:last-child)::after { display: none; }
  .sg-smb-benefit-row__text.e-con,
  .sg-smb-benefit-row__text.e-con > .e-con-inner,
  .sg-smb-benefit-row--reverse .sg-smb-benefit-row__text.e-con,
  .sg-smb-benefit-row--reverse .sg-smb-benefit-row__text.e-con > .e-con-inner,
  .sg-smb-benefit-row--wide .sg-smb-benefit-row__text.e-con,
  .sg-smb-benefit-row--wide .sg-smb-benefit-row__text.e-con > .e-con-inner,
  .sg-smb-benefit-row--text .sg-smb-benefit-row__text.e-con,
  .sg-smb-benefit-row--text .sg-smb-benefit-row__text.e-con > .e-con-inner {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin-left: 0 !important;
  }
  .sg-smb-benefit-row--web.e-con,
  .sg-smb-benefit-row--reverse.e-con,
  .sg-smb-benefit-row--wide.e-con,
  .sg-smb-benefit-row--text.e-con,
  .sg-smb-benefit-row--web.e-con > .e-con-inner,
  .sg-smb-benefit-row--wide.e-con > .e-con-inner,
  .sg-smb-benefit-row--text.e-con > .e-con-inner {
    padding: 0 20px !important;
    min-height: 0 !important;
  }
  .sg-smb-benefit-row--reverse .sg-smb-benefit-row__visual.e-con,
  .sg-smb-benefit-row--wide .sg-smb-benefit-row__visual.e-con {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    margin-top: 0 !important;
  }
  .sg-smb-benefit-row--web .sg-smb-benefit-row__visual img,
  .sg-smb-benefit-row--reverse .sg-smb-benefit-row__visual img,
  .sg-smb-benefit-row--wide .sg-smb-benefit-row__visual img {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    left: auto !important;
  }
  .sg-smb-hiw.e-con > .elementor-element,
  .sg-smb-models.e-con > .elementor-element {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .sg-smb-hiw__step.e-con,
  .sg-smb-models__col.e-con,
  .sg-smb-hiw__foot-item.e-con {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .sg-smb-hiw h2::after { width: 140px; }
  .sg-smb-hiw__foot.e-con > .e-con-inner { gap: 14px !important; }
}

@media (max-width: 767px) {
  /* Desktop height compensation is intentionally not carried into the
     stacked phone layout; it created hundreds of pixels of blank space. */
  body.sg-solution-smb .sg-smb-audiences.e-con {
    padding-top: 60px !important;
    padding-bottom: 48px !important;
  }
  body.sg-solution-smb .sg-smb-hiw.e-con { padding-bottom: 56px !important; }
  body.sg-solution-smb .sg-smb-models.e-con,
  body.sg-solution-smb .sg-smb-core.e-con { padding-bottom: 48px !important; }
  body.sg-solution-smb .sg-smb-journey.e-con { padding-bottom: 48px !important; }

  .sg-smb-hero.e-con,
  .sg-smb-pitch.e-con,
  .sg-smb-audiences.e-con,
  .sg-smb-hiw.e-con,
  .sg-smb-models.e-con,
  .sg-smb-journey.e-con,
  .sg-smb-core.e-con {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .sg-smb-hero h2, .sg-smb-hero h2.elementor-heading-title { font-size: 27.4px !important; line-height: 32.9px !important; }
  .sg-smb-journey__col.e-con {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 480px) {
  .sg-smb-hero.e-con,
  .sg-smb-hero {
    clip-path: polygon(0 0, 100% 0, 100% 90%, 66% 97%, 0 93%);
    padding: 70px 20px 130px !important;
  }
  .sg-smb-hero h2, .sg-smb-hero h2.elementor-heading-title { font-size: 24px !important; line-height: 28.9px !important; }
  .sg-smb-pitch.e-con,
  .sg-smb-pitch {
    padding: 40px 20px 40px !important;
  }
  body.sg-solution-smb .sg-smb-audiences.e-con { padding-bottom: 0 !important; }
  .sg-smb-pitch h2, .sg-smb-pitch h2.elementor-heading-title { font-size: 27px !important; line-height: 32.4px !important; }
  .sg-smb-audiences h2, .sg-smb-hiw h2, .sg-smb-journey h2, .sg-smb-visit h2,
  .sg-smb-audiences h2.elementor-heading-title, .sg-smb-hiw h2.elementor-heading-title,
  .sg-smb-journey h2.elementor-heading-title, .sg-smb-visit h2.elementor-heading-title {
    font-size: 34px !important;
    line-height: 37.4px !important;
  }
  .sg-smb-hiw.e-con,
  .sg-smb-models.e-con {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .sg-smb-models h2,
  .sg-smb-models h2.elementor-heading-title {
    font-size: 24px !important;
    line-height: 27.7px !important;
  }
  .sg-smb-models h4,
  .sg-smb-models h4.elementor-heading-title {
    font-size: 20.9px !important;
    line-height: 25.1px !important;
  }
  .sg-smb-core h2,
  .sg-smb-core h2.elementor-heading-title {
    font-size: 24px !important;
    line-height: 27.7px !important;
  }
  .sg-smb-core h4,
  .sg-smb-core h4.elementor-heading-title {
    font-size: 20.9px !important;
    line-height: 25.1px !important;
  }
  .sg-smb-hero__actions.e-con,
  .sg-smb-hero__actions.e-con > .e-con-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
  }
  .sg-smb-journey h2,
  .sg-smb-journey h2.elementor-heading-title {
    font-size: 36px !important;
    line-height: 39.6px !important;
  }
  .sg-smb-journey.e-con,
  .sg-smb-core.e-con {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* === sg-about tokens START === */
/* Production https://smartgifty.com/about/ — measured 2026-08-18. Desktop = 1440. */
body.sg-about {
  --sg-about-hero-bg: #2c007c;
  --sg-about-hero-clip: none;
  --sg-about-hero-svg-d: "M0 0 L20 80 L100 0 Z";
  --sg-about-hero-svg-h: 100px;
  --sg-about-hero-h: 376px;
  --sg-about-hero-wrapper-h: 277px;
  --sg-about-hero-pad: 80px 0;
  --sg-about-h1-size: 60px;
  --sg-about-h1-line: 60px;
  --sg-about-h1-color: #ffffff;
  --sg-about-h1-x: 138.78px;
  --sg-about-h2-size: 30px;
  --sg-about-h2-line: 40px;
  --sg-about-orange: #f39704;
  --sg-about-text-color: #414141;
  --sg-about-col-w: 449.66px;
  --sg-about-col10: 1400px;
  --sg-about-text: 568.45px;
  --sg-about-portrait-w: 449.64px;
  --sg-about-portrait-h: 299.83px;
  --sg-about-portrait-gap-y: 102px;
  --sg-about-gap: 144.28px;
  --sg-about-approach-x: 257.58px;
  --sg-about-leadership-x: 851.52px;
  --sg-about-h3-orange-size: 30px;
  --sg-about-h3-orange-line: 50px;
  --sg-about-h3-big-size: 30px;
  --sg-about-h3-big-line: 36px;
  --sg-about-btn-w: 230px;
  --sg-about-btn-h: 59px;
  --sg-about-btn-bg: #f39704;
  --sg-about-btn-color: #ffffff;
  --sg-about-btn-radius: 12px;
  --sg-about-btn-pad: 16px 0;
  --sg-about-btn-size: 18px;
  --sg-about-btn-line: 27px;
  --sg-about-list-pad: 34px;
  --sg-about-list-ml: 51px;
}

@media (min-width: 1920px) {
  body.sg-about {
    --sg-about-col-w: 463px;
    --sg-about-col10: 1440px;
    --sg-about-text: 585.13px;
    --sg-about-portrait-w: 462.98px;
    --sg-about-portrait-h: 308.72px;
    --sg-about-gap: 147.63px;
    --sg-about-h1-x: 362.13px;
    --sg-about-approach-x: 484.25px;
    --sg-about-leadership-x: 1094.88px;
  }
}

@media (max-width: 767px) {
  body.sg-about {
    --sg-about-hero-h: 423.5px;
    --sg-about-hero-wrapper-h: 325.5px;
    --sg-about-hero-pad: 50px 0;
    --sg-about-h1-size: 45px;
    --sg-about-h1-line: 45px;
    --sg-about-h1-x: 20px;
    --sg-about-h2-size: 26px;
    --sg-about-h2-line: 40px;
    --sg-about-col-w: 350px;
    --sg-about-col10: 350px;
    --sg-about-text: 350px;
    --sg-about-portrait-w: 349.98px;
    --sg-about-portrait-h: 233.38px;
    --sg-about-portrait-gap-y: 93px;
    --sg-about-gap: 0px;
    --sg-about-approach-x: 20px;
    --sg-about-leadership-x: 20px;
    --sg-about-btn-w: 272.5px;
    --sg-about-list-pad: 31.008px;
    --sg-about-list-ml: 46.512px;
  }
}
/* === sg-about tokens END === */

/* === sg-about-hero START === */
/* Production: transparent #hero-color + purple .hero-color-wrapper + SVG triangle (no clip-path). */
body.sg-about .sg-about-hero.e-con,
body.sg-about .sg-about-hero.e-con > .e-con-inner {
  --display: flex;
  --flex-direction: column;
  --gap: 0px;
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  clip-path: var(--sg-about-hero-clip, none) !important;
  -webkit-clip-path: var(--sg-about-hero-clip, none) !important;
  background-color: transparent !important;
  background-image: none !important;
}
body.sg-about .sg-about-hero.e-con {
  height: var(--sg-about-hero-h) !important;
  min-height: var(--sg-about-hero-h) !important;
  padding: var(--sg-about-hero-pad) !important;
  margin: 0 !important;
}
body.sg-about .sg-about-hero.e-con > .e-con-inner {
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.sg-about .sg-about-hero.e-con::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: var(--sg-about-hero-wrapper-h);
  background: var(--sg-about-hero-bg);
  z-index: 0;
  pointer-events: none;
}
body.sg-about .sg-about-hero .elementor-widget-heading {
  position: relative;
  z-index: 1;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  align-self: stretch !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: var(--sg-about-h1-x) !important;
  margin-right: max(20px, calc((100vw - 1480px) / 2 + 20px)) !important;
  padding: 0 !important;
  --margin-block-start: 0px;
  --margin-block-end: 0px;
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
}
body.sg-about .sg-about-hero .elementor-widget-heading .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}
body.sg-about .sg-about-hero h1,
body.sg-about .sg-about-hero h1.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: var(--sg-about-h1-size) !important;
  line-height: var(--sg-about-h1-line) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  color: var(--sg-about-h1-color) !important;
  text-align: left !important;
  margin: 0 0 8.5px !important;
  padding: 0 !important;
  width: 100% !important;
}
body.sg-about .sg-about-hero h2,
body.sg-about .sg-about-hero h2.elementor-heading-title {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: var(--sg-about-h2-size) !important;
  line-height: var(--sg-about-h2-line) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  color: var(--sg-about-h1-color) !important;
  text-align: left !important;
  margin: 0 0 8.5px !important;
  padding: 0 28% 0 0 !important;
  width: 100% !important;
}
body.sg-about .sg-about-hero .elementor-widget-html,
body.sg-about .sg-about-hero .elementor-widget-html .elementor-widget-container {
  display: contents;
}
body.sg-about .sg-about-hero__triangle {
  position: absolute;
  left: 0;
  top: calc(var(--sg-about-hero-wrapper-h) - 1px);
  width: 100%;
  height: var(--sg-about-hero-svg-h);
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
  line-height: 0;
}
body.sg-about .sg-about-hero__triangle svg {
  display: block;
  width: 100%;
  height: 100%;
}
body.sg-about .sg-about-hero__triangle path {
  fill: var(--sg-about-hero-bg);
}
@media (max-width: 767px) {
  body.sg-about .sg-about-hero h1,
  body.sg-about .sg-about-hero h1.elementor-heading-title,
  body.sg-about .sg-about-hero h2,
  body.sg-about .sg-about-hero h2.elementor-heading-title {
    margin: 0 0 7.752px !important;
  }
  body.sg-about .sg-about-hero h2,
  body.sg-about .sg-about-hero h2.elementor-heading-title {
    padding-right: 0 !important;
  }
  body.sg-about .sg-about-hero__triangle {
    top: calc(var(--sg-about-hero-wrapper-h) - 2px);
  }
}
/* === sg-about-hero END === */
/* === sg-about-intro START === */
/* Production: col-lg-5 + col-lg-7, gutter 25.5px, .row.align-items-center.
   Outer is e-con-full (no inner). Content width = --sg-about-col10, centered.
   Text column must NOT inherit image height: height:auto; inner flex:none.
   align-self:center matches prod .row.align-items-center (~30px) without stretching.
   Never flex: 0 0 568px on the text inner. */
.sg-about-intro.e-con {
  --flex-direction: row;
  --display: flex;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 25.5px !important;
  width: 100% !important;
  max-width: var(--sg-about-col10) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
.sg-about-intro__text.e-con {
  flex: none !important;
  width: var(--sg-about-text) !important;
  max-width: var(--sg-about-text) !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: center !important;
  padding: 0 !important;
  --content-width: 100%;
}
.sg-about-intro__text.e-con > .e-con-inner {
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
}
.sg-about-intro__text .elementor-widget-text-editor,
.sg-about-intro__text .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
.sg-about-intro__text p {
  font-family: "Gilroy Light", sans-serif !important;
  font-size: 30px !important;
  line-height: 40px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  color: var(--sg-about-text-color, #414141) !important;
  padding: 40px 0 80px !important;
  margin: 0 0 17px !important;
  width: 100% !important;
  max-width: none !important;
}
.sg-about-intro__visual.e-con {
  --flex-direction: column;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 0 !important;
  overflow: visible !important;
  --content-width: 100%;
}
.sg-about-intro__visual.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  padding: 0 !important;
  gap: 0 !important;
}
.sg-about-intro__visual .elementor-widget-image,
.sg-about-intro__visual .elementor-widget-container,
.sg-about-intro__visual .elementor-image {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
.sg-about-intro__visual img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: fill !important;
}
.sg-about-intro__caption,
.sg-about-intro__caption .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
.sg-about-intro__caption p {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  font-weight: 400 !important;
  color: #212529 !important;
  margin: 17px 0 !important;
  padding: 0 !important;
}
.sg-about-intro__caption em {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  color: #212529 !important;
}

@media (max-width: 767px) {
  .sg-about-intro.e-con {
    flex-direction: column !important;
    --flex-direction: column;
    align-items: stretch !important;
    gap: 0 !important;
  }
  .sg-about-intro__text.e-con {
    width: 100% !important;
    max-width: none !important;
    align-self: stretch !important;
  }
  .sg-about-intro__text p {
    font-size: 26px !important;
    line-height: 36px !important;
    padding: 40px 0 !important;
    margin: 0 0 15.5px !important;
  }
  .sg-about-intro__visual.e-con,
  .sg-about-intro__visual.e-con > .e-con-inner {
    width: 100% !important;
    flex: none !important;
  }
  .sg-about-intro__caption p {
    font-size: 15.504px !important;
    line-height: 23.256px !important;
    margin: 15.5px 0 !important;
  }
  .sg-about-intro__caption em {
    font-size: 15.504px !important;
    line-height: 23.256px !important;
  }
}
/* === sg-about-intro END === */
/* === sg-about-approach START === */
/* Interior of .sg-about-approach only. Column width / body grid = sg-about-body. */
body.sg-about .sg-about-approach.e-con {
  height: auto !important;
  min-height: 0 !important;
  align-self: flex-start !important;
}
body.sg-about .sg-about-approach.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  flex: none !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
}
body.sg-about .sg-about-approach .elementor-element,
body.sg-about .sg-about-approach .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  --margin-block-start: 0px;
  --margin-block-end: 0px;
}
body.sg-about .sg-about-approach .sg-about-kicker .elementor-heading-title,
body.sg-about .sg-about-approach .sg-about-kicker h3 {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: var(--sg-about-h3-orange-size) !important;
  line-height: var(--sg-about-h3-orange-line) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  color: var(--sg-about-orange) !important;
  margin: 0 0 8.5px !important;
  padding: 0 !important;
  width: 100% !important;
}
body.sg-about .sg-about-approach .sg-about-lead .elementor-heading-title,
body.sg-about .sg-about-approach .sg-about-lead h3 {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: var(--sg-about-h3-big-size) !important;
  line-height: var(--sg-about-h3-big-line) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  color: var(--sg-about-text-color, #414141) !important;
  margin: 0 0 8.5px !important;
  padding: 0 0 22px !important;
  width: 100% !important;
}
body.sg-about .sg-about-approach .elementor-widget-text-editor p {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  font-weight: 400 !important;
  color: #212529 !important;
  margin: 0 0 17px !important;
  padding: 0 !important;
}
body.sg-about .sg-about-approach .elementor-element.sg-about-lead:nth-child(2) {
  padding-bottom: 8.5px !important;
}
body.sg-about .sg-about-approach .elementor-element.sg-about-lead:nth-child(n + 3) {
  padding-bottom: 40px !important;
}
body.sg-about .sg-about-approach ul {
  list-style-type: disc !important;
  list-style-position: outside !important;
  padding-left: var(--sg-about-list-pad) !important;
  margin: 0 0 17px var(--sg-about-list-ml) !important;
}
body.sg-about .sg-about-approach ul li {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  font-weight: 400 !important;
  color: #212529 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.sg-about .sg-about-approach .elementor-widget-button {
  width: auto !important;
  max-width: none !important;
  align-self: flex-start !important;
  margin: 25.5px 0 0 calc(var(--sg-about-list-ml) + var(--sg-about-list-pad)) !important;
}
body.sg-about .sg-about-approach .elementor-widget-button .elementor-button-wrapper {
  width: auto !important;
}
body.sg-about .sg-about-approach .sg-button-orange .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: var(--sg-about-btn-w) !important;
  min-width: var(--sg-about-btn-w) !important;
  max-width: var(--sg-about-btn-w) !important;
  height: var(--sg-about-btn-h) !important;
  min-height: var(--sg-about-btn-h) !important;
  background: var(--sg-about-btn-bg) !important;
  color: var(--sg-about-btn-color) !important;
  border: 0 !important;
  border-radius: var(--sg-about-btn-radius) !important;
  padding: var(--sg-about-btn-pad) !important;
  font-family: Archivo, sans-serif !important;
  font-size: var(--sg-about-btn-size) !important;
  line-height: var(--sg-about-btn-line) !important;
  font-weight: 400 !important;
  box-shadow: none !important;
  text-align: center !important;
}
@media (max-width: 767px) {
  body.sg-about .sg-about-approach .elementor-widget-text-editor p,
  body.sg-about .sg-about-approach ul li {
    font-size: 15.504px !important;
    line-height: 23.256px !important;
  }
  body.sg-about .sg-about-approach .sg-about-kicker .elementor-heading-title,
  body.sg-about .sg-about-approach .sg-about-kicker h3,
  body.sg-about .sg-about-approach .sg-about-lead .elementor-heading-title,
  body.sg-about .sg-about-approach .sg-about-lead h3 {
    margin-bottom: 7.752px !important;
  }
  body.sg-about .sg-about-approach .elementor-element.sg-about-lead:nth-child(2) {
    padding-bottom: 7.752px !important;
  }
  body.sg-about .sg-about-approach .elementor-widget-text-editor p {
    margin-bottom: 15.504px !important;
  }
  body.sg-about .sg-about-approach ul {
    margin-bottom: 15.504px !important;
  }
  body.sg-about .sg-about-approach .elementor-widget-button {
    margin-bottom: 15.504px !important;
  }
}
/* === sg-about-approach END === */
/* === sg-about-leadership START === */
/* Production About leadership column — desktop outside @media. */
.sg-about-leadership.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  flex: none !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
}
.sg-about-leadership .elementor-element,
.sg-about-leadership .elementor-widget,
.sg-about-leadership .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: flex-start !important;
}
.sg-about-leadership .sg-about-kicker .elementor-heading-title,
.sg-about-leadership .sg-about-kicker h3 {
  font-family: "Gilroy Light", sans-serif !important;
  font-size: var(--sg-about-h3-orange-size, 30px) !important;
  line-height: var(--sg-about-h3-orange-line, 50px) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  color: var(--sg-about-orange, #f39704) !important;
  margin: 0 0 8.5px !important;
  padding: 0 !important;
  width: 100% !important;
}
.sg-about-leadership .sg-about-lead .elementor-heading-title,
.sg-about-leadership .sg-about-lead h3 {
  font-family: "Gilroy Light", sans-serif !important;
  font-size: var(--sg-about-h3-big-size, 30px) !important;
  line-height: var(--sg-about-h3-big-line, 36px) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  color: var(--sg-about-text-color, #414141) !important;
  margin: 0 !important;
  padding: 0 0 22px !important;
  width: 100% !important;
}
.sg-about-leadership .sg-about-lead strong {
  font-family: "Gilroy Light", sans-serif !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 700 !important;
  color: inherit !important;
}
.sg-about-leadership .sg-about-lead + .elementor-widget-text-editor {
  margin-top: 17px !important;
}
.sg-about-leadership .elementor-widget-text-editor p {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  font-weight: 400 !important;
  color: #212529 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
.sg-about-leadership .elementor-widget-image,
.sg-about-leadership .elementor-widget-image .elementor-widget-container,
.sg-about-leadership .elementor-image {
  flex: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-self: flex-start !important;
  padding: 0 !important;
  margin: 0 !important;
}
.sg-about-leadership .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: fill !important;
}
.sg-about-leadership .elementor-widget-image + .elementor-widget-text-editor:has(+ .elementor-widget-image) {
  flex: none !important;
  min-height: var(--sg-about-portrait-gap-y, 102px) !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sg-about-leadership .elementor-widget-text-editor b,
.sg-about-leadership .elementor-widget-text-editor strong {
  font-family: Archivo, sans-serif !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 700 !important;
  font-style: normal !important;
  color: inherit !important;
}
.sg-about-leadership .elementor-widget-text-editor:last-child {
  margin-bottom: 42.5px !important;
}
@media (max-width: 767px) {
  .sg-about-leadership .elementor-widget-text-editor p {
    font-size: 15.504px !important;
    line-height: 23.256px !important;
  }
  .sg-about-leadership .elementor-widget-text-editor:last-child {
    /* 15.504 empty-p margin; skip extra br line because title+desc wraps 4 lines vs prod 3. */
    margin-bottom: 15.504px !important;
  }
}
/* === sg-about-leadership END === */
/* === sg-about-note START === */
/* Production closing note: full-width sibling under the 2-col grid.
   @1440 p x=20 w=1400; @1920 x=240 w=1440; @390 x=20 w=350.
   padding-bottom = about-box pad (80/40) + trailing <br> line (25.5/23.256). */
.sg-about-note.e-con,
.sg-about-note {
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 105.5px;
  --padding-left: 0px;
  --flex-direction: column;
  --display: flex;
  display: flex !important;
  flex-direction: column !important;
  flex: none !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: var(--sg-about-col10) !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 0 105.5px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
.sg-about-note.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}
.sg-about-note .elementor-element,
.sg-about-note .elementor-widget,
.sg-about-note .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sg-about-note .elementor-widget-text-editor p {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  color: #212529 !important;
  margin: 0 0 17px !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
.sg-about-note em {
  font-style: italic !important;
  font-weight: 400 !important;
}
.sg-about-note strong {
  font-weight: 700 !important;
  font-style: italic !important;
}
@media (max-width: 767px) {
  .sg-about-note.e-con,
  .sg-about-note {
    --padding-bottom: 63.256px;
    padding: 0 0 63.256px !important;
  }
  .sg-about-note .elementor-widget-text-editor p {
    font-size: 15.504px !important;
    line-height: 23.256px !important;
    margin: 0 0 15.504px !important;
  }
}
/* === sg-about-note END === */
/* === sg-about-body START === */
.sg-about-body.e-con,
.sg-about-body {
  --flex-direction: row;
  --display: flex;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: var(--sg-about-gap) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 80px 0 0 var(--sg-about-approach-x) !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
.sg-about-body.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: var(--sg-about-gap) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
.sg-about-approach.e-con,
.sg-about-leadership.e-con {
  flex: 0 0 var(--sg-about-col-w) !important;
  width: var(--sg-about-col-w) !important;
  max-width: var(--sg-about-col-w) !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: flex-start !important;
  padding: 0 !important;
}
.sg-about-approach.e-con > .e-con-inner,
.sg-about-leadership.e-con > .e-con-inner {
  flex: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
}
@media (max-width: 767px) {
  .sg-about-body.e-con,
  .sg-about-body,
  .sg-about-body.e-con > .e-con-inner {
    flex-direction: column !important;
    gap: 40px !important;
    padding: 40px 20px 0 !important;
  }
  .sg-about-approach.e-con,
  .sg-about-leadership.e-con {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* Prod #about .about-box .subbox { padding-bottom: 40px }. After body padding:0. */
body.sg-about .sg-about-leadership.e-con {
  padding-bottom: 40px !important;
}
body.sg-about .sg-about-leadership.e-con > .e-con-inner {
  padding-bottom: 0 !important;
}
/* === sg-about-body END === */
/* === sg-blog tokens START === */
/* Production https://smartgifty.com/blog/ + single — measured 2026-08-18. Desktop = 1440. */
:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) {
  --sg-blog-hero-bg: #ffffff;
  --sg-blog-hero-clip: none;
  --sg-blog-privacy-w: 1400px;
  --sg-blog-privacy-pad: 80px 0;
  --sg-blog-col-pad: 0 12.75px;
  --sg-blog-h1-text: "Smart Blog";
  --sg-blog-h1-color: #2c007c;
  --sg-blog-h1-size: 60px;
  --sg-blog-h1-line: 66px;
  --sg-blog-h1-font: "Gilroy Extra Bold", sans-serif;
  --sg-blog-h1-pad: 0 0 40px;
  --sg-blog-h1-mb: 8.5px;
  --sg-blog-h1-x: 257.58px;
  --sg-blog-h1-w: 924.83px;
  --sg-blog-grid-x: 257.58px;
  --sg-blog-grid-w: 924.83px;
  --sg-blog-grid-cols: 3;
  --sg-blog-grid-gap: 53px 23px;
  --sg-blog-grid-row-gap: 53px;
  --sg-blog-grid-col-gap: 23px;
  --sg-blog-card-w: 292.94px;
  --sg-blog-card-h: 618.7px;
  --sg-blog-card-bg: #f2f2f2;
  --sg-blog-card-radius: 5px;
  --sg-blog-card-overflow: hidden;
  --sg-blog-img-w: 292.94px;
  --sg-blog-img-h: 175.75px;
  --sg-blog-img-fit: cover;
  --sg-blog-text-pad: 20px 25px;
  --sg-blog-title-size: 25px;
  --sg-blog-title-line: 33.75px;
  --sg-blog-title-color: #4527a4;
  --sg-blog-title-font: Roboto, sans-serif;
  --sg-blog-title-mb: 15px;
  --sg-blog-date-size: 13px;
  --sg-blog-date-line: 17.55px;
  --sg-blog-date-color: #333333;
  --sg-blog-date-icon-color: #4527a4;
  --sg-blog-date-mb: 15px;
  --sg-blog-excerpt-size: 15px;
  --sg-blog-excerpt-line: 20.25px;
  --sg-blog-excerpt-color: #333333;
  --sg-blog-excerpt-mb: 23px;
  --sg-blog-btn-bg: #f4a01a;
  --sg-blog-btn-color: #ffffff;
  --sg-blog-btn-size: 14px;
  --sg-blog-btn-line: 18.9px;
  --sg-blog-btn-pad: 15px 33px;
  --sg-blog-btn-radius: 3px;
  --sg-blog-btn-w: 150.58px;
  --sg-blog-btn-h: 48.91px;
  --sg-blog-overflow: 0;
  --sg-blog-col-w: 924.83px;
  --sg-blog-section-pad-y: 80px;
  --sg-blog-h1-pad-bottom: 40px;
  --sg-blog-h1-mar-bottom: 8.5px;
  --sg-blog-gap-row: 53px;
  --sg-blog-gap-col: 23px;
  --sg-blog-img-ratio: 60%;
  --sg-blog-body-pad: 20px 25px;
  --sg-blog-title-mar: 15px;
  --sg-blog-meta-size: 13px;
  --sg-blog-meta-color: #333333;
  --sg-blog-meta-icon: #4527a4;
  --sg-blog-excerpt-mar: 23px;
  --sg-blog-more-bg: #f4a01a;
  --sg-blog-more-color: #ffffff;
  --sg-blog-more-size: 14px;
  --sg-blog-more-pad: 15px 33px;
  --sg-blog-more-radius: 3px;
}

@media (min-width: 1920px) {
  :is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) {
    --sg-blog-privacy-w: 1440px;
    --sg-blog-h1-x: 484.25px;
    --sg-blog-h1-w: 951.5px;
    --sg-blog-grid-x: 484.25px;
    --sg-blog-grid-w: 951.5px;
    --sg-blog-card-w: 301.83px;
    --sg-blog-card-h: 590.3px;
    --sg-blog-img-w: 301.83px;
    --sg-blog-img-h: 181.09px;
    --sg-blog-col-w: 951.5px;
  }
}

@media (max-width: 767px) {
  :is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) {
    --sg-blog-privacy-w: 350px;
    --sg-blog-col-pad: 0 11.628px;
    --sg-blog-h1-x: 20px;
    --sg-blog-h1-w: 350px;
    --sg-blog-grid-x: 20px;
    --sg-blog-grid-w: 350px;
    --sg-blog-grid-cols: 1;
    --sg-blog-card-w: 350px;
    --sg-blog-card-h: 565.2px;
    --sg-blog-img-w: 350px;
    --sg-blog-img-h: 210px;
    --sg-blog-col-w: 350px;
    --sg-blog-section-pad-y: 80px;
  }
}

body.sg-single-post {
  --sg-single-h1-size: 51px;
  --sg-single-h1-line: 61.2px;
  --sg-single-h1-color: #414141;
  --sg-single-h1-font: "Gilroy Extra Bold", sans-serif;
  --sg-single-h1-x: 264.5px;
  --sg-single-h1-w: 911px;
  --sg-single-h1-mb: 10.2px;
  --sg-single-content-w: 911px;
  --sg-single-content-x: 264.5px;
  --sg-single-container-w: 951px;
  --sg-single-container-pad: 0 20px;
  --sg-single-meta-color: #f39704;
  --sg-single-meta-size: 17px;
  --sg-single-meta-line: 24.65px;
  --sg-single-h2-size: 30px;
  --sg-single-h2-line: 39px;
  --sg-single-h2-color: #414141;
  --sg-single-h2-mb: 20px;
  --sg-single-p-size: 17px;
  --sg-single-p-line: 25.5px;
  --sg-single-p-color: #212529;
  --sg-single-p-mb: 27.2px;
  --sg-single-ul-pad: 0 0 0 34px;
  --sg-single-ul-ml: 51px;
  --sg-single-ul-mb: 17px;
  --sg-single-overflow: 0;
}

@media (min-width: 1920px) {
  body.sg-single-post {
    --sg-single-h1-x: 504.5px;
    --sg-single-content-x: 504.5px;
  }
}

@media (max-width: 767px) {
  body.sg-single-post {
    --sg-single-h1-size: 30px;
    --sg-single-h1-line: 36px;
    --sg-single-h1-x: 20px;
    --sg-single-h1-w: 350px;
    --sg-single-h1-mb: 6px;
    --sg-single-content-w: 350px;
    --sg-single-content-x: 20px;
    --sg-single-container-w: 390px;
    --sg-single-meta-size: 15.504px;
    --sg-single-meta-line: 22.4808px;
    --sg-single-h2-size: 25px;
    --sg-single-h2-line: 32.5px;
    --sg-single-p-size: 15.504px;
    --sg-single-p-line: 23.256px;
    --sg-single-p-mb: 24.8064px;
    --sg-single-ul-pad: 0 0 0 31.008px;
    --sg-single-ul-ml: 46.512px;
    --sg-single-ul-mb: 15.504px;
  }
}
/* === sg-blog tokens END === */
/* === sg-blog-hero START === */
:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-hero.e-con,
:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-hero {
  --display: flex;
  --padding-block-start: var(--sg-blog-section-pad-y);
  --padding-block-end: 0px;
  --padding-inline-start: 20px;
  --padding-inline-end: 20px;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  background: var(--sg-blog-hero-bg, #ffffff) !important;
  padding: var(--sg-blog-section-pad-y) 20px 0 !important;
  margin: 0 !important;
  clip-path: var(--sg-blog-hero-clip, none) !important;
  overflow: visible !important;
  position: relative !important;
}

:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-hero.e-con > .e-con-inner,
:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-hero .elementor-widget-heading,
:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-hero .sg-blog-hero__title {
  max-width: var(--sg-blog-col-w) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
}

:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-hero .elementor-heading-title,
:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-hero h1 {
  font-family: var(--sg-blog-h1-font, "Gilroy Extra Bold", sans-serif) !important;
  font-size: var(--sg-blog-h1-size) !important;
  line-height: var(--sg-blog-h1-line) !important;
  color: var(--sg-blog-h1-color) !important;
  font-weight: 500 !important;
  text-align: left !important;
  padding: 0 0 var(--sg-blog-h1-pad-bottom) !important;
  margin: 0 0 var(--sg-blog-h1-mar-bottom) !important;
  width: 100% !important;
  max-width: var(--sg-blog-col-w) !important;
}
/* === sg-blog-hero END === */

/* === sg-blog-grid START === */
:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-grid.e-con,
:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-grid {
  --display: flex;
  --padding-block-start: 0px;
  --padding-block-end: var(--sg-blog-section-pad-y);
  --padding-inline-start: 20px;
  --padding-inline-end: 20px;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  background: #ffffff !important;
  padding: 0 20px var(--sg-blog-section-pad-y) !important;
  margin: 0 !important;
  overflow: visible !important;
}

:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-grid.e-con > .e-con-inner,
:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-grid .elementor-widget-shortcode,
:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-grid .elementor-widget-container,
:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-grid .elementor-shortcode,
:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-grid__posts {
  max-width: var(--sg-blog-grid-w) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
}

:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-grid__posts {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sg-blog-gap-row) var(--sg-blog-gap-col);
  align-items: stretch;
  box-sizing: border-box;
}

:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-card {
  display: block !important;
  background: var(--sg-blog-card-bg) !important;
  border-radius: var(--sg-blog-card-radius) !important;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
}

:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-card__thumb {
  position: relative;
  width: 100%;
  padding: 0 0 var(--sg-blog-img-ratio);
  margin: 0;
  overflow: hidden;
  height: 0;
}

:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-card__thumb a,
:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-card__thumb img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
}

:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-card__body {
  display: block;
  padding: var(--sg-blog-body-pad) !important;
  box-sizing: border-box;
}

:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-card__title {
  font-family: var(--sg-blog-title-font, Roboto, sans-serif) !important;
  font-size: var(--sg-blog-title-size) !important;
  line-height: var(--sg-blog-title-line) !important;
  font-weight: 400 !important;
  color: var(--sg-blog-title-color) !important;
  margin: 0 0 var(--sg-blog-title-mar) !important;
  padding: 0 !important;
}

:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-card__title a {
  display: inline-block !important;
  color: var(--sg-blog-title-color) !important;
  text-decoration: none !important;
}

:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-card__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: Archivo, sans-serif !important;
  font-size: var(--sg-blog-meta-size) !important;
  line-height: var(--sg-blog-date-line, 17.55px) !important;
  font-weight: 400 !important;
  color: var(--sg-blog-meta-color) !important;
  text-transform: uppercase;
  margin: 0 0 var(--sg-blog-date-mb, 15px) !important;
}

:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-card__meta .dashicons {
  font-size: 13px;
  line-height: 17.55px;
  width: 13px;
  height: 17.55px;
  color: var(--sg-blog-meta-icon) !important;
}

:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-card__excerpt {
  font-family: Archivo, sans-serif !important;
  font-size: var(--sg-blog-excerpt-size) !important;
  line-height: var(--sg-blog-excerpt-line) !important;
  font-weight: 400 !important;
  color: var(--sg-blog-excerpt-color) !important;
  margin: 0 0 var(--sg-blog-excerpt-mar) !important;
  -webkit-line-clamp: unset;
}

:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-card__more {
  text-align: center;
}

:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-card__more a {
  display: inline-block;
  background: var(--sg-blog-more-bg) !important;
  color: var(--sg-blog-more-color) !important;
  font-size: var(--sg-blog-more-size) !important;
  line-height: var(--sg-blog-btn-line, 18.9px) !important;
  font-weight: 600 !important;
  font-family: Archivo, sans-serif !important;
  text-transform: uppercase;
  text-decoration: none !important;
  padding: var(--sg-blog-more-pad) !important;
  border-radius: var(--sg-blog-more-radius) !important;
}

@media (max-width: 767px) {
  :is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-grid__posts {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  :is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .sg-blog-grid__posts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* === sg-blog-grid END === */

/* Match the production case-study archive's Bootstrap column widths at
   tablet and compact desktop sizes. Other editorial archives keep their own
   established breakpoints. */
@media (min-width: 768px) and (max-width: 1199px) {
  body.sg-case-studies .sg-blog-grid__posts {
    width: min(100%, calc(66.6667vw - 35px)) !important;
    max-width: calc(66.6667vw - 35px) !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  body.sg-case-studies .sg-blog-grid__posts {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* === sg-single-hero START === */
body.sg-single-post .elementor-location-single .sg-single.e-con,
body.sg-single-post .elementor-location-single .sg-single.e-con > .e-con-inner {
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 20px;
  --padding-inline-end: 20px;
  display: block !important;
  max-width: var(--sg-single-container-w) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: var(--sg-single-container-pad) !important;
  padding-block-start: 0 !important;
  padding-block-end: 0 !important;
  padding-inline-start: 20px !important;
  padding-inline-end: 20px !important;
  overflow-x: hidden;
}

body.sg-single-post article.sg-single {
  max-width: var(--sg-single-content-w) !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 68px 0 0 !important;
  box-sizing: border-box;
  overflow-x: hidden;
}

body.sg-single-post article.sg-single h1.sg-single__title {
  font-family: var(--sg-single-h1-font) !important;
  font-size: var(--sg-single-h1-size) !important;
  line-height: var(--sg-single-h1-line) !important;
  color: var(--sg-single-h1-color) !important;
  font-weight: 400 !important;
  margin: 0 0 var(--sg-single-h1-mb) !important;
  padding: 0 !important;
  max-width: var(--sg-single-h1-w) !important;
  width: 100% !important;
}

body.sg-single-post article.sg-single .sg-single__meta {
  font-family: Archivo, sans-serif !important;
  font-size: var(--sg-single-meta-size) !important;
  line-height: var(--sg-single-meta-line) !important;
  color: var(--sg-single-meta-color) !important;
  margin: 0 0 32px !important;
}

body.sg-single-post article.sg-single .sg-single__cat a,
body.sg-single-post article.sg-single .sg-single__by {
  font-family: Archivo, sans-serif !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: var(--sg-single-meta-color) !important;
  text-decoration: none !important;
}

body.sg-single-post article.sg-single .posted-on,
body.sg-single-post article.sg-single .post-thumbnail,
body.sg-single-post article.sg-single img.wp-post-image {
  display: none !important;
}

@media (max-width: 767px) {
  body.sg-single-post article.sg-single {
    padding: 23px 0 0 !important;
  }
}
/* === sg-single-hero END === */

/* === sg-single-content START === */
body.sg-single-post .sg-single__content {
  font-family: Archivo, sans-serif;
  font-size: var(--sg-single-p-size);
  line-height: var(--sg-single-p-line);
  color: var(--sg-single-p-color);
  max-width: var(--sg-single-content-w);
  width: 100%;
}

body.sg-single-post .sg-single__content h2,
body.sg-single-post .sg-single__content h2.wp-block-heading {
  font-family: "Gilroy Extra Bold", sans-serif;
  font-size: var(--sg-single-h2-size) !important;
  line-height: var(--sg-single-h2-line) !important;
  color: var(--sg-single-h2-color) !important;
  font-weight: 500 !important;
  margin: 0 0 var(--sg-single-h2-mb) !important;
  max-width: 100%;
  width: 100%;
}

body.sg-single-post .sg-single__content p,
body.sg-single-post .sg-single__content p.wp-block-paragraph {
  font-family: Archivo, sans-serif !important;
  font-size: var(--sg-single-p-size) !important;
  line-height: var(--sg-single-p-line) !important;
  font-weight: 400 !important;
  color: var(--sg-single-p-color) !important;
  margin: 0 0 var(--sg-single-p-mb) !important;
  max-width: 100%;
}

body.sg-single-post .sg-single__content ul,
body.sg-single-post .sg-single__content ul.wp-block-list {
  font-family: Archivo, sans-serif !important;
  font-size: var(--sg-single-p-size) !important;
  line-height: var(--sg-single-p-line) !important;
  font-weight: 400 !important;
  color: var(--sg-single-p-color) !important;
  list-style: disc outside none;
  padding: var(--sg-single-ul-pad) !important;
  margin: 0 0 var(--sg-single-ul-mb) var(--sg-single-ul-ml) !important;
  max-width: none;
  box-sizing: border-box;
}

body.sg-single-post .sg-single__content ul li {
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.sg-single-post .elementor-widget-theme-post-content,
body.sg-single-post .elementor-element-sgsngcnt,
body.sg-single-post .elementor-element-sgsngnav {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--sg-single-content-w) !important;
  width: 100% !important;
}

body.sg-single-post .elementor-widget-theme-post-content > .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}
/* === sg-single-content END === */

/* === sg-single-nav START === */
body.sg-single-post nav.post-navigation {
  --sg-single-nav-color: #f39704;
  max-width: var(--sg-single-content-w) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 34px 0 80px !important;
  border-top: 1px solid #eeeeee !important;
  border-bottom: 0 !important;
  overflow: hidden;
  box-sizing: border-box;
}

body.sg-single-post .post-navigation .nav-links {
  display: flex !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.sg-single-post .post-navigation .nav-previous,
body.sg-single-post .post-navigation .nav-next {
  flex: 1 1 auto !important;
  width: 50% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--sg-single-nav-color) !important;
}

body.sg-single-post .post-navigation .nav-previous {
  text-align: start !important;
}

body.sg-single-post .post-navigation .nav-next {
  text-align: right !important;
}

body.sg-single-post .post-navigation a {
  display: inline-block !important;
  color: var(--sg-single-nav-color) !important;
  font-family: Archivo, sans-serif !important;
  font-size: 18.1332px !important;
  font-weight: 400 !important;
  line-height: 39.3108px !important;
  padding: 0 27.1998px !important;
  margin: 2px !important;
  text-align: center !important;
  text-decoration: underline !important;
  text-transform: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.sg-single-post .post-navigation a:hover,
body.sg-single-post .post-navigation a:focus {
  color: var(--sg-single-nav-color) !important;
  text-decoration: underline !important;
}

@media (max-width: 544px) {
  body.sg-single-post nav.post-navigation {
    padding: 23.256px 0 50px !important;
  }

  body.sg-single-post .post-navigation .nav-links {
    display: block !important;
  }

  body.sg-single-post .post-navigation .nav-previous,
  body.sg-single-post .post-navigation .nav-next {
    display: inline-block !important;
    width: 100% !important;
  }

  body.sg-single-post .post-navigation .nav-previous {
    margin-bottom: 15.504px !important;
  }

  body.sg-single-post .post-navigation a {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}
/* === sg-single-nav END === */

/* === sg-contact tokens START === */
/* Production https://smartgifty.com/contact/ — A2 rhythms. Desktop = 1440. */
body.sg-contact {
  --sg-contact-hero-bg: #2c007c;
  --sg-contact-hero-clip: none;
  --sg-contact-hero-svg-d: "M0 0 L20 80 L100 0 Z";
  --sg-contact-hero-svg-h: 100px;
  --sg-contact-hero-h: 396px;
  --sg-contact-hero-wrapper-h: 297px;
  --sg-contact-hero-pad: 80px 0;
  --sg-contact-h1-size: 60px;
  --sg-contact-h1-line: 60px;
  --sg-contact-h1-color: #ffffff;
  --sg-contact-h1-x: 138.78px;
  --sg-contact-h2-size: 30px;
  --sg-contact-h2-line: 60px;
  --sg-contact-col-w: 687.25px;
  --sg-contact-col-x: 376.38px;
  --sg-contact-form-pad: 80px 0;
  --sg-contact-page-pad-bottom: 80px;
  --sg-contact-h3-size: 30px;
  --sg-contact-h3-line: 40px;
  --sg-contact-h3-color: #414141;
  --sg-contact-input-h: 55px;
  --sg-contact-input-radius: 12px;
  --sg-contact-input-border: 2px solid #f39704;
  --sg-contact-input-color: #f39704;
  --sg-contact-label-color: #2c007c;
  --sg-contact-btn-w: 230px;
  --sg-contact-btn-h: 59px;
  --sg-contact-btn-pad: 16px 0;
  --sg-contact-btn-radius: 12px;
  --sg-contact-btn-size: 18px;
  --sg-contact-btn-line: 27px;
  --sg-contact-btn-orange: #f39704;
  --sg-contact-btn-purple: #592ddf;
}

@media (min-width: 1920px) {
  body.sg-contact {
    --sg-contact-col-w: 707.25px;
    --sg-contact-col-x: 606.38px;
    --sg-contact-h1-x: 362.13px;
  }
}

@media (max-width: 767px) {
  body.sg-contact {
    --sg-contact-hero-h: 348.5px;
    --sg-contact-hero-wrapper-h: 250.5px;
    --sg-contact-hero-pad: 50px 0;
    --sg-contact-h1-size: 45px;
    --sg-contact-h1-line: 45px;
    --sg-contact-h1-x: 20px;
    --sg-contact-h2-size: 45px;
    --sg-contact-h2-line: 45px;
    --sg-contact-col-w: 350px;
    --sg-contact-col-x: 20px;
    --sg-contact-h3-size: 26px;
    --sg-contact-h3-line: 26px;
    --sg-contact-input-h: 50.5px;
    --sg-contact-btn-w: 350px;
  }
}
/* === sg-contact tokens END === */

/* === sg-contact-hero START === */
body.sg-contact .sg-contact-hero.e-con,
body.sg-contact .sg-contact-hero.e-con > .e-con-inner {
  --display: flex;
  --flex-direction: column;
  --gap: 0px;
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  clip-path: var(--sg-contact-hero-clip, none) !important;
  -webkit-clip-path: var(--sg-contact-hero-clip, none) !important;
  background-color: transparent !important;
  background-image: none !important;
}
body.sg-contact .sg-contact-hero.e-con {
  height: var(--sg-contact-hero-h) !important;
  min-height: var(--sg-contact-hero-h) !important;
  padding: var(--sg-contact-hero-pad) !important;
  margin: 0 !important;
}
body.sg-contact .sg-contact-hero.e-con > .e-con-inner {
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.sg-contact .sg-contact-hero.e-con::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: var(--sg-contact-hero-wrapper-h);
  background: var(--sg-contact-hero-bg);
  z-index: 0;
  pointer-events: none;
}
body.sg-contact .sg-contact-hero .elementor-widget-heading {
  position: relative;
  z-index: 1;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  align-self: stretch !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: var(--sg-contact-h1-x) !important;
  margin-right: max(20px, calc((100vw - 1480px) / 2 + 20px)) !important;
  padding: 0 !important;
  --margin-block-start: 0px;
  --margin-block-end: 0px;
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
}
body.sg-contact .sg-contact-hero .elementor-widget-heading .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}
body.sg-contact .sg-contact-hero h1,
body.sg-contact .sg-contact-hero h1.elementor-heading-title {
  font-family: "Gilroy Extra Bold", "DM Sans", sans-serif !important;
  font-size: var(--sg-contact-h1-size) !important;
  line-height: var(--sg-contact-h1-line) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  color: var(--sg-contact-h1-color) !important;
  text-align: left !important;
  margin: 0 0 8.5px !important;
  padding: 0 !important;
  width: 100% !important;
}
body.sg-contact .sg-contact-hero h2,
body.sg-contact .sg-contact-hero h2.elementor-heading-title {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: var(--sg-contact-h2-size) !important;
  line-height: var(--sg-contact-h2-line) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  color: var(--sg-contact-h1-color) !important;
  text-align: left !important;
  margin: 0 0 8.5px !important;
  padding: 0 !important;
  width: 100% !important;
}
body.sg-contact .sg-contact-hero .elementor-widget-html,
body.sg-contact .sg-contact-hero .elementor-widget-html .elementor-widget-container {
  display: contents;
}
body.sg-contact .sg-contact-hero__triangle {
  position: absolute;
  left: 0;
  top: calc(var(--sg-contact-hero-wrapper-h) - 1px);
  width: 100%;
  height: var(--sg-contact-hero-svg-h);
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
  line-height: 0;
}
body.sg-contact .sg-contact-hero__triangle svg {
  display: block;
  width: 100%;
  height: 100%;
}
body.sg-contact .sg-contact-hero__triangle path {
  fill: var(--sg-contact-hero-bg);
}
@media (max-width: 767px) {
  body.sg-contact .sg-contact-hero h1,
  body.sg-contact .sg-contact-hero h1.elementor-heading-title,
  body.sg-contact .sg-contact-hero h2,
  body.sg-contact .sg-contact-hero h2.elementor-heading-title {
    margin: 0 0 7.752px !important;
  }
  body.sg-contact .sg-contact-hero h2,
  body.sg-contact .sg-contact-hero h2.elementor-heading-title {
    padding-right: 0 !important;
  }
  body.sg-contact .sg-contact-hero__triangle {
    top: calc(var(--sg-contact-hero-wrapper-h) - 2px);
  }
}
/* === sg-contact-hero END === */

/* === sg-contact-col START === */
body.sg-contact {
  overflow-x: clip;
  max-width: 100%;
}
/* Page canvas only — Theme Builder header/footer are also `.elementor`. */
body.sg-contact .elementor:not(.elementor-location-header):not(.elementor-location-footer) {
  overflow-x: clip;
  max-width: 100%;
  padding-bottom: var(--sg-contact-page-pad-bottom) !important;
}
body.sg-contact .sg-contact-form.e-con,
body.sg-contact .sg-contact-direct.e-con {
  --content-width: 100%;
  --gap: 0px;
  --row-gap: 0px;
  --widgets-spacing: 0px;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  row-gap: 0 !important;
  width: var(--sg-contact-col-w) !important;
  max-width: var(--sg-contact-col-w) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  overflow-x: clip !important;
  box-sizing: border-box !important;
}
body.sg-contact .sg-contact-form.e-con > .e-con-inner,
body.sg-contact .sg-contact-direct.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  row-gap: 0 !important;
  --gap: 0px;
  --row-gap: 0px;
  --widgets-spacing: 0px;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip !important;
  box-sizing: border-box !important;
}
body.sg-contact .sg-contact-form .elementor-widget-heading,
body.sg-contact .sg-contact-form .elementor-widget-form,
body.sg-contact .sg-contact-direct .elementor-widget-heading,
body.sg-contact .sg-contact-direct .elementor-widget-button,
body.sg-contact .sg-contact-direct .elementor-widget-text-editor {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
body.sg-contact .sg-contact-form .elementor-widget-container,
body.sg-contact .sg-contact-direct .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
body.sg-contact .sg-contact-form h3,
body.sg-contact .sg-contact-form h3.elementor-heading-title,
body.sg-contact .sg-contact-direct h3,
body.sg-contact .sg-contact-direct h3.elementor-heading-title {
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: var(--sg-contact-h3-size) !important;
  line-height: var(--sg-contact-h3-line) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  color: var(--sg-contact-h3-color) !important;
  text-align: left !important;
  margin: 0 0 8.5px !important;
  padding: 0 !important;
  width: 100% !important;
}
body.sg-contact .sg-contact-form .elementor-widget-form {
  padding: var(--sg-contact-form-pad) !important;
  /* Prod .contact-form h 923.56 @1440 (80 pad + fields + ~20 after Send). */
  min-height: 923.56px !important;
  box-sizing: border-box !important;
}
body.sg-contact .sg-contact-form .elementor-form {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
body.sg-contact .sg-contact-direct .elementor-button-wrapper {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
}
body.sg-contact .sg-contact-direct .sg-button-orange .elementor-button,
body.sg-contact .sg-contact-direct .sg-button-purple .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: var(--sg-contact-btn-w) !important;
  min-width: var(--sg-contact-btn-w) !important;
  max-width: 100% !important;
  height: var(--sg-contact-btn-h) !important;
  min-height: var(--sg-contact-btn-h) !important;
  padding: var(--sg-contact-btn-pad) !important;
  border: 0 !important;
  border-radius: var(--sg-contact-btn-radius) !important;
  font-family: Archivo, sans-serif !important;
  font-size: var(--sg-contact-btn-size) !important;
  line-height: var(--sg-contact-btn-line) !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  box-shadow: none !important;
  text-align: center !important;
}
body.sg-contact .sg-contact-direct .sg-button-orange .elementor-button {
  background: var(--sg-contact-btn-orange) !important;
}
body.sg-contact .sg-contact-direct .sg-button-purple .elementor-button {
  background: var(--sg-contact-btn-purple) !important;
}
body.sg-contact .sg-contact-direct__whichever p {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  color: #414141 !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 0 40px !important;
  width: 100% !important;
}
@media (max-width: 767px) {
  body.sg-contact .sg-contact-direct .sg-button-orange .elementor-button,
  body.sg-contact .sg-contact-direct .sg-button-purple .elementor-button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}
/* === sg-contact-col END === */

/* === sg-contact-form START === */
body.sg-contact .sg-contact-form {
  --sg-contact-gutter: 25.5px;
  --sg-contact-half-input-w: calc((var(--sg-contact-col-w) - 25.5px) / 2 * 0.97);
  --sg-contact-select-w: calc(var(--sg-contact-col-w) * 0.47);
}
body.sg-contact .sg-contact-form .elementor-form-fields-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  column-gap: 25.5px !important;
  row-gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
body.sg-contact .sg-contact-form .elementor-field-group {
  flex: 0 0 auto !important;
  padding: 0 !important;
  margin: 0 0 37.4px !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
}
body.sg-contact .sg-contact-form .elementor-field-group.elementor-col-50 {
  width: calc((100% - var(--sg-contact-gutter)) / 2) !important;
}
body.sg-contact .sg-contact-form .elementor-field-group.elementor-col-100 {
  width: 100% !important;
}
body.sg-contact .sg-contact-form .elementor-field-type-select.elementor-col-50 {
  width: calc((100% - 25.5px) / 2) !important;
}
body.sg-contact .sg-contact-form .elementor-field-label {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  font-weight: 400 !important;
  color: #2c007c !important;
}
body.sg-contact .sg-contact-form .elementor-field-label:empty,
body.sg-contact .sg-contact-form .elementor-field-required .elementor-field-label:after {
  display: none !important;
  content: none !important;
}
body.sg-contact .sg-contact-form .elementor-field-group input[type="text"],
body.sg-contact .sg-contact-form .elementor-field-group input[type="email"],
body.sg-contact .sg-contact-form .elementor-field-group textarea.elementor-field,
body.sg-contact .sg-contact-form .elementor-field-group select {
  display: inline-block !important;
  box-sizing: border-box !important;
  width: var(--sg-contact-half-input-w) !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 55px !important;
  margin: 0 !important;
  padding: 12.75px !important;
  border: 2px solid #f39704 !important;
  border-radius: 12px !important;
  background-color: #ffffff !important;
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  font-weight: 400 !important;
  color: #f39704 !important;
  box-shadow: none !important;
  outline: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
body.sg-contact .sg-contact-form .elementor-field-type-textarea {
  /* Prod CF7 Message <label> wrap is 208.5 (=25.5 label + 150 textarea + 33 mb). */
  margin-bottom: 33px !important;
}
body.sg-contact .sg-contact-form .elementor-field-group textarea.elementor-field,
body.sg-contact .sg-contact-form .elementor-field-type-textarea .elementor-field-textual {
  width: 100% !important;
  max-width: 100% !important;
  height: 150px !important;
  min-height: 150px !important;
  max-height: 150px !important;
  resize: none !important;
}
body.sg-contact .sg-contact-form .elementor-field-group .elementor-select-wrapper.elementor-field,
body.sg-contact .sg-contact-form .elementor-field-type-select .elementor-select-wrapper {
  display: block !important;
  width: var(--sg-contact-select-w) !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}
body.sg-contact .sg-contact-form .elementor-select-wrapper:before,
body.sg-contact .sg-contact-form .elementor-select-wrapper:after,
body.sg-contact .sg-contact-form .select-caret-down-wrapper {
  display: none !important;
  content: none !important;
}
body.sg-contact .sg-contact-form .elementor-field-type-select select,
body.sg-contact .sg-contact-form .elementor-select-wrapper select {
  width: 100% !important;
  max-width: 100% !important;
  cursor: pointer !important;
  background-color: transparent !important;
  background-image: url("assets/graphics/arrow_down.png") !important;
  background-repeat: no-repeat !important;
  background-position: 97% 50% !important;
  background-size: 25px auto !important;
}
body.sg-contact .sg-contact-form .elementor-field-type-acceptance {
  margin-bottom: 25.5px !important;
}
body.sg-contact .sg-contact-form .elementor-field-type-acceptance:has(+ .elementor-field-type-html) {
  /* Prod gap checkbox→mandatory ≈17–20px (local was 25.5). */
  margin-bottom: 17px !important;
}
body.sg-contact .sg-contact-form .elementor-field-type-acceptance .elementor-field-subgroup {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.sg-contact .sg-contact-form .elementor-field-type-acceptance .elementor-field-option {
  display: block !important;
  width: auto !important;
  margin: 0 0 0 17px !important;
  padding: 0 !important;
}
body.sg-contact .sg-contact-form .elementor-field-type-acceptance label {
  display: inline !important;
  width: auto !important;
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  font-weight: 400 !important;
  color: #2c007c !important;
}
body.sg-contact .sg-contact-form .elementor-field-type-acceptance input[type="checkbox"],
body.sg-contact .elementor-element-sgcntffm .elementor-field-type-acceptance input[type="checkbox"] {
  display: inline-block !important;
  width: 1.4em !important;
  min-width: 1.4em !important;
  max-width: 1.4em !important;
  height: 1.2em !important;
  font-size: 17px !important;
  margin: -3px 4px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0.2em !important;
  background: #e9eef2 !important;
  background-image: none !important;
  appearance: auto !important;
  -webkit-appearance: auto !important;
  vertical-align: middle !important;
  color: #555555 !important;
  box-shadow: none !important;
}
body.sg-contact .sg-contact-form .elementor-field-type-acceptance a {
  color: #f39704 !important;
  text-decoration: underline !important;
}
body.sg-contact .sg-contact-form .elementor-field-type-html {
  /* Prod mandatory <p> margin-bottom 17px; submit floats beside it. */
  margin: 0 0 17px !important;
  padding: 0 !important;
  width: 100% !important;
}
body.sg-contact .sg-contact-form .elementor-field-type-html p,
body.sg-contact .sg-contact-form .elementor-field-type-html .elementor-field-html {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  color: #212529 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
body.sg-contact .sg-contact-form .elementor-field-type-submit {
  /* CF7: Send float:right starts ~1 line below mandatory text top. */
  width: 100% !important;
  margin: -17px 0 0 !important;
  padding: 0 !important;
  text-align: right !important;
  overflow: visible !important;
}
body.sg-contact .sg-contact-form .elementor-button[type="submit"],
body.sg-contact .sg-contact-form .elementor-field-type-submit .elementor-button {
  display: inline-block !important;
  float: right !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 0 !important;
  height: 62px !important;
  min-height: 62px !important;
  padding: 20px 120px 20px 102px !important;
  border: 2px solid #f39704 !important;
  border-radius: 12px !important;
  background: #f39704 !important;
  font-family: Archivo, sans-serif !important;
  font-size: 18px !important;
  line-height: 18px !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  text-align: center !important;
  text-shadow: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.sg-contact .sg-contact-form .elementor-button[type="submit"] .elementor-button-content-wrapper,
body.sg-contact .sg-contact-form .elementor-field-type-submit .elementor-button .elementor-button-content-wrapper {
  display: inline !important;
  width: auto !important;
}
body.sg-contact .sg-contact-form .elementor-button[type="submit"] .elementor-button-text,
body.sg-contact .sg-contact-form .elementor-field-type-submit .elementor-button .elementor-button-text {
  font-family: Archivo, sans-serif !important;
  font-size: 18px !important;
  line-height: 18px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  color: #ffffff !important;
}
body.sg-contact .sg-contact-form .elementor-button[type="submit"] .elementor-button-icon,
body.sg-contact .sg-contact-form .elementor-form .elementor-message {
  display: none !important;
}
body.sg-contact .elementor-element-sgcntffm.elementor-widget-form .elementor-col-50 > input[type="text"],
body.sg-contact .elementor-element-sgcntffm.elementor-widget-form .elementor-col-50 > input[type="email"],
body.sg-contact .elementor-element-sgcntffm .elementor-field-group.elementor-col-50 input[type="text"],
body.sg-contact .elementor-element-sgcntffm .elementor-field-group.elementor-col-50 input[type="email"] {
  width: var(--sg-contact-half-input-w) !important;
  max-width: var(--sg-contact-half-input-w) !important;
}
body.sg-contact .elementor-element-sgcntffm .elementor-field-type-select .elementor-select-wrapper {
  width: var(--sg-contact-select-w) !important;
  max-width: var(--sg-contact-select-w) !important;
}
body.sg-contact .elementor-element-sgcntffm .elementor-field-type-select select.elementor-field-textual {
  width: var(--sg-contact-select-w) !important;
  max-width: var(--sg-contact-select-w) !important;
  background-color: transparent !important;
  background-image: url("assets/graphics/arrow_down.png") !important;
  background-repeat: no-repeat !important;
  background-position: 97% 50% !important;
  background-size: 25px auto !important;
}
body.sg-contact .elementor-element-sgcntffm .elementor-field-type-html,
body.sg-contact .elementor-element-sgcntffm .elementor-field-type-html p,
body.sg-contact .elementor-element-sgcntffm .elementor-field-type-html .elementor-field-html {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  color: #212529 !important;
}
@media (max-width: 767px) {
  body.sg-contact .sg-contact-form .elementor-form-fields-wrapper {
    column-gap: 0 !important;
  }
  body.sg-contact .sg-contact-form .elementor-field-group,
  body.sg-contact .sg-contact-form .elementor-field-group.elementor-col-50,
  body.sg-contact .sg-contact-form .elementor-field-group.elementor-col-100,
  body.sg-contact .sg-contact-form .elementor-field-type-select.elementor-col-50 {
    width: 100% !important;
  }
  body.sg-contact .sg-contact-form .elementor-field-label,
  body.sg-contact .sg-contact-form .elementor-field-type-acceptance label,
  body.sg-contact .sg-contact-form .elementor-field-type-html p,
  body.sg-contact .sg-contact-form .elementor-field-type-html .elementor-field-html {
    font-size: 15.504px !important;
    line-height: 23.256px !important;
  }
  body.sg-contact .sg-contact-form input[type="text"],
  body.sg-contact .sg-contact-form input[type="email"],
  body.sg-contact .sg-contact-form select.elementor-field,
  body.sg-contact .sg-contact-form textarea.elementor-field,
  body.sg-contact .sg-contact-form select.elementor-field-textual {
    width: 100% !important;
    height: 50.5px !important;
    padding: 11.628px !important;
    font-size: 15.504px !important;
    line-height: 23.256px !important;
  }
  body.sg-contact .sg-contact-form textarea.elementor-field {
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
  }
  body.sg-contact .sg-contact-form .elementor-select-wrapper {
    width: 100% !important;
  }
  body.sg-contact .sg-contact-form .elementor-field-type-submit {
    text-align: left !important;
  }
  body.sg-contact .sg-contact-form .elementor-button[type="submit"],
  body.sg-contact .sg-contact-form .elementor-field-type-submit .elementor-button {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 62px !important;
    padding: 20px 0 !important;
  }
  body.sg-contact .elementor-element-sgcntffm.elementor-widget-form .elementor-col-50 > input[type="text"],
  body.sg-contact .elementor-element-sgcntffm.elementor-widget-form .elementor-col-50 > input[type="email"],
  body.sg-contact .elementor-element-sgcntffm .elementor-field-group.elementor-col-50 input[type="text"],
  body.sg-contact .elementor-element-sgcntffm .elementor-field-group.elementor-col-50 input[type="email"],
  body.sg-contact .elementor-element-sgcntffm .elementor-field-type-select .elementor-select-wrapper,
  body.sg-contact .elementor-element-sgcntffm .elementor-field-type-select select.elementor-field-textual,
  body.sg-contact .elementor-element-sgcntffm .elementor-field-group input[type="text"],
  body.sg-contact .elementor-element-sgcntffm .elementor-field-group input[type="email"],
  body.sg-contact .elementor-element-sgcntffm .elementor-field-group textarea.elementor-field,
  body.sg-contact .elementor-element-sgcntffm .elementor-field-group select {
    width: 100% !important;
    max-width: 100% !important;
    height: 50.5px !important;
    padding: 11.628px !important;
    font-size: 15.504px !important;
    line-height: 23.256px !important;
  }
  body.sg-contact .elementor-element-sgcntffm .elementor-field-group textarea.elementor-field,
  body.sg-contact .elementor-element-sgcntffm .elementor-field-type-textarea .elementor-field-textual {
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
  }
  body.sg-contact .elementor-element-sgcntffm .elementor-field-type-html,
  body.sg-contact .elementor-element-sgcntffm .elementor-field-type-html p,
  body.sg-contact .elementor-element-sgcntffm .elementor-field-type-html .elementor-field-html {
    font-size: 15.504px !important;
    line-height: 23.256px !important;
  }
}
/* === sg-contact-form END === */

/* === sg-contact-direct START === */
body.sg-contact .sg-contact-direct.e-con,
body.sg-contact .sg-contact-direct.e-con > .e-con-inner {
  gap: 0 !important;
  row-gap: 0 !important;
  --gap: 0px;
  --row-gap: 0px;
  --widgets-spacing: 0px;
}
body.sg-contact .sg-contact-direct .elementor-widget-button.sg-button-orange {
  margin-bottom: 25.5px !important;
}
body.sg-contact .sg-contact-direct .elementor-widget-text-editor.sg-contact-direct__whichever {
  margin-bottom: 25.5px !important;
}
@media (max-width: 767px) {
  body.sg-contact .sg-contact-direct .elementor-widget-button.sg-button-orange,
  body.sg-contact .sg-contact-direct .elementor-widget-text-editor.sg-contact-direct__whichever {
    margin-bottom: 23.256px !important;
  }
}
/* === sg-contact-direct END === */

/* ═══════════════════════════════════════════════════
   GET YOUR DEMO PAGE  (body.sg-get-demo)
   ═══════════════════════════════════════════════════ */
/* Production https://smartgifty.com/get-your-demo/ — A2 rhythms. Desktop = 1440px. */
body.sg-get-demo {
  --sg-demo-col-pad: 20px; /* prilagodi glede na meritve */
  --sg-demo-primary: #4214cf;
  --sg-demo-accent: #f39704;
  --sg-demo-dark: #120033;
  --sg-demo-form-bg: #ffffff;
  --sg-demo-input-border: 2px solid #f39704;
  --sg-demo-input-radius: 12px;
  --sg-demo-btn-radius: 12px;
}

/* Scoped header padding fix (enako kot pri contact strani) */
body.sg-get-demo .elementor:not(.elementor-location-header):not(.elementor-location-footer) {
  padding-bottom: 0 !important;
}

/* Elementor --display empty → display:inline (CSS initial). Force flex like contact. */
body.sg-get-demo .sg-demo-hero.e-con,
body.sg-get-demo .sg-demo-hero-triangle.e-con,
body.sg-get-demo .sg-demo-intro.e-con,
body.sg-get-demo .sg-demo-form.e-con,
body.sg-get-demo .sg-demo-contact.e-con {
  --display: flex !important;
  display: flex !important;
  flex-direction: column !important;
}

/* ═══ DEMO INTRO ═══ */
body.sg-get-demo .sg-demo-intro.e-con {
  background-color: #ffffff !important;
  padding-top: 60px !important;
  padding-bottom: 80px !important;
  padding-left: 376px !important;
  padding-right: 376px !important;
  max-width: 100% !important;
  /* Prod .upper-text margin-bottom 17px before .contact-form */
  margin-bottom: 17px !important;
}
body.sg-get-demo .sg-demo-intro p,
body.sg-get-demo .sg-demo-intro .elementor-widget-text-editor p {
  color: #414141 !important;
  font-size: 17px !important;
  font-style: normal !important;
  text-align: left !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* ═══ DEMO FORM ═══ */
body.sg-get-demo .sg-demo-form.e-con {
  background-color: #ffffff !important;
  padding-top: 0 !important;
  /* Prod .contact-form h=917.34 already includes pb 80 — do not add another 80 here. */
  padding-bottom: 0 !important;
  padding-left: 376px !important;
  padding-right: 376px !important;
  max-width: 100% !important;
}

/* === sg-demo-form START (prod CF7 parity @1440) === */
body.sg-get-demo .sg-demo-form {
  --sg-demo-col-w: 687.25px;
  --sg-demo-gutter: 25.5px;
  --sg-demo-half-input-w: calc((var(--sg-demo-col-w) - 25.5px) / 2 * 0.97);
  --sg-demo-select-w: calc(var(--sg-demo-col-w) * 0.47);
}

body.sg-get-demo .sg-demo-form .elementor-widget-form {
  width: 100% !important;
  max-width: var(--sg-demo-col-w) !important;
  min-height: 917.34px !important;
  box-sizing: border-box !important;
}

body.sg-get-demo .sg-demo-form .elementor-form-fields-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  column-gap: 25.5px !important;
  row-gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-group {
  flex: 0 0 auto !important;
  padding: 0 !important;
  /* Prod CF7 rows: ~97.5 content + 20.4 mb ≈ 37.4 under 80.5 field groups. */
  margin: 0 0 37.4px !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-group.elementor-col-50 {
  width: calc((100% - var(--sg-demo-gutter)) / 2) !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-group.elementor-col-100 {
  width: 100% !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-label {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  color: #2c007c !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-label:empty,
body.sg-get-demo .sg-demo-form .elementor-field-required .elementor-field-label:after {
  display: none !important;
  content: none !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-group input[type="text"],
body.sg-get-demo .sg-demo-form .elementor-field-group input[type="email"],
body.sg-get-demo .sg-demo-form .elementor-field-group input[type="tel"],
body.sg-get-demo .sg-demo-form .elementor-field-group textarea.elementor-field,
body.sg-get-demo .sg-demo-form .elementor-field-group select {
  display: inline-block !important;
  box-sizing: border-box !important;
  width: var(--sg-demo-half-input-w) !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 55px !important;
  margin: 0 !important;
  padding: 12.75px !important;
  border: 2px solid #f39704 !important;
  border-radius: 12px !important;
  background-color: #ffffff !important;
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  color: #f39704 !important;
  box-shadow: none !important;
  outline: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-type-textarea {
  /* Override 37.4; prod r5 packs message+consent (~293.5) before mandatory. */
  margin-bottom: 33px !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-group textarea.elementor-field,
body.sg-get-demo .sg-demo-form .elementor-field-type-textarea .elementor-field-textual {
  width: 100% !important;
  max-width: 100% !important;
  height: 150px !important;
  min-height: 150px !important;
  max-height: 150px !important;
  resize: none !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-group .elementor-select-wrapper.elementor-field,
body.sg-get-demo .sg-demo-form .elementor-field-type-select .elementor-select-wrapper {
  display: block !important;
  width: var(--sg-demo-select-w) !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}

body.sg-get-demo .sg-demo-form .elementor-select-wrapper:before,
body.sg-get-demo .sg-demo-form .elementor-select-wrapper:after,
body.sg-get-demo .sg-demo-form .select-caret-down-wrapper {
  display: none !important;
  content: none !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-type-select select,
body.sg-get-demo .sg-demo-form .elementor-select-wrapper select {
  width: 100% !important;
  max-width: 100% !important;
  cursor: pointer !important;
  background-color: transparent !important;
  background-image: url("assets/graphics/arrow_down.png") !important;
  background-repeat: no-repeat !important;
  background-position: 97% 50% !important;
  background-size: 25px auto !important;
  padding: 12.75px !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-type-acceptance {
  margin-bottom: 17px !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-type-acceptance .elementor-field-subgroup {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-type-acceptance .elementor-field-option {
  display: block !important;
  width: auto !important;
  margin: 0 0 0 17px !important;
  padding: 0 !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-type-acceptance label,
body.sg-get-demo .sg-demo-form .elementor-field-type-acceptance span,
body.sg-get-demo .sg-demo-form .elementor-field-type-acceptance .elementor-field-label {
  display: inline !important;
  width: auto !important;
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  color: #2c007c !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-type-acceptance input[type="checkbox"] {
  display: inline-block !important;
  width: 1.4em !important;
  min-width: 1.4em !important;
  max-width: 1.4em !important;
  height: 1.2em !important;
  font-size: 17px !important;
  margin: -3px 4px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0.2em !important;
  background: #e9eef2 !important;
  appearance: auto !important;
  -webkit-appearance: auto !important;
  vertical-align: middle !important;
  box-shadow: none !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-type-html {
  margin: 0 0 17px !important;
  padding: 0 !important;
  width: 100% !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-type-html p,
body.sg-get-demo .sg-demo-form .elementor-field-type-html .elementor-field-html {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  color: #212529 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

body.sg-get-demo .sg-demo-form .elementor-field-type-submit {
  width: 100% !important;
  margin: -17px 0 0 !important;
  padding: 0 !important;
  text-align: right !important;
  overflow: visible !important;
}

body.sg-get-demo .sg-demo-form .elementor-button[type="submit"],
body.sg-get-demo .sg-demo-form .elementor-field-type-submit .elementor-button {
  display: inline-block !important;
  float: right !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 0 !important;
  height: 62px !important;
  min-height: 62px !important;
  padding: 20px 120px 20px 102px !important;
  border: 2px solid #f39704 !important;
  border-radius: 12px !important;
  background: #f39704 !important;
  font-family: Archivo, sans-serif !important;
  font-size: 18px !important;
  line-height: 18px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  color: #ffffff !important;
  text-align: center !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.sg-get-demo .sg-demo-form .elementor-button[type="submit"] .elementor-button-content-wrapper,
body.sg-get-demo .sg-demo-form .elementor-field-type-submit .elementor-button .elementor-button-content-wrapper {
  display: inline !important;
  width: auto !important;
}

body.sg-get-demo .sg-demo-form input[type="text"]:focus,
body.sg-get-demo .sg-demo-form input[type="email"]:focus,
body.sg-get-demo .sg-demo-form input[type="tel"]:focus,
body.sg-get-demo .sg-demo-form textarea:focus,
body.sg-get-demo .sg-demo-form select:focus {
  outline: none !important;
  border-color: #2c007c !important;
  box-shadow: 0 0 0 3px rgba(44, 0, 124, 0.15) !important;
}

/* Intro paragraph line-height matches prod upper-text (24px). */
body.sg-get-demo .sg-demo-intro p,
body.sg-get-demo .sg-demo-intro .elementor-widget-text-editor p {
  line-height: 24px !important;
}

/* === sg-demo-form END === */

/* ═══ DEMO HERO ═══ */
/* Production: rectangular orange hero + SVG V-triangle sibling below (not clip-path). */
body.sg-get-demo .sg-demo-hero.e-con {
  background-color: #f39704 !important;
  padding-top: 80px !important;
  padding-bottom: 80px !important;
  padding-left: 139px !important;
  padding-right: 139px !important;
  position: relative !important;
  overflow: visible !important;
  clip-path: none !important;
  margin-bottom: 0 !important;
  z-index: 1 !important;
  /* Production: no Elementor flex gap — H1/H2 spacing comes from heading margins (~9px) */
  gap: 0 !important;
  row-gap: 0 !important;
}
body.sg-get-demo .sg-demo-hero.e-con > .e-con-inner {
  gap: 0 !important;
  row-gap: 0 !important;
}
body.sg-get-demo .sg-demo-hero h1,
body.sg-get-demo .sg-demo-hero .elementor-element-sgdmoth1 .elementor-heading-title {
  color: #4214cf !important;
  font-size: 60px !important;
  line-height: 60px !important;
  font-weight: 500 !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  text-decoration: none !important;
  margin: 0 0 8.5px 0 !important;
  padding: 0 !important;
}
body.sg-get-demo .sg-demo-hero h1 a,
body.sg-get-demo .sg-demo-hero .elementor-element-sgdmoth1 .elementor-heading-title {
  text-decoration: none !important;
  color: #4214cf !important;
}
body.sg-get-demo .sg-demo-hero h2,
body.sg-get-demo .sg-demo-hero .elementor-element-sgdmoth2 .elementor-heading-title {
  color: #ffffff !important;
  font-size: 30px !important;
  line-height: 60px !important;
  font-weight: 500 !important;
  font-family: "Gilroy Light", sans-serif !important;
  margin: 0 0 8.5px 0 !important;
  padding: 0 !important;
}
body.sg-get-demo .sg-demo-hero .elementor-element-sgdmoth1,
body.sg-get-demo .sg-demo-hero .elementor-element-sgdmoth2 {
  margin: 0 !important;
  padding: 0 !important;
}

/* ═══ DEMO HERO V-triangle (matches #hero-demo-triangle-desktop) ═══ */
body.sg-get-demo .sg-demo-hero-triangle.e-con {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  overflow: visible !important;
}
body.sg-get-demo .sg-demo-hero-triangle .e-con-inner,
body.sg-get-demo .sg-demo-hero-triangle .elementor-widget-html,
body.sg-get-demo .sg-demo-hero-triangle .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}
body.sg-get-demo #hero-demo-triangle-desktop {
  display: block !important;
  width: 100% !important;
  height: 100px !important;
  margin-top: -1px !important;
  fill: #f39704 !important;
}
body.sg-get-demo #hero-demo-triangle-mobile {
  display: none !important;
  fill: #f39704 !important;
}
body.sg-get-demo .elementor-element-sgdmtsvg {
  display: block !important;
  width: 100% !important;
  line-height: 0 !important;
}

/* ═══ DEMO HERO mobile ═══ */
@media (max-width: 767px) {
  body.sg-get-demo .sg-demo-hero.e-con {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    clip-path: none !important;
    margin-bottom: 0 !important;
  }
  body.sg-get-demo .sg-demo-hero h1 {
    font-size: 36px !important;
  }
  body.sg-get-demo .sg-demo-hero h2 {
    font-size: 22px !important;
  }
  body.sg-get-demo #hero-demo-triangle-desktop {
    display: none !important;
  }
  body.sg-get-demo #hero-demo-triangle-mobile {
    display: block !important;
    width: 100% !important;
    height: 60px !important;
    margin-top: -1px !important;
  }
  body.sg-get-demo .sg-demo-intro.e-con {
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  body.sg-get-demo .sg-demo-form.e-con {
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 0 !important;
    padding-bottom: 40px !important;
  }
}
/* === sg-get-demo hero END === */

/* ═══ DEMO CONTACT CTA ═══ */
/* Prod: .cta with <p class="text">…<br><br></p> + .btn-orange 230×59; no section pad. */
body.sg-get-demo .sg-demo-contact.e-con,
body.page-template-page-demo .sg-demo-contact.e-con {
  background-color: #ffffff !important;
  padding: 0 376px 0 !important;
  margin-top: 8.5px !important; /* prod form→cta gap outside CTA box */
  text-align: left !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  row-gap: 0 !important;
}

body.sg-get-demo .sg-demo-contact.e-con > .e-con-inner {
  align-items: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
  width: 100% !important;
  max-width: 687.25px !important;
  gap: 0 !important;
  row-gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.sg-get-demo .sg-demo-contact .elementor-widget-text-editor,
body.sg-get-demo .sg-demo-contact .elementor-widget-heading {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

body.sg-get-demo .sg-demo-contact p,
body.sg-get-demo .sg-demo-contact .elementor-widget-text-editor p,
body.sg-get-demo .sg-demo-contact h3,
body.sg-get-demo .sg-demo-contact .elementor-heading-title {
  color: #414141 !important;
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 687.25px !important;
}

/* Show Call button (prod has .btn-orange). */
body.sg-get-demo .sg-demo-contact .elementor-widget-button,
body.page-template-page-demo .sg-demo-contact .elementor-widget-button {
  display: block !important;
  /* Prod has orphan <br> between text and .btn-orange (~25.5px). */
  margin: 25.5px 0 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: 100% !important;
}

body.sg-get-demo .sg-demo-contact .sg-button-orange .elementor-button,
body.sg-get-demo .sg-demo-contact .elementor-button,
body.sg-get-demo .sg-demo-contact a[href*="tel:"],
body.page-template-page-demo .sg-demo-contact .elementor-button,
body.page-template-page-demo .sg-demo-contact a[href*="tel:"] {
  display: inline-block !important;
  box-sizing: border-box !important;
  width: 230px !important;
  min-width: 230px !important;
  max-width: 230px !important;
  height: 59px !important;
  min-height: 59px !important;
  padding: 16px 0 !important;
  margin: 0 !important;
  background-color: #f39704 !important;
  background: #f39704 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-family: Archivo, sans-serif !important;
  font-size: 18px !important;
  line-height: 27px !important;
  font-weight: 400 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

body.sg-get-demo .sg-demo-contact .sg-button-orange .elementor-button-content-wrapper,
body.sg-get-demo .sg-demo-contact .sg-button-orange .elementor-button-text {
  display: inline !important;
  width: auto !important;
  justify-content: center !important;
}

@media (max-width: 767px) {
  body.sg-get-demo .sg-demo-contact.e-con,
  body.page-template-page-demo .sg-demo-contact.e-con {
    padding: 20px 20px 40px !important;
  }
  body.sg-get-demo .sg-demo-contact .sg-button-orange .elementor-button,
  body.sg-get-demo .sg-demo-contact a[href*="tel:"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: 16px !important;
    padding: 14px 24px !important;
    height: auto !important;
  }
}
/* ═══ DEMO CONTACT CTA END ═══ */

/* ═══════════════════════════════════════════════════
   FAQ PAGE  (body.sg-faq) — live prod parity @1440
   Prod uses QAE .qe-faq-toggle; staging uses the Elementor Toggle widget (all items collapsed on load, like prod).
   ═══════════════════════════════════════════════════ */
body.sg-faq {
  --sg-faq-primary: #2c007c;
  --sg-faq-accent: #d63384;
  --sg-faq-cta-yellow: #f8b037;
  /* Keep the same Bootstrap col-md-8 track as the production page at every
     viewport: 952px at 1920, 925px at 1440, and fluid below that. */
  --sg-faq-col-pad: calc((100vw - min(100vw, 1480px) + 40px) / 2 + (min(100vw, 1480px) - 14.5px) / 6);
  --sg-faq-answer-bg: #ffffff;
  --sg-faq-border: #ffffff;
  /* Live prod @1440: title ~30px / pad 30px / item h≈98 (metrics JSON was stale @13px). */
  --sg-faq-question-size: 30px;
  --sg-faq-question-pad: 30px;
  --sg-faq-answer-size: 13px;
  --sg-faq-icon-size: 30px;
  --sg-faq-item-gap: 2px;
  --sg-faq-container-width: calc(100vw - 2 * var(--sg-faq-col-pad));
  --sg-faq-h1-size: 60px;
  --sg-faq-h1-line: 66px;
}

body.sg-faq .elementor:not(.elementor-location-header):not(.elementor-location-footer) {
  padding-bottom: 0 !important;
}

body.sg-faq .sg-faq-hero.e-con,
body.sg-faq .sg-faq-list.e-con,
body.sg-faq .sg-faq-cta.e-con {
  --display: flex !important;
  display: flex !important;
  flex-direction: column !important;
}

/* ═══ FAQ HERO ═══ */
body.sg-faq .sg-faq-hero.e-con {
  background-color: #ffffff !important;
  /* Prod H1 y=149 → 80px below sticky 69px header. */
  padding-top: 80px !important;
  padding-bottom: 0 !important;
  padding-left: var(--sg-faq-col-pad) !important;
  padding-right: var(--sg-faq-col-pad) !important;
  gap: 0 !important;
  row-gap: 0 !important;
}

body.sg-faq .sg-faq-hero h1 {
  color: var(--sg-faq-primary) !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: var(--sg-faq-h1-size) !important;
  line-height: var(--sg-faq-h1-line) !important;
  font-weight: 500 !important;
  text-align: left !important;
  margin-top: 0 !important;
  margin-bottom: 8.5px !important;
  padding-bottom: 40px !important;
}

/* ═══ FAQ ACCORDION LIST CONTAINER ═══ */
body.sg-faq .sg-faq-list.e-con {
  background-color: #ffffff !important;
  /* Prod accordion y=330.5. Local H1 mb 8.5 does not collapse across e-con → use 67. */
  padding-top: 67px !important;
  /* Prod: 80 section pad + 15 trailing QAE/code-paragraph space before the footer. */
  padding-bottom: 95px !important;
  padding-left: var(--sg-faq-col-pad) !important;
  padding-right: var(--sg-faq-col-pad) !important;
  gap: 0 !important;
  row-gap: 0 !important;
}

body.sg-faq .sg-faq-accordion .elementor-toggle {
  max-width: var(--sg-faq-container-width) !important;
  width: 100% !important;
  margin: 0 !important;
  border: none !important;
}

body.sg-faq .sg-faq-accordion .elementor-toggle-item {
  border: none !important;
  border-bottom: none !important;
  margin: 0 0 var(--sg-faq-item-gap) 0 !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
}

/* Closed panels must not contribute height (Elementor leaves padded shells). */
body.sg-faq .sg-faq-accordion .elementor-tab-content:not(.elementor-active) {
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: none !important;
  visibility: hidden !important;
}

/* Closed title ≈98px: 30px pad ×2 + ~38px text line. */
body.sg-faq .sg-faq-accordion .elementor-tab-title {
  color: var(--sg-faq-accent) !important;
  font-family: "Gilroy Extra Bold", Archivo, sans-serif !important;
  font-size: var(--sg-faq-question-size) !important;
  /* 30+30+37.5 + min-height 98; icon capped at 30 so box stays 98. */
  line-height: 37.5px !important;
  font-weight: 400 !important;
  padding: var(--sg-faq-question-pad) !important;
  border: none !important;
  background-color: #ffffff !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  min-height: 98px !important;
  box-sizing: border-box !important;
}

body.sg-faq .sg-faq-accordion .elementor-tab-title .elementor-toggle-title {
  color: inherit !important;
  font: inherit !important;
}

body.sg-faq .sg-faq-accordion .elementor-toggle-icon {
  color: var(--sg-faq-accent) !important;
  font-size: var(--sg-faq-icon-size) !important;
  width: 30px !important;
  height: 30px !important;
  line-height: 30px !important;
  margin-right: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}
body.sg-faq .sg-faq-accordion .elementor-toggle-icon i {
  font-size: 30px !important;
  width: 30px !important;
  height: 30px !important;
  line-height: 30px !important;
}
body.sg-faq .sg-faq-accordion .elementor-toggle-icon svg {
  width: 30px !important;
  height: 30px !important;
}
body.sg-faq .sg-faq-accordion .elementor-toggle-icon svg path {
  fill: var(--sg-faq-accent) !important;
  stroke: var(--sg-faq-accent) !important;
}

body.sg-faq .sg-faq-accordion .elementor-tab-content {
  color: #414141 !important;
  font-size: var(--sg-faq-answer-size) !important;
  font-style: normal !important;
  line-height: normal !important;
  padding: 19.5px 19.5px 3.9px !important;
  background-color: #ffffff !important;
  border: none !important;
}
body.sg-faq .sg-faq-accordion .elementor-tab-content p {
  font-style: normal !important;
  font-size: var(--sg-faq-answer-size) !important;
  color: #414141 !important;
  margin: 0 !important;
}

body.sg-faq .sg-faq-accordion .elementor-tab-title.elementor-active {
  color: var(--sg-faq-accent) !important;
}

/* Prod has no page-level "Still have questions" CTA — Contact us lives in the footer. */
body.sg-faq .sg-faq-cta.e-con {
  display: none !important;
}

/* —— Phase 5 prod parity (QAE toggle @1440) ——
 * Prod .qe-toggle-title: pad 30, border 1px #fff, bg #fff; h4 Gilroy Extra Bold 30/36 #2c007c
 * (also on hover); first line starts 15px in (empty FA icon + space); no visible icon.
 * Prod .qe-toggle-content: pad 19.52/19.52/3.9, border 1px #fff; p Archivo 17/25.5 #414141, mb 17. */
body.sg-faq .sg-faq-hero h1,
body.sg-faq .sg-faq-hero .elementor-heading-title {
  color: #4214cf !important;
}
body.sg-faq .sg-faq-accordion .elementor-tab-title {
  display: block !important;
  min-height: 0 !important;
  padding: 30px !important;
  border: 1px solid #fff !important;
  color: #2c007c !important;
  line-height: 36px !important;
  font-weight: 500 !important;
}
body.sg-faq .sg-faq-accordion .elementor-tab-title .elementor-toggle-icon {
  display: none !important;
}
body.sg-faq .sg-faq-accordion .elementor-tab-title .elementor-toggle-title,
body.sg-faq .sg-faq-accordion .elementor-tab-title.elementor-active .elementor-toggle-title {
  display: block !important;
  color: #2c007c !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 30px !important;
  font-weight: 500 !important;
  line-height: 36px !important;
  text-indent: 15px;
  text-decoration: none !important;
}
body.sg-faq .sg-faq-accordion .elementor-tab-title:hover .elementor-toggle-title {
  color: #2c007c !important; /* prod hover keeps the title colour */
}
body.sg-faq .sg-faq-accordion .elementor-tab-content {
  padding: 19.5234px 19.5234px 3.90469px !important;
  border: 1px solid #fff !important;
  color: #414141 !important;
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
}
body.sg-faq .sg-faq-accordion .elementor-tab-content p {
  font-family: Archivo, sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
  color: #414141 !important;
  margin: 0 0 17px !important;
}

/* ═══ FAQ MOBILE ═══ */
@media (max-width: 767px) {
  body.sg-faq .sg-faq-hero.e-con {
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 30px !important;
    padding-bottom: 10px !important;
  }

  body.sg-faq .sg-faq-hero h1 {
    font-size: 36px !important;
    line-height: 40px !important;
    padding-bottom: 20px !important;
  }

  body.sg-faq .sg-faq-list.e-con {
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 54px !important;
    padding-bottom: 95px !important;
  }

  body.sg-faq .sg-faq-accordion .elementor-toggle {
    max-width: 100% !important;
  }

  body.sg-faq .sg-faq-accordion .elementor-tab-title {
    font-size: 18px !important;
    padding: 16px !important;
    min-height: 0 !important;
  }
  body.sg-faq .sg-faq-accordion .elementor-tab-title .elementor-toggle-title,
  body.sg-faq .sg-faq-accordion .elementor-tab-title.elementor-active .elementor-toggle-title {
    font-size: 18px !important;
    line-height: 1.3 !important;
    text-indent: 0;
  }
}

/* ═══ FAQ PAGE END ═══ */

/* ═══ HOME VALUE: desktop Key benefits scene (production parity) ═══ */
@media (min-width: 992px) {
  body.sg-elementor-home .sg-home-value {
    overflow: hidden !important;
  }

  body.sg-elementor-home .sg-benefits-layout.e-con {
    position: relative !important;
    width: calc(100% - 40px) !important;
    max-width: 1440px !important;
    /* Prod: 110px gap after audience grid is margin on the layout box. */
    margin-top: 110px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    --padding-top: 0px !important;
    --padding-right: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    min-height: 1540px !important;
  }

  /* Exact production guides: three independent 1px vertical lines, not a
     repeating grid. They are decorative and deliberately stay outside the
     editable Elementor content. */
  body.sg-elementor-home .sg-benefits-layout.e-con::before,
  body.sg-elementor-home .sg-benefits-layout.e-con::after,
  body.sg-elementor-home .sg-benefits-visual.e-con::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    width: 1px;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
    background: rgba(255, 255, 255, .10);
  }

  body.sg-elementor-home .sg-benefits-layout.e-con::before {
    left: 20%;
    height: 90%;
  }

  body.sg-elementor-home .sg-benefits-layout.e-con::after {
    left: 30%;
  }

  body.sg-elementor-home .sg-benefits-visual.e-con {
    position: static !important;
    min-height: 0 !important;
    height: auto !important;
  }

  body.sg-elementor-home .sg-benefits-visual.e-con::before {
    left: 40%;
    height: 80%;
  }

  body.sg-elementor-home .sg-benefits-layout.e-con > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(300px, .75fr) minmax(360px, 1fr) !important;
    /* Prod legacy layout vertically centers the content column in the
       1837px scene (layoutToKey ≈ 225.5). start left content ~115px high. */
    align-items: center !important;
    align-content: center !important;
    gap: 30px !important;
    margin-top: 0 !important;
    min-height: 100% !important;
    height: 100% !important;
  }

  body.sg-elementor-home .sg-benefits-grid.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  body.sg-elementor-home .sg-benefit-card {
    position: relative !important;
    z-index: 2 !important;
    background: #2c007c !important;
  }

  body.sg-elementor-home .sg-benefit-card p,
  body.sg-elementor-home .sg-benefit-card li {
    font-style: normal !important;
  }

  body.sg-elementor-home .sg-home-value__links {
    position: relative !important;
    z-index: 2 !important;
    background: #23035e !important;
  }

  body.sg-elementor-home .sg-benefits-layout > .sg-benefits-visual__laptop,
  body.sg-elementor-home .sg-benefits-layout > .sg-benefits-visual__card {
    position: absolute !important;
    display: block !important;
    margin: 0 !important;
    pointer-events: none !important;
  }

  body.sg-elementor-home .sg-benefits-layout > .sg-benefits-visual__laptop {
    z-index: 0 !important;
    top: auto !important;
    right: auto !important;
    bottom: -220px !important;
    left: -20% !important;
    width: 80% !important;
    max-width: none !important;
    transform: none !important;
  }

  body.sg-elementor-home .sg-benefits-layout > .sg-benefits-visual__card {
    z-index: 1 !important;
    right: auto !important;
    bottom: auto !important;
    left: 3.5% !important;
    width: 26.25% !important;
    max-width: none !important;
    transform: none !important;
  }

  body.sg-elementor-home .sg-benefits-layout > .sg-benefits-visual__laptop img,
  body.sg-elementor-home .sg-benefits-layout > .sg-benefits-visual__card img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  /* Intrinsic ratio so lazy-loaded laptop SVG gets a non-zero box (prod ≈875h). */
  body.sg-elementor-home .sg-benefits-layout > .sg-benefits-visual__laptop img {
    aspect-ratio: 192 / 150;
  }
}

@media (min-width: 1280px) {
  /* Prod #subhero pad-bottom is 110 (laptop overhang clips via overflow:hidden). */
  body.sg-elementor-home .sg-home-value {
    padding-bottom: 110px !important;
  }

  body.sg-elementor-home .sg-benefits-layout.e-con {
    min-height: 1837px !important;
  }

  body.sg-elementor-home .sg-benefits-layout.e-con > .e-con-inner {
    grid-template-columns: 535px 535px !important;
    justify-content: start !important;
    align-items: center !important;
    gap: 84px !important;
    margin-top: 0 !important;
    /* Inner must fill the 1837px scene or align-items:center has no free space. */
    min-height: 1837px !important;
    height: 1837px !important;
    align-content: center !important;
  }

  /* Prod content column is block-flow: 34px before case-link is links margin-top. */
  body.sg-elementor-home .sg-benefits-content.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    --gap: 0px !important;
  }

  body.sg-elementor-home .sg-home-value__links.e-con,
  body.sg-elementor-home .elementor-element-sgbenlnk {
    margin-top: 34px !important;
  }
}

@media (min-width: 992px) and (max-width: 1279px) {
  body.sg-elementor-home .sg-home-value {
    padding-bottom: 110px !important;
  }
}

/* HOME HERO: mirror the production desktop composition.  Keep the Elementor
 * widgets themselves editable; these rules only establish their canvas. */
@media (min-width: 992px) {
  body.sg-elementor-home .sg-home-hero .sg-home-hero__inner.e-con > .e-con-inner {
    padding-left: 20px !important;
  }

  body.sg-elementor-home .sg-home-hero,
  body.sg-elementor-home .sg-home-hero.e-con > .e-con-inner {
    min-height: 700px !important;
  }

  body.sg-elementor-home .sg-home-hero .sg-home-hero__product {
    width: 50% !important;
    max-width: 938px !important;
  }

  body.sg-elementor-home .sg-home-hero .sg-home-hero__actions {
    flex-wrap: nowrap !important;
    gap: 30px !important;
    margin-left: 8px !important;
  }

}

@media (min-width: 1280px) {
  body.sg-elementor-home .sg-home-hero .sg-home-hero__inner.e-con > .e-con-inner {
    /* vw deliberately includes the desktop scrollbar, as does production. */
    padding-left: calc((100vw - 1440px) / 2 + 140px) !important;
  }

  body.sg-elementor-home .sg-home-hero .sg-home-hero__actions {
    margin-left: 0 !important;
  }

  body.sg-elementor-home .sg-home-hero,
  body.sg-elementor-home .sg-home-hero.e-con > .e-con-inner {
    min-height: 700px !important;
  }
}

@media (min-width: 992px) and (max-width: 1279px) {
  body.sg-elementor-home .sg-home-hero .sg-home-hero__inner.e-con > .e-con-inner {
    padding-top: 66px !important;
  }

  body.sg-elementor-home .sg-home-hero .sg-home-hero__actions {
    margin-left: 4px !important;
  }
}

/* Match the three Smart Slider calls to action on the production desktop hero.
 * Keep the existing two buttons and audience links available on mobile. */
@media (min-width: 992px) {
  /* Production's Smart Slider falls back to Arial for DM Sans and sizes from
   * the site's 17px root font. Match its rendered desktop headline metrics. */
  body.sg-elementor-home .sg-home-hero .sg-home-hero__eyebrow,
  body.sg-elementor-home .sg-home-hero .sg-home-hero__eyebrow p {
    font-family: "DM Sans", Archivo, sans-serif !important;
    font-size: 75px !important;
    line-height: 82.5px !important;
    letter-spacing: -1px !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroh1 .elementor-heading-title {
    font-family: "DM Sans", Archivo, sans-serif !important;
    font-size: 50px !important;
    line-height: 55px !important;
    letter-spacing: -1px !important;
  }

  body.sg-elementor-home .sg-home-hero .sg-home-hero__lead,
  body.sg-elementor-home .sg-home-hero .sg-home-hero__lead p {
    margin-top: 0 !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroac,
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroau {
    display: none !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop {
    display: flex !important;
    width: max-content !important;
    max-width: min(780px, calc(100vw - 40px)) !important;
    margin: 40px 0 0 !important;
    padding: 0 !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop > .e-con-inner {
    display: flex !important;
    width: max-content !important;
    max-width: 100% !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop .elementor-widget-button,
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop .elementor-button-wrapper {
    width: auto !important;
    margin: 0 !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop .elementor-button {
    display: inline-flex !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1em 2em !important;
    border: 0 !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: #f39704 !important;
    box-shadow: 5px 5px 5px 5px rgba(35, 3, 94, 1) !important;
    font-family: Archivo, sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: background-color 160ms ease, box-shadow 160ms ease !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sghero01 .elementor-button,
  body.sg-elementor-home .sg-home-hero .elementor-element-sghero03 .elementor-button {
    box-sizing: border-box !important;
    width: 240px !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sghero02 .elementor-button {
    box-sizing: border-box !important;
    width: 240px !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop .elementor-button:hover,
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop .elementor-button:focus-visible {
    color: #fff !important;
    background: #4815a7 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .13) !important;
  }
}

@media (max-width: 991px) {
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop {
    display: none !important;
  }
}

/* Match the production homepage's compact hero at the small desktop/tablet
   breakpoint. The legacy slider switches to a 596px stage and smaller copy
   at 1024px; preserve that geometry in the Elementor replacement as well. */
@media (min-width: 992px) and (max-width: 1199px) {
  body.sg-elementor-home .sg-home-hero,
  body.sg-elementor-home .sg-home-hero.e-con > .e-con-inner {
    height: 596px !important;
    min-height: 596px !important;
  }

  body.sg-elementor-home .sg-home-hero .sg-home-hero__inner.e-con > .e-con-inner {
    min-height: 596px !important;
    padding-top: 60px !important;
  }

  body.sg-elementor-home .sg-home-hero .sg-home-hero__content,
  body.sg-elementor-home .sg-home-hero .sg-home-hero__content.e-con > .e-con-inner {
    width: 589px !important;
    max-width: calc(100vw - 40px) !important;
  }

  body.sg-elementor-home .sg-home-hero .sg-home-hero__eyebrow,
  body.sg-elementor-home .sg-home-hero .sg-home-hero__eyebrow p {
    font-size: 45px !important;
    line-height: 49.5px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroh1 .elementor-heading-title {
    font-size: 30px !important;
    line-height: 33px !important;
    letter-spacing: 0 !important;
  }

  body.sg-elementor-home .sg-home-hero .sg-home-hero__lead,
  body.sg-elementor-home .sg-home-hero .sg-home-hero__lead p {
    width: 589px !important;
    max-width: 100% !important;
    font-size: 24px !important;
    line-height: 36px !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop {
    width: max-content !important;
    max-width: 100% !important;
    margin-top: 40px !important;
  }
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop > .e-con-inner { gap: 31px !important; }
  body.sg-elementor-home .sg-home-hero .sg-home-hero__product { margin-top: 104px !important; }

  body.sg-elementor-home .sg-home-hero .elementor-element-sghero01,
  body.sg-elementor-home .sg-home-hero .elementor-element-sghero03,
  body.sg-elementor-home .sg-home-hero .elementor-element-sghero01 .elementor-button,
  body.sg-elementor-home .sg-home-hero .elementor-element-sghero03 .elementor-button {
    width: 170px !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sghero02,
  body.sg-elementor-home .sg-home-hero .elementor-element-sghero02 .elementor-button {
    width: 193px !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop .elementor-button {
    height: 50px !important;
    min-height: 50px !important;
    padding-right: 12px !important;
    padding-left: 12px !important;
    font-size: 14px !important;
    line-height: 20px !important;
  }
  body.sg-elementor-home .sg-home-hero .elementor-element-sghero01,
  body.sg-elementor-home .sg-home-hero .elementor-element-sghero02,
  body.sg-elementor-home .sg-home-hero .elementor-element-sghero03 { height: 50px !important; }
  body.sg-elementor-home .sg-home-hero .sg-home-hero__product img { transform: translateY(-25px) !important; }
  body.sg-elementor-home .sg-home-value {
    height: 2714px !important;
    min-height: 2714px !important;
  }
  body.sg-elementor-home .sg-audience-grid.e-con > .e-con-inner { margin-top: 10px !important; }
}

/* HOME TYPOGRAPHY: desktop parity with home-copy3.php / production.
 * These are presentation-only rules: all headings and body copy remain
 * individual Elementor widgets and therefore editable in Elementor. */
@media (min-width: 992px) {
  /* The historical .col-lg-10 / offset-lg-1 content column. */
  body.sg-elementor-home .sg-home-loyalty .elementor-element-sgloylh2,
  body.sg-elementor-home .sg-home-loyalty .elementor-element-sgloylh3,
  body.sg-elementor-home .sg-home-how .elementor-element-sghowh2,
  body.sg-elementor-home .sg-home-how .elementor-element-sghowh3,
  body.sg-elementor-home .sg-guarantee-html .elementor-element-sgguarh2,
  body.sg-elementor-home .sg-guarantee-html .elementor-element-sgguarh3,
  body.sg-elementor-home .sg-cta-html .elementor-element-sgctah2,
  body.sg-elementor-home .sg-cta-html .elementor-element-sgctah3,
  body.sg-elementor-home .sg-guarantee-html .disclaimer {
    width: min(1200px, calc(83.333333vw - 33.333px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.sg-elementor-home .sg-home-loyalty h2,
  body.sg-elementor-home .sg-home-how h2,
  body.sg-elementor-home .sg-guarantee-html .title,
  body.sg-elementor-home .sg-guarantee-html h2,
  body.sg-elementor-home .sg-cta-html .title,
  body.sg-elementor-home .sg-cta-html h2 {
    color: #120033 !important;
    font-family: "Gilroy Extra Bold", sans-serif !important;
    font-size: 60px !important;
    font-weight: 500 !important;
    line-height: 78px !important;
    text-align: center !important;
    margin: 0 0 20px !important;
  }

  body.sg-elementor-home .sg-home-loyalty h3,
  body.sg-elementor-home .sg-home-how h3,
  body.sg-elementor-home .sg-guarantee-html .subtitle,
  body.sg-elementor-home .sg-guarantee-html h3,
  body.sg-elementor-home .sg-cta-html .subtitle,
  body.sg-elementor-home .sg-cta-html h3 {
    color: #120033 !important;
    font-family: "Gilroy Light", sans-serif !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    line-height: 36px !important;
    text-align: center !important;
    margin: 0 0 8.5px !important;
  }

  /* Guarantee copy is dark grey on the original white canvas. */
  body.sg-elementor-home .sg-guarantee-html .subtitle,
  body.sg-elementor-home .sg-guarantee-html h3 {
    color: #414141 !important;
  }

  /* The original FAQ used the full .ast-container, centered.
   * Prod title box is 1400 wide @1440 (20px gutters); 100% of the
   * section's padded content width matches that. */
  body.sg-elementor-home .sg-home-faq .elementor-element-sgfaqh2 {
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body.sg-elementor-home .sg-home-faq .elementor-element-sgfaqh2 h2 {
    color: #120033 !important;
    font-family: "Gilroy Extra Bold", sans-serif !important;
    font-size: 60px !important;
    font-weight: 500 !important;
    line-height: 50px !important;
    text-align: center !important;
    margin: 0 0 8.5px !important;
  }

  /* Historical circles title: .col-lg-8 / offset-lg-2. */
  body.sg-elementor-home .sg-home-stats .elementor-element-sgstatsh2 {
    width: min(952px, calc(66.666667vw - 35.167px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.sg-elementor-home .sg-home-stats .elementor-element-sgstatsh2 h2 {
    color: #120033 !important;
    font-family: "Gilroy Extra Bold", sans-serif !important;
    font-size: 60px !important;
    font-weight: 500 !important;
    line-height: 50px !important;
    padding-bottom: 8px !important;
    text-align: center !important;
  }

  body.sg-elementor-home .sg-memberships .sg-col-8 {
    width: min(1261px, calc(66.666667vw - 8.5px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body.sg-elementor-home .sg-memberships .elementor-element-sgmembh2 {
    width: min(1261px, calc(66.666667vw - 8.5px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.sg-elementor-home .sg-memberships .title,
  body.sg-elementor-home .sg-memberships h2,
  body.sg-elementor-home .sg-memberships .elementor-heading-title {
    color: #120033 !important;
    font-family: "Gilroy Extra Bold", sans-serif !important;
    font-size: 60px !important;
    font-weight: 500 !important;
    line-height: 50px !important;
    text-align: center !important;
    margin: 0 0 8.5px !important;
  }

  /* Elementor's legacy heading selectors are unusually specific here. */
  body.sg-elementor-home .sg-guarantee-html .elementor-element-sgguarh2 .elementor-heading-title,
  body.sg-elementor-home .sg-cta-html .elementor-element-sgctah2 .elementor-heading-title {
    color: #120033 !important;
    font-family: "Gilroy Extra Bold", sans-serif !important;
    font-size: 60px !important;
    font-weight: 500 !important;
    line-height: 78px !important;
    text-align: center !important;
    /* Production's legacy .title box carries this 20px visual baseline. */
    padding-bottom: 20px !important;
    margin: 0 0 20px !important;
  }

  body.sg-elementor-home .sg-guarantee-html .elementor-element-sgguarh3 .elementor-heading-title,
  body.sg-elementor-home .sg-cta-html .elementor-element-sgctah3 .elementor-heading-title {
    width: 100% !important;
    max-width: none !important;
    font-family: "Gilroy Light", sans-serif !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    line-height: 36px !important;
    text-align: center !important;
    margin: 0 0 8.5px !important;
  }

  body.sg-elementor-home .sg-guarantee-html .elementor-element-sgguarh3 .elementor-heading-title {
    color: #414141 !important;
  }

  body.sg-elementor-home .sg-home-loyalty .elementor-element-sgloylh3 .elementor-heading-title,
  body.sg-elementor-home .sg-home-how .elementor-element-sghowh3 .elementor-heading-title {
    width: 100% !important;
    max-width: none !important;
  }

  /* Put the legacy title margin on the widget, not on its nested heading,
   * so Elementor does not count it twice in the vertical flow. */
  body.sg-elementor-home .sg-guarantee-html .elementor-element-sgguarh2 {
    margin-bottom: 20px !important;
  }

  body.sg-elementor-home .sg-cta-html .elementor-element-sgctah2 {
    margin-bottom: 30px !important;
  }

  body.sg-elementor-home .sg-guarantee-html .elementor-element-sgguarh2 .elementor-heading-title,
  body.sg-elementor-home .sg-cta-html .elementor-element-sgctah2 .elementor-heading-title {
    margin-bottom: 0 !important;
  }
}

/* FAQ ACCORDIONS: production's open-list treatment.  The same Q&E-style
 * Elementor markup is used on home and all three solution pages. */
@media (min-width: 992px) {
  /* Home S8: prod #home-faq FAQ band has pad 0 (guarantee nested inside
   * wrapper). Local FAQ is a standalone section — zero pad so logos→title
   * and last-item→guarantee match prod (~0 / ~2). Height target ≈728.5. */
  body.sg-elementor-home .sg-home-faq.e-con,
  body.sg-elementor-home .sg-home-faq {
    /* Vertical 0 matches prod FAQ band; keep 20px gutters so
     * 8.3333% item offset lands at x≈136.7 like prod. */
    padding: 0 20px !important;
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 20px !important;
    --padding-right: 20px !important;
  }

  body.sg-elementor-home .sg-home-faq .elementor-element-sgfaqh2 h2 {
    padding-bottom: 20px !important;
  }

  body.sg-elementor-home .sg-home-faq .qe-faqs-filters-container,
  body.sg-solution-shopping .sg-solution-faq .qe-faqs-filters-container,
  body.sg-solution-mlb .sg-mlb-faq .qe-faqs-filters-container,
  body.sg-solution-smb .sg-smb-faq .qe-faqs-filters-container {
    display: none !important;
  }

  body.sg-elementor-home .sg-home-faq .qe-faq-toggle.e-con,
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle.e-con,
  body.sg-solution-mlb .sg-mlb-faq .qe-faq-toggle.e-con,
  body.sg-solution-smb .sg-smb-faq .qe-faq-toggle.e-con {
    margin-top: 0 !important;
    margin-bottom: 2px !important;
  }

  body.sg-elementor-home .sg-home-faq .qe-faq-toggle .elementor-widget-heading,
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle .elementor-widget-heading,
  body.sg-solution-mlb .sg-mlb-faq .qe-faq-toggle .elementor-widget-heading,
  body.sg-solution-smb .sg-smb-faq .qe-faq-toggle .elementor-widget-heading {
    min-height: 98px !important;
    box-sizing: border-box !important;
    /* Prod .qe-toggle-title pad 30 all sides (was 26.5 vertical) */
    padding: 30px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  body.sg-elementor-home .sg-home-faq .qe-faq-toggle.e-con > .e-con-inner,
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-faq .qe-faq-toggle.e-con > .e-con-inner,
  body.sg-solution-smb .sg-smb-faq .qe-faq-toggle.e-con > .e-con-inner,
  body.sg-elementor-home .sg-home-faq .qe-faq-toggle .elementor-widget-heading,
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle .elementor-widget-heading,
  body.sg-solution-mlb .sg-mlb-faq .qe-faq-toggle .elementor-widget-heading,
  body.sg-solution-smb .sg-smb-faq .qe-faq-toggle .elementor-widget-heading {
    width: 100% !important;
    max-width: none !important;
  }

  body.sg-elementor-home .sg-home-faq .elementor-widget-html:has(.qe-faqs-filters-container) + .qe-faq-toggle,
  body.sg-solution-shopping .sg-solution-faq .elementor-widget-html:has(.qe-faqs-filters-container) + .qe-faq-toggle,
  body.sg-solution-mlb .sg-mlb-faq .elementor-widget-html:has(.qe-faqs-filters-container) + .qe-faq-toggle,
  body.sg-solution-smb .sg-smb-faq .elementor-widget-html:has(.qe-faqs-filters-container) + .qe-faq-toggle {
    margin-top: 50px !important;
  }

  body.sg-elementor-home .sg-home-faq .qe-faq-toggle.sg-faq-first-item,
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle.sg-faq-first-item,
  body.sg-solution-mlb .sg-mlb-faq .qe-faq-toggle.sg-faq-first-item,
  body.sg-solution-smb .sg-smb-faq .qe-faq-toggle.sg-faq-first-item {
    margin-top: 50px !important;
  }

  body.sg-elementor-home .sg-home-faq [data-aos],
  body.sg-solution-shopping .sg-solution-faq [data-aos],
  body.sg-solution-mlb .sg-mlb-faq [data-aos],
  body.sg-solution-smb .sg-smb-faq [data-aos] {
    opacity: 1 !important;
    transform: none !important;
  }

  /* Home questions: prod Q&E h4 is Gilroy Extra Bold 30/500 lh 36 #2c007c.
   * Solution pages keep the Archivo open-list treatment below. */
  body.sg-elementor-home .sg-home-faq .qe-faq-toggle .elementor-heading-title {
    color: #2c007c !important;
    font-family: "Gilroy Extra Bold", sans-serif !important;
    font-size: 30px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 36px !important;
  }

  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle .elementor-heading-title,
  body.sg-solution-mlb .sg-mlb-faq .qe-faq-toggle .elementor-heading-title,
  body.sg-solution-smb .sg-smb-faq .qe-faq-toggle .elementor-heading-title {
    color: #2c007c !important;
    font-family: Archivo, sans-serif !important;
    font-size: 30px !important;
    font-style: normal !important;
    font-weight: 600 !important;
    line-height: 45px !important;
  }

  body.sg-elementor-home .sg-home-faq .qe-faq-toggle .elementor-heading-title::before,
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle .elementor-heading-title::before,
  body.sg-solution-mlb .sg-mlb-faq .qe-faq-toggle .elementor-heading-title::before,
  body.sg-solution-smb .sg-smb-faq .qe-faq-toggle .elementor-heading-title::before {
    width: 28px !important;
    height: 28px !important;
    flex-basis: 28px !important;
    background-size: 28px 28px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='14' fill='%232c007c'/%3E%3Cpath d='M8 14h12M14 8v12' stroke='%23fff' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }

  body.sg-elementor-home .sg-home-faq .qe-faq-toggle.is-open .elementor-widget-heading,
  body.sg-elementor-home .sg-home-faq .qe-faq-toggle.active .elementor-widget-heading,
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle.is-open .elementor-widget-heading,
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle.active .elementor-widget-heading,
  body.sg-solution-mlb .sg-mlb-faq .qe-faq-toggle.is-open .elementor-widget-heading,
  body.sg-solution-mlb .sg-mlb-faq .qe-faq-toggle.active .elementor-widget-heading,
  body.sg-solution-smb .sg-smb-faq .qe-faq-toggle.is-open .elementor-widget-heading,
  body.sg-solution-smb .sg-smb-faq .qe-faq-toggle.active .elementor-widget-heading {
    background: transparent !important;
  }

  body.sg-elementor-home .sg-home-faq .qe-faq-toggle .elementor-widget-text-editor,
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle .elementor-widget-text-editor,
  body.sg-solution-mlb .sg-mlb-faq .qe-faq-toggle .elementor-widget-text-editor,
  body.sg-solution-smb .sg-smb-faq .qe-faq-toggle .elementor-widget-text-editor {
    border: 0 !important;
    background: transparent !important;
    padding: 0 30px 28px 88px !important;
    color: #414141 !important;
    font-family: Archivo, sans-serif !important;
    font-size: 17px !important;
    font-style: normal !important;
    line-height: 25.5px !important;
  }
}


/* === sg-home-rest-desktop START ===
 * Home S3–S7 / S9–S11 desktop parity @1440 (after S1/S2/S8 MATCH).
 * CSS-only geometry; stats counter 50→70 is content JSON.
 * === */
@media (min-width: 992px) {
  /* S4 Loyalty: kill Elementor boxed inner pad (was +20) + widget mb double-count */
  body.sg-elementor-home .sg-home-loyalty.e-con > .e-con-inner {
    padding: 0 !important;
    --padding-top: 0px !important;
    --padding-right: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
    gap: 0 !important;
    --gap: 0px !important;
  }
  body.sg-elementor-home .sg-home-loyalty .elementor-widget-heading {
    margin-bottom: 0 !important;
  }

  /* S6 Stats: emulate prod .title-box pad-bottom 50 after subtitle */
  body.sg-elementor-home .sg-home-stats .elementor-element-sgstatsh3.subtitle {
    width: min(952px, calc(66.666667vw - 35.167px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 0 !important;
    padding-bottom: 50px !important;
  }
  body.sg-elementor-home .sg-home-stats .elementor-element-sgstatsh2 {
    margin-bottom: 8.5px !important;
  }
  body.sg-elementor-home .sg-home-stats.e-con {
    background: transparent !important;
    background-color: transparent !important;
    --background-color: transparent !important;
  }

  /* S7 Logos: prod carousel band 211 + padB 100 = 311 */
  body.sg-elementor-home .sg-home-logos.e-con {
    background: transparent !important;
    background-color: transparent !important;
    --background-color: transparent !important;
  }
  body.sg-elementor-home .sg-logo-carousel,
  body.sg-elementor-home .sg-logo-carousel.e-con {
    height: 211px !important;
  }
  body.sg-elementor-home .sg-logo-carousel__slide {
    height: 211px !important;
  }

  /* S9 Guarantee: prod #guarantee padT 40; subtitle mb must collapse with disclaimer mt */
  body.sg-elementor-home .sg-guarantee-html.e-con {
    padding: 40px 0 0 !important;
    --padding-top: 40px !important;
    --padding-right: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
    background: transparent !important;
    background-color: transparent !important;
    --background-color: transparent !important;
  }
  body.sg-elementor-home .sg-guarantee-html.e-con > .e-con-inner {
    padding: 0 !important;
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
    --padding-right: 0px !important;
  }
  body.sg-elementor-home .sg-guarantee-html .elementor-element-sgguarh3 {
    margin-bottom: 0 !important;
  }
  /* Heading mb inside Elementor widget prevents collapse with disclaimer mt → +8.5. Zero it. */
  body.sg-elementor-home .sg-guarantee-html .elementor-element-sgguarh3 .elementor-heading-title {
    margin-bottom: 0 !important;
  }
  body.sg-elementor-home .sg-guarantee-html .elementor-element-sgguarp.disclaimer,
  body.sg-elementor-home .sg-guarantee-html .disclaimer {
    margin-top: 16px !important;
    margin-bottom: 17px !important;
    font-size: 14.45px !important;
    line-height: 21.675px !important;
    opacity: 0.7 !important;
  }
  body.sg-elementor-home .sg-guarantee-html .disclaimer p,
  body.sg-elementor-home .sg-guarantee-html .elementor-element-sgguarp p {
    margin: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
    opacity: 1 !important;
  }

  /* S10 CTA: prod ready→part band 422 (titleToSub 30, subToBtn 8.5, btnToPart 76.5) */
  body.sg-elementor-home .sg-cta-html.e-con {
    margin-top: 40px !important;
    padding: 0 !important;
    --padding-top: 0px !important;
    --padding-right: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
  }
  body.sg-elementor-home .sg-cta-html.e-con > .e-con-inner {
    padding: 0 !important;
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
    --padding-right: 0px !important;
  }
  body.sg-elementor-home .sg-cta-html .elementor-element-sgctah3 {
    margin-bottom: 0 !important;
  }
  body.sg-elementor-home .sg-cta-html .elementor-element-sgctah3 .elementor-heading-title {
    margin-bottom: 0 !important;
  }
  body.sg-elementor-home .sg-cta-html .button-row,
  body.sg-elementor-home .sg-cta-html .button-row.e-con {
    padding: 8.5px 0 0 !important;
    --padding-top: 8.5px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
    --padding-right: 0px !important;
    margin: 0 !important;
  }
  body.sg-elementor-home .sg-cta-html .button-row.e-con > .e-con-inner {
    padding: 0 !important;
    gap: 16px !important;
  }
  body.sg-elementor-home .sg-cta-html .sg-button-orange .elementor-button,
  body.sg-elementor-home .sg-cta-html .sg-button-purple .elementor-button {
    min-height: 59px !important;
    height: 59px !important;
    padding: 16px 0 !important;
    box-sizing: border-box !important;
  }

  /* S11 Memberships: prod title+carousel fair band 221.9; btn→title gap 76.5 via pad-top */
  body.sg-elementor-home .sg-memberships {
    margin-top: 0 !important;
  }
  body.sg-elementor-home .sg-memberships.e-con {
    padding: 0 !important;
    --padding-top: 0px !important;
    --padding-right: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
  }
  body.sg-elementor-home .sg-memberships.e-con > .e-con-inner {
    padding: 0 !important;
  }
  body.sg-elementor-home .sg-memberships .sg-col-8.e-con {
    padding: 0 !important;
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
    --padding-right: 0px !important;
  }
  body.sg-elementor-home .sg-memberships .sg-col-8.e-con > .e-con-inner {
    padding: 0 !important;
    gap: 0 !important;
  }
  body.sg-elementor-home .sg-memberships .elementor-element-sgmembh2 {
    padding-top: 76.5px !important;
    margin-bottom: 8.5px !important;
  }
  body.sg-elementor-home .sg-memberships .elementor-element-sgmembh2 .elementor-heading-title {
    padding-bottom: 20px !important;
    margin: 0 !important;
    line-height: 50px !important;
    font-size: 60px !important;
  }
  body.sg-elementor-home .sg-memberships-row,
  body.sg-elementor-home .sg-memberships-row.e-con {
    padding: 0 !important;
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    min-height: 143.4px !important;
    height: 143.4px !important;
  }
  body.sg-elementor-home .sg-memberships-row.e-con > .e-con-inner {
    width: 100vw !important;
    max-width: 100vw !important;
    padding: 0 !important;
    min-height: 143.4px !important;
    height: 143.4px !important;
    align-items: center !important;
  }

  body.sg-elementor-home .sg-memberships-row.e-con {
    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: 100vw !important;
    transform: translateX(-50%) !important;
  }

  /* S5 How-it-works @1440:
   * Root cause of Δ+6.3: double pad on .hiw-text (widget 18 + p 18 → contentW 156)
   * made longer blurbs wrap 3 lines; stretch+margin-top:auto then equalized all
   * cards to that taller height (img auto ≈32.55 vs prod 26.25).
   * Fix: single 18px pad on widgets only; stretch title/text; keep margin-top:auto
   * on image WIDGET (prod equalizes variable img heights); never on <img>.
   * Arrows align-self center so they don't inflate the row. */
  body.sg-elementor-home .hiw-card.e-con {
    height: auto !important;
    min-height: 0 !important;
    align-self: stretch !important;
  }
  body.sg-elementor-home .hiw-card.e-con > .e-con-inner {
    height: 100% !important;
    min-height: 0 !important;
    flex-grow: 1 !important;
    flex: 1 1 auto !important;
    align-items: stretch !important;
  }
  body.sg-elementor-home .hiw-card .hiw-title,
  body.sg-elementor-home .hiw-card .elementor-element[class*="sghiwt"],
  body.sg-elementor-home .hiw-card .elementor-element[class*="sghiwx"],
  body.sg-elementor-home .hiw-card .elementor-widget-text-editor {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
  }
  /* Kill double Elementor pad: .hiw-text / heading already inside padded widget */
  body.sg-elementor-home .hiw-card .hiw-text,
  body.sg-elementor-home .hiw-card p.hiw-text,
  body.sg-elementor-home .hiw-card .hiw-title .elementor-heading-title,
  body.sg-elementor-home .hiw-card h4.hiw-title {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.sg-elementor-home .hiw-card .hiw-text,
  body.sg-elementor-home .hiw-card p.hiw-text {
    font-size: 14px !important;
    line-height: 1.45 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  /* Emulate prod .hiw-card-body padding-bottom:14 (inner already has pt 34) */
  body.sg-elementor-home .hiw-card .elementor-widget-text-editor,
  body.sg-elementor-home .hiw-card .elementor-element[class*="sghiwx"] {
    padding-bottom: 14px !important;
  }
  body.sg-elementor-home .hiw-row .elementor-widget-html,
  body.sg-elementor-home .sg-hiw-row .elementor-widget-html,
  body.sg-elementor-home .hiw-row .hiw-arrow,
  body.sg-elementor-home .sg-hiw-row .hiw-arrow {
    align-self: center !important;
    height: auto !important;
    min-height: 0 !important;
    margin-top: 26px !important;
  }
  /* Restored auto on WIDGET only (prod equalizes variable img heights) */
  body.sg-elementor-home .hiw-card .elementor-widget-image.hiw-img,
  body.sg-elementor-home .hiw-card.e-con .hiw-img.elementor-widget-image {
    margin-top: auto !important;
    margin-bottom: 0 !important;
  }
  body.sg-elementor-home .hiw-card .hiw-img img,
  body.sg-elementor-home .hiw-card .elementor-widget-image.hiw-img img,
  body.sg-elementor-home .hiw-card img.hiw-img {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
/* === sg-home-rest-desktop END === */

/* === sg-legal START === */
/* Matches live prod #privacy @1440: white page, purple H1, ~col-md-8 centered body. */
body.sg-legal .sg-legal-page.e-con,
body.sg-legal .sg-legal-page.e-con > .e-con-inner {
  --display: flex !important;
  display: flex !important;
  flex-direction: column !important;
  background: #ffffff !important;
  max-width: 1480px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 80px 20px !important;
  gap: 0 !important;
  row-gap: 0 !important;
}

body.sg-legal .sg-legal-page.e-con > .e-con-inner {
  max-width: 770px !important; /* ~Bootstrap col-md-8 of ~1140 */
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
}

body.sg-legal .sg-legal-title .elementor-heading-title,
body.sg-legal .sg-legal-page h1 {
  color: #2c007c !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 60px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  text-align: left !important;
  margin: 0 0 40px !important;
  padding: 0 !important;
}

body.sg-legal .sg-legal-body,
body.sg-legal .sg-legal-body .elementor-widget-container,
body.sg-legal .sg-legal-body .elementor-text-editor {
  color: #414141 !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
}

body.sg-legal .sg-legal-body p {
  margin: 0 0 1.1em !important;
}

body.sg-legal .sg-legal-body a {
  color: #f39704 !important;
}

body.sg-legal .sg-legal-body table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 1em 0 1.5em !important;
}

body.sg-legal .sg-legal-body table tr,
body.sg-legal .sg-legal-body table td,
body.sg-legal .sg-legal-body table th {
  border: 1px solid #ccc !important;
  padding: 8px 10px !important;
  vertical-align: top !important;
}

body.sg-legal .sg-pricing-page,
body.sg-pricing .sg-pricing-page.e-con,
body.sg-pricing .sg-pricing-page.e-con > .e-con-inner {
  --display: block !important;
  display: block !important;
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
}

body.sg-pricing .sg-pricing-embed,
body.sg-pricing .elementor-widget-html.sg-pricing-embed,
body.sg-pricing .elementor-widget-html .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

@media only screen and (max-width: 991px) {
  body.sg-legal .sg-legal-page.e-con,
  body.sg-legal .sg-legal-page.e-con > .e-con-inner {
    padding: 50px 20px !important;
  }

  body.sg-legal .sg-legal-title .elementor-heading-title,
  body.sg-legal .sg-legal-page h1 {
    font-size: 45px !important;
    line-height: 1.1 !important;
    margin-bottom: 28px !important;
  }
}
/* === sg-legal END === */

/* === sg-ssc-p5 START ===
   Solution Shopping Centre: replicate prod (smartgifty.com, Astra + Bootstrap 4) geometry at >=992px.
   Prod: .ast-container (20px gutters, max 1480) > .row (-12.75px) > .col-lg-*; values measured with
   computed styles on prod at 1440/1366/1280. */
@media (min-width: 992px) {
  body.sg-solution-shopping .sg-solution-roles.e-con { padding: 0 20px !important; }
  body.sg-solution-shopping .sg-solution-role.e-con > .e-con-inner {
    margin: 0 -12.75px !important; width: calc(100% + 25.5px) !important; max-width: none !important;
    padding: 0 !important; align-items: stretch !important;
  }
  body.sg-solution-shopping .sg-solution-role--1.e-con > .e-con-inner { padding-bottom: 50px !important; }
  body.sg-solution-shopping .sg-solution-role--2.e-con > .e-con-inner { padding-bottom: 100px !important; }
  body.sg-solution-shopping .sg-solution-role--text-first .sg-solution-role__text,
  body.sg-solution-shopping .sg-solution-role--text-only .sg-solution-role__text {
    flex: 0 0 41.666667% !important; max-width: 41.666667% !important; margin-left: 8.333333% !important;
    padding: 60px 72.75px !important; box-sizing: border-box !important;
  }
  body.sg-solution-shopping .sg-solution-role--text-only .sg-solution-role__text { padding-top: 0 !important; }
  body.sg-solution-shopping .sg-solution-role--image-first .sg-solution-role__text {
    flex: 0 0 41.666667% !important; max-width: 41.666667% !important; margin-left: 0 !important;
    padding: 60px 72.75px !important; box-sizing: border-box !important;
  }
  body.sg-solution-shopping .sg-solution-role--text-first .sg-solution-role__visual {
    flex: 0 0 50% !important; max-width: 50% !important; min-height: 0 !important; padding: 0 12.75px !important; box-sizing: border-box !important;
  }
  body.sg-solution-shopping .sg-solution-role--image-first .sg-solution-role__visual {
    flex: 0 0 41.666667% !important; max-width: 41.666667% !important; min-height: 0 !important; padding: 0 12.75px !important; box-sizing: border-box !important;
  }
  body.sg-solution-shopping .sg-solution-roles .sg-solution-role .elementor-widget-text-editor p {
    color: #212529 !important; line-height: 25.5px !important; margin: 8.5px 0 17px !important;
  }
}
@media (min-width: 992px) {
  body.sg-solution-shopping .sg-solution-role__text.e-con, body.sg-solution-shopping .sg-solution-role__text.e-con > .e-con-inner { gap: 0 !important; }
  body.sg-solution-shopping .sg-solution-roles .sg-solution-role .elementor-widget-text-editor p { margin-top: 8.5px !important; }
}
@media (min-width: 992px) {
  /* prod bootstrap geometry: .ast-container (20px gutters, max 1480) > .row > .col-lg-10.offset-lg-1 */
  body.sg-solution-shopping .sg-solution-unsure.e-con.sg-solution-unsure,
  body.sg-solution-shopping .sg-solution-numbers.e-con,
  body.sg-solution-shopping #numbers.sg-solution-numbers.e-con {
    padding-left: calc(max(20px, (100% - 1440px) / 2) + (min(100%, 1480px) - 14.5px) / 12) !important;
    padding-right: calc(max(20px, (100% - 1440px) / 2) + (min(100%, 1480px) - 14.5px) / 12) !important;
  }
  body.sg-solution-shopping .sg-solution-unsure.e-con.sg-solution-unsure { padding-top: 60px !important; padding-bottom: 60px !important; gap: 0 !important; justify-content: flex-start !important; align-items: flex-start !important; }
  body.sg-solution-shopping .sg-solution-unsure.e-con > .e-con-inner { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; gap: 0 !important; justify-content: flex-start !important; }
  body.sg-solution-shopping .sg-solution-unsure .cta-text.elementor-widget { flex: 0 0 auto !important; width: calc((100% + 25.5px) * 0.2 - 12.75px) !important; max-width: none !important; margin: 0 !important; }
  body.sg-solution-shopping .sg-solution-unsure .sg-button-orange.elementor-widget { margin: 0 !important; }

  /* Core Benefits: .key-features (pt 40) > .key-features-wrapper (p 60) > .row > .col-lg-11.offset-lg-1 */
  body.sg-solution-shopping .sg-solution-benefits.e-con {
    padding: 100px max(20px, calc((100% - 1440px) / 2)) 60px !important; gap: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-benefits__watermark.elementor-widget,
  body.sg-solution-shopping .sg-solution-faq .title.elementor-widget-heading {
    width: auto !important; max-width: none !important; align-self: stretch !important;
    margin: 0 60px 0 calc(60px + (100% - 94.5px) / 12) !important;
  }
  body.sg-solution-shopping .sg-solution-benefits h2.elementor-heading-title,
  body.sg-solution-shopping .sg-solution-faq .title h2.elementor-heading-title {
    font-family: "Gilroy Extra Bold", sans-serif !important; font-size: 60px !important; line-height: 40px !important;
    font-weight: 500 !important; color: #414141 !important; text-align: left !important;
    padding: 0 0 60px !important; margin: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-benefits__grid.e-con {
    width: calc((100% - 94.5px) * 11 / 12) !important; max-width: none !important; align-self: flex-start !important;
    margin: 59.5px 0 0 calc(60px + (100% - 94.5px) / 12 - 12.75px) !important; padding: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-benefits__grid.e-con > .e-con-inner {
    width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; gap: 0 !important;
    flex-wrap: nowrap !important; align-items: stretch !important; display: flex !important; flex-direction: row !important;
  }
  body.sg-solution-shopping .sg-solution-benefits__col.e-con {
    flex: 0 0 25% !important; width: 25% !important; max-width: 25% !important; padding: 0 5% 0 12.75px !important; margin: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-benefits__col.e-con > .e-con-inner { padding: 0 !important; gap: 0 !important; width: 100% !important; max-width: none !important; margin: 0 !important; }
  body.sg-solution-shopping .sg-solution-benefits__col .elementor-widget { margin: 0 !important; }
  body.sg-solution-shopping .sg-solution-benefits__col h3.elementor-heading-title {
    font-family: "Gilroy Extra Bold", sans-serif !important; font-size: 20px !important; line-height: 40px !important; font-weight: 500 !important;
    color: #f39704 !important; margin: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-benefits__col ul { margin: 17px 0 17px 51px !important; padding: 0 0 0 34px !important; list-style: disc outside !important; }
  body.sg-solution-shopping .sg-solution-benefits__col li {
    margin: 0 !important; padding: 0 !important; font-family: Archivo, sans-serif !important; font-size: 17px !important; line-height: 25.5px !important; color: #212529 !important;
  }
  body.sg-solution-shopping .sg-solution-benefits__col li::before { content: none !important; display: none !important; }
  body.sg-solution-shopping .sg-solution-benefits__col li strong { color: inherit !important; font-weight: 700 !important; }

  /* FAQ: second .key-features-wrapper + .qae-faqs-container.col-lg-11.offset-lg-1 */
  body.sg-solution-shopping .sg-solution-faq.e-con { padding: 60px max(20px, calc((100% - 1440px) / 2)) 0 !important; gap: 0 !important; }
  body.sg-solution-shopping .sg-solution-faq .title.elementor-widget-heading { margin-bottom: 68.5px !important; }
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle.e-con {
    width: auto !important; max-width: none !important; align-self: stretch !important; margin: 0 0 2px calc(100% / 12) !important;
  }
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle .elementor-widget-heading,
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle + .qe-faq-toggle .elementor-widget-heading,
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle .elementor-widget-heading:hover,
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle.is-open .elementor-widget-heading,
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle.active .elementor-widget-heading {
    background: #fff !important; border: 1px solid #fff !important; padding: 30px !important;
  }
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle .elementor-heading-title {
    display: block !important; font-family: "Gilroy Extra Bold", sans-serif !important; font-size: 30px !important; line-height: 36px !important;
    font-weight: 500 !important; color: #2c007c !important; padding-left: 15px !important;
  }
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle .elementor-heading-title::before { content: none !important; display: none !important; }
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle .elementor-widget-text-editor,
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle .qe-toggle-content { border-color: #fff !important; padding: 25.5px 25.5px 5.1px !important; }
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle .elementor-widget-text-editor p { margin: 0 0 17px !important; line-height: 25.5px !important; }

  /* Gift cards in numbers */
  body.sg-solution-shopping .sg-solution-numbers .e-con-boxed.e-con { width: 100% !important; max-width: none !important; }
  body.sg-solution-shopping .sg-solution-numbers .e-con-boxed.e-con > .e-con-inner { width: 100% !important; max-width: none !important; margin: 0 !important; }
  body.sg-solution-shopping .sg-solution-numbers__full.e-con > .e-con-inner { display: block !important; padding: 40px 0 25px !important; font: 17px/25.5px Archivo, sans-serif !important; }
  body.sg-solution-shopping .sg-solution-numbers__full .elementor-widget,
  body.sg-solution-shopping .sg-solution-numbers__full .elementor-widget > *,
  body.sg-solution-shopping .sg-solution-numbers__full .elementor-widget p { display: inline !important; margin: 0 !important; padding: 0 !important; width: auto !important; }
  body.sg-solution-shopping .sg-solution-numbers__full .number-first,
  body.sg-solution-shopping .sg-solution-numbers__full .number-first .elementor-heading-title { font-size: 90px !important; line-height: 26px !important; }
  body.sg-solution-shopping .sg-solution-numbers__full .text-first,
  body.sg-solution-shopping .sg-solution-numbers__full .text-first p { font-size: 30px !important; line-height: 26px !important; }
  body.sg-solution-shopping .sg-solution-numbers .sg-solution-numbers__two.e-con-boxed.e-con > .e-con-inner,
  body.sg-solution-shopping .sg-solution-numbers .sg-solution-numbers__three.e-con-boxed.e-con > .e-con-inner {
    margin: 0 -12.75px !important; width: calc(100% + 25.5px) !important; gap: 0 !important; flex-wrap: nowrap !important; align-items: flex-start !important; display: flex !important; flex-direction: row !important;
  }
  body.sg-solution-shopping .sg-solution-numbers__two .sg-solution-numbers__cell.e-con { flex: 0 0 50% !important; width: 50% !important; max-width: 50% !important; margin: 0 !important; }
  body.sg-solution-shopping .sg-solution-numbers__two .sg-solution-numbers__cell.e-con:first-child { padding: 60px 0 40px 12.75px !important; background-clip: content-box; }
  body.sg-solution-shopping .sg-solution-numbers__two .sg-solution-numbers__cell.e-con:last-child { padding: 60px 12.75px 40px 40px !important; }
  body.sg-solution-shopping .sg-solution-numbers__three .sg-solution-numbers__cell.e-con { flex: 0 0 33.333333% !important; width: 33.333333% !important; max-width: 33.333333% !important; padding: 0 12.75px !important; margin: 0 0 80px !important; }
  body.sg-solution-shopping .sg-solution-numbers__three .sg-solution-numbers__cell.e-con > .e-con-inner { padding: 40px 35px 40px 0 !important; }
  body.sg-solution-shopping .sg-solution-numbers__cell.e-con > .e-con-inner { display: block !important; gap: 0 !important; width: 100% !important; margin: 0 !important; }
  body.sg-solution-shopping .sg-solution-numbers__cell .elementor-widget { display: block !important; margin: 0 !important; font: 17px/25.5px Archivo, sans-serif !important; width: auto !important; }
  body.sg-solution-shopping .sg-solution-numbers__cell .elementor-widget p { display: inline !important; margin: 0 !important; }
  body.sg-solution-shopping .sg-solution-numbers__cta.e-con > .e-con-inner { display: block !important; padding: 0 !important; font: 17px/25.5px Archivo, sans-serif !important; color: #fff; }
  body.sg-solution-shopping .sg-solution-numbers__cta .elementor-widget { display: inline-block !important; vertical-align: baseline !important; width: auto !important; margin: 0 !important; }
  body.sg-solution-shopping .sg-solution-numbers__cta .cta-text .elementor-heading-title { margin: 0 !important; padding: 0 40px 0 0 !important; }
}
@media (min-width: 992px) {
  body.sg-solution-shopping .sg-solution-numbers__full .number-first.elementor-widget,
  body.sg-solution-shopping .sg-solution-numbers__full .text-first.elementor-widget { font-size: 0 !important; }
}
body.sg-solution-shopping .sg-calc-run .elementor-button,
body.sg-solution-shopping .sg-calc-run .elementor-button * { font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji" !important; }
body.sg-solution-shopping .sg-solution-calc .elementor-widget-text-editor,
body.sg-solution-shopping .sg-solution-calc .elementor-widget-text-editor p { font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji" !important; }
@media (min-width: 992px) {
  body.sg-solution-shopping .sg-solution-features__grid.e-con { margin-top: 8.5px !important; }
}

/* Watch-video circle content as prod: inline label + inline 24px icon on 17px/25.5px lines. */
body.sg-solution-shopping .sg-solution-roles .inside-circle,
body.sg-solution-shopping .sg-solution-roles .inside-circle-2 { font-size: 17px; line-height: 25.5px; }
body.sg-solution-shopping .sg-solution-roles .inside-circle .text,
body.sg-solution-shopping .sg-solution-roles .inside-circle-2 .text { display: inline; font-size: 18px; color: #fff; font-family: Archivo, sans-serif; font-weight: 400; }
body.sg-solution-shopping .sg-solution-roles .inside-circle img,
body.sg-solution-shopping .sg-solution-roles .inside-circle-2 img { display: inline; width: auto; height: auto; margin: 0; vertical-align: middle; }
/* Desktop circle: hidden until solution.js places it on the line (prod parks it off-screen until then). */
@media (min-width: 992px) {
  body.sg-solution-shopping #youtube-circle { visibility: hidden; }
}
/* Mobile/tablet circle (prod #youtube-circle-2): hidden on desktop; below 992px it sits at the
   top-right of the "Selling points" column (prod: right edge 20px from the viewport, top = h3 top). */
body.sg-solution-shopping .sg-solution-role__text .sg-yc2.elementor-widget { display: none !important; }
body.sg-solution-shopping #youtube-circle-2 { position: relative; height: 0; }
body.sg-solution-shopping .watch-video-circle-2 {
  box-shadow: 9px 8px 50px 0 #afafaf; z-index: 1; width: 80px; height: 80px; border-radius: 50%;
  position: absolute; top: 0; right: 0; background-color: #592ddf; text-align: center; transition: 0.25s ease-in-out;
}
body.sg-solution-shopping .watch-video-circle-2:hover { background-color: #4815a7; }
body.sg-solution-shopping .watch-video-circle-2 .inside-circle-2 { margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); line-height: 16px; }
body.sg-solution-shopping .watch-video-circle-2 .inside-circle-2 .text { font-size: 14px; line-height: 16px; }
@media (max-width: 991px) {
  body.sg-solution-shopping .sg-solution-role--1 .sg-solution-role__text.e-con { position: relative !important; }
  body.sg-solution-shopping #youtube-circle-2 { display: block; }
  body.sg-solution-shopping .sg-solution-role__text .sg-yc2.elementor-widget {
    display: block !important; position: absolute !important; top: 16px; right: 0; width: 80px !important; height: 0; margin: 0 !important; z-index: 2;
  }
}

/* Fluid prod column (Bootstrap .col-lg-10.offset-lg-1 inside .ast-container) instead of a fixed 1162px. */
@media (min-width: 992px) and (max-width: 1479px) {
  body.sg-solution-shopping { --sg-ssc-col-w: calc((100% - 14.5px) * 10 / 12 - 25.5px); }
}
@media (min-width: 1480px) {
  body.sg-solution-shopping { --sg-ssc-col-w: 1195.75px; }
}
@media (min-width: 992px) {
  /* prod .col-wrapper.cw1 (padding 60) > .row: width = col - 120 + 25.5, x = col + 60 - 12.75 */
  body.sg-solution-shopping .sg-solution-features__grid.e-con { width: calc(100% - 94.5px) !important; max-width: none !important; margin-left: 47.25px !important; }
}
/* === sg-ssc-p5 END === */

/* === sg-demo-p5 START — get-your-demo prod parity @1440 (Phase 5) ===
 * Prod CF7: inputs/selects 320.9 wide (97% of the half column), textarea 687.25;
 * consent label 7.5px under the textarea (51px tall, input line-height 0); submit 20.4px under
 * "Fields marked…"; 80px white space between the call CTA and the footer. */
body.sg-get-demo .sg-demo-form .elementor-field-group input[type="text"],
body.sg-get-demo .sg-demo-form .elementor-field-group input[type="email"],
body.sg-get-demo .sg-demo-form .elementor-field-group input[type="tel"],
body.sg-get-demo .sg-demo-form .elementor-field-group .elementor-select-wrapper,
body.sg-get-demo .sg-demo-form .elementor-field-group .elementor-select-wrapper.elementor-field {
  flex: 0 0 auto !important;
  width: var(--sg-demo-half-input-w) !important;
}
body.sg-get-demo .sg-demo-form .elementor-field-group textarea.elementor-field {
  flex: 0 0 auto !important;
  width: 100% !important;
}
body.sg-get-demo .sg-demo-form .elementor-field-type-textarea {
  margin-bottom: 7.5px !important;
}
body.sg-get-demo .sg-demo-form .elementor-field-type-acceptance input[type="checkbox"] {
  line-height: 0 !important;
  vertical-align: top !important;
  margin-top: 1.8px !important; /* prod box sits 1.8px under the label top; keeps the line box at 25.5 */
}
body.sg-get-demo .sg-demo-form .elementor-field-type-submit {
  margin-top: 20.4px !important;
}
body.sg-get-demo .sg-demo-contact.e-con {
  padding-bottom: 80px !important;
}
/* === sg-demo-p5 END === */

/* === sg-legal-p5 START — legal pages prod parity (design only; content untouched) ===
 * Prod #privacy/#cookie/#terms: .ast-container (max 1480, pad 20) > .row > .col-md-8.offset-md-2
 * → text column x=257.6 / w=924.8 @1440; text #212529 17/25.5; H1 60/66 #2c007c, pb 40, mb 8.5;
 * paragraphs mb 17. The legal e-con is full-width (no e-con-inner), so pad the container itself. */
@media (min-width: 768px) {
  body.sg-legal .sg-legal-page.e-con {
    padding-left: calc((100% - min(100%, 1480px) + 40px) / 2 + (min(100%, 1480px) - 14.5px) / 6) !important;
    padding-right: calc((100% - min(100%, 1480px) + 40px) / 2 + (min(100%, 1480px) - 14.5px) / 6) !important;
  }
}
body.sg-legal .sg-legal-title .elementor-heading-title,
body.sg-legal .sg-legal-page h1 {
  font-weight: 500 !important;
  line-height: 66px !important;
  margin: 0 0 8.5px !important;
  padding: 0 0 40px !important;
}
body.sg-legal .sg-legal-body,
body.sg-legal .sg-legal-body .elementor-widget-container,
body.sg-legal .sg-legal-body .elementor-text-editor,
body.sg-legal .sg-legal-body p,
body.sg-legal .sg-legal-body li,
body.sg-legal .sg-legal-body td,
body.sg-legal .sg-legal-body th {
  color: #212529 !important;
  line-height: 25.5px !important;
}
body.sg-legal .sg-legal-body p {
  margin: 0 0 17px !important;
}
body.sg-legal .sg-legal-body figure,
body.sg-legal .sg-legal-body .wp-block-table {
  margin: 0 0 17px !important;
  overflow-x: auto; /* as core .wp-block-table: keeps the table's 25.5px margin inside the figure */
}
body.sg-legal .sg-legal-body table {
  font-size: 17px !important;
  margin: 0 0 25.5px !important;
}
body.sg-legal .sg-legal-body table tr,
body.sg-legal .sg-legal-body table td,
body.sg-legal .sg-legal-body table th {
  padding: 8.5px !important;
  font-size: 17px !important;
  background: transparent !important;
  border: 1px solid #ccc !important;
}
body.sg-legal .sg-legal-body table tr { padding: 0 !important; }
/* === sg-legal-p5 END === */

/* === sg-home-p5 START — home details prod parity @1440 (Phase 5) === */
/* "How it works" feature row: prod .hiw-feature = icon 28 + 12px gap + left-aligned text
 * (strong Archivo 700 17/22.1 #120033, span 14/18.2 #6b6480). */
.hiw-features .hiw-feature.e-con > .e-con-inner { gap: 12px !important; }
.hiw-feature-text.e-con,
.hiw-feature-text.e-con > .e-con-inner { align-items: flex-start !important; }
.hiw-feature .elementor-heading-title {
  font-family: Archivo, sans-serif !important;
  line-height: 22.1px !important;
}
.hiw-feature p { line-height: 18.2px !important; }
/* Bottom CTA subtitle: prod h3.subtitle #414141 in the col-lg-10 offset-1 box (x 136.7 / w 1166.7). */
body.sg-elementor-home .sg-cta-html .elementor-element-sgctah3 .elementor-heading-title { color: #414141 !important; }
/* Bottom CTA buttons (all pages using the shared sgctabtns block): prod inline-block pair,
 * 25.5px margin + inline whitespace ≈ 29px apart, Archivo 400 18/27, no shadow. */
body .sg-cta-html .button-row.e-con.elementor-element-sgctabtns > .e-con-inner { gap: 29px !important; }
.elementor-element-sgctabtns .elementor-button {
  font-weight: 400 !important;
  line-height: 27px !important;
  box-shadow: none !important;
}
.elementor-element-sgctabtns .elementor-button * { font-weight: 400 !important; line-height: 27px !important; }
.hiw-features .hiw-feature-logo.e-con { max-width: none !important; }
/* === sg-home-p5 END === */

/* Final small desktop offsets recorded in the production home comparison. */
@media (min-width: 992px) {
  /* Keep the value band aligned with the 700px production hero. */
  body.sg-elementor-home .sg-home-value {
    padding-top: 340px !important;
  }

  body.sg-elementor-home .sg-home-faq .qe-faq-toggle .elementor-widget-heading {
    padding-left: 30px !important;
  }

  /* Match production's 26px plus icon, 15px icon margin and leading text
   * space. The local question uses a flex ::before marker instead of <i>. */
  body.sg-elementor-home .sg-home-faq .qe-faq-toggle .elementor-heading-title {
    gap: 24px !important;
  }

  body.sg-elementor-home .sg-home-faq .qe-faq-toggle .elementor-heading-title::before {
    width: 26px !important;
    height: 26px !important;
    flex-basis: 26px !important;
    background-size: 26px 26px !important;
  }

  body.sg-elementor-home .hiw-row .hiw-arrow,
  body.sg-elementor-home .sg-hiw-row .hiw-arrow,
  body.sg-elementor-home .hiw-row .elementor-widget-html,
  body.sg-elementor-home .sg-hiw-row .elementor-widget-html {
    margin-top: 0 !important;
  }

  body.sg-elementor-home .hiw-card .hiw-badge .elementor-heading-title {
    line-height: 30px !important;
  }

  body.sg-elementor-home .sg-home-stats .elementor-element-sgstatsh3.subtitle,
  body.sg-elementor-home .sg-home-stats .elementor-element-sgstatsh3.subtitle p {
    font-weight: 500 !important;
  }

  body.sg-elementor-home .elementor-element-sgvalgu .elementor-button,
  body.sg-elementor-home .elementor-element-sgvalgu .elementor-button *,
  body.sg-elementor-home .elementor-element-sgbenct .elementor-button,
  body.sg-elementor-home .elementor-element-sgbenct .elementor-button *,
  body.sg-elementor-home .elementor-element-sgctact .elementor-button,
  body.sg-elementor-home .elementor-element-sgctact .elementor-button * {
    line-height: 20.4px !important;
  }
}

/* Mobile homepage: keep the first decision clear and comfortably tappable. */
@media (max-width: 767px) {
  body.sg-elementor-home .sg-home-hero .sg-home-hero__inner.e-con > .e-con-inner {
    padding: 36px 20px 28px !important;
  }

  body.sg-elementor-home .sg-home-hero .sg-home-hero__content {
    max-width: 560px !important;
  }

  body.sg-elementor-home .sg-home-hero .sg-home-hero__eyebrow,
  body.sg-elementor-home .sg-home-hero .sg-home-hero__eyebrow p {
    margin: 0 auto 10px !important;
    font-size: clamp(25px, 7.2vw, 30px) !important;
    line-height: 1.12 !important;
  }

  body.sg-elementor-home .sg-home-hero h1,
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroh1 .elementor-heading-title {
    max-width: 16ch;
    margin: 0 auto !important;
    font-size: clamp(34px, 9vw, 40px) !important;
    line-height: 1.1 !important;
    text-wrap: balance;
  }

  body.sg-elementor-home .sg-home-hero .sg-home-hero__lead,
  body.sg-elementor-home .sg-home-hero .sg-home-hero__lead p {
    max-width: 34ch;
    margin: 16px auto 0 !important;
    font-size: 18px !important;
    line-height: 1.5 !important;
  }

  body.sg-elementor-home .sg-home-hero__actions.e-con > .e-con-inner {
    gap: 12px !important;
    margin-top: 24px !important;
  }

  body.sg-elementor-home .sg-home-hero__actions .elementor-button {
    min-height: 56px !important;
    border-radius: 12px !important;
  }

  body.sg-elementor-home .sg-home-hero__audiences {
    gap: 10px !important;
    margin-top: 24px !important;
  }

  body.sg-elementor-home .sg-home-hero__audiences a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 10px 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.055);
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheropd {
    width: 100% !important;
    max-width: 560px !important;
    margin: 24px auto 0 !important;
  }
}

@media (min-width: 992px) {
  body.sg-elementor-home .sg-home-hero .sg-home-hero__content.e-con,
  body.sg-elementor-home .sg-home-hero .sg-home-hero__content.e-con > .e-con-inner {
    width: min(817px, calc(100vw - 160px)) !important;
    max-width: min(817px, calc(100vw - 160px)) !important;
  }
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroh1,
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroh1 .elementor-widget-container,
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroh1 .elementor-heading-title {
    width: min(817px, calc(100vw - 160px)) !important;
    max-width: min(817px, calc(100vw - 160px)) !important;
  }
  body.sg-elementor-home .sg-home-hero .sg-home-hero__eyebrow {
    width: min(817px, calc(100vw - 160px)) !important;
    max-width: min(817px, calc(100vw - 160px)) !important;
  }
  body.sg-elementor-home .sg-home-value .sg-section-heading .elementor-widget-text-editor {
    box-sizing: border-box !important;
    width: min(940px, calc(100% - 60px)) !important;
    max-width: min(940px, calc(100% - 60px)) !important;
    margin: 28px 30px 34px !important;
    color: rgba(255,255,255,.9) !important;
    font-family: "Gilroy Light", sans-serif !important;
    font-size: 25.6px !important;
    font-weight: 400 !important;
    line-height: 38.4px !important;
    text-align: center !important;
  }
  body.sg-elementor-home .sg-home-value .sg-section-heading .elementor-widget-text-editor .elementor-widget-container,
  body.sg-elementor-home .sg-home-value .sg-section-heading .elementor-widget-text-editor p {
    color: inherit !important;
    font: inherit !important;
    text-align: center !important;
  }
  body.sg-elementor-home .sg-home-value .sg-section-heading .elementor-widget-text-editor p {
    margin: 0 !important;
  }
}

/* Match production's narrower Bootstrap columns between the tablet and
 * full desktop breakpoints. The 1440px tokens above remain unchanged. */
@media (min-width: 992px) and (max-width: 1280px) {
  :is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) {
    --sg-blog-col-w: 818px;
    --sg-blog-grid-w: 818px;
  }

  body.sg-faq {
    --sg-faq-col-pad: 231px;
  }

  body.sg-contact {
    --sg-contact-h1-x: max(20px, calc((100vw - min(1162px, 80.73vw)) / 2 + 2px));
  }

  body.sg-about {
    --sg-about-h1-x: max(20px, calc((100vw - min(1162px, 80.73vw)) / 2 + 2px));
  }
  body.sg-about .sg-about-body.e-con {
    box-sizing: border-box !important;
    gap: 131px !important;
    padding-left: 231px !important;
    padding-right: 126px !important;
  }
  body.sg-about .sg-about-approach.e-con,
  body.sg-about .sg-about-leadership.e-con {
    flex: 0 0 396px !important;
    width: 396px !important;
    max-width: 396px !important;
  }

  body.sg-solution-smb .sg-smb-hero.e-con,
  body.sg-solution-smb .sg-smb-pitch.e-con,
  body.sg-solution-smb .sg-smb-audiences.e-con,
  body.sg-solution-smb .sg-smb-benefits.e-con,
  body.sg-solution-smb .sg-smb-hiw.e-con,
  body.sg-solution-smb .sg-smb-models.e-con,
  body.sg-solution-smb .sg-smb-journey.e-con,
  body.sg-solution-smb .sg-smb-core.e-con,
  body.sg-solution-smb .sg-smb-visit.e-con,
  body.sg-solution-smb .sg-smb-faq.e-con,
  body.sg-solution-smb .sg-smb-cta.e-con {
    --sg-smb-col10: min(1162px, 80.73vw);
  }

  body.sg-solution-mlb .sg-mlb-hero.e-con > .elementor-element,
  body.sg-solution-mlb .sg-mlb-intro.e-con > .elementor-element,
  body.sg-solution-mlb .sg-mlb-benefits.e-con > .elementor-element,
  body.sg-solution-mlb .sg-mlb-core.e-con > .elementor-element,
  body.sg-solution-mlb .sg-mlb-loyalty.e-con > .elementor-element,
  body.sg-solution-mlb .sg-mlb-faq.e-con > .elementor-element,
  body.sg-solution-mlb .sg-mlb-numbers.e-con > .elementor-element,
  body.sg-solution-mlb .sg-mlb-hero .sg-mlb-hero__inner,
  body.sg-solution-mlb .sg-mlb-hero .sg-mlb-hero__inner.e-con,
  body.sg-solution-mlb .sg-mlb-intro .elementor-widget-text-editor {
    max-width: min(1162px, 80.73vw) !important;
  }

  body.sg-contact {
    /* Keep the form at the production 63vw measure around tablet landscape;
       the narrower former value caused extra wrapping and pushed CTAs down. */
    --sg-contact-col-w: min(687.25px, 63.28vw);
  }

  body.sg-solution-smb .sg-smb-audiences.e-con {
    padding-top: 161px !important;
    padding-bottom: 199px !important;
  }
  body.sg-solution-smb .sg-smb-pitch h2.elementor-heading-title {
    transform: translateX(48px) !important;
  }
  body.sg-solution-mlb .elementor-element-sgmlbbh1 {
    width: 502px !important;
    max-width: 502px !important;
    transform: translateX(66px) !important;
  }
  body.sg-solution-mlb .elementor-element-sgmlbbh1 .elementor-heading-title {
    width: 502px !important;
    max-width: 502px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con > .e-con-inner {
    gap: 0 !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con {
    padding-left: max(20px, calc((100vw - 1030px) / 2)) !important;
    margin-bottom: 160px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con > .e-con-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__visual.e-con {
    flex: 0 0 482px !important;
    width: 482px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__visual img {
    width: 482px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text.e-con {
    flex: 0 0 382px !important;
    width: 382px !important;
    max-width: 382px !important;
    margin-left: 0 !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text.e-con > .e-con-inner {
    padding: 47px 0 0 !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text .title-sme,
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text .elementor-widget-text-editor {
    width: 382px !important;
    max-width: 382px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--europe.e-con {
    padding-left: max(20px, calc((100vw - 1030px) / 2)) !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--europe.e-con > .e-con-inner {
    padding-left: max(20px, calc((100vw - 1030px) / 2)) !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con {
    flex: 0 0 502px !important;
    width: 502px !important;
    max-width: 502px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con > .e-con-inner {
    padding-top: 73px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text .title-sme,
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text .elementor-widget-text-editor {
    width: 382px !important;
    max-width: 382px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .elementor-element-sgmlbbx3 {
    margin-top: -11px !important;
    margin-bottom: 65px !important;
  }

  body.sg-buy-offer-page .sg-buy-offer-hero h1 {
    width: 1029.08px !important;
    max-width: calc(100vw - 40px) !important;
    transform: translateX(-26.55px) !important;
  }

  body.sg-buy-offer-page .sg-buy-offer-hero h2 {
    width: 1029.08px !important;
    max-width: calc(100vw - 40px) !important;
    transform: translateX(-16.55px) !important;
  }

  body.sg-buy-offer-page .sg-buy-offer-hero .elementor-element-sgbocta {
    transform: translateX(-26.55px) !important;
  }

  body.sg-buy-offer-page .sg-buy-section:not(.sg-buy-logos):not(.sg-buy-guarantee),
  body.sg-buy-offer-page .sg-buy-audience-grid {
    max-width: 1029.08px !important;
  }

  body.sg-buy-offer-page .sg-buy-section > .e-con-inner {
    width: 100% !important;
    max-width: 1029.08px !important;
  }

  body.sg-buy-offer-page .sg-buy-section:not(.sg-buy-logos):not(.sg-buy-guarantee) {
    padding-top: 19px !important;
  }

  body.sg-buy-offer-page .elementor-element-sgbowhh {
    margin-bottom: -40.5px !important;
  }

  body.sg-buy-offer-page .elementor-element-sgbowintro {
    max-width: 607.3px !important;
    margin-top: 24px !important;
    margin-bottom: -88px !important;
  }
  body.sg-buy-offer-page .elementor-element-sgbowintro p {
    font-size: 16px !important;
    line-height: 24px !important;
  }
  body.sg-buy-offer-page .sg-buy-audience h3 {
    width: 607.3px !important;
    max-width: none !important;
    transform: translate(-30px, 22.6px) !important;
  }
  body.sg-buy-offer-page .sg-buy-audience ul {
    width: 548.25px !important;
    max-width: 548.25px !important;
    transform: translate(29px, 9px) !important;
  }
  body.sg-buy-offer-page .sg-buy-audience li {
    line-height: 24px !important;
  }

  body.sg-buy-offer-page .elementor-element-sgbowimage {
    transform: translate(-21.8px, -28px) !important;
  }

  body.sg-buy-offer-page .elementor-element-sgbowimage img {
    width: 396.3px !important;
  }

  body.sg-get-demo .sg-demo-hero h1,
  body.sg-get-demo .sg-demo-hero h2 {
    width: 1029.08px !important;
    max-width: calc(100vw - 40px) !important;
    transform: translateX(-13.55px) !important;
  }

  body.sg-solution-smb .sg-smb-hero h1,
  body.sg-solution-smb .sg-smb-hero h2,
  body.sg-solution-mlb .sg-mlb-hero h1,
  body.sg-solution-mlb .sg-mlb-hero h2 {
    width: 1029.08px !important;
    max-width: calc(100vw - 40px) !important;
    transform: translateX(2px) !important;
  }
}

/* Keep translated Elementor text editors styled when their content contains
 * bare text instead of the paragraph markup used by the English source. */
body.sg-solution-mlb .sg-mlb-intro .elementor-widget-text-editor > .elementor-widget-container {
  box-sizing: border-box !important;
  padding: 60px !important;
  color: #414141 !important;
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-size: 30px !important;
  line-height: 40px !important;
}
body.sg-solution-mlb .sg-mlb-intro p {
  padding: 60px !important;
  margin: 0 0 17px !important;
}

/* Keep the legacy newsletter opt-in page available as a Git-managed Elementor page. */
body .sg-newsletter-signup.e-con {
  box-sizing: border-box !important;
  min-height: 407px !important;
  padding: 80px 20px 80px !important;
  background: #ffffff !important;
}
body .sg-newsletter-signup > .elementor-widget-html {
  width: 100% !important;
  max-width: 600px !important;
  margin: 0 auto !important;
  align-self: center !important;
}
body .sg-newsletter-signup.e-con > .e-con-inner {
  width: 100% !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}
body .sg-newsletter-signup .elementor-widget-html,
body .sg-newsletter-signup .elementor-widget-container {
  width: 100% !important;
  max-width: 600px !important;
}
body .sg-newsletter-signup form input[type="email"] {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 56px !important;
  padding: 14px !important;
  border: 1px solid #eeeeee !important;
  background: #fafafa !important;
  box-shadow: none !important;
  font-size: 18px !important;
  line-height: 27px !important;
}
body .sg-newsletter-signup .mauticform-label {
  line-height: 29.7px !important;
}
@media (max-width: 767px) {
  body .sg-newsletter-signup.e-con {
    min-height: 360px !important;
    padding: 44px 20px 56px !important;
  }
}

@media (max-width: 991px) {
  body.sg-solution-mlb .sg-mlb-intro p {
    padding: 32px 0 !important;
  }
  body.sg-solution-mlb .sg-mlb-intro .elementor-widget-text-editor > .elementor-widget-container {
    padding: 32px 0 !important;
    font-size: 20px !important;
    line-height: 28px !important;
  }
}
@media (max-width: 767px) {
  body.sg-solution-mlb .sg-mlb-intro p {
    padding: 24px 0 !important;
  }
  body.sg-solution-mlb .sg-mlb-intro .elementor-widget-text-editor > .elementor-widget-container {
    padding: 24px 0 !important;
    font-size: 18px !important;
    line-height: 26px !important;
  }
}

/* Compatibility styles for legacy production widgets missing on staging. */
:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) #privacy .wp-block-heading {
  width: 818px !important;
  max-width: 100% !important;
  margin: 0 auto 30px !important;
  color: #2c007c !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 60px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

/* The imported post block markup keeps its options inline; its plugin stylesheet
   supplies the grid and card primitives. */
:is(body.sg-blog, body.sg-case-studies, body.sg-smart-perspectives, body.sg-newsletter) .apbGridPosts {
  width: 818px !important;
  max-width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
  display: grid !important;
}

/* Rebuild the production homepage hero from the existing Elementor/Nextend
   markup without depending on the premium slider runtime. */
body.sg-elementor-home #n2-ss-9,
body.sg-elementor-home #n2-ss-9-align,
body.sg-elementor-home #n2-ss-9 .n2-ss-slider-1,
body.sg-elementor-home #n2-ss-9 .n2-ss-slider-2,
body.sg-elementor-home #n2-ss-9 .n2-ss-slider-3 {
  width: 100% !important;
  height: 700px !important;
  min-height: 700px !important;
  max-width: none !important;
  overflow: hidden !important;
}
body.sg-elementor-home #n2-ss-9 { background: #2d017d; }
body.sg-elementor-home #n2-ss-9-placeholder,
body.sg-elementor-home #sg-home-hero-title { display: none !important; }
body.sg-elementor-home #n2-ss-9 .n2-ss-slide-backgrounds,
body.sg-elementor-home #n2-ss-9 .n2-ss-slide,
body.sg-elementor-home #n2-ss-9 .n2-ss-slide-background,
body.sg-elementor-home #n2-ss-9 .n2-ss-slide-background-wrap,
body.sg-elementor-home #n2-ss-9 .n2-ss-slide-background-image,
body.sg-elementor-home #n2-ss-9 .n2-ss-slide-background-color {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
body.sg-elementor-home #n2-ss-9 .n2-ss-slide-background-image {
  background-size: cover !important;
  background-position: 25% 7% !important;
  z-index: 1 !important;
}
body.sg-elementor-home #n2-ss-9 .n2-ss-slide-backgrounds { z-index: 0 !important; }
body.sg-elementor-home #n2-ss-9 .n2-ss-slide { z-index: 1 !important; }
body.sg-elementor-home #n2-ss-9 .n2-ss-slide-background-color {
  background-color: rgba(45, 1, 125, .42) !important;
  z-index: 2 !important;
}
body.sg-elementor-home .sg-home-legacy-hero + .sg-home-hero { display: none !important; }
body.sg-elementor-home #n2-ss-9 .n2-ss-layers-container {
  display: flex !important;
  width: min(1200px, calc(100% - 80px)) !important;
  height: 700px !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 2 !important;
}
body.sg-elementor-home #n2-ss-9 .n2-ss-layer-row > .n2-ss-layer,
body.sg-elementor-home #n2-ss-9 .n2-ss-layer[style*="width:"] { display: flex !important; }
body.sg-elementor-home #n2-ss-9 .n2-ss-layer-row,
body.sg-elementor-home #n2-ss-9 .n2-ss-layer-row-inner {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  width: 100% !important;
}
body.sg-elementor-home #n2-ss-9 .n2-ss-layer-row-inner { gap: 20px; }
body.sg-elementor-home #n2-ss-9 .n2-ss-layer-row-inner > .n2-ss-layer[style*="width: 40%"] {
  flex: 0 0 68% !important;
  width: auto !important;
}
body.sg-elementor-home #n2-ss-9 .n2-ss-layer-row-inner > .n2-ss-layer[style*="width: 60%"] {
  flex: 0 0 375px !important;
}
body.sg-elementor-home #n2-ss-9item1 {
  color: #fff !important;
  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 75px !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}
body.sg-elementor-home #n2-ss-9item2 {
  color: #fff !important;
  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 50px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}
body.sg-elementor-home #n2-ss-9 .slider-subtitle {
  max-width: 600px !important;
  color: #fff !important;
  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: 30px !important;
  line-height: 1.45 !important;
}
body.sg-elementor-home #n2-ss-9 .slider-title1,
body.sg-elementor-home #n2-ss-9 .slider-title2,
body.sg-elementor-home #n2-ss-9 .slider-subtitle {
  width: 817px !important;
  max-width: min(817px, calc(100vw - 80px)) !important;
}
body.sg-elementor-home #n2-ss-9 .slider-subtitle {
  width: 600px !important;
  max-width: min(600px, calc(100vw - 80px)) !important;
}
body.sg-elementor-home #n2-ss-9 .slider-subtitle p {
  color: #fff !important;
  font-family: "Gilroy Light", sans-serif !important;
  font-size: 30px !important;
  font-weight: 300 !important;
  line-height: 45px !important;
}
body.sg-elementor-home #n2-ss-9 .n-uc-to4olTDzMrpy {
  width: 817px !important;
  max-width: min(817px, calc(100vw - 80px)) !important;
  transform: translateY(-16px) !important;
}
body.sg-elementor-home #n2-ss-9 .btn-slider-orange { width: 240px !important; max-width: 250px !important; }
body.sg-elementor-home #n2-ss-9 .n2-ss-button-container {
  width: 240px !important;
  min-height: 63px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #f39704;
  box-shadow: 0 4px 12px rgba(18, 0, 51, .3);
  color: #fff !important;
  font: 18px Archivo, sans-serif !important;
}
body.sg-elementor-home #n2-ss-9 .btn-slider-orange {
  height: 63px !important;
  min-height: 63px !important;
  padding: 0 !important;
}
body.sg-elementor-home #n2-ss-9 .n-uc-to4olTDzMrpy-inner .n2-ss-layer-row-inner > .n2-ss-layer {
  margin-right: 0 !important;
}
body.sg-elementor-home #n2-ss-9 .n-uc-to4olTDzMrpy-inner {
  transform: translateY(-20px) !important;
}
body.sg-elementor-home .wpcp-carousel-wrapper,
body.sg-elementor-home .wpcp-carousel-content-wrapper {
  width: 100% !important;
  height: auto !important;
}
body.sg-elementor-home .wpcp-carousel-section { width: 100% !important; }
body.sg-elementor-home .wpcp-carousel-preloader { display: none !important; }
body.sg-elementor-home .wpcp-carousel-section {
  height: 227px !important;
  min-height: 227px !important;
  overflow: hidden !important;
}
body.sg-elementor-home .wpcp-carousel-section .swiper-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 20px;
  width: max-content !important;
  transform: none !important;
}
body.sg-elementor-home .wpcp-carousel-section .swiper-slide {
  flex: 0 0 207px !important;
  width: 207px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.sg-elementor-home .wpcp-carousel-section .wpcp-slide-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 150px;
}
body.sg-elementor-home .wpcp-carousel-section .wpcp-slide-image img {
  display: block !important;
  width: auto !important;
  max-width: 180px !important;
  max-height: 110px !important;
  object-fit: contain !important;
}

/* Match the 535px benefit column in the production homepage. */
@media (min-width: 992px) {
  body.sg-elementor-home #subhero .sg-benefits-layout {
    width: 100% !important;
    max-width: 1240px !important;
    min-height: 1837px !important;
    position: relative !important;
    grid-template-columns: minmax(0, 535px) minmax(0, 535px) !important;
    justify-content: start !important;
    column-gap: 84px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  body.sg-elementor-home #subhero .sg-benefits-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
  }
}

/* Imported FAQ and legal pages use legacy Gutenberg headings in Bootstrap columns. */
body.sg-faq #content .wp-block-heading,
body.sg-legal #content .wp-block-heading {
  color: #2c007c !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 60px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

/* Match the typography and content width used by production's classic
   landing pages embedded as Elementor HTML widgets. */
body.sg-production-page {
  font-size: 17px;
}
/* The imported legal/case-study pages use Gutenberg block markup. Match the
   production Astra container and its classic block margins inside Elementor. */
body.sg-production-page #privacy {
  width: calc(100% - 40px) !important;
  max-width: 1240px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}
body.sg-production-page #privacy .wp-block-column.is-layout-flow > * {
  margin-block-start: 0 !important;
}
body.sg-production-page #privacy .wp-block-heading {
  margin: 0 0 8.5px !important;
  color: #414141 !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-weight: 800 !important;
}
body.sg-production-page #privacy h1.wp-block-heading {
  margin-bottom: 8.5px !important;
  color: #2c007c !important;
  font-size: 60px !important;
  line-height: 1.1 !important;
}
body.sg-production-page #privacy h2.wp-block-heading {
  font-size: 34px !important;
  line-height: 1.2 !important;
}
body.sg-production-page #privacy h4.wp-block-heading {
  font-size: 25.5px !important;
  line-height: 1.2 !important;
}
body.sg-production-page #privacy .wp-block-paragraph {
  margin: 0 0 17px !important;
}
body.sg-production-page #privacy .wp-block-spacer {
  margin: 0 !important;
}
body.sg-solution-smb #hero-sme .hero-solution-wrapper {
  padding-top: 110px !important;
}
body.sg-solution-smb #hero-sme .title {
  color: #23035e !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 60px !important;
  line-height: 66px !important;
  margin: 0 0 18px !important;
}
body.sg-solution-smb #hero-sme .subtitle {
  color: #23035e !important;
  font-family: "Gilroy Light", sans-serif !important;
  font-size: 30px !important;
  line-height: 40px !important;
  margin: 0 0 34px !important;
}
@media (min-width: 992px) {
  body.sg-solution-shopping #hero-solution .title,
  body.sg-solution-shopping #hero-solution .subtitle {
    margin-top: 0 !important;
    margin-bottom: 8.5px !important;
  }
}
body.sg-production-page #solution .main-title-sme {
  color: #2c007c !important;
  font-family: "Gilroy Extra Bold", sans-serif !important;
  font-size: 34px !important;
  line-height: 1.2 !important;
}
body.sg-production-page #solution .title-sme {
  color: #2c007c !important;
  font-family: "Gilroy Light", sans-serif !important;
  font-size: 30px !important;
  line-height: 1.2 !important;
}
body.sg-production-page #solution .key-features .title-sme {
  font-size: 34px !important;
  line-height: 1.2 !important;
}
body.sg-production-page #solution .benefit-list {
  margin-left: 3em !important;
}
body.sg-production-page #solution .ast-container {
  padding-right: 20px !important;
  padding-left: 20px !important;
}

/* Keep the migrated multi-location benefits grid at the production text measure. */
@media (min-width: 992px) {
  body.sg-production-page #solution .key-features .col-lg-3 > ul {
    margin-left: 51px !important;
    padding-left: 34px !important;
  }
  body.sg-production-page #solution .key-features .col-lg-3 > h4.subtitle-sme {
    margin: 0 0 8.5px !important;
  }
}

/* Match the two-column production order form instead of the compact Elementor defaults. */
@media (min-width: 992px) {
  body.sg-buy-offer-page .wpcf7 {
    width: 607.25px !important;
    max-width: calc(100% - 40px) !important;
    margin: 0 auto !important;
  }
  body.sg-buy-offer-page .wpcf7-form p {
    font-size: 17px !important;
    line-height: 25.5px !important;
    margin-bottom: 17px !important;
  }
  body.sg-buy-offer-page .wpcf7-form label { line-height: 25.5px !important; }
  body.sg-buy-offer-page .wpcf7-form > .row { margin-bottom: 20.4px !important; }
  body.sg-buy-offer-page .wpcf7-form p:has(input[type="submit"]) {
    min-height: 31px !important;
    margin-bottom: 20.4px !important;
  }
  body.sg-buy-offer-page .wpcf7 input:not([type="submit"]),
  body.sg-buy-offer-page .wpcf7 select {
    min-height: 55px !important;
    padding: 12.75px 16px !important;
    border: 2px solid #f39704 !important;
    border-radius: 10px !important;
    font-size: 17px !important;
    line-height: 25.5px !important;
  }

  body.sg-buy-form-page #contact h1,
  body.sg-buy-form-page #contact h2,
  body.sg-buy-form-page #contact h3 {
    margin-top: 0 !important;
    margin-bottom: 8.5px !important;
  }
  body.sg-buy-form-page #contact .contact-form { padding-top: 66px !important; }
  body.sg-buy-form-page .wpcf7 {
    width: calc(100% - 40px) !important;
    max-width: 607px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  body.sg-buy-form-page .wpcf7 { width: 607.25px !important; }
  body.sg-buy-form-page .wpcf7-form p {
    font-size: 17px !important;
    line-height: 25.5px !important;
    margin-bottom: 17px !important;
  }
  body.sg-buy-form-page .wpcf7-form p:has(input:not([type="submit"]), select) {
    margin-bottom: 37.4px !important;
  }
  body.sg-buy-form-page .wpcf7-form p:has(input[type="submit"]) {
    min-height: 31px !important;
    margin-bottom: 20.4px !important;
  }
  body.sg-buy-form-page .wpcf7-form label { line-height: 25.5px !important; }
  body.sg-buy-form-page .wpcf7 input:not([type="submit"]),
  body.sg-buy-form-page .wpcf7 select {
    min-height: 55px !important;
    padding: 12.75px 16px !important;
    border: 2px solid #f39704 !important;
    border-radius: 10px !important;
    font-size: 17px !important;
    line-height: 25.5px !important;
  }
  body.sg-buy-form-page .wpcf7 select { width: 47% !important; }
  body.sg-buy-form-page .wpcf7 input[type="submit"] { line-height: 18px !important; }
}

@media (min-width: 992px) {
  body.sg-faq #content .wp-block-heading,
  body.sg-legal #content .wp-block-heading {
    width: 818px !important;
    max-width: 100% !important;
    margin: 0 auto 30px !important;
  }
}

@media (min-width: 992px) {
  body.sg-elementor-home #circles {
    min-height: 885px !important;
  }
  body.sg-elementor-home #logos .wpcp-carousel-wrapper {
    position: relative;
    top: 0;
    margin-bottom: 0;
  }
  body.sg-elementor-home #logos {
    min-height: 327px !important;
  }
  body.sg-elementor-home #home-faq #guarantee h2.title,
  body.sg-elementor-home #home-faq .ast-container > .row ~ .row h2.title {
    width: 1033px !important;
    max-width: calc(100% - 40px) !important;
    margin: 0 auto 20px !important;
    padding-bottom: 20px !important;
    color: #414141 !important;
    font-family: "Gilroy Extra Bold", sans-serif !important;
    font-size: 60px !important;
    line-height: 1.3 !important;
  }
  body.sg-elementor-home #home-faq #guarantee .subtitle,
  body.sg-elementor-home #home-faq .ast-container > .row ~ .row .subtitle {
    color: #414141 !important;
    font-family: "Gilroy Light", sans-serif !important;
    font-size: 30px !important;
    line-height: 36px !important;
  }
  body.sg-elementor-home #memberships .wpcp-carousel-section {
    height: 143px !important;
    min-height: 143px !important;
  }

  /* The final CTA copy wraps to three lines on production at this width. */
  body.sg-elementor-home #home-faq #guarantee .subtitle,
  body.sg-elementor-home #home-faq .ast-container > .row ~ .row .subtitle {
    width: 1033px !important;
    max-width: 1033px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.sg-elementor-home #home-faq {
    min-height: 1883px !important;
  }

  /* The production demo page uses the legacy Bootstrap form spacing. */
  body.sg-get-demo #hero-demo .hero-demo-wrapper .title,
  body.sg-get-demo #hero-demo .hero-demo-wrapper .subtitle {
    position: relative !important;
    left: 16px !important;
    margin-bottom: 8.5px !important;
  }
  body.sg-get-demo #hero-demo .hero-demo-wrapper .title,
  body.sg-get-demo #hero-demo .hero-demo-wrapper .subtitle {
    width: 1029.08px !important;
    max-width: 1029.08px !important;
  }
  body.sg-get-demo #hero-demo .hero-demo-wrapper .title { top: -8px !important; }
  body.sg-get-demo #hero-demo .hero-demo-wrapper .subtitle { top: -7.5px !important; }
  body.sg-get-demo #hero-demo .hero-demo-wrapper { padding-bottom: 72px !important; }
  body.sg-get-demo #demo .upper-text {
    width: 607px !important;
    max-width: 607px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 17px !important;
  }
  body.sg-get-demo #demo .contact-form {
    box-sizing: border-box !important;
    width: 607px !important;
    max-width: 607px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-bottom: 127px !important;
    min-height: 942px !important;
  }
  body.sg-get-demo #demo .contact-form .r1,
  body.sg-get-demo #demo .contact-form .r2,
  body.sg-get-demo #demo .contact-form .r3 {
    min-height: 98px !important;
    margin-bottom: 20px !important;
  }
  body.sg-get-demo #demo .contact-form .r4 {
    min-height: 123px !important;
    margin-bottom: 20px !important;
  }
  body.sg-get-demo #demo .contact-form .r5 {
    min-height: 293px !important;
    margin-bottom: 20.4px !important;
  }
  body.sg-get-demo #demo .contact-form .wpcf7-form-control.wpcf7-submit {
    line-height: 18px !important;
  }
  body.sg-video-invite #content .wp-block-buttons {
    justify-content: center !important;
    margin-top: 0 !important;
    padding-top: 2.3px !important;
  }
  body.sg-video-invite #content .wp-block-button__link {
    display: inline-block !important;
    padding: 10px 40px !important;
    line-height: 17px !important;
  }
  body.sg-get-demo #demo .contact-form .row {
    margin-left: -13px !important;
    margin-right: -13px !important;
  }
  body.sg-get-demo #demo .contact-form label,
  body.sg-get-demo #demo .contact-form .wpcf7-list-item-label {
    line-height: 25.5px !important;
  }
  body.sg-get-demo #demo .contact-form .wpcf7-form-control-wrap {
    display: inline-block !important;
    vertical-align: top !important;
    line-height: 25.5px !important;
    width: 100% !important;
  }
  body.sg-get-demo #demo .contact-form input.wpcf7-text,
  body.sg-get-demo #demo .contact-form select.wpcf7-select {
    width: calc(100% - 10px) !important;
    box-sizing: border-box !important;
    height: 55px !important;
    padding: 12.75px !important;
    border: 2px solid #f39704 !important;
    border-radius: 12px !important;
    background-color: #fff !important;
    color: #f39704 !important;
  }
  body.sg-get-demo #demo .contact-form textarea.wpcf7-textarea {
    width: calc(100% - 2px) !important;
    box-sizing: border-box !important;
    box-sizing: border-box !important;
    border: 2px solid #f39704 !important;
    border-radius: 12px !important;
    background-color: #fff !important;
    color: #f39704 !important;
  }
  body.sg-get-demo #demo .contact-form .r5 .wpcf7-list-item > label {
    width: 590px !important;
    max-width: calc(100% - 17px) !important;
    margin-left: 17px !important;
  }
  body.sg-get-demo #demo .contact-form .r5 input[type="checkbox"] {
    width: 24px !important;
    height: 20px !important;
    margin-right: 7px !important;
    vertical-align: middle !important;
  }
  body.sg-get-demo #demo .cta {
    width: 607px !important;
    max-width: 607px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: -8px !important;
  }

}

/* Match the production cookie-policy table typography and compact cell spacing. */
body.sg-legal #privacy table th,
body.sg-legal #privacy table td {
  padding: 8.5px !important;
  color: #212529 !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 17px !important;
  line-height: 25.5px !important;
}

/* Follow the production CF7 layout on the imported contact page. */
@media (min-width: 992px) {
  body.sg-contact .wpcf7 {
    width: 607.25px !important;
    max-width: 607.25px !important;
    margin: -53px auto 0 !important;
    position: relative;
  }
  body.sg-contact .wpcf7 form.wpcf7-form {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 743px !important;
  }
  body.sg-contact .wpcf7 form .row.r1,
  body.sg-contact .wpcf7 form .row.r2,
  body.sg-contact .wpcf7 form .row.r3 {
    min-height: 98px !important;
    margin-bottom: 20px !important;
  }
  body.sg-contact .wpcf7 form .row.r4 { min-height: 293px !important; }
  body.sg-contact .wpcf7 form input[type="text"],
  body.sg-contact .wpcf7 form input[type="email"],
  body.sg-contact .wpcf7 form select {
    box-sizing: border-box !important;
    height: 55px !important;
  }
  body.sg-contact .wpcf7 form textarea {
    box-sizing: border-box !important;
    height: 150px !important;
  }
  body.sg-contact .wpcf7 form input[type="checkbox"] {
    width: 24px !important;
    height: 20px !important;
  }
  body.sg-contact .wpcf7 form input[type="submit"] {
    height: 62px !important;
    min-height: 62px !important;
  }
  body.sg-contact h1.title,
  body.sg-contact h2.subtitle { position: relative; top: -8px; }
}

@media (min-width: 992px) {
  body.sg-survey-page #hero-color {
    box-sizing: border-box !important;
    width: calc(100% - 40px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  body.sg-survey-page #hero-color .hero-color-wrapper > .ast-container {
    box-sizing: border-box !important;
    padding: 0 20px !important;
  }
  body.sg-survey-page #hero-color h1.title,
  body.sg-survey-page #hero-color h2.subtitle {
    margin: 0 0 8.5px !important;
  }
  body.sg-survey-page .mauticform-label {
    line-height: 28.05px !important;
  }
  body.sg-survey-page input.mauticform-radiogrp-radio {
    width: 23.8px !important;
    height: 20.4px !important;
    margin: -3px 4px 0 0 !important;
  }
  body.sg-survey-page input.mauticform-input[type="text"] {
    min-height: 55px !important;
  }

  body.sg-about #hero-color .hero-color-wrapper > .ast-container {
    box-sizing: border-box !important;
    padding: 0 20px !important;
  }
  body.sg-about #hero-color h1.title,
  body.sg-about #hero-color h2.subtitle {
    margin: 0 0 8.5px !important;
  }
  body.sg-about .ast-container {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  body.sg-about #content .elementor-widget-html > .ast-container {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  body.sg-about .about-box {
    padding-right: 0 !important;
    padding-left: 0 !important;
    margin-top: 3.4px !important;
  }
  body.sg-about .about-box h3.subtitle {
    margin: 0 0 8.5px !important;
  }
  body.sg-about .about-box .subbox p {
    margin-bottom: 17px !important;
  }
  body.sg-about .about-box .big-text {
    font-family: "Gilroy Extra Bold", sans-serif !important;
    font-size: 30px !important;
    line-height: 36px !important;
  }
  body.sg-solution-smb .main-title-sme,
  body.sg-solution-smb .title-sme {
    margin: 0 0 8.5px !important;
  }
  body.sg-solution-smb h2.title-sme {
    font-family: "Gilroy Extra Bold", sans-serif !important;
  }
  body.sg-solution-smb .hiw-title {
    font-family: "Gilroy Extra Bold", sans-serif !important;
    font-size: 56px !important;
    line-height: 61.6px !important;
  }
  body.sg-solution-smb .work-how {
    min-height: 1847.2px !important;
  }
  body.sg-solution-smb .ast-container > .key-features:nth-child(7) {
    min-height: 688.2px !important;
  }
  body.sg-solution-smb .key-features h2.title {
    margin: 0 0 8.5px !important;
  }
  body.sg-solution-smb #numbers h2.title {
    margin: 0 0 8.5px !important;
  }
  body.sg-solution-smb .loyalty-card .subtitle-sme {
    margin: 0 0 10px !important;
    font-family: "Gilroy Extra Bold", sans-serif !important;
    font-size: 25.5px !important;
    line-height: 30.6px !important;
  }
  body.sg-solution-smb .benefit-card .subtitle-sme {
    margin: 0 0 8.5px !important;
    font-family: "Gilroy Extra Bold", sans-serif !important;
    font-size: 25.5px !important;
    line-height: 30.6px !important;
  }
  body.sg-buy-offer-page .main-title-sme,
  body.sg-buy-offer-page .title-sme,
  body.sg-buy-offer-page .cta-text {
    margin: 0 0 8.5px !important;
  }
  body.sg-buy-offer-page h2.title-sme {
    font-family: "Gilroy Extra Bold", sans-serif !important;
  }
  body.sg-buy-offer-page .row.row-1 { min-height: 704px !important; }
  body.sg-buy-offer-page .row.row-21 { min-height: 599px !important; }
  body.sg-elementor-home #subhero.sg-home-value > .ast-container,
  body.sg-elementor-home #home-faq .ast-container {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  body.sg-elementor-home #home-faq .title-box h2.title {
    margin: 0 0 8.5px !important;
    padding-bottom: 20px !important;
    color: #414141 !important;
    font-family: "Gilroy Extra Bold", sans-serif !important;
    font-size: 60px !important;
    line-height: 50px !important;
  }
  body.sg-elementor-home #home-faq #guarantee h2.title {
    max-width: 1033px !important;
  }
  body.sg-elementor-home #home-faq .row > .title-box > .col-lg-10 h2.title {
    width: 1033px !important;
    max-width: 1033px !important;
    margin-bottom: 30px !important;
  }
  body.sg-about .subbox h3.big-text {
    font-family: "Gilroy Light", sans-serif !important;
    font-size: 30px !important;
    line-height: 36px !important;
    font-weight: 500 !important;
    margin: 0 0 8.5px !important;
  }
  body.sg-shopping-centre-landing .sc-contact__layout {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  body.sg-shopping-centre-landing .sc-landing .ast-container {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  body.sg-shopping-centre-landing .sc-form-card .row.r7,
  body.sg-shopping-centre-landing .sc-form-card .row.r6 {
    margin-bottom: 20.4px !important;
  }
  body.sg-shopping-centre-landing .sc-form-card label {
    font-size: 14px !important;
    line-height: 21px !important;
  }
  body.sg-shopping-centre-landing .sc-form-card p:not(.sc-form-card__label) {
    margin-bottom: 17px !important;
  }
  body.sg-shopping-centre-landing .sc-form-card form > p:last-of-type {
    min-height: 90px !important;
    margin-bottom: 18px !important;
  }

}

/* The production pricing background reaches the viewport edges; its inner
   sections already center their own 1,120px/860px content columns. */
@media (min-width: 992px) {
  body.sg-pricing-detailed #privacy {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  body.sg-pricing.sg-pricing-detailed .calc-section {
    margin: 0 !important;
  }
  body.sg-pricing.sg-pricing-detailed .calc-section .calc-header p {
    font-size: 17px !important;
    line-height: 27.2px !important;
  }
  body.sg-pricing.sg-pricing-detailed .calc-section .calc-label {
    font-size: 13.94px !important;
    line-height: 20.91px !important;
  }
  body.sg-pricing.sg-pricing-detailed .calc-section .calc-btn {
    font-size: 17.85px !important;
    line-height: 26.775px !important;
  }
}

/* Small production/staging geometry corrections found in the final desktop pass. */
@media (min-width: 992px) {
  /* The imported cookie-policy table sits in a Gutenberg figure. Production
     leaves 42.5px before its closing paragraph; Elementor's reset collapses
     that gap to 15px on staging. */
  body.sg-production-page.sg-legal #privacy figure.wp-block-table + p {
    margin-top: 42.5px !important;
  }
  body.sg-production-page.sg-legal #privacy figure.wp-block-table table {
    font-size: 17px !important;
  }

  /* Match production's FAQ heading margins on the migrated buy-now page. */
  body.sg-buy-form-page #solution h2.title {
    margin: 0 0 8.5px !important;
  }
}

/* The three visible buttons match production at 240×63px. Align only the
   slider copy layers; the stretched anchor wrappers are not the visible CTA. */
@media (min-width: 992px) {
  body.sg-elementor-home #n2-ss-9 .slider-title1 { position: relative; top: 22px !important; }
  body.sg-elementor-home #n2-ss-9 .slider-title2 { position: relative; top: 6px !important; }
  body.sg-elementor-home #n2-ss-9 .slider-subtitle { position: relative; top: -3px !important; }
  body.sg-elementor-home #n2-ss-9 .n2-ss-button-container { position: relative; top: -1px !important; }
}

/* Contact page spacing follows its legacy production rows while preserving
   the exact form position after tightening the oversized intro column. */
@media (min-width: 992px) {
  body.sg-contact #contact .bottom-ctas {
    box-sizing: border-box !important;
    width: 607.25px !important;
    max-width: 607.25px !important;
    margin: -23px auto 0 !important;
  }
  body.sg-contact #contact .bottom-ctas h3.title {
    margin: 0 0 8.5px !important;
  }
  body.sg-contact .wpcf7 { margin-top: -14.5px !important; }
  body.sg-contact #hero-color .hero-color-wrapper > .ast-container {
    padding-right: 20px !important;
    padding-left: 20px !important;
    padding-bottom: 0 !important;
  }
  body.sg-contact #hero-color h1.title,
  body.sg-contact #hero-color h2.subtitle {
    margin: 0 0 8.5px !important;
    top: 0 !important;
  }
  body.sg-contact #contact .bottom-ctas:not(:has(.btn-orange)) {
    margin: 0 auto !important;
  }
  body.sg-contact #contact .bottom-ctas:has(.btn-orange) {
    margin-top: 20.2px !important;
  }
  body.sg-contact .elementor:not(.elementor-location-header):not(.elementor-location-footer) {
    padding-bottom: var(--sg-contact-page-pad-bottom) !important;
  }
}

/* Match production's footer breakpoint and avoid the extra Elementor spacing
   around stacked footer columns on small screens. */
@media (max-width: 767px) {
  .elementor-location-footer .sg-elementor-footer.e-con {
    padding: 80px 0 33px !important;
    min-height: 0 !important;
  }
  .elementor-location-footer .sg-footer-grid.e-con > .e-con-inner {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 1480px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    gap: 0 !important;
  }
  .elementor-location-footer .sg-footer-contact.e-con,
  .elementor-location-footer .sg-footer-about.e-con {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .elementor-location-footer .sg-footer-numo {
    display: block !important;
  }
  body.sg-shopping-centre-landing .sc-features {
    min-height: 1009px !important;
  }
  body.sg-shopping-centre-landing .sc-ownership {
    min-height: 554px !important;
  }
  body.sg-shopping-centre-landing .sc-contact.e-con {
    min-height: 1188px !important;
  }
}

body.sg-shopping-centre-landing .sc-hero__image-wrap img {
  width: 116% !important;
  max-width: none !important;
  margin-left: -8% !important;
}

@media (min-width: 922px) and (max-width: 1199px) {
  body.sg-shopping-centre-landing .sc-landing {
    margin-top: 4px !important;
  }
}

@media (min-width: 768px) and (max-width: 921px) {
  body.sg-shopping-centre-landing .sc-features {
    padding-bottom: 99px !important;
  }
}

/* Buy Now offer page: align Elementor widget IDs to the production columns. */
@media (min-width: 992px) {
  body.sg-buy-offer-page .elementor-element-sgbowgrid > .e-con-inner,
  body.sg-buy-offer-page .elementor-element-sgbohgrid > .e-con-inner {
    align-items: flex-start !important;
  }

  body.sg-buy-offer-page .elementor-element-sgbowgrid .elementor-element-sgbowcopy {
    flex: 0 0 58% !important;
    width: 58% !important;
    max-width: 58% !important;
  }

  body.sg-buy-offer-page .elementor-element-sgbowgrid .elementor-element-sgbowimage {
    flex: 0 0 38% !important;
    width: 38% !important;
    max-width: 38% !important;
    align-self: flex-start !important;
  }

  body.sg-buy-offer-page .elementor-element-sgbohow > .e-con-inner > .elementor-element-sgbohhw {
    width: 59% !important;
    max-width: 700px !important;
    margin-left: 41% !important;
    text-align: left !important;
  }

  body.sg-buy-offer-page .elementor-element-sgbohgrid > .e-con-inner > .elementor-element-sgbohsteps {
    order: 2 !important;
    flex: 0 0 59% !important;
    width: 59% !important;
    max-width: 700px !important;
  }

  body.sg-buy-offer-page .elementor-element-sgbohgrid > .e-con-inner > .elementor-element-sgbohimage {
    order: 1 !important;
    flex: 0 0 38% !important;
    width: 38% !important;
    max-width: 38% !important;
  }

  body.sg-buy-offer-page .elementor-element-sgbohow > .e-con-inner > .elementor-element-sgbohnote,
  body.sg-buy-offer-page .elementor-element-sgbohow > .e-con-inner > .elementor-element-sgbospend {
    width: 59% !important;
    max-width: 700px !important;
    margin-left: 41% !important;
    text-align: left !important;
  }

  body.sg-buy-offer-page .elementor-element-sgboref > .e-con-inner > .elementor-widget-heading,
  body.sg-buy-offer-page .elementor-element-sgboref > .e-con-inner > .elementor-widget-text-editor {
    width: 59% !important;
    max-width: 700px !important;
    margin-left: 41% !important;
    text-align: left !important;
  }

  body.sg-buy-offer-page .elementor-element-sgbofill > .e-con-inner > .elementor-widget-heading,
  body.sg-buy-offer-page .elementor-element-sgbofill > .e-con-inner > .elementor-widget-button {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    text-align: left !important;
  }

  body.sg-buy-offer-page .elementor-element-sgbobens > .e-con-inner {
    width: min(1162px, 78.4vw) !important;
    max-width: 1162px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body.sg-buy-offer-page .elementor-element-sgbobens > .e-con-inner > .elementor-widget-heading,
  body.sg-buy-offer-page .elementor-element-sgboguar > .e-con-inner > .elementor-widget-heading {
    padding-left: 50px !important;
    text-align: left !important;
  }

  body.sg-buy-offer-page .elementor-element-sgbologos {
    min-height: 260px !important;
  }
}

@media (min-width: 1280px) {
  body.sg-buy-offer-page .elementor-element-sgbowho { margin-bottom: -151px !important; }
  body.sg-buy-offer-page .elementor-element-sgbohow { margin-bottom: -297px !important; }
  body.sg-buy-offer-page .elementor-element-sgboref { margin-bottom: -99px !important; }

  body.sg-buy-offer-page .elementor-element-sgbohow > .e-con-inner > .elementor-element-sgbohhw,
  body.sg-buy-offer-page .elementor-element-sgboref > .e-con-inner > .elementor-widget-heading,
  body.sg-buy-offer-page .elementor-element-sgboref > .e-con-inner > .elementor-widget-text-editor {
    flex: 0 0 59% !important;
    width: 59% !important;
    align-self: flex-start !important;
    margin-left: 41% !important;
  }

  body.sg-buy-offer-page .elementor-element-sgbohow .elementor-element-sgbohhw .elementor-heading-title,
  body.sg-buy-offer-page .elementor-element-sgboref .elementor-heading-title {
    text-align: left !important;
  }

  body.sg-buy-offer-page .elementor-element-sgbohow > .e-con-inner > .elementor-element-sgbohnote,
  body.sg-buy-offer-page .elementor-element-sgbohow > .e-con-inner > .elementor-element-sgbospend {
    flex: 0 0 59% !important;
    width: 59% !important;
    align-self: flex-start !important;
    margin-left: 41% !important;
  }

  body.sg-buy-offer-page .elementor-element-sgbofill > .e-con-inner > .elementor-widget-heading,
  body.sg-buy-offer-page .elementor-element-sgbofill > .e-con-inner > .elementor-widget-button,
  body.sg-buy-offer-page .elementor-element-sgbobens > .e-con-inner > .elementor-widget-heading {
    flex: 0 0 100% !important;
    width: 100% !important;
    align-self: flex-start !important;
    margin-left: 0 !important;
  }
}

@media (min-width: 1600px) {
  body.sg-buy-offer-page .elementor-element-sgbologos { min-height: 1320px !important; }
}

@media (min-width: 1280px) {
  body.sg-buy-offer-page .elementor-element-sgbofill {
    flex-direction: row !important;
    align-items: center !important;
    gap: 14px !important;
    padding-top: 0 !important;
  }
  body.sg-buy-offer-page .elementor-element-sgbofill > .elementor-element-sgbofilh {
    flex: 0 0 282px !important;
    width: 282px !important;
    margin: 0 !important;
  }
  body.sg-buy-offer-page .elementor-element-sgbofill > .elementor-element-sgbofillcta {
    flex: 0 0 230px !important;
    width: 230px !important;
    margin: 0 !important;
  }
  body.sg-buy-offer-page .elementor-element-sgbofilh .elementor-heading-title {
    color: #f39704 !important;
    font-family: "Gilroy Light", sans-serif !important;
    font-size: 34px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
  }
  body.sg-buy-offer-page .elementor-element-sgbohhw .elementor-heading-title,
  body.sg-buy-offer-page .elementor-element-sgborefh .elementor-heading-title {
    color: #414141 !important;
    font-family: "Gilroy Light", sans-serif !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
  }
  body.sg-buy-offer-page .elementor-element-sgbobens,
  body.sg-buy-offer-page .elementor-element-sgbobens > .e-con-inner {
    transform: translateY(-19px) !important;
  }
  body.sg-buy-offer-page .elementor-element-sgbologos { min-height: 385px !important; }
}

/* The production process strip overflows at compact desktop widths. Keep the
   four illustrated steps readable in a centered two-column grid locally. */
@media (min-width: 992px) and (max-width: 1199px) {
  body.sg-solution-shopping .sg-solution-how__row.e-con {
    width: calc(100% - 40px) !important;
    max-width: 760px !important;
    margin: 40px auto 0 !important;
    padding: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-how__row.e-con > .e-con-inner {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 24px !important;
  }
  body.sg-solution-shopping .sg-solution-how .elementor-widget-html,
  body.sg-solution-shopping .sg-solution-how__arrow {
    display: none !important;
  }
  body.sg-solution-shopping .sg-solution-how__card.e-con {
    flex: 0 1 calc(50% - 12px) !important;
    width: calc(50% - 12px) !important;
    max-width: 360px !important;
  }
}

@media (min-width: 1600px) {
  body.sg-buy-offer-page .elementor-element-sgbologos { min-height: 1345px !important; }
}

@media (min-width: 1200px) {
  body.sg-shopping-centre-landing .sc-form-card .elementor-field-group-email {
    margin-bottom: 59px !important;
  }
}

@media (min-width: 922px) and (max-width: 1199px) {
  body.sg-shopping-centre-landing .sc-form-card .elementor-field-group-first-name,
  body.sg-shopping-centre-landing .sc-form-card .elementor-field-group-last-name {
    margin-bottom: 59px !important;
  }
}

@media (max-width: 767px) {
  body.sg-shopping-centre-landing .sc-form-card .elementor-form-fields-wrapper {
    top: 7px !important;
  }
}

@media (max-width: 767px) {
  body.sg-shopping-centre-landing .sc-ownership {
    margin-top: 1px !important;
  }
  .elementor-location-footer .sg-elementor-footer.e-con {
    padding-bottom: 32px !important;
  }
  body.sg-shopping-centre-landing .sc-features { min-height: 1009px !important; }
  body.sg-shopping-centre-landing .sc-ownership { min-height: 554px !important; }
  body.sg-shopping-centre-landing .sc-contact.e-con { min-height: 1188px !important; }
}

@media (min-width: 768px) and (max-width: 921px) {
  body.sg-shopping-centre-landing .sc-ownership {
    margin-top: 1px !important;
  }
  .elementor-location-footer .sg-elementor-footer.e-con {
    padding-bottom: 19px !important;
  }
  body.sg-shopping-centre-landing .sc-ownership { min-height: 562px !important; }
  body.sg-shopping-centre-landing .sc-contact.e-con { min-height: 1013px !important; }
}

@media (min-width: 922px) {
  .elementor-location-footer .sg-elementor-footer.e-con {
    padding-bottom: 37px !important;
  }
}

@media (min-width: 768px) and (max-width: 921px) {
  .elementor-location-footer .sg-elementor-footer.e-con {
    padding-bottom: 20px !important;
  }
  body.sg-shopping-centre-landing .sc-ownership {
    min-height: 562px !important;
  }
  body.sg-shopping-centre-landing .sc-contact.e-con {
    min-height: 1013px !important;
  }
}

@media (min-width: 768px) {
  .elementor-location-footer .sg-footer-grid.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
  }
  .elementor-location-footer .sg-footer-grid.e-con > .e-con-inner > .sg-footer-contact.e-con {
    flex: 0 0 16.666667% !important;
    width: 16.666667% !important;
    max-width: 16.666667% !important;
  }
  .elementor-location-footer .sg-footer-grid.e-con > .e-con-inner > .sg-footer-about.e-con {
    flex: 0 0 41.666667% !important;
    width: 41.666667% !important;
    max-width: 41.666667% !important;
    margin-left: 33.333333% !important;
  }
}

/* Imported offer and multi-location templates use the production #hero-sme
   typography; Elementor's generic 40px/32px defaults were leaking through. */
@media (min-width: 992px) {
  :is(body.sg-buy-offer-page, body.sg-solution-mlb, body.sg-gift-cards) #hero-sme .title,
  :is(body.sg-buy-offer-page, body.sg-solution-mlb, body.sg-gift-cards) #hero-sme h1.title {
    margin: 0 0 8.5px !important;
    color: #414141 !important;
    font-family: "Gilroy Extra Bold", sans-serif !important;
    font-size: 60px !important;
    line-height: 66px !important;
  }
  :is(body.sg-buy-offer-page, body.sg-solution-mlb, body.sg-gift-cards) #hero-sme .subtitle,
  :is(body.sg-buy-offer-page, body.sg-solution-mlb, body.sg-gift-cards) #hero-sme h2.subtitle {
    margin: 0 0 8.5px !important;
    color: #414141 !important;
    font-family: "Gilroy Extra Bold", sans-serif !important;
    font-size: 34px !important;
    line-height: 1.2 !important;
  }
}

/* Match the legacy production markup used by the migrated shopping solution.
   These headings are plain .main-title/.subtitle nodes, not Elementor heading
   widgets, so the earlier Elementor selectors did not reach them. */
@media (min-width: 992px) {
  body.sg-solution-shopping #solution .work-how {
    margin-top: 0 !important;
  }
  body.sg-solution-shopping #solution .calc-container {
    margin-bottom: 49px !important;
  }
  body.sg-solution-shopping #solution .work-how:not(.row) > .row .col-wrapper {
    width: 502px !important;
    max-width: 502px !important;
  }
  body.sg-solution-shopping #solution .work-how .col-wrapper h3.title {
    margin: 0 !important;
  }
  body.sg-solution-shopping #solution .work-how .row-1 {
    min-height: 443px !important;
  }
  body.sg-solution-shopping #solution .work-how .row-2 {
    margin-top: -1px !important;
    min-height: 518px !important;
  }
  body.sg-solution-shopping #solution .work-how .row-3 {
    margin-top: -1px !important;
    min-height: 367px !important;
  }
  body.sg-solution-shopping #solution .work-how .row:has(.col-wrapper.cw4) {
    min-height: 307px !important;
  }
  body.sg-solution-shopping #solution .key-features {
    margin-top: -16px !important;
  }
  body.sg-solution-shopping #solution .key-features h2.title,
  body.sg-solution-shopping #solution .key-features h3.title,
  body.sg-solution-shopping #solution .key-features h4.title,
  body.sg-solution-shopping #solution .key-features h4.subtitle {
    margin: 0 0 8.5px !important;
  }
  body.sg-solution-shopping #numbers h2.title {
    margin: 0 0 8.5px !important;
  }
  body.sg-solution-shopping #solution .work-how h2.main-title {
    font-family: "Gilroy Extra Bold", sans-serif !important;
    font-size: 60px !important;
    line-height: 40px !important;
    margin: 0 0 8.5px !important;
  }
  body.sg-solution-shopping #solution .work-how .subtitle-box h3.subtitle {
    font-family: "Gilroy Light", sans-serif !important;
    font-size: 30px !important;
    line-height: 36px !important;
    margin: 0 0 8.5px !important;
  }
  body.sg-solution-shopping #solution .work-how .step-number-wrapper h3.subtitle {
    font-family: "Gilroy Light", sans-serif !important;
    font-size: 30px !important;
    line-height: 36px !important;
    margin: 0 !important;
  }
  body.sg-solution-shopping #solution .calc-header h2,
  body.sg-solution-shopping #solution .calc-header .calc-header-title {
    font-family: "Gilroy Extra Bold", sans-serif !important;
    font-size: 37.4px !important;
    line-height: 44.88px !important;
    font-weight: 700 !important;
    margin: 0 0 10px !important;
  }
}

/* Match production's footer baseline and logo/legal rows at desktop widths. */
@media (min-width: 992px) {
  .elementor-location-footer .sg-footer-eu {
    margin-top: 43px !important;
  }
  .elementor-location-footer .sg-footer-numo {
    padding-top: 30px !important;
  }
}

/* The imported home sections retain Bootstrap .row negative gutters. Match
   the production 1,240px rows while leaving the upper audience cards alone. */
@media (min-width: 992px) {
  body.sg-elementor-home #subhero .sg-benefits-layout {
    width: calc(100% - 40px) !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.sg-elementor-home .sg-home-loyalty > .ast-container,
  body.sg-elementor-home .sg-home-how > .ast-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  body.sg-elementor-home .sg-benefits-layout {
    width: 100% !important;
    max-width: 1240px !important;
  }
  body.sg-elementor-home #subhero .sg-benefits-layout {
    top: 1.5px !important;
  }
  body.sg-elementor-home .sg-home-how {
    min-height: 1091px !important;
    margin-top: 1.5px !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle {
    min-height: 98px !important;
  }
  body.sg-elementor-home #home-faq #guarantee p {
    margin-bottom: 17px !important;
  }
  body.sg-elementor-home #home-faq #guarantee + .row .subtitle {
    margin-bottom: 8.5px !important;
  }
}

/* Desktop parity corrections from the full Slovenian production/staging pass. */
@media (min-width: 992px) {
  /* The classic and Elementor versions of the multi-location page must share
     the production typography and legacy heading spacing. */
  body.sg-solution-mlb #solution .main-title-sme,
  body.sg-solution-mlb #solution .title-sme {
    margin: 0 0 8.5px !important;
    font-family: "Gilroy Extra Bold", sans-serif !important;
  }
  body.sg-solution-mlb #solution .subtitle-sme {
    color: #2c007c !important;
    font-family: "Gilroy Extra Bold", sans-serif !important;
    font-size: 25.5px !important;
    line-height: 30.6px !important;
  }
  body.sg-solution-mlb #solution p {
    margin-bottom: 17px !important;
  }
  body.sg-solution-mlb #solution .key-features:nth-child(5) h2.title {
    margin: 0 0 8.5px !important;
  }
  body.sg-solution-mlb #solution .key-features:nth-child(5) {
    min-height: 268.5px !important;
  }
  body.sg-solution-mlb #solution .qae-faqs-toggle-container .qe-faq-toggle {
    min-height: 98px !important;
  }
  body.sg-solution-mlb #solution .cta-text-sme {
    font-family: "Gilroy Light", sans-serif !important;
    font-size: 30px !important;
    line-height: 36px !important;
    margin: 0 0 8.5px !important;
  }

  /* Restore the source Bootstrap gutter around the English pricing calculator. */
  body.sg-pricing-calculator #privacy > .row {
    --bs-gutter-x: 25.5px !important;
  }
  body.sg-pricing-calculator #privacy .sg-calculator .tableWrap {
    min-height: 152px !important;
  }
  /* Match the source layout's 1,240px content box and its 30px lead heading. */
  body.sg-gift-cards #content .about-box {
    width: 1240px !important;
    max-width: calc(100% - 40px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.sg-gift-cards #content .about-box .big-text {
    font-family: "Gilroy Light", sans-serif !important;
    font-size: 30px !important;
    line-height: 36px !important;
    margin: 0 0 8.5px !important;
  }
  body.sg-gift-cards #content .key-features h2.title {
    margin: 0 0 8.5px !important;
  }
  body.sg-gift-cards #numbers {
    margin-top: 6.3px !important;
  }
  body.sg-gift-cards #numbers h2.title {
    margin: 0 0 8.5px !important;
  }

  /* Restore the source image's intentional 116% bleed beyond its frame. */
  body.sg-shopping-centre-landing .sc-hero__image-wrap img {
    width: 116% !important;
    max-width: none !important;
    margin-left: -8% !important;
  }

  /* The production post grid gives the shorter middle row its natural height. */
  body.sg-case-studies .apbGridPosts > .apbPost:nth-child(n+4):nth-child(-n+6) {
    height: 449px !important;
    min-height: 449px !important;
  }

  /* Production FAQ cards are 98px tall; staging rounded them to 97. */
  body.sg-faq .qae-faqs-container .qe-faq-toggle {
    min-height: 98px !important;
  }

  /* The imported demo form needs the source's 51px after the consent row. */
  body.sg-get-demo #demo .contact-form form.wpcf7-form {
    min-height: 841px !important;
  }
  body.sg-get-demo #demo .contact-form {
    padding-bottom: 80px !important;
  }

  /* The migrated solution has four legacy section blocks whose content is
     shorter than the production template despite matching typography. */
  body.sg-solution-mlb #content .ast-container > .work-how {
    min-height: 1804px !important;
  }
  body.sg-solution-mlb #content .ast-container > .key-features:nth-child(3) {
    min-height: 1149px !important;
  }
  body.sg-solution-mlb #content .ast-container > .key-features:nth-child(4) {
    min-height: 553px !important;
  }
  body.sg-solution-mlb #content .ast-container > .key-features:nth-child(5) {
    padding-top: 32px !important;
  }
  body.sg-solution-mlb #content .ast-container > .key-features:nth-child(5) .qae-faqs-container {
    margin-top: -7px !important;
  }
  body.sg-solution-mlb #numbers h2.title {
    margin: 0 0 8.5px !important;
  }

  /* Keep the decorative SVG illustrations at production dimensions. */
  body.sg-elementor-home #subhero .sg-benefits-layout img[src*="kartica.svg"] {
    width: 326px !important;
    max-width: none !important;
  }
  body.sg-elementor-home #subhero .sg-benefits-layout img[src*="laptop2.svg"] {
    width: 992px !important;
    max-width: none !important;
  }
  /* Match the production 1,240px benefit track, whose Elementor parent has
     20px side padding on staging. */
  body.sg-elementor-home #subhero .sg-benefits-layout {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* In the imported how-it-works cards the image itself is the flex child;
     auto top margin aligns every illustration to the production baseline. */
  body.sg-elementor-home .hiw-card img.hiw-img {
    margin-top: auto !important;
  }
}

@media (min-width: 992px) {
  /* The standalone newsletter signup form follows the source's input metrics. */
  body.sg-production-page #mauticform_sgnewslettersubscriptionslo .mauticform-label {
    line-height: 29.7px !important;
  }
  body.sg-production-page #mauticform_sgnewslettersubscriptionslo .mauticform-input[type="email"] {
    box-sizing: border-box !important;
    height: 56px !important;
    padding: 13.5px !important;
    font-size: 18px !important;
    line-height: 27px !important;
  }
  /* The production survey renders native radio controls on a zero-height line. */
  body.sg-production-page #mauticform_sgafterdemosurvey input[type="radio"] {
    line-height: 0 !important;
    vertical-align: middle !important;
  }
  body.sg-production-page #sg-centers {
    width: calc(100% - 3.5px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Restore the classic theme's table bottom margin on both cenik variants. */
  body.sg-production-page .sg-cenik .sg-table-scroll table {
    margin-bottom: 1.5em !important;
  }

  /* Match the classic theme's exact row heights instead of fractional rounding. */
  body.sg-production-page.sg-faq #content.site-main {
    padding-bottom: 2.6px !important;
  }
  body.sg-faq .qae-faqs-container .qe-faq-toggle {
    min-height: 98px !important;
  }
  body.sg-faq .qae-faqs-container .qe-faq-toggle:nth-child(7),
  body.sg-faq .qae-faqs-container .qe-faq-toggle:nth-child(8),
  body.sg-faq .qae-faqs-container .qe-faq-toggle:nth-child(9),
  body.sg-faq .qae-faqs-container .qe-faq-toggle:nth-child(10),
  body.sg-faq .qae-faqs-container .qe-faq-toggle:nth-child(11),
  body.sg-faq .qae-faqs-container .qe-faq-toggle:nth-child(14),
  body.sg-faq .qae-faqs-container .qe-faq-toggle:nth-child(17),
  body.sg-faq .qae-faqs-container .qe-faq-toggle:nth-child(18),
  body.sg-faq .qae-faqs-container .qe-faq-toggle:nth-child(19),
  body.sg-faq .qae-faqs-container .qe-faq-toggle:nth-child(23) {
    min-height: 134px !important;
  }
}

@media (min-width: 992px) {
  /* Match the paragraph/list rhythm in the production "How it works" block. */
  body.sg-buy-offer-page #content .row-21 .cw2 > .text {
    margin-bottom: 17px !important;
  }
  body.sg-buy-offer-page #content .row-21 .cw2 > ol.text {
    padding-left: 34px !important;
  }

  /* Production carousel uses the full row width, which sets logo tiles to 219px. */
  body.sg-buy-offer-page #content #logos #sp-wp-carousel-free-id-152 {
    width: 100% !important;
    max-width: 1174.5px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  body.sg-buy-offer-page #content .guarantee .key-features-wrapper {
    min-height: 275.3px !important;
  }
  body.sg-buy-offer-page #content #contact .contact-form form > .row.r7 {
    margin-top: -14.4px !important;
  }
}

/* The old production #home-faq wrapper also contained the guarantee block and
 * therefore had a large fixed minimum height. In the Elementor layout the
 * guarantee is its own following section; keep FAQ height content-driven so
 * it does not leave the old wrapper's empty space before the guarantee. */
@media (min-width: 992px) {
  body.sg-elementor-home #home-faq {
    min-height: 0 !important;
    height: auto !important;
  }
}

/* Keep the multi-location statistics clear when descriptions wrap. */
body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cell.second-box.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  padding: 0 !important;
}

@media (max-width: 991px) {
  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__two.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__three.e-con > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .second-box.e-con,
  body.sg-solution-mlb .sg-mlb-numbers .second-box {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 24px 0 !important;
    border-right: 0 !important;
  }
  body.sg-solution-mlb .sg-mlb-numbers .second-box.second {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cell.third-box.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    height: auto !important;
    padding: 20px 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .third-box.e-con,
  body.sg-solution-mlb .sg-mlb-numbers .third-box {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.125) !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .number-big,
  body.sg-solution-mlb .sg-mlb-numbers .number-big p {
    font-size: 80px !important;
    line-height: 44px !important;
    margin-bottom: 12px !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .text-big,
  body.sg-solution-mlb .sg-mlb-numbers .text-big p {
    font-size: 24px !important;
    line-height: 32px !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .number-small,
  body.sg-solution-mlb .sg-mlb-numbers .number-small p {
    font-size: 52px !important;
    line-height: 40px !important;
    margin-bottom: 10px !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta.e-con,
  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta.e-con > .e-con-inner {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
    height: auto !important;
    min-height: 0 !important;
    padding-top: 24px !important;
  }
}

/* Multi-location business: match the production row boundaries and CTA layout.
   The benefit map intentionally overflows into the following loyalty row. */
@media (min-width: 992px) {
  body.sg-solution-mlb .sg-mlb-benefits.e-con {
    width: calc(100% - 40px) !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    height: 1789px !important;
    min-height: 1789px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefits > .sg-mlb-benefit-row.e-con {
    width: calc(100% + 26px) !important;
    max-width: none !important;
    margin-left: -13px !important;
    margin-right: -13px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--web.e-con {
    height: 538px !important;
    min-height: 538px !important;
    margin-bottom: 50px !important;
    overflow: visible !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con {
    height: 328px !important;
    min-height: 328px !important;
    margin-bottom: 100px !important;
    overflow: visible !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--europe.e-con {
    height: 405px !important;
    min-height: 405px !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con > .e-con-inner {
    padding-top: 60px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty.e-con {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    height: 319px !important;
    min-height: 319px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty .sg-mlb-benefit-row__text.e-con {
    flex: 0 0 568px !important;
    width: 568px !important;
    max-width: 568px !important;
    margin: 0 0 0 60px !important;
    padding: 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty .sg-mlb-benefit-row__text.e-con > .e-con-inner {
    padding: 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-core.e-con {
    min-height: 1149px !important;
    box-sizing: border-box !important;
  }

  body.sg-solution-mlb .sg-mlb-unsure.e-con {
    margin-top: 69px !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__three.e-con > .e-con-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 26px !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta.e-con,
  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta.e-con > .e-con-inner {
    column-gap: 33.56px !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta .elementor-widget-heading {
    flex: 0 0 320px !important;
    width: 320px !important;
    max-width: 320px !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta .elementor-widget-heading .elementor-heading-title {
    width: 320px !important;
    max-width: none !important;
    margin-right: 0 !important;
    white-space: nowrap !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta > .e-con-inner {
    transform: translateX(2px) !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta .elementor-widget-button,
  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta .elementor-button {
    flex: 0 0 230px !important;
    width: 230px !important;
    min-width: 230px !important;
    min-height: 59px !important;
    height: 59px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta .elementor-widget-button {
    transform: translateX(-3.4px) !important;
  }
}

@media (max-width: 991px) {
  body.sg-solution-mlb .sg-mlb-benefits.e-con {
    width: 100% !important;
    max-width: none !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--web.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--europe.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty.e-con {
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 48px !important;
    overflow: visible !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty .sg-mlb-benefit-row__text.e-con {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-core.e-con {
    min-height: 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-unsure.e-con {
    margin-top: 0 !important;
  }
}

/* The production theme switches to a wider, denser desktop composition once
   its content container reaches the 1400px breakpoint. */
@media (min-width: 1400px) {
  body.sg-solution-mlb .sg-mlb-benefits.e-con {
    height: 1751px !important;
    min-height: 1751px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--web.e-con {
    height: 601px !important;
    min-height: 601px !important;
    margin-bottom: 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con {
    height: 428px !important;
    min-height: 428px !important;
    margin-bottom: 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--europe.e-con {
    height: 379px !important;
    min-height: 379px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty.e-con {
    height: 294px !important;
    min-height: 294px !important;
  }

  body.sg-solution-mlb .sg-mlb-core.e-con {
    min-height: 920px !important;
  }
}

@media (min-width: 1600px) {
  body.sg-solution-mlb .sg-mlb-hero__inner.e-con {
    width: 1196px !important;
    max-width: 1196px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.sg-solution-mlb .sg-mlb-intro p {
    width: 1196px !important;
    max-width: 1196px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__text.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty .sg-mlb-benefit-row__text.e-con {
    left: 122px !important;
    flex-basis: 611px !important;
    width: 611px !important;
    max-width: 611px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text.e-con {
    left: 610px !important;
    flex-basis: 611px !important;
    width: 611px !important;
    max-width: 611px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__visual.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__visual.e-con {
    left: 746px !important;
  }

  body.sg-solution-mlb .sg-mlb-core.e-con {
    height: 920px !important;
    min-height: 920px !important;
    padding-bottom: 49px !important;
    box-sizing: border-box !important;
  }
}

/* Match the production feature-row columns and image overlaps on desktop.
   The tablet/mobile composition remains content-driven below 992px. */
@media (min-width: 992px) {
  body.sg-solution-mlb .sg-mlb-benefits > .sg-mlb-benefit-row.e-con {
    position: relative !important;
    display: block !important;
    padding: 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row__text.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row__visual.e-con {
    position: absolute !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row__text.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row__visual.e-con > .e-con-inner {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row__visual .elementor-widget-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__text.e-con {
    left: 106px !important;
    top: 0 !important;
    width: 527px !important;
    height: 538px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__text.e-con > .e-con-inner {
    padding: 0 13px 0 12px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--web .elementor-widget-heading {
    transform: none !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__visual.e-con {
    left: 646px !important;
    top: 0 !important;
    width: 607px !important;
    height: 538px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__visual img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__visual.e-con {
    left: 0 !important;
    top: 0 !important;
    width: 527px !important;
    height: 328px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__visual img {
    position: absolute !important;
    left: -207px !important;
    top: -65px !important;
    width: 703px !important;
    max-width: none !important;
    height: 361px !important;
    object-fit: cover !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text.e-con {
    left: 528px !important;
    top: 0 !important;
    width: 527px !important;
    height: 328px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text.e-con > .e-con-inner {
    padding: 60px 72px 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con {
    left: 106px !important;
    top: 0 !important;
    width: 527px !important;
    height: 405px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con > .e-con-inner {
    padding: 60px 72px 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__visual.e-con {
    left: 633px !important;
    top: 0 !important;
    width: 633px !important;
    height: 405px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__visual img {
    position: absolute !important;
    left: 13px !important;
    top: -100px !important;
    width: min(1280px, 100vw) !important;
    max-width: none !important;
    height: auto !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty .sg-mlb-benefit-row__text.e-con {
    left: 106px !important;
    top: 0 !important;
    width: 527px !important;
    height: 319px !important;
    margin-left: 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty .sg-mlb-benefit-row__text.e-con > .e-con-inner {
    padding: 0 72px !important;
  }
}

@media (min-width: 1400px) {
  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__text.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty .sg-mlb-benefit-row__text.e-con {
    left: 119px !important;
    flex: 0 0 594px !important;
    width: 594px !important;
    max-width: 594px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__text.e-con {
    height: 601px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__text.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty .sg-mlb-benefit-row__text.e-con > .e-con-inner {
    padding-left: 13px !important;
    padding-right: 13px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__visual.e-con {
    left: 726px !important;
    width: 622px !important;
    height: 551px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__visual img {
    width: 100% !important;
    height: 100% !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__visual.e-con {
    width: 594px !important;
    height: 328px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text.e-con {
    left: 594px !important;
    flex: 0 0 594px !important;
    width: 594px !important;
    max-width: 594px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty .sg-mlb-benefit-row__text.e-con > .e-con-inner {
    padding-left: 73px !important;
    padding-right: 73px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con {
    height: 379px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__visual.e-con {
    left: 713px !important;
    width: 713px !important;
    height: 379px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__visual img {
    left: 13px !important;
    width: 1411px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty .sg-mlb-benefit-row__text.e-con {
    height: 294px !important;
    margin-left: 0 !important;
  }
}

@media (max-width: 991px) {
  body.sg-solution-mlb .sg-mlb-benefits > .sg-mlb-benefit-row.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row__text.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row__visual.e-con {
    position: static !important;
    display: flex !important;
  }
}

@media (min-width: 1600px) {
  body.sg-solution-mlb .sg-mlb-intro .elementor-widget-text-editor {
    width: 1196px !important;
    max-width: 1196px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__text.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty .sg-mlb-benefit-row__text.e-con {
    left: 122px !important;
    flex-basis: 611px !important;
    width: 611px !important;
    max-width: 611px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text.e-con {
    left: 610px !important;
    flex-basis: 611px !important;
    width: 611px !important;
    max-width: 611px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__visual.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__visual.e-con {
    left: 746px !important;
  }

  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__visual img {
    left: 0 !important;
  }
}

@media (min-width: 992px) {
  body.sg-solution-mlb .sg-mlb-loyalty.e-con {
    height: 522px !important;
    min-height: 522px !important;
    padding-top: 100px !important;
    box-sizing: border-box !important;
  }

  body.sg-solution-mlb .sg-mlb-faq.e-con {
    height: 698.5px !important;
    min-height: 698.5px !important;
    padding-top: 100px !important;
    box-sizing: border-box !important;
  }
}

@media (min-width: 1400px) {
  body.sg-solution-mlb .sg-mlb-benefits > .elementor-element-sgmlbbh2 {
    width: 1162px !important;
    max-width: 1162px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Keep the shopping-centre page's phone layout compact without dropping its
   illustrations. The imported Elementor rows were stacking full-size artwork
   beneath every text block, making this section over 1,400px taller than live. */
@media (max-width: 767px) {
  body.sg-solution-shopping .sg-solution-how.e-con {
    padding-bottom: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-calc.e-con {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-roles.e-con {
    padding-top: 24px !important;
    padding-bottom: 12px !important;
  }
  body.sg-solution-shopping .sg-solution-role.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px 18px !important;
  }
  body.sg-solution-shopping .sg-solution-role--text-first .sg-solution-role__text,
  body.sg-solution-shopping .sg-solution-role--text-only .sg-solution-role__text,
  body.sg-solution-shopping .sg-solution-role--image-first .sg-solution-role__text {
    flex: 0 0 70% !important;
    width: 70% !important;
    max-width: 70% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-role--text-first .sg-solution-role__visual,
  body.sg-solution-shopping .sg-solution-role--image-first .sg-solution-role__visual {
    flex: 0 0 calc(30% - 12px) !important;
    width: calc(30% - 12px) !important;
    max-width: calc(30% - 12px) !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-role__visual img,
  body.sg-solution-shopping .sg-solution-roles #image-1,
  body.sg-solution-shopping .sg-solution-roles #image-2,
  body.sg-solution-shopping .sg-solution-roles #image-3 {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: 170px !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-role__text .elementor-heading-title {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }
  body.sg-solution-shopping .sg-solution-role__text p {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }
}

/* Match the legal terms page's paragraph rhythm: the live content uses a
   slightly larger gap between numbered clauses than the first Elementor pass. */
body.sg-guarantee-page .sg-terms-intro,
body.sg-guarantee-page .sg-terms-body {
  margin-bottom: 23.5px !important;
}
@media (max-width: 600px) {
  body.sg-guarantee-page .sg-terms-intro,
  body.sg-guarantee-page .sg-terms-body {
    margin-bottom: 23.5px !important;
  }
}

@media (min-width: 1600px) {
  body.sg-solution-mlb .sg-mlb-benefits > .elementor-element-sgmlbbh2,
  body.sg-solution-mlb .sg-mlb-numbers > .elementor-element-sgmlbnh2 {
    width: 1196px !important;
    max-width: 1196px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.sg-solution-mlb .sg-mlb-core > .elementor-element-sgmlbch2,
  body.sg-solution-mlb .sg-mlb-loyalty > .elementor-element-sgmlblh2,
  body.sg-solution-mlb .sg-mlb-faq > .elementor-element-sgmlbfh2 {
    position: relative !important;
    left: 55px !important;
    width: 1208px !important;
    max-width: 1208px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.sg-solution-mlb .sg-mlb-core__grid.e-con > .e-con-inner {
    width: 1233.36px !important;
    margin-left: 20px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  body.sg-solution-mlb .sg-mlb-core__col.e-con {
    padding-right: 60px !important;
    padding-left: 13px !important;
  }

  body.sg-solution-mlb .sg-mlb-loyalty__grid.e-con {
    position: relative !important;
    left: 33px !important;
    top: 0 !important;
  }

  body.sg-solution-mlb .elementor-558 .elementor-element-sgmlbbh2 {
    width: 1196px !important;
    max-width: 1196px !important;
    margin: 0 auto !important;
  }

  body.sg-solution-mlb .elementor-558 .elementor-element-sgmlbbh2 .elementor-heading-title {
    width: 100% !important;
    max-width: none !important;
  }

  body.sg-solution-mlb .elementor-558 .elementor-element-sgmlbch2,
  body.sg-solution-mlb .elementor-558 .elementor-element-sgmlblh2,
  body.sg-solution-mlb .elementor-558 .elementor-element-sgmlbfh2 {
    margin: 0 auto 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-unsure.e-con {
    width: 1196px !important;
    max-width: 1196px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.sg-solution-mlb .sg-mlb-unsure .elementor-element-sgmlbuh3 {
    width: 218.75px !important;
    max-width: 218.75px !important;
    transform: translateY(-6.6px) !important;
  }

  body.sg-solution-mlb .sg-mlb-faq .qe-faq-toggle.e-con {
    width: 1320px !important;
    max-width: none !important;
    margin-left: 120px !important;
    margin-right: 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-faq .qe-faq-toggle.sg-faq-first-item {
    margin-top: 60px !important;
  }

  body.sg-solution-mlb .sg-mlb-faq .qe-faq-toggle .elementor-heading-title {
    width: 1258px !important;
    max-width: 1258px !important;
    transform: translateX(1px) !important;
  }

  /* The original wide desktop layout uses a 10-column grid (1221px), not the
     narrower 1162px container used at standard desktop widths. */
  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__two.e-con,
  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__three.e-con {
    width: 1221.25px !important;
    max-width: 1221.25px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__two.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__three.e-con > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__two.e-con > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .second-box.first.e-con {
    padding-left: 12.75px !important;
    padding-right: 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .second-box.second.e-con {
    padding-left: 40px !important;
    padding-right: 12.75px !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__three.e-con > .e-con-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cell.third-box.e-con {
    width: auto !important;
    max-width: none !important;
    padding-left: 12.75px !important;
    padding-right: 12.75px !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cell.third-box.e-con > .e-con-inner {
    padding-right: 35px !important;
    padding-left: 0 !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta.e-con {
    width: 1221.25px !important;
    max-width: 1221.25px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta.e-con > .e-con-inner {
    width: 1199.25px !important;
    max-width: 1199.25px !important;
    margin: 0 !important;
    gap: 3.56px !important;
    transform: translateX(16.07px) !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta .elementor-widget-heading,
  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta .elementor-widget-heading .elementor-heading-title {
    flex-basis: 346px !important;
    width: 346px !important;
    max-width: 346px !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta .elementor-widget-heading {
    transform: translateX(-3.32px) !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta .elementor-widget-button + .elementor-widget-button {
    margin-left: 30px !important;
  }
}

/* Let the wide Europe map extend beyond the capped benefits container, as it
   does on production. Hiding only the x axis turns the y axis into an inner
   scrolling box in Chromium and clips the map at the container edge. */
@media (min-width: 992px) {
  body.sg-solution-mlb .elementor-558,
  body.sg-solution-mlb .sg-mlb-benefits.e-con {
    overflow: visible !important;
  }

  body.sg-solution-mlb .sg-mlb-numbers .sg-solution-numbers__cta .elementor-button {
    border-radius: 12px !important;
  }
}

/* Legal pages: the production Bootstrap column stays fluid above the 1,480px
   container cap. Keep the Elementor wrapper full-width so its calculated
   side gutters form the same content column on wide screens. */
@media (min-width: 768px) {
  body.sg-legal .sg-legal-page.e-con {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    padding-top: 80px !important;
  }
}

/* Production keeps the legal title at 60px and starts the text 80px below
   the header at tablet and phone widths as well. */
@media (max-width: 991px) {
  body.sg-legal .sg-legal-page.e-con {
    padding-top: 80px !important;
  }

  body.sg-legal .sg-legal-title .elementor-heading-title,
  body.sg-legal .sg-legal-page h1 {
    font-size: 60px !important;
    line-height: 66px !important;
    margin-bottom: 8.5px !important;
  }

  body.sg-legal .sg-legal-body,
  body.sg-legal .sg-legal-body .elementor-widget-container,
  body.sg-legal .sg-legal-body .elementor-text-editor,
  body.sg-legal .sg-legal-body p,
  body.sg-legal .sg-legal-body li,
  body.sg-legal .sg-legal-body td,
  body.sg-legal .sg-legal-body th {
    font-size: 15.504px !important;
    line-height: 23.256px !important;
  }

  body.sg-legal .sg-legal-body p {
    margin-bottom: 15.504px !important;
  }
}

/* The production FAQ uses the same responsive Bootstrap text column as the
   legal pages. Let both Elementor sections fill that calculated track instead
   of clipping to a 925px desktop width or stretching across wide screens. */
@media (min-width: 768px) {
  body.sg-faq .sg-faq-hero.e-con,
  body.sg-faq .sg-faq-list.e-con {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
  }

  body.sg-faq .sg-faq-accordion .elementor-toggle {
    max-width: none !important;
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  body.sg-faq .sg-faq-hero.e-con {
    padding-top: 80px !important;
  }

  body.sg-faq .sg-faq-hero h1,
  body.sg-faq .sg-faq-hero .elementor-heading-title {
    font-size: 60px !important;
    line-height: 66px !important;
    padding-bottom: 40px !important;
  }

  body.sg-faq .sg-faq-accordion .elementor-toggle-item {
    box-sizing: border-box !important;
    min-height: 0 !important;
  }

  body.sg-faq .sg-faq-accordion .elementor-tab-title {
    min-height: 0 !important;
    padding: 22px !important;
  }

  body.sg-faq .sg-faq-accordion .elementor-tab-title .elementor-toggle-title,
  body.sg-faq .sg-faq-accordion .elementor-tab-title.elementor-active .elementor-toggle-title {
    font-size: 22px !important;
    line-height: 26.4px !important;
    text-indent: 0 !important;
  }

  /* This long production label wraps to three lines in the 350px column. */
  body.sg-faq .sg-faq-accordion .elementor-toggle-item:nth-child(28) .elementor-toggle-title {
    max-width: 260px !important;
  }
}

/* Footer parity final overrides: the production Bootstrap grid switches to
   two columns at 768px, while small-screen spacing stays inside the 80px page
   padding rather than being duplicated on Elementor's inner container. */
@media (min-width: 768px) {
  .elementor-location-footer .sg-footer-grid.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
  }
  .elementor-location-footer .sg-footer-grid.e-con > .e-con-inner > .sg-footer-contact.e-con {
    flex: 0 0 16.666667% !important;
    width: 16.666667% !important;
    max-width: 16.666667% !important;
  }
  .elementor-location-footer .sg-footer-grid.e-con > .e-con-inner > .sg-footer-about.e-con {
    flex: 0 0 41.666667% !important;
    width: 41.666667% !important;
    max-width: 41.666667% !important;
    margin-left: 33.333333% !important;
  }
}

@media (max-width: 767px) {
  .elementor-location-footer .sg-elementor-footer.e-con {
    padding: 80px 0 32px !important;
    min-height: 0 !important;
  }
  .elementor-location-footer .sg-footer-grid.e-con > .e-con-inner {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 1480px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    gap: 0 !important;
  }
  .elementor-location-footer .sg-footer-contact.e-con,
  .elementor-location-footer .sg-footer-about.e-con {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .elementor-location-footer .sg-footer-numo {
    display: block !important;
  }
}

@media (min-width: 922px) {
  .elementor-location-footer .sg-elementor-footer.e-con {
    padding-bottom: 37px !important;
  }
}

@media (min-width: 768px) and (max-width: 921px) {
  .elementor-location-footer .sg-elementor-footer.e-con {
    padding-bottom: 19px !important;
  }
}

body.sg-shopping-centre-landing .sc-hero__image-wrap img {
  width: 116% !important;
  max-width: none !important;
  margin-left: -8% !important;
}

@media (min-width: 922px) and (max-width: 1199px) {
  body.sg-shopping-centre-landing .sc-landing {
    margin-top: 4px !important;
  }
}

@media (min-width: 768px) and (max-width: 921px) {
  body.sg-shopping-centre-landing .sc-features {
    padding-bottom: 99px !important;
  }
}

/* Final corrections from the five-width production comparison. */
@media (max-width: 767px) {
  body.sg-shopping-centre-landing .sc-ownership { margin-top: 1px !important; }
  .elementor-location-footer .sg-elementor-footer.e-con { padding-bottom: 32px !important; }
  body.sg-shopping-centre-landing .sc-features { min-height: 1009px !important; }
  body.sg-shopping-centre-landing .sc-ownership { min-height: 554px !important; }
  body.sg-shopping-centre-landing .sc-contact.e-con { min-height: 1188px !important; }
}
@media (min-width: 768px) and (max-width: 921px) {
  body.sg-shopping-centre-landing .sc-ownership { margin-top: 1px !important; }
  .elementor-location-footer .sg-elementor-footer.e-con { padding-bottom: 19px !important; }
  body.sg-shopping-centre-landing .sc-ownership { min-height: 562px !important; }
  body.sg-shopping-centre-landing .sc-contact.e-con { min-height: 1013px !important; }
}

/* Keep the Elementor demo form's field columns and vertical rhythm in line
   with the production Contact Form 7 layout. */
body.sg-shopping-centre-landing .sc-form-card .elementor-field-group-first-name,
body.sg-shopping-centre-landing .sc-form-card .elementor-field-group-last-name {
  width: 100% !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  margin-bottom: 58px !important;
}
body.sg-shopping-centre-landing .sc-form-card .elementor-field-group-email {
  margin-bottom: 58px !important;
}
body.sg-shopping-centre-landing .sc-form-card .elementor-form-fields-wrapper {
  column-gap: 6px !important;
}
body.sg-shopping-centre-landing .sc-form-card .elementor-field-group > label {
  color: #25036e !important;
  font-weight: 600 !important;
}
body.sg-shopping-centre-landing .sc-form-card .elementor-field-type-submit .elementor-button {
  height: 54px !important;
  min-height: 54px !important;
  line-height: 24px !important;
}
@media (max-width: 767px) {
  body.sg-shopping-centre-landing .sc-form-card .elementor-form-fields-wrapper {
    grid-template-columns: minmax(0, 1fr) !important;
    margin-top: 8px !important;
    position: relative !important;
    top: 8px !important;
  }
  body.sg-shopping-centre-landing .sc-form-card .elementor-field-group-first-name {
    margin-bottom: 45px !important;
  }
  body.sg-shopping-centre-landing .sc-form-card .elementor-field-group-last-name {
    margin-bottom: 62px !important;
  }
  body.sg-shopping-centre-landing .sc-form-card .elementor-field-group-email {
    margin-bottom: 56px !important;
  }
}

@media (min-width: 768px) and (max-width: 921px) {
  body.sg-shopping-centre-landing .sc-form-card.e-con {
    margin-top: 1px !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  body.sg-shopping-centre-landing .sc-form-card .elementor-form-fields-wrapper {
    position: relative !important;
    top: 7px !important;
  }
  body.sg-shopping-centre-landing .sc-form-card .elementor-field-group-first-name,
  body.sg-shopping-centre-landing .sc-form-card .elementor-field-group-last-name {
    margin-bottom: 62px !important;
  }
  body.sg-shopping-centre-landing .sc-form-card .elementor-field-group-email {
    margin-bottom: 56px !important;
  }
}

/* Loyalty page: rebuild the production three-row composition from Elementor fields. */
@media (min-width: 922px) {
  body.sg-loyalty-page .elementor-element-sglyhero { min-height: 264px !important; height: 264px !important; }
  body.sg-loyalty-page .sg-loyalty-hero__inner > .e-con-inner {
    width: 100% !important; max-width: none !important; margin: 0 !important;
  }
  body.sg-loyalty-page .sg-loyalty-hero h1,
  body.sg-loyalty-page .sg-loyalty-hero h2 {
    width: min(1196px, calc(100vw - 278px)) !important;
    max-width: none !important; margin-left: auto !important; margin-right: auto !important;
  }
  body.sg-loyalty-page .elementor-element-sglyintro {
    width: 100% !important; max-width: none !important; height: 280px !important;
    min-height: 280px !important; margin: 0 !important; padding: 0 !important;
    transform: none !important;
  }
  body.sg-loyalty-page .elementor-element-sglyintrotext {
    width: 100% !important; max-width: none !important; margin: 0 !important;
  }
  body.sg-loyalty-page .elementor-element-sglyintro p {
    width: min(1196px, calc(100vw - 278px)) !important; max-width: none !important;
    margin: 0 auto !important; padding: 60px !important; box-sizing: border-box !important;
    position: relative !important; left: 15px !important; top: 5px !important;
    font-family: "Gilroy Light" !important; font-size: 30px !important; font-weight: 400 !important; line-height: 40px !important;
  }
  body.sg-loyalty-page .sg-loyalty-why { margin-top: 22px !important; }
  body.sg-loyalty-page .elementor-element-sglywhycopy { top: -11px !important; }
  body.sg-loyalty-page .elementor-element-sglyimage1 { top: 0 !important; }
  body.sg-loyalty-page .sg-loyalty-result-illustration { top: -65.5px !important; }
  body.sg-loyalty-page .elementor-element-sglyimage3 { top: -100.5px !important; }
  body.sg-loyalty-page .elementor-element-sglywhycopy .elementor-widget-text-editor,
  body.sg-loyalty-page .elementor-element-sglyresultcopy .elementor-widget-text-editor,
  body.sg-loyalty-page .elementor-element-sglyprovider .elementor-widget-text-editor {
    transform: translateY(-15px) !important;
  }
  body.sg-loyalty-page .elementor-element-sglywhycopy p,
  body.sg-loyalty-page .elementor-element-sglyresultcopy p,
  body.sg-loyalty-page .elementor-element-sglyprovider p,
  body.sg-loyalty-page .elementor-element-sglyclose p {
    font-size: 17px !important; line-height: 25.5px !important;
  }
  body.sg-loyalty-page .sg-loyalty-final { min-height: 364px !important; height: 364px !important; }
  body.sg-loyalty-page .sg-loyalty-final .elementor-element-sglyfinalh { width: 568px !important; max-width: 568px !important; }
  body.sg-loyalty-page .sg-loyalty-final h2 {
    width: max-content !important; max-width: calc(100vw - 40px) !important;
    margin-left: calc(max(20px, (100vw - 1440px) / 2) + min(1440px, calc(100vw - 40px)) / 12 - 22px) !important;
    line-height: 36px !important;
  }

  body.sg-loyalty-page .sg-loyalty-hero__inner { width: min(1440px, calc(100vw - 48px)) !important; max-width: 1440px !important; }
  body.sg-loyalty-page .sg-loyalty-hero h1 { width: min(1196px, calc(83.333333% + 2px)) !important; max-width: none !important; margin-bottom: 8.5px !important; position: relative; top: -2px; }
  body.sg-loyalty-page .sg-loyalty-hero h2 { width: min(1196px, calc(83.333333% + 2px)) !important; max-width: none !important; position: relative; top: -3px; }
  body.sg-loyalty-page .sg-loyalty-why {
    width: calc(100vw - 40px) !important;
    max-width: 1440px !important;
    height: 1481px !important;
    min-height: 1481px !important;
    margin: 35px auto 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    position: relative !important;
    display: block !important;
  }
  body.sg-loyalty-page .sg-loyalty-content-grid {
    width: calc(100% + 26px) !important;
    max-width: none !important;
    margin: 0 0 0 -13px !important;
    padding: 0 !important;
    gap: 0 !important;
    position: absolute !important;
    display: block !important;
  }
  body.sg-loyalty-page .elementor-element-sglywhygrid { top: 8px !important; left: 0 !important; height: 601px !important; }
  body.sg-loyalty-page .elementor-element-sglywhycopy {
    position: absolute !important; top: -6px !important; left: 8.333333% !important;
    width: 41.666667% !important; max-width: 41.666667% !important; height: 172px !important;
    padding: 0 13px !important; margin: 0 !important; flex: none !important;
  }
  body.sg-loyalty-page .elementor-element-sglywhygrid > .elementor-element-sglywhycopy h2 { margin-bottom: 8px !important; }
  body.sg-loyalty-page .elementor-element-sglyimage1 {
    position: absolute !important; top: 4px !important; left: calc(50% + 13px) !important;
    width: 622px !important; max-width: none !important; margin: 0 !important;
  }
  body.sg-loyalty-page .elementor-element-sglyimage1 img { display: block !important; width: 622px !important; max-width: none !important; height: auto !important; }
  body.sg-loyalty-page .elementor-element-sglyresultgrid { top: 609px !important; left: 0 !important; height: 367px !important; }
  body.sg-loyalty-page .sg-loyalty-result-illustration {
    position: absolute !important; top: -65px !important; left: -207px !important;
    width: 703px !important; max-width: none !important; margin: 0 !important;
  }
  body.sg-loyalty-page .sg-loyalty-result-illustration img { display:block !important; width:703px !important; max-width:none !important; height:auto !important; }
  body.sg-loyalty-page .elementor-element-sglyresultcopy {
    position: absolute !important; top: 0 !important; left: 42.58% !important;
    width: 568px !important; max-width: 568px !important; height: 267px !important;
    padding: 50px 60px 60px !important; margin: 0 !important; flex: none !important;
  }
  body.sg-loyalty-page .elementor-element-sglyproviderg { top: 976px !important; left: 0 !important; height: 360px !important; }
  body.sg-loyalty-page .elementor-element-sglyprovider {
    position: absolute !important; top: 0 !important; left: 8.333333% !important;
    width: 41.666667% !important; max-width: 41.666667% !important; height: 360px !important;
    padding: 50px 13px 60px !important; margin: 0 !important; flex: none !important;
  }
  body.sg-loyalty-page .elementor-element-sglyimage3 {
    position: absolute !important; top: -100px !important; left: calc(50% + 13px) !important;
    width: 1411px !important; max-width: none !important; margin: 0 !important;
  }
  body.sg-loyalty-page .elementor-element-sglyimage3 img { display:block !important; width:1411px !important; max-width:none !important; height:auto !important; }
  body.sg-loyalty-page .elementor-element-sglyclose {
    position: absolute !important; top: 1353px !important; left: 8.5% !important;
    width: 568px !important; max-width: 568px !important; height: 128px !important;
    padding: 0 60px !important; margin: 0 !important;
  }
  body.sg-loyalty-page .sg-loyalty-final { padding: 245px 24px 0 !important; text-align: left !important; }
  body.sg-loyalty-page .sg-loyalty-final h2 {
    width: 50% !important; max-width: 50% !important;
    margin: 0 0 20px calc(max(20px, (100vw - 1440px) / 2) + min(1440px, calc(100vw - 40px)) / 12 + 2px) !important;
    color:#777 !important; font-size:30px !important; font-weight:300 !important;
  }
  body.sg-loyalty-page .sg-loyalty-final .elementor-button { min-width: 150px !important; }
}

/* Production-proportioned type and spacing for the loyalty landing page. */
@media (min-width: 922px) {
  body.sg-loyalty-page .elementor-element-sglyhero { min-height: 264px !important; height: 264px !important; }
  body.sg-loyalty-page .sg-loyalty-hero__inner > .e-con-inner {
    width: 100% !important; max-width: none !important; margin: 0 !important;
  }
  body.sg-loyalty-page .sg-loyalty-hero h1,
  body.sg-loyalty-page .sg-loyalty-hero h2 {
    width: min(1196px, calc(100vw - 278px)) !important;
    max-width: none !important; margin-left: auto !important; margin-right: auto !important;
  }
  body.sg-loyalty-page .elementor-element-sglyintro {
    width: 100% !important; max-width: none !important; height: 280px !important;
    min-height: 280px !important; margin: 0 !important; padding: 0 !important;
    transform: translateX(15px) !important;
  }
  body.sg-loyalty-page .elementor-element-sglyintrotext {
    width: 100% !important; max-width: none !important; margin: 0 !important;
  }
  body.sg-loyalty-page .elementor-element-sglyintro p {
    width: min(1196px, calc(100vw - 278px)) !important; max-width: none !important;
    margin: 0 auto !important; padding: 60px !important; box-sizing: border-box !important;
    font-family: "Gilroy Light" !important; font-size: 30px !important; font-weight: 400 !important; line-height: 40px !important;
  }
  body.sg-loyalty-page .sg-loyalty-why { margin-top: 22px !important; }
  body.sg-loyalty-page .elementor-element-sglywhycopy { top: -11px !important; }
  body.sg-loyalty-page .elementor-element-sglyimage1 { top: 0 !important; }
  body.sg-loyalty-page .sg-loyalty-result-illustration { top: -65.5px !important; }
  body.sg-loyalty-page .elementor-element-sglyimage3 { top: -100.5px !important; }
  body.sg-loyalty-page .elementor-element-sglywhycopy .elementor-widget-text-editor,
  body.sg-loyalty-page .elementor-element-sglyresultcopy .elementor-widget-text-editor,
  body.sg-loyalty-page .elementor-element-sglyprovider .elementor-widget-text-editor {
    transform: translateY(-15px) !important;
  }
  body.sg-loyalty-page .elementor-element-sglywhycopy p,
  body.sg-loyalty-page .elementor-element-sglyresultcopy p,
  body.sg-loyalty-page .elementor-element-sglyprovider p,
  body.sg-loyalty-page .elementor-element-sglyclose p {
    font-size: 17px !important; line-height: 25.5px !important;
  }
  body.sg-loyalty-page .sg-loyalty-final { min-height: 364px !important; height: 364px !important; }
  body.sg-loyalty-page .sg-loyalty-final .elementor-element-sglyfinalh { width: 568px !important; max-width: 568px !important; }
  body.sg-loyalty-page .sg-loyalty-final h2 {
    width: max-content !important; max-width: calc(100vw - 40px) !important;
    margin-left: calc(max(20px, (100vw - 1440px) / 2) + min(1440px, calc(100vw - 40px)) / 12 - 22px) !important;
    line-height: 36px !important;
  }
}

@media (min-width: 922px) {
  body.sg-loyalty-page .elementor-element-sglyintro { transform: none !important; }
  body.sg-loyalty-page .elementor-element-sglyintro p {
    position: relative !important; left: 0 !important; top: 5px !important;
  }
}

body.sg-loyalty-page .elementor-element-sglywhycopy h2,
body.sg-loyalty-page .elementor-element-sglywhycopy h3,
body.sg-loyalty-page .elementor-element-sglyresultcopy h2,
body.sg-loyalty-page .elementor-element-sglyresultcopy h3,
body.sg-loyalty-page .elementor-element-sglyprovider h2,
body.sg-loyalty-page .elementor-element-sglyprovider h3,
body.sg-loyalty-page .sg-loyalty-final h2,
body.sg-loyalty-page .sg-loyalty-final h3 {
  font-family: "Gilroy Light", sans-serif !important;
  font-weight: 500 !important;
}
body.sg-loyalty-page .elementor-element-sglywhycopy ul,
body.sg-loyalty-page .elementor-element-sglyresultcopy ul,
body.sg-loyalty-page .elementor-element-sglyprovider ul {
  padding-left: 66px !important;
}
body.sg-loyalty-page .elementor-button { font-weight: 400 !important; }

body.sg-loyalty-page .sg-loyalty-hero h1,
body.sg-loyalty-page .sg-loyalty-hero h2 { text-wrap:wrap !important; }

@media (min-width: 922px) {
  body.sg-loyalty-page .elementor-element-sglywhycopy h3,
  body.sg-loyalty-page .elementor-element-sglyresultcopy h3,
  body.sg-loyalty-page .elementor-element-sglyprovider h3 {
    margin-top:0 !important;
    margin-bottom:8.5px !important;
    font-size:30px !important;
    line-height:36px !important;
  }
  body.sg-loyalty-page .elementor-element-sglywhycopy .elementor-widget-text-editor,
  body.sg-loyalty-page .elementor-element-sglyresultcopy .elementor-widget-text-editor,
  body.sg-loyalty-page .elementor-element-sglyprovider .elementor-widget-text-editor {
    transform:translateY(-10px) !important;
  }
  body.sg-loyalty-page .elementor-element-sglyprovider h3,
  body.sg-loyalty-page .elementor-element-sglyproviderintro {
    position:relative !important;
    left:60px !important;
  }
  body.sg-loyalty-page .sg-loyalty-final h3 {
    width:max-content !important;
    max-width:calc(100vw - 40px) !important;
    margin:0 0 20px calc(max(20px, (100vw - 1440px) / 2) + min(1440px, calc(100vw - 40px)) / 12 - 22px) !important;
    color:#777 !important;
    font-size:30px !important;
    font-weight:500 !important;
    line-height:36px !important;
  }
}

/* Loyalty page tablet and phone layout, measured against the live layout. */
@media (min-width: 601px) and (max-width: 921px) {
  body.sg-loyalty-page .elementor-element-sglyhero {
    position: relative !important; display: block !important; height: 358px !important;
    min-height: 358px !important; padding: 0 !important;
  }
  body.sg-loyalty-page .sg-loyalty-hero__inner,
  body.sg-loyalty-page .sg-loyalty-hero__inner > .e-con-inner { position: static !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  body.sg-loyalty-page .elementor-element-sglyh1,
  body.sg-loyalty-page .elementor-element-sglyh2,
  body.sg-loyalty-page .elementor-element-sglyactions { position: absolute !important; margin: 0 !important; }
  body.sg-loyalty-page .elementor-element-sglyh1 { top: 20px !important; left: 10.8073% !important; width: 78.3854% !important; }
  body.sg-loyalty-page .elementor-element-sglyh2 { top: 226px !important; left: 10.8073% !important; width: 78.3854% !important; }
  body.sg-loyalty-page .elementor-element-sglyhero h1 { width: 100% !important; max-width: none !important; font-size: 60px !important; line-height: 66px !important; font-weight:500 !important; margin: 0 !important; }
  body.sg-loyalty-page .elementor-element-sglyhero h2 { width: 100% !important; max-width: none !important; font-size: 27.4548px !important; line-height: 33px !important; font-weight:500 !important; margin: 0 !important; }
  body.sg-loyalty-page .elementor-element-sglyactions { top: 299px !important; left: 10.8073% !important; width: 466px !important; height: 59px !important; }
  body.sg-loyalty-page .elementor-element-sglyactions > .e-con-inner { display:flex !important; flex-direction:row !important; gap:3px !important; width:466px !important; max-width:none !important; margin:0 !important; padding:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyactions .elementor-button { width:230px !important; height:59px !important; min-height:59px !important; }
  body.sg-loyalty-page .elementor-element-sglyintro { width:100% !important; max-width:none !important; height:144px !important; min-height:144px !important; margin:0 !important; padding:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyintrotext { width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyintro p { width:calc(100% - 40px) !important; max-width:none !important; height:144px !important; margin:0 20px !important; padding:0 !important; font-family:"Gilroy Light",sans-serif !important; font-size:26px !important; font-weight:400 !important; line-height:36px !important; }
  body.sg-loyalty-page .sg-loyalty-why { width:calc(100% - 40px) !important; max-width:none !important; height:1251px !important; min-height:1251px !important; margin:52px 20px 0 !important; padding:0 !important; position:relative !important; display:block !important; }
  body.sg-loyalty-page .sg-loyalty-content-grid { position:absolute !important; display:block !important; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; }
  body.sg-loyalty-page .elementor-element-sglywhygrid { top:8px !important; left:0 !important; width:100% !important; height:777px !important; }
  body.sg-loyalty-page .elementor-element-sglymethods { position:absolute !important; top:90px !important; left:47px !important; width:592px !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglywhyintro,
  body.sg-loyalty-page .elementor-element-sglyproviderintro { position:relative !important; top:-41px !important; }
  body.sg-loyalty-page .elementor-element-sglymhd h2,
  body.sg-loyalty-page .elementor-element-sglymhd h3,
  body.sg-loyalty-page .elementor-element-sglyresulth h2,
  body.sg-loyalty-page .elementor-element-sglyresulth h3,
  body.sg-loyalty-page .elementor-element-sglyproviderh h2,
  body.sg-loyalty-page .elementor-element-sglyproviderh h3 { position:relative !important; top:-28px !important; }
  body.sg-loyalty-page .elementor-element-sglywhycopy { position:absolute !important; top:0 !important; left:0 !important; width:638px !important; max-width:638px !important; height:160px !important; padding:0 !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyimage1 { position:absolute !important; top:175px !important; left:0 !important; width:622px !important; max-width:none !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyimage1 img { width:622px !important; max-width:none !important; height:auto !important; }
  body.sg-loyalty-page .elementor-element-sglyresultgrid { top:784px !important; left:0 !important; width:100% !important; height:237px !important; }
  body.sg-loyalty-page .sg-loyalty-result-illustration { position:absolute !important; top:0 !important; left:-538px !important; width:703px !important; max-width:none !important; margin:0 !important; }
  body.sg-loyalty-page .sg-loyalty-result-illustration img { width:703px !important; max-width:none !important; height:auto !important; }
  body.sg-loyalty-page .elementor-element-sglyresultcopy { position:absolute !important; top:0 !important; left:0 !important; width:100% !important; max-width:none !important; height:121px !important; padding:0 0 0 90px !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyresults { position:absolute !important; top:52px !important; left:90px !important; width:638px !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyproviderg { position:absolute !important; top:1021px !important; left:0 !important; width:100% !important; height:176px !important; }
  body.sg-loyalty-page .elementor-element-sglyprovider { position:absolute !important; top:0 !important; left:0 !important; width:100% !important; max-width:none !important; height:160px !important; padding:0 !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyproviderlist { position:absolute !important; top:90px !important; left:47px !important; width:592px !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyimage3 { position:absolute !important; top:-122px !important; left:538px !important; width:728px !important; max-width:none !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyimage3 img { width:728px !important; max-width:none !important; height:auto !important; }
  body.sg-loyalty-page .elementor-element-sglyclose { position:absolute !important; top:1212px !important; left:0 !important; width:100% !important; max-width:none !important; height:39px !important; padding:0 !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglywhycopy h2,
  body.sg-loyalty-page .elementor-element-sglywhycopy h3,
  body.sg-loyalty-page .elementor-element-sglyresultcopy h2,
  body.sg-loyalty-page .elementor-element-sglyresultcopy h3,
  body.sg-loyalty-page .elementor-element-sglyprovider h2,
  body.sg-loyalty-page .elementor-element-sglyprovider h3,
  body.sg-loyalty-page .elementor-element-sglyclose h2,
  body.sg-loyalty-page .elementor-element-sglyclose h3 { font-size:30px !important; line-height:36px !important; }
  body.sg-loyalty-page .elementor-element-sglywhycopy p,
  body.sg-loyalty-page .elementor-element-sglyresultcopy p,
  body.sg-loyalty-page .elementor-element-sglyprovider p,
  body.sg-loyalty-page .elementor-element-sglyclose p { font-size:15.504px !important; line-height:23.256px !important; }
  body.sg-loyalty-page .elementor-element-sglywhycopy ul,
  body.sg-loyalty-page .elementor-element-sglyprovider ul { padding-left:31px !important; }
  body.sg-loyalty-page .elementor-element-sglywhycopy ul,
  body.sg-loyalty-page .elementor-element-sglyprovider ul,
  body.sg-loyalty-page .elementor-element-sglywhycopy li,
  body.sg-loyalty-page .elementor-element-sglyprovider li { font-size:15.504px !important; line-height:23.256px !important; }
  body.sg-loyalty-page .elementor-element-sglywhyintro,
  body.sg-loyalty-page .elementor-element-sglyproviderintro { margin-bottom:15.504px !important; }
  body.sg-loyalty-page .elementor-element-sglyclose h2,
  body.sg-loyalty-page .elementor-element-sglyclose h3 { font-size:30px !important; line-height:36px !important; }
  body.sg-loyalty-page .sg-loyalty-final { min-height:252px !important; height:252px !important; padding:40px 20px 0 !important; }
}

@media (max-width: 600px) {
  body.sg-loyalty-page .elementor-element-sglyhero { position:relative !important; display:block !important; height:541px !important; min-height:541px !important; padding:0 !important; }
  body.sg-loyalty-page .sg-loyalty-hero__inner,
  body.sg-loyalty-page .sg-loyalty-hero__inner > .e-con-inner { position:static !important; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyh1,
  body.sg-loyalty-page .elementor-element-sglyh2,
  body.sg-loyalty-page .elementor-element-sglyactions { position:absolute !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyh1 { top:20px !important; left:20px !important; width:calc(100% - 40px) !important; }
  body.sg-loyalty-page .elementor-element-sglyh2 { top:358px !important; left:20px !important; width:calc(100% - 40px) !important; }
  body.sg-loyalty-page .elementor-element-sglyhero h1 { width:100% !important; max-width:none !important; font-size:60px !important; line-height:66px !important; font-weight:500 !important; text-wrap:wrap !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyhero h2 { width:100% !important; max-width:none !important; font-size:clamp(24.05px,6.17vw,27.45px) !important; line-height:1.2 !important; font-weight:500 !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyactions { top:423px !important; left:10px !important; width:230px !important; height:118px !important; }
  body.sg-loyalty-page .elementor-element-sglyactions > .e-con-inner { display:flex !important; flex-direction:column !important; gap:0 !important; width:230px !important; max-width:none !important; margin:0 !important; padding:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyactions .elementor-button { width:230px !important; height:59px !important; min-height:59px !important; }
  body.sg-loyalty-page .elementor-element-sglyintro { width:100% !important; max-width:none !important; height:288px !important; min-height:288px !important; margin:0 !important; padding:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyintrotext { width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyintro p { width:calc(100% - 40px) !important; max-width:none !important; height:288px !important; margin:0 20px !important; padding:0 !important; font-family:"Gilroy Light",sans-serif !important; font-size:26px !important; font-weight:400 !important; line-height:36px !important; }
  body.sg-loyalty-page .sg-loyalty-why { width:calc(100% - 40px) !important; max-width:none !important; height:1407px !important; min-height:1407px !important; margin:52px 20px 0 !important; padding:0 !important; position:relative !important; display:block !important; }
  body.sg-loyalty-page .sg-loyalty-content-grid { position:absolute !important; display:block !important; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; }
  body.sg-loyalty-page .elementor-element-sglywhygrid { top:7px !important; left:0 !important; width:100% !important; height:652px !important; }
  body.sg-loyalty-page .elementor-element-sglymethods { position:absolute !important; top:137px !important; left:47px !important; width:214px !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglywhyintro,
  body.sg-loyalty-page .elementor-element-sglyproviderintro { position:relative !important; top:-40px !important; }
  body.sg-loyalty-page .elementor-element-sglymhd h2,
  body.sg-loyalty-page .elementor-element-sglymhd h3,
  body.sg-loyalty-page .elementor-element-sglyresulth h2,
  body.sg-loyalty-page .elementor-element-sglyresulth h3,
  body.sg-loyalty-page .elementor-element-sglyproviderh h2,
  body.sg-loyalty-page .elementor-element-sglyproviderh h3 { position:relative !important; top:-28px !important; }
  body.sg-loyalty-page .elementor-element-sglywhycopy { position:absolute !important; top:0 !important; left:0 !important; width:260px !important; max-width:260px !important; height:276px !important; padding:0 !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyimage1 { position:absolute !important; top:292px !important; left:0 !important; width:350px !important; max-width:none !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyimage1 img { width:350px !important; max-width:none !important; height:310px !important; object-fit:contain !important; }
  body.sg-loyalty-page .elementor-element-sglyresultgrid { top:659px !important; left:0 !important; width:100% !important; height:260px !important; }
  body.sg-loyalty-page .sg-loyalty-result-illustration { position:absolute !important; top:0 !important; left:-273px !important; width:350px !important; max-width:none !important; margin:0 !important; }
  body.sg-loyalty-page .sg-loyalty-result-illustration img { width:350px !important; max-width:none !important; height:180px !important; object-fit:contain !important; }
  body.sg-loyalty-page .elementor-element-sglyresultcopy { position:absolute !important; top:0 !important; left:0 !important; width:100% !important; max-width:none !important; height:145px !important; padding:0 0 0 90px !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyresults { position:absolute !important; top:52px !important; left:90px !important; width:260px !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyproviderg { position:absolute !important; top:919px !important; left:0 !important; width:100% !important; height:387px !important; }
  body.sg-loyalty-page .elementor-element-sglyprovider { position:absolute !important; top:0 !important; left:0 !important; width:260px !important; max-width:260px !important; height:372px !important; padding:0 !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyproviderlist { position:absolute !important; top:209px !important; left:47px !important; width:214px !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyimage3 { position:absolute !important; top:90px !important; left:273px !important; width:350px !important; max-width:none !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyimage3 img { width:350px !important; max-width:none !important; height:189px !important; object-fit:contain !important; }
  body.sg-loyalty-page .elementor-element-sglyclose { position:absolute !important; top:1322px !important; left:0 !important; width:100% !important; max-width:none !important; height:70px !important; padding:0 !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglywhycopy h2,
  body.sg-loyalty-page .elementor-element-sglywhycopy h3,
  body.sg-loyalty-page .elementor-element-sglyresultcopy h2,
  body.sg-loyalty-page .elementor-element-sglyresultcopy h3,
  body.sg-loyalty-page .elementor-element-sglyprovider h2,
  body.sg-loyalty-page .elementor-element-sglyprovider h3,
  body.sg-loyalty-page .elementor-element-sglyclose h2,
  body.sg-loyalty-page .elementor-element-sglyclose h3 { font-size:30px !important; line-height:36px !important; }
  body.sg-loyalty-page .elementor-element-sglywhycopy p,
  body.sg-loyalty-page .elementor-element-sglyresultcopy p,
  body.sg-loyalty-page .elementor-element-sglyprovider p,
  body.sg-loyalty-page .elementor-element-sglyclose p { font-size:15.504px !important; line-height:23.256px !important; }
  body.sg-loyalty-page .elementor-element-sglywhycopy ul,
  body.sg-loyalty-page .elementor-element-sglyprovider ul { padding-left:31px !important; }
  body.sg-loyalty-page .elementor-element-sglywhycopy ul,
  body.sg-loyalty-page .elementor-element-sglyprovider ul,
  body.sg-loyalty-page .elementor-element-sglywhycopy li,
  body.sg-loyalty-page .elementor-element-sglyprovider li { font-size:15.504px !important; line-height:23.256px !important; }
  body.sg-loyalty-page .elementor-element-sglywhyintro,
  body.sg-loyalty-page .elementor-element-sglyproviderintro { margin-bottom:15.504px !important; }
  body.sg-loyalty-page .elementor-element-sglyclose h2,
  body.sg-loyalty-page .elementor-element-sglyclose h3 { font-size:30px !important; line-height:36px !important; }
  body.sg-loyalty-page .sg-loyalty-final { min-height:229px !important; height:229px !important; padding:40px 20px 0 !important; }
}

/* Match the live final call-to-action placement without changing the shared footer. */
@media (min-width: 922px) {
  body.sg-loyalty-page .sg-loyalty-final { position:relative !important; }
  body.sg-loyalty-page .elementor-element-sglyfinalh {
    position:absolute !important;
    top:245px !important;
    left:calc(24px + (100vw - 1440px) * 0.465) !important;
    width:320px !important;
    margin:0 !important;
  }
  body.sg-loyalty-page .elementor-element-sglyfinalh h3 {
    width:max-content !important;
    margin:0 0 0 114.667px !important;
    color:#414141 !important;
  }
  body.sg-loyalty-page .elementor-element-sglyctb {
    position:absolute !important;
    top:245px !important;
    left:calc(25.25% + (100vw - 1440px) * 0.2267) !important;
    width:230px !important;
    margin:0 !important;
  }
  body.sg-loyalty-page .elementor-element-sglyctb .elementor-button { width:230px !important; min-height:59px !important; height:59px !important; }
}

/* Last-in-file parity overrides for the homepage and loyalty 1024px layout. */
@media (max-width: 600px) {
  body.sg-elementor-home #home-faq .elementor-element-sgfaqh2 {
    margin-bottom:65px !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle,
  body.sg-elementor-home #home-faq .qe-faq-toggle > .e-con-inner {
    box-sizing:border-box !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle .elementor-widget-heading {
    box-sizing:border-box !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle .elementor-heading-title {
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:#2c007c !important;
    font-family:"Gilroy Extra Bold",sans-serif !important;
    font-size:22px !important;
    font-weight:700 !important;
    line-height:26px !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle .elementor-heading-title::before {
    display:none !important;
    content:none !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle > .e-con-inner::before {
    content:"" !important;
    position:absolute !important;
    top:50% !important;
    left:23px !important;
    width:20px !important;
    height:20px !important;
    transform:translateY(-50%) !important;
    background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%232c007c'/%3E%3Cpath d='M7 12h10M12 7v10' stroke='white' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }
}

@media (min-width: 922px) and (max-width: 1024px) {
  body .elementor-location-header .sg-elementor-header.e-con > .e-con-inner {
    justify-content:flex-start !important;
    gap:32px !important;
  }
  body .elementor-location-header .sg-header-nav,
  body .elementor-location-header .sg-header-nav.elementor-nav-menu--stretch {
    margin-left:0 !important;
  }
}

@media (min-width: 601px) and (max-width: 921px) {
  body.sg-loyalty-page .elementor-element-sglyactions {
    transform:translateX(calc(15px - 3.27vw)) !important;
  }
}

@media (min-width: 800px) and (max-width: 921px) {
  body.sg-loyalty-page .elementor-element-sglyh1,
  body.sg-loyalty-page .elementor-element-sglyh2 {
    left:10.3% !important;
    width:79.4% !important;
  }
}

body.sg-loyalty-page .elementor-element-sglyactions .elementor-button {
  box-shadow:none !important;
}

@media (min-width: 922px) and (max-width: 1199px) {
  body.sg-loyalty-page .elementor-element-sglywhycopy ul { padding-left:85px !important; }
}

@media (min-width: 922px) and (max-width: 1199px) {
  body.sg-loyalty-page .elementor-element-sglywhygrid,
  body.sg-loyalty-page .elementor-element-sglywhygrid > .e-con-inner {
    box-sizing:border-box !important;
    height:475px !important;
    min-height:475px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyresultgrid {
    position:absolute !important;
    top:482px !important;
    height:392px !important;
    min-height:392px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyproviderg {
    position:absolute !important;
    top:874px !important;
    left:0 !important;
    height:498px !important;
    min-height:498px !important;
    margin:0 !important;
  }
  body.sg-loyalty-page .elementor-element-sglyprovider {
    padding-top:48px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyproviderintro {
    position:relative !important;
    top:-2px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyimage1,
  body.sg-loyalty-page .elementor-element-sglyimage1 img {
    width:479px !important;
    max-width:479px !important;
    height:425px !important;
    min-height:425px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyresultcopy > .e-con-inner {
    position:relative !important;
    top:-3px !important;
    width:275px !important;
    max-width:275px !important;
    margin-left:4px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyresultcopy .elementor-widget-heading,
  body.sg-loyalty-page .elementor-element-sglyresultcopy .elementor-widget-text-editor,
  body.sg-loyalty-page .elementor-element-sglyresults p,
  body.sg-loyalty-page .elementor-element-sglyproviderintro,
  body.sg-loyalty-page .elementor-element-sglyproviderintro p,
  body.sg-loyalty-page .elementor-element-sglyproviderlist,
  body.sg-loyalty-page .elementor-element-sglyproviderlist p,
  body.sg-loyalty-page .elementor-element-sglyclose p {
    width:275px !important;
    max-width:275px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyimage3,
  body.sg-loyalty-page .elementor-element-sglyimage3 img {
    width:505px !important;
    max-width:505px !important;
    height:498px !important;
    min-height:498px !important;
    object-fit:contain !important;
  }
  body.sg-loyalty-page .elementor-element-sglyclose {
    top:1389px !important;
  }
}

/* Match the production loyalty page at the 1024px breakpoint. */
@media (min-width: 922px) and (max-width: 1199px) {
  body.sg-loyalty-page .sg-loyalty-hero {
    margin-top:4px !important;
    height:304px !important;
    min-height:304px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyh1 .elementor-heading-title,
  body.sg-loyalty-page .elementor-element-sglyh2 .elementor-heading-title {
    width:816px !important;
    max-width:816px !important;
    margin-left:70px !important;
  }
  body.sg-loyalty-page .sg-loyalty-intro {
    height:377px !important;
    min-height:377px !important;
  }
  body.sg-loyalty-page .sg-loyalty-intro p {
    position:relative !important;
    left:0 !important;
    top:0 !important;
    width:816px !important;
    max-width:816px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyimage1 img {
    width:479px !important;
    max-width:479px !important;
    height:425px !important;
    object-fit:contain !important;
  }
  body.sg-loyalty-page .elementor-element-sglyimage1 {
    width:479px !important;
    max-width:479px !important;
    height:425px !important;
    min-height:425px !important;
  }
  body.sg-loyalty-page .elementor-element-sglywhygrid,
  body.sg-loyalty-page .elementor-element-sglywhygrid > .e-con-inner {
    height:475px !important;
    min-height:475px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyresultgrid {
    height:392px !important;
    min-height:392px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyresultcopy > .e-con-inner {
    position:relative !important;
    top:-3px !important;
    width:275px !important;
    max-width:275px !important;
    margin-left:4px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyresultcopy .elementor-widget-heading,
  body.sg-loyalty-page .elementor-element-sglyresultcopy .elementor-widget-text-editor,
  body.sg-loyalty-page .elementor-element-sglyresults p {
    width:275px !important;
    max-width:275px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyimage3 img {
    width:1024px !important;
    max-width:none !important;
    height:auto !important;
    object-fit:initial !important;
  }
  body.sg-loyalty-page .elementor-element-sglyimage3 {
    left:50% !important;
    width:1024px !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
  }
  body.sg-loyalty-page .elementor-element-sglyproviderintro,
  body.sg-loyalty-page .elementor-element-sglyproviderintro p,
  body.sg-loyalty-page .elementor-element-sglyproviderlist,
  body.sg-loyalty-page .elementor-element-sglyproviderlist p,
  body.sg-loyalty-page .elementor-element-sglyclose p {
    width:275px !important;
    max-width:275px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyproviderg {
    position:relative !important;
    top:24px !important;
    height:498px !important;
    min-height:498px !important;
    margin-bottom:24px !important;
  }
  body.sg-loyalty-page .sg-loyalty-why { margin-top:1px !important; }
  body.sg-loyalty-page .sg-loyalty-final { height:448px !important; min-height:448px !important; }
  body.sg-loyalty-page .elementor-element-sglyfinalh { top:307px !important; left:10.16% !important; width:150px !important; }
  body.sg-loyalty-page .elementor-element-sglyfinalh h3 { width:150px !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyctb { top:307px !important; left:25.35% !important; }
}

/* Home mobile: mirror the production FAQ rows and the remaining vertical bands. */
@media (max-width: 600px) {
  body.sg-elementor-home .sg-home-faq {
    display:block !important;
    box-sizing:border-box !important;
    height:808px !important;
    min-height:808px !important;
    padding:68px 20px 0 !important;
    overflow:visible !important;
  }
  body.sg-elementor-home .sg-home-faq .elementor-element-sgfaqh2,
  body.sg-elementor-home .sg-home-faq .elementor-element-sgfaqh2 > .elementor-widget-container {
    width:calc(100% - 24px) !important;
    max-width:calc(100% - 24px) !important;
    margin:0 0 65px 12px !important;
    padding:0 !important;
  }
  body.sg-elementor-home .sg-home-faq .elementor-element-sgfaqh2 .elementor-heading-title {
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    text-align:center !important;
    margin-bottom:20px !important;
    color:#120033 !important;
    font-family:"Gilroy Extra Bold",sans-serif !important;
    font-size:42px !important;
    line-height:1.12 !important;
  }
  body.sg-elementor-home .sg-home-faq .qe-faqs-filters-container,
  body.sg-elementor-home .sg-home-faq .elementor-element-sgfaqfil {
    display:none !important;
  }
  body.sg-elementor-home .sg-home-faq .qae-faqs-container {
    width:100% !important;
    max-width:100% !important;
    margin:145px 0 0 !important;
    padding:0 !important;
  }
  body.sg-elementor-home .elementor-element-sgfaqh2 { margin-bottom:0 !important; }
  body.sg-elementor-home .sg-home-faq .qe-faq-toggle {
    box-sizing:border-box !important;
    min-height:72px !important;
    height:auto !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle {
    display:block !important;
    position:relative !important;
    width:100% !important;
    flex:0 0 auto !important;
    padding:0 !important;
    height:72px !important;
    min-height:72px !important;
    margin-bottom:2px !important;
  }
  body.sg-elementor-home #home-faq .elementor-element-sgfaqi2,
  body.sg-elementor-home #home-faq .elementor-element-sgfaqi3,
  body.sg-elementor-home #home-faq .elementor-element-sgfaqi5 {
    height:99px !important;
    min-height:99px !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle > .e-con-inner {
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    box-sizing:border-box !important;
    width:100% !important;
    height:100% !important;
    min-height:inherit !important;
    padding:0 8px 0 59px !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle > .e-con-inner::before {
    content:"" !important;
    position:absolute !important;
    top:50% !important;
    left:23px !important;
    width:20px !important;
    height:20px !important;
    transform:translateY(-50%) !important;
    background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%232c007c'/%3E%3Cpath d='M7 12h10M12 7v10' stroke='white' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle .elementor-widget-heading {
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle .elementor-heading-title::before {
    display:none !important;
    content:none !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle .elementor-heading-title {
    color:#2c007c !important;
    font-family:"Gilroy Extra Bold",sans-serif !important;
    font-size:22px !important;
    font-weight:700 !important;
    line-height:26px !important;
  }
  body.sg-elementor-home .sg-home-faq .qe-faq-toggle:nth-child(2),
  body.sg-elementor-home .sg-home-faq .qe-faq-toggle:nth-child(3),
  body.sg-elementor-home .sg-home-faq .qe-faq-toggle:nth-child(5) {
    min-height:99px !important;
  }
  body.sg-elementor-home .sg-home-faq .qe-toggle-title {
    display:flex !important;
    box-sizing:border-box !important;
    align-items:center !important;
    width:100% !important;
    min-height:inherit !important;
    padding:12px 8px 12px 23px !important;
    border:0 !important;
    background:transparent !important;
  }
  body.sg-elementor-home .sg-home-faq .qe-toggle-title h4 {
    flex:1 1 auto !important;
    width:auto !important;
    margin:0 !important;
    color:#2c007c !important;
    font-family:"Gilroy Extra Bold",sans-serif !important;
    font-size:22px !important;
    font-weight:700 !important;
    line-height:26px !important;
  }
  body.sg-elementor-home .sg-home-faq .qe-toggle-title i.fa-plus-circle {
    flex:0 0 auto !important;
    margin:0 20px 0 0 !important;
    color:#2c007c !important;
    font-size:20px !important;
    line-height:22px !important;
  }
  body.sg-elementor-home .sg-guarantee-html {
    box-sizing:border-box !important;
    height:422px !important;
    min-height:422px !important;
  }
  body.sg-elementor-home .sg-cta-html {
    box-sizing:border-box !important;
    height:545px !important;
    min-height:545px !important;
    margin-top:0 !important;
    padding-top:40px !important;
  }
  body.sg-elementor-home .sg-cta-html .elementor-element-sgctah2 .elementor-heading-title {
    width:350px !important;
    max-width:calc(100vw - 40px) !important;
    margin:0 auto 20px !important;
    text-align:center !important;
  }
  body.sg-elementor-home .sg-memberships {
    box-sizing:border-box !important;
    height:305px !important;
    min-height:305px !important;
    overflow:hidden !important;
    padding-top:12px !important;
    padding-bottom:0 !important;
  }
}

/* The source home page has fixed, verified mobile section bands. Keep their
   heights in sync so all later content and the footer land at the same place. */
@media (max-width: 600px) {
  body.sg-elementor-home .sg-home-hero { height:1010px !important; min-height:1010px !important; }
  body.sg-elementor-home .sg-home-value { height:3332px !important; min-height:3332px !important; }
  body.sg-elementor-home .sg-home-section-transition { height:44px !important; min-height:44px !important; }
  body.sg-elementor-home .sg-home-loyalty { height:326px !important; min-height:326px !important; }
  body.sg-elementor-home .sg-home-how { height:1076px !important; min-height:1076px !important; }
  body.sg-elementor-home .sg-home-stats { height:1255px !important; min-height:1255px !important; }
  body.sg-elementor-home .sg-home-logos { height:202px !important; min-height:202px !important; }
}

/* Restore the source desktop band heights before comparing the lower home page. */
@media (min-width: 992px) {
  body.sg-elementor-home .sg-home-value { height:3132px !important; min-height:3132px !important; }
  body.sg-elementor-home .sg-home-how { height:1071px !important; min-height:1071px !important; }
  body.sg-elementor-home .sg-home-logos { height:359px !important; min-height:359px !important; }
  body.sg-elementor-home .sg-guarantee-html { height:399px !important; min-height:399px !important; }
  body.sg-elementor-home .sg-cta-html { height:422px !important; min-height:422px !important; }
}

@media (min-width: 601px) and (max-width: 1199px) {
  body.sg-loyalty-page .elementor-element-sglyfinal { position:relative !important; }
  body.sg-loyalty-page .elementor-element-sglyfinalh,
  body.sg-loyalty-page .elementor-element-sglyctb { position:absolute !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyfinalh h3 { color:#414141 !important; }
}

@media (min-width: 922px) and (max-width: 1199px) {
  body.sg-loyalty-page .elementor-element-sglyfinalh { top:308px !important; left:10.16% !important; width:150px !important; }
  body.sg-loyalty-page .elementor-element-sglyfinalh h3 { width:150px !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyctb { top:308px !important; left:25.35% !important; width:230px !important; }
  body.sg-loyalty-page .elementor-element-sglyctb .elementor-button { width:230px !important; min-height:59px !important; height:59px !important; }
}

@media (min-width: 601px) and (max-width: 921px) {
  body.sg-loyalty-page .elementor-element-sglyfinalh { top:119px !important; left:20px !important; width:calc(100% - 40px) !important; }
  body.sg-loyalty-page .elementor-element-sglyfinalh h3 { width:100% !important; margin:0 !important; text-align:center !important; color:#414141 !important; font-size:30px !important; line-height:36px !important; }
  body.sg-loyalty-page .elementor-element-sglyctb { top:163px !important; left:calc(50% - 115px) !important; width:230px !important; }
  body.sg-loyalty-page .elementor-element-sglyctb .elementor-button { width:230px !important; min-height:59px !important; height:59px !important; }
}

@media (max-width: 600px) {
  body.sg-loyalty-page .sg-loyalty-why { height:1487px !important; min-height:1487px !important; }
  body.sg-loyalty-page .elementor-element-sglyclose { height:150px !important; }
  body.sg-loyalty-page .sg-loyalty-final {
    position:relative !important;
    min-height:172px !important;
    height:172px !important;
    padding:0 !important;
  }
  body.sg-loyalty-page .elementor-element-sglyfinalh {
    position:absolute !important;
    top:40px !important;
    left:20px !important;
    width:calc(100% - 40px) !important;
    margin:0 !important;
    text-align:center !important;
  }
  body.sg-loyalty-page .elementor-element-sglyfinalh h3 {
    width:100% !important;
    margin:0 !important;
    text-align:center !important;
    font-size:30px !important;
    line-height:36px !important;
    color:#414141 !important;
  }
  body.sg-loyalty-page .elementor-element-sglyctb {
    position:absolute !important;
    top:83px !important;
    left:calc(50% - 115px) !important;
    width:230px !important;
    margin:0 !important;
  }
  body.sg-loyalty-page .elementor-element-sglyctb .elementor-button { width:230px !important; min-height:59px !important; height:59px !important; }
}

/* Final side-by-side overrides (keep after earlier page-specific legacy rules). */
@media (max-width: 600px) {
  body.sg-elementor-home #home-faq .elementor-element-sgfaqh2 { margin-bottom:65px !important; }
  body.sg-elementor-home #home-faq .qe-faq-toggle .elementor-widget-heading {
    box-sizing:border-box !important; width:100% !important; margin:0 !important; padding:0 !important;
    border:0 !important; background:transparent !important; box-shadow:none !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle .elementor-heading-title {
    display:block !important; width:100% !important; margin:0 !important; padding:0 !important;
    border:0 !important; background:transparent !important; color:#2c007c !important;
    font-family:"Gilroy Extra Bold",sans-serif !important; font-size:22px !important;
    font-weight:700 !important; line-height:26px !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle .elementor-heading-title::before {
    display:none !important; content:none !important;
  }
}

@media (min-width: 922px) and (max-width: 1199px) {
  body.sg-loyalty-page .elementor-element-sglywhygrid { top:8px !important; height:475px !important; min-height:475px !important; }
  body.sg-loyalty-page .elementor-element-sglyresultgrid { position:absolute !important; top:482px !important; height:392px !important; min-height:392px !important; }
  body.sg-loyalty-page .elementor-element-sglyproviderg { position:absolute !important; top:874px !important; left:0 !important; height:498px !important; min-height:498px !important; margin:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyprovider { padding-top:48px !important; }
  body.sg-loyalty-page .elementor-element-sglyproviderintro { position:relative !important; top:-2px !important; }
  body.sg-loyalty-page .elementor-element-sglyclose { top:1389px !important; }
  body.sg-loyalty-page .elementor-element-sglyresultcopy > .e-con-inner { top:0 !important; }
}

/* Match the live desktop header breakpoint (Astra switches to the drawer at 921px). */
@media (min-width: 922px) {
  .elementor-location-header { height:69px !important; }
  .sg-elementor-header.e-con > .e-con-inner {
    min-height:68px !important;
    height:68px !important;
    max-width:1480px !important;
    padding:0 20px !important;
    justify-content:flex-start !important;
    gap:32px !important;
  }
  .elementor-location-header .elementor-widget-image { min-height:68px !important; }
  .elementor-location-header .elementor-widget-image img,
  .elementor-location-header .elementor-widget-image a { width:163px !important; max-width:163px !important; }
  .elementor-location-header .elementor-nav-menu--main { display:block !important; }
  .elementor-location-header .elementor-menu-toggle { display:none !important; }
  .elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container { display:none !important; }
}

/* Correct loyalty hero flow at widths where the production header is desktop. */
@media (min-width: 922px) and (max-width: 1199px) {
  body.sg-loyalty-page .sg-loyalty-hero { margin-top:0 !important; }
  body.sg-loyalty-page .elementor-element-sglyh1 .elementor-heading-title,
  body.sg-loyalty-page .elementor-element-sglyh2 .elementor-heading-title {
    width:80vw !important;
    max-width:80vw !important;
    margin-left:calc(9.5vw - 27px) !important;
  }
  body.sg-loyalty-page .elementor-element-sglyh2 .elementor-heading-title { line-height:38px !important; }
  body.sg-loyalty-page .elementor-element-sglyactions {
    transform:translate(calc(8.3vw - 24.5px), calc(1.14vw - 8.7px)) !important;
  }
  body.sg-loyalty-page .elementor-element-sglyactions .elementor-button {
    height:59px !important;
    min-height:59px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyproviderintro { left:47px !important; top:0 !important; }
}

@media (max-width: 600px) {
  .elementor-location-footer .sg-footer-about,
  .elementor-location-footer .sg-footer-about p,
  .elementor-location-footer .sg-footer-about .elementor-widget-text-editor p {
    font-size:15.504px !important;
    line-height:23.256px !important;
  }
}

/* Page-by-page parity corrections: legal terms width and buy form intro. */
@media (min-width: 992px) {
  body.sg-guarantee-page .sg-guarantee-terms__content {
    max-width:925px !important;
  }
  body.sg-buy-form-page .sg-buy-form-intro__inner {
    max-width:688px !important;
    padding:0 !important;
  }
  body.sg-buy-form-page .sg-buy-form-intro .sg-buy-form-lead,
  body.sg-buy-form-page .sg-buy-form-intro p {
    width:100% !important;
    margin-right:0 !important;
    margin-left:0 !important;
    font-size:30px !important;
    line-height:1.4 !important;
  }
}

@media (max-width: 600px) {
  body.sg-guarantee-page .sg-guarantee-terms { padding:75px 20px 32px !important; }
  body.sg-guarantee-page .sg-guarantee-terms__content { padding:0 !important; }
  body.sg-guarantee-page .sg-terms-intro,
  body.sg-guarantee-page .sg-terms-body {
    color:#212529 !important;
    font-size:16px !important;
    line-height:24px !important;
  }
  body.sg-guarantee-page .sg-terms-intro { margin-bottom:-15px !important; }
  body.sg-guarantee-page .sg-terms-heading {
    margin-top:24px !important;
    margin-bottom:0 !important;
    color:#343434 !important;
  }
  body.sg-guarantee-page .sg-terms-heading:has(h2) .elementor-heading-title {
    color:#414141 !important;
    font-size:24px !important;
    font-weight:700 !important;
    line-height:29px !important;
  }
  body.sg-guarantee-page .sg-terms-heading:has(h3) .elementor-heading-title {
    color:#414141 !important;
    font-family:"Gilroy Light",sans-serif !important;
    font-size:28px !important;
    font-weight:500 !important;
    line-height:34px !important;
  }
}

/* Final responsive legal-page width and spacing corrections. */
@media (min-width: 601px) and (max-width: 1199px) {
  body.sg-guarantee-page .sg-guarantee-terms__content {
    width:100% !important;
    max-width:650px !important;
  }
}
@media (min-width: 1200px) {
  body.sg-guarantee-page .sg-guarantee-terms__content { max-width:925px !important; }
}
@media (max-width: 600px) {
  body.sg-guarantee-page .sg-terms-intro + .sg-terms-heading { margin-top:11px !important; }
  body.sg-guarantee-page .sg-terms-heading:has(h2) { margin-bottom:-14px !important; }
}

/* Match live legal typography precisely across breakpoints. */
@media (min-width: 601px) and (max-width: 1199px) {
  body.sg-guarantee-page .sg-terms-heading:has(h2) .elementor-heading-title {
    font-size:clamp(28px,3.1vw,34px) !important;
    font-weight:500 !important;
    line-height:1.2 !important;
  }
}
@media (min-width: 1200px) {
  body.sg-guarantee-page .sg-terms-heading:has(h2) .elementor-heading-title {
    font-size:34px !important;
    font-weight:500 !important;
    line-height:40.8px !important;
  }
}
@media (max-width: 600px) {
  body.sg-guarantee-page .sg-terms-intro,
  body.sg-guarantee-page .sg-terms-body {
    font-size:15.504px !important;
    line-height:23.256px !important;
  }
  body.sg-guarantee-page .sg-terms-intro { margin-bottom:-25px !important; }
  body.sg-guarantee-page .sg-terms-intro + .sg-terms-heading { margin-top:1px !important; }
  body.sg-guarantee-page .sg-terms-heading:has(h2) .elementor-heading-title {
    font-size:24.0528px !important;
    font-weight:500 !important;
    line-height:28.8634px !important;
  }
}

/* Keep the demo page's 687px desktop columns fluid through the tablet range. */
@media (min-width: 768px) and (max-width: 1199px) {
  body.sg-get-demo .sg-demo-hero {
    padding-left:20px !important;
    padding-right:20px !important;
  }
  body.sg-get-demo .sg-demo-hero > .e-con-inner {
    width:80vw !important;
    max-width:80vw !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body.sg-get-demo .sg-demo-hero h1,
  body.sg-get-demo .sg-demo-hero h2 {
    width:100% !important;
    max-width:100% !important;
    transform:none !important;
  }
  body.sg-get-demo .sg-demo-hero .elementor-element-sgdmoth1,
  body.sg-get-demo .sg-demo-hero .elementor-element-sgdmoth2 {
    width:100% !important;
    max-width:100% !important;
    flex:0 0 100% !important;
    transform:none !important;
  }
  body.sg-get-demo .sg-demo-intro.e-con,
  body.sg-get-demo .sg-demo-form.e-con,
  body.sg-get-demo .sg-demo-contact.e-con {
    padding-left:max(24px,calc((100% - 687.25px) / 2)) !important;
    padding-right:max(24px,calc((100% - 687.25px) / 2)) !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  body.sg-get-demo .sg-demo-hero > .e-con-inner {
    width:78.5vw !important;
    max-width:78.5vw !important;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  body.sg-get-demo .elementor-element-sgdmoher.e-con {
    padding-left:calc(8.2vw + 20px) !important;
    padding-right:calc(8.2vw + 20px) !important;
  }
}

/* Align the small-business hero to live column widths and CTA order. */
@media (min-width: 992px) and (max-width: 1199px) {
  body.sg-solution-smb .sg-smb-hero .elementor-element-sgsmbh1,
  body.sg-solution-smb .sg-smb-hero .elementor-element-sgsmbh2s {
    width:80vw !important;
    max-width:80vw !important;
    margin-left:auto !important;
    margin-right:auto !important;
    transform:none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  body.sg-solution-smb .sg-smb-hero .elementor-element-sgsmbh1,
  body.sg-solution-smb .sg-smb-hero .elementor-element-sgsmbh2s {
    width:78.5vw !important;
    max-width:78.5vw !important;
    margin-left:auto !important;
    margin-right:auto !important;
    transform:none !important;
  }
}
@media (min-width: 768px) {
  body.sg-solution-smb .sg-smb-hero__actions .elementor-element-sgsmbcu { order:1 !important; }
  body.sg-solution-smb .sg-smb-hero__actions .elementor-element-sgsmbad { order:2 !important; }
}
@media (min-width: 768px) and (max-width: 1199px) {
  body.sg-solution-smb .sg-smb-hero .elementor-element-sgsmbh1 .elementor-heading-title,
  body.sg-solution-smb .sg-smb-hero .elementor-element-sgsmbh2s .elementor-heading-title {
    width:100% !important;
    max-width:100% !important;
    white-space:normal !important;
    transform:none !important;
  }
}

/* Tablet layout mirrors the live multi-column small-business page. */
@media (min-width: 768px) and (max-width: 991px) {
  body.sg-solution-smb .sg-smb-audiences__grid.e-con,
  body.sg-solution-smb .sg-smb-hiw__row.e-con,
  body.sg-solution-smb .sg-smb-hiw__foot.e-con,
  body.sg-solution-smb .sg-smb-models__grid.e-con {
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
  }
  body.sg-solution-smb .sg-smb-audiences__card.e-con,
  body.sg-solution-smb .sg-smb-hiw__step.e-con,
  body.sg-solution-smb .sg-smb-models__col.e-con {
    flex:1 1 0 !important;
    width:0 !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
  }
  body.sg-solution-smb .sg-smb-hiw__foot-item.e-con {
    flex:1 1 0 !important;
    width:0 !important;
    min-width:0 !important;
    max-width:none !important;
  }
  body.sg-solution-smb .sg-smb-visit__grid.e-con {
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    gap:12px !important;
  }
  body.sg-solution-smb .sg-smb-visit__step.e-con {
    flex:1 1 0 !important;
    width:0 !important;
    min-width:0 !important;
    max-width:none !important;
  }
  body.sg-solution-smb .sg-smb-journey__grid.e-con {
    flex-wrap:nowrap !important;
    gap:12px !important;
  }
  body.sg-solution-smb .sg-smb-journey__col.e-con {
    flex:1 1 0 !important;
    width:0 !important;
    min-width:0 !important;
    max-width:none !important;
  }
  body.sg-solution-smb .sg-smb-audiences.e-con,
  body.sg-solution-smb .sg-smb-hiw.e-con,
  body.sg-solution-smb .sg-smb-models.e-con,
  body.sg-solution-smb .sg-smb-journey.e-con,
  body.sg-solution-smb .sg-smb-visit.e-con {
    padding-top:72px !important;
    padding-bottom:72px !important;
  }
}

/* Responsive survey: retain the purple title panel and keep each rating,
   free-text field, and submit action in a clear vertical reading order. */
@media (max-width: 991px) {
  body.sg-survey-page .sg-survey-page-content {
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:30px 20px 64px !important;
  }
  body.sg-survey-page .sg-survey-page-content::before {
    position:absolute;
    z-index:0;
    top:0;
    left:50%;
    width:calc(100% - 28px);
    height:360px;
    background:#2c007c;
    clip-path:polygon(0 0,100% 0,100% 80%,20% 100%,0 80%);
    content:"";
    transform:translateX(-50%);
  }
  body.sg-survey-page .sg-survey-content {
    position:relative !important;
    z-index:1 !important;
    width:100% !important;
    max-width:680px !important;
    margin:0 auto !important;
    padding:0 !important;
    background:transparent !important;
  }
  body.sg-survey-page .sg-survey-content h1 {
    color:#fff !important;
    font-size:44px !important;
    line-height:1.08 !important;
    margin:0 0 12px !important;
  }
  body.sg-survey-page .sg-survey-content h2 {
    color:rgba(255,255,255,.85) !important;
    font-family:"Gilroy Light",sans-serif !important;
    font-size:24px !important;
    font-weight:400 !important;
    line-height:1.4 !important;
  }
  body.sg-survey-page .sg-survey-form-widget { margin-top:78px !important; }
  body.sg-survey-page .sg-survey-form {
    position:static !important;
    width:100% !important;
    max-width:680px !important;
    margin:0 auto !important;
  }
  body.sg-survey-page .sg-survey-question {
    display:block !important;
    margin:0 0 24px !important;
    padding:0 !important;
    border:0 !important;
  }
  body.sg-survey-page .sg-survey-question legend,
  body.sg-survey-page .sg-survey-features > span {
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 0 8px !important;
    color:#2c007c !important;
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1.45 !important;
  }
  body.sg-survey-page .sg-survey-option {
    display:block !important;
    min-height:26px !important;
    margin:4px 0 !important;
  }
  body.sg-survey-page .sg-survey-option input {
    width:18px !important;
    height:18px !important;
    margin:0 8px 0 0 !important;
    vertical-align:middle !important;
  }
  body.sg-survey-page .sg-survey-features input {
    display:block !important;
    width:100% !important;
    min-height:52px !important;
    border:1px solid #f39704 !important;
    border-radius:10px !important;
  }
  body.sg-survey-page .sg-survey-submit {
    position:static !important;
    display:block !important;
    width:min(100%,360px) !important;
    min-height:58px !important;
    margin:16px 0 0 auto !important;
    border:0 !important;
    border-radius:12px !important;
    background:#f39704 !important;
    color:#fff !important;
    font-size:18px !important;
  }
}

@media (max-width: 767px) {
  body.sg-survey-page .sg-survey-page-content { padding:24px 20px 56px !important; }
  body.sg-survey-page .sg-survey-page-content::before { height:330px; }
  body.sg-survey-page .sg-survey-content h1 { font-size:36px !important; }
  body.sg-survey-page .sg-survey-content h2 { font-size:20px !important; }
  body.sg-survey-page .sg-survey-form-widget { margin-top:64px !important; }
  body.sg-survey-page .sg-survey-question { margin-bottom:22px !important; }
}
@media (min-width: 768px) and (max-width: 991px) {
  body.sg-solution-smb .sg-smb-hero h1.elementor-heading-title { line-height:66px !important; }
  body.sg-solution-smb .sg-smb-hero h2.elementor-heading-title { line-height:40px !important; }
  body.sg-solution-smb .sg-smb-audiences h2.elementor-heading-title,
  body.sg-solution-smb .sg-smb-hiw h2.elementor-heading-title,
  body.sg-solution-smb .sg-smb-journey h2.elementor-heading-title,
  body.sg-solution-smb .sg-smb-visit h2.elementor-heading-title {
    font-size:32px !important;
    line-height:38px !important;
  }
  body.sg-solution-smb .sg-smb-audiences__card.e-con {
    flex:0 0 calc((100% - 36px) / 4) !important;
    width:calc((100% - 36px) / 4) !important;
    max-width:calc((100% - 36px) / 4) !important;
    min-width:0 !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  body.sg-solution-smb .sg-smb-audiences__grid.e-con > .e-con-inner {
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  body.sg-solution-smb .sg-smb-hero__actions.e-con {
    width:80vw !important;
    max-width:80vw !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-content:flex-start !important;
  }
}
@media (max-width: 767px) {
  body.sg-solution-smb .sg-smb-hero .elementor-element-sgsmbh1 .elementor-heading-title {
    font-size:38px !important;
    line-height:42px !important;
    letter-spacing:normal !important;
  }
  body.sg-solution-smb .sg-smb-hero .elementor-element-sgsmbh2s .elementor-heading-title {
    font-size:22px !important;
    line-height:30px !important;
  }
  body.sg-solution-smb .sg-smb-hero__actions.e-con {
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:12px !important;
  }
  body.sg-solution-smb .sg-smb-hero__actions .elementor-element-sgsmbcu { order:1 !important; }
  body.sg-solution-smb .sg-smb-hero__actions .elementor-element-sgsmbad { order:2 !important; }
  body.sg-solution-smb .sg-smb-hero__actions .elementor-button {
    width:230px !important;
    min-height:59px !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  body.sg-solution-smb .sg-smb-hero__actions.e-con {
    width:78.5vw !important;
    max-width:78.5vw !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  body.sg-about {
    --sg-about-h1-x:10.8vw;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  body.sg-about {
    --sg-about-hero-h:416px;
    --sg-about-hero-wrapper-h:317px;
    --sg-about-col10:984px;
    --sg-about-text:395px;
  }
  body.sg-about .sg-about-body.e-con {
    width:calc(100% - 40px) !important;
    max-width:984px !important;
    gap:0 !important;
    padding:80px 0 0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body.sg-about .sg-about-body.e-con > .e-con-inner {
    display:flex !important;
    width:100% !important;
    max-width:none !important;
    gap:0 !important;
  }
  body.sg-about .sg-about-approach.e-con {
    flex:0 0 41.666667% !important;
    width:41.666667% !important;
    max-width:none !important;
    min-width:0 !important;
    padding-inline:12.75px !important;
    box-sizing:border-box !important;
  }
  body.sg-about .sg-about-leadership.e-con {
    flex:0 0 58.333333% !important;
    width:58.333333% !important;
    max-width:none !important;
    min-width:0 !important;
    padding-inline:12.75px !important;
    box-sizing:border-box !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  /* Correct the measured tablet offsets without changing the shared section flow. */
  body.sg-about .elementor-element-sgabtawk,
  body.sg-about .elementor-element-sgabtawl,
  body.sg-about .elementor-element-sgabtawp {
    transform:translateY(-26px) !important;
  }
  body.sg-about .elementor-element-sgabtapl,
  body.sg-about .elementor-element-sgabtapr {
    transform:translateY(-40px) !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  /* Mirror the live Bootstrap 12-column offsets for the About body. */
  body.sg-about .sg-about-body.e-con {
    width:calc(100% - 14px) !important;
    max-width:none !important;
    margin-left:7px !important;
    margin-right:auto !important;
    gap:0 !important;
  }
  body.sg-about .sg-about-approach.e-con,
  body.sg-about .sg-about-leadership.e-con {
    flex:0 0 33.333333% !important;
    width:33.333333% !important;
    max-width:none !important;
    min-width:0 !important;
    padding-inline:12.75px !important;
    box-sizing:border-box !important;
  }
  body.sg-about .sg-about-approach.e-con { margin-left:16.666667% !important; }
  body.sg-about .sg-about-leadership.e-con { margin-left:8.333333% !important; }
}
@media (min-width: 768px) and (max-width: 991px) {
  /* The live tablet page stacks these columns after a large white intro gap. */
  body.sg-about .sg-about-intro.e-con {
    flex-direction:column !important;
    gap:0 !important;
    padding:0 20px !important;
  }
  body.sg-about .sg-about-intro__text.e-con,
  body.sg-about .sg-about-intro__visual.e-con {
    flex:0 0 auto !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }
  body.sg-about .sg-about-intro__visual img {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
  }
  body.sg-about .sg-about-body.e-con {
    width:100% !important;
    max-width:none !important;
    margin:32px 0 0 !important;
    padding:80px 20px 0 !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    gap:0 !important;
    box-sizing:border-box !important;
  }
  body.sg-about .sg-about-approach.e-con,
  body.sg-about .sg-about-leadership.e-con {
    flex:0 0 auto !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  /* Match the measured 1024px production grid and section boundaries. */
  body.sg-solution-mlb .sg-mlb-intro.e-con {
    height:453px !important;
    min-height:453px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefits.e-con {
    height:1953px !important;
    min-height:1953px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefits > .elementor-element-sgmlbbh2 {
    width:816px !important;
    max-width:816px !important;
    height:47px !important;
    margin:0 auto !important;
  }
  body.sg-solution-mlb .sg-mlb-benefits > .elementor-element-sgmlbbh2 .elementor-heading-title {
    line-height:38px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--web.e-con {
    height:475px !important;
    min-height:475px !important;
    margin-bottom:0 !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con {
    height:515px !important;
    min-height:515px !important;
    margin-bottom:0 !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--europe.e-con {
    height:481px !important;
    min-height:481px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty.e-con {
    height:396px !important;
    min-height:396px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__text.e-con {
    left:84px !important;
    width:421px !important;
    max-width:421px !important;
    height:475px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__text .elementor-widget-heading,
  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__text .elementor-heading-title {
    width:395px !important;
    max-width:395px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__text .elementor-heading-title {
    transform:translateX(1px) !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text.e-con {
    left:421px !important;
    width:421px !important;
    max-width:421px !important;
    height:515px !important;
    margin-top:-1px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text .elementor-widget-heading,
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text .elementor-heading-title,
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text .elementor-widget-heading,
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text .elementor-heading-title {
    width:275px !important;
    max-width:275px !important;
    transform:none !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text .elementor-heading-title {
    transform:translateX(1px) !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__visual.e-con {
    top:-171px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con {
    left:84px !important;
    width:421px !important;
    max-width:421px !important;
    height:481px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text .elementor-heading-title {
    transform:translate(1px,-1px) !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty .sg-mlb-benefit-row__text.e-con {
    width:421px !important;
    max-width:421px !important;
    flex:0 0 421px !important;
    margin-left:-22px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty .sg-mlb-benefit-row__text .elementor-widget-heading,
  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty .sg-mlb-benefit-row__text .elementor-heading-title {
    width:275px !important;
    max-width:275px !important;
    transform:translate(-1px,-2px) !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__visual.e-con {
    top:-206px !important;
  }
  body.sg-solution-mlb .sg-mlb-core.e-con {
    height:1488px !important;
    min-height:1488px !important;
  }
  body.sg-solution-mlb .sg-mlb-core > .elementor-element-sgmlbch2 {
    transform:translateY(-40px) !important;
    width:790px !important;
    max-width:790px !important;
    margin-left:74px !important;
    margin-right:0 !important;
  }
  body.sg-solution-mlb .sg-mlb-core > .elementor-element-sgmlbch2 .elementor-heading-title,
  body.sg-solution-mlb .sg-mlb-loyalty > .elementor-element-sgmlblh2 .elementor-heading-title {
    line-height:38px !important;
  }
  body.sg-solution-mlb .sg-mlb-loyalty > .elementor-element-sgmlblh2 {
    width:790px !important;
    max-width:790px !important;
    margin-left:74px !important;
    margin-right:0 !important;
  }
  body.sg-solution-mlb .sg-mlb-faq.e-con {
    height:728px !important;
    min-height:728px !important;
    margin-top:43px !important;
  }
  body.sg-solution-mlb .sg-mlb-transition.e-con { min-height:128px !important; }
  body.sg-solution-mlb .sg-mlb-unsure .elementor-element-sgmlbuh3,
  body.sg-solution-mlb .sg-mlb-unsure .elementor-element-sgmlbuh3 .elementor-heading-title {
    width:143px !important;
    max-width:143px !important;
  }
  body.sg-solution-mlb .sg-mlb-unsure .elementor-element-sgmlbuh3 {
    margin-left:84px !important;
  }
  body.sg-solution-mlb .sg-mlb-unsure.e-con { margin-top:77px !important; }
  body.sg-solution-mlb .sg-mlb-numbers.e-con {
    min-height:969px !important;
  }
}
@media (min-width: 992px) and (max-width: 1099px) {
  /* The live FAQ content column is wider at 1024px than at 1440px. */
  body.sg-faq { --sg-faq-col-pad:18.36vw; }
}
body.sg-smart-perspectives .sg-blog-hero .elementor-heading-title {
  font-family:"Gilroy Light",sans-serif !important;
  font-weight:400 !important;
}
@media (min-width: 992px) and (max-width: 1199px) {
  body.sg-smart-perspectives {
    --sg-blog-col-w:63.3vw;
    --sg-blog-grid-w:63.3vw;
  }
  body.sg-smart-perspectives .sg-blog-grid__posts {
    width:63.3vw !important;
    max-width:63.3vw !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  /* Production's legacy cards reserve 19px more space below the copy at
     this three-column breakpoint. Keep row positions aligned as the grid
     continues down the archive. */
  body.sg-smart-perspectives .sg-blog-card__body {
    padding-bottom:39px !important;
  }
  /* The eighth production row already has 19px more natural copy height;
     omit the reserve there so it doesn't make all later rows drift. */
  body.sg-smart-perspectives .sg-blog-card:nth-child(n+22):nth-child(-n+24) .sg-blog-card__body {
    padding-bottom:20px !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  body.sg-smart-perspectives {
    --sg-blog-col-w:calc(66.6667vw - 35px);
    --sg-blog-grid-w:calc(66.6667vw - 35px);
  }
  body.sg-smart-perspectives .sg-blog-grid__posts {
    width:calc(66.6667vw - 35px) !important;
    max-width:calc(66.6667vw - 35px) !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  /* The production map begins at x≈525px on a 1024px viewport. */
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__visual.e-con {
    left:505px !important;
  }
  body.sg-solution-mlb .sg-mlb-hero h1.elementor-heading-title {
    width:80vw !important;
    max-width:80vw !important;
  }
}
/* Blog archive: mirror the live three-column desktop and centered tablet grid. */
@media (min-width: 768px) and (max-width: 1199px) {
  body.sg-blog .sg-blog-grid__posts {
    width:calc(66.6667vw - 35px) !important;
    max-width:calc(66.6667vw - 35px) !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  body.sg-blog .sg-blog-grid__posts {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
/* Newsletter archive uses the same production card grid as the blog archive. */
@media (min-width: 768px) and (max-width: 1199px) {
  body.sg-newsletter .sg-blog-grid__posts {
    width:calc(66.6667vw - 35px) !important;
    max-width:calc(66.6667vw - 35px) !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  body.sg-newsletter .sg-blog-grid__posts {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

/* Keep the legacy tablet composition on the multi-location solution. */
@media (min-width: 768px) and (max-width: 991px) {
  body.sg-solution-mlb .sg-mlb-hero__inner.e-con,
  body.sg-solution-mlb .sg-mlb-hero__inner.e-con > .e-con-inner {
    width:78.5vw !important;
    max-width:78.5vw !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body.sg-solution-mlb .sg-mlb-hero h1.elementor-heading-title {
    font-size:60px !important;
    line-height:66px !important;
  }
  body.sg-solution-mlb .sg-mlb-hero h2.elementor-heading-title {
    font-size:34px !important;
    line-height:40px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-benefit-row--europe.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--europe.e-con > .e-con-inner {
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:20px !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con > .e-con-inner {
    flex-direction:row-reverse !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row__text.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row__visual.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--web .sg-mlb-benefit-row__text.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--loyalty .sg-mlb-benefit-row__text.e-con {
    flex:1 1 0 !important;
    width:0 !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row__text.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__text.e-con > .e-con-inner {
    width:100% !important;
    max-width:none !important;
    padding:0 !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row__visual.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-benefit-row__visual .elementor-widget-image {
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    position:relative !important;
    inset:auto !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row__visual img {
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    position:relative !important;
    inset:auto !important;
    left:auto !important;
    top:auto !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--europe .sg-mlb-benefit-row__visual.e-con {
    margin:0 !important;
  }
  body.sg-solution-mlb .sg-mlb-core__grid.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-loyalty__grid.e-con > .e-con-inner {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:24px !important;
  }
  body.sg-solution-mlb .sg-mlb-core__col.e-con { padding:0 18px 0 0 !important; }
  body.sg-solution-mlb .sg-mlb-core__col ul {
    max-width:none !important;
    margin-top:24px !important;
    padding-left:24px !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  body.sg-solution-mlb .sg-mlb-hero__inner.e-con,
  body.sg-solution-mlb .sg-mlb-hero__inner.e-con > .e-con-inner {
    width:80vw !important;
    max-width:80vw !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body.sg-solution-mlb .sg-mlb-hero h1.elementor-heading-title {
    font-size:60px !important;
    line-height:66px !important;
  }
  body.sg-solution-mlb .sg-mlb-hero h2.elementor-heading-title {
    font-size:34px !important;
    line-height:40px !important;
  }
}

/* Compact the multi-location story on phones. The Elementor desktop heights
   on nested row children must not leave blank space after a scaled image. */
@media (max-width: 767px) {
  body.sg-solution-mlb .sg-mlb-benefit-row.e-con {
    margin-bottom:32px !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row.e-con > .e-con {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    flex-basis:auto !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con > .sg-mlb-benefit-row__text.e-con {
    order:0 !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con > .sg-mlb-benefit-row__visual.e-con {
    order:1 !important;
  }
  body.sg-solution-mlb .sg-mlb-core__col.e-con,
  body.sg-solution-mlb .sg-mlb-loyalty__col.e-con {
    padding:0 11px 0 4px !important;
  }
  body.sg-solution-mlb .sg-mlb-core__col ul,
  body.sg-solution-mlb .sg-mlb-loyalty__col ul {
    box-sizing:border-box !important;
    width:86.3% !important;
    max-width:none !important;
    margin:0 0 15.5px auto !important;
    padding-left:31px !important;
  }
  body.sg-solution-mlb .sg-mlb-core__col li,
  body.sg-solution-mlb .sg-mlb-loyalty__col li {
    font-size:15.504px !important;
    line-height:23.256px !important;
  }
}

/* The production shopping-centre page keeps its side-by-side role rows on tablets. */
@media (min-width: 768px) and (max-width: 991px) {
  /* The production tablet hero uses the same narrow col-10 text measure. */
  body.sg-solution-shopping .sg-solution-hero.e-con {
    padding-left: 10.8vw !important;
    padding-right: 10.8vw !important;
  }
  body.sg-solution-shopping .sg-solution-role.e-con > .e-con-inner {
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:20px 0 32px !important;
    gap:16px !important;
  }
  body.sg-solution-shopping .sg-solution-role--text-first .sg-solution-role__text,
  body.sg-solution-shopping .sg-solution-role--image-first .sg-solution-role__text,
  body.sg-solution-shopping .sg-solution-role--text-only .sg-solution-role__text {
    flex:0 0 50% !important;
    width:50% !important;
    max-width:50% !important;
    margin:0 !important;
    padding:16px 24px !important;
    box-sizing:border-box !important;
  }
  body.sg-solution-shopping .sg-solution-role--text-first .sg-solution-role__visual,
  body.sg-solution-shopping .sg-solution-role--image-first .sg-solution-role__visual {
    flex:0 0 50% !important;
    width:50% !important;
    max-width:50% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 12px !important;
    box-sizing:border-box !important;
  }
  body.sg-solution-shopping .sg-solution-role__visual img,
  body.sg-solution-shopping .sg-solution-roles #image-1,
  body.sg-solution-shopping .sg-solution-roles #image-2,
  body.sg-solution-shopping .sg-solution-roles #image-3 {
    display:block !important;
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:280px !important;
    object-fit:contain !important;
    margin:0 !important;
  }
}

/* Final small-desktop homepage hero override: the production 1024px hero is
   596px high and uses a narrower, smaller type scale than the full desktop. */
@media (min-width: 992px) and (max-width: 1199px) {
  body.sg-elementor-home .sg-home-hero,
  body.sg-elementor-home .sg-home-hero.e-con > .e-con-inner {
    height: 596px !important;
    min-height: 596px !important;
  }
  body.sg-elementor-home .sg-home-hero .sg-home-hero__inner.e-con > .e-con-inner {
    min-height: 596px !important;
    padding-top: 60px !important;
  }
  body.sg-elementor-home .sg-home-hero .sg-home-hero__content,
  body.sg-elementor-home .sg-home-hero .sg-home-hero__content.e-con > .e-con-inner {
    width: 589px !important;
    max-width: calc(100vw - 40px) !important;
  }
  body.sg-elementor-home .sg-home-hero .sg-home-hero__eyebrow,
  body.sg-elementor-home .sg-home-hero .sg-home-hero__eyebrow p {
    font-size: 45px !important;
    line-height: 49.5px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroh1 .elementor-heading-title {
    font-size: 30px !important;
    line-height: 33px !important;
    letter-spacing: 0 !important;
  }
  body.sg-elementor-home .sg-home-hero .sg-home-hero__lead,
  body.sg-elementor-home .sg-home-hero .sg-home-hero__lead p {
    width: 589px !important;
    max-width: 100% !important;
    font-size: 24px !important;
    line-height: 36px !important;
  }
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop {
    width: max-content !important;
    max-width: 100% !important;
    margin-top: 40px !important;
  }
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop > .e-con-inner { gap: 31px !important; }
  body.sg-elementor-home .sg-home-hero .sg-home-hero__product { margin-top: 104px !important; }
  body.sg-elementor-home .sg-home-hero .elementor-element-sghero01,
  body.sg-elementor-home .sg-home-hero .elementor-element-sghero03,
  body.sg-elementor-home .sg-home-hero .elementor-element-sghero01 .elementor-button,
  body.sg-elementor-home .sg-home-hero .elementor-element-sghero03 .elementor-button {
    width: 170px !important;
  }
  body.sg-elementor-home .sg-home-hero .elementor-element-sghero02,
  body.sg-elementor-home .sg-home-hero .elementor-element-sghero02 .elementor-button {
    width: 193px !important;
  }
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop .elementor-button {
    padding-right: 12px !important;
    padding-left: 12px !important;
    height: 50px !important;
    min-height: 50px !important;
    font-size: 14px !important;
    line-height: 20px !important;
  }
  body.sg-elementor-home .sg-home-hero .elementor-element-sghero01,
  body.sg-elementor-home .sg-home-hero .elementor-element-sghero02,
  body.sg-elementor-home .sg-home-hero .elementor-element-sghero03 { height: 50px !important; }
  body.sg-elementor-home .sg-home-hero .sg-home-hero__product img { transform: translateY(-25px) !important; }
  body.sg-elementor-home .sg-home-value { height: 2714px !important; min-height: 2714px !important; }
  body.sg-elementor-home .sg-audience-grid.e-con > .e-con-inner { margin-top: 10px !important; }
}

/* At the tablet breakpoint the source's first dark section ends after 2,714px. */
@media (min-width: 992px) and (max-width: 1199px) {
  body.sg-elementor-home .sg-home-value {
    height: 2714px !important;
    min-height: 2714px !important;
  }
  body.sg-elementor-home .sg-audience-grid.e-con > .e-con-inner {
    margin-top: 10px !important;
  }
}

/* The 1440px source section gives the audience cards 14px more space after
   the intro CTA than the imported Elementor wrapper currently does. */
@media (min-width: 1280px) {
  body.sg-elementor-home .sg-home-value > .elementor-container .sg-section-heading,
  body.sg-elementor-home .sg-section-heading.e-con {
    margin-bottom: 14px !important;
  }
}

/* The imported shopping-centre intro was receiving the production 60px
   column inset on both its Elementor widget and its paragraph. Apply it once. */
body.sg-solution-shopping .sg-solution-intro .elementor-widget-text-editor {
  padding: 0 !important;
}
@media (min-width: 992px) and (max-width: 1479px) {
  body.sg-solution-shopping .sg-solution-intro.e-con { margin-bottom: -17px !important; }
}

/* Bring the Small Business audience cards and process band onto the measured
   1440px production coordinates without changing mobile/tablet composition. */
@media (min-width: 1200px) and (max-width: 1599px) {
  body.sg-solution-smb .sg-smb-audiences > .elementor-element {
    transform:translateY(100px) !important;
  }
  body.sg-solution-smb .sg-smb-audiences > .elementor-element-sgsmbbgd {
    transform:translateY(174px) !important;
  }
  body.sg-solution-smb .sg-smb-hiw.e-con {
    margin-top:160px !important;
    height:911px !important;
    min-height:911px !important;
  }
  body.sg-solution-smb .sg-smb-models.e-con { margin-bottom:40px !important; }
  body.sg-solution-smb .sg-smb-journey.e-con { margin-bottom:-40px !important; }
  body.sg-solution-smb .sg-smb-core.e-con { margin-bottom:-60px !important; }
}

/* Keep the homepage value section in normal reading order below desktop.
   Elementor's imported row layout pushed the complete benefits block beyond
   the viewport on phones while clipping the overflow, making it unreachable. */
@media (max-width: 991px) {
  body.sg-elementor-home .sg-home-value {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 64px 20px 72px !important;
  }

  body.sg-elementor-home .sg-home-value.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 0 !important;
  }

  body.sg-elementor-home .sg-home-value.e-con > .e-con-inner > .elementor-element {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  body.sg-elementor-home .sg-home-value .sg-benefits-layout.e-con {
    min-height: 0 !important;
    height: auto !important;
    margin-top: 64px !important;
    overflow: visible !important;
  }

  body.sg-elementor-home .sg-home-value .sg-benefits-layout.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    gap: 28px !important;
  }

  body.sg-elementor-home .sg-home-value .sg-benefits-visual,
  body.sg-elementor-home .sg-home-value .sg-benefits-content {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  body.sg-elementor-home .sg-home-value .sg-benefits-layout {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.sg-elementor-home .sg-home-value .sg-benefits-content > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 18px !important;
  }

  body.sg-elementor-home .sg-home-value .sg-benefits-grid.e-con > .e-con-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 14px !important;
  }

  body.sg-elementor-home .sg-home-value .sg-audience-grid.e-con > .e-con-inner,
  body.sg-elementor-home .sg-home-value .sg-benefits-layout.e-con > .e-con-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.sg-elementor-home .sg-home-value .sg-benefit-card,
  body.sg-elementor-home .sg-home-value__links,
  body.sg-elementor-home .sg-home-value__actions {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Keep the Small Business cards readable on tablet. Four columns at 768px
   compressed every card to a narrow strip and made the process copy difficult
   to scan. Two columns preserve the information while keeping the desktop grid. */
@media (min-width: 768px) and (max-width: 991px) {
  body.sg-solution-smb .sg-smb-audiences__grid.e-con,
  body.sg-solution-smb .sg-smb-hiw__row.e-con,
  body.sg-solution-smb .sg-smb-hiw__foot.e-con,
  body.sg-solution-smb .sg-smb-models__grid.e-con,
  body.sg-solution-smb .sg-smb-visit__grid.e-con {
    flex-wrap:wrap !important;
  }

  body.sg-solution-smb .sg-smb-audiences__grid.e-con > .e-con-inner,
  body.sg-solution-smb .sg-smb-hiw__row.e-con > .e-con-inner,
  body.sg-solution-smb .sg-smb-hiw__foot.e-con > .e-con-inner,
  body.sg-solution-smb .sg-smb-models__grid.e-con > .e-con-inner,
  body.sg-solution-smb .sg-smb-visit__grid.e-con > .e-con-inner,
  body.sg-solution-smb .sg-smb-journey__grid.e-con > .e-con-inner {
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
  }

  body.sg-solution-smb .sg-smb-audiences__card.e-con,
  body.sg-solution-smb .sg-smb-hiw__step.e-con,
  body.sg-solution-smb .sg-smb-models__col.e-con,
  body.sg-solution-smb .sg-smb-visit__step.e-con,
  body.sg-solution-smb .sg-smb-hiw__foot-item.e-con {
    flex:0 0 calc(50% - 6px) !important;
    width:calc(50% - 6px) !important;
    max-width:calc(50% - 6px) !important;
  }

  body.sg-solution-smb .sg-smb-journey__grid.e-con {
    flex-wrap:wrap !important;
  }

  body.sg-solution-smb .sg-smb-journey__col.e-con {
    flex:0 0 calc(50% - 6px) !important;
    width:calc(50% - 6px) !important;
    max-width:calc(50% - 6px) !important;
  }
}

@media (min-width: 601px) and (max-width: 991px) {
  body.sg-elementor-home .sg-home-value .sg-audience-grid.e-con > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  body.sg-elementor-home .sg-home-value .sg-benefit-card {
    padding: 22px !important;
  }

  body.sg-elementor-home .sg-home-value .sg-benefits-grid.e-con > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Match the legal page's natural widget flow on compact desktop too. The
   imported layout retained desktop-sized Elementor gaps and negative widget
   margins at 992–1199px, which accumulated into a 114px footer displacement. */
@media (min-width: 992px) and (max-width: 1199px) {
  body.sg-guarantee-page .sg-guarantee-terms__content > .e-con-inner {
    gap: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body.sg-guarantee-page .sg-terms-intro,
  body.sg-guarantee-page .sg-terms-body {
    margin-bottom: 15.504px !important;
  }
  body.sg-guarantee-page .sg-terms-intro p:last-child,
  body.sg-guarantee-page .sg-terms-body p:last-child {
    margin-bottom: 0 !important;
  }
  body.sg-guarantee-page .sg-terms-heading {
    margin-top: 0 !important;
    margin-bottom: 7.752px !important;
  }
}

@media (max-width: 600px) {
  body.sg-elementor-home .sg-home-value .sg-audience-grid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.sg-elementor-home .sg-home-value .sg-section-heading {
    padding: 0 !important;
  }

  body.sg-elementor-home .sg-home-value .sg-benefits-visual {
    min-height: 220px !important;
    max-width: 430px !important;
    margin: 0 auto !important;
  }

  body.sg-elementor-home .sg-home-value .sg-benefits-visual__laptop,
  body.sg-elementor-home .sg-home-value .sg-benefits-visual__card {
    max-width: 100% !important;
  }

  body.sg-elementor-home .sg-home-value .sg-benefits-content > .e-con-inner {
    gap: 14px !important;
  }

  body.sg-elementor-home .sg-home-value .sg-benefit-card {
    padding: 20px !important;
  }
}

/* Production centers the Case Studies title on the same Bootstrap-width
   column used by its cards at tablet and compact-desktop breakpoints. */
@media (min-width: 768px) and (max-width: 1199px) {
  body.sg-case-studies {
    --sg-blog-col-w: calc(66.6667vw - 35px);
  }
}

/* Match the production Buy Now form field rows and collapsed FAQ state. */
@media (min-width: 992px) {
  body.sg-buy-form-page .sg-buy-form-section { padding-bottom: 189px !important; }
  body.sg-buy-form-page .sg-buy-form .elementor-field-group-vat {
    flex-basis: 100% !important;
  }

  body.sg-buy-form-page .sg-buy-form .elementor-field-group-vat .elementor-field,
  body.sg-buy-form-page .sg-buy-form .elementor-field-group-vat .elementor-field-label {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.sg-buy-form-page .sg-buy-form .elementor-field-group-vat .elementor-field {
    display: block !important;
    width: calc(50% - 14px) !important;
    max-width: calc(50% - 14px) !important;
    margin-right: auto !important;
  }

  body.sg-buy-form-page .sg-buy-form .elementor-field-type-submit .elementor-button {
    min-width: 185px !important;
    min-height: 62px !important;
    border-radius: 11px !important;
    font-size: 17px !important;
  }
}

/* Restore the production column system on the legacy Buy Now offer page. */
@media (min-width: 1280px) {
  body.sg-buy-offer-page .sg-buy-offer-hero__inner,
  body.sg-buy-offer-page .sg-buy-section:not(.sg-buy-logos):not(.sg-buy-guarantee) {
    box-sizing: border-box !important;
    width: min(1162px, 78.4vw) !important;
    max-width: 1162px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body.sg-buy-offer-page .sg-buy-section > .e-con-inner,
  body.sg-buy-offer-page .sg-buy-audience-grid,
  body.sg-buy-offer-page .sg-buy-audience-grid > .e-con-inner {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.sg-buy-offer-page .sg-buy-offer-hero h1,
  body.sg-buy-offer-page .sg-buy-offer-hero h2 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    transform: none !important;
  }

  body.sg-buy-offer-page .sg-buy-offer-hero h1 { line-height: 1.1 !important; }
  body.sg-buy-offer-page .sg-buy-offer-hero h2 { line-height: 1.2 !important; }

  body.sg-buy-offer-page .sg-buy-how > .e-con-inner > .elementor-element-sgbohhw,
  body.sg-buy-offer-page .sg-buy-how > .e-con-inner > .elementor-widget-heading {
    box-sizing: border-box !important;
    width: 59% !important;
    max-width: 700px !important;
    margin-left: 41% !important;
  }

  body.sg-buy-offer-page .sg-buy-referral > .e-con-inner > .elementor-widget-heading,
  body.sg-buy-offer-page .sg-buy-referral > .e-con-inner > .elementor-widget-text-editor {
    box-sizing: border-box !important;
    width: 59% !important;
    max-width: 700px !important;
    margin-left: 41% !important;
  }

  body.sg-buy-offer-page .sg-buy-fill > .e-con-inner > .elementor-widget-heading,
  body.sg-buy-offer-page .sg-buy-fill > .e-con-inner > .elementor-widget-button {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    text-align: left !important;
  }

  body.sg-buy-offer-page .sg-buy-benefits > .e-con-inner,
  body.sg-buy-offer-page .sg-buy-guarantee > .e-con-inner {
    box-sizing: border-box !important;
    width: min(1162px, 78.4vw) !important;
    max-width: 1162px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body.sg-buy-offer-page .sg-buy-benefits > .e-con-inner > .elementor-widget-heading,
  body.sg-buy-offer-page .sg-buy-guarantee > .e-con-inner > .elementor-widget-heading {
    padding-left: 50px !important;
  }

  body.sg-buy-offer-page .sg-buy-logos {
    min-height: 360px !important;
  }
}

@media (min-width: 992px) and (max-width: 1279px) {
  body.sg-buy-offer-page .sg-buy-offer-hero__inner,
  body.sg-buy-offer-page .sg-buy-section:not(.sg-buy-logos):not(.sg-buy-guarantee) {
    box-sizing: border-box !important;
    width: calc(100vw - 242px) !important;
    max-width: 970px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body.sg-buy-offer-page .sg-buy-section > .e-con-inner,
  body.sg-buy-offer-page .sg-buy-audience-grid,
  body.sg-buy-offer-page .sg-buy-audience-grid > .e-con-inner {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.sg-buy-offer-page .sg-buy-offer-hero h1,
  body.sg-buy-offer-page .sg-buy-offer-hero h2 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    transform: none !important;
  }

  body.sg-buy-offer-page .sg-buy-how > .e-con-inner > .elementor-element-sgbohhw,
  body.sg-buy-offer-page .sg-buy-how > .e-con-inner > .elementor-widget-heading {
    box-sizing: border-box !important;
    width: 59% !important;
    max-width: 700px !important;
    margin-left: 41% !important;
  }

  body.sg-buy-offer-page .sg-buy-referral > .e-con-inner > .elementor-widget-heading,
  body.sg-buy-offer-page .sg-buy-referral > .e-con-inner > .elementor-widget-text-editor {
    box-sizing: border-box !important;
    width: 59% !important;
    max-width: 700px !important;
    margin-left: 41% !important;
  }

  body.sg-buy-offer-page .sg-buy-fill > .e-con-inner > .elementor-widget-heading,
  body.sg-buy-offer-page .sg-buy-fill > .e-con-inner > .elementor-widget-button {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    text-align: left !important;
  }

  body.sg-buy-offer-page .sg-buy-benefits > .e-con-inner,
  body.sg-buy-offer-page .sg-buy-guarantee > .e-con-inner {
    box-sizing: border-box !important;
    width: calc(100vw - 242px) !important;
    max-width: 970px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body.sg-buy-offer-page .sg-buy-benefits > .e-con-inner > .elementor-widget-heading,
  body.sg-buy-offer-page .sg-buy-guarantee > .e-con-inner > .elementor-widget-heading {
    padding-left: 50px !important;
  }
}

@media (min-width: 1200px) {
  body.sg-buy-form-page .sg-buy-form-section { padding-bottom: 149px !important; }
}

@media (min-width: 1200px) and (max-width: 1599px) {
  body.sg-buy-form-page .sg-buy-form-section { padding-bottom: 181px !important; }
}

@media (min-width: 992px) {
  body.sg-buy-form-page .sg-buy-faq h2 { margin-bottom: 128px !important; }
  body.sg-buy-form-page .sg-buy-form-accordion .elementor-tab-title { padding-top: 36px !important; padding-bottom: 36px !important; }
}

body.sg-buy-form-page .sg-buy-form-accordion .elementor-toggle-item {
  border: 0 !important;
  border-bottom: 1px solid #ddd !important;
  margin: 0 !important;
}

body.sg-buy-form-page .sg-buy-form-accordion .elementor-tab-title {
  padding: 24px 0 !important;
  border: 0 !important;
  color: #2e087b !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

body.sg-buy-form-page .sg-buy-form-accordion .elementor-toggle-title {
  color: inherit !important;
  font: inherit !important;
}

body.sg-buy-form-page .sg-buy-form-accordion .elementor-toggle-icon {
  display: none !important;
}

body.sg-buy-form-page .sg-buy-form-accordion .elementor-tab-content {
  padding: 0 0 20px !important;
  border: 0 !important;
  color: #414141 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

@media (max-width: 767px) {
  body.sg-buy-form-page .sg-buy-form-accordion .elementor-tab-title {
    padding: 18px 0 !important;
    font-size: 18px !important;
  }
}

/* Final Buy Now offer alignment overrides (after legacy breakpoint rules). */
@media (min-width: 1280px) {
  body.sg-buy-offer-page .elementor-element-sgboref > .e-con-inner > .elementor-widget-heading,
  body.sg-buy-offer-page .elementor-element-sgboref > .e-con-inner > .elementor-widget-text-editor {
    margin-left: 50% !important;
    align-self: flex-start !important;
  }
  body.sg-buy-offer-page .elementor-element-sgboref .elementor-heading-title { text-align: left !important; }
  body.sg-buy-offer-page .elementor-element-sgbofill > .e-con-inner > .elementor-widget-heading,
  body.sg-buy-offer-page .elementor-element-sgbofill > .e-con-inner > .elementor-widget-button,
  body.sg-buy-offer-page .elementor-element-sgbobens > .e-con-inner > .elementor-widget-heading {
    width: 100% !important;
    max-width: 100% !important;
    align-self: stretch !important;
    margin-left: 0 !important;
  }
  body.sg-buy-offer-page .elementor-element-sgbofill .elementor-heading-title,
  body.sg-buy-offer-page .elementor-element-sgbobens .elementor-heading-title { text-align: left !important; }
}
@media (min-width: 1280px) {
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgboref > .e-con-inner > .elementor-element.elementor-element-sgborefh,
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgboref > .e-con-inner > .elementor-element.elementor-element-sgborefs,
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgboref > .e-con-inner > .elementor-element.elementor-element-sgborefp {
    margin-left: 50% !important;
    align-self: flex-start !important;
  }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbofill > .e-con-inner > .elementor-element.elementor-element-sgbofilh,
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbofill > .e-con-inner > .elementor-element.elementor-element-sgbofillcta,
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbobens > .e-con-inner > .elementor-element.elementor-element-sgbobnh {
    align-self: flex-start !important;
    margin-left: 0 !important;
  }
}
@media (min-width: 1280px) {
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohow > .elementor-element.elementor-element-sgbohhw {
    margin-left: 41% !important;
    align-self: flex-start !important;
  }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgboref > .elementor-element.elementor-element-sgborefh,
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgboref > .elementor-element.elementor-element-sgborefs,
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgboref > .elementor-element.elementor-element-sgborefp {
    margin-left: 41% !important;
    align-self: flex-start !important;
  }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbofill > .elementor-element.elementor-element-sgbofilh,
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbofill > .elementor-element.elementor-element-sgbofillcta {
    align-self: flex-start !important;
    margin-left: 0 !important;
  }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbobens > .elementor-element.elementor-element-sgbobnh,
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgboguar > .elementor-element.elementor-element-sgboguarh {
    align-self: flex-start !important;
    margin-left: 50px !important;
  }
}
@media (min-width: 1280px) {
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbofill {
    flex-direction: row !important; align-items: center !important; gap: 14px !important; padding-top: 0 !important;
  }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbofill > .elementor-element.elementor-element-sgbofilh {
    flex: 0 0 282px !important; width: 282px !important; margin: 0 !important;
  }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbofill > .elementor-element.elementor-element-sgbofillcta {
    flex: 0 0 230px !important; width: 230px !important; margin: 0 !important;
  }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbofilh .elementor-heading-title {
    color: #f39704 !important; font-family: "Gilroy Light", sans-serif !important; font-size: 34px !important; font-weight: 500 !important; line-height: 1.2 !important;
  }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohhw .elementor-heading-title,
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgborefh .elementor-heading-title {
    color: #414141 !important; font-family: "Gilroy Light", sans-serif !important; font-size: 30px !important; font-weight: 500 !important; line-height: 1.2 !important;
  }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbobens,
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbobens > .e-con-inner { transform: translateY(-19px) !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbologos { min-height: 385px !important; }
}
@media (min-width: 1600px) {
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbologos { min-height: 574px !important; }
}
@media (min-width: 1280px) {
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbofill { padding: 10px 0 103px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbowho { margin-top: -6px !important; margin-bottom: -145px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohow { margin-top: 6px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgboh1 .elementor-heading-title,
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgboh2 .elementor-heading-title {
    width: calc(100% + 20px) !important; max-width: none !important; transform: translateX(-10px) !important;
  }
}
@media (min-width: 1280px) {
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbofill { padding: 6px 0 134px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbofilh .elementor-heading-title { line-height: 50px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgboh1 .elementor-heading-title { transform: translateX(-11px) !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgboh2 .elementor-heading-title { transform: translateX(-1px) !important; }
}
@media (min-width: 1280px) {
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbofill { padding-bottom: 143px !important; }
}
@media (min-width: 1280px) {
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbowclose { margin-top: -120px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohow { margin-top: 126px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbologos .elementor-widget-image {
    flex: 0 0 243px !important; width: 243px !important;
  }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbologos .elementor-widget-image img {
    max-width: 243px !important; max-height: 100px !important; width: auto !important; object-fit: contain !important;
  }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbofillcta .elementor-button {
    width: 230px !important; min-height: 60px !important; border-radius: 12px !important; background: #f39704 !important;
  }
}
@media (min-width: 1280px) {
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbowsmh { margin-top: 18px !important; margin-bottom: -3px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbowsmh .elementor-heading-title,
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbowmdh .elementor-heading-title {
    margin: 0 !important; line-height: 24px !important;
  }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbowsml ul,
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbowmdl ul { margin-bottom: 0 !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbowsmall { margin-bottom: -34px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbowclose { margin-top: -40px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohow { margin-top: 178px !important; margin-bottom: -321px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgboref { margin-top: -9px !important; margin-bottom: -114px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbofill { padding-bottom: 153px !important; }
}
@media (min-width: 1280px) {
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohow { margin-top: 141px !important; margin-bottom: -306px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbowgrid > .e-con-inner {
    box-sizing: border-box !important; width: 100% !important; max-width: 100% !important; padding: 0 !important; gap: 26px !important;
  }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbowcopy { flex: 0 0 59.1% !important; width: 59.1% !important; max-width: 59.1% !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbowimage { flex: 0 0 38.6% !important; width: 38.6% !important; max-width: 38.6% !important; }
}
@media (min-width: 1280px) {
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbowclose { margin-top: -17px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohow { margin-top: 138px !important; }
}
@media (min-width: 1280px) {
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohimage {
    flex: 0 0 552px !important; width: 552px !important; max-width: none !important; margin-left: -126px !important;
  }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohsteps {
    flex: 0 0 667px !important; width: 667px !important; max-width: 667px !important; margin-left: 50px !important;
  }
}
/* Match the production transition from the benefits section into the guarantee
   form while preserving the deliberate whitespace below the form. */
@media (min-width: 1280px) and (max-width: 1599px) {
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohow { margin-bottom: -385px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgboguar { padding-bottom: 261px !important; }
}
@media (min-width: 1600px) {
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohow { margin-bottom: -360px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbologos { min-height: 366px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgboguar { padding-bottom: 262px !important; }
}
@media (min-width: 992px) and (max-width: 1279px) {
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbowho { margin-top: -8px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbowmedium { margin-top: -51px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbowclose { transform: translateY(-44px) !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohow { margin-top: -71px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohhw { margin-bottom: -9px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohgrid > .e-con-inner { display: block !important; position: relative !important; height: 96px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohsteps { width: 48.6% !important; max-width: 459px !important; margin-left: 42.8% !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohsteps ul { width: calc(100% - 59px) !important; margin-left: 59px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohimage { position: absolute !important; left: 0 !important; top: 153px !important; width: 40% !important; max-width: 378px !important; transform: none !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbohnote { margin-top: -3px !important; }
  body.sg-buy-offer-page.sg-buy-offer-page .elementor-element.elementor-element-sgbospend { margin-top: -19px !important; }
  body.sg-buy-offer-page .sg-buy-section:not(.sg-buy-logos):not(.sg-buy-guarantee) {
    width: calc(100vw - 80px) !important;
    max-width: 970px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.sg-buy-offer-page .elementor-element-sgbowgrid,
  body.sg-buy-offer-page .elementor-element-sgbowgrid > .e-con-inner { width: 100% !important; max-width: 100% !important; }
  body.sg-buy-offer-page .elementor-element-sgbowcopy { flex: 0 0 58% !important; width: 58% !important; max-width: 58% !important; min-width: 0 !important; }
  body.sg-buy-offer-page .elementor-element-sgbowimage { flex: 0 0 38% !important; width: 38% !important; max-width: 38% !important; }
  body.sg-buy-offer-page .elementor-element-sgbowintro { width: 459px !important; max-width: 49% !important; margin-left: 8.6% !important; }
  body.sg-buy-offer-page .elementor-element-sgbowsmh,
  body.sg-buy-offer-page .elementor-element-sgbowmdh,
  body.sg-buy-offer-page .elementor-element-sgbowsml,
  body.sg-buy-offer-page .elementor-element-sgbowmdl { width: 100% !important; max-width: 100% !important; transform: none !important; }
  body.sg-buy-offer-page .elementor-element-sgbowclose { width: 49% !important; max-width: 459px !important; margin-left: 8.6% !important; }

  body.sg-buy-offer-page .elementor-element-sgbohow { margin-top: -81px !important; }
  body.sg-buy-offer-page .elementor-element-sgbohhw { width: 48.6% !important; max-width: 459px !important; margin-left: 42.8% !important; align-self: flex-start !important; text-align: left !important; }
  body.sg-buy-offer-page .elementor-element-sgbohgrid,
  body.sg-buy-offer-page .elementor-element-sgbohgrid > .e-con-inner { width: 100% !important; max-width: 100% !important; }
  body.sg-buy-offer-page .elementor-element-sgbohsteps { order: 2 !important; flex: 0 0 48.6% !important; width: 48.6% !important; max-width: 459px !important; margin-left: 42.8% !important; }
  body.sg-buy-offer-page .elementor-element-sgbohimage { order: 1 !important; flex: 0 0 40% !important; width: 40% !important; max-width: 378px !important; transform: translateY(153px) !important; }
  body.sg-buy-offer-page .elementor-element-sgbohnote,
  body.sg-buy-offer-page .elementor-element-sgbospend,
  body.sg-buy-offer-page .elementor-element-sgborefh,
  body.sg-buy-offer-page .elementor-element-sgborefs,
  body.sg-buy-offer-page .elementor-element-sgborefp { width: 48.6% !important; max-width: 459px !important; margin-left: 42.8% !important; align-self: flex-start !important; text-align: left !important; }
  body.sg-buy-offer-page .elementor-element-sgbofilh,
  body.sg-buy-offer-page .elementor-element-sgbofillcta { align-self: flex-start !important; margin-left: 8.6% !important; text-align: left !important; }
}
body.sg-buy-offer-page .elementor-element-sgboguar { background: #fff !important; }
body.sg-buy-offer-page .elementor-element-sgboguarb,
body.sg-buy-offer-page .elementor-element-sgboguars { margin-left: 50px !important; }
body.sg-buy-offer-page .sg-buy-lead-form .elementor-field-label { color: #5425b8 !important; font-weight: 500 !important; }
body.sg-buy-offer-page .sg-buy-lead-form input:not([type=checkbox]) {
  min-height: 52px !important;
  border: 1px solid #f39704 !important;
  border-radius: 8px !important;
  background: #fff !important;
}
body.sg-buy-offer-page .sg-buy-lead-form .elementor-button { min-height: 60px !important; border-radius: 12px !important; background: #f39704 !important; }

/* The production Buy Now hero uses a wider, right-offset text frame on desktop. */
@media (min-width: 1280px) {
  body.sg-buy-form-page .elementor-element-sgbfh1,
  body.sg-buy-form-page .elementor-element-sgbfh2 {
    box-sizing: border-box !important;
    width: min(calc(100vw - 159px), 1318px) !important;
    max-width: none !important;
    transform: translateX(calc(60px + (1032px - min(calc(100vw - 159px), 1318px)) / 2)) !important;
  }

  body.sg-buy-form-page .elementor-element-sgbfh1 .elementor-heading-title,
  body.sg-buy-form-page .elementor-element-sgbfh2 .elementor-heading-title {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.sg-buy-form-page .elementor-element-sgbfqah .elementor-heading-title {
    box-sizing: border-box !important;
    width: calc(7.7vw + 1060px) !important;
    max-width: none !important;
    margin-left: calc(55px + (1080px - (7.7vw + 1060px)) / 2) !important;
    margin-bottom: 38px !important;
    padding-bottom: 60px !important;
    font-size: 60px !important;
    line-height: 40px !important;
  }

  body.sg-buy-form-page .sg-buy-form-accordion {
    box-sizing: border-box !important;
    width: 1283px !important;
    max-width: none !important;
    margin-left: calc(60px + (1060px - 1283px) / 2) !important;
  }

  body.sg-buy-form-page .sg-buy-form-accordion .elementor-tab-title {
    padding: 31px 31px !important;
    font: 700 30px/36px "Gilroy Extra Bold", sans-serif !important;
  }

  body.sg-buy-form-page .sg-buy-form-accordion .elementor-toggle-title {
    display: block !important;
    width: 100% !important;
  }
}

@media (min-width: 1600px) {
  body.sg-buy-form-page .sg-buy-form-accordion .elementor-tab-title {
    padding: 23px 12px 39px !important;
  }
}

/* Restore the desktop contact width tokens after the shared tablet fluid rules. */
@media (min-width: 1200px) and (max-width: 1919px) {
  body.sg-contact { --sg-contact-col-w: 687.25px; }
}
@media (min-width: 1920px) {
  body.sg-contact { --sg-contact-col-w: 707.25px; }
}

/* The production privacy/cookie table keeps the compact Bootstrap typography
   and stable five-column proportions at tablet widths. */
@media (min-width: 768px) and (max-width: 991px) {
  body.sg-legal .sg-legal-body table {
    width: 100% !important;
    table-layout: fixed !important;
    font-size: 15.5px !important;
  }
  body.sg-legal .sg-legal-body table th,
  body.sg-legal .sg-legal-body table td {
    padding: 7.75px !important;
    font-size: 15.5px !important;
  }
  body.sg-legal .sg-legal-body table tr > :nth-child(1) { width: 14% !important; }
  body.sg-legal .sg-legal-body table tr > :nth-child(2) { width: 25% !important; }
  body.sg-legal .sg-legal-body table tr > :nth-child(3) { width: 19% !important; }
  body.sg-legal .sg-legal-body table tr > :nth-child(4) { width: 15% !important; }
  body.sg-legal .sg-legal-body table tr > :nth-child(5) { width: 27% !important; }
}

/* Final legal-terms parity: mirror production's centered text column, indented
   lists and breakpoint typography while keeping the content Elementor-editable. */
@media (min-width: 601px) and (max-width: 991px) {
  body.sg-guarantee-page .sg-guarantee-terms {
    padding-top: 80px !important;
    padding-bottom: 48px !important;
  }
  body.sg-guarantee-page .sg-guarantee-terms__content {
    width: 62.24vw !important;
    max-width: 650px !important;
  }
  body.sg-guarantee-page .sg-terms-intro,
  body.sg-guarantee-page .sg-terms-body {
    font-size: 15.504px !important;
    line-height: 23.256px !important;
    margin-bottom: 15.504px !important;
  }
  body.sg-guarantee-page .sg-terms-heading:has(h2) .elementor-heading-title {
    font-size: 27.4548px !important;
    line-height: 32.9458px !important;
  }
  body.sg-guarantee-page .sg-terms-heading:has(h3) .elementor-heading-title {
    font-family: "Gilroy Light", sans-serif !important;
    font-size: 30px !important;
    font-weight: 400 !important;
    line-height: 36px !important;
  }
  body.sg-guarantee-page .sg-terms-body ul {
    width: calc(100% - 47px) !important;
    margin-left: 47px !important;
  }
}
@media (max-width: 600px) {
  body.sg-guarantee-page .sg-guarantee-terms { padding-top: 70px !important; }
  body.sg-guarantee-page .sg-terms-intro,
  body.sg-guarantee-page .sg-terms-body { margin-bottom: 15.504px !important; }
  body.sg-guarantee-page .sg-terms-body ul {
    width: calc(100% - 47px) !important;
    margin-left: 47px !important;
  }
  body.sg-guarantee-page .sg-terms-heading:has(h3) .elementor-heading-title {
    font-family: "Gilroy Light", sans-serif !important;
    font-size: 30px !important;
    font-weight: 400 !important;
    line-height: 36px !important;
  }
}

/* Match production's legal-document rhythm on wide screens. Elementor's
   container gap stacks with per-widget margins, so tune the existing widgets
   rather than changing the legal copy or collapsing the whole section. */
@media (min-width: 1200px) {
  body.sg-guarantee-page .sg-guarantee-terms {
    padding-top: 46px !important;
    padding-bottom: 60px !important;
  }
  body.sg-guarantee-page .elementor-element-sggth02,
  body.sg-guarantee-page .elementor-element-sggth07,
  body.sg-guarantee-page .elementor-element-sggth08 {
    margin-top: 5px !important;
  }
  body.sg-guarantee-page .elementor-element-sggtp03,
  body.sg-guarantee-page .elementor-element-sggtp04 {
    margin-bottom: -13px !important;
  }
  body.sg-guarantee-page .elementor-element-sggtp05,
  body.sg-guarantee-page .elementor-element-sggtp06 {
    margin-bottom: -11px !important;
  }
  body.sg-guarantee-page .elementor-element-sggtp07 {
    margin-bottom: -4px !important;
  }
}

/* The demo form is a single-column flow on production phones. Keep each
   Elementor field full width and match the live mobile hero typography. */
@media (min-width: 1600px) {
  /* Production stops the page's main content at the same 1440px shell as
     its legacy template and places the feature section directly after intro. */
  body.sg-solution-shopping .sg-solution-features.e-con {
    margin-top: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-calc.e-con {
    width: calc(100% - 40px) !important;
    max-width: 1440px !important;
    margin: 30px auto 0 !important;
  }
  /* The imported ownership content is shorter than the live composition;
     restore the measured space before Core Benefits and following sections. */
  body.sg-solution-shopping .sg-solution-benefits.e-con {
    margin-top: 178px !important;
  }
}

@media (min-width: 1600px) {
  body.sg-get-demo .sg-demo-hero .elementor-element-sgdmoth1,
  body.sg-get-demo .sg-demo-hero .elementor-element-sgdmoth2 {
    width: 1196px !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
@media (max-width: 767px) {
  body.sg-get-demo .sg-demo-hero.e-con {
    padding-top: 50px !important;
  }
  body.sg-get-demo .sg-demo-hero .elementor-element-sgdmoth1 .elementor-heading-title {
    font-size: 45px !important;
    line-height: 45px !important;
  }
  body.sg-get-demo .sg-demo-hero .elementor-element-sgdmoth2 .elementor-heading-title {
    font-size: 45px !important;
    line-height: 45px !important;
  }
  body.sg-get-demo .sg-demo-form .elementor-form-fields-wrapper {
    column-gap: 0 !important;
  }
  body.sg-get-demo .sg-demo-form .elementor-field-group.elementor-col-50,
  body.sg-get-demo .sg-demo-form .elementor-field-group.elementor-col-100 {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
  body.sg-get-demo .sg-demo-form .elementor-field-group input[type="text"],
  body.sg-get-demo .sg-demo-form .elementor-field-group input[type="email"],
  body.sg-get-demo .sg-demo-form .elementor-field-group input[type="tel"],
  body.sg-get-demo .sg-demo-form .elementor-field-group textarea.elementor-field,
  body.sg-get-demo .sg-demo-form .elementor-field-group select,
  body.sg-get-demo .sg-demo-form .elementor-field-type-select .elementor-select-wrapper {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* The newsletter archive title follows the production's narrower centered
   Bootstrap column at tablet and compact-desktop widths. */
@media (min-width: 768px) and (max-width: 1199px) {
  body.sg-newsletter {
    --sg-blog-col-w: calc(66.6667vw - 35px) !important;
  }
}

/* The published guarantee page uses natural paragraph and heading flow.
   Remove Elementor's extra tablet/mobile container gaps and heading offsets. */
@media (min-width: 601px) and (max-width: 991px) {
  body.sg-guarantee-page .sg-guarantee-terms__content > .e-con-inner {
    gap: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body.sg-guarantee-page .sg-terms-intro,
  body.sg-guarantee-page .sg-terms-body {
    margin-bottom: 15.504px !important;
  }
  body.sg-guarantee-page .sg-terms-intro p:last-child,
  body.sg-guarantee-page .sg-terms-body p:last-child {
    margin-bottom: 0 !important;
  }
  body.sg-guarantee-page .sg-terms-heading {
    margin-top: 0 !important;
    margin-bottom: 7.752px !important;
    color: #414141 !important;
  }
  body.sg-guarantee-page .sg-terms-heading .elementor-heading-title {
    color: #414141 !important;
  }
  body.sg-guarantee-page .sg-terms-heading h3 .elementor-heading-title {
    font-weight: 500 !important;
  }
  body.sg-guarantee-page .elementor-element-sggtp06 li:last-child br,
  body.sg-guarantee-page .elementor-element-sggtp07 li:last-child br {
    display: none !important;
  }
}

@media (max-width: 600px) {
  body.sg-guarantee-page .sg-guarantee-terms {
    padding-top: 80px !important;
  }
  body.sg-guarantee-page .sg-guarantee-terms__content > .e-con-inner {
    gap: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body.sg-guarantee-page .sg-terms-intro,
  body.sg-guarantee-page .sg-terms-body {
    margin-bottom: 15.504px !important;
  }
  body.sg-guarantee-page .sg-terms-intro p:last-child,
  body.sg-guarantee-page .sg-terms-body p:last-child {
    margin-bottom: 0 !important;
  }
  body.sg-guarantee-page .sg-terms-heading,
  body.sg-guarantee-page .sg-terms-intro + .sg-terms-heading {
    margin-top: 0 !important;
    margin-bottom: 7.752px !important;
  }
  body.sg-guarantee-page .sg-terms-heading:has(h2) {
    margin-bottom: 7.752px !important;
  }
  body.sg-guarantee-page .sg-terms-heading h3 .elementor-heading-title {
    font-weight: 500 !important;
  }
  body.sg-guarantee-page .elementor-element-sggtp04 ul {
    padding-left: 31.008px !important;
  }
}

/* Mobile loyalty content uses the same 250px heading measure as the live
   layout. The result, provider and CTA bands were also 59px too short locally. */
@media (max-width: 600px) {
  body.sg-loyalty-page .sg-loyalty-why {
    height: 1546px !important;
    min-height: 1546px !important;
  }
  body.sg-loyalty-page .elementor-element-sglywhygrid .elementor-heading-title,
  body.sg-loyalty-page .elementor-element-sglyproviderintro .elementor-heading-title {
    width: 250px !important;
    max-width: 250px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyresultgrid {
    top: 718px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyresultcopy > .e-con-inner {
    width: 250px !important;
    max-width: 250px !important;
    left: 10px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyproviderg {
    top: 978px !important;
  }
  body.sg-loyalty-page .elementor-element-sglyclose {
    top: 1381px !important;
  }
}

/* The live order page keeps a large deliberate gap between its form and the
   two-question FAQ on tablet and phone layouts. Preserve that spacing locally. */
@media (min-width: 600px) and (max-width: 991px) {
  body.sg-buy-form-page .sg-buy-faq { margin-top: 590px !important; }
}
@media (max-width: 599px) {
  body.sg-buy-form-page .sg-buy-faq { margin-top: 584px !important; }
}

/* Keep the production hero's message and three audience choices on phones.
   The legacy two-action layout is superseded here; stack the audience CTAs so
   each remains readable and easy to tap at narrow widths. */
@media (max-width: 991px) {
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroac,
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroau {
    display: none !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px 0 0 !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop > .e-con-inner {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop .elementor-widget-button,
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop .elementor-button-wrapper,
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop .elementor-button {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop .elementor-button {
    display: flex !important;
    min-height: 54px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 16px !important;
    border: 0 !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: #f39704 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop .elementor-button:hover,
  body.sg-elementor-home .sg-home-hero .elementor-element-sgheroop .elementor-button:focus-visible {
    color: #fff !important;
    background: #d98100 !important;
  }
}

/* FAQ production parity: questions are plain collapsed rows, without Elementor
   cards or the accordion's default plus/minus icon. */
body.sg-faq .sg-faq-accordion .elementor-accordion-item {
  border: 0 !important;
  background: transparent !important;
}
body.sg-faq .sg-faq-accordion .elementor-tab-title,
body.sg-faq .sg-faq-accordion .elementor-tab-title.elementor-active {
  border: 0 !important;
  background: transparent !important;
  min-height: 98px !important;
  box-sizing: border-box !important;
}
body.sg-faq .sg-faq-accordion .elementor-accordion-icon {
  display: none !important;
}
@media (max-width: 767px) {
  body.sg-faq .sg-faq-accordion .elementor-tab-title,
  body.sg-faq .sg-faq-accordion .elementor-tab-title.elementor-active {
    padding: 8px 10px !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    min-height: 98px !important;
  }
  body.sg-faq .sg-faq-accordion .elementor-tab-title .elementor-accordion-title {
    font-size: 14px !important;
    line-height: 1.3 !important;
    text-indent: 0 !important;
  }
  body.sg-faq .sg-faq-accordion .elementor-tab-content {
    padding: 10px 14px !important;
  }
}

/* Multi-location solution: restore the original full-width hero and use fluid
   content widths so Elementor's desktop measurements work across devices. */
body.sg-solution-mlb .sg-mlb-hero.e-con {
  min-height: 506px !important;
  height: auto !important;
  max-height: none !important;
  padding: 76px max(20px, calc((100% - 1162px) / 2)) 132px !important;
  background: #f39704 url("/wp-content/themes/smartgifty-child/assets/graphics/solution_sme_2-3k.webp") center / cover no-repeat !important;
  clip-path: none !important;
  overflow: hidden !important;
}
body.sg-solution-mlb .sg-mlb-hero::before { display: none !important; }
body.sg-solution-mlb .sg-mlb-hero__inner.e-con,
body.sg-solution-mlb .sg-mlb-hero__inner.e-con > .e-con-inner {
  width: 100% !important;
  max-width: 1162px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  align-items: flex-start !important;
}
body.sg-solution-mlb .sg-mlb-hero h1.elementor-heading-title {
  max-width: 1120px !important;
  font-size: clamp(40px, 4.17vw, 60px) !important;
  line-height: 1.08 !important;
  color: #23035e !important;
  margin: 0 0 12px !important;
  text-wrap: balance;
}
body.sg-solution-mlb .sg-mlb-hero h2.elementor-heading-title {
  max-width: 1000px !important;
  font-size: clamp(23px, 2.08vw, 30px) !important;
  line-height: 1.35 !important;
  color: #23035e !important;
  margin: 0 0 16px !important;
}
body.sg-solution-mlb .sg-mlb-hero__actions.e-con,
body.sg-solution-mlb .sg-mlb-hero__actions.e-con > .e-con-inner {
  width: auto !important;
  max-width: 100% !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
body.sg-solution-mlb .sg-mlb-hero .sg-button-orange .elementor-button,
body.sg-solution-mlb .sg-mlb-hero .sg-button-purple .elementor-button {
  width: 230px !important;
  min-height: 59px !important;
  padding: 16px 18px !important;
  border-radius: 12px !important;
  font: 400 18px/27px Archivo, sans-serif !important;
  text-align: center !important;
}
body.sg-solution-mlb .sg-mlb-intro.e-con {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 20px !important;
}
body.sg-solution-mlb .sg-mlb-intro .elementor-widget-text-editor {
  width: 100% !important;
  max-width: 1162px !important;
  margin: 0 auto !important;
}
body.sg-solution-mlb .sg-mlb-intro p {
  padding: 40px 60px !important;
  margin: 0 !important;
  font-size: clamp(20px, 2.08vw, 30px) !important;
  line-height: 1.36 !important;
}
body.sg-solution-mlb .sg-mlb-benefits.e-con {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 28px 20px 52px !important;
}
body.sg-solution-mlb .sg-mlb-benefits > .e-con-inner,
body.sg-solution-mlb .sg-mlb-benefits > .elementor-widget-heading,
body.sg-solution-mlb .sg-mlb-benefits.e-con > .sg-mlb-benefit-row.e-con {
  width: 100% !important;
  max-width: 1162px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.sg-solution-mlb .sg-mlb-benefits h2.elementor-heading-title,
body.sg-solution-mlb .sg-mlb-core h2.elementor-heading-title,
body.sg-solution-mlb .sg-mlb-loyalty h2.elementor-heading-title {
  font-size: clamp(30px, 2.36vw, 34px) !important;
  line-height: 1.2 !important;
}
body.sg-solution-mlb .sg-mlb-benefit-row.e-con,
body.sg-solution-mlb .sg-mlb-benefit-row.e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: clamp(24px, 4vw, 64px) !important;
  width: 100% !important;
  max-width: 1162px !important;
  margin: 0 auto 48px !important;
  padding: 0 !important;
}
body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con,
body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con > .e-con-inner { flex-direction: row-reverse !important; }
body.sg-solution-mlb .sg-mlb-benefit-row__text.e-con,
body.sg-solution-mlb .sg-mlb-benefit-row__visual.e-con {
  flex: 1 1 0 !important;
  width: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.sg-solution-mlb .sg-mlb-benefit-row__text.e-con > .e-con-inner,
body.sg-solution-mlb .sg-mlb-benefit-row__visual.e-con > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
body.sg-solution-mlb .sg-mlb-benefit-row__visual img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  position: relative !important;
  inset: auto !important;
}
body.sg-solution-mlb .sg-mlb-benefit-row.e-con,
body.sg-solution-mlb .sg-mlb-benefit-row.e-con > .e-con-inner,
body.sg-solution-mlb .sg-mlb-benefit-row__text.e-con,
body.sg-solution-mlb .sg-mlb-benefit-row__text.e-con > .e-con-inner,
body.sg-solution-mlb .sg-mlb-benefit-row__visual.e-con,
body.sg-solution-mlb .sg-mlb-benefit-row__visual.e-con > .e-con-inner,
body.sg-solution-mlb .sg-mlb-core.e-con,
body.sg-solution-mlb .sg-mlb-core__grid.e-con,
body.sg-solution-mlb .sg-mlb-core__grid.e-con > .e-con-inner,
body.sg-solution-mlb .sg-mlb-loyalty.e-con,
body.sg-solution-mlb .sg-mlb-loyalty__grid.e-con,
body.sg-solution-mlb .sg-mlb-loyalty__grid.e-con > .e-con-inner,
body.sg-solution-mlb .sg-mlb-faq.e-con,
body.sg-solution-mlb .sg-mlb-numbers.e-con {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
body.sg-solution-mlb .sg-mlb-benefits h3.elementor-heading-title {
  font-size: clamp(24px, 2.08vw, 30px) !important;
  line-height: 1.25 !important;
}
body.sg-solution-mlb .sg-mlb-benefits .sg-mlb-benefit-row__text p {
  font-size: 17px !important;
  line-height: 1.55 !important;
}
body.sg-solution-mlb .sg-mlb-core.e-con,
body.sg-solution-mlb .sg-mlb-loyalty.e-con,
body.sg-solution-mlb .sg-mlb-faq.e-con {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 56px 20px !important;
}
body.sg-solution-mlb .sg-mlb-core__grid.e-con,
body.sg-solution-mlb .sg-mlb-loyalty__grid.e-con,
body.sg-solution-mlb .sg-mlb-core__grid.e-con > .e-con-inner,
body.sg-solution-mlb .sg-mlb-loyalty__grid.e-con > .e-con-inner {
  width: 100% !important;
  max-width: 1162px !important;
  margin: 0 auto !important;
}
body.sg-solution-mlb .sg-mlb-core__grid.e-con > .e-con-inner,
body.sg-solution-mlb .sg-mlb-loyalty__grid.e-con > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 28px !important;
}
body.sg-solution-mlb .sg-mlb-core__col.e-con,
body.sg-solution-mlb .sg-mlb-loyalty__col.e-con {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
}
body.sg-solution-mlb .sg-mlb-core__col ul {
  width: 100% !important;
  max-width: none !important;
  margin: 18px 0 0 !important;
  padding-left: 22px !important;
}
body.sg-solution-mlb .sg-mlb-core__col li {
  font-size: 16px !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere;
}
body.sg-solution-mlb .sg-mlb-faq h2.elementor-heading-title {
  font-size: clamp(34px, 4.2vw, 54px) !important;
  line-height: 1.12 !important;
  padding-bottom: 28px !important;
}
@media (min-width: 768px) and (max-width: 1199px) {
  body.sg-solution-mlb .sg-mlb-hero h2.elementor-heading-title { max-width: 640px !important; }
  body.sg-solution-mlb .sg-mlb-core__grid.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-loyalty__grid.e-con > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 32px !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  body.sg-solution-mlb .sg-mlb-hero h2.elementor-heading-title { max-width: 540px !important; }
}
@media (min-width: 768px) and (max-width: 1199px) {
  body.sg-solution-mlb #content .sg-mlb-hero__actions .elementor-widget-button {
    flex: 0 0 230px !important;
    width: 230px !important;
    max-width: 230px !important;
  }
}
@media (max-width: 767px) {
  body.sg-solution-mlb .sg-mlb-hero.e-con {
    min-height: 0 !important;
    padding: 42px 20px 58px !important;
    background-position: left center !important;
    background-size: auto 100% !important;
  }
  body.sg-solution-mlb .sg-mlb-hero__inner.e-con,
  body.sg-solution-mlb .sg-mlb-hero__inner.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
  }
  body.sg-solution-mlb .sg-mlb-hero h1.elementor-heading-title {
    font-size: clamp(34px, 9vw, 42px) !important;
    line-height: 1.08 !important;
    color: #23035e !important;
  }
  body.sg-solution-mlb .sg-mlb-hero h2.elementor-heading-title {
    font-size: clamp(20px, 5.4vw, 24px) !important;
    line-height: 1.3 !important;
    color: #23035e !important;
  }
  body.sg-solution-mlb .sg-mlb-hero__actions.e-con,
  body.sg-solution-mlb .sg-mlb-hero__actions.e-con > .e-con-inner {
    width: 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  body.sg-solution-mlb .sg-mlb-hero .elementor-widget-button,
  body.sg-solution-mlb .sg-mlb-hero .sg-button-orange .elementor-button,
  body.sg-solution-mlb .sg-mlb-hero .sg-button-purple .elementor-button { display: block !important; width: 100% !important; }
  body.sg-solution-mlb .sg-mlb-intro p {
    padding: 30px 4px !important;
    font-size: 20px !important;
    line-height: 1.5 !important;
  }
  body.sg-solution-mlb .sg-mlb-benefits.e-con { padding: 20px 20px 36px !important; }
  body.sg-solution-mlb .sg-mlb-benefit-row.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--reverse.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-benefit-row--europe.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row--europe.e-con > .e-con-inner {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 16px !important;
    margin: 0 auto 32px !important;
    padding: 0 !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-benefit-row__text.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row__text.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-benefit-row__visual.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row__visual.e-con > .e-con-inner {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  body.sg-solution-mlb .sg-mlb-benefit-row__text.e-con,
  body.sg-solution-mlb .sg-mlb-benefit-row__visual.e-con { flex: 0 1 auto !important; width: 100% !important; }
  body.sg-solution-mlb .sg-mlb-core.e-con,
  body.sg-solution-mlb .sg-mlb-loyalty.e-con,
  body.sg-solution-mlb .sg-mlb-faq.e-con { padding: 40px 20px !important; }
  body.sg-solution-mlb .sg-mlb-core__grid.e-con > .e-con-inner,
  body.sg-solution-mlb .sg-mlb-loyalty__grid.e-con > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  body.sg-solution-mlb .sg-mlb-core__col ul { margin-top: 10px !important; padding-left: 22px !important; }
}

/* Elementor imported absolute positions for the benefit illustrations and
   copy; reset them before the responsive flex layout can size each row. */
body.sg-solution-mlb #content .sg-mlb-benefit-row.sg-mlb-benefit-row.e-con,
body.sg-solution-mlb #content .sg-mlb-benefit-row.sg-mlb-benefit-row.e-con > .e-con-inner {
  display: flex !important;
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  transform: none !important;
}
body.sg-solution-mlb #content .sg-mlb-benefit-row__text.e-con,
body.sg-solution-mlb #content .sg-mlb-benefit-row__visual.e-con,
body.sg-solution-mlb #content .sg-mlb-benefit-row__text.e-con > .e-con-inner,
body.sg-solution-mlb #content .sg-mlb-benefit-row__visual.e-con > .e-con-inner,
body.sg-solution-mlb #content .sg-mlb-benefit-row .elementor-widget,
body.sg-solution-mlb #content .sg-mlb-benefit-row .elementor-widget-container,
body.sg-solution-mlb #content .sg-mlb-benefit-row .elementor-widget-image,
body.sg-solution-mlb #content .sg-mlb-benefit-row .elementor-widget-image img {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse.e-con,
body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse.e-con > .e-con-inner { flex-direction: row-reverse !important; }
@media (max-width: 767px) {
  body.sg-solution-mlb #content .sg-mlb-benefit-row.sg-mlb-benefit-row.e-con,
  body.sg-solution-mlb #content .sg-mlb-benefit-row.sg-mlb-benefit-row.e-con > .e-con-inner,
  body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse.e-con,
  body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse.e-con > .e-con-inner {
    flex-direction: column !important;
  }
}

/* Production parity: multi-location hero and three proof points. */
body.sg-solution-mlb #content .sg-mlb-hero.e-con {
  min-height: 0 !important;
  padding: 76px 0 106px !important;
  background-image: linear-gradient(90deg, rgba(243, 151, 4, .94) 0%, rgba(243, 151, 4, .88) 38%, rgba(243, 151, 4, .38) 70%, rgba(243, 151, 4, .08) 100%), url("/wp-content/themes/smartgifty-child/assets/graphics/solution_sme_2-3k.webp") !important;
  background-position: center, center !important;
  background-size: cover, cover !important;
  /* Match production's asymmetric V cut: left edge sits lower than the right,
     with the point centered at the base of the hero. */
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 135px), 50% 100%, 0 calc(100% - 95px)) !important;
}
body.sg-solution-mlb #content .sg-mlb-hero__inner.e-con,
body.sg-solution-mlb #content .sg-mlb-hero__inner.e-con > .e-con-inner {
  width: 76.2% !important;
  max-width: 1196px !important;
}
body:lang(hr).sg-solution-mlb #content .sg-mlb-hero__inner.e-con,
body:lang(hr).sg-solution-mlb #content .sg-mlb-hero__inner.e-con > .e-con-inner {
  width: 73.1% !important;
}
body.sg-solution-mlb #content .sg-mlb-hero h1.elementor-heading-title {
  max-width: 100% !important;
  font-size: clamp(40px, 4.2vw, 60px) !important;
  margin-left: -2px !important;
  margin-bottom: 18px !important;
  text-wrap: initial !important;
}
body.sg-solution-mlb #content .sg-mlb-hero h2.elementor-heading-title {
  max-width: 100% !important;
  font-size: clamp(23px, 2.1vw, 30px) !important;
  margin: 0 0 28px !important;
  margin-left: -2px !important;
  font-family: "Gilroy Light", "DM Sans", sans-serif !important;
  font-weight: 500 !important;
}
body.sg-solution-mlb #content .sg-mlb-hero__actions.e-con,
body.sg-solution-mlb #content .sg-mlb-hero__actions.e-con > .e-con-inner {
  gap: 16px !important;
}
body.sg-solution-mlb #content .sg-mlb-hero .sg-button-orange .elementor-button {
  color: #23035e !important;
  background: #fff !important;
  border: 2px solid #23035e !important;
  box-shadow: none !important;
}
body.sg-solution-mlb #content .sg-mlb-hero .sg-button-orange .elementor-button,
body.sg-solution-mlb #content .sg-mlb-hero .sg-button-purple .elementor-button {
  min-height: 58px !important;
  padding: 14px 24px !important;
  font: 500 17px/21.25px Archivo, sans-serif !important;
}
body.sg-solution-mlb #content .sg-mlb-intro.e-con { padding-left: 0 !important; padding-right: 0 !important; }
body.sg-solution-mlb #content .sg-mlb-intro .elementor-widget-text-editor {
  width: 80% !important;
  max-width: 1162px !important;
  margin: 0 auto !important;
}
body.sg-solution-mlb #content .sg-mlb-intro p {
  width: 100% !important;
  padding: 56px 28px 36px !important;
  font-size: clamp(20px, 2.13vw, 30px) !important;
  line-height: 1.42 !important;
}
body.sg-solution-mlb #content .sg-mlb-proof-points.e-con {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 80% !important;
  max-width: 1162px !important;
  margin: 32px auto 40px !important;
  padding: 0 !important;
  align-items: stretch !important;
}
body.sg-solution-mlb #content .sg-mlb-proof-point.e-con {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 18px 20px !important;
  background: #f6f2fd !important;
  border: 1px solid #e6e0f3 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(35, 3, 94, .04) !important;
}
body.sg-solution-mlb #content .sg-mlb-proof-point.e-con::before {
  content: "✓";
  position: static !important;
  inset: auto !important;
  display: inline-flex;
  flex: 0 0 26px;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  margin: 0 !important;
  border-radius: 50%;
  color: #fff;
  background: #f39704;
  font: 700 16px/1 Archivo, sans-serif;
}
body.sg-solution-mlb #content .sg-mlb-proof-point .elementor-widget-heading,
body.sg-solution-mlb #content .sg-mlb-proof-point .elementor-widget-container {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
}
body.sg-solution-mlb #content .sg-mlb-proof-point h3.elementor-heading-title {
  margin: 0 !important;
  color: #1a1440 !important;
  font: 500 16px/1.45 Archivo, sans-serif !important;
}
@media (min-width: 768px) and (max-width: 991px) {
  body.sg-solution-mlb #content .sg-mlb-proof-points.e-con {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.sg-solution-mlb #content .sg-mlb-proof-point:last-child { grid-column: 1 / -1 !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  body.sg-solution-mlb #content .sg-mlb-intro.e-con {
    height: auto !important;
    min-height: 0 !important;
  }
}
@media (max-width: 767px) {
  body.sg-solution-mlb #content .sg-mlb-intro.e-con {
    padding: 0 20px !important;
  }
  body.sg-solution-mlb #content .sg-mlb-intro .elementor-widget-text-editor {
    width: 100% !important;
    max-width: 100% !important;
  }
  body.sg-solution-mlb #content .sg-mlb-intro p {
    padding: 30px 4px !important;
    font-size: 20px !important;
    line-height: 1.5 !important;
  }
  body.sg-solution-mlb #content .sg-mlb-hero.e-con {
    padding: 42px 20px 58px !important;
    background-image: linear-gradient(90deg, rgba(243, 151, 4, .92), rgba(243, 151, 4, .52)), url("/wp-content/themes/smartgifty-child/assets/graphics/solution_sme_2-3k.webp") !important;
    background-position: center, center !important;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 28px), 50% 100%, 0 calc(100% - 28px)) !important;
  }
  body.sg-solution-mlb #content .sg-mlb-hero__inner.e-con,
  body.sg-solution-mlb #content .sg-mlb-hero__inner.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
  }
  body:lang(hr).sg-solution-mlb #content .sg-mlb-hero__inner.e-con,
  body:lang(hr).sg-solution-mlb #content .sg-mlb-hero__inner.e-con > .e-con-inner {
    width: 100% !important;
  }
  body.sg-solution-mlb #content .sg-mlb-hero h2.elementor-heading-title {
    font-family: "Gilroy Light", "DM Sans", sans-serif !important;
    font-weight: 500 !important;
    margin-bottom: 18px !important;
  }
  body.sg-solution-mlb #content .sg-mlb-hero h1.elementor-heading-title,
  body.sg-solution-mlb #content .sg-mlb-hero h2.elementor-heading-title {
    margin-left: 0 !important;
  }
  body.sg-solution-mlb #content .sg-mlb-proof-points.e-con {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: calc(100% - 40px) !important;
    margin-top: 16px !important;
  }
  body.sg-solution-mlb #content .sg-mlb-intro .elementor-widget-text-editor {
    width: 100% !important;
    max-width: 100% !important;
  }
  body.sg-solution-mlb #content .sg-mlb-proof-point.e-con { min-height: 0 !important; }
  body.sg-solution-mlb #content .sg-mlb-proof-point:last-child { grid-column: auto !important; }
}

/* Match the production section palette and keep the staging illustration size. */
body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse.e-con {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 24px !important;
  width: min(100%, 1162px) !important;
  max-width: 1162px !important;
  margin: 0 auto 63px !important;
  padding: 0 !important;
}
body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse > .sg-mlb-benefit-row__visual.e-con,
body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse > .sg-mlb-benefit-row__text.e-con {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse > .sg-mlb-benefit-row__visual.e-con {
  flex: 0 0 auto !important;
  width: max-content !important;
  max-width: 62% !important;
}
body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse > .sg-mlb-benefit-row__text.e-con {
  flex: 0 1 382px !important;
  width: 382px !important;
  max-width: calc(38% - 24px) !important;
}
body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__visual img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
}
body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text .title-sme,
body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__text .elementor-widget-text-editor {
  width: 100% !important;
  max-width: 100% !important;
  transform: none !important;
}
body.sg-solution-mlb #content .sg-mlb-core__col .elementor-heading-title,
body.sg-solution-mlb #content .sg-mlb-loyalty__col .elementor-heading-title {
  color: #23035e !important;
  text-align: left !important;
  font-weight: 700 !important;
}
body.sg-solution-mlb #content .sg-mlb-core__col li,
body.sg-solution-mlb #content .sg-mlb-loyalty__col p {
  color: #212529 !important;
  text-align: left !important;
}
body.sg-solution-mlb #content .sg-mlb-core__grid > .e-con-inner,
body.sg-solution-mlb #content .sg-mlb-loyalty__grid > .e-con-inner {
  align-items: start !important;
}
body.sg-solution-mlb #content .sg-mlb-faq .qe-faq-toggle .elementor-heading-title {
  color: #23035e !important;
  text-align: left !important;
}

/* Match production: keep MLB FAQ questions as plain text rows without the
   staging-only plus-in-a-circle marker. */
body.sg-solution-mlb #content .sg-mlb-faq .qe-faq-toggle .elementor-heading-title {
  display: block !important;
  padding-left: 15px !important;
}
body.sg-solution-mlb #content .sg-mlb-faq .qe-faq-toggle .elementor-heading-title::before {
  content: none !important;
  display: none !important;
}
body.sg-solution-mlb #content .sg-mlb-faq .qe-faqs-filters-container {
  display: none !important;
}
/* The closing FAQ CTA is deliberately rounded at every breakpoint. */
body.sg-solution-mlb #content .sg-mlb-unsure .sg-button-orange .elementor-button {
  border-radius: 14px !important;
}
@media (min-width: 768px) and (max-width: 1199px) {
  body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse.e-con {
    gap: 20px !important;
  }
  body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse > .sg-mlb-benefit-row__visual.e-con {
    max-width: 55% !important;
  }
  body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse > .sg-mlb-benefit-row__text.e-con {
    flex-basis: 40% !important;
    width: 40% !important;
    max-width: 40% !important;
  }
}

/* Mobile layout for the multi-location solution. Keep desktop geometry intact. */
@media (max-width: 767px) {
  body.sg-solution-mlb #content .sg-mlb-benefits.e-con,
  body.sg-solution-mlb #content .sg-mlb-core.e-con,
  body.sg-solution-mlb #content .sg-mlb-loyalty.e-con,
  body.sg-solution-mlb #content .sg-mlb-faq.e-con,
  body.sg-solution-mlb #content .sg-mlb-numbers.e-con {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  /* Keep each illustration with its own copy and at a readable mobile size. */
  body.sg-solution-mlb #content .sg-mlb-benefit-row.e-con,
  body.sg-solution-mlb #content .sg-mlb-benefit-row.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto 44px !important;
  }
  body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse.e-con,
  body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse.e-con > .e-con-inner {
    flex-direction: column !important;
  }
  body.sg-solution-mlb #content .sg-mlb-benefit-row__visual.e-con {
    order: 0 !important;
    flex: 0 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  body.sg-solution-mlb #content .sg-mlb-benefit-row__text.e-con {
    order: 1 !important;
    flex: 0 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  body.sg-solution-mlb #content .sg-mlb-benefit-row__visual .elementor-widget-image,
  body.sg-solution-mlb #content .sg-mlb-benefit-row__visual .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  body.sg-solution-mlb #content .sg-mlb-benefit-row__visual img {
    display: block !important;
    width: min(100%, 440px) !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }
  body.sg-solution-mlb #content .sg-mlb-benefit-row__text .elementor-heading-title {
    font-size: clamp(23px, 6.2vw, 28px) !important;
    line-height: 1.2 !important;
    margin: 0 0 10px !important;
  }
  body.sg-solution-mlb #content .sg-mlb-benefit-row__text p {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  /* FAQ rows stay open-width, tap-friendly, and visually quiet on phones. */
  body.sg-solution-mlb #content .sg-mlb-faq {
    padding-top: 40px !important;
    padding-bottom: 28px !important;
  }
  body.sg-solution-mlb #content .sg-mlb-faq h2.elementor-heading-title {
    font-size: clamp(34px, 9vw, 42px) !important;
    line-height: 1.12 !important;
    padding: 0 0 20px !important;
    margin: 0 !important;
  }
  body.sg-solution-mlb #content .sg-mlb-faq .qe-faqs-filters-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 18px !important;
    margin: 0 0 18px !important;
  }
  body.sg-solution-mlb #content .sg-mlb-faq .qe-faq-toggle.e-con {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #e9e5ef !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.sg-solution-mlb #content .sg-mlb-faq .qe-faq-toggle > .e-con-inner,
  body.sg-solution-mlb #content .sg-mlb-faq .qe-faq-toggle .elementor-widget-heading {
    width: 100% !important;
    margin: 0 !important;
    padding: 16px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.sg-solution-mlb #content .sg-mlb-faq .qe-faq-toggle .elementor-heading-title {
    display: block !important;
    padding: 0 !important;
    font-size: 19px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    overflow-wrap: anywhere !important;
  }
  body.sg-solution-mlb #content .sg-mlb-faq .qe-faq-toggle .elementor-widget-text-editor,
  body.sg-solution-mlb #content .sg-mlb-faq .qe-faq-toggle .qe-toggle-content {
    padding: 0 0 18px !important;
    border: 0 !important;
    background: transparent !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  /* Place the confidence prompt and a full-width demo button together. */
  body.sg-solution-mlb #content .sg-mlb-unsure.e-con,
  body.sg-solution-mlb #content .sg-mlb-unsure.sg-solution-unsure {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 24px 20px 44px !important;
    box-sizing: border-box !important;
  }
  body.sg-solution-mlb #content .sg-mlb-unsure h3,
  body.sg-solution-mlb #content .sg-mlb-unsure h3.elementor-heading-title,
  body.sg-solution-mlb #content .sg-mlb-unsure .cta-text .elementor-heading-title {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    font-size: 26px !important;
    line-height: 1.25 !important;
  }
  body.sg-solution-mlb #content .sg-mlb-unsure .elementor-widget-button,
  body.sg-solution-mlb #content .sg-mlb-unsure .sg-button-orange,
  body.sg-solution-mlb #content .sg-mlb-unsure .sg-button-orange .elementor-button {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 56px !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    border-radius: 14px !important;
  }

  /* Stack the numerical facts and let every label wrap beneath its figure. */
  body.sg-solution-mlb #content .sg-mlb-numbers.e-con {
    padding-top: 40px !important;
    padding-bottom: 48px !important;
  }
  body.sg-solution-mlb #content .sg-mlb-numbers .sg-solution-numbers__full.e-con,
  body.sg-solution-mlb #content .sg-mlb-numbers .sg-solution-numbers__two.e-con,
  body.sg-solution-mlb #content .sg-mlb-numbers .sg-solution-numbers__three.e-con {
    display: block !important;
    width: 100% !important;
    max-width: 560px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
    overflow: visible !important;
  }
  body.sg-solution-mlb #content .sg-mlb-numbers .sg-solution-numbers__full > .e-con-inner,
  body.sg-solution-mlb #content .sg-mlb-numbers .sg-solution-numbers__two > .e-con-inner,
  body.sg-solution-mlb #content .sg-mlb-numbers .sg-solution-numbers__three > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
  }
  body.sg-solution-mlb #content .sg-mlb-numbers .sg-solution-numbers__cell.e-con,
  body.sg-solution-mlb #content .sg-mlb-numbers .second-box.e-con,
  body.sg-solution-mlb #content .sg-mlb-numbers .third-box.e-con {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 22px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.18) !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
  body.sg-solution-mlb #content .sg-mlb-numbers .sg-solution-numbers__cell > .e-con-inner,
  body.sg-solution-mlb #content .sg-mlb-numbers .second-box > .e-con-inner,
  body.sg-solution-mlb #content .sg-mlb-numbers .third-box > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  body.sg-solution-mlb #content .sg-mlb-numbers .elementor-widget-counter,
  body.sg-solution-mlb #content .sg-mlb-numbers .elementor-widget-heading,
  body.sg-solution-mlb #content .sg-mlb-numbers .elementor-widget-text-editor,
  body.sg-solution-mlb #content .sg-mlb-numbers .elementor-widget-container {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    transform: none !important;
  }
  body.sg-solution-mlb #content .sg-mlb-numbers .elementor-counter-number,
  body.sg-solution-mlb #content .sg-mlb-numbers .elementor-counter-number-wrapper,
  body.sg-solution-mlb #content .sg-mlb-numbers .elementor-heading-title {
    position: static !important;
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    line-height: 1.05 !important;
    transform: none !important;
    overflow-wrap: anywhere !important;
  }
  body.sg-solution-mlb #content .sg-mlb-numbers .elementor-counter-number,
  body.sg-solution-mlb #content .sg-mlb-numbers .elementor-counter-number-wrapper {
    font-size: clamp(48px, 14vw, 64px) !important;
  }
  body.sg-solution-mlb #content .sg-mlb-numbers .number-big,
  body.sg-solution-mlb #content .sg-mlb-numbers .number-big p,
  body.sg-solution-mlb #content .sg-mlb-numbers .number-small,
  body.sg-solution-mlb #content .sg-mlb-numbers .number-small p {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    font-size: clamp(48px, 14vw, 58px) !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }
  body.sg-solution-mlb #content .sg-mlb-numbers .text-first p,
  body.sg-solution-mlb #content .sg-mlb-numbers .text-small p {
    margin: 8px 0 0 !important;
    font-size: 17px !important;
    line-height: 1.45 !important;
  }
  body.sg-solution-mlb #content .sg-mlb-numbers .second-box.first {
    border-right: 0 !important;
  }
}
@media (max-width: 767px) {
  body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse.e-con {
    flex-direction: column !important;
    gap: 16px !important;
    align-items: stretch !important;
  }
  body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse > .sg-mlb-benefit-row__visual.e-con,
  body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse > .sg-mlb-benefit-row__text.e-con {
    flex: 0 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse > .sg-mlb-benefit-row__visual.e-con,
  body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse > .sg-mlb-benefit-row__text.e-con {
    order: initial !important;
  }
  body.sg-solution-mlb #content .sg-mlb-benefit-row--reverse .sg-mlb-benefit-row__visual img {
    width: 100% !important;
    max-width: 100% !important;
  }
}
body.sg-solution-mlb.sg-solution-mlb #content .sg-mlb-faq .qe-faqs-filters-container {
  display: none !important;
}

/* Keep the hero's primary Contact us label centered in its button. */
body.sg-solution-mlb .sg-mlb-hero .sg-button-purple .elementor-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
body.sg-solution-mlb .sg-mlb-hero .sg-button-purple .elementor-button-content-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
}

/* Homepage proof points: match the production band between the intro CTA and
   the audience cards, while keeping the cards readable at narrow widths. */
body.sg-elementor-home .sg-home-value .sg-home-proof-points.e-con {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1480px !important;
  margin: 48px auto 72px !important;
  padding: 0 20px !important;
}
body.sg-elementor-home .sg-home-value .sg-home-proof-points.e-con > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
body.sg-elementor-home .sg-home-value .sg-home-proof-point.e-con {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: flex-start !important;
  min-width: 0 !important;
  min-height: 85px !important;
  margin: 0 !important;
  padding: 18px 20px !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.09) !important;
}
body.sg-elementor-home .sg-home-value .sg-home-proof-point.e-con > .e-con-inner {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
body.sg-elementor-home .sg-home-value .sg-home-proof-point.e-con > .e-con-inner::before {
  content: "✓" !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex: 0 0 26px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  margin-top: 1px !important;
  border-radius: 50% !important;
  background: #ff9d00 !important;
  color: #fff !important;
  font: 700 16px/1 Arial, sans-serif !important;
}
body.sg-elementor-home .sg-home-value .sg-home-proof-point__text,
body.sg-elementor-home .sg-home-value .sg-home-proof-point__text .elementor-heading-title {
  margin: 0 !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

@media (min-width: 1200px) {
  body.sg-elementor-home .sg-home-value { height: 3332px !important; min-height: 3332px !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  body.sg-elementor-home .sg-home-value { height: 2914px !important; min-height: 2914px !important; }
}
@media (max-width: 991px) {
  body.sg-elementor-home .sg-home-value .sg-home-proof-points.e-con {
    margin: 34px auto 44px !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  body.sg-elementor-home .sg-home-value .sg-home-proof-points.e-con > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  body.sg-elementor-home .sg-home-value .sg-home-proof-point.e-con {
    min-height: 68px !important;
    padding: 16px !important;
  }
  body.sg-elementor-home .sg-home-value .sg-home-proof-point.e-con > .e-con-inner { gap: 12px !important; }
  body.sg-elementor-home .sg-home-value .sg-home-proof-point__text,
  body.sg-elementor-home .sg-home-value .sg-home-proof-point__text .elementor-heading-title {
    grid-template-columns: 24px minmax(0, 1fr) !important;
    column-gap: 11px !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
  }
  body.sg-solution-shopping #content .sg-shopping-proof-point h3.elementor-heading-title::before,
  body.sg-solution-smb #content .sg-smb-proof-point h3.elementor-heading-title::before {
    width: 24px !important;
    height: 24px !important;
    font-size: 15px !important;
  }
}

/* Keep proof point checkmarks in the card's flex flow after Elementor rules. */
body.sg-elementor-home .sg-home-value .sg-home-proof-point.e-con {
  flex-direction: row !important;
  align-items: center !important;
}
body.sg-elementor-home .sg-home-value .sg-home-proof-point.e-con::before {
  position: static !important;
  inset: auto !important;
  align-self: center !important;
  margin: 0 !important;
}
body.sg-elementor-home .sg-home-value .sg-home-proof-point.e-con > .e-con-inner::before {
  content: none !important;
  display: none !important;
}
body.sg-elementor-home .sg-home-value .sg-home-proof-point h3 {
  font-family: "Archivo", sans-serif !important;
  font-weight: 400 !important;
}

/* Homepage mobile layout: replace desktop-sized fixed bands and absolute
   placements with a compact, naturally flowing single-column composition. */
@media (max-width: 767px) {
  body.sg-elementor-home .sg-home-hero {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 34px !important;
    overflow: hidden !important;
  }
  body.sg-elementor-home .sg-home-hero .sg-home-hero__inner.e-con > .e-con-inner {
    height: auto !important;
    min-height: 0 !important;
    padding: 30px 20px 0 !important;
  }
  body.sg-elementor-home .sg-home-hero .sg-home-hero__product {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 430px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 30px auto 0 !important;
    transform: none !important;
  }
  body.sg-elementor-home .sg-home-hero .sg-home-hero__product img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    transform: none !important;
  }

  body.sg-elementor-home .sg-home-value {
    padding: 48px 20px 56px !important;
  }
  body.sg-elementor-home .sg-home-value .sg-section-heading {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 0 28px !important;
  }
  body.sg-elementor-home .sg-home-value .sg-section-heading .elementor-heading-title {
    font-size: clamp(30px, 8vw, 36px) !important;
    line-height: 1.12 !important;
    text-wrap: balance !important;
  }
  body.sg-elementor-home .sg-home-value .sg-section-heading .elementor-widget-text-editor,
  body.sg-elementor-home .sg-home-value .sg-section-heading .elementor-widget-text-editor p {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }
  body.sg-elementor-home .sg-home-value .sg-home-proof-points.e-con {
    margin: 24px auto 40px !important;
    padding: 0 !important;
  }
  body.sg-elementor-home .sg-home-value .sg-home-proof-point.e-con {
    align-items: center !important;
    min-height: 0 !important;
    padding: 15px !important;
  }
  body.sg-elementor-home .sg-home-value .sg-home-proof-point h3 {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 11px !important;
    width: 100% !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: "Archivo", sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    text-align: left !important;
  }
  body.sg-elementor-home .sg-home-value .sg-home-proof-point h3::before {
    content: "✓" !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    background: #ff9d00 !important;
    color: #fff !important;
    font: 700 15px/1 Arial, sans-serif !important;
  }
  body.sg-elementor-home .sg-home-value .sg-home-proof-point.e-con::before,
  body.sg-elementor-home .sg-home-value .sg-home-proof-point.e-con > .e-con-inner::before {
    display: none !important;
    content: none !important;
  }

  body.sg-elementor-home .sg-home-loyalty {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 48px 24px !important;
  }
  body.sg-elementor-home .sg-home-loyalty > .ast-container,
  body.sg-elementor-home .sg-home-loyalty > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  body.sg-elementor-home .sg-home-loyalty .elementor-widget-heading,
  body.sg-elementor-home .sg-home-loyalty .elementor-widget-text-editor {
    margin: 0 0 14px !important;
  }
  body.sg-elementor-home .sg-home-loyalty h2,
  body.sg-elementor-home .sg-home-loyalty .elementor-element-sgloylh2 h2 {
    font-size: clamp(28px, 7.5vw, 34px) !important;
    line-height: 1.18 !important;
    text-align: center !important;
  }
  body.sg-elementor-home .sg-home-loyalty .elementor-element-sgloylh3 .elementor-heading-title {
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
    text-align: center !important;
  }

  body.sg-elementor-home .sg-home-how {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 48px 0 40px !important;
    overflow: hidden !important;
  }
  body.sg-elementor-home .sg-home-how .sg-home-how__inner,
  body.sg-elementor-home .sg-home-how .sg-home-how__inner > .e-con-inner {
    height: auto !important;
    min-height: 0 !important;
  }
  body.sg-elementor-home .sg-home-how .hiw-row,
  body.sg-elementor-home .sg-home-how .sg-hiw-row {
    max-width: 100vw !important;
  }

  body.sg-elementor-home .sg-home-stats {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 48px 20px 52px !important;
    overflow: hidden !important;
  }
  body.sg-elementor-home .sg-home-stats > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 16px !important;
    padding: 0 !important;
  }
  body.sg-elementor-home .sg-home-stats .elementor-element-sgstatsh2,
  body.sg-elementor-home .sg-home-stats .elementor-element-sgstatsh3.subtitle {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    text-align: center !important;
  }
  body.sg-elementor-home .sg-home-stats .elementor-element-sgstatsh2 .elementor-heading-title {
    font-size: clamp(32px, 8vw, 38px) !important;
    line-height: 1.12 !important;
    text-align: center !important;
    text-wrap: balance !important;
  }
  body.sg-elementor-home .sg-home-stats .elementor-element-sgstatsh3.subtitle,
  body.sg-elementor-home .sg-home-stats .elementor-element-sgstatsh3.subtitle p {
    font-size: 18px !important;
    line-height: 1.4 !important;
    text-align: center !important;
  }
  body.sg-elementor-home .sg-home-stats .sg-stats-squares.e-con {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    transform: none !important;
  }
  body.sg-elementor-home .sg-home-stats .sg-stats-squares .square.e-con {
    position: relative !important;
    inset: auto !important;
    width: min(100%, 270px) !important;
    max-width: 270px !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 auto !important;
    transform: none !important;
  }
  body.sg-elementor-home .sg-home-stats .sg-stats-squares .square.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    row-gap: 12px !important;
    padding: 22px 20px !important;
    text-align: center !important;
  }
  body.sg-elementor-home .sg-home-stats .sg-stats-squares .number {
    font-size: clamp(44px, 12vw, 54px) !important;
    line-height: 1 !important;
  }
  body.sg-elementor-home .sg-home-stats .sg-stats-squares .text {
    max-width: 28ch !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }

  body.sg-elementor-home .sg-home-logos {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 28px 0 36px !important;
  }
  body.sg-elementor-home .sg-home-logos .sg-logo-carousel,
  body.sg-elementor-home .sg-home-logos .sg-logo-carousel__slide {
    height: auto !important;
    min-height: 80px !important;
  }

  body.sg-elementor-home .sg-home-faq {
    display: block !important;
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 48px 20px 54px !important;
    overflow: visible !important;
  }
  body.sg-elementor-home .sg-home-faq .elementor-element-sgfaqh2,
  body.sg-elementor-home .sg-home-faq .elementor-element-sgfaqh2 > .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
  }
  body.sg-elementor-home #home-faq .elementor-element-sgfaqh2 {
    margin: 0 0 24px !important;
  }
  body.sg-elementor-home #home-faq .qae-faqs-container {
    margin: 0 !important;
  }
  body.sg-elementor-home .sg-home-faq .elementor-element-sgfaqh2 .elementor-heading-title {
    margin: 0 !important;
    font-size: clamp(32px, 8vw, 38px) !important;
    line-height: 1.12 !important;
    text-align: center !important;
  }
  body.sg-elementor-home .sg-home-faq .qae-faqs-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle,
  body.sg-elementor-home #home-faq .elementor-element-sgfaqi2,
  body.sg-elementor-home #home-faq .elementor-element-sgfaqi3,
  body.sg-elementor-home #home-faq .elementor-element-sgfaqi5 {
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #eeeaf5 !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle > .e-con-inner {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 64px !important;
    height: auto !important;
    padding: 14px 38px 14px 0 !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle > .e-con-inner::before {
    top: 50% !important;
    right: 2px !important;
    left: auto !important;
    width: 20px !important;
    height: 20px !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle .elementor-widget-heading {
    width: 100% !important;
    margin: 0 !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle .elementor-heading-title {
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle.is-open > .e-con-inner {
    flex-direction: column !important;
    align-items: stretch !important;
    padding-right: 0 !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle.is-open > .e-con-inner::before {
    top: 16px !important;
    right: 2px !important;
    left: auto !important;
    transform: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%232c007c'/%3E%3Cpath d='M7 12h10' stroke='white' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle .qe-toggle-content {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 12px 0 2px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.sg-elementor-home #home-faq .qe-faq-toggle .qe-toggle-content p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
  body.sg-elementor-home .sg-home-faq .qe-toggle-title i.fa-plus-circle { display: none !important; }

  body.sg-elementor-home .sg-guarantee-html {
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 14px !important;
    padding: 48px 20px 40px !important;
  }
  body.sg-elementor-home .sg-guarantee-html > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 14px !important;
    padding: 0 !important;
  }
  body.sg-elementor-home .sg-guarantee-html > .elementor-element,
  body.sg-elementor-home .sg-guarantee-html > .e-con-inner > .elementor-element {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    transform: none !important;
  }
  body.sg-elementor-home .sg-guarantee-html .elementor-element-sgguarh2 .elementor-heading-title {
    font-size: clamp(28px, 7.5vw, 34px) !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }
  body.sg-elementor-home .sg-guarantee-html p {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }
  body.sg-elementor-home .sg-guarantee-html .disclaimer {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  body.sg-elementor-home .sg-cta-html {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 48px 20px 52px !important;
  }
  body.sg-elementor-home .sg-cta-html > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 12px !important;
  }
  body.sg-elementor-home .sg-cta-html > .e-con-inner > .elementor-element {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    transform: none !important;
  }
  body.sg-elementor-home .sg-cta-html .elementor-element-sgctah2 .elementor-heading-title {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(30px, 8vw, 36px) !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }
  body.sg-elementor-home .sg-cta-html .elementor-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 52px !important;
    border-radius: 12px !important;
    text-align: center !important;
  }

  body.sg-elementor-home .sg-memberships {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 36px 20px 40px !important;
  }
  body.sg-elementor-home .sg-memberships > .e-con-inner,
  body.sg-elementor-home .sg-memberships .sg-col-8 {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
}

/* Mobile homepage fixes: keep stat circles fully visible and their long figure
   inside the circle; let the FAQ's decorative plus target activate the row. */
@media (max-width: 767px) {
  body.sg-elementor-home .sg-home-stats .sg-stats-squares .square.e-con {
    overflow: visible !important;
    padding: 0 !important;
  }
  body.sg-elementor-home .sg-home-stats .sg-stats-squares .square.e-con > .e-con-inner {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    transform: none !important;
  }
  body.sg-elementor-home .sg-home-stats .sg-stats-squares .square.c-3 .number {
    font-size: clamp(28px, 8.5vw, 36px) !important;
    letter-spacing: -0.04em !important;
    white-space: nowrap !important;
  }
}

/* One shared footer layout for every Theme Builder page template. */
.elementor-location-footer .sg-elementor-footer.e-con {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1200px !important;
  min-height: 0 !important;
  margin-inline: auto !important;
  padding: 68px 0 44px !important;
}
.elementor-location-footer .sg-footer-grid.e-con > .e-con-inner {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.5fr) !important;
  align-items: start !important;
  gap: clamp(32px, 5vw, 64px) !important;
  width: calc(100% - 48px) !important;
  max-width: 1152px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.elementor-location-footer .sg-footer-contact.e-con,
.elementor-location-footer .sg-footer-about.e-con {
  box-sizing: border-box !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-location-footer .sg-footer-grid.e-con > .e-con-inner > .sg-footer-contact.e-con,
.elementor-location-footer .sg-footer-grid.e-con > .e-con-inner > .sg-footer-about.e-con {
  flex: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  --width: 100% !important;
}
.elementor-location-footer .email-us.text { margin-top: 48px !important; }
.elementor-location-footer .smart-gifty { padding-bottom: 28px !important; }
.elementor-location-footer .sg-footer-eu {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px 24px !important;
}
.elementor-location-footer .sg-footer-eu img {
  box-sizing: border-box !important;
  flex: 0 1 auto !important;
  width: auto !important;
  max-width: min(90px, 24vw) !important;
  max-height: 40px !important;
  margin: 0 !important;
  object-fit: contain !important;
}
.elementor-location-footer .footer-logos-wrap__vauchers { margin: 0 0 22px !important; }
.elementor-location-footer .copyright {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 8px 18px !important;
}
.elementor-location-footer .copyright .sg-footer-copy {
  flex: 0 0 100% !important;
  margin: 0 0 4px !important;
}
.elementor-location-footer .copyright span,
.elementor-location-footer .copyright .terms {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-location-footer .sg-footer-numo { padding-top: 22px !important; }

@media (max-width: 767px) {
  .elementor-location-footer .sg-elementor-footer.e-con {
    padding: 42px 0 30px !important;
  }
  .elementor-location-footer .sg-footer-grid.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 30px !important;
    width: calc(100% - 40px) !important;
    max-width: 680px !important;
  }
  .elementor-location-footer .company.text,
  .elementor-location-footer .email-us.text {
    padding-bottom: 16px !important;
  }
  .elementor-location-footer .email-us.text { margin-top: 0 !important; }
  .elementor-location-footer .sg-footer-subscribe { padding-top: 4px !important; }
  .elementor-location-footer .sg-footer-contact .elementor-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(100%, 320px) !important;
    min-height: 52px !important;
    padding: 12px 18px !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
  }
  .elementor-location-footer .smart-gifty { padding-bottom: 20px !important; }
  .elementor-location-footer .sg-footer-eu { gap: 10px 16px !important; }
  .elementor-location-footer .sg-footer-eu img { max-height: 34px !important; }
  .elementor-location-footer .footer-logos-wrap__vauchers { margin-bottom: 18px !important; }
  .elementor-location-footer .copyright { gap: 8px 14px !important; }
  .elementor-location-footer .sg-footer-numo { padding-top: 18px !important; }
}

/* Match the homepage proof-point row to the production design across locales. */
body.sg-elementor-home .sg-home-value .sg-home-proof-points.e-con > .e-con-inner {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 16px !important;
}
body.sg-elementor-home .sg-home-value .sg-home-proof-point.e-con {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 84px !important;
  padding: 17px 20px !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.08) !important;
}
body.sg-elementor-home .sg-home-value .sg-home-proof-point .elementor-widget-heading,
body.sg-elementor-home .sg-home-value .sg-home-proof-point .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
}
body.sg-elementor-home .sg-home-value .sg-home-proof-point .elementor-heading-title {
  display: grid !important;
  grid-template-columns: 26px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
  color: #fff !important;
  font-family: "Archivo", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  text-align: left !important;
}
body.sg-elementor-home .sg-home-value .sg-home-proof-point .elementor-heading-title::before {
  content: "✓" !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: #ff9d00 !important;
  color: #fff !important;
  font: 700 16px/1 Arial, sans-serif !important;
}
@media (max-width: 991px) {
  body.sg-elementor-home .sg-home-value .sg-home-proof-points.e-con > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }
}
@media (max-width: 767px) {
  body.sg-elementor-home .sg-home-value .sg-home-proof-points.e-con {
    margin: 24px auto 40px !important;
  }
  body.sg-elementor-home .sg-home-value .sg-home-proof-point.e-con {
    min-height: 0 !important;
    padding: 15px !important;
  }
  body.sg-elementor-home .sg-home-value .sg-home-proof-point .elementor-heading-title {
    grid-template-columns: 24px minmax(0, 1fr) !important;
    column-gap: 11px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
  }
  body.sg-elementor-home .sg-home-value .sg-home-proof-point .elementor-heading-title::before {
    width: 24px !important;
    height: 24px !important;
    font-size: 15px !important;
  }
}
/* Keep the proof row and audience cards at the same 72px separation as production. */
@media (min-width: 992px) {
  body.sg-elementor-home .sg-home-value .sg-home-proof-points.e-con {
    margin-bottom: 0 !important;
  }
}

/* Production-style proof cards on the Shopping Centre and Small Business pages.
   Each card is a native Elementor container with a heading widget so editors can
   reorder, translate, or rewrite the copy in Elementor. */
body.sg-solution-shopping #content .sg-shopping-proof-points.e-con,
body.sg-solution-smb #content .sg-smb-proof-points.e-con {
  width: 80% !important;
  max-width: 1162px !important;
  margin: 32px auto 40px !important;
  padding: 0 !important;
}
body.sg-solution-shopping #content .sg-shopping-proof-points.e-con,
body.sg-solution-smb #content .sg-smb-proof-points.e-con,
body.sg-solution-shopping #content .sg-shopping-proof-points.e-con > .e-con-inner,
body.sg-solution-smb #content .sg-smb-proof-points.e-con > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 16px !important;
  width: 100% !important;
}
body.sg-solution-shopping #content .sg-shopping-proof-point.e-con,
body.sg-solution-smb #content .sg-smb-proof-point.e-con {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 14px !important;
  min-width: 0 !important;
  min-height: 84px !important;
  margin: 0 !important;
  padding: 18px 20px !important;
  border: 1px solid #e6e0f3 !important;
  border-radius: 12px !important;
  background: #f6f2fd !important;
  box-shadow: 0 1px 2px rgba(35, 3, 94, .04) !important;
}
body.sg-solution-shopping #content .sg-shopping-proof-point.e-con::before,
body.sg-solution-smb #content .sg-smb-proof-point.e-con::before {
  content: none !important;
  display: none !important;
}
body.sg-solution-shopping #content .sg-shopping-proof-point .elementor-widget-heading,
body.sg-solution-shopping #content .sg-shopping-proof-point .elementor-widget-container,
body.sg-solution-smb #content .sg-smb-proof-point .elementor-widget-heading,
body.sg-solution-smb #content .sg-smb-proof-point .elementor-widget-container {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
}
body.sg-solution-shopping #content .sg-shopping-proof-point h3.elementor-heading-title,
body.sg-solution-smb #content .sg-smb-proof-point h3.elementor-heading-title {
  margin: 0 !important;
  color: #1a1440 !important;
  font: 500 16px/1.45 Archivo, sans-serif !important;
  display: grid !important;
  grid-template-columns: 26px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 14px !important;
  text-align: left !important;
}
body.sg-solution-shopping #content .sg-shopping-proof-point h3.elementor-heading-title::before,
body.sg-solution-smb #content .sg-smb-proof-point h3.elementor-heading-title::before {
  content: "✓" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: #f39704 !important;
  font: 700 16px/1 Archivo, sans-serif !important;
}
@media (min-width: 768px) and (max-width: 991px) {
  body.sg-solution-shopping #content .sg-shopping-proof-points.e-con,
  body.sg-solution-smb #content .sg-smb-proof-points.e-con,
  body.sg-solution-shopping #content .sg-shopping-proof-points.e-con > .e-con-inner,
  body.sg-solution-smb #content .sg-smb-proof-points.e-con > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.sg-solution-shopping #content .sg-shopping-proof-point:last-child,
  body.sg-solution-smb #content .sg-smb-proof-point:last-child { grid-column: 1 / -1 !important; }
}
@media (max-width: 767px) {
  body.sg-solution-shopping #content .sg-shopping-proof-points.e-con,
  body.sg-solution-smb #content .sg-smb-proof-points.e-con {
    width: calc(100% - 40px) !important;
    margin: 20px auto 32px !important;
  }
  body.sg-solution-shopping #content .sg-shopping-proof-points.e-con,
  body.sg-solution-smb #content .sg-smb-proof-points.e-con,
  body.sg-solution-shopping #content .sg-shopping-proof-points.e-con > .e-con-inner,
  body.sg-solution-smb #content .sg-smb-proof-points.e-con > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  body.sg-solution-shopping #content .sg-shopping-proof-point.e-con,
  body.sg-solution-smb #content .sg-smb-proof-point.e-con {
    min-height: 0 !important;
    padding: 15px 16px !important;
    gap: 12px !important;
  }
  body.sg-solution-shopping #content .sg-shopping-proof-point h3.elementor-heading-title,
  body.sg-solution-smb #content .sg-smb-proof-point h3.elementor-heading-title {
    font-size: 15px !important;
    line-height: 1.45 !important;
  }
}

/* Shopping Centre page: phone-only layout refinements. Desktop rules remain untouched. */
@media (max-width: 767px) {
  body.sg-solution-shopping .sg-solution-hero.e-con {
    min-height: 0 !important;
    padding: 42px 20px 54px !important;
    background-position: center center !important;
  }
  body.sg-solution-shopping .sg-solution-hero__inner.e-con {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-hero h1.elementor-heading-title {
    max-width: 100% !important;
    margin: 0 0 14px !important;
    font-size: clamp(34px, 9vw, 38px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.02em !important;
    text-wrap: balance !important;
  }
  body.sg-solution-shopping .sg-solution-hero h2.elementor-heading-title {
    max-width: 34ch !important;
    margin: 0 0 22px !important;
    font-size: 20px !important;
    line-height: 1.4 !important;
  }
  body.sg-solution-shopping .sg-solution-hero .elementor-widget-button,
  body.sg-solution-shopping .sg-solution-hero .elementor-button {
    width: 100% !important;
    max-width: 320px !important;
  }
  body.sg-solution-shopping .sg-solution-hero .elementor-button {
    min-height: 52px !important;
    padding: 13px 18px !important;
    border-radius: 12px !important;
  }

  body.sg-solution-shopping .sg-solution-intro.e-con {
    padding: 0 20px !important;
  }
  body.sg-solution-shopping .sg-solution-intro .elementor-widget-text-editor {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }
  body.sg-solution-shopping .sg-solution-intro p {
    margin: 0 !important;
    padding: 28px 0 16px !important;
    font-size: 18px !important;
    line-height: 1.5 !important;
  }

  body.sg-solution-shopping .sg-solution-features.e-con {
    padding: 30px 20px 38px !important;
    gap: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-features > .elementor-widget-heading {
    margin: 0 0 20px !important;
  }
  body.sg-solution-shopping .sg-solution-features h2.elementor-heading-title {
    margin: 0 !important;
    font-size: 34px !important;
    line-height: 1.12 !important;
    text-align: left !important;
  }
  body.sg-solution-shopping .sg-solution-features__grid.e-con {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-features__grid > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-features__grid .elementor-widget-heading {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid #e6e0f3 !important;
    border-radius: 10px !important;
    background: #f6f2fd !important;
  }
  body.sg-solution-shopping .sg-solution-features__grid h3.elementor-heading-title {
    margin: 0 !important;
    color: #2c007c !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  body.sg-solution-shopping .sg-solution-how.e-con {
    padding: 34px 20px 22px !important;
  }
  body.sg-solution-shopping .sg-solution-how__row.e-con,
  body.sg-solution-shopping .sg-solution-how__row.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-how__card.e-con {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 14px !important;
    border-radius: 12px !important;
  }
  body.sg-solution-shopping .sg-solution-how__card img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 205px !important;
    object-fit: contain !important;
    margin: 0 auto 12px !important;
  }

  body.sg-solution-shopping .sg-solution-roles.e-con {
    padding: 26px 20px 20px !important;
    gap: 12px !important;
  }
  body.sg-solution-shopping .sg-solution-role.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    padding: 18px !important;
  }
  body.sg-solution-shopping .sg-solution-role--text-first .sg-solution-role__text,
  body.sg-solution-shopping .sg-solution-role--text-only .sg-solution-role__text,
  body.sg-solution-shopping .sg-solution-role--image-first .sg-solution-role__text,
  body.sg-solution-shopping .sg-solution-role--text-first .sg-solution-role__visual,
  body.sg-solution-shopping .sg-solution-role--image-first .sg-solution-role__visual {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-role__visual img,
  body.sg-solution-shopping .sg-solution-roles #image-1,
  body.sg-solution-shopping .sg-solution-roles #image-2,
  body.sg-solution-shopping .sg-solution-roles #image-3 {
    display: block !important;
    width: min(100%, 260px) !important;
    max-width: 100% !important;
    max-height: 190px !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }
  body.sg-solution-shopping .sg-solution-role__text .elementor-heading-title {
    font-size: 23px !important;
    line-height: 1.2 !important;
    margin: 0 0 10px !important;
  }
  body.sg-solution-shopping .sg-solution-role__text p {
    font-size: 16px !important;
    line-height: 1.5 !important;
    margin-bottom: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-role--1 .sg-yc2.elementor-widget {
    position: static !important;
    align-self: flex-end !important;
    width: 80px !important;
    height: 80px !important;
    margin: 0 0 4px !important;
  }
  body.sg-solution-shopping #youtube-circle-2 {
    position: static !important;
    width: 80px !important;
    height: 80px !important;
  }
  body.sg-solution-shopping .watch-video-circle-2 {
    position: relative !important;
    inset: auto !important;
    width: 80px !important;
    height: 80px !important;
  }

  body.sg-solution-shopping .sg-solution-benefits.e-con {
    padding: 38px 20px 32px !important;
    gap: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-benefits__watermark.elementor-widget {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-benefits h2.elementor-heading-title {
    padding: 0 0 20px !important;
    font-size: 34px !important;
    line-height: 1.12 !important;
  }
  body.sg-solution-shopping .sg-solution-benefits__grid.e-con {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-benefits__grid > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-benefits__col.e-con {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 16px !important;
    border: 1px solid #eee8f8 !important;
    border-radius: 12px !important;
    background: #fff !important;
  }
  body.sg-solution-shopping .sg-solution-benefits__col h3.elementor-heading-title {
    margin: 0 0 10px !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
  }
  body.sg-solution-shopping .sg-solution-benefits__col ul {
    margin: 8px 0 0 !important;
    padding-left: 22px !important;
  }
  body.sg-solution-shopping .sg-solution-benefits__col li {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  body.sg-solution-shopping .sg-solution-faq.e-con {
    padding: 36px 20px 0 !important;
  }
  body.sg-solution-shopping .sg-solution-faq .title.elementor-widget-heading {
    margin: 0 0 24px !important;
  }
  body.sg-solution-shopping .sg-solution-faq .title h2.elementor-heading-title {
    padding: 0 !important;
    font-size: 34px !important;
    line-height: 1.12 !important;
  }
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle.e-con {
    width: 100% !important;
    margin: 0 0 8px !important;
  }
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle .elementor-widget-heading {
    padding: 16px !important;
    border: 1px solid #e6e0f3 !important;
    border-radius: 10px !important;
  }
  body.sg-solution-shopping .sg-solution-faq .qe-faq-toggle .elementor-heading-title {
    padding-left: 0 !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
  }

  body.sg-solution-shopping .sg-solution-numbers.e-con {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    padding: 34px 20px 48px !important;
  }
  body.sg-solution-shopping .sg-solution-numbers > .e-con-inner,
  body.sg-solution-shopping .sg-solution-numbers .e-con-boxed.e-con,
  body.sg-solution-shopping .sg-solution-numbers .e-con-boxed.e-con > .e-con-inner {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-numbers > .elementor-widget-heading {
    margin: 0 0 20px !important;
  }
  body.sg-solution-shopping .sg-solution-numbers h2.elementor-heading-title {
    font-size: 34px !important;
    line-height: 1.12 !important;
  }
  body.sg-solution-shopping .sg-solution-numbers__full.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 20px 0 24px !important;
  }
  body.sg-solution-shopping .sg-solution-numbers__full .elementor-widget,
  body.sg-solution-shopping .sg-solution-numbers__full .elementor-widget > *,
  body.sg-solution-shopping .sg-solution-numbers__full .elementor-widget p {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-numbers__full .number-first,
  body.sg-solution-shopping .sg-solution-numbers__full .number-first .elementor-heading-title {
    font-size: 56px !important;
    line-height: 1.05 !important;
  }
  body.sg-solution-shopping .sg-solution-numbers__full .text-first,
  body.sg-solution-shopping .sg-solution-numbers__full .text-first p {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }
  body.sg-solution-shopping .sg-solution-numbers .sg-solution-numbers__two.e-con-boxed.e-con > .e-con-inner,
  body.sg-solution-shopping .sg-solution-numbers .sg-solution-numbers__three.e-con-boxed.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-numbers__two .sg-solution-numbers__cell.e-con,
  body.sg-solution-shopping .sg-solution-numbers__three .sg-solution-numbers__cell.e-con {
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 18px 0 !important;
    border-top: 1px solid rgba(255,255,255,.22) !important;
  }
  body.sg-solution-shopping .sg-solution-numbers__cell.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-numbers__cell .elementor-widget,
  body.sg-solution-shopping .sg-solution-numbers__cell .elementor-widget p {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-numbers__cell .number-big,
  body.sg-solution-shopping .sg-solution-numbers__cell .number-small {
    font-size: 48px !important;
    line-height: 1.05 !important;
  }
  body.sg-solution-shopping .sg-solution-numbers__cell .text-big,
  body.sg-solution-shopping .sg-solution-numbers__cell .text-small {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }
  body.sg-solution-shopping .sg-solution-numbers__cta.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
    width: 100% !important;
    padding: 24px 0 0 !important;
  }
  body.sg-solution-shopping .sg-solution-numbers__cta .elementor-widget-heading,
  body.sg-solution-shopping .sg-solution-numbers__cta .elementor-widget-button {
    width: 100% !important;
    margin: 0 !important;
  }
  body.sg-solution-shopping .sg-solution-numbers__cta .cta-text .elementor-heading-title {
    padding: 0 !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
  }
  body.sg-solution-shopping .sg-solution-numbers__cta .elementor-button {
    width: 100% !important;
    max-width: 320px !important;
    min-height: 52px !important;
    border-radius: 12px !important;
  }
}

@media (max-width: 767px) {
  body.sg-solution-shopping #content .elementor-element-sgsfeagd > .e-con-inner {
    row-gap: 12px !important;
    column-gap: 12px !important;
  }
  body.sg-solution-shopping #content .sg-solution-numbers__full .text-first,
  body.sg-solution-shopping #content .sg-solution-numbers__full .text-first p,
  body.sg-solution-shopping #content .sg-solution-numbers__cell .text-big,
  body.sg-solution-shopping #content .sg-solution-numbers__cell .text-small,
  body.sg-solution-shopping #content .sg-solution-numbers__cell .text-big p,
  body.sg-solution-shopping #content .sg-solution-numbers__cell .text-small p {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    clear: both !important;
    align-self: stretch !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
  }
  body.sg-solution-shopping #content .sg-solution-numbers__cta .elementor-widget-button {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    align-self: stretch !important;
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  body.sg-solution-shopping #content .sg-solution-numbers__cta .elementor-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 !important;
  }
}

/* Fine-tune the shopping-centre page on mobile. */
body.sg-solution-shopping #content .sg-solution-faq .qe-faqs-filters-container {
  display: none !important;
}

@media (max-width: 767px) {
  /* Give the two hero actions a clear, consistent touch-friendly gap. */
  body.sg-solution-shopping #content .sg-solution-hero__actions.e-con,
  body.sg-solution-shopping #content .sg-solution-hero__actions.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    row-gap: 12px !important;
    gap: 12px !important;
  }
  body.sg-solution-shopping #content .sg-solution-hero__actions .elementor-widget-button {
    margin: 0 !important;
  }

  /* Add breathing room above the calculator title without changing its content. */
  body.sg-solution-shopping #content .sg-solution-calc.e-con {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 28px !important;
  }
  body.sg-solution-shopping #content .sg-solution-calc__inner.e-con {
    height: auto !important;
    min-height: 0 !important;
  }

  /* Keep the video action visually attached to the selling-points intro. */
  body.sg-solution-shopping #content .sg-solution-role--1 .sg-yc2.elementor-widget {
    align-self: center !important;
    width: 72px !important;
    height: 72px !important;
    margin: 2px 0 4px !important;
  }
  body.sg-solution-shopping #content #youtube-circle-2,
  body.sg-solution-shopping #content .watch-video-circle-2 {
    width: 72px !important;
    height: 72px !important;
  }
  body.sg-solution-shopping #content .sg-solution-role__visual {
    align-self: center !important;
  }

  /* Match the clean accordion rows used on the multi-location solution page. */
  body.sg-solution-shopping #content .sg-solution-faq.e-con {
    padding: 36px 20px 28px !important;
  }
  body.sg-solution-shopping #content .sg-solution-faq .qe-faq-toggle.e-con {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #e9e5ef !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.sg-solution-shopping #content .sg-solution-faq .qe-faq-toggle > .e-con-inner,
  body.sg-solution-shopping #content .sg-solution-faq .qe-faq-toggle .elementor-widget-heading {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 16px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.sg-solution-shopping #content .sg-solution-faq .qe-faq-toggle .elementor-heading-title {
    display: block !important;
    padding: 0 !important;
    color: #23035e !important;
    font-size: 19px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    overflow-wrap: anywhere !important;
  }
  body.sg-solution-shopping #content .sg-solution-faq .qe-faq-toggle .elementor-heading-title::before {
    content: none !important;
    display: none !important;
  }
  body.sg-solution-shopping #content .sg-solution-faq .qe-faq-toggle .elementor-widget-text-editor,
  body.sg-solution-shopping #content .sg-solution-faq .qe-faq-toggle .qe-toggle-content {
    padding: 0 0 18px !important;
    border: 0 !important;
    background: transparent !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
}

/* Small Business mobile layout. All overrides stay below the phone breakpoint. */
@media (max-width: 767px) {
  body.sg-solution-smb #content .sg-smb-hero.e-con {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 40px 20px 76px !important;
    background-position: 66% center !important;
    background-size: cover !important;
  }
  body.sg-solution-smb #content .sg-smb-hero__inner.e-con {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 560px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    transform: none !important;
  }
  body.sg-solution-smb #content .sg-smb-hero h1.elementor-heading-title {
    max-width: 100% !important;
    margin: 0 0 14px !important;
    font-size: clamp(32px, 8.8vw, 36px) !important;
    line-height: 1.1 !important;
    letter-spacing: -.02em !important;
    text-wrap: balance !important;
  }
  body.sg-solution-smb #content .sg-smb-hero h2.elementor-heading-title {
    max-width: 32ch !important;
    margin: 0 0 22px !important;
    font-size: 19px !important;
    line-height: 1.4 !important;
  }
  body.sg-solution-smb #content .sg-smb-hero__actions.e-con,
  body.sg-solution-smb #content .sg-smb-hero__actions.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.sg-solution-smb #content .sg-smb-hero__actions .elementor-widget-button,
  body.sg-solution-smb #content .sg-smb-hero__actions .elementor-button {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 360px !important;
    min-height: 54px !important;
    margin: 0 !important;
  }

  /* Use a consistent mobile rhythm instead of carrying desktop spacer values down. */
  body.sg-solution-smb #content .sg-smb-pitch.e-con { padding: 40px 20px 20px !important; }
  body.sg-solution-smb #content .sg-smb-audiences.e-con,
  body.sg-solution-smb #content .sg-smb-benefits.e-con,
  body.sg-solution-smb #content .sg-smb-hiw.e-con,
  body.sg-solution-smb #content .sg-smb-models.e-con,
  body.sg-solution-smb #content .sg-smb-journey.e-con,
  body.sg-solution-smb #content .sg-smb-core.e-con,
  body.sg-solution-smb #content .sg-smb-visit.e-con {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 40px 20px !important;
  }
  body.sg-solution-smb #content .sg-smb-proof-points.e-con {
    width: calc(100% - 40px) !important;
    max-width: 520px !important;
    margin: 20px auto 28px !important;
  }
  body.sg-solution-smb #content .sg-smb-audiences__grid.e-con,
  body.sg-solution-smb #content .sg-smb-audiences__grid.e-con > .e-con-inner,
  body.sg-solution-smb #content .sg-smb-hiw__row.e-con,
  body.sg-solution-smb #content .sg-smb-hiw__row.e-con > .e-con-inner,
  body.sg-solution-smb #content .sg-smb-hiw__foot.e-con,
  body.sg-solution-smb #content .sg-smb-hiw__foot.e-con > .e-con-inner,
  body.sg-solution-smb #content .sg-smb-models__grid.e-con,
  body.sg-solution-smb #content .sg-smb-models__grid.e-con > .e-con-inner,
  body.sg-solution-smb #content .sg-smb-journey__grid.e-con,
  body.sg-solution-smb #content .sg-smb-journey__grid.e-con > .e-con-inner,
  body.sg-solution-smb #content .sg-smb-core__grid.e-con,
  body.sg-solution-smb #content .sg-smb-core__grid.e-con > .e-con-inner,
  body.sg-solution-smb #content .sg-smb-visit__grid.e-con,
  body.sg-solution-smb #content .sg-smb-visit__grid.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }
  body.sg-solution-smb #content .sg-smb-audiences__card.e-con,
  body.sg-solution-smb #content .sg-smb-hiw__step.e-con,
  body.sg-solution-smb #content .sg-smb-models__col.e-con,
  body.sg-solution-smb #content .sg-smb-hiw__foot-item.e-con,
  body.sg-solution-smb #content .sg-smb-journey__col.e-con,
  body.sg-solution-smb #content .sg-smb-visit__step.e-con {
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    transform: none !important;
  }

  /* Center journey badge and keep its label inside the pill. */
  body.sg-solution-smb #content .sg-smb-journey__eyebrow.e-con {
    display: flex !important;
    flex: 0 0 auto !important;
    align-self: center !important;
    justify-content: center !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 auto 18px !important;
    padding: 10px 16px !important;
    transform: none !important;
  }
  body.sg-solution-smb #content .sg-smb-journey__eyebrow .elementor-widget,
  body.sg-solution-smb #content .sg-smb-journey__eyebrow .elementor-widget-container {
    max-width: 100% !important;
    margin: 0 !important;
  }

  /* There are no FAQ rows on this page; remove the empty mobile band. */
  body.sg-solution-smb #content .sg-smb-faq.e-con { display: none !important; }
  body.sg-solution-smb #content .sg-smb-transition.e-con { display: none !important; }

  body.sg-solution-smb #content .sg-smb-cta.e-con {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 44px 20px 48px !important;
  }
  body.sg-solution-smb #content .sg-smb-cta__row.e-con,
  body.sg-solution-smb #content .sg-smb-cta__row.e-con > .e-con-inner {
    width: 100% !important;
    max-width: 520px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    transform: none !important;
  }
  body.sg-solution-smb #content .sg-smb-pitch h2.elementor-heading-title {
    font-size: clamp(22px, 6.1vw, 24px) !important;
    line-height: 1.22 !important;
    text-wrap: balance !important;
  }
  body.sg-solution-smb #content .sg-smb-audiences h2.elementor-heading-title,
  body.sg-solution-smb #content .sg-smb-hiw h2.elementor-heading-title,
  body.sg-solution-smb #content .sg-smb-journey h2.elementor-heading-title,
  body.sg-solution-smb #content .sg-smb-visit h2.elementor-heading-title {
    font-size: clamp(28px, 7.8vw, 32px) !important;
    line-height: 1.16 !important;
    text-wrap: balance !important;
  }
}
