/* SG Organic UI foundation — V1.9.4 shared token layer
 *
 * One scoped token set for every Site Builder widget. Rules are wrapped in
 * :where() so they carry ZERO specificity: any widget stylesheet rule and every
 * Elementor Style control (which is always more specific) overrides them.
 * Nothing here is global — it only applies inside SG Organic widget roots.
 */
:where(.sgo-mh,.sgo-pl-widget,.sgo-sb-widget,.sgo-pa-hub,.sgo-pw-widget,.sgo-notify-widget,.sgo-cart,.sgo-smart-checkout,[class^="sgo-pp-"],[class*=" sgo-pp-"]){
  /* colour */
  --sgo-ui-text:#1c1c1e;
  --sgo-ui-secondary:#5f6b64;       /* 5.6:1 on white (was #6e6e73) */
  --sgo-ui-surface:#ffffff;
  --sgo-ui-grouped:#f5f5f3;
  --sgo-ui-muted-bg:#f2f4f2;
  --sgo-ui-line:#e4e7e5;
  --sgo-ui-green:#0b6b46;
  --sgo-ui-green-strong:#064b34;
  --sgo-ui-purple:#3e258b;
  --sgo-ui-success:#08783f;
  --sgo-ui-warning:#b45309;
  --sgo-ui-danger:#c9362b;
  --sgo-ui-focus:#0b6b46;
  /* radius */
  --sgo-ui-radius-sm:10px;
  --sgo-ui-radius-md:14px;
  --sgo-ui-radius-lg:18px;
  --sgo-ui-radius-pill:999px;
  /* spacing (4-pt scale) */
  --sgo-ui-space-1:4px;
  --sgo-ui-space-2:8px;
  --sgo-ui-space-3:12px;
  --sgo-ui-space-4:16px;
  --sgo-ui-space-5:20px;
  --sgo-ui-space-6:24px;
  --sgo-ui-space-8:32px;
  /* type scale */
  --sgo-ui-font-xs:12px;
  --sgo-ui-font-sm:13px;
  --sgo-ui-font-base:15px;
  --sgo-ui-font-md:17px;
  --sgo-ui-font-lg:20px;
  --sgo-ui-font-xl:24px;
  --sgo-ui-font-2xl:32px;
  --sgo-ui-leading:1.45;
  /* controls */
  --sgo-ui-touch:44px;
  --sgo-ui-button-height:48px;
  --sgo-ui-button-pad-x:18px;
  --sgo-ui-emoji-icon:29px;
  /* elevation */
  --sgo-ui-shadow-1:0 1px 2px rgba(16,40,26,.05);
  --sgo-ui-shadow-2:0 8px 24px rgba(16,40,26,.10);
  /* layout */
  --sgo-ui-mobile-nav:60px;         /* fixed bottom navigation height */
  /* breakpoints (documentation only; CSS vars cannot drive @media):
     mobile ≤767px · tablet 768–1024px · desktop ≥1025px — Elementor defaults */
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
:where(.sgo-mh,.sgo-pl-widget,.sgo-sb-widget,.sgo-pa-hub,.sgo-pw-widget,.sgo-notify-widget,.sgo-cart,.sgo-smart-checkout,[class^="sgo-pp-"],[class*=" sgo-pp-"]) :where(button,input,select,textarea){font:inherit}

/* Focus: a visible, 3:1-contrast ring for keyboard users only. */
:where(.sgo-mh,.sgo-pl-widget,.sgo-sb-widget,.sgo-pa-hub,.sgo-pw-widget,.sgo-notify-widget,.sgo-cart,.sgo-smart-checkout,[class^="sgo-pp-"],[class*=" sgo-pp-"]) :where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:2px solid var(--sgo-ui-focus,#0b6b46);
  outline-offset:2px;
}
:where(.sgo-mh,.sgo-pl-widget,.sgo-sb-widget,.sgo-pa-hub,.sgo-pw-widget,.sgo-notify-widget,.sgo-cart,.sgo-smart-checkout,[class^="sgo-pp-"],[class*=" sgo-pp-"]) :where(button,[role="button"],.button){
  touch-action:manipulation;
}
/* Disabled + busy states are always distinguishable, never colour-only. */
:where(.sgo-mh,.sgo-pl-widget,.sgo-sb-widget,.sgo-pa-hub,.sgo-pw-widget,.sgo-notify-widget,.sgo-cart,.sgo-smart-checkout,[class^="sgo-pp-"],[class*=" sgo-pp-"]) :where(button,input,select,textarea,.button):where(:disabled,[aria-disabled="true"]){
  cursor:not-allowed;
  opacity:.55;
}
:where(.sgo-mh,.sgo-pl-widget,.sgo-sb-widget,.sgo-pa-hub,.sgo-pw-widget,.sgo-notify-widget,.sgo-cart,.sgo-smart-checkout,[class^="sgo-pp-"],[class*=" sgo-pp-"]) :where(.is-loading,.loading,[aria-busy="true"]){
  cursor:progress;
}
:where(.sgo-mh,.sgo-pl-widget,.sgo-sb-widget,.sgo-pa-hub,.sgo-pw-widget,.sgo-notify-widget,.sgo-cart,.sgo-smart-checkout,[class^="sgo-pp-"],[class*=" sgo-pp-"]) :where(input,select,textarea){
  color:var(--sgo-ui-text);
  background:#fff;
}
/* Standalone emoji feature icon — sized without enlarging neighbouring text. */
:where(.sgo-emoji-icon){font-size:var(--sgo-ui-emoji-icon,29px)!important;line-height:1;display:inline-block}

/* Touch devices: 44px minimum targets on every widget button, at every width. */
@media (max-width:767px), (pointer:coarse){
  :where(.sgo-mh,.sgo-pl-widget,.sgo-sb-widget,.sgo-pa-hub,.sgo-pw-widget,.sgo-notify-widget,.sgo-cart,.sgo-smart-checkout,[class^="sgo-pp-"],[class*=" sgo-pp-"]) :where(button,[role="button"],.button,input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select){
    min-height:var(--sgo-ui-touch,44px);
  }
}
@media(max-width:767px){
  :where(.sgo-mh,.sgo-pl-widget,.sgo-sb-widget,.sgo-pa-hub,.sgo-pw-widget,.sgo-notify-widget,.sgo-cart,.sgo-smart-checkout,[class^="sgo-pp-"],[class*=" sgo-pp-"]) :where(p,li,label,input,select,textarea){
    font-size:max(14px,1em);
  }
}
@media(prefers-reduced-motion:reduce){
  :where(.sgo-mh,.sgo-pl-widget,.sgo-sb-widget,.sgo-pa-hub,.sgo-pw-widget,.sgo-notify-widget,.sgo-cart,.sgo-smart-checkout,[class^="sgo-pp-"],[class*=" sgo-pp-"]) *,
  :where(.sgo-mh,.sgo-pl-widget,.sgo-sb-widget,.sgo-pa-hub,.sgo-pw-widget,.sgo-notify-widget,.sgo-cart,.sgo-smart-checkout,[class^="sgo-pp-"],[class*=" sgo-pp-"]) *::before,
  :where(.sgo-mh,.sgo-pl-widget,.sgo-sb-widget,.sgo-pa-hub,.sgo-pw-widget,.sgo-notify-widget,.sgo-cart,.sgo-smart-checkout,[class^="sgo-pp-"],[class*=" sgo-pp-"]) *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
