/* Geist Sans v1.8.2 · Vercel / Basement Studio · OFL 1.1.
   Source, exact version and license: assets/front/fonts/source.json. */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("front/fonts/geist-sans-v1.8.2.woff2") format("woff2");
  unicode-range: U+0100-0101,U+0104-0113,U+0116-012B,U+012E-0137,U+0139-013E,U+0141-0148,U+014A-014D,U+0150-015D,U+0160-0161,U+0164-017E,U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01CD-01CE,U+01E4-01E9,U+0237,U+0259,U+02B9,U+02BC,U+02C6-02C8,U+02D8-02DD,U+039B,U+03BB-03BC,U+03C0,U+03C9,U+0400-045F,U+0462-0463,U+046A-046B,U+0472-0475,U+0490-0493,U+0496-0497,U+049A-049B,U+04A2-04A3,U+04AE-04B3,U+04B6-04B7,U+04BA-04BB,U+04C0,U+04CF,U+04D8-04D9,U+04E2-04E3,U+04E8-04E9,U+04EE-04EF,U+0E3F,U+1E20-1E21,U+1E80-1E85,U+1E9E,U+1EA0-1EF9,U+2070,U+2074-2079,U+2080-2083,U+2085-2089,U+2153-2155,U+215B-215E,U+2460-2468,U+24EA,U+24FF,U+2639-263A,U+2776-277E,U+3003,U+301C,U+A78B-A78C,U+F8FF,U+FB01-FB02;
}
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("front/fonts/geist-sans-v1.8.2-ro-core.woff2") format("woff2");
  unicode-range: U+0020-007E,U+00A0-00AC,U+00AE-00FF,U+0102-0103,U+015E-015F,U+0162-0163,U+0218-021B,U+0300-0304,U+0306-030C,U+0312,U+031B,U+0323,U+0326-0328,U+0335-0338,U+03A9,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2028-2029,U+2030,U+2032-2033,U+2039-203A,U+2044,U+2084,U+20AA,U+20AC,U+20B1,U+20B4,U+20B9,U+20BD,U+2116-2117,U+2122,U+2190-2199,U+219D,U+21A9-21AA,U+21B0-21B1,U+21B3-21B5,U+21E4-21E5,U+21E7,U+2202,U+2206,U+220F,U+2211-2212,U+221A,U+221E,U+222B,U+2236,U+2248,U+2260,U+2264-2265,U+25B2-25B3,U+25B6-25B7,U+25BC-25BD,U+25C0-25C1,U+25CA-25CC,U+25CF;
}

body.ps-public-ui {
  --ps-font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --ps-color-text: #101b33;
  --ps-color-text-secondary: #596579;
  --ps-color-brand: #080063;
  --ps-color-action: #d82f00;
  --ps-color-border: rgba(30, 48, 80, .14);
  --ps-color-border-strong: rgba(30, 48, 80, .28);
  
  --ps-color-surface: #ffffff;
  --ps-color-surface-subtle: #fbfbfa;
  --ps-ui-paper: var(--ps-color-surface);
  --ps-ui-surface: var(--ps-color-surface-subtle);
  --ps-ui-radius-card: 16px;
  --ps-ui-radius-control: 10px;
  --ps-ui-surface-raised: var(--ps-ui-paper);
  --ps-ui-surface-glass: rgba(255, 255, 255, .82);
  --ps-ui-surface-inset: #f5f5f3;
  --ps-ui-shadow-card: inset 0 1px 0 rgba(255, 255, 255, .95), 0 2px 5px rgba(28, 30, 34, .025), 0 18px 36px -26px rgba(28, 30, 34, .18);
  --ps-ui-shadow-card-hover: inset 0 1px 0 rgba(255, 255, 255, .98), 0 3px 8px rgba(28, 30, 34, .035), 0 22px 40px -26px rgba(28, 30, 34, .22);
  --ps-ui-shadow-floating: 0 24px 60px -24px rgba(12, 24, 48, .22), inset 0 1px 0 rgba(255, 255, 255, .8);
  --ps-ui-card-bg: var(--ps-ui-paper);
  --ps-ui-card-line: rgba(38, 40, 46, .10);
  --ps-ui-card-hover-bg: var(--ps-ui-card-bg);
  --ps-ui-card-hover-line: rgba(38, 40, 46, .18);
  --ps-ui-card-inset-bg: var(--ps-ui-surface);
  --ps-ui-card-divider: rgba(38, 40, 46, .08);
  
  
  --ps-container: 1320px;
  --ps-gutter: clamp(20px, 3vw, 40px);
  --ps-layout-max: var(--ps-container);
  --ps-layout-gutter: max(var(--ps-gutter), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  --ps-layout-edge: max(var(--ps-layout-gutter), calc((100% - var(--ps-layout-max)) / 2));
  
  --ps-font-size-h1: clamp(30px, 3.4vw, 46px);
  --ps-font-size-h1-inverse: clamp(36px, 4.4vw, 62px);
  --ps-font-size-intro-inverse: clamp(16px, 1.4vw, 17px);
  --ps-font-size-h2: clamp(27px, 2.6vw, 38px);
  --ps-font-size-h3: 21px;
  --ps-font-size-body: 16px;
  --ps-font-size-label: 14px;
  --ps-font-size-caption: 12px;
  --ps-font-size-card-title: clamp(18px, 1.35vw, 20px);
  --ps-font-size-product-title: clamp(24px, 2.6vw, 36px);
  --ps-font-size-commerce-section: var(--ps-font-size-h3);
  --ps-font-size-price: clamp(28px, 2.4vw, 32px);
  --ps-font-size-price-compact: clamp(22px, 1.8vw, 24px);
  /* Product component roles. Editorial cards retain their own density. */
  --ps-product-card-padding: var(--ps-space-4);
  --ps-product-card-title-size: var(--ps-font-size-body);
  --ps-product-card-title-weight: var(--ps-ui-label-weight);
  --ps-product-card-title-leading: 1.4;
  --ps-product-card-title-lines: 3;
  --ps-product-card-media-ratio: 4 / 3;
  --ps-product-card-media-padding: var(--ps-space-4);
  --ps-product-card-media-surface: var(--ps-color-surface);
  --ps-product-card-metric-size: var(--ps-font-size-body);
  --ps-product-card-price-size: var(--ps-font-size-price-compact);
  --ps-space-compact: 20px;
  --ps-space-wide: 40px;
  --ps-space-section: clamp(48px, 6vw, 72px);

  /* Public layout roles. Domain components choose a role, not a new frame. */
  --ps-layout-section: var(--ps-space-section);
  --ps-layout-section-half: calc(var(--ps-layout-section) / 2);
  --ps-layout-group: var(--ps-ui-intro-gap);
  --ps-layout-editorial-gap: clamp(16px, 2vw, 24px);
  --ps-intro-label-gap: var(--ps-space-3);
  --ps-intro-copy-gap: 10px;
  --ps-layout-reading: var(--ps-reading-width);
  --ps-layout-grid-columns: 1;
  --ps-layout-grid-gap: clamp(16px, 2vw, 24px);
  --ps-layout-commerce-clearance: calc(var(--ps-overlay-content-clearance, 72px) + 24px);
  --ps-anchor-clearance: calc(var(--ps-header-offset, 0px) + var(--ps-space-5));
  --ps-ui-notice-radius: var(--ps-ui-radius-control);
  --ps-hero-content-max: 790px;
  --ps-hero-min-height: 600px;
  --ps-hero-space: clamp(40px, 5vw, 64px);
  --ps-hero-surface: var(--ps-image-fallback);
  --ps-hero-overlay: linear-gradient(90deg, rgba(var(--ps-image-overlay-rgb), .86) 0%, rgba(var(--ps-image-overlay-rgb), .64) 46%, rgba(var(--ps-image-overlay-rgb), .10) 100%), linear-gradient(0deg, rgba(var(--ps-image-overlay-rgb), .28), transparent 70%);

  --ps-hero-editorial-min-height: clamp(640px, 78svh, 860px);
  --ps-hero-editorial-padding-end: clamp(48px, 6vw, 80px);
  --ps-hero-editorial-surface: var(--ps-image-fallback);
  --ps-hero-editorial-overlay: linear-gradient(90deg, rgba(var(--ps-image-overlay-rgb), .86) 0%, rgba(var(--ps-image-overlay-rgb), .65) 40%, rgba(var(--ps-image-overlay-rgb), .08) 100%), linear-gradient(0deg, rgba(var(--ps-image-overlay-rgb), .25), transparent 65%);
  --ps-hero-editorial-tablet-min-height: 620px;
  --ps-hero-editorial-tablet-padding-end: 48px;
  --ps-hero-editorial-tablet-overlay: linear-gradient(90deg, rgba(var(--ps-image-overlay-rgb), .86), rgba(var(--ps-image-overlay-rgb), .58)), linear-gradient(0deg, rgba(var(--ps-image-overlay-rgb), .25), transparent);
  --ps-hero-editorial-mobile-min-height: 640px;
  --ps-hero-company-min-height: max(720px, min(880px, 100svh));
  --ps-hero-company-padding-start: calc(var(--ps-overlay-hero-clearance, 144px) + 48px);
  --ps-hero-company-padding-end: 88px;
  --ps-hero-company-surface: var(--ps-image-fallback);
  --ps-hero-company-overlay: linear-gradient(90deg, rgba(var(--ps-image-overlay-rgb),.94) 0%, rgba(var(--ps-image-overlay-rgb),.82) 32%, rgba(var(--ps-image-overlay-rgb),.45) 62%, rgba(var(--ps-image-overlay-rgb),.14) 100%);
  --ps-hero-company-tablet-min-height: 740px;
  --ps-hero-company-tablet-padding-end: 72px;
  --ps-hero-company-mobile-min-height: max(720px, 92svh);
  --ps-hero-company-mobile-padding-start: calc(var(--ps-overlay-hero-clearance, 112px) + 28px);
  --ps-hero-company-mobile-overlay: linear-gradient(90deg, rgba(var(--ps-image-overlay-rgb),.9), rgba(var(--ps-image-overlay-rgb),.65));

  /* Public contract for FRONT + WOO. Operational interfaces remain separate. */
  --ps-ui-font: var(--ps-font-family);
  --ps-ui-body-weight: 400;
  --ps-ui-content-max: var(--ps-container);
  --ps-ui-gutter: var(--ps-gutter);
  --ps-ui-section-y: var(--ps-space-section);
  --ps-ui-intro-gap: clamp(24px, 3vw, 32px);
  --ps-ui-ink: var(--ps-color-text);
  --ps-ui-muted: var(--ps-color-text-secondary);
  --ps-price-previous-color: var(--ps-ui-muted);
  --ps-price-previous-opacity: 1;
  --ps-ui-brand: var(--ps-color-brand);
  --ps-ui-action: var(--ps-color-action);
  --ps-ui-action-hover: #b72700;
  --ps-ui-accent-text: var(--ps-ui-action-hover);
  --ps-ui-line: var(--ps-color-border);
  --ps-ui-radius: var(--ps-ui-radius-card);
  --ps-ui-control-radius: var(--ps-ui-radius-control);
  --ps-ui-button-radius: 999px;
  --ps-ui-control-height: 44px;
  --ps-ui-section-nav-height: calc(var(--ps-ui-control-height) + 2 * var(--ps-space-2) + 1px);
  --ps-front-subnav-height: 0px;
  --ps-ui-shadow: none;
  --ps-ui-shadow-control: inset 0 1px 0 rgba(255, 255, 255, .16);
  --ps-ui-brand-surface: linear-gradient(135deg, #17244d, transparent) #080063;
  --ps-ui-brand-surface-hover: linear-gradient(135deg, #17244d, transparent) #05003f;
  --ps-ui-action-surface: linear-gradient(135deg, #d43812, transparent) #bd2a09;
  --ps-ui-action-surface-hover: linear-gradient(135deg, #d43812, transparent) #a72408;
  --ps-ui-h1: var(--ps-font-size-h1);
  --ps-ui-h2: var(--ps-font-size-h2);
  --ps-ui-lead: var(--ps-font-size-label);
  --ps-ui-body: var(--ps-font-size-body);
  --ps-ui-reading: 68ch;
  --ps-ui-brand-hover: #05003f;
  --ps-ui-brand-soft: rgba(8, 0, 99, .035);
  --ps-ui-brand-line: rgba(8, 0, 99, .18);
  --ps-ui-action-soft: rgba(216, 47, 0, .08);
  --ps-ui-action-line: rgba(216, 47, 0, .24);
  --ps-ui-line-strong: var(--ps-color-border-strong);
  --ps-ui-on-color: #ffffff;
  --ps-ui-rating-color: var(--ps-ui-ink);
  --ps-ui-inverse-accent: #ffb199;
  --ps-ui-inverse-card-line: rgba(255, 255, 255, .18);
  --ps-ui-inverse-muted: rgba(255, 255, 255, .76);
  --ps-ui-inverse-line: rgba(255, 255, 255, .30);
  --ps-ui-inverse-line-hover: rgba(255, 255, 255, .55);
  --ps-ui-inverse-control-bg: rgba(255, 255, 255, .10);
  --ps-ui-inverse-control-hover-bg: rgba(255, 255, 255, .18);
  --ps-ui-display-weight: var(--ps-ui-heading-weight);
  --ps-ui-heading-weight: 620;
  --ps-ui-strong-weight: 650;
  --ps-ui-label-weight: 600;
  --ps-ui-button-weight: 550;
  --ps-ui-button-size: 14px;
  --ps-ui-button-padding: 10px 18px;
  --ps-ui-button-secondary-bg: transparent;
  --ps-ui-button-secondary-color: var(--ps-ui-ink);
  --ps-ui-button-secondary-line: var(--ps-ui-line);
  --ps-ui-button-secondary-hover-bg: var(--ps-ui-surface);
  --ps-ui-button-secondary-hover-color: var(--ps-ui-ink);
  --ps-ui-button-secondary-hover-line: var(--ps-ui-line-strong);
  --ps-ui-button-icon-bg: var(--ps-ui-paper);
  --ps-ui-button-icon-color: var(--ps-ui-ink);
  --ps-ui-button-icon-line: var(--ps-ui-line);
  --ps-ui-button-icon-hover-bg: var(--ps-ui-surface);
  --ps-ui-button-icon-hover-color: var(--ps-ui-ink);
  --ps-ui-button-icon-hover-line: var(--ps-ui-line-strong);
  --ps-ui-field-bg: var(--ps-ui-surface-raised);
  --ps-ui-field-color: var(--ps-ui-ink);
  /* Editable boundaries remain visible independently of decorative separators. */
  --ps-ui-field-line: #7c8797;
  --ps-ui-field-hover-line: var(--ps-ui-muted);
  --ps-ui-field-focus-line: var(--ps-ui-brand);
  --ps-ui-field-inverse-line: rgba(255, 255, 255, .55);
  --ps-ui-field-inverse-hover-line: var(--ps-ui-inverse-muted);
  --ps-ui-field-inverse-focus-line: var(--ps-ui-on-color);
  --ps-ui-field-padding: 12px 14px;
  --ps-ui-field-disabled-bg: var(--ps-ui-surface);
  --ps-ui-field-disabled-text: var(--ps-ui-muted);
  --ps-ui-disabled-opacity: .58;

  /* Brand */
  --ps-brand-blue: var(--ps-ui-brand);
  --ps-brand-blue-dark: var(--ps-ui-brand-hover);
  --ps-brand-blue-soft: var(--ps-ui-brand);
  --ps-brand-orange: var(--ps-ui-action);
  --ps-brand-orange-soft: var(--ps-ui-action);
  --ps-brand-orange-dark: var(--ps-ui-action-hover);
  --ps-accent: var(--ps-ui-action);
  --ps-accent-soft: var(--ps-ui-action-soft);
  --ps-primary-soft: var(--ps-ui-brand-soft);
  --ps-surface-inverse: var(--ps-brand-blue);
  --ps-on-surface-inverse: #ffffff;
  --ps-image-fallback: rgb(var(--ps-image-overlay-rgb));
  --ps-image-overlay-rgb: 21, 17, 15;
  --ps-chrome-bg: var(--ps-ui-paper);
  --ps-chrome-bg-strong: var(--ps-ui-paper);
  --ps-hairline: var(--ps-ui-line);
  --ps-hairline-blue: var(--ps-ui-line);
  --ps-hairline-inverse: rgba(255, 255, 255, 0.14);
  --ps-chrome-border: var(--ps-ui-card-divider);
  --ps-chrome-shadow: var(--ps-ui-shadow-card);

  /* Page / surfaces */
  --ps-page: var(--ps-ui-surface);
  --ps-page-strong: var(--ps-ui-surface);
  --ps-panel: var(--ps-ui-paper);
  --ps-panel-soft: var(--ps-ui-surface);
  --ps-panel-warm: var(--ps-ui-surface);

  /* Borders */
  --ps-border: var(--ps-ui-line);
  --ps-border-strong: var(--ps-ui-line-strong);
  --ps-border-blue: var(--ps-ui-line);
  --ps-border-blue-strong: var(--ps-ui-line-strong);
  --ps-border-orange: var(--ps-ui-action-line);

  /* Text */
  --ps-ink: var(--ps-ui-ink);
  --ps-ink-strong: var(--ps-ui-ink);
  --ps-ink-soft: var(--ps-ui-muted);
  --ps-ink-faint: var(--ps-ui-muted);
  --ps-ink-disabled: #98a2b3;

  /* Semantic */
  --ps-success: #14734a;
  --ps-success-bg: #eef8f2;
  --ps-success-line: #cfe5d8;
  --ps-danger: #b91c1c;
  --ps-ui-danger-soft: #fff8f6;
  --ps-ui-danger-line: #edcbc3;
  --ps-ui-danger-hover-bg: #fff0ed;
  --ps-ui-danger-hover-color: #b43820;
  --ps-danger-bg: var(--ps-ui-danger-soft);
  --ps-danger-line: var(--ps-ui-danger-line);
  --ps-warning: #b45309;
  --ps-warning-bg: #fff7e9;
  --ps-warning-line: #e8d8ba;

  /* Layout */
  /* One content-width source for FRONT, WOO and site chrome. */
  --ps-shell-max: var(--ps-ui-content-max);
  --ps-container-wide: var(--ps-shell-max);
  --ps-shell-gutter: var(--ps-ui-gutter);
  --ps-section-y: var(--ps-ui-section-y);
  --ps-touch-target: 44px;
  --ps-control-height: var(--ps-ui-control-height);
  --ps-header-mobile-height: 72px;
  --ps-header-mobile-height-compact: 68px;
  --ps-hero-mobile-title: var(--ps-ui-h1);
  --ps-hero-mobile-height: 78svh;

  /* Spacing scale. Component-specific values may interpolate only between
     adjacent steps so the public rhythm remains predictable. */
  --ps-space-1: 4px;
  --ps-space-2: 8px;
  --ps-space-3: 12px;
  --ps-space-4: 16px;
  --ps-space-5: 24px;
  --ps-space-6: 32px;
  --ps-space-7: 48px;
  --ps-space-8: 64px;
  --ps-space-9: 80px;
  --ps-space-10: 96px;

  /* Compatibility aliases for embedded catalog components on FRONT pages. */
  --ps-storefront-max: var(--ps-container-wide);
  --ps-storefront-gutter: var(--ps-shell-gutter);
  --ps-storefront-section-y: var(--ps-layout-section);
  --ps-storefront-card-radius: var(--ps-radius-lg);
  --ps-storefront-control-radius: var(--ps-radius-md);
  --ps-storefront-button-radius: var(--ps-button-radius);
  --ps-storefront-border: var(--ps-border-blue);
  --ps-storefront-border-strong: var(--ps-border-blue-strong);
  --ps-storefront-shadow: var(--ps-shadow-xs);
  --ps-storefront-surface: var(--ps-panel);
  --ps-storefront-surface-soft: var(--ps-panel-soft);
  --ps-storefront-primary-bg: var(--ps-brand-blue);
  --ps-storefront-primary-shadow: var(--ps-shadow-blue);

  /* Radius */
  --ps-radius-xs: 8px;
  --ps-radius-sm: 10px;
  --ps-radius-md: var(--ps-ui-radius-control);
  --ps-radius-lg: var(--ps-ui-radius-card);
  --ps-radius-xl: var(--ps-ui-radius-card);
  --ps-radius-2xl: var(--ps-ui-radius-card);
  --ps-radius-pill: 999px;
  --ps-button-radius: var(--ps-ui-button-radius);

  /* Shadows */
  --ps-shadow-xs: none;
  --ps-shadow-sm: var(--ps-ui-shadow);
  --ps-shadow-md: var(--ps-ui-shadow);
  --ps-shadow-lg: 0 16px 40px rgba(16, 27, 51, 0.10);
  --ps-shadow-blue: var(--ps-ui-shadow);
  --ps-shadow-orange: var(--ps-ui-shadow);

  /* Motion */
  --ps-motion-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --ps-motion-duration-fast: 120ms;
  --ps-motion-duration-base: 180ms;
  --ps-motion-duration-slow: 260ms;
  --ps-motion-icon-shift: 2px;
  --ps-ease: var(--ps-motion-ease);
  --ps-transition-fast: var(--ps-motion-duration-fast) var(--ps-motion-ease);
  --ps-transition: var(--ps-motion-duration-base) var(--ps-motion-ease);
  --ps-transition-slow: var(--ps-motion-duration-slow) var(--ps-motion-ease);
  --ps-focus-ring: var(--ps-ui-brand);
  --ps-field-focus-border: var(--ps-ui-field-focus-line);
  --ps-focus-width: 2px;
  --ps-focus-offset: 3px;

  /* Layer scale */
  --ps-layer-base: 0;
  --ps-layer-content: 10;
  --ps-layer-content-sticky: 20;
  --ps-layer-sticky: 100;
  --ps-layer-overlay: 1000;
  --ps-layer-modal: 10000;
  --ps-layer-modal-panel: calc(var(--ps-layer-modal) + 1);

  /* Typography */
  --ps-font-sans: var(--ps-ui-font);
  --ps-font-weight-heading: var(--ps-ui-heading-weight);
  --ps-font-weight-strong: var(--ps-ui-strong-weight);
  --ps-heading-tracking: var(--ps-ui-tracking-heading);
  --ps-reading-width: var(--ps-ui-reading);
  --ps-type-display: var(--ps-ui-h1);
  --ps-type-display-light: var(--ps-ui-h1);
  --ps-type-section: var(--ps-ui-h2);
  --ps-type-subsection: var(--ps-ui-h3);
  --ps-type-body-xl: var(--ps-ui-lead);
  --ps-type-body-lg: var(--ps-ui-lead);
  --ps-type-body: var(--ps-ui-body);
  --ps-type-small: var(--ps-ui-small);
  --ps-type-caption: var(--ps-ui-caption);
  --ps-leading-display: var(--ps-ui-leading-display);
  --ps-leading-heading: var(--ps-ui-leading-heading);
  --ps-leading-body: var(--ps-ui-leading-body);

  /* Legacy / module bridge */
  --brand-blue: var(--ps-brand-blue);
  --brand-orange: var(--ps-brand-orange);
  --brand-orange-dark: var(--ps-brand-orange-dark);
  --bg-page: var(--ps-page);
  --bg-surface: var(--ps-panel);
  --border-subtle: var(--ps-border);
  --border-strong: var(--ps-border-strong);
  --text-main: var(--ps-ink);
  --text-muted: var(--ps-ink-soft);
  --text-soft: var(--ps-ink-faint);
  --radius-sm: var(--ps-radius-sm);
  --radius-md: var(--ps-radius-md);
  --radius-lg: var(--ps-radius-lg);
  --radius-xl: var(--ps-radius-xl);
  --shadow-subtle: var(--ps-shadow-sm);
  --shadow-soft: var(--ps-shadow-md);
  --shadow-card: var(--ps-shadow-lg);
  --ps-ui-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --ps-ui-h3: var(--ps-font-size-h3);
  --ps-ui-h4: 17px;
  --ps-ui-h5: 16px;
  --ps-ui-h6: 15px;
  --ps-ui-card-title: var(--ps-font-size-card-title);
  --ps-ui-component-title: 21px;
  --ps-ui-small: var(--ps-font-size-label);
  --ps-ui-caption: var(--ps-font-size-caption);
  --ps-ui-overline-size: 11px;
  --ps-ui-micro: 10px;
  --ps-ui-nav-size: 14px;
  --ps-ui-metric: clamp(28px, 3vw, 40px);
  --ps-ui-price: var(--ps-font-size-price);
  --ps-ui-icon-size: 20px;
  --ps-ui-icon-size-sm: 16px;
  --ps-ui-icon-size-lg: 28px;
  --ps-ui-leading-display: 1.13;
  --ps-ui-leading-intro: 1.6;
  --ps-ui-tracking-display: -.045em;
  --ps-ui-tracking-eyebrow: .12em;
  --ps-ui-leading-heading: 1.15;
  --ps-ui-leading-card: 1.35;
  --ps-ui-leading-body: 1.65;
  --ps-ui-leading-compact: 1.5;
  --ps-ui-leading-label: 1.3;
  --ps-ui-leading-control: 1.4;
  --ps-ui-leading-solid: 1;
  --ps-ui-tracking-heading: -.035em;
  --ps-ui-tracking-card: -.025em;
  --ps-ui-tracking-body: 0;
  --ps-ui-tracking-label: .08em;

  /* Report-inspired public roles: components share the same visual primitives. */
  --ps-ui-card-padding: clamp(20px, 2vw, 24px);
  --ps-ui-table-size: 14px;
  --ps-ui-table-heading-size: 12px;
  --ps-ui-table-heading-weight: 550;
  --ps-ui-table-heading-bg: var(--ps-ui-card-inset-bg);
  --ps-ui-table-cell-y: 12px;
  --ps-ui-table-cell-x: 16px;
  /* Brand at 3.5% over paper, opaque so a note also reads on inverse sections. */
  --ps-ui-note-bg: #f6f6fa;
  --ps-ui-note-line-width: 2px;
  --ps-ui-note-padding: 16px;
  --ps-ui-note-radius: 0 10px 10px 0;
  --ps-ui-note-size: var(--ps-ui-small);
  --ps-ui-status-size: 11px;
  --ps-ui-status-dot: 5px;
  --ps-ui-status-gap: 8px;
  --ps-ui-status-padding: 5px 10px;
  --ps-ui-status-weight: var(--ps-ui-label-weight);
  --ps-ui-status-leading: 1.4;

  /* Compact header typography preserves the selected SHOP metrics. */
  --ps-header-search-weight: var(--ps-ui-strong-weight);
  --ps-header-secondary-weight: var(--ps-ui-button-weight);
  --ps-header-regular-weight: 400;
  --ps-header-medium-weight: 500;
  --ps-header-caption-size: 13px;
  --ps-header-leading-title: 1.1;
  --ps-header-leading-display: 1.08;
  --ps-header-leading-copy: 1.55;
  --ps-header-leading-meta: 1.45;
  --ps-header-leading-detail: 1.4;
  --ps-header-cart-heading-tracking: -.5px;
}

@media (prefers-reduced-motion: reduce) {
  body.ps-public-ui {
    --ps-motion-duration-fast: 0ms;
    --ps-motion-duration-base: 0ms;
    --ps-motion-duration-slow: 0ms;
    --ps-motion-icon-shift: 0px;
  }
  html:has(body.ps-public-ui),
  body.ps-public-ui,
  body.ps-public-ui *,
  body.ps-public-ui *::before,
  body.ps-public-ui *::after {
    transition-duration: 0s !important;
    transition-delay: 0s !important;
    animation-duration: .01ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}

@media (prefers-contrast: more) {
  body.ps-public-ui {
    
    --ps-ui-card-line: rgba(30, 48, 80, .24);
    --ps-ui-card-hover-line: rgba(30, 48, 80, .36);
    --ps-ui-card-divider: rgba(30, 48, 80, .18);
    
    --ps-hairline: rgba(16, 24, 40, 0.18);
    --ps-hairline-blue: rgba(8, 0, 99, 0.24);
    --ps-hairline-inverse: rgba(255, 255, 255, 0.34);
  }
}

/* The public foundation owns typography at the roots as well as on body. Compatibility
   components may define local aliases, so bind those aliases at the boundary. */
:where(body.ps-public-ui) :where(.ps-landing, .ps-header, .ps-footer, .ps-home-hero, .ps-photo-hero, .ps-contract-portfolio, .ps-erp-offer-front, .ps-erp-offerpop, .ps-choice-guide, .ps-company) {
  --ps-design-font: var(--ps-ui-font);
  --ps-font-sans: var(--ps-ui-font);
  font-family: var(--ps-ui-font);
}

/* Element semantics provide defaults; component roles only reference the
   same scale. Cards, captions and controls retain their explicit roles. */
:where(body.ps-public-ui) :where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--ps-ui-font);
  font-weight: var(--ps-ui-heading-weight);
  line-height: var(--ps-ui-leading-heading);
  letter-spacing: var(--ps-ui-tracking-heading);
  text-wrap: balance;
}
:where(body.ps-public-ui) :where(h1) {

  color: var(--ps-title-color, var(--ps-ui-ink));
  font-family: var(--ps-ui-font);
  font-size: var(--ps-page-title-size, var(--ps-ui-h1));
  font-weight: var(--ps-page-title-weight, var(--ps-ui-display-weight));
  line-height: var(--ps-page-title-leading, var(--ps-ui-leading-display));
  letter-spacing: var(--ps-page-title-tracking, var(--ps-ui-tracking-display));

}

/* Composition is shared by page, section and commerce introductions. */
body.ps-public-ui .ps-public-intro-title {

  margin: var(--ps-intro-label-gap) 0 var(--ps-intro-copy-gap);

}
body.ps-public-ui .ps-public-intro-description {

  margin: 0;
  max-width: var(--ps-layout-reading);

}

/* Editorial composition is opt-in for full-width chapter introductions. */
body.ps-public-ui .ps-public-editorial-intro {

  display: grid;
  grid-template-columns: var(--ps-editorial-columns, minmax(0, 1fr));
  column-gap: var(--ps-layout-section);
  row-gap: var(--ps-editorial-row-gap, var(--ps-intro-copy-gap));
  align-items: end;

}
body.ps-public-ui .ps-public-editorial-label {

  grid-column: 1 / -1;

}
body.ps-public-ui .ps-public-editorial-title {

  grid-column: 1;
  grid-row: var(--ps-editorial-title-row, auto);
  margin: 0;

}
body.ps-public-ui .ps-public-editorial-copy {

  grid-column: var(--ps-editorial-copy-column, 1);
  margin: 0;

}
body.ps-public-ui .ps-public-editorial-first-copy {

  grid-row: var(--ps-editorial-title-row, auto);

}

body.ps-public-ui .ps-public-intro-copy {

  color: var(--ps-intro-color, var(--ps-ui-muted));
  font-family: var(--ps-ui-font);
  font-size: var(--ps-intro-size, var(--ps-ui-lead));
  font-weight: var(--ps-intro-weight, var(--ps-ui-body-weight));
  line-height: var(--ps-intro-leading, var(--ps-ui-leading-intro));
  letter-spacing: var(--ps-ui-tracking-body);

}

body.ps-public-ui .ps-public-eyebrow {

  color: var(--ps-eyebrow-color, var(--ps-ui-brand));
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-overline-size);
  font-weight: var(--ps-eyebrow-weight, var(--ps-ui-label-weight));
  line-height: var(--ps-eyebrow-leading, var(--ps-ui-leading-label));
  letter-spacing: var(--ps-eyebrow-tracking, var(--ps-ui-tracking-eyebrow));
  text-transform: uppercase;

}

body.ps-public-ui .ps-public-typography--inverse {

  --ps-page-title-size: var(--ps-font-size-h1-inverse);
  --ps-page-title-weight: var(--ps-ui-strong-weight);
  --ps-page-title-leading: var(--ps-ui-leading-heading);
  --ps-page-title-tracking: var(--ps-ui-tracking-heading);
  --ps-intro-size: var(--ps-font-size-intro-inverse);
  --ps-intro-leading: var(--ps-ui-leading-body);
  --ps-eyebrow-tracking: var(--ps-ui-tracking-label);
  --ps-title-color: var(--ps-ui-on-color);
  --ps-intro-color: var(--ps-ui-inverse-muted);
  --ps-eyebrow-color: var(--ps-ui-inverse-muted);

}
:where(body.ps-public-ui) :where(h2) { font-size: var(--ps-ui-h2); }
:where(body.ps-public-ui) :where(h3) { font-size: var(--ps-ui-h3); }
:where(body.ps-public-ui) :where(h4) { font-size: var(--ps-ui-h4); font-weight: var(--ps-ui-strong-weight); }
:where(body.ps-public-ui) :where(h5) { font-size: var(--ps-ui-h5); }
:where(body.ps-public-ui) :where(h6) { font-size: var(--ps-ui-h6); }
:where(body.ps-public-ui) :where(p, li, dt, dd, th, td) {
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-body);
  line-height: var(--ps-ui-leading-body);
}
:where(body.ps-public-ui) :where(small, figcaption) {
  font-size: var(--ps-ui-caption);
  line-height: var(--ps-ui-leading-compact);
}
:where(body.ps-public-ui) :where(input, select, textarea, button) { font-family: var(--ps-ui-font); }

body.ps-public-ui :where(strong, b) {
  font-weight: var(--ps-font-weight-strong);
}


body.ps-public-ui {
  color: var(--ps-ink);
  background: var(--ps-ui-surface);
  font-family: var(--ps-font-sans);
  font-size: var(--ps-ui-body);
  font-weight: var(--ps-ui-body-weight);
  line-height: var(--ps-leading-body);
  font-kerning: normal;
  font-optical-sizing: auto;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.ps-public-ui ::selection {
  background: rgba(255, 59, 5, 0.18);
  color: var(--ps-ink-strong);
}
/* Shared frame primitive. Full-bleed media remain outside the content frame. */
:where(body.ps-public-ui) .ps-public-page-frame {

  width: min(var(--ps-layout-max), calc(100% - 2 * var(--ps-layout-gutter)));
  margin-inline: auto;

}

:where(body.ps-public-ui) .ps-public-section-band {

  margin-block: 0;
  padding-block: var(--ps-layout-section);

}

/* Adjacent chapters share one continuous canvas and one section interval. */
:where(body.ps-public-ui) .ps-public-continuous-section {

  margin-block: 0;
  padding-block: var(--ps-layout-section-half);

}

:where(body.ps-public-ui) .ps-public-product-grid {
  display: grid;
  grid-template-columns: repeat(var(--ps-layout-grid-columns), minmax(0, 1fr));
  gap: var(--ps-layout-grid-gap);
}

@media (min-width: 641px) {
  body.ps-public-ui {
    --ps-layout-grid-columns: 2;
    --ps-ui-table-cell-y: 14px;
    --ps-ui-table-cell-x: 20px;
    --ps-ui-note-padding: 18px 20px;
  }
}

@media (min-width: 721px) {
  body.ps-public-ui {
    --ps-layout-commerce-clearance: calc(var(--ps-overlay-content-clearance, 112px) + 40px);
  }
}

@media (min-width: 1100px) {
  body.ps-public-ui {
    --ps-editorial-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    --ps-editorial-title-row: 2;
    --ps-editorial-copy-column: 2;
    --ps-product-card-title-size: 15px;
    --ps-layout-grid-columns: 4;
    --ps-layout-grid-gap: var(--ps-space-compact);
  }
}

/* Surface roles are shared by FRONT, WOO and native component adapters.
   Local ordering inside an isolated surface does not create a global tier. */
body.ps-public-ui .ps-public-layer-content-sticky {

  z-index: var(--ps-layer-content-sticky, 20);

}
body.ps-public-ui .ps-public-layer-sticky {

  z-index: var(--ps-layer-sticky, 100);

}
body.ps-public-ui .ps-public-layer-overlay {

  z-index: var(--ps-layer-overlay, 1000);

}
body.ps-public-ui .ps-public-layer-modal {

  z-index: var(--ps-layer-modal, 10000);

}
body.ps-public-ui .ps-public-layer-modal-panel {

  z-index: var(--ps-layer-modal-panel, 10001);

}

/* Navigation inherits its surface role; prose and legal links keep a visible
   underline. Components supply role tokens instead of new link recipes. */
body.ps-public-ui .ps-public-menu-link {

  font-family: var(--ps-ui-font);
  color: var(--ps-menu-link-color, var(--ps-ui-ink));
  text-decoration: none;
  transition: background-color var(--ps-transition-fast), border-color var(--ps-transition-fast), color var(--ps-transition-fast), text-decoration-color var(--ps-transition-fast);

}
body.ps-public-ui .ps-public-menu-link:is(:hover, :focus-visible) {

  color: var(--ps-menu-link-hover-color, var(--ps-menu-link-color, var(--ps-ui-brand)));
  text-decoration: none;

}
body.ps-public-ui .ps-public-menu-item:is(:hover, :focus-visible) {

  background: var(--ps-menu-surface-hover-bg, var(--ps-ui-brand-soft));
  border-color: var(--ps-menu-surface-hover-line, var(--ps-ui-line-strong));
  box-shadow: none;
  transform: none;

}
body.ps-public-ui .ps-public-text-link {

  color: var(--ps-link-color, var(--ps-ui-brand));
  text-decoration-color: currentColor;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-skip-ink: auto;
  transition: color var(--ps-transition-fast), text-decoration-color var(--ps-transition-fast);

}
body.ps-public-ui .ps-public-text-link:is(:hover, :focus-visible) {

  color: var(--ps-link-hover-color, var(--ps-ui-brand-hover));
  text-decoration-color: currentColor;

}

/* Public interaction primitives. Component state selectors consume the same
   fragments when their normal styling needs stronger selector priority. */
/* Focus is shared across the public site and independent of the action colour. */
body.ps-public-ui :where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible:not(:where(input:not(:where([type="checkbox"], [type="radio"], [type="range"], [type="button"], [type="submit"], [type="reset"], [type="hidden"], [type="file"], [type="color"], [type="image"])), select, textarea)):not(:where(#wpadminbar *)) {

  outline: var(--ps-focus-width, 2px) solid var(--ps-focus-ring, currentColor);
  outline-offset: var(--ps-focus-offset, 3px);

}

/* Editable fields keep one crisp focus contour; buttons and links use the keyboard outline. */
body.ps-public-ui :where(input:not(:where([type="checkbox"], [type="radio"], [type="range"], [type="button"], [type="submit"], [type="reset"], [type="hidden"], [type="file"], [type="color"], [type="image"])), select, textarea):focus:not(:disabled):not(:where(.ps-bess-input-unit *, .ps-choice-guide__calculator label > span *, .ps-afm-field__control *, .ps-erp-offerpop__number-control *, #ps-chat-input-area *)) {

  outline: 0;
  box-shadow: none;

}

body.ps-public-ui :where(input:not(:where([type="checkbox"], [type="radio"], [type="range"], [type="button"], [type="submit"], [type="reset"], [type="hidden"], [type="file"], [type="color"], [type="image"])), select, textarea):focus:not(:disabled):not(:where(.ps-bess-input-unit *, .ps-choice-guide__calculator label > span *, .ps-afm-field__control *, .ps-erp-offerpop__number-control *, #ps-chat-input-area *)):where(:not([aria-invalid="true"]):not(.is-invalid)) {

  border-color: var(--ps-field-focus-border);

}


/* Shared interaction renderers. These real component anchors own the defaults;
   other components reuse the exact declarations through the fragment API. */

:where(body.ps-public-ui) :is(.ps-landing, .ps-home-hero) :is(.psl-btn, .btn):not(:where(.ps-cerere-oferta *, .ps-offer-trigger *)),
:where(body.ps-public-ui) .ps-erp-offer-front .ps-btn,
:where(body.ps-public-ui) .ps-landing .psl-offer-btn :is(a, button, input[type="button"], input[type="submit"]),
:where(body.ps-public-ui) .ps-seo-hero__button,
:where(body.ps-public-ui) .ps-hero__btn,
:where(body.ps-public-ui) .ps-landing-nav a.ps-landing-nav-cta,
:where(body.ps-public-ui) .ps-landing--immersive-panels-v1 .ps-immersive-panels__button,
body.ps-public-ui .wp-block-button__link {

  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--ps-ui-control-height);
  max-width: 100%;
  padding: var(--ps-ui-button-padding);
  border: 1px solid var(--ps-button-line, var(--ps-ui-button-secondary-line));
  border-radius: var(--ps-ui-button-radius);
  background: var(--ps-button-bg, var(--ps-ui-button-secondary-bg));
  color: var(--ps-button-color, var(--ps-ui-button-secondary-color));
  box-shadow: var(--ps-button-shadow, var(--ps-ui-shadow-control));
  cursor: pointer;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-button-size);
  font-weight: var(--ps-ui-button-weight);
  line-height: var(--ps-ui-leading-control);
  letter-spacing: var(--ps-ui-tracking-body);
  text-align: center;
  text-decoration: none !important;
  text-transform: none;
  white-space: var(--ps-button-white-space, normal);
  transition: background var(--ps-transition), border-color var(--ps-transition), color var(--ps-transition), box-shadow var(--ps-transition);

}

:where(body.ps-public-ui) :is(.ps-landing, .ps-home-hero) :is(.psl-btn, .btn):not(:where(.ps-cerere-oferta *, .ps-offer-trigger *)):is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]):not(.disabled),
:where(body.ps-public-ui) .ps-erp-offer-front .ps-btn:is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]):not(.disabled),
:where(body.ps-public-ui) .ps-landing .psl-offer-btn :is(a, button, input[type="button"], input[type="submit"]):is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]):not(.disabled),
:where(body.ps-public-ui) .ps-seo-hero__button:is(:hover, :focus-visible):not(:disabled):not(.disabled):not([aria-disabled="true"]),
:where(body.ps-public-ui) .ps-hero__btn:is(:hover, :focus-visible):not(:disabled):not(.disabled):not([aria-disabled="true"]),
:where(body.ps-public-ui) .ps-landing-nav a.ps-landing-nav-cta:is(:hover, :focus-visible):not(:disabled):not(.disabled):not([aria-disabled="true"]),
:where(body.ps-public-ui) .ps-landing--immersive-panels-v1 .ps-immersive-panels__button:is(:hover, :focus-visible):not(:disabled):not(.disabled):not([aria-disabled="true"]),
body.ps-public-ui .wp-block-button__link:is(:hover, :focus-visible):not(:disabled):not(.disabled):not([aria-disabled="true"]) {

  border-color: var(--ps-button-hover-line, var(--ps-ui-button-secondary-hover-line));
  background: var(--ps-button-hover-bg, var(--ps-ui-button-secondary-hover-bg));
  color: var(--ps-button-hover-color, var(--ps-ui-button-secondary-hover-color));
  text-decoration: none !important;
  transform: none;
  box-shadow: var(--ps-button-hover-shadow, var(--ps-ui-shadow-control));
  filter: none;

}

:where(body.ps-public-ui) :is(.ps-landing, .ps-home-hero) :is(.psl-btn--primary, .btn-primary, .psl-btn--accent, .psl-btn--orange, .psl-btn--offer),
:where(body.ps-public-ui) .ps-home-hero .psl-btn:not(.psl-btn--secondary):not(.psl-btn--ghost),
:where(body.ps-public-ui) .ps-erp-offer-front .ps-btn-primary,
:where(body.ps-public-ui) .ps-landing .psl-offer-btn :is(a, button, input[type="button"], input[type="submit"]),
:where(body.ps-public-ui) .ps-seo-hero__button.ps-seo-hero__button--primary,
:where(body.ps-public-ui) .ps-hero__btn--primary,
:where(body.ps-public-ui) .ps-landing--immersive-panels-v1 .ps-immersive-panels__button:not(.ps-immersive-panels__button--secondary),
body.ps-public-ui .wp-block-button:not(.is-style-outline) .wp-block-button__link {

  --ps-button-bg: var(--ps-ui-action-surface);
  --ps-button-color: var(--ps-ui-on-color);
  --ps-button-line: var(--ps-ui-action);
  --ps-button-hover-bg: var(--ps-ui-action-surface-hover);
  --ps-button-hover-color: var(--ps-ui-on-color);
  --ps-button-hover-line: var(--ps-ui-action-hover);

}

body.ps-public-ui .ps-public-segmented {

  --ps-segmented-track-bg: var(--ps-ui-surface-inset);
  --ps-segmented-active-shadow: 0 1px 3px rgba(16, 27, 51, .10);
  box-sizing: border-box;
  display: var(--ps-segmented-layout, inline-flex);
  width: var(--ps-segmented-width, fit-content);
  max-width: 100%;
  gap: 3px;
  padding: 3px;
  border: 1px solid var(--ps-color-border);
  border-radius: var(--ps-ui-button-radius);
  background: var(--ps-segmented-track-bg);

}

body.ps-public-ui .ps-public-segmented--compact {

  --ps-segmented-option-height: 36px;

}

body.ps-public-ui .ps-public-segmented__option {

  appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  min-width: 0;
  min-height: var(--ps-segmented-option-height, 48px);
  align-items: center;
  justify-content: center;
  padding: 6px var(--ps-segmented-option-padding-inline, 18px);
  border: 0;
  border-radius: var(--ps-ui-button-radius);
  background: transparent;
  color: var(--ps-color-text-secondary);
  box-shadow: none;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-font-size-caption);
  font-weight: var(--ps-ui-button-weight);
  line-height: var(--ps-ui-leading-body);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--ps-transition-fast), color var(--ps-transition-fast), box-shadow var(--ps-transition-fast);

}

body.ps-public-ui .ps-public-segmented__option:is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]):not([aria-current="page"]):not([aria-pressed="true"]) {

  background: var(--ps-ui-surface-glass);
  color: var(--ps-color-text);

}

body.ps-public-ui .ps-public-segmented__option:is([aria-current="page"], [aria-pressed="true"]) {

  background: var(--ps-color-surface);
  color: var(--ps-color-text);
  box-shadow: var(--ps-segmented-active-shadow);

}

body.ps-public-ui .ps-public-button-brand {

  --ps-button-bg: var(--ps-ui-brand-surface);
  --ps-button-color: var(--ps-ui-on-color);
  --ps-button-line: var(--ps-ui-brand);
  --ps-button-hover-bg: var(--ps-ui-brand-surface-hover);
  --ps-button-hover-color: var(--ps-ui-on-color);
  --ps-button-hover-line: var(--ps-ui-brand-hover);

}

:where(body.ps-public-ui) .ps-landing-nav a.ps-landing-nav-cta,
:where(body.ps-public-ui) .ps-offer-trigger .btn.btn-secondary {

  --ps-button-bg: var(--ps-ui-button-secondary-bg);
  --ps-button-color: var(--ps-ui-button-secondary-color);
  --ps-button-line: var(--ps-ui-button-secondary-line);
  --ps-button-hover-bg: var(--ps-ui-button-secondary-hover-bg);
  --ps-button-hover-color: var(--ps-ui-button-secondary-hover-color);
  --ps-button-hover-line: var(--ps-ui-button-secondary-hover-line);

}

/* Icon controls retain a paper surface on both light and inverse panels. */
:where(body.ps-public-ui) .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__close {

  --ps-button-bg: var(--ps-ui-button-icon-bg);
  --ps-button-color: var(--ps-ui-button-icon-color);
  --ps-button-line: var(--ps-ui-button-icon-line);
  --ps-button-hover-bg: var(--ps-ui-button-icon-hover-bg);
  --ps-button-hover-color: var(--ps-ui-button-icon-hover-color);
  --ps-button-hover-line: var(--ps-ui-button-icon-hover-line);

}

:where(body.ps-public-ui) .ps-offer-modal-aside {

  --ps-button-bg: var(--ps-ui-inverse-control-bg);
  --ps-button-color: var(--ps-ui-on-color);
  --ps-button-line: var(--ps-ui-inverse-line);
  --ps-button-hover-bg: var(--ps-ui-inverse-control-hover-bg);
  --ps-button-hover-color: var(--ps-ui-on-color);
  --ps-button-hover-line: var(--ps-ui-inverse-line-hover);

}

:where(body.ps-public-ui) .ps-cerere-oferta .ps-offer-form input:not(:where([type="checkbox"], [type="radio"], [type="range"], [type="button"], [type="submit"], [type="reset"], [type="hidden"], [type="file"], [type="color"], [type="image"])),
:where(body.ps-public-ui) .ps-cerere-oferta .ps-offer-form select,
:where(body.ps-public-ui) .ps-cerere-oferta .ps-offer-form textarea {

  min-height: var(--ps-ui-control-height);
  padding: var(--ps-field-padding, var(--ps-ui-field-padding));
  border: 1px solid var(--ps-field-line, var(--ps-ui-field-line));
  border-radius: var(--ps-ui-radius-control);
  background: var(--ps-field-bg, var(--ps-ui-field-bg));
  color: var(--ps-field-color, var(--ps-ui-field-color));
  box-shadow: none;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-body);
  font-weight: var(--ps-ui-body-weight);
  line-height: var(--ps-ui-leading-control);
  transition: border-color var(--ps-transition), box-shadow var(--ps-transition), background var(--ps-transition);

}

:where(body.ps-public-ui) .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__input:hover:not(:disabled):not(:focus):not([aria-invalid="true"]),
:where(body.ps-public-ui) .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__select:hover:not(:disabled):not(:focus):not([aria-invalid="true"]) {

  border-color: var(--ps-field-hover-line, var(--ps-ui-field-hover-line));

}

:where(body.ps-public-ui) .ps-partner-brands__item,
:where(body.ps-public-ui) .ps-landing .psl-card {

  border: 1px solid var(--ps-card-line, var(--ps-ui-card-line));
  border-radius: var(--ps-ui-radius-card);
  background: var(--ps-card-bg, var(--ps-ui-card-bg));
  box-shadow: var(--ps-card-shadow, var(--ps-ui-shadow-card));
  transition: border-color var(--ps-transition), background var(--ps-transition), box-shadow var(--ps-transition);

}

/* Dialogs and floating panels share one raised material. */
body.ps-public-ui .ps-public-floating-surface {

  border: 1px solid var(--ps-ui-card-line);
  border-radius: var(--ps-ui-radius-card);
  background: var(--ps-ui-paper);
  box-shadow: var(--ps-ui-shadow-floating);

}

/* Inverse cards keep a translucent material without inheriting paper highlights. */
body.ps-public-ui .ps-public-inverse-card-material {

  --ps-card-bg: linear-gradient(145deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .035) 58%, rgba(255, 255, 255, .018));
  --ps-card-line: var(--ps-ui-inverse-card-line);
  --ps-card-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 14px 28px -22px rgba(0, 0, 0, .3);
  --ps-card-hover-bg: linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .045) 58%, rgba(255, 255, 255, .025));
  --ps-card-hover-line: var(--ps-ui-inverse-line-hover);
  --ps-card-hover-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 18px 32px -22px rgba(0, 0, 0, .34);

}

/* Translucent image surfaces share one material with their data panels. */
body.ps-public-ui .ps-public-glass-material {

  --ps-card-bg: linear-gradient(135deg, rgba(var(--ps-image-overlay-rgb), .58), rgba(var(--ps-image-overlay-rgb), .46));
  --ps-card-line: var(--ps-ui-inverse-card-line);
  --ps-card-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);

}

/* Connected data surfaces keep related facts together. */
body.ps-public-ui .ps-public-comparison-panel {

  
  border: 1px solid var(--ps-card-line, var(--ps-ui-card-line));
  border-radius: var(--ps-ui-radius-card);
  background: var(--ps-card-bg, var(--ps-ui-card-bg));
  box-shadow: var(--ps-card-shadow, var(--ps-ui-shadow-card));
  transition: border-color var(--ps-transition), background var(--ps-transition), box-shadow var(--ps-transition);

  display: grid;
  gap: 0;
  overflow: hidden;

}
body.ps-public-ui .ps-public-comparison-cell {

  min-width: 0;
  padding: var(--ps-ui-card-padding);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;

}
body.ps-public-ui .ps-public-proof-rail {

  display: grid;
  grid-template-columns: repeat(var(--ps-proof-columns, 1), minmax(0, 1fr));
  gap: 0;
  border-block: 1px solid var(--ps-proof-line, var(--ps-ui-card-divider));
  background: var(--ps-proof-bg, transparent);

}
body.ps-public-ui .ps-public-proof-cell {

  min-width: 0;
  padding: var(--ps-space-4) var(--ps-space-5);

}

:where(body.ps-public-ui) a.ps-partner-brands__item:hover,
:where(body.ps-public-ui) a.ps-partner-brands__item:focus-visible {

  border-color: var(--ps-card-hover-line, var(--ps-ui-card-hover-line));
  background: var(--ps-card-hover-bg, var(--ps-ui-card-hover-bg));
  transform: none;
  box-shadow: var(--ps-card-hover-shadow, var(--ps-ui-shadow-card-hover));
  filter: none;

}
/* The page reserves navigation clearance only when a local navigation exists. */
body.ps-public-ui:has(:where(.ps-landing-subnav, .ps-bess-nav, .ps-choice-guide__toc)) {
  --ps-front-subnav-height: var(--ps-ui-section-nav-height);
}

/* Local navigation has one visual hierarchy across editorial page families. */
body.ps-public-ui .ps-public-section-nav-link {

  --ps-menu-link-color: var(--ps-ui-ink);
  --ps-menu-link-hover-color: var(--ps-ui-brand);
  --ps-menu-surface-hover-bg: var(--ps-ui-surface);
  
  font-family: var(--ps-ui-font);
  color: var(--ps-menu-link-color, var(--ps-ui-ink));
  text-decoration: none;
  transition: background-color var(--ps-transition-fast), border-color var(--ps-transition-fast), color var(--ps-transition-fast), text-decoration-color var(--ps-transition-fast);

  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: var(--ps-ui-control-height);
  padding: 0 var(--ps-space-3);
  border-radius: var(--ps-ui-radius-control);
  font-size: var(--ps-ui-nav-size);
  font-weight: var(--ps-ui-label-weight);
  white-space: nowrap;
  transition: background var(--ps-transition), color var(--ps-transition);

}

/* Secondary information surfaces share a quieter finish than the outer card. */
body.ps-public-ui .ps-public-note {

  padding: var(--ps-ui-note-padding);
  border: 0;
  border-left: var(--ps-ui-note-line-width) solid var(--ps-ui-brand);
  border-radius: var(--ps-ui-note-radius);
  background: var(--ps-ui-note-bg);
  color: var(--ps-ui-muted);
  font-size: var(--ps-ui-note-size);
  line-height: var(--ps-ui-leading-body);

}

body.ps-public-ui .ps-card-inset {

  border: 1px solid var(--ps-ui-card-divider);
  border-radius: var(--ps-ui-radius-control);
  background: var(--ps-ui-card-inset-bg);
  box-shadow: none;

}

body.ps-public-ui .ps-public-photo-hero {

  box-sizing: border-box;
  position: relative;
  isolation: isolate;
  display: flex;
  width: 100%;
  min-height: var(--ps-hero-min-height);
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: var(--ps-hero-surface);
  color: var(--ps-ui-on-color);

}
body.ps-public-ui .ps-public-photo-hero::before {

  background: var(--ps-hero-overlay);

}


/* Shared decision surfaces: product purchase and configuration tools. */
body.ps-public-ui .ps-decision-surface {
  
  border: 1px solid var(--ps-card-line, var(--ps-ui-card-line));
  border-radius: var(--ps-ui-radius-card);
  background: var(--ps-card-bg, var(--ps-ui-card-bg));
  box-shadow: var(--ps-card-shadow, var(--ps-ui-shadow-card));
  transition: border-color var(--ps-transition), background var(--ps-transition), box-shadow var(--ps-transition);

  box-sizing: border-box;
  min-width: 0;
  padding: var(--ps-ui-card-padding);
}

body.ps-public-ui .ps-decision-plain {

  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;

}

body.ps-public-ui .ps-decision-group {
  
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;

  min-width: 0;
  margin: var(--ps-decision-group-margin, 0);
  padding: var(--ps-space-5) 0 0;
  border-top: 1px solid var(--ps-ui-line);
}

body.ps-public-ui .ps-public-disclosure-summary {

position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 21px 42px 21px 0;
  border: 0;
  border-radius: 0;
  color: var(--ps-ui-ink);
  background: transparent;
  box-shadow: none;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-body);
  font-weight: var(--ps-ui-label-weight);
  line-height: var(--ps-ui-leading-body);
  letter-spacing: var(--ps-ui-tracking-body);
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  list-style: none;
  cursor: pointer;
  transition: color var(--ps-transition-fast);

}
body.ps-public-ui .ps-public-disclosure-line {

  position: absolute;
  width: 14px;
  height: 1px;
  background: var(--ps-ui-action);

}
body.ps-public-ui .ps-public-disclosure-toggle {

  transform: rotate(90deg);
  transition: transform var(--ps-transition-fast);

}

body.ps-public-ui .ps-public-form-heading {

  margin: 0;
  color: var(--ps-ui-ink);
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-component-title);
  font-weight: var(--ps-ui-heading-weight);
  line-height: var(--ps-ui-leading-card);
  letter-spacing: var(--ps-ui-tracking-card);
  text-transform: none;

}
body.ps-public-ui .ps-public-form-intro {

  --ps-focus-ring: var(--ps-ui-on-color);
  background: var(--ps-ui-ink);
  color: var(--ps-ui-on-color);

}

body.ps-public-ui .ps-decision-heading {

  margin: 0 0 var(--ps-space-3);
  color: var(--ps-ui-ink);
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-body);
  font-weight: var(--ps-ui-label-weight);
  line-height: var(--ps-ui-leading-compact);
  letter-spacing: var(--ps-ui-tracking-body);

}

body.ps-public-ui .ps-decision-nav {
  display: flex;
  align-items: center;
  gap: var(--ps-space-2);
  min-width: 0;
  max-width: 100%;
  margin: var(--ps-decision-nav-margin, 0);
  padding: var(--ps-space-2) 0;
  overflow-x: auto;
  scrollbar-width: thin;
}

body.ps-public-ui .ps-decision-nav a {
  
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--ps-ui-control-height);
  max-width: 100%;
  padding: var(--ps-ui-button-padding);
  border: 1px solid var(--ps-button-line, var(--ps-ui-button-secondary-line));
  border-radius: var(--ps-ui-button-radius);
  background: var(--ps-button-bg, var(--ps-ui-button-secondary-bg));
  color: var(--ps-button-color, var(--ps-ui-button-secondary-color));
  box-shadow: var(--ps-button-shadow, var(--ps-ui-shadow-control));
  cursor: pointer;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-button-size);
  font-weight: var(--ps-ui-button-weight);
  line-height: var(--ps-ui-leading-control);
  letter-spacing: var(--ps-ui-tracking-body);
  text-align: center;
  text-decoration: none !important;
  text-transform: none;
  white-space: var(--ps-button-white-space, normal);
  transition: background var(--ps-transition), border-color var(--ps-transition), color var(--ps-transition), box-shadow var(--ps-transition);

  
  --ps-button-bg: var(--ps-ui-button-secondary-bg);
  --ps-button-color: var(--ps-ui-button-secondary-color);
  --ps-button-line: var(--ps-ui-button-secondary-line);
  --ps-button-hover-bg: var(--ps-ui-button-secondary-hover-bg);
  --ps-button-hover-color: var(--ps-ui-button-secondary-hover-color);
  --ps-button-hover-line: var(--ps-ui-button-secondary-hover-line);

  flex: 0 0 auto;
  white-space: nowrap;
}

body.ps-public-ui .ps-decision-nav a:is(:hover, :focus-visible) {
  
  border-color: var(--ps-button-hover-line, var(--ps-ui-button-secondary-hover-line));
  background: var(--ps-button-hover-bg, var(--ps-ui-button-secondary-hover-bg));
  color: var(--ps-button-hover-color, var(--ps-ui-button-secondary-hover-color));
  text-decoration: none !important;
  transform: none;
  box-shadow: var(--ps-button-hover-shadow, var(--ps-ui-shadow-control));
  filter: none;

}

body.ps-public-ui .ps-visually-hidden {

  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;

}

/* Shared orientation and annotation components; domain owners supply contrast. */
body.ps-public-ui .ps-public-anchor {

  scroll-margin-top: var(--ps-anchor-clearance);

}
body.ps-public-ui .ps-public-breadcrumb {

  display: block;
  width: 100%;
  max-width: var(--ps-layout-reading);
  margin: 0 0 var(--ps-space-5);
  padding: 0;
  color: var(--ps-breadcrumb-color, var(--ps-ui-muted));
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-small);
  font-weight: var(--ps-ui-body-weight);
  line-height: var(--ps-ui-leading-compact);
  letter-spacing: var(--ps-ui-tracking-body);
  text-align: left;

}
body.ps-public-ui .ps-public-breadcrumb__list {

  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--ps-space-1) var(--ps-space-2);
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;

}
body.ps-public-ui .ps-public-breadcrumb__item {

  display: inline-flex;
  align-items: baseline;
  gap: var(--ps-space-2);
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0;
  font: inherit;

}
body.ps-public-ui .ps-public-breadcrumb__link {

  min-width: 0;
  color: inherit;
  font: inherit;
  overflow-wrap: anywhere;
  text-decoration: none;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: color var(--ps-transition);

}
body.ps-public-ui .ps-public-breadcrumb__link:is(:hover, :focus-visible) {

  color: var(--ps-breadcrumb-current-color, var(--ps-ui-ink));
  text-decoration-line: underline;

}
body.ps-public-ui .ps-public-breadcrumb__current {

  min-width: 0;
  color: var(--ps-breadcrumb-current-color, var(--ps-ui-ink));
  font: inherit;
  font-weight: var(--ps-ui-label-weight);
  overflow-wrap: anywhere;

}
body.ps-public-ui .ps-public-breadcrumb__separator {

  flex: 0 0 auto;
  color: var(--ps-breadcrumb-separator-color, var(--ps-ui-line-strong));

}

body.ps-public-ui .ps-public-status-pill {

  display: inline-flex;
  align-items: center;
  gap: var(--ps-ui-status-gap);
  min-width: 0;
  max-width: 100%;
  padding: var(--ps-ui-status-padding);
  border: 1px solid var(--ps-status-line, var(--ps-ui-line));
  border-radius: var(--ps-radius-pill);
  background: var(--ps-status-bg, var(--ps-ui-paper));
  color: var(--ps-status-color, var(--ps-ui-muted));
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-status-size);
  font-weight: var(--ps-ui-status-weight);
  line-height: var(--ps-ui-status-leading);
  letter-spacing: var(--ps-ui-tracking-body);
  overflow-wrap: anywhere;

}
body.ps-public-ui .ps-public-status-pill::before {

  content: "";
  flex: 0 0 auto;
  width: var(--ps-ui-status-dot);
  height: var(--ps-ui-status-dot);
  border-radius: 50%;
  background: currentColor;

}
body.ps-public-ui .ps-public-status-pill--success {

  --ps-status-color: var(--ps-success);
  --ps-status-bg: var(--ps-success-bg);
  --ps-status-line: var(--ps-success-line);

}
body.ps-public-ui .ps-public-status-pill--warning {
  --ps-status-color: var(--ps-warning);
  --ps-status-bg: var(--ps-warning-bg);
  --ps-status-line: var(--ps-warning-line);
}
body.ps-public-ui .ps-public-status-pill--inverse {
  --ps-status-color: var(--ps-ui-inverse-muted);
  --ps-status-bg: var(--ps-ui-inverse-control-bg);
  --ps-status-line: var(--ps-ui-inverse-card-line);
}



/* Disabled state shares the same priority-adaptable renderers. */
body.ps-public-ui :where(button, input, select, textarea):disabled,
body.ps-public-ui :where([role="button"][aria-disabled="true"]) {

  cursor: not-allowed;
  opacity: var(--ps-ui-disabled-opacity);

}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__input:disabled,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__select:disabled {

  border-color: var(--ps-field-line, var(--ps-ui-field-line));
  background-color: var(--ps-ui-field-disabled-bg);
  color: var(--ps-ui-field-disabled-text);
  box-shadow: none;
  opacity: 1;
  cursor: not-allowed;

}
/* Product cards: one public recipe. Domain styles only adapt native markup.
   Editorial project cards, recovery notices and cart line items stay distinct. */
body.ps-public-ui .ps-product-card {

  --ps-card-line: var(--ps-ui-card-line);
  --ps-card-hover-line: var(--ps-ui-card-hover-line);
  --ps-card-bg: var(--ps-ui-card-bg);
  --ps-card-hover-bg: var(--ps-ui-card-hover-bg);


  box-sizing: border-box;
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  min-width: 0 !important;
  min-height: 100%;
  margin: 0 !important;
  padding: var(--ps-product-card-padding) !important;
  overflow: hidden;

  
  border: 1px solid var(--ps-card-line, var(--ps-ui-card-line)) !important;
  border-radius: var(--ps-ui-radius-card) !important;
  background: var(--ps-card-bg, var(--ps-ui-card-bg)) !important;
  box-shadow: var(--ps-card-shadow, var(--ps-ui-shadow-card)) !important;
  transition: border-color var(--ps-transition), background var(--ps-transition), box-shadow var(--ps-transition) !important;

  gap: var(--ps-space-3);
}
body.ps-public-ui .ps-product-card:is(:hover, :focus-within) {
  
  border-color: var(--ps-card-hover-line, var(--ps-ui-card-hover-line)) !important;
  background: var(--ps-card-hover-bg, var(--ps-ui-card-hover-bg)) !important;
  transform: none !important;
  box-shadow: var(--ps-card-hover-shadow, var(--ps-ui-shadow-card-hover)) !important;
  filter: none !important;

}
body.ps-public-ui .ps-product-card .ps-woo-preview-card__image img {

  box-sizing: border-box;
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: var(--ps-product-card-media-ratio);
  margin: 0 !important;
  padding: var(--ps-product-card-media-padding) !important;
  border: 0 !important;
  border-radius: var(--ps-ui-radius-control) !important;
  background: var(--ps-product-card-media-surface) !important;
  object-fit: contain !important;

}
body.ps-public-ui .ps-product-card h3 {

  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--ps-product-card-title-lines);
  line-clamp: var(--ps-product-card-title-lines);
  min-height: calc(var(--ps-product-card-title-lines) * var(--ps-product-card-title-leading) * 1em);
  max-height: calc(var(--ps-product-card-title-lines) * var(--ps-product-card-title-leading) * 1em);
  overflow: hidden;
  color: var(--ps-color-text) !important;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-product-card-title-size) !important;
  font-weight: var(--ps-product-card-title-weight) !important;
  letter-spacing: var(--ps-ui-tracking-card) !important;
  line-height: var(--ps-product-card-title-leading) !important;
  overflow-wrap: anywhere;

  margin: 0;
}
body.ps-public-ui .ps-product-card .ps-woo-preview-card__price {

  color: var(--ps-color-text) !important;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-product-card-price-size) !important;
  font-weight: var(--ps-ui-strong-weight) !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--ps-ui-tracking-card);
  line-height: var(--ps-ui-leading-card);

}
body.ps-public-ui .ps-product-card .ps-woo-preview-card__price-configurable {

  color: var(--ps-color-text-secondary);
  font-size: var(--ps-font-size-caption);
  font-weight: var(--ps-ui-body-weight);
  line-height: var(--ps-ui-leading-compact);

}
body.ps-public-ui .ps-product-card .ps-woo-preview-card__price del {

  margin: 0;
  color: var(--ps-price-previous-color) !important;
  opacity: var(--ps-price-previous-opacity) !important;
  font-size: var(--ps-font-size-label);
  font-weight: var(--ps-ui-body-weight);
  letter-spacing: var(--ps-ui-tracking-body);
  line-height: var(--ps-ui-leading-label);

}
body.ps-public-ui .ps-product-card .ps-woo-preview-card__price ins {

  color: var(--ps-ui-brand) !important;
  text-decoration: none !important;

}
body.ps-public-ui .ps-product-card .ps-woo-preview-card__price .ps-variable-price-prefix {

  font-size: var(--ps-font-size-caption);
  font-weight: var(--ps-ui-label-weight);
  letter-spacing: var(--ps-ui-tracking-body);

}
body.ps-public-ui .ps-product-card .ps-woo-preview-card__price .woocommerce-Price-currencySymbol {

  font-size: 0.75em;
  font-weight: var(--ps-ui-label-weight);

}
body.ps-public-ui .ps-product-card .ps-woo-preview-card__price .woocommerce-Price-amount {

  white-space: nowrap;

}
body.ps-public-ui .ps-product-card__action {
  
  box-sizing: border-box !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: var(--ps-ui-control-height) !important;
  max-width: 100% !important;
  padding: var(--ps-ui-button-padding) !important;
  border: 1px solid var(--ps-button-line, var(--ps-ui-button-secondary-line)) !important;
  border-radius: var(--ps-ui-button-radius) !important;
  background: var(--ps-button-bg, var(--ps-ui-button-secondary-bg)) !important;
  color: var(--ps-button-color, var(--ps-ui-button-secondary-color)) !important;
  box-shadow: var(--ps-button-shadow, var(--ps-ui-shadow-control)) !important;
  cursor: pointer !important;
  font-family: var(--ps-ui-font) !important;
  font-size: var(--ps-ui-button-size) !important;
  font-weight: var(--ps-ui-button-weight) !important;
  line-height: var(--ps-ui-leading-control) !important;
  letter-spacing: var(--ps-ui-tracking-body) !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: var(--ps-button-white-space, normal) !important;
  transition: background var(--ps-transition), border-color var(--ps-transition), color var(--ps-transition), box-shadow var(--ps-transition) !important;

  
  --ps-button-bg: var(--ps-ui-brand-surface);
  --ps-button-color: var(--ps-ui-on-color);
  --ps-button-line: var(--ps-ui-brand);
  --ps-button-hover-bg: var(--ps-ui-brand-surface-hover);
  --ps-button-hover-color: var(--ps-ui-on-color);
  --ps-button-hover-line: var(--ps-ui-brand-hover);


  position: relative;
  width: 100% !important;
  justify-content: center !important;
  padding-inline: calc(var(--ps-space-3) + 16px + var(--ps-space-2)) !important;
  text-align: center !important;
  gap: var(--ps-space-3) !important;

}
body.ps-public-ui .ps-product-card__action:not(.loading):not(.ps-product-card__action--secondary)::before {

  content: "→";
  position: absolute;
  right: var(--ps-space-3);
  left: auto;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  width: 16px;
  height: 16px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: transparent;
  color: var(--ps-color-action);
  font-size: 18px;

}
body.ps-public-ui .ps-product-card__action--secondary {
  
  --ps-button-bg: var(--ps-ui-button-secondary-bg);
  --ps-button-color: var(--ps-ui-button-secondary-color);
  --ps-button-line: var(--ps-ui-button-secondary-line);
  --ps-button-hover-bg: var(--ps-ui-button-secondary-hover-bg);
  --ps-button-hover-color: var(--ps-ui-button-secondary-hover-color);
  --ps-button-hover-line: var(--ps-ui-button-secondary-hover-line);

  padding-inline: var(--ps-ui-button-padding-x, 18px) !important;
}
body.ps-public-ui .ps-product-card__action:is(:hover, :focus-visible):not(:disabled):not(.disabled):not([aria-disabled="true"]) {
  
  border-color: var(--ps-button-hover-line, var(--ps-ui-button-secondary-hover-line)) !important;
  background: var(--ps-button-hover-bg, var(--ps-ui-button-secondary-hover-bg)) !important;
  color: var(--ps-button-hover-color, var(--ps-ui-button-secondary-hover-color)) !important;
  text-decoration: none !important;
  transform: none !important;
  box-shadow: var(--ps-button-hover-shadow, var(--ps-ui-shadow-control)) !important;
  filter: none !important;

}
body.ps-public-ui .ps-product-card__action:is(:disabled, .disabled, [aria-disabled="true"]) {
  
  cursor: not-allowed !important;
  opacity: var(--ps-ui-disabled-opacity) !important;

}
body.ps-public-ui ul.products li.product .onsale {

  position: absolute !important;
  top: var(--ps-space-5) !important;
  right: var(--ps-space-5) !important;
  left: auto !important;
  z-index: 3;
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 28px !important;
  margin: 0 !important;
  align-items: center;
  justify-content: center;
  padding: 5px 9px !important;
  border: 1px solid var(--ps-ui-brand-line) !important;
  border-radius: var(--ps-ui-button-radius) !important;
  background: var(--ps-color-surface) !important;
  color: var(--ps-ui-brand) !important;
  box-shadow: var(--ps-ui-shadow) !important;
  font-size: var(--ps-font-size-caption) !important;
  font-weight: var(--ps-ui-strong-weight) !important;
  letter-spacing: var(--ps-ui-tracking-body);
  line-height: var(--ps-ui-leading-compact) !important;
  text-transform: uppercase;

}

/* One preview renderer is used by editorial pages and project details. */
body.ps-public-ui .ps-woo-preview { width: 100%; }
body.ps-public-ui .ps-woo-preview__grid {
  display: grid;
  grid-template-columns: repeat(var(--ps-layout-grid-columns), minmax(0, 1fr));
  gap: var(--ps-layout-grid-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 1100px) {
  body.ps-public-ui .ps-woo-preview--cols-2 .ps-woo-preview__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.ps-public-ui .ps-woo-preview--cols-3 .ps-woo-preview__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
body.ps-public-ui .ps-woo-preview--cols-1 .ps-woo-preview__grid { grid-template-columns: minmax(0, 1fr); }
body.ps-public-ui .ps-product-card .ps-woo-preview-card__image { display: block; }
body.ps-public-ui .ps-product-card .ps-woo-preview-card__body {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  flex-direction: column;
  gap: var(--ps-space-3);
}
body.ps-public-ui .ps-product-card h3 a { color: inherit; text-decoration: none; }
body.ps-public-ui .ps-product-card .ps-woo-preview-card__badge {
  
  display: inline-flex;
  align-items: center;
  gap: var(--ps-ui-status-gap);
  min-width: 0;
  max-width: 100%;
  padding: var(--ps-ui-status-padding);
  border: 1px solid var(--ps-status-line, var(--ps-ui-line));
  border-radius: var(--ps-radius-pill);
  background: var(--ps-status-bg, var(--ps-ui-paper));
  color: var(--ps-status-color, var(--ps-ui-muted));
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-status-size);
  font-weight: var(--ps-ui-status-weight);
  line-height: var(--ps-ui-status-leading);
  letter-spacing: var(--ps-ui-tracking-body);
  overflow-wrap: anywhere;

  --ps-status-line: var(--ps-ui-brand-line);
  --ps-status-bg: var(--ps-ui-brand-soft);
  --ps-status-color: var(--ps-ui-brand);
  align-self: flex-start;
}
body.ps-public-ui .ps-product-card .ps-woo-preview-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ps-space-1) var(--ps-space-3);
}
body.ps-public-ui .ps-product-card .ps-woo-preview-card__meta span {
  color: var(--ps-color-text-secondary);
  font-size: var(--ps-font-size-caption);
  font-weight: var(--ps-ui-label-weight);
  line-height: var(--ps-ui-leading-compact);
}
body.ps-public-ui .ps-product-card .ps-woo-preview-card__body > p {
  margin: 0;
  color: var(--ps-color-text-secondary);
  font-size: var(--ps-font-size-label);
  font-weight: var(--ps-ui-body-weight);
  line-height: var(--ps-ui-leading-intro);
}
body.ps-public-ui .ps-product-card .ps-woo-preview-card__actions {
  display: grid;
  gap: var(--ps-space-2);
  margin-top: auto;
}
body.ps-public-ui .ps-product-card .ps-woo-preview-card__actions p { margin: 0; }

/* Native contexts without a listing page wrapper (related, cross-sells,
   shortcodes) share the same recipe. Cart rows and mini-cart are not grids. */
body.ps-public-ui :is(.cross-sells, .upsells.products, .related.products) ul.products {
  display: grid !important;
  grid-template-columns: repeat(var(--ps-layout-grid-columns), minmax(0, 1fr)) !important;
  gap: var(--ps-layout-grid-gap) !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.ps-public-ui :is(.cross-sells, .upsells.products, .related.products) ul.products::before,
body.ps-public-ui :is(.cross-sells, .upsells.products, .related.products) ul.products::after { content: none; display: none; }
body.ps-public-ui .cross-sells ul.products li.product {
  
  --ps-card-line: var(--ps-ui-card-line);
  --ps-card-hover-line: var(--ps-ui-card-hover-line);
  --ps-card-bg: var(--ps-ui-card-bg);
  --ps-card-hover-bg: var(--ps-ui-card-hover-bg);

  
  box-sizing: border-box;
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  min-width: 0 !important;
  min-height: 100%;
  margin: 0 !important;
  padding: var(--ps-product-card-padding) !important;
  overflow: hidden;

  
  border: 1px solid var(--ps-card-line, var(--ps-ui-card-line)) !important;
  border-radius: var(--ps-ui-radius-card) !important;
  background: var(--ps-card-bg, var(--ps-ui-card-bg)) !important;
  box-shadow: var(--ps-card-shadow, var(--ps-ui-shadow-card)) !important;
  transition: border-color var(--ps-transition), background var(--ps-transition), box-shadow var(--ps-transition) !important;

  width: 100% !important;
}
body.ps-public-ui .cross-sells ul.products li.product:hover { 
  border-color: var(--ps-card-hover-line, var(--ps-ui-card-hover-line)) !important;
  background: var(--ps-card-hover-bg, var(--ps-ui-card-hover-bg)) !important;
  transform: none !important;
  box-shadow: var(--ps-card-hover-shadow, var(--ps-ui-shadow-card-hover)) !important;
  filter: none !important;
 }
body.ps-public-ui .cross-sells ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex: 1; flex-direction: column; gap: var(--ps-space-3); text-decoration: none; }
body.ps-public-ui .cross-sells ul.products li.product a img { 
  box-sizing: border-box;
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: var(--ps-product-card-media-ratio);
  margin: 0 !important;
  padding: var(--ps-product-card-media-padding) !important;
  border: 0 !important;
  border-radius: var(--ps-ui-radius-control) !important;
  background: var(--ps-product-card-media-surface) !important;
  object-fit: contain !important;
 }
body.ps-public-ui .cross-sells ul.products li.product .woocommerce-loop-product__title { 
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--ps-product-card-title-lines);
  line-clamp: var(--ps-product-card-title-lines);
  min-height: calc(var(--ps-product-card-title-lines) * var(--ps-product-card-title-leading) * 1em);
  max-height: calc(var(--ps-product-card-title-lines) * var(--ps-product-card-title-leading) * 1em);
  overflow: hidden;
  color: var(--ps-color-text) !important;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-product-card-title-size) !important;
  font-weight: var(--ps-product-card-title-weight) !important;
  letter-spacing: var(--ps-ui-tracking-card) !important;
  line-height: var(--ps-product-card-title-leading) !important;
  overflow-wrap: anywhere;
 margin: 0; padding: 0; }
body.ps-public-ui .cross-sells ul.products li.product .price { 
  color: var(--ps-color-text) !important;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-product-card-price-size) !important;
  font-weight: var(--ps-ui-strong-weight) !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--ps-ui-tracking-card);
  line-height: var(--ps-ui-leading-card);
 margin: var(--ps-space-4) 0 var(--ps-space-3); }
body.ps-public-ui .cross-sells ul.products li.product .price del { 
  margin: 0;
  color: var(--ps-price-previous-color) !important;
  opacity: var(--ps-price-previous-opacity) !important;
  font-size: var(--ps-font-size-label);
  font-weight: var(--ps-ui-body-weight);
  letter-spacing: var(--ps-ui-tracking-body);
  line-height: var(--ps-ui-leading-label);
 }
body.ps-public-ui .cross-sells ul.products li.product .price ins { 
  color: var(--ps-ui-brand) !important;
  text-decoration: none !important;
 }
body.ps-public-ui .cross-sells ul.products li.product .price .woocommerce-Price-currencySymbol { 
  font-size: 0.75em;
  font-weight: var(--ps-ui-label-weight);
 }
body.ps-public-ui .cross-sells ul.products li.product .price .ps-variable-price-prefix { 
  font-size: var(--ps-font-size-caption);
  font-weight: var(--ps-ui-label-weight);
  letter-spacing: var(--ps-ui-tracking-body);
 }
body.ps-public-ui .cross-sells ul.products li.product .onsale { 
  position: absolute !important;
  top: var(--ps-space-5) !important;
  right: var(--ps-space-5) !important;
  left: auto !important;
  z-index: 3;
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 28px !important;
  margin: 0 !important;
  align-items: center;
  justify-content: center;
  padding: 5px 9px !important;
  border: 1px solid var(--ps-ui-brand-line) !important;
  border-radius: var(--ps-ui-button-radius) !important;
  background: var(--ps-color-surface) !important;
  color: var(--ps-ui-brand) !important;
  box-shadow: var(--ps-ui-shadow) !important;
  font-size: var(--ps-font-size-caption) !important;
  font-weight: var(--ps-ui-strong-weight) !important;
  letter-spacing: var(--ps-ui-tracking-body);
  line-height: var(--ps-ui-leading-compact) !important;
  text-transform: uppercase;
 }
body.ps-public-ui .cross-sells ul.products li.product .button { 
  box-sizing: border-box !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: var(--ps-ui-control-height) !important;
  max-width: 100% !important;
  padding: var(--ps-ui-button-padding) !important;
  border: 1px solid var(--ps-button-line, var(--ps-ui-button-secondary-line)) !important;
  border-radius: var(--ps-ui-button-radius) !important;
  background: var(--ps-button-bg, var(--ps-ui-button-secondary-bg)) !important;
  color: var(--ps-button-color, var(--ps-ui-button-secondary-color)) !important;
  box-shadow: var(--ps-button-shadow, var(--ps-ui-shadow-control)) !important;
  cursor: pointer !important;
  font-family: var(--ps-ui-font) !important;
  font-size: var(--ps-ui-button-size) !important;
  font-weight: var(--ps-ui-button-weight) !important;
  line-height: var(--ps-ui-leading-control) !important;
  letter-spacing: var(--ps-ui-tracking-body) !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: var(--ps-button-white-space, normal) !important;
  transition: background var(--ps-transition), border-color var(--ps-transition), color var(--ps-transition), box-shadow var(--ps-transition) !important;

  
  --ps-button-bg: var(--ps-ui-brand-surface);
  --ps-button-color: var(--ps-ui-on-color);
  --ps-button-line: var(--ps-ui-brand);
  --ps-button-hover-bg: var(--ps-ui-brand-surface-hover);
  --ps-button-hover-color: var(--ps-ui-on-color);
  --ps-button-hover-line: var(--ps-ui-brand-hover);

  
  position: relative;
  width: 100% !important;
  justify-content: center !important;
  padding-inline: calc(var(--ps-space-3) + 16px + var(--ps-space-2)) !important;
  text-align: center !important;
  gap: var(--ps-space-3) !important;
 margin-top: auto; }
body.ps-public-ui .cross-sells ul.products li.product .button:not(.loading):not(.added)::before { 
  content: "→";
  position: absolute;
  right: var(--ps-space-3);
  left: auto;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  width: 16px;
  height: 16px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: transparent;
  color: var(--ps-color-action);
  font-size: 18px;
 }
body.ps-public-ui .cross-sells ul.products li.product :is(.button, .added_to_cart):is(:hover, :focus-visible):not(:disabled):not(.disabled):not([aria-disabled="true"]) { 
  border-color: var(--ps-button-hover-line, var(--ps-ui-button-secondary-hover-line)) !important;
  background: var(--ps-button-hover-bg, var(--ps-ui-button-secondary-hover-bg)) !important;
  color: var(--ps-button-hover-color, var(--ps-ui-button-secondary-hover-color)) !important;
  text-decoration: none !important;
  transform: none !important;
  box-shadow: var(--ps-button-hover-shadow, var(--ps-ui-shadow-control)) !important;
  filter: none !important;
 }
body.ps-public-ui .cross-sells ul.products li.product .button:is(:disabled, .disabled, [aria-disabled="true"]) { 
  cursor: not-allowed !important;
  opacity: var(--ps-ui-disabled-opacity) !important;
 }
body.ps-public-ui .cross-sells ul.products li.product .added_to_cart { 
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--ps-ui-control-height);
  max-width: 100%;
  padding: var(--ps-ui-button-padding);
  border: 1px solid var(--ps-button-line, var(--ps-ui-button-secondary-line));
  border-radius: var(--ps-ui-button-radius);
  background: var(--ps-button-bg, var(--ps-ui-button-secondary-bg));
  color: var(--ps-button-color, var(--ps-ui-button-secondary-color));
  box-shadow: var(--ps-button-shadow, var(--ps-ui-shadow-control));
  cursor: pointer;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-button-size);
  font-weight: var(--ps-ui-button-weight);
  line-height: var(--ps-ui-leading-control);
  letter-spacing: var(--ps-ui-tracking-body);
  text-align: center;
  text-decoration: none !important;
  text-transform: none;
  white-space: var(--ps-button-white-space, normal);
  transition: background var(--ps-transition), border-color var(--ps-transition), color var(--ps-transition), box-shadow var(--ps-transition);
 
  --ps-button-bg: var(--ps-ui-button-secondary-bg);
  --ps-button-color: var(--ps-ui-button-secondary-color);
  --ps-button-line: var(--ps-ui-button-secondary-line);
  --ps-button-hover-bg: var(--ps-ui-button-secondary-hover-bg);
  --ps-button-hover-color: var(--ps-ui-button-secondary-hover-color);
  --ps-button-hover-line: var(--ps-ui-button-secondary-hover-line);
 width: 100%; margin-top: var(--ps-space-2); }



/* =========================================================
   POWERSENSE | Shared public composition and components
   Foundation: assets/public-foundation.css.
   Shared controls, editorial rules, layout helpers and named FRONT compositions.
   ========================================================= */


/* Public tokens and semantic typography are authored in design/public.css. */


/* Public FAQ · one semantic component, promoted from the BESS design. */
body.ps-public-ui .ps-public-faq,
body.ps-public-ui .ps-public-faq * {
  box-sizing: border-box;
}

body.ps-public-ui .ps-public-faq {
  width: 100%;
  margin-inline: 0;
  scroll-margin-top: calc(var(--ps-header-offset, 0px) + var(--ps-front-subnav-height, 50px) + var(--ps-space-4));
  
  margin-block: 0;
  padding-block: var(--ps-layout-section);

  color: var(--ps-ui-ink);
  background: var(--ps-ui-surface);
}

body.ps-public-ui .ps-public-faq__shell {
  width: 100%;
  max-width: calc(var(--ps-layout-max) + 2 * var(--ps-layout-gutter));
  margin-inline: auto;
  padding-inline: var(--ps-layout-gutter);
}

body.ps-public-ui .ps-public-faq__layout {
  display: grid;
  grid-template-columns: minmax(280px, .58fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(38px, 8vw, 110px);
}

body.ps-public-ui .ps-public-faq__intro {
  position: sticky;
  top: calc(var(--ps-header-offset, 0px) + var(--ps-front-subnav-height, 50px) + var(--ps-space-4));
  min-width: 0;
  margin: 0;
}

body.ps-public-ui .ps-public-faq__eyebrow {
  margin: 0;
  
  color: var(--ps-eyebrow-color, var(--ps-ui-brand));
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-overline-size);
  font-weight: var(--ps-eyebrow-weight, var(--ps-ui-label-weight));
  line-height: var(--ps-eyebrow-leading, var(--ps-ui-leading-label));
  letter-spacing: var(--ps-eyebrow-tracking, var(--ps-ui-tracking-eyebrow));
  text-transform: uppercase;

}

body.ps-public-ui .ps-public-faq__title {
  max-width: none;
  
  margin: var(--ps-intro-label-gap) 0 var(--ps-intro-copy-gap);

  color: var(--ps-ui-ink);
  font-family: var(--ps-ui-font);
  font-size: var(--ps-faq-title-size, var(--ps-ui-h2));
  font-weight: var(--ps-ui-heading-weight);
  line-height: var(--ps-ui-leading-heading);
  letter-spacing: var(--ps-ui-tracking-heading);
  text-wrap: balance;
}

body.ps-public-ui .ps-public-faq__title :where(span, strong, em) {
  color: inherit;
  font: inherit;
}

body.ps-public-ui .ps-public-faq__description {
  
  margin: 0;
  max-width: var(--ps-layout-reading);

  
  color: var(--ps-intro-color, var(--ps-ui-muted));
  font-family: var(--ps-ui-font);
  font-size: var(--ps-intro-size, var(--ps-ui-lead));
  font-weight: var(--ps-intro-weight, var(--ps-ui-body-weight));
  line-height: var(--ps-intro-leading, var(--ps-ui-leading-intro));
  letter-spacing: var(--ps-ui-tracking-body);

}

body.ps-public-ui .ps-public-faq__content,
body.ps-public-ui .ps-public-faq__list,
body.ps-public-ui .ps-public-faq__item {
  min-width: 0;
}

body.ps-public-ui .ps-public-faq__list {
  border-top: 1px solid var(--ps-ui-card-divider);
}

body.ps-public-ui .ps-public-faq__item {
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--ps-ui-card-divider);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.ps-public-ui .ps-public-faq__question {
  
position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 21px 42px 21px 0;
  border: 0;
  border-radius: 0;
  color: var(--ps-ui-ink);
  background: transparent;
  box-shadow: none;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-body);
  font-weight: var(--ps-ui-label-weight);
  line-height: var(--ps-ui-leading-body);
  letter-spacing: var(--ps-ui-tracking-body);
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  list-style: none;
  cursor: pointer;
  transition: color var(--ps-transition-fast);

}

body.ps-public-ui .ps-public-faq__question::-webkit-details-marker {
  display: none;
}

body.ps-public-ui .ps-public-faq__question:is(:hover, :focus-visible) {
  color: var(--ps-ui-brand);
}

body.ps-public-ui .ps-public-faq__question:focus-visible {
  outline: var(--ps-focus-width) solid var(--ps-focus-ring);
  outline-offset: var(--ps-focus-offset, 3px);
}

body.ps-public-ui .ps-public-faq__icon,
body.ps-public-ui .ps-public-faq__icon::after {
  
  position: absolute;
  width: 14px;
  height: 1px;
  background: var(--ps-ui-action);

}

body.ps-public-ui .ps-public-faq__icon {
  top: 31px;
  right: 6px;
}

body.ps-public-ui .ps-public-faq__icon::after {
  content: "";
  inset: 0;
  
  transform: rotate(90deg);
  transition: transform var(--ps-transition-fast);

}

body.ps-public-ui .ps-public-faq__item[open] .ps-public-faq__icon::after {
  transform: rotate(0);
}

body.ps-public-ui .ps-public-faq__answer {
  margin: -4px 0 22px;
  padding-right: 35px;
  color: var(--ps-ui-muted);
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-body);
  font-weight: var(--ps-ui-body-weight);
  line-height: var(--ps-ui-leading-body);
  letter-spacing: var(--ps-ui-tracking-body);
  overflow-wrap: anywhere;
}

body.ps-public-ui .ps-public-faq__item[open] .ps-public-faq__answer {
  animation: ps-public-disclosure-enter var(--ps-transition);
}

@keyframes ps-public-disclosure-enter {
  from { opacity: 0; }
  to { opacity: 1; }
}

body.ps-public-ui .ps-public-faq__answer p {
  margin: 0;
  font: inherit;
}

body.ps-public-ui .ps-public-faq__answer p + p {
  margin-top: 1em;
}

body.ps-public-ui .ps-public-faq__answer a {
  
  color: var(--ps-link-color, var(--ps-ui-brand));
  text-decoration-color: currentColor;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-skip-ink: auto;
  transition: color var(--ps-transition-fast), text-decoration-color var(--ps-transition-fast);

}
body.ps-public-ui .ps-public-faq__answer a:is(:hover, :focus-visible) {
  
  color: var(--ps-link-hover-color, var(--ps-ui-brand-hover));
  text-decoration-color: currentColor;

}

@media (max-width: 900px) {
  body.ps-public-ui .ps-public-faq__layout {
    grid-template-columns: 1fr;
    gap: var(--ps-space-5);
  }

  body.ps-public-ui .ps-public-faq__intro {
    position: static;
  }
}




/* Embedded FAQ keeps the host frame while sharing every item/state recipe. */
body.ps-public-ui .ps-public-faq--compact {
  padding: 0;
  background: transparent;
}
body.ps-public-ui .ps-public-faq--compact .ps-public-faq__shell {
  max-width: none;
  padding: 0;
}
body.ps-public-ui .ps-public-faq--compact .ps-public-faq__layout {
  grid-template-columns: 1fr;
  gap: var(--ps-space-5);
}
body.ps-public-ui .ps-public-faq--compact .ps-public-faq__intro {
  position: static;
}

/* Reusable fractional star meter for verified public review metrics. */
.ps-rating-stars {
  --ps-rating-fill: 0%;
  position: relative;
  display: inline-block;
  overflow: hidden;
  color: currentColor;
  line-height: var(--ps-ui-leading-solid);
  letter-spacing: var(--ps-ui-tracking-label);
  white-space: nowrap;
  vertical-align: -.05em;
}

.ps-rating-stars__base {
  opacity: .28;
}

.ps-rating-stars__fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--ps-rating-fill);
  overflow: hidden;
  color: currentColor;
  white-space: nowrap;
}

/* Partner brand registry output */
.ps-partner-brands,
.ps-partner-brands * {
  box-sizing: border-box;
}

.ps-partner-brands {
  
  width: min(var(--ps-layout-max), calc(100% - 2 * var(--ps-layout-gutter)));
  margin-inline: auto;

  
  margin-block: 0;
  padding-block: var(--ps-layout-section);

  max-width: none;
  /* Logo-group rhythm is internal; page edges have one common owner. */
  padding-inline: 0;
  color: var(--ps-ink, var(--ps-ui-ink));
}

.ps-partner-brands__title {
  max-width: 720px;
  margin: 0 0 var(--ps-layout-group);
  color: var(--ps-ink-strong, var(--ps-ui-ink));
  font-size: var(--ps-ui-h2);
  font-weight: var(--ps-font-weight-heading);
  line-height: var(--ps-ui-leading-heading);
  letter-spacing: var(--ps-ui-tracking-body);
}

.ps-partner-brands__groups {
  display: grid;
  gap: var(--ps-layout-group);
}

.ps-partner-brands__group {
  min-width: 0;
  padding-top: var(--ps-layout-group);
  border-top: 1px solid var(--ps-ui-card-divider);
}

.ps-partner-brands__group-title {
  margin: 0 0 16px;
  color: var(--ps-ink-strong, var(--ps-ui-ink));
  font-size: var(--ps-ui-component-title);
  font-weight: var(--ps-ui-heading-weight);
  line-height: var(--ps-ui-leading-card);
}

.ps-partner-brands__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}

.ps-partner-brands__item {

  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 104px;
  padding: 18px;
  color: inherit;
  text-decoration: none;
}


.ps-partner-brands__logo {
  display: block;
  width: auto;
  max-width: min(100%, 140px);
  height: auto;
  max-height: 58px;
  object-fit: contain;
}

@media (max-width: 560px) {
  .ps-partner-brands__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ps-partner-brands__item {
    min-height: 90px;
    padding: 14px;
  }

  .ps-partner-brands__logo {
    max-width: min(100%, 112px);
    max-height: 48px;
  }
}



.ps-landing,
.ps-home-hero,
.ps-contract-portfolio,
.ps-erp-offer-front,
.ps-erp-offerpop.ps-erp-offerpop--v3 {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.ps-landing *,
.ps-landing *::before,
.ps-landing *::after,
.ps-home-hero *,
.ps-home-hero *::before,
.ps-home-hero *::after,
.ps-brand-proof,
.ps-brand-proof *,
.ps-brand-proof *::before,
.ps-brand-proof *::after {
  box-sizing: border-box;
}

.ps-landing a,
.ps-home-hero a {
  color: inherit;
  text-decoration: none;
}

.ps-landing img,
.ps-home-hero img {
  max-width: 100%;
  height: auto;
}


/* =========================================================
   02A. PUBLIC BRAND FINISH
   A low-specificity finish for every frontend surface, including plain
   WordPress content that does not render inside a managed landing component.
   ========================================================= */

html {
  color-scheme: light;
  scrollbar-gutter: stable;
}


body.ps-public-ui :where(
  .entry-content,
  .page-content,
  .wp-block-post-content,
  .term-description,
  .archive-description
) :where(p, li) {
  text-wrap: pretty;
}

body.ps-public-ui :where(
  .entry-content,
  .page-content,
  .wp-block-post-content
) > :where(h1, h2, h3) {
  max-width: 24ch;
}

body.ps-public-ui :where(.entry-content, .page-content, .wp-block-post-content) > :where(h2, h3) {
  color: var(--ps-ink-strong);
  letter-spacing: var(--ps-heading-tracking);
  line-height: var(--ps-leading-heading);
}

body.ps-public-ui :where(.entry-content, .page-content, .wp-block-post-content) > h1 {
  
  color: var(--ps-title-color, var(--ps-ui-ink));
  font-family: var(--ps-ui-font);
  font-size: var(--ps-page-title-size, var(--ps-ui-h1));
  font-weight: var(--ps-page-title-weight, var(--ps-ui-display-weight));
  line-height: var(--ps-page-title-leading, var(--ps-ui-leading-display));
  letter-spacing: var(--ps-page-title-tracking, var(--ps-ui-tracking-display));

}

body.ps-public-ui :where(.entry-content, .page-content, .wp-block-post-content) > :where(h2, h3) {
  font-weight: var(--ps-ui-heading-weight);
}

body.ps-public-ui :where(
  .entry-content,
  .page-content,
  .wp-block-post-content
) > :where(h2, h3):not(:first-child) {
  margin-top: clamp(36px, 5vw, 64px);
}

body.ps-public-ui :where(
  .entry-content,
  .page-content,
  .wp-block-post-content
) > :where(p, ul, ol) {
  max-width: var(--ps-layout-reading);
}

body.ps-public-ui :where(
  .entry-content,
  .page-content,
  .wp-block-post-content
) :where(strong, b) {
  color: var(--ps-ink-strong);
}

body.ps-public-ui :where(
  .entry-content,
  .page-content,
  .wp-block-post-content
) :where(a:not([class])) {
  
  color: var(--ps-link-color, var(--ps-ui-brand));
  text-decoration-color: currentColor;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-skip-ink: auto;
  transition: color var(--ps-transition-fast), text-decoration-color var(--ps-transition-fast);

  overflow-wrap: anywhere;
}

body.ps-public-ui :where(
  .entry-content,
  .page-content,
  .wp-block-post-content
) :where(a:not([class])):is(:hover, :focus-visible) {
  
  color: var(--ps-link-hover-color, var(--ps-ui-brand-hover));
  text-decoration-color: currentColor;

}

body.ps-public-ui :where(
  .entry-content,
  .page-content,
  .wp-block-post-content
) > blockquote {
  margin-inline: 0;
  
  padding: var(--ps-ui-note-padding);
  border: 0;
  border-left: var(--ps-ui-note-line-width) solid var(--ps-ui-brand);
  border-radius: var(--ps-ui-note-radius);
  background: var(--ps-ui-note-bg);
  color: var(--ps-ui-muted);
  font-size: var(--ps-ui-note-size);
  line-height: var(--ps-ui-leading-body);

}

body.ps-public-ui :where(.entry-content, .page-content, .wp-block-post-content) > blockquote :where(p, li) {
  font-size: var(--ps-ui-note-size);
}

body.ps-public-ui :where(
  .entry-content,
  .page-content,
  .wp-block-post-content
) :where(ul, ol) li::marker {
  color: rgba(8, 0, 99, 0.68);
  font-weight: var(--ps-font-weight-strong);
}

body.ps-public-ui :where(
  .entry-content,
  .page-content,
  .wp-block-post-content
) > :where(figure, .wp-caption) {
  margin-block: clamp(28px, 4vw, 48px);
}

body.ps-public-ui :where(
  .entry-content,
  .page-content,
  .wp-block-post-content
) :where(figcaption, .wp-element-caption, .wp-caption-text) {
  max-width: 68ch;
  margin: 10px auto 0;
  color: var(--ps-ink-faint);
  font-size: var(--ps-type-caption);
  line-height: var(--ps-ui-leading-compact);
  text-align: center;
  text-wrap: pretty;
}

body.ps-public-ui :where(
  .entry-content,
  .page-content,
  .wp-block-post-content
) > hr {
  width: 100%;
  height: 1px;
  margin: clamp(40px, 6vw, 72px) 0;
  border: 0;
  background: var(--ps-hairline);
}

body.ps-public-ui :where(
  .price,
  .amount,
  .woocommerce-Price-amount,
  .ps-woo-card-fit__value,
  .ps-woo-card-price__value,
  .ps-product-projection__metric strong,
  .ps-product-solar-chart__value,
  .ps-contract-portfolio__stat strong,
  .ps-contract-portfolio-card__metrics dd,
  time
) {
  font-variant-numeric: lining-nums tabular-nums;
}

body.ps-public-ui :where(input[type="checkbox"], input[type="radio"], progress) {
  accent-color: var(--ps-brand-blue);
}

body.ps-public-ui :where(input:not(:where([type="checkbox"], [type="radio"], [type="range"], [type="button"], [type="submit"], [type="reset"], [type="hidden"], [type="file"], [type="color"], [type="image"])), select, textarea) {
  caret-color: var(--ps-brand-blue);
  font: var(--ps-ui-body-weight) var(--ps-ui-body)/var(--ps-ui-leading-control) var(--ps-ui-font);
}

body.ps-public-ui :where(input, textarea)::placeholder {
  color: var(--ps-ink-soft);
  opacity: 1;
}

body.ps-public-ui :where(input, textarea):-webkit-autofill {
  caret-color: var(--ps-brand-blue);
  -webkit-text-fill-color: var(--ps-ink);
}

body.ps-public-ui :where(input, textarea):autofill {
  caret-color: var(--ps-brand-blue);
  color: var(--ps-ink);
}

body.ps-public-ui textarea {
  resize: vertical;
}



body.ps-public-ui :where(a, button, input, select, textarea, summary) {
  -webkit-tap-highlight-color: rgba(8, 0, 99, 0.08);
}

body.ps-public-ui :where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  [role="button"],
  .btn,
  .button,
  .psl-btn,
  .wp-element-button
) {
  touch-action: manipulation;
}

body.ps-public-ui :where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  [role="button"],
  .btn,
  .button,
  .psl-btn,
  .wp-element-button
):active:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.disabled) {
  --ps-button-shadow: none;
  --ps-button-hover-shadow: none;
  --ps-cta-shadow: none;
  --ps-cta-shadow-hover: none;
  transition-duration: var(--ps-motion-duration-fast);
  transform: none;
}

@media (forced-colors: active) {
  body.ps-public-ui :where(input:not(:where([type="checkbox"], [type="radio"], [type="range"], [type="button"], [type="submit"], [type="reset"], [type="hidden"], [type="file"], [type="color"], [type="image"])), select, textarea):focus-visible:not(:where(.ps-bess-input-unit *, .ps-choice-guide__calculator label > span *, .ps-afm-field__control *, .ps-erp-offerpop__number-control *, #ps-chat-input-area *)),
  body.ps-public-ui :where(.ps-bess-input-unit, .ps-choice-guide__calculator label > span, .ps-afm-field__control, .ps-erp-offerpop__number-control):has(input:focus-visible),
body.ps-public-ui #ps-chat-input-area:has(#ps-chat-input:focus-visible) {
    outline: var(--ps-focus-width) solid Highlight !important;
    outline-offset: var(--ps-focus-offset) !important;
    box-shadow: none !important;
  }
}

body.ps-public-ui main :where(section[id], h2[id], h3[id]) {
  scroll-margin-top: calc(var(--ps-overlay-sticky-top, 60px) + 60px);
}



@media (max-width: 720px) and (pointer: coarse) {
  body.ps-public-ui :where(
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea
  ) {
    font-size: var(--ps-ui-body);
  }

  body.ps-public-ui :where(
    .entry-content,
    .page-content,
    .wp-block-post-content
  ) :where(figcaption, .wp-element-caption, .wp-caption-text) {
    text-align: left;
  }
}

/* =========================================================
   02B. WORDPRESS FULL-WIDTH SITE FOUNDATION
   ========================================================= */

body.ps-site-fullwidth {
  overflow-x: clip;
}

@supports not (overflow-x: clip) {
  body.ps-site-fullwidth {
    overflow-x: hidden;
  }
}

body.ps-site-fullwidth :where(
  #page,
  .site,
  #content,
  .site-content,
  #primary,
  #main,
  .content-area,
  .site-main,
  main.site-main,
  .wp-site-blocks
) {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body.ps-site-fullwidth :where(
  .site-content > .ast-container,
  .site-content > .container,
  .site-content > .container-fluid,
  .site-content > .col-full,
  .site-main > .ast-container,
  .site-main > .container,
  .site-main > .container-fluid,
  .site-main > .col-full,
  .site-main .inside-article,
  .site-main article.page,
  .entry-content,
  .page-content,
  .wp-block-post-content
) {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.ps-site-fullwidth :where(.alignfull) {
  width: 100vw;
  max-width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

:where(body.ps-erp-managed-landing-page, body.ps-landing-site-ui) :where(
  .ps-landing .ps-landing.ps-offer-v3,
  .ps-landing .ps-landing.ps-offer-v4,
  .ps-shortcode-shell > .ps-landing.ps-offer-v3,
  .ps-shortcode-shell > .ps-landing.ps-offer-v4
) {
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}


/* =========================================================
   04. BUTTON SYSTEM
   ========================================================= */

/* Shared action model. Variants assign role tokens; this owner renders states. */




:is(.ps-landing, .ps-home-hero) :is(.psl-btn, .btn)[disabled],
.ps-erp-offer-front .ps-btn[disabled] {
  opacity: var(--ps-ui-disabled-opacity);
  cursor: not-allowed;
  transform: none;
}

/* Shared compact authority rail: one inverse surface, connected proof cells. */
.ps-brand-proof {
  
  --ps-page-title-size: var(--ps-font-size-h1-inverse);
  --ps-page-title-weight: var(--ps-ui-strong-weight);
  --ps-page-title-leading: var(--ps-ui-leading-heading);
  --ps-page-title-tracking: var(--ps-ui-tracking-heading);
  --ps-intro-size: var(--ps-font-size-intro-inverse);
  --ps-intro-leading: var(--ps-ui-leading-body);
  --ps-eyebrow-tracking: var(--ps-ui-tracking-label);
  --ps-title-color: var(--ps-ui-on-color);
  --ps-intro-color: var(--ps-ui-inverse-muted);
  --ps-eyebrow-color: var(--ps-ui-inverse-muted);

  --ps-proof-line: var(--ps-hairline-inverse);
  --ps-focus-ring: var(--ps-ui-on-color);
  --ps-intro-size: var(--ps-ui-body);
  position: relative;
  border-block-start: 2px solid var(--ps-ui-action);
  background: var(--ps-image-fallback);
  color: var(--ps-ui-on-color);
  font-family: var(--ps-font-sans);
}

.ps-brand-proof .psl-shell {
  
  width: min(var(--ps-layout-max), calc(100% - 2 * var(--ps-layout-gutter)));
  margin-inline: auto;

  max-width: none;
  padding-block: var(--ps-layout-section-half) 0;
  padding-inline: 0;
}

.ps-brand-proof__head {
  
  display: grid;
  grid-template-columns: var(--ps-editorial-columns, minmax(0, 1fr));
  column-gap: var(--ps-layout-section);
  row-gap: var(--ps-editorial-row-gap, var(--ps-intro-copy-gap));
  align-items: end;

  margin-bottom: var(--ps-space-5);
}

.ps-brand-proof__eyebrow {
  
  color: var(--ps-eyebrow-color, var(--ps-ui-brand));
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-overline-size);
  font-weight: var(--ps-eyebrow-weight, var(--ps-ui-label-weight));
  line-height: var(--ps-eyebrow-leading, var(--ps-ui-leading-label));
  letter-spacing: var(--ps-eyebrow-tracking, var(--ps-ui-tracking-eyebrow));
  text-transform: uppercase;

  display: block;
  margin-bottom: var(--ps-intro-label-gap);
}

.ps-brand-proof__head h2 {
  max-width: 680px;
  margin: 0;
  color: var(--ps-ui-on-color);
  font-size: var(--ps-ui-component-title);
  font-weight: var(--ps-font-weight-heading);
  line-height: var(--ps-ui-leading-heading);
  letter-spacing: var(--ps-heading-tracking);
  text-wrap: balance;
}

.ps-brand-proof__head p {
  
  color: var(--ps-intro-color, var(--ps-ui-muted));
  font-family: var(--ps-ui-font);
  font-size: var(--ps-intro-size, var(--ps-ui-lead));
  font-weight: var(--ps-intro-weight, var(--ps-ui-body-weight));
  line-height: var(--ps-intro-leading, var(--ps-ui-leading-intro));
  letter-spacing: var(--ps-ui-tracking-body);

  max-width: 46ch;
  margin: 0;
  text-wrap: pretty;
}

.ps-brand-proof__grid {
  
  display: grid;
  grid-template-columns: repeat(var(--ps-proof-columns, 1), minmax(0, 1fr));
  gap: 0;
  border-block: 1px solid var(--ps-proof-line, var(--ps-ui-card-divider));
  background: var(--ps-proof-bg, transparent);

}

.ps-brand-proof__item {
  
  min-width: 0;
  padding: var(--ps-space-4) var(--ps-space-5);

  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-inline: 0;
  color: var(--ps-ui-on-color);
  text-decoration: none;
  transition: background var(--ps-transition);
}

.ps-brand-proof__item + .ps-brand-proof__item {
  border-top: 1px solid var(--ps-proof-line);
}

.ps-brand-proof__label {
  
  color: var(--ps-eyebrow-color, var(--ps-ui-brand));
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-overline-size);
  font-weight: var(--ps-eyebrow-weight, var(--ps-ui-label-weight));
  line-height: var(--ps-eyebrow-leading, var(--ps-ui-leading-label));
  letter-spacing: var(--ps-eyebrow-tracking, var(--ps-ui-tracking-eyebrow));
  text-transform: uppercase;

  --ps-eyebrow-color: var(--ps-ui-inverse-muted);
  margin-bottom: var(--ps-space-2);
}

.ps-brand-proof__item strong {
  display: block;
  color: var(--ps-ui-on-color);
  font-size: var(--ps-ui-body);
  font-weight: var(--ps-ui-heading-weight);
  letter-spacing: var(--ps-ui-tracking-card);
  line-height: var(--ps-ui-leading-compact);
  text-wrap: balance;
}

.ps-brand-proof__item small {
  display: block;
  max-width: 38ch;
  margin-top: var(--ps-space-2);
  color: var(--ps-ui-inverse-muted);
  font-size: var(--ps-ui-caption);
  line-height: var(--ps-ui-leading-compact);
  text-wrap: pretty;
}

.ps-brand-proof__stars {
  display: inline-block;
  margin-right: 2px;
  color: currentColor;
  font-size: var(--ps-ui-caption);
  font-weight: var(--ps-ui-heading-weight);
  letter-spacing: var(--ps-ui-tracking-label);
  line-height: var(--ps-ui-leading-solid);
}

.ps-brand-proof__item:focus-visible {
  z-index: 1;
  outline: var(--ps-focus-width, 2px) solid var(--ps-focus-ring, currentColor);
  outline-offset: -2px;
}

@media (hover: hover) and (pointer: fine) {
  .ps-brand-proof__item:hover {
    background: var(--ps-ui-inverse-control-bg);
  }
}

@media (min-width: 561px) {
  .ps-brand-proof__grid { --ps-proof-columns: 2; }
  .ps-brand-proof__item { padding-inline: var(--ps-space-5); }
  .ps-brand-proof__item:nth-child(2) { border-top: 0; }
  .ps-brand-proof__item:nth-child(even) { border-left: 1px solid var(--ps-proof-line); }
}

@media (min-width: 981px) {
  .ps-brand-proof__grid { --ps-proof-columns: var(--ps-brand-proof-columns, 4); }
  .ps-brand-proof__item + .ps-brand-proof__item {
    border-top: 0;
    border-left: 1px solid var(--ps-proof-line);
  }
}

/* Header geometry is owned by powersense-header.css; heroes keep only their
   visual breathing room here and grow when the measured header needs it. */
body:has(.ps-header.ps-header--overlay),
body.ps-has-overlay-header {
  --ps-overlay-hero-clearance: max(clamp(132px, 11vw, 168px), calc(var(--ps-overlay-content-clearance) + 28px));
}

body.ps-erp-managed-landing-page--ofertare .ps-erp-offer-front--full {
  box-sizing: border-box;
  width: 100%;
  padding-right: max(var(--ps-layout-gutter, 20px), calc((100vw - var(--ps-layout-max, 1180px)) / 2));
  padding-left: max(var(--ps-layout-gutter, 20px), calc((100vw - var(--ps-layout-max, 1180px)) / 2));
  margin-top: clamp(18px, 2vw, 30px);
  margin-bottom: clamp(28px, 4vw, 56px);
}

@media (max-width: 1020px) {
  body:has(.ps-header.ps-header--overlay),
  body.ps-has-overlay-header {
    --ps-overlay-hero-clearance: max(112px, calc(var(--ps-overlay-content-clearance) + 28px));
  }
}

@media (max-width: 640px) {
  body:has(.ps-header.ps-header--overlay),
  body.ps-has-overlay-header {
    --ps-overlay-hero-clearance: max(96px, calc(var(--ps-overlay-content-clearance) + 28px));
  }
}

body.ps-woo-sisteme-fotovoltaice-category:has(.ps-header.ps-header--overlay) .ps-systems-page-intro,
body.ps-woo-sisteme-fotovoltaice-category.ps-has-overlay-header .ps-systems-page-intro {
  padding-top: calc(var(--ps-overlay-content-clearance) + clamp(24px, 4vw, 52px));
}


/* =========================================================
   10. CARDS / GRIDS / PILLS
   ========================================================= */

.ps-landing .timeline,
.ps-landing .ps-contact-wrapper {
  
  border: 1px solid var(--ps-card-line, var(--ps-ui-card-line));
  border-radius: var(--ps-ui-radius-card);
  background: var(--ps-card-bg, var(--ps-ui-card-bg));
  box-shadow: var(--ps-card-shadow, var(--ps-ui-shadow-card));
  transition: border-color var(--ps-transition), background var(--ps-transition), box-shadow var(--ps-transition);

}

.ps-landing .cta-final {
  border: 1px solid var(--ps-ui-inverse-card-line);
  border-radius: var(--ps-radius-lg);
}

.ps-landing :where(.psl-grid-2, .psl-grid-3, .psl-grid-4, .psl-grid-5, .psl-table-wrap, .pill-row, .hero-actions, .timeline, .ps-woo-preview, .ps-contact-wrapper, .cta-final) + :where(.psl-grid-2, .psl-grid-3, .psl-grid-4, .psl-grid-5, .psl-table-wrap, .pill-row, .timeline, .ps-woo-preview, .ps-contact-wrapper, .cta-final) {
  margin-top: var(--ps-layout-group);
}


/* =========================================================
   14. FORMS / CONTACT
   ========================================================= */

.ps-landing .ps-contact-wrapper {
  max-width: 920px;
  margin: 0 auto;
  padding: clamp(22px, 3vw, 34px);
}



.ps-landing .ps-options-block,
.ps-landing .ps-options-block p,
.ps-landing .ps-options-block small,
.ps-landing .ps-options-block li,
.ps-landing .ps-options-block label {
  color: var(--ps-ink-soft);
}

/* Portfolio / ERP integration without breaking their internal logic */
.ps-contract-portfolio,
.ps-erp-offer-front {
  color: var(--ps-ink);
}

.ps-contract-portfolio a,
.ps-erp-offer-front a {
  color: var(--ps-brand-blue);
}

.ps-contract-portfolio a:hover,
.ps-erp-offer-front a:hover {
  color: var(--ps-ui-accent-text);
}


.ps-erp-offerpop.ps-erp-offerpop--v3 {
  color: var(--ps-ink);
}


@media (max-width: 900px) {

  .ps-landing .hero-actions > *,
  .ps-landing .hero-actions .ps-offer-trigger,
  .ps-landing .hero-actions .psl-offer-btn {
    min-width: 0;
  }
}


@media (max-width: 720px) {

  /* Column controls size from their content; a row's percentage basis would
     become a height here and force actions into neighbouring columns. */
  .ps-home-hero__actions > :is(.psl-btn, .btn, .ps-offer-trigger, .psl-offer-btn),
  .ps-landing .hero-actions > :is(.psl-btn, .btn, .ps-offer-trigger, .psl-offer-btn) {
    flex: 0 0 auto;
    min-width: 0;
  }

  .ps-home-hero__actions .psl-btn,
  .ps-landing .hero-actions .psl-btn,
  .ps-landing .hero-actions .btn,
  .ps-landing .hero-actions .psl-offer-btn a,
  .ps-landing .hero-actions .psl-offer-btn button,
  .ps-landing .hero-actions .psl-offer-btn input[type="button"],
  .ps-landing .hero-actions .psl-offer-btn input[type="submit"],
  .ps-offer-trigger,
  .ps-offer-trigger .btn,
  .ps-erp-offerpop.ps-erp-offerpop--v3,
  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__openbtn {
    width: 100% !important;
    max-width: 100% !important;
  }
}


@media (max-width: 480px) {
  .ps-home-hero__panel,
  .ps-landing .psl-card,
  .ps-landing .cta-final,
  .ps-landing .ps-contact-wrapper {
    border-radius: var(--ps-radius-lg);
  }
}


/* =========================================================
   18. TOUCH / REDUCED MOTION
   ========================================================= */

@media (pointer: coarse) {
  body.ps-public-ui :where(
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    [role="button"],
    .btn,
    .button,
    .psl-btn,
    .wp-element-button
  ) {
    min-height: var(--ps-touch-target);
  }
}



.ps-landing :focus:not(:focus-visible),
.ps-home-hero :focus:not(:focus-visible),
.ps-erp-offer-front :focus:not(:focus-visible),
.ps-erp-offerpop.ps-erp-offerpop--v3 :focus:not(:focus-visible) {
  outline: none !important;
}

/* Full-bleed guide and immersive heroes use the shared resting height too. */
body:is(.ps-has-overlay-header, :has(.ps-header--overlay)) .ps-choice-guide__hero-grid,
body:is(.ps-has-overlay-header, :has(.ps-header--overlay)) .ps-immersive-panels__panel:first-child {
  padding-top: var(--ps-overlay-hero-clearance);
}

body:is(.ps-has-overlay-header, :has(.ps-header--overlay)) .ps-choice-guide__toc {
  top: var(--ps-overlay-sticky-top);
}

/* PowerSense shared public header · SHOP geometry, common brand tokens. */

.ps-header,
.ps-header *,
.ps-header *::before,
.ps-header *::after {
  box-sizing: border-box;
}

/* Public routes inherit surface tokens and accessibility preferences from body.
   The standalone header initializes the same source only outside that root. */
body:not(.ps-public-ui) .ps-header {
  
  --ps-color-surface: #ffffff;
  --ps-color-surface-subtle: #fbfbfa;
  --ps-ui-paper: var(--ps-color-surface);
  --ps-ui-surface: var(--ps-color-surface-subtle);
  --ps-ui-radius-card: 16px;
  --ps-ui-radius-control: 10px;
  --ps-ui-surface-raised: var(--ps-ui-paper);
  --ps-ui-surface-glass: rgba(255, 255, 255, .82);
  --ps-ui-surface-inset: #f5f5f3;
  --ps-ui-shadow-card: inset 0 1px 0 rgba(255, 255, 255, .95), 0 2px 5px rgba(28, 30, 34, .025), 0 18px 36px -26px rgba(28, 30, 34, .18);
  --ps-ui-shadow-card-hover: inset 0 1px 0 rgba(255, 255, 255, .98), 0 3px 8px rgba(28, 30, 34, .035), 0 22px 40px -26px rgba(28, 30, 34, .22);
  --ps-ui-shadow-floating: 0 24px 60px -24px rgba(12, 24, 48, .22), inset 0 1px 0 rgba(255, 255, 255, .8);
  --ps-ui-card-bg: var(--ps-ui-paper);
  --ps-ui-card-line: rgba(38, 40, 46, .10);
  --ps-ui-card-hover-bg: var(--ps-ui-card-bg);
  --ps-ui-card-hover-line: rgba(38, 40, 46, .18);
  --ps-ui-card-inset-bg: var(--ps-ui-surface);
  --ps-ui-card-divider: rgba(38, 40, 46, .08);
  
}

@media (prefers-contrast: more) {
  body:not(.ps-public-ui) .ps-header {
    
    --ps-ui-card-line: rgba(30, 48, 80, .24);
    --ps-ui-card-hover-line: rgba(30, 48, 80, .36);
    --ps-ui-card-divider: rgba(30, 48, 80, .18);
    
  }
}

.ps-header {
  
  --ps-container: 1320px;
  --ps-gutter: clamp(20px, 3vw, 40px);
  --ps-layout-max: var(--ps-container);
  --ps-layout-gutter: max(var(--ps-gutter), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  --ps-layout-edge: max(var(--ps-layout-gutter), calc((100% - var(--ps-layout-max)) / 2));
  
  --ps-header-control-size: 46px;
  --ps-header-control-size-mobile: 44px;
  --ps-header-cta-font-size: var(--ps-ui-small, 14px);
  --ps-header-shadow-control: var(--ps-ui-shadow, 0 1px 2px rgba(16, 24, 40, .028), inset 0 1px 0 rgba(255, 255, 255, .58));
  --ps-header-shadow-surface: 0 1px 2px rgba(16, 24, 40, .026), 0 8px 24px rgba(16, 24, 40, .038);
  --ps-header-shadow-action: var(--ps-ui-shadow, 0 1px 2px rgba(255, 59, 5, .045), 0 8px 22px rgba(255, 59, 5, .09));
  --ps-header-focus-width: 1px;
  --ps-font: var(--ps-font-family, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  --ps-accent: var(--ps-brand-orange, #ff3b05);
  --ps-accent-strong: var(--ps-brand-orange-dark, #d82f00);
  --ps-bg-strong: rgba(4, 10, 17, .92);
  --ps-text: var(--ps-ui-on-color, #ffffff);
  --ps-shadow: 0 24px 80px rgba(0, 0, 0, .32);

  --ps-header-bg: rgba(5, 0, 63, .94);
  --ps-header-bg-active: rgba(5, 0, 63, .985);
  --ps-header-border: rgba(255, 255, 255, .10);
  --ps-header-border-active: rgba(255, 59, 5, .28);
  --ps-header-shadow: 0 10px 44px rgba(0, 0, 0, .18);

  --ps-topbar-text: rgba(255, 255, 255, .74);
  --ps-topbar-link: rgba(255, 255, 255, .78);
  --ps-topbar-border: rgba(255, 255, 255, .08);
  --ps-status-text: rgba(255, 255, 255, .84);
  --ps-separator: rgba(255, 255, 255, .16);
  --ps-logo-shadow: drop-shadow(0 10px 26px rgba(0, 0, 0, .30)) drop-shadow(0 0 18px rgba(255, 255, 255, .14));

  --ps-menu-text: rgba(255, 255, 255, .84);
  --ps-menu-hover-bg: rgba(255, 255, 255, .08);

  --ps-mega-bg: rgba(5, 0, 63, .98);
  --ps-mega-arrow-bg: rgba(5, 0, 63, .98);
  --ps-mega-border: rgba(255, 255, 255, .14);
  --ps-mega-shadow: 0 28px 90px rgba(0, 0, 0, .48), inset 0 1px 0 rgba(255, 255, 255, .08);
  --ps-mega-intro-bg: rgba(255, 255, 255, .06);
  --ps-mega-intro-border: rgba(255, 59, 5, .26);
  --ps-mega-title: var(--ps-ui-on-color, #ffffff);
  --ps-mega-copy: rgba(255, 255, 255, .72);
  --ps-mega-small: rgba(255, 255, 255, .64);
  --ps-mega-card-bg: rgba(255, 255, 255, .055);
  --ps-mega-card-border: rgba(255, 255, 255, .10);
  --ps-mega-card-hover-bg: rgba(255, 255, 255, .09);
  --ps-mega-card-hover-border: rgba(255, 59, 5, .3);
  --ps-mega-icon-color: var(--ps-accent);
  --ps-mega-icon-bg: rgba(255, 59, 5, .12);
  --ps-mega-icon-border: rgba(255, 59, 5, .26);

  --ps-phone-text: rgba(255, 255, 255, .9);
  --ps-phone-bg: rgba(255, 255, 255, .07);
  --ps-phone-border: rgba(255, 255, 255, .12);
  --ps-phone-icon: var(--ps-accent);
  --ps-phone-hover-bg: rgba(255, 59, 5, .12);
  --ps-phone-hover-border: rgba(255, 59, 5, .34);
  --ps-search-bg: rgba(5, 14, 24, .97);
  --ps-search-border: rgba(255, 255, 255, .13);
  --ps-search-text: var(--ps-ui-on-color, #ffffff);
  --ps-search-muted: rgba(255, 255, 255, .64);
  --ps-search-input-bg: rgba(255, 255, 255, .07);
  --ps-search-input-border: rgba(255, 255, 255, .16);
  --ps-search-result-bg: rgba(255, 255, 255, .045);
  --ps-search-result-hover: rgba(255, 59, 5, .1);
  --ps-cta-bg: var(--ps-phone-bg);
  --ps-cta-bg-hover: var(--ps-phone-hover-bg);
  --ps-cta-border: var(--ps-phone-border);
  --ps-cta-border-hover: var(--ps-phone-hover-border);
  --ps-cta-color: var(--ps-phone-text);
  --ps-cta-shadow: none;
  --ps-cta-shadow-hover: none;

  --ps-burger-line: var(--ps-ui-on-color, #ffffff);
  --ps-burger-bg: rgba(255, 255, 255, .08);
  --ps-burger-bg-hover: rgba(255, 255, 255, .12);
  --ps-burger-border: rgba(255, 255, 255, .18);
  --ps-burger-border-hover: rgba(255, 255, 255, .28);
  --ps-burger-shadow: inset 0 1px rgba(255, 255, 255, .18), 0 12px 30px rgba(0, 0, 0, .18);
  --ps-burger-shadow-hover: inset 0 1px rgba(255, 255, 255, .20), 0 16px 34px rgba(0, 0, 0, .22);

  --ps-menu-link-color: var(--ps-menu-text);
  --ps-menu-link-hover-color: var(--ps-menu-text);
  --ps-menu-surface-hover-bg: var(--ps-menu-hover-bg);
  --ps-menu-surface-hover-line: transparent;

  --ps-mobile-menu-bg: rgba(5, 0, 63, .985);
  --ps-mobile-menu-shadow: 0 28px 80px rgba(0, 0, 0, .48);

  position: sticky;
  inset-block-start: 0;
  
  z-index: var(--ps-layer-sticky, 100);

  inline-size: 100%;
  color: var(--ps-text);
  font-family: var(--ps-font);
  isolation: isolate;
}

.ps-header.ps-header--overlay {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
}

/* One geometry contract for every template. WordPress already reserves the
   admin bar in document flow; only sticky elements add its visible offset. */
body:has(.ps-header--overlay),
body.ps-has-overlay-header {
  --ps-header-fallback-height: 112px;
  --ps-overlay-content-clearance: var(--ps-header-rest-height, var(--ps-header-fallback-height));
  --ps-overlay-content-gap: clamp(14px, 1.8vw, 26px);
  --ps-overlay-sticky-clearance: var(--ps-header-height, var(--ps-header-fallback-height));
  --ps-overlay-sticky-top: calc(var(--ps-header-admin-offset, var(--wp-admin--admin-bar--height, 0px)) + var(--ps-overlay-sticky-clearance));
  --ps-header-offset: var(--ps-overlay-sticky-top);
  --ps-woo-mobile-cat-sticky-top: calc(var(--ps-overlay-sticky-top) + 8px);
  --ps-overlay-main-inset: calc(var(--ps-overlay-content-clearance) + var(--ps-overlay-content-gap));
}

/* Layout classes also belong to catalog/tool/legal pages. Only an actual
   full-bleed landing hero reserves its own space inside the background. */
body.ps-erp-managed-landing-page--homepage,
body:has(:is(.ps-photo-hero, .ps-home-hero, .ps-seo-hero:not(.ps-seo-hero--catalog), .ps-hero__wrap, .ps-company__hero, .ps-choice-guide__hero, .ps-bess-hero, .ps-woo-catalog-header, .ps-immersive-panels__panel)) {
  --ps-overlay-main-inset: 0px;
}

html body:is(.ps-has-overlay-header, :has(.ps-header--overlay)) :is(main, .site-main, #main).site-main:not(.site-main .site-main, main .site-main),
html body:is(.ps-has-overlay-header, :has(.ps-header--overlay)) main:not(.site-main):not(main main, .site-main main) {
  padding-top: var(--ps-overlay-main-inset) !important;
}

/* Use a wrapper only when the theme has no main landmark; never pad both. */
html body:is(.ps-has-overlay-header, :has(.ps-header--overlay)) .content-area.content-area.content-area:not(:has(main, .site-main)):not(main .content-area, .site-main .content-area, .content-area .content-area) {
  padding-top: var(--ps-overlay-main-inset) !important;
}

html body:is(.ps-has-overlay-header, :has(.ps-header--overlay)) main {
  scroll-margin-top: calc(var(--ps-overlay-sticky-top) + 12px);
}

@media (max-width: 1240px) {
  body:has(.ps-header--overlay),
  body.ps-has-overlay-header {
    --ps-header-fallback-height: var(--ps-header-mobile-height, 72px);
    --ps-overlay-content-gap: 14px;
  }
}

@media (max-width: 640px) {
  body:has(.ps-header--overlay),
  body.ps-has-overlay-header {
    --ps-header-fallback-height: var(--ps-header-mobile-height-compact, 68px);
    --ps-overlay-content-gap: 12px;
  }
}

body.admin-bar .ps-header,
body.admin-bar .ps-header.ps-header--overlay {
  inset-block-start: var(--ps-header-admin-offset, var(--wp-admin--admin-bar--height, 32px));
}

@media (max-width: 782px) {
  body.admin-bar .ps-header,
  body.admin-bar .ps-header.ps-header--overlay {
    inset-block-start: var(--ps-header-admin-offset, var(--wp-admin--admin-bar--height, 46px));
  }
}

.ps-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background: var(--ps-header-bg);
  border-bottom: 1px solid var(--ps-header-border);
  box-shadow: var(--ps-header-shadow);
  backdrop-filter: blur(18px) saturate(112%);
  -webkit-backdrop-filter: blur(18px) saturate(112%);
  transition: background var(--ps-transition-slow, 260ms ease), border-color var(--ps-transition-slow, 260ms ease), box-shadow var(--ps-transition-slow, 260ms ease);
}

.ps-header.ps-is-scrolled::before,
.ps-header.ps-menu-open::before {
  background: var(--ps-header-bg-active);
  border-bottom-color: var(--ps-header-border-active);
  box-shadow: var(--ps-shadow);
}

.ps-header a,
.ps-header button {
  -webkit-tap-highlight-color: transparent;
}

/* The native toolbar stays above site navigation and below public dialogs. */
body.ps-public-ui #wpadminbar {
  
  z-index: var(--ps-layer-overlay, 1000);

}

.ps-header a {
  
  font-family: var(--ps-ui-font);
  color: var(--ps-menu-link-color, var(--ps-ui-ink));
  text-decoration: none;
  transition: background-color var(--ps-transition-fast), border-color var(--ps-transition-fast), color var(--ps-transition-fast), text-decoration-color var(--ps-transition-fast);

}

.ps-header a:is(:hover, :focus-visible) {
  
  color: var(--ps-menu-link-hover-color, var(--ps-menu-link-color, var(--ps-ui-brand)));
  text-decoration: none;

}


.ps-header svg {
  display: block;
  flex: 0 0 auto;
}

body.ps-has-powersense-header .site-header:not(.ps-header),
body.ps-has-powersense-header header.site-header:not(.ps-header),
body.ps-has-powersense-header #masthead:not(.ps-header),
body.ps-has-powersense-header .elementor-location-header:not(.ps-header),
body.ps-has-powersense-header .main-header-bar,
body.ps-has-powersense-header .ast-primary-header-bar,
body.ps-has-powersense-header .ast-mobile-header-wrap,
body.ps-has-powersense-header .ast-desktop-header {
  display: none !important;
}

.ps-topbar {
  --ps-topbar-height: 34px;
  max-height: var(--ps-topbar-height);
  overflow: hidden;
  border-bottom: 1px solid var(--ps-topbar-border);
  transition: max-height var(--ps-transition-slow, 260ms ease), opacity var(--ps-transition-slow, 260ms ease), border-color var(--ps-transition-slow, 260ms ease);
}

.ps-header.ps-is-scrolled .ps-topbar {
  max-height: 0;
  opacity: 0;
  border-color: transparent;
}

.ps-topbar__inner,
.ps-nav {
  
  width: min(var(--ps-layout-max), calc(100% - 2 * var(--ps-layout-gutter)));
  margin-inline: auto;

}

.ps-topbar__inner {
  min-height: 34px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  gap: 18px;
  color: var(--ps-topbar-text);
  font-size: var(--ps-ui-small, 13px);
}

.ps-topbar__left,
.ps-topbar__right {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.ps-topbar__left {
  overflow: hidden;
}

.ps-topbar__left > span:not(.ps-status) {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ps-topbar__right {
  justify-self: end;
  flex: 0 0 auto;
  white-space: nowrap;
}

.ps-topbar__right a {
  min-width: 0;
  color: var(--ps-topbar-link);
  white-space: nowrap;
  transition: color var(--ps-transition, 180ms ease);
}

.ps-topbar__right a:hover {
  color: var(--ps-accent);
}

.ps-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
  color: var(--ps-status-text);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ps-status span {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--ps-accent);
  box-shadow: 0 0 0 4px var(--ps-accent-soft, rgba(255, 59, 5, .09));
}

.ps-topbar__sep {
  width: 1px;
  height: 14px;
  background: var(--ps-separator);
}

.ps-nav {
  position: relative;
  min-height: 78px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
}

.ps-logo {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  color: inherit;
  line-height: 0;
  filter: var(--ps-logo-shadow);
}

.ps-logo__image {
  display: block;
  width: clamp(164px, 14.2vw, 216px);
  height: auto;
  max-width: 100%;
  max-height: 44px;
  object-fit: contain;
}

.ps-header.ps-header--light .ps-logo__image--light,
html[data-ps-header-theme="light"] .ps-header .ps-logo__image--light {
  display: block;
}


.ps-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 0;
}

/* Main navigation: one presentation for links and mega-menu triggers. */
.ps-header :is(.ps-menu > a:not(.ps-menu-mobile-cta), .ps-menu-link) {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 12px 13px;
  border: 1px solid transparent;
  border-radius: 14px;
  background: transparent;
  cursor: pointer;
  font: var(--ps-ui-strong-weight, 650) var(--ps-ui-nav-size, 14px)/1 var(--ps-font);
  letter-spacing: var(--ps-ui-tracking-body, 0);
  white-space: nowrap;
  box-shadow: none;
  transition: background var(--ps-transition, 180ms ease);
}

.ps-header :is(.ps-menu > a:not(.ps-menu-mobile-cta), .ps-menu-link):is(:hover, :focus-visible, [aria-current="page"]),
.ps-header .ps-has-mega:is(:hover, :focus-within, .ps-mega-open) > .ps-menu-link,
.ps-header .ps-menu .ps-mega-toggle:is(:hover, :focus-visible, [aria-expanded="true"]) {
  
  background: var(--ps-menu-surface-hover-bg, var(--ps-ui-brand-soft));
  border-color: var(--ps-menu-surface-hover-line, var(--ps-ui-line-strong));
  box-shadow: none;
  transform: none;

}

.ps-menu .ps-menu-mobile-cta,
.ps-mega-toggle {
  display: none;
}

.ps-menu-link span {
  color: inherit;
  font-weight: var(--ps-ui-heading-weight, 700);
}

.ps-has-mega {
  position: relative;
}

.ps-has-mega::after {
  content: "";
  position: absolute;
  inset-inline: -24px;
  inset-block-start: 100%;
  height: 20px;
  pointer-events: auto;
}

.ps-mega {
  position: absolute;
  inset-block-start: calc(100% + 10px);
  inset-inline-start: var(--ps-mega-left, 50%);
  inset-inline-end: auto;
  width: min(860px, calc(100vw - 48px));
  display: grid;
  grid-template-columns: minmax(260px, .78fr) 1.22fr;
  gap: 18px;
  padding: 16px;
  border: 1px solid var(--ps-mega-border);
  border-radius: 20px;
  background: var(--ps-mega-bg);
  box-shadow: var(--ps-mega-shadow);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(var(--ps-mega-translate-x, -50%)) translateY(12px);
  backdrop-filter: blur(18px) saturate(112%);
  -webkit-backdrop-filter: blur(18px) saturate(112%);
  transition: opacity var(--ps-transition, 180ms ease), transform var(--ps-transition, 180ms ease), visibility var(--ps-transition, 180ms ease);
}

.ps-has-mega:hover > .ps-mega,
.ps-has-mega.ps-mega-open > .ps-mega {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(var(--ps-mega-translate-x, -50%)) translateY(0);
}

.ps-mega::before {
  content: "";
  position: absolute;
  inset-block-start: -7px;
  inset-inline-start: var(--ps-mega-arrow-left, 50%);
  width: 18px;
  height: 18px;
  background: var(--ps-mega-arrow-bg);
  border-top: 1px solid var(--ps-mega-border);
  border-left: 1px solid var(--ps-mega-border);
  transform: translateX(-50%) rotate(45deg);
}

.ps-mega__intro {
  padding: 20px;
  border: 1px solid var(--ps-mega-intro-border);
  border-radius: 16px;
  background: var(--ps-mega-intro-bg);
}

.ps-mega__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 13px;
  color: var(--ps-mega-icon-color);
  font-size: var(--ps-ui-caption, 11px);
  font-weight: var(--ps-ui-heading-weight, 700);
  letter-spacing: var(--ps-ui-tracking-label, .08em);
  line-height: var(--ps-header-leading-title, 1.1);
  text-transform: uppercase;
}

.ps-mega__eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: var(--ps-accent);
  box-shadow: none;
}

.ps-mega__intro strong {
  display: block;
  max-width: 320px;
  color: var(--ps-mega-title);
  font-size: var(--ps-ui-card-title, 24px);
  font-weight: var(--ps-ui-heading-weight, 700);
  line-height: var(--ps-header-leading-display, 1.08);
  letter-spacing: var(--ps-ui-tracking-card, -.025em);
}

.ps-mega__intro p {
  margin: 13px 0 20px;
  color: var(--ps-mega-copy);
  font-size: var(--ps-ui-small, 14px);
  line-height: var(--ps-header-leading-copy, 1.55);
}

.ps-header .ps-mega__intro a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  --ps-link-color: var(--ps-mega-icon-color);
  --ps-link-hover-color: var(--ps-mega-icon-color);
  
  color: var(--ps-link-color, var(--ps-ui-brand));
  text-decoration-color: currentColor;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-skip-ink: auto;
  transition: color var(--ps-transition-fast), text-decoration-color var(--ps-transition-fast);

  font-size: var(--ps-ui-small, 14px);
}

.ps-header .ps-mega__intro a:is(:hover, :focus-visible) {
  
  color: var(--ps-link-hover-color, var(--ps-ui-brand-hover));
  text-decoration-color: currentColor;

}

.ps-mega__intro a svg,
.ps-cta svg,
.ps-menu-mobile-cta svg {
  width: 15px;
  height: 15px;
  fill: currentColor;
}

.ps-mega__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.ps-mega__grid a {
  --ps-menu-link-color: var(--ps-mega-title);
  --ps-menu-link-hover-color: var(--ps-mega-title);
  --ps-menu-surface-hover-bg: var(--ps-mega-card-hover-bg);
  --ps-menu-surface-hover-line: var(--ps-mega-card-hover-border);
  
  font-family: var(--ps-ui-font);
  color: var(--ps-menu-link-color, var(--ps-ui-ink));
  text-decoration: none;
  transition: background-color var(--ps-transition-fast), border-color var(--ps-transition-fast), color var(--ps-transition-fast), text-decoration-color var(--ps-transition-fast);

  display: grid;
  grid-template-columns: 40px 1fr;
  align-items: start;
  gap: 12px;
  min-height: 96px;
  padding: 16px;
  border: 1px solid var(--ps-mega-card-border);
  border-radius: 16px;
  background: var(--ps-mega-card-bg);
  white-space: normal;
}

.ps-mega__grid a:is(:hover, :focus-visible) {
  
  color: var(--ps-menu-link-hover-color, var(--ps-menu-link-color, var(--ps-ui-brand)));
  text-decoration: none;

  
  background: var(--ps-menu-surface-hover-bg, var(--ps-ui-brand-soft));
  border-color: var(--ps-menu-surface-hover-line, var(--ps-ui-line-strong));
  box-shadow: none;
  transform: none;

}

.ps-mega__icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid var(--ps-mega-icon-border);
  border-radius: 14px;
  background: var(--ps-mega-icon-bg);
  color: var(--ps-mega-icon-color);
  font-size: var(--ps-ui-icon-size, 20px);
  line-height: var(--ps-ui-leading-solid, 1);
}

.ps-mega__icon svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}

.ps-mega__grid strong,
.ps-mega__grid small {
  grid-column: 2;
}

.ps-mega__grid strong {
  margin-top: 1px;
  color: var(--ps-mega-title);
  font-size: var(--ps-ui-small, 15px);
}

.ps-mega__grid small {
  margin-top: -16px;
  color: var(--ps-mega-small);
  font-weight: var(--ps-header-secondary-weight, 560);
  line-height: var(--ps-header-leading-meta, 1.45);
}

.ps-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  min-width: max-content;
}

.ps-phone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: var(--ps-header-control-size);
}

.ps-header .ps-phone {
  border-radius: 999px;
  font-weight: var(--ps-ui-heading-weight, 700);
  font-size: var(--ps-font-size-body, 16px);
  transition: box-shadow var(--ps-transition-fast, 120ms ease), background-color var(--ps-transition-fast, 120ms ease), border-color var(--ps-transition-fast, 120ms ease);
}

.ps-phone {
  width: var(--ps-header-control-size);
  min-width: var(--ps-header-control-size);
  border: 1px solid var(--ps-phone-border);
  background: var(--ps-phone-bg);
  color: var(--ps-phone-text);
  padding: 0;
}

.ps-phone svg {
  width: 17px;
  height: 17px;
  fill: var(--ps-phone-icon);
}

.ps-phone:is(:hover, :focus-visible) {
  border-color: var(--ps-phone-hover-border);
  background: var(--ps-phone-hover-bg);
}

.ps-header-search-toggle {
  appearance: none;
  cursor: pointer;
}

.ps-header.ps-search-open .ps-header-search-toggle {
  border-color: var(--ps-phone-hover-border);
  background: var(--ps-phone-hover-bg);
}

.ps-header-search {
  position: absolute;
  inset-block-start: 100%;
  inset-inline: 0;
  z-index: 30;
  color: var(--ps-search-text);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: opacity var(--ps-transition, 180ms ease), visibility var(--ps-transition, 180ms ease), transform var(--ps-transition, 180ms ease);
}

.ps-header-search[hidden] {
  display: none;
}

.ps-header.ps-search-open .ps-header-search {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.ps-header-search::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-top: 1px solid var(--ps-search-border);
  border-bottom: 1px solid var(--ps-search-border);
  background: var(--ps-search-bg);
  box-shadow: var(--ps-ui-shadow-floating);
  backdrop-filter: blur(18px) saturate(112%);
  -webkit-backdrop-filter: blur(18px) saturate(112%);
}

.ps-header-search__inner {
  
  width: min(var(--ps-layout-max), calc(100% - 2 * var(--ps-layout-gutter)));
  margin-inline: auto;

  max-width: 980px;
  padding: clamp(20px, 3vw, 34px) 0 clamp(24px, 3.5vw, 40px);
}

.ps-header-search .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.ps-header-search__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.ps-header-search__head > div {
  display: grid;
  gap: 5px;
}

.ps-header-search__eyebrow {
  color: var(--ps-search-muted);
  font-size: var(--ps-ui-caption, 11px);
  font-weight: var(--ps-ui-heading-weight, 700);
  letter-spacing: var(--ps-ui-tracking-label, .08em);
  text-transform: uppercase;
}

.ps-header-search__head strong {
  color: var(--ps-search-text);
  font-size: var(--ps-ui-component-title, clamp(20px, 2.4vw, 28px));
  line-height: var(--ps-header-leading-title, 1.1);
}

.ps-header-search__close {
  
  --ps-button-bg: var(--ps-ui-button-icon-bg);
  --ps-button-color: var(--ps-ui-button-icon-color);
  --ps-button-line: var(--ps-ui-button-icon-line);
  --ps-button-hover-bg: var(--ps-ui-button-icon-hover-bg);
  --ps-button-hover-color: var(--ps-ui-button-icon-hover-color);
  --ps-button-hover-line: var(--ps-ui-button-icon-hover-line);

  
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--ps-ui-control-height);
  max-width: 100%;
  padding: var(--ps-ui-button-padding);
  border: 1px solid var(--ps-button-line, var(--ps-ui-button-secondary-line));
  border-radius: var(--ps-ui-button-radius);
  background: var(--ps-button-bg, var(--ps-ui-button-secondary-bg));
  color: var(--ps-button-color, var(--ps-ui-button-secondary-color));
  box-shadow: var(--ps-button-shadow, var(--ps-ui-shadow-control));
  cursor: pointer;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-button-size);
  font-weight: var(--ps-ui-button-weight);
  line-height: var(--ps-ui-leading-control);
  letter-spacing: var(--ps-ui-tracking-body);
  text-align: center;
  text-decoration: none !important;
  text-transform: none;
  white-space: var(--ps-button-white-space, normal);
  transition: background var(--ps-transition), border-color var(--ps-transition), color var(--ps-transition), box-shadow var(--ps-transition);

  display: grid;
  place-items: center;
  width: var(--ps-ui-control-height);
  height: var(--ps-ui-control-height);
  padding: 0;
}

.ps-header-search__close svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
}

.ps-header-search__close:is(:hover, :focus-visible) {
  
  border-color: var(--ps-button-hover-line, var(--ps-ui-button-secondary-hover-line));
  background: var(--ps-button-hover-bg, var(--ps-ui-button-secondary-hover-bg));
  color: var(--ps-button-hover-color, var(--ps-ui-button-secondary-hover-color));
  text-decoration: none !important;
  transform: none;
  box-shadow: var(--ps-button-hover-shadow, var(--ps-ui-shadow-control));
  filter: none;

}

.ps-header-search__input-wrap {
  position: relative;
}

.ps-header .ps-header-search__input-wrap.ps-woo-side-nav__live-search-input-wrap::before,
.ps-header .ps-header-search__input-wrap.ps-woo-side-nav__live-search-input-wrap::after {
  content: none;
  display: none;
}

.ps-header-search__input-wrap > svg {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 20px;
  z-index: 1;
  width: 20px;
  height: 20px;
  fill: var(--ps-search-muted);
  transform: translateY(-50%);
  pointer-events: none;
}

.ps-header .ps-header-search__input.ps-woo-side-nav__live-search-input {
  width: 100%;
  height: 58px;
  margin: 0;
  padding: 0 20px 0 54px;
  border: 1px solid var(--ps-search-input-border);
  border-radius: 18px;
  outline: 0;
  background: var(--ps-search-input-bg);
  color: var(--ps-search-text);
  box-shadow: none;
  font: var(--ps-header-search-weight, 750) var(--ps-ui-body, 16px)/var(--ps-ui-leading-heading, 1.2) var(--ps-font);
}

.ps-header .ps-header-search__input.ps-woo-side-nav__live-search-input::placeholder {
  color: var(--ps-search-muted);
  opacity: 1;
}

.ps-header .ps-header-search__input.ps-woo-side-nav__live-search-input:focus {
  border-color: var(--ps-focus-ring, #667085);
  
  outline: 0;
  box-shadow: none;

}


.ps-header-search__results {
  max-height: min(52vh, 470px);
  margin-top: 12px;
  overflow: auto;
}

.ps-header-search__results[hidden] {
  display: none;
}

.ps-header-search__results .ps-woo-side-nav__live-search-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ps-header-search__results .ps-woo-side-nav__live-search-item {
  min-width: 0;
  margin: 0;
}

.ps-header-search__results .ps-woo-side-nav__live-search-item-link {
  --ps-menu-link-color: var(--ps-search-text);
  --ps-menu-link-hover-color: var(--ps-search-text);
  --ps-menu-surface-hover-bg: var(--ps-search-result-hover);
  --ps-menu-surface-hover-line: var(--ps-phone-hover-border);
  
  font-family: var(--ps-ui-font);
  color: var(--ps-menu-link-color, var(--ps-ui-ink));
  text-decoration: none;
  transition: background-color var(--ps-transition-fast), border-color var(--ps-transition-fast), color var(--ps-transition-fast), text-decoration-color var(--ps-transition-fast);

  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  min-height: 76px;
  padding: 9px;
  border: 1px solid var(--ps-search-border);
  border-radius: 16px;
  background: var(--ps-search-result-bg);
  transition: border-color var(--ps-transition, 180ms ease), background var(--ps-transition, 180ms ease);
}

.ps-header-search__results .ps-woo-side-nav__live-search-item-link:hover,
.ps-header-search__results .ps-woo-side-nav__live-search-item-link:focus-visible {
  
  color: var(--ps-menu-link-hover-color, var(--ps-menu-link-color, var(--ps-ui-brand)));
  text-decoration: none;

  
  background: var(--ps-menu-surface-hover-bg, var(--ps-ui-brand-soft));
  border-color: var(--ps-menu-surface-hover-line, var(--ps-ui-line-strong));
  box-shadow: none;
  transform: none;

}

.ps-header-search__results .ps-woo-side-nav__live-search-thumb {
  display: block;
  width: 58px;
  height: 58px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .08);
  object-fit: contain;
}

.ps-header-search__results .ps-woo-side-nav__live-search-thumb.is-empty {
  border: 1px solid var(--ps-search-border);
}

.ps-header-search__results .ps-woo-side-nav__live-search-meta {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.ps-header-search__results .ps-woo-side-nav__live-search-title {
  color: var(--ps-search-text);
  font-size: var(--ps-ui-small, 14px);
  font-weight: var(--ps-ui-heading-weight, 700);
  line-height: var(--ps-ui-leading-label, 1.3);
}

.ps-header-search__results .ps-woo-side-nav__live-search-price {
  color: var(--ps-search-muted);
  font-size: var(--ps-ui-small, 13px);
  font-weight: var(--ps-ui-heading-weight, 700);
}

.ps-header-search__results .ps-woo-side-nav__live-search-state {
  padding: 18px;
  border: 1px solid var(--ps-search-border);
  border-radius: 16px;
  background: var(--ps-search-result-bg);
  color: var(--ps-search-muted);
  font-size: var(--ps-ui-small, 14px);
  text-align: center;
}

.ps-header .ps-actions .ps-cta {
  display: inline-flex !important;
}

.ps-header .ps-actions .ps-cta,
.ps-header .ps-menu .ps-menu-mobile-cta {
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: var(--ps-header-control-size) !important;
  padding: 0 21px !important;
  border: 1px solid var(--ps-cta-border) !important;
  border-radius: 999px !important;
  background: var(--ps-cta-bg) !important;
  color: var(--ps-cta-color) !important;
  box-shadow: var(--ps-cta-shadow) !important;
  font: var(--ps-ui-button-weight, 700) var(--ps-header-cta-font-size)/var(--ps-ui-leading-solid, 1) var(--ps-font) !important;
  position: relative;
  overflow: hidden;
  transition: background var(--ps-transition, 180ms ease), border-color var(--ps-transition, 180ms ease), box-shadow var(--ps-transition, 180ms ease);
  letter-spacing: var(--ps-ui-tracking-body, 0) !important;
  white-space: nowrap !important;
}

.ps-header .ps-actions .ps-cta:hover,
.ps-header .ps-actions .ps-cta:focus-visible,
.ps-header .ps-menu .ps-menu-mobile-cta:hover,
.ps-header .ps-menu .ps-menu-mobile-cta:focus-visible {
  border-color: var(--ps-cta-border-hover) !important;
  background: var(--ps-cta-bg-hover) !important;
  color: var(--ps-cta-color) !important;
  filter: none !important;
  transform: none !important;
  box-shadow: var(--ps-cta-shadow-hover) !important;
}

.ps-header .ps-actions .ps-cta *,
.ps-header .ps-actions .ps-cta svg,
.ps-header .ps-menu .ps-menu-mobile-cta *,
.ps-header .ps-menu .ps-menu-mobile-cta svg {
  color: inherit !important;
  fill: currentColor !important;
}

.ps-burger {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  display: none;
  place-items: center;
  width: var(--ps-header-control-size);
  height: 46px;
  padding: 0;
  border: 1px solid var(--ps-burger-border);
  border-radius: 15px;
  background: rgba(255, 255, 255, .07);
  color: var(--ps-burger-line);
  cursor: pointer;
}

.ps-header .ps-burger {
  display: none;
}

.ps-burger span {
  position: absolute;
  width: 20px;
  height: 2px;
  border-radius: 99px;
  background: currentColor;
  transition: transform var(--ps-transition, 180ms ease), opacity var(--ps-transition, 180ms ease), top var(--ps-transition, 180ms ease);
}

.ps-burger span:nth-child(1) { top: 15px; }
.ps-burger span:nth-child(2) { top: 22px; }
.ps-burger span:nth-child(3) { top: 29px; }

.ps-header.ps-menu-open .ps-burger span:nth-child(1) {
  top: 22px;
  transform: rotate(45deg);
}

.ps-header.ps-menu-open .ps-burger span:nth-child(2) {
  opacity: 0;
}

.ps-header.ps-menu-open .ps-burger span:nth-child(3) {
  top: 22px;
  transform: rotate(-45deg);
}

/* Theme variants */
.ps-header.ps-header--light,
html[data-ps-header-theme="light"] .ps-header {
  --ps-accent: var(--ps-brand-orange, #ff3b05);
  --ps-accent-strong: var(--ps-brand-orange-dark, #d82f00);
  --ps-bg-strong: var(--ps-chrome-bg-strong, rgba(255, 255, 255, .94));
  --ps-text: var(--ps-ink, #101828);
  --ps-shadow: var(--ps-chrome-shadow, 0 8px 24px rgba(16, 24, 40, .06));

  --ps-header-bg: var(--ps-chrome-bg, rgba(255, 255, 255, .82));
  --ps-header-bg-active: var(--ps-chrome-bg-strong, rgba(255, 255, 255, .94));
  --ps-header-border: var(--ps-chrome-border, rgba(8, 0, 99, .11));
  --ps-header-border-active: var(--ps-chrome-border);
  --ps-header-shadow: var(--ps-chrome-shadow, 0 8px 24px rgba(16, 24, 40, .06));

  --ps-topbar-text: var(--ps-ink-soft, #475467);
  --ps-topbar-link: var(--ps-ink-soft, #475467);
  --ps-topbar-border: var(--ps-ui-line, rgba(8, 0, 99, .08));
  --ps-status-text: var(--ps-ink-soft, #475467);
  --ps-separator: var(--ps-border-blue, rgba(8, 0, 99, .12));
  --ps-logo-shadow: none;

  --ps-menu-text: var(--ps-ink, #101828);
  --ps-menu-hover-bg: var(--ps-ui-card-inset-bg, #fbfbfa);

  --ps-mega-bg: var(--ps-chrome-bg-strong, rgba(255, 255, 255, .94));
  --ps-mega-arrow-bg: var(--ps-chrome-bg-strong, rgba(255, 255, 255, .94));
  --ps-mega-border: var(--ps-chrome-border, rgba(8, 0, 99, .11));
  --ps-mega-shadow: var(--ps-ui-shadow-floating, 0 14px 34px rgba(16, 24, 40, .075));
  --ps-mega-intro-bg: var(--ps-ui-card-inset-bg, #fbfbfa);
  --ps-mega-intro-border: var(--ps-border-blue, rgba(8, 0, 99, .12));
  --ps-mega-title: var(--ps-ink, #101828);
  --ps-mega-copy: var(--ps-ink-soft, #475467);
  --ps-mega-small: var(--ps-ink-faint, #667085);
  --ps-mega-card-bg: var(--ps-ui-card-bg);
  --ps-mega-card-border: var(--ps-ui-card-line);
  --ps-mega-card-hover-bg: var(--ps-ui-surface);
  --ps-mega-card-hover-border: var(--ps-ui-card-hover-line);
  --ps-mega-icon-color: var(--ps-brand-orange, #ff3b05);
  --ps-mega-icon-bg: var(--ps-accent-soft, rgba(255, 59, 5, .09));
  --ps-mega-icon-border: var(--ps-border-orange, rgba(255, 59, 5, .32));

  --ps-phone-text: var(--ps-ui-ink);
  --ps-phone-bg: var(--ps-ui-button-secondary-bg);
  --ps-phone-border: var(--ps-ui-line, rgba(8, 0, 99, .12));
  --ps-phone-icon: var(--ps-ui-ink, #101b33);
  --ps-phone-hover-bg: var(--ps-ui-button-secondary-hover-bg, #f3f5f8);
  --ps-phone-hover-border: var(--ps-ui-button-secondary-hover-line, #c8cfda);
  --ps-search-bg: var(--ps-chrome-bg-strong, rgba(255, 255, 255, .94));
  --ps-search-border: var(--ps-ui-line, rgba(8, 0, 99, .11));
  --ps-search-text: var(--ps-ink, #101828);
  --ps-search-muted: var(--ps-ink-faint, #667085);
  --ps-search-input-bg: var(--ps-ui-field-bg, #ffffff);
  --ps-search-input-border: var(--ps-ui-field-line);
  --ps-search-result-bg: var(--ps-ui-paper);
  --ps-search-result-hover: var(--ps-ui-surface);

  --ps-cta-bg: var(--ps-ui-action-surface, #d82f00);
  --ps-cta-bg-hover: var(--ps-ui-action-surface-hover, #b92700);
  --ps-cta-border: var(--ps-brand-orange-dark, #d82f00);
  --ps-cta-border-hover: var(--ps-ui-action-hover, #b92700);
  --ps-cta-color: var(--ps-ui-on-color, #ffffff);
  --ps-cta-shadow: var(--ps-ui-shadow-control, none);
  --ps-cta-shadow-hover: var(--ps-ui-shadow-control, none);

  --ps-burger-line: var(--ps-color-text, #101828);
  --ps-burger-bg: var(--ps-ui-button-icon-bg);
  --ps-burger-bg-hover: var(--ps-ui-button-secondary-hover-bg, #f3f5f8);
  --ps-burger-border: var(--ps-ui-line, rgba(8, 0, 99, .13));
  --ps-burger-border-hover: var(--ps-ui-line-strong, rgba(8, 0, 99, .20));
  --ps-burger-shadow: var(--ps-ui-shadow-control);
  --ps-burger-shadow-hover: var(--ps-ui-shadow-control);

  --ps-mobile-menu-bg: var(--ps-chrome-bg-strong, rgba(255, 255, 255, .94));
  --ps-mobile-menu-shadow: var(--ps-ui-shadow-floating, 0 20px 52px rgba(16, 24, 40, .14));
}

@media (min-width: 1241px) {
  .ps-has-mega:focus-within > .ps-mega {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(var(--ps-mega-translate-x, -50%)) translateY(0);
  }
}

@media (max-width: 1440px) {
  .ps-nav {
    gap: 16px;
  }

  .ps-logo__image {
    width: clamp(156px, 14vw, 196px);
  }

  .ps-header :is(.ps-menu > a:not(.ps-menu-mobile-cta), .ps-menu-link) {
    padding-inline: 10px;
    font-size: var(--ps-ui-small, 13px);
  }

  .ps-phone {
    width: var(--ps-header-control-size);
    padding: 0;
  }

  .ps-topbar__inner {
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 12px;
  }

  .ps-topbar__right {
    gap: 10px;
  }

  .ps-topbar__right a:first-child,
  .ps-topbar__left > span:not(.ps-status) {
    display: none;
  }
}

@media (max-width: 1240px) {
  .ps-topbar {
    display: none;
  }

  .ps-nav {
    min-height: var(--ps-header-mobile-height, 72px);
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px;
  }

  .ps-actions {
    grid-column: 2;
    order: 2;
    justify-self: end;
  }

  .ps-header .ps-burger,
  .ps-burger {
    display: grid;
    grid-column: 3;
    order: 3;
    width: 48px;
    height: 48px;
    border-color: var(--ps-burger-border);
    border-radius: 14px;
    background: var(--ps-burger-bg);
    color: var(--ps-burger-line);
    box-shadow: var(--ps-burger-shadow);
  }

  .ps-header.ps-menu-open .ps-burger,
  .ps-burger:hover,
  .ps-burger:focus-visible {
    border-color: var(--ps-burger-border-hover);
    background: var(--ps-burger-bg-hover);
    box-shadow: var(--ps-burger-shadow-hover);
  }

  .ps-burger span {
    width: 21px;
    height: 2px;
    background: currentColor;
  }

  .ps-menu {
    position: absolute;
    inset-block-start: calc(100% + 10px);
    inset-inline: 0;
    display: grid;
    align-items: stretch;
    justify-content: stretch;
    gap: 4px;
    max-height: min(calc(100dvh - 96px - env(safe-area-inset-bottom)), 720px);
    overflow: auto;
    padding: 10px;
    border: 0;
    border-radius: 18px;
    background: var(--ps-mobile-menu-bg);
    box-shadow: var(--ps-mobile-menu-shadow);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px) scale(.98);
    backdrop-filter: blur(18px) saturate(112%);
    -webkit-backdrop-filter: blur(18px) saturate(112%);
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    transition: opacity var(--ps-transition, 180ms ease), transform var(--ps-transition, 180ms ease), visibility var(--ps-transition, 180ms ease);
  }

  .ps-header.ps-menu-open .ps-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
  }

  /* Mobile changes geometry only; shared nav paint owns every state. */
  .ps-header :is(.ps-menu > a:not(.ps-menu-mobile-cta), .ps-menu-link) {
    justify-content: space-between;
    width: 100%;
    padding: 14px 12px;
    line-height: var(--ps-ui-leading-card, 1.35);
    white-space: normal;
  }

  .ps-header .ps-menu .ps-menu-mobile-cta {
    display: inline-flex;
    margin-top: 4px;
  }


  .ps-has-mega {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 52px;
    align-items: stretch;
    gap: 8px;
  }

  .ps-header .ps-menu .ps-mega-toggle {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 52px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: var(--ps-menu-text);
    cursor: pointer;
    transition: background var(--ps-transition, 180ms ease), border-color var(--ps-transition, 180ms ease), color var(--ps-transition, 180ms ease);
  }

  .ps-header .ps-menu .ps-mega-toggle svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
    transition: transform var(--ps-transition, 180ms ease);
  }

  .ps-header .ps-menu .ps-has-mega.ps-mega-open > .ps-mega-toggle svg {
    transform: rotate(180deg);
  }

  .ps-has-mega::after {
    display: none;
  }

  .ps-mega,
.ps-has-mega:hover > .ps-mega,
.ps-has-mega.ps-mega-open > .ps-mega {
    position: static;
    grid-column: 1 / -1;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .ps-mega,
.ps-has-mega:hover > .ps-mega {
    max-height: 0;
    margin-top: 0;
    padding: 0;
  }

  .ps-mega,
.ps-has-mega:hover > .ps-mega,
.ps-has-mega.ps-mega-open > .ps-mega {
    overflow: hidden;
  }

  .ps-mega,
.ps-has-mega:hover > .ps-mega {
    border-width: 0;
  }

  .ps-mega,
.ps-has-mega:hover > .ps-mega,
.ps-has-mega.ps-mega-open > .ps-mega {
    border-radius: 14px;
    background: var(--ps-mega-bg);
    box-shadow: none;
    opacity: 1;
  }

  .ps-mega,
.ps-has-mega:hover > .ps-mega {
    visibility: hidden;
  }

  .ps-mega,
.ps-has-mega:hover > .ps-mega,
.ps-has-mega.ps-mega-open > .ps-mega {
    pointer-events: auto;
  }

  .ps-mega,
.ps-has-mega:hover > .ps-mega {
    transform: none;
  }

  .ps-mega,
.ps-has-mega:hover > .ps-mega,
.ps-has-mega.ps-mega-open > .ps-mega {
    transition: max-height var(--ps-transition-slow, 260ms ease), padding var(--ps-transition-slow, 260ms ease), margin var(--ps-transition-slow, 260ms ease), border-width var(--ps-transition-slow, 260ms ease);
  }

  .ps-has-mega.ps-mega-open > .ps-mega {
    max-height: 820px;
    margin-top: 8px;
    padding: 10px;
    border-width: 1px;
    visibility: visible;
    transform: none;
  }

  .ps-mega::before {
    display: none;
  }

  .ps-mega__intro {
    padding: 16px;
  }

  .ps-mega__intro strong {
    font-size: var(--ps-ui-card-title, 20px);
  }

  .ps-mega__grid {
    grid-template-columns: 1fr;
  }

  .ps-mega__grid a {
    min-height: auto;
  }

  .ps-mega__grid small {
    margin-top: -12px;
  }

}

@media (max-width: 640px) {
  .ps-nav {
    min-height: var(--ps-header-mobile-height-compact, 68px);
  }

  .ps-logo__image {
    width: 154px;
    max-height: 36px;
  }

  .ps-actions {
    display: flex;
    gap: 8px;
  }

  .ps-header .ps-actions .ps-cta,
  .ps-header .ps-actions .ps-cta[data-ps-erp-offer-popup-trigger="1"] {
    display: none !important;
  }

  .ps-header-search-toggle {
    width: var(--ps-header-control-size-mobile);
    min-width: var(--ps-header-control-size-mobile);
    min-height: var(--ps-header-control-size-mobile);
  }

  .ps-header-search__inner {
    padding-block: 18px 24px;
  }

  .ps-header-search__head {
    margin-bottom: 14px;
  }

  .ps-header .ps-header-search__input.ps-woo-side-nav__live-search-input {
    height: 54px;
    padding-inline: 50px 14px;
    border-radius: 16px;
    font-size: var(--ps-ui-body, 16px);
  }

  .ps-header-search__input-wrap > svg {
    inset-inline-start: 17px;
  }

  .ps-header-search__results .ps-woo-side-nav__live-search-list {
    grid-template-columns: 1fr;
  }

  .ps-burger {
    grid-column: 3;
  }

  .ps-menu {
    inset-block-start: calc(100% + 8px);
  }
}

@media (max-width: 390px) {
  .ps-nav {
    gap: 8px;
  }

  .ps-logo__image {
    width: 136px;
    max-height: 32px;
  }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .ps-header::before {
    background: var(--ps-header-bg-active);
  }

  .ps-mega {
    background: var(--ps-bg-strong);
  }

  @media (max-width: 1240px) {
    .ps-menu {
      background: var(--ps-bg-strong);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.ps-public-ui) .ps-header *,
  body:not(.ps-public-ui) .ps-header *::before,
  body:not(.ps-public-ui) .ps-header *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Accessibility and mobile behavior only. Visual styling remains owned by the
   established header above. */
.ps-header :focus:not(:focus-visible) {
  outline: none !important;
}

.ps-header :where(a, button, summary, [tabindex]:not([tabindex="-1"])):focus-visible:not(:where(input, select, textarea)) {
  outline: var(--ps-header-focus-width, 1px) solid var(--ps-focus-ring, #667085) !important;
  outline-offset: 3px !important;
}

@media (max-width: 1240px) {
  body.ps-header-layer-open {
    overflow: hidden;
    overscroll-behavior: none;
  }
}
/* Search fields own one ring; forced colors keep a visible system outline. */
@media (forced-colors: active) {
  .ps-header .ps-header-search__input.ps-woo-side-nav__live-search-input:focus-visible {
    outline: var(--ps-header-focus-width, 1px) solid Highlight !important;
    outline-offset: 3px;
    box-shadow: none;
  }
}


/* PowerSense professional footer module */

.ps-footer,
.ps-footer *,
.ps-footer *::before,
.ps-footer *::after {
  box-sizing: border-box;
}

.ps-footer {
  
  --ps-container: 1320px;
  --ps-gutter: clamp(20px, 3vw, 40px);
  --ps-layout-max: var(--ps-container);
  --ps-layout-gutter: max(var(--ps-gutter), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  --ps-layout-edge: max(var(--ps-layout-gutter), calc((100% - var(--ps-layout-max)) / 2));
  
  --ps-footer-bg: var(--ps-ui-surface);
  --ps-footer-text: var(--ps-ui-ink);
  --ps-footer-muted: var(--ps-ui-muted);
  --ps-footer-soft: var(--ps-ui-muted);
  --ps-footer-line: var(--ps-ui-card-divider);
  --ps-footer-line-strong: var(--ps-ui-line-strong);
  --ps-footer-primary-bg: var(--ps-ui-action);
  --ps-footer-primary-hover: var(--ps-ui-action-hover);
  --ps-footer-primary-text: var(--ps-ui-on-color);
  --ps-footer-primary-shadow: none;
  --ps-footer-button-bg: var(--ps-ui-paper);
  --ps-footer-button-hover: var(--ps-ui-surface);
  width: 100%;
  border-top: 1px solid var(--ps-footer-line);
  background: var(--ps-footer-bg);
  color: var(--ps-footer-text);
  font-family: var(--ps-ui-font);

}

.ps-footer :is(.ps-footer__column a, a.ps-footer__contact-item, .ps-footer__areas a, .ps-footer__social a, .ps-footer__legal a) {
  --ps-menu-link-color: var(--ps-footer-muted);
  --ps-menu-link-hover-color: var(--ps-ui-brand);
  
  font-family: var(--ps-ui-font);
  color: var(--ps-menu-link-color, var(--ps-ui-ink));
  text-decoration: none;
  transition: background-color var(--ps-transition-fast), border-color var(--ps-transition-fast), color var(--ps-transition-fast), text-decoration-color var(--ps-transition-fast);

}

.ps-footer :is(.ps-footer__social a, .ps-footer__legal a) {
  --ps-menu-link-color: var(--ps-footer-soft);
}

.ps-footer :is(.ps-footer__logo, .ps-footer__trust, .ps-footer__trustindex),
.ps-footer :is(.ps-footer__logo, .ps-footer__trust, .ps-footer__trustindex):is(:hover, :focus, :active, :visited) {
  text-decoration: none;
}


.ps-footer__inner {
  
  width: min(var(--ps-layout-max), calc(100% - 2 * var(--ps-layout-gutter)));
  margin-inline: auto;

  padding: var(--ps-layout-section) 0 var(--ps-space-5);
}

.ps-footer__cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--ps-layout-group);
  align-items: center;
  padding-block-end: var(--ps-layout-group);
  border-bottom: 1px solid var(--ps-footer-line);
}

.ps-footer__eyebrow {
  display: block;
  margin: 0;
  
  color: var(--ps-eyebrow-color, var(--ps-ui-brand));
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-overline-size);
  font-weight: var(--ps-eyebrow-weight, var(--ps-ui-label-weight));
  line-height: var(--ps-eyebrow-leading, var(--ps-ui-leading-label));
  letter-spacing: var(--ps-eyebrow-tracking, var(--ps-ui-tracking-eyebrow));
  text-transform: uppercase;

}

.ps-footer__cta h2 {
  max-width: var(--ps-layout-reading);
  
  margin: var(--ps-intro-label-gap) 0 var(--ps-intro-copy-gap);

  color: var(--ps-footer-text);
  font-size: var(--ps-ui-h2);
  font-weight: var(--ps-ui-heading-weight);
  line-height: var(--ps-ui-leading-heading);
  letter-spacing: var(--ps-ui-tracking-heading);
}

.ps-footer__cta p {
  
  margin: 0;
  max-width: var(--ps-layout-reading);

  
  color: var(--ps-intro-color, var(--ps-ui-muted));
  font-family: var(--ps-ui-font);
  font-size: var(--ps-intro-size, var(--ps-ui-lead));
  font-weight: var(--ps-intro-weight, var(--ps-ui-body-weight));
  line-height: var(--ps-intro-leading, var(--ps-ui-leading-intro));
  letter-spacing: var(--ps-ui-tracking-body);

}

.ps-footer__cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.ps-footer .ps-footer__btn {
  
  --ps-button-bg: var(--ps-ui-action-surface);
  --ps-button-color: var(--ps-ui-on-color);
  --ps-button-line: var(--ps-ui-action);
  --ps-button-hover-bg: var(--ps-ui-action-surface-hover);
  --ps-button-hover-color: var(--ps-ui-on-color);
  --ps-button-hover-line: var(--ps-ui-action-hover);

  
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--ps-ui-control-height);
  max-width: 100%;
  padding: var(--ps-ui-button-padding);
  border: 1px solid var(--ps-button-line, var(--ps-ui-button-secondary-line));
  border-radius: var(--ps-ui-button-radius);
  background: var(--ps-button-bg, var(--ps-ui-button-secondary-bg));
  color: var(--ps-button-color, var(--ps-ui-button-secondary-color));
  box-shadow: var(--ps-button-shadow, var(--ps-ui-shadow-control));
  cursor: pointer;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-button-size);
  font-weight: var(--ps-ui-button-weight);
  line-height: var(--ps-ui-leading-control);
  letter-spacing: var(--ps-ui-tracking-body);
  text-align: center;
  text-decoration: none !important;
  text-transform: none;
  white-space: var(--ps-button-white-space, normal);
  transition: background var(--ps-transition), border-color var(--ps-transition), color var(--ps-transition), box-shadow var(--ps-transition);

}

.ps-footer__btn-icon {
  display: block;
  width: 16px;
  height: 16px;
  fill: currentColor;
  flex: 0 0 auto;
}

.ps-footer .ps-footer__btn:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]),
.ps-footer .ps-footer__btn:focus-visible:not(:disabled):not(.disabled):not([aria-disabled="true"]) {
  
  border-color: var(--ps-button-hover-line, var(--ps-ui-button-secondary-hover-line));
  background: var(--ps-button-hover-bg, var(--ps-ui-button-secondary-hover-bg));
  color: var(--ps-button-hover-color, var(--ps-ui-button-secondary-hover-color));
  text-decoration: none !important;
  transform: none;
  box-shadow: var(--ps-button-hover-shadow, var(--ps-ui-shadow-control));
  filter: none;

}

.ps-footer .ps-footer__btn--phone {
  
  --ps-button-bg: var(--ps-ui-button-secondary-bg);
  --ps-button-color: var(--ps-ui-button-secondary-color);
  --ps-button-line: var(--ps-ui-button-secondary-line);
  --ps-button-hover-bg: var(--ps-ui-button-secondary-hover-bg);
  --ps-button-hover-color: var(--ps-ui-button-secondary-hover-color);
  --ps-button-hover-line: var(--ps-ui-button-secondary-hover-line);

}

.ps-footer .ps-footer__btn--phone:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]),
.ps-footer .ps-footer__btn--phone:focus-visible:not(:disabled):not(.disabled):not([aria-disabled="true"]) {
  
  border-color: var(--ps-button-hover-line, var(--ps-ui-button-secondary-hover-line));
  background: var(--ps-button-hover-bg, var(--ps-ui-button-secondary-hover-bg));
  color: var(--ps-button-hover-color, var(--ps-ui-button-secondary-hover-color));
  text-decoration: none !important;
  transform: none;
  box-shadow: var(--ps-button-hover-shadow, var(--ps-ui-shadow-control));
  filter: none;

}

.ps-footer .ps-footer__btn-icon {
  color: inherit;
  fill: currentColor;
}

.ps-footer__main {
  display: grid;
  grid-template-columns: minmax(200px, .8fr) minmax(360px, 1.4fr) minmax(180px, .7fr);
  gap: clamp(24px, 3vw, 40px);
  align-items: start;
  padding-block-start: var(--ps-layout-group);
}

.ps-footer__brand,
.ps-footer__contact {
  min-width: 0;
}

.ps-footer__logo {
  display: inline-flex;
  align-items: center;
  width: clamp(168px, 17vw, 226px);
  max-width: 100%;
  color: inherit;
}

.ps-footer__logo img {
  display: block;
  width: 100%;
  height: auto;
}

.ps-footer__sr-title {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.ps-footer__mission {
  max-width: 330px;
  margin: 18px 0 0;
  color: var(--ps-footer-muted);
  font-size: var(--ps-ui-body);
  line-height: var(--ps-ui-leading-body);
}

.ps-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  margin-block-start: 16px;
}

.ps-footer__contact .ps-footer__social {
  margin-block-start: 8px;
}

.ps-footer__social a {
  font-size: var(--ps-ui-small);
  font-weight: var(--ps-ui-strong-weight);
  line-height: var(--ps-ui-leading-compact);
  transition: color var(--ps-transition, 180ms ease);
}

.ps-footer__trust-proof {
  display: grid;
  width: min(100%, 304px);
  gap: 10px;
  margin-block-start: 16px;
}

.ps-footer__trust {
  display: inline-grid;
  width: 100%;
  gap: 6px;
  margin-block-start: 0;
  padding: 14px 0 0;
  border: 0;
  border-top: 1px solid var(--ps-footer-line);
  border-radius: 0;
  background: transparent;
  color: var(--ps-footer-text);
  transition: background var(--ps-transition, 180ms ease),
    border-color var(--ps-transition, 180ms ease);
}

.ps-footer__trust:hover,
.ps-footer__trust:focus-visible {
  border-color: var(--ps-footer-line-strong);
  background: transparent;
  color: var(--ps-footer-text);
}

.ps-footer__trust-head,
.ps-footer__trust-rating {
  display: flex;
  align-items: center;
  min-width: 0;
}

.ps-footer__trust-head {
  justify-content: space-between;
  gap: 12px;
}

.ps-footer__trust-rating {
  gap: 7px;
}

.ps-footer__trust-score {
  color: var(--ps-footer-text);
  font-size: var(--ps-ui-component-title);
  font-weight: var(--ps-ui-heading-weight);
  line-height: var(--ps-ui-leading-solid);
}

.ps-footer__trust-stars {
  color: var(--ps-ui-rating-color);
  font-size: var(--ps-ui-overline-size);
  font-weight: var(--ps-ui-heading-weight);
  letter-spacing: var(--ps-ui-tracking-body);
  line-height: var(--ps-ui-leading-solid);
}

.ps-footer__trust-source {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 7px;
  border: 1px solid var(--ps-footer-line);
  border-radius: var(--ps-radius-pill);
  color: var(--ps-footer-muted);
  font-size: var(--ps-ui-overline-size);
  font-weight: var(--ps-ui-heading-weight);
  line-height: var(--ps-ui-leading-solid);
}

.ps-footer__trust-copy {
  color: var(--ps-footer-muted);
  font-size: var(--ps-ui-caption);
}

.ps-footer__trust-copy,
.ps-footer__trust-cert {
  font-weight: var(--ps-ui-label-weight);
  line-height: var(--ps-ui-leading-compact);
}

.ps-footer__trustindex {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 9px;
  padding: 9px 0;
  border-top: 1px solid var(--ps-footer-line);
  color: var(--ps-footer-text);
}

.ps-footer__trustindex:hover,
.ps-footer__trustindex:focus-visible {
  border-color: var(--ps-footer-line-strong);
  color: var(--ps-footer-text);
}

.ps-footer__trustindex-mark {
  display: inline-grid;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid var(--ps-footer-line-strong);
  border-radius: var(--ps-radius-pill);
  color: var(--ps-footer-soft);
  font-size: var(--ps-ui-overline-size);
  font-weight: var(--ps-ui-heading-weight);
}

.ps-footer__trustindex-mark--verified {
  border-color: var(--ps-success);
  background: var(--ps-success);
  color: var(--ps-ui-on-color);
  box-shadow: none;
}

.ps-footer__trustindex > span:last-child {
  display: grid;
  gap: 2px;
}

.ps-footer__trustindex strong {
  color: inherit;
  font-size: var(--ps-ui-caption);
  font-weight: var(--ps-ui-strong-weight);
}

.ps-footer__trustindex strong,
.ps-footer__trustindex small {
  line-height: var(--ps-ui-leading-compact);
}

.ps-footer__trustindex small {
  color: var(--ps-footer-muted);
  font-size: var(--ps-ui-overline-size);
}

.ps-footer__trust-cert {
  color: var(--ps-footer-soft);
  font-size: var(--ps-ui-overline-size);
}

.ps-footer__nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 4vw, 46px);
}

.ps-footer__column h3,
.ps-footer__contact h3 {
  margin: 0 0 14px;
  color: var(--ps-footer-text);
  font-size: var(--ps-ui-small);
  font-weight: var(--ps-ui-heading-weight);
  line-height: var(--ps-ui-leading-card);
  letter-spacing: var(--ps-ui-tracking-body);
}

.ps-footer__column ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ps-footer__column a,
.ps-footer__contact-item,
.ps-footer__areas a {
  font-size: var(--ps-ui-small);
  line-height: var(--ps-ui-leading-compact);
  transition: color var(--ps-transition, 180ms ease);
}

.ps-footer__column a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
}

.ps-footer__column a:hover,
.ps-footer__column a:focus-visible,
.ps-footer__social a:hover,
.ps-footer__social a:focus-visible,
a.ps-footer__contact-item:hover,
a.ps-footer__contact-item:focus-visible,
.ps-footer__areas a:hover,
.ps-footer__areas a:focus-visible,
.ps-footer__legal a:hover,
.ps-footer__legal a:focus-visible {
  
  color: var(--ps-menu-link-hover-color, var(--ps-menu-link-color, var(--ps-ui-brand)));
  text-decoration: none;

}

.ps-footer__contact {
  display: grid;
  justify-items: start;
  gap: 8px;
}

.ps-footer__contact-item {
  display: block;
  max-width: 280px;
  color: var(--ps-footer-muted);
}

.ps-footer__areas {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  margin-block-start: var(--ps-layout-group);
  padding-block-start: var(--ps-layout-group);
  border-top: 1px solid var(--ps-footer-line);
}

.ps-footer__areas span {
  width: 100%;
  color: var(--ps-footer-soft);
  font-size: var(--ps-ui-small);
  font-weight: var(--ps-ui-strong-weight);
  line-height: var(--ps-ui-leading-compact);
}

.ps-footer__areas a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
}

.ps-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  margin-block-start: var(--ps-layout-group);
  padding-block-start: var(--ps-layout-group);
  border-top: 1px solid var(--ps-footer-line);
  color: var(--ps-footer-soft);
  font-size: var(--ps-ui-small);
  line-height: var(--ps-ui-leading-compact);
}

.ps-footer__bottom-copy {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.ps-footer__bottom p {
  margin: 0;
}

.ps-footer__company {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  color: var(--ps-footer-soft);
  font-size: var(--ps-ui-caption);
}

.ps-footer__company span::before {
  content: "·";
  margin-inline-end: 10px;
  color: rgba(255, 59, 5, 0.62);
}

.ps-footer__legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 14px;
}

.ps-footer__legal a {
  transition: color var(--ps-transition, 180ms ease);
}

body.ps-has-powersense-footer .site-footer:not(.ps-footer),
body.ps-has-powersense-footer footer.site-footer:not(.ps-footer),
body.ps-has-powersense-footer #colophon:not(.ps-footer),
body.ps-has-powersense-footer .elementor-location-footer:not(.ps-footer),
body.ps-has-powersense-footer .ast-footer-wrap,
body.ps-has-powersense-footer .footer-widgets,
body.ps-has-powersense-footer .footer-widget-area,
body.ps-has-powersense-footer .site-info {
  display: none !important;
}

@media (max-width: 1080px) {
  .ps-footer__cta,
  .ps-footer__main {
    grid-template-columns: 1fr;
  }

  .ps-footer__cta-actions {
    justify-content: flex-start;
  }

  .ps-footer__mission,
  .ps-footer__contact-item,
  .ps-footer__trust-proof {
    max-width: 640px;
  }
}

@media (max-width: 720px) {
  .ps-footer__cta-actions {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr;
  }


  

  

  .ps-footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 22px;
  }

  .ps-footer__bottom {
    display: grid;
    justify-items: start;
  }

  .ps-footer__legal {
    justify-content: flex-start;
  }
}

@media (max-width: 420px) {
  .ps-footer__trust-head {
    align-items: flex-start;
  }

  .ps-footer__trust-rating {
    flex-wrap: wrap;
  }
}

@media (max-width: 360px) {
  .ps-footer__nav {
    grid-template-columns: 1fr;
  }
}



/* PowerSense cookie consent module */

.ps-cookie-consent,
.ps-cookie-consent *,
.ps-cookie-consent *::before,
.ps-cookie-consent *::after,
.ps-cookie-consent__manage {
  box-sizing: border-box;
}

.ps-cookie-consent {
  --ps-cookie-bg: var(--ps-ui-paper);
  --ps-cookie-text: var(--ps-ui-ink);
  --ps-cookie-muted: var(--ps-ui-muted);
  --ps-cookie-soft: var(--ps-ui-muted);
  --ps-cookie-line: var(--ps-ui-card-line);
  --ps-cookie-line-strong: var(--ps-ui-line-strong);

  position: fixed;
  inset: auto max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
  
  z-index: var(--ps-layer-overlay, 1000);

  color: var(--ps-cookie-text);
  font-family: var(--ps-ui-font);
}

.ps-cookie-modal-open .ps-cookie-consent {
  
  z-index: var(--ps-layer-modal, 10000);

}

.ps-cookie-consent[hidden],
.ps-cookie-consent__bar[hidden],
.ps-cookie-consent__modal[hidden],
.ps-cookie-consent__manage[hidden] {
  display: none !important;
}

.ps-cookie-consent__bar {
  
  border: 1px solid var(--ps-ui-card-line);
  border-radius: var(--ps-ui-radius-card);
  background: var(--ps-ui-paper);
  box-shadow: var(--ps-ui-shadow-floating);

  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  width: min(100%, 920px);
  max-height: calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  margin-inline: auto;
  overflow: auto;
  padding: 24px;
}

.ps-cookie-consent__copy {
  min-width: 0;
}

.ps-cookie-consent__eyebrow {
  display: block;
  margin-block-end: 8px;
  color: var(--ps-cookie-soft);
  font-size: var(--ps-ui-overline-size);
  font-weight: var(--ps-ui-label-weight);
  line-height: var(--ps-ui-leading-label);
  letter-spacing: var(--ps-ui-tracking-label);
}

.ps-cookie-consent h2 {
  margin: 0;
  color: var(--ps-cookie-text);
  font-size: var(--ps-ui-component-title);
  font-weight: var(--ps-ui-heading-weight);
  line-height: var(--ps-ui-leading-heading);
  letter-spacing: var(--ps-ui-tracking-body);
}

.ps-cookie-consent p {
  max-width: 620px;
  margin: 10px 0 0;
  color: var(--ps-cookie-muted);
  font-size: var(--ps-ui-small);
  line-height: var(--ps-ui-leading-body);
}

.ps-cookie-consent__link {
  
  color: var(--ps-link-color, var(--ps-ui-brand));
  text-decoration-color: currentColor;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-skip-ink: auto;
  transition: color var(--ps-transition-fast), text-decoration-color var(--ps-transition-fast);

  display: inline-flex;
  margin-block-start: 10px;
  font-size: var(--ps-ui-small);
  font-weight: var(--ps-ui-strong-weight);
  line-height: var(--ps-ui-leading-compact);
}

.ps-cookie-consent__actions,
.ps-cookie-consent__panel-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.ps-cookie-consent__btn,
.ps-cookie-consent__icon-btn,
.ps-cookie-consent__manage {
  appearance: none;
}

.ps-cookie-consent__btn,
.ps-cookie-consent__icon-btn {
  border: 0;
  border-radius: var(--ps-ui-button-radius);
}

.ps-cookie-consent__btn,
.ps-cookie-consent__icon-btn,
.ps-cookie-consent__manage {
  font-family: inherit;
  line-height: var(--ps-ui-leading-control);
  cursor: pointer;
}

.ps-cookie-consent__btn {
  
  --ps-button-bg: var(--ps-ui-button-secondary-bg);
  --ps-button-color: var(--ps-ui-button-secondary-color);
  --ps-button-line: var(--ps-ui-button-secondary-line);
  --ps-button-hover-bg: var(--ps-ui-button-secondary-hover-bg);
  --ps-button-hover-color: var(--ps-ui-button-secondary-hover-color);
  --ps-button-hover-line: var(--ps-ui-button-secondary-hover-line);

  
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--ps-ui-control-height);
  max-width: 100%;
  padding: var(--ps-ui-button-padding);
  border: 1px solid var(--ps-button-line, var(--ps-ui-button-secondary-line));
  border-radius: var(--ps-ui-button-radius);
  background: var(--ps-button-bg, var(--ps-ui-button-secondary-bg));
  color: var(--ps-button-color, var(--ps-ui-button-secondary-color));
  box-shadow: var(--ps-button-shadow, var(--ps-ui-shadow-control));
  cursor: pointer;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-button-size);
  font-weight: var(--ps-ui-button-weight);
  line-height: var(--ps-ui-leading-control);
  letter-spacing: var(--ps-ui-tracking-body);
  text-align: center;
  text-decoration: none !important;
  text-transform: none;
  white-space: var(--ps-button-white-space, normal);
  transition: background var(--ps-transition), border-color var(--ps-transition), color var(--ps-transition), box-shadow var(--ps-transition);

}

.ps-cookie-consent__btn--primary {
  --ps-button-bg: var(--ps-ui-brand);
  --ps-button-color: var(--ps-ui-on-color);
  --ps-button-line: var(--ps-ui-brand);
  --ps-button-hover-bg: var(--ps-ui-brand-hover);
  --ps-button-hover-color: var(--ps-ui-on-color);
  --ps-button-hover-line: var(--ps-ui-brand-hover);
}

.ps-cookie-consent__btn--soft {
  
  --ps-button-bg: var(--ps-ui-button-secondary-bg);
  --ps-button-color: var(--ps-ui-button-secondary-color);
  --ps-button-line: var(--ps-ui-button-secondary-line);
  --ps-button-hover-bg: var(--ps-ui-button-secondary-hover-bg);
  --ps-button-hover-color: var(--ps-ui-button-secondary-hover-color);
  --ps-button-hover-line: var(--ps-ui-button-secondary-hover-line);

}

.ps-cookie-consent__btn--ghost {
  
  --ps-button-bg: var(--ps-ui-button-secondary-bg);
  --ps-button-color: var(--ps-ui-button-secondary-color);
  --ps-button-line: var(--ps-ui-button-secondary-line);
  --ps-button-hover-bg: var(--ps-ui-button-secondary-hover-bg);
  --ps-button-hover-color: var(--ps-ui-button-secondary-hover-color);
  --ps-button-hover-line: var(--ps-ui-button-secondary-hover-line);

  --ps-button-line: transparent;
  --ps-button-hover-line: transparent;
  --ps-button-hover-bg: transparent;
}

.ps-cookie-consent__btn--ghost:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]),
.ps-cookie-consent__btn--ghost:focus-visible:not(:disabled):not(.disabled):not([aria-disabled="true"]) {
  
  border-color: var(--ps-button-hover-line, var(--ps-ui-button-secondary-hover-line));
  background: var(--ps-button-hover-bg, var(--ps-ui-button-secondary-hover-bg));
  color: var(--ps-button-hover-color, var(--ps-ui-button-secondary-hover-color));
  text-decoration: none !important;
  transform: none;
  box-shadow: var(--ps-button-hover-shadow, var(--ps-ui-shadow-control));
  filter: none;

}

.ps-cookie-consent__link:hover,
.ps-cookie-consent__link:focus-visible {
  
  color: var(--ps-link-hover-color, var(--ps-ui-brand-hover));
  text-decoration-color: currentColor;

}

.ps-cookie-consent__btn--primary:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]),
.ps-cookie-consent__btn--primary:focus-visible:not(:disabled):not(.disabled):not([aria-disabled="true"]) {
  
  border-color: var(--ps-button-hover-line, var(--ps-ui-button-secondary-hover-line));
  background: var(--ps-button-hover-bg, var(--ps-ui-button-secondary-hover-bg));
  color: var(--ps-button-hover-color, var(--ps-ui-button-secondary-hover-color));
  text-decoration: none !important;
  transform: none;
  box-shadow: var(--ps-button-hover-shadow, var(--ps-ui-shadow-control));
  filter: none;

}

.ps-cookie-consent__btn--soft:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]),
.ps-cookie-consent__btn--soft:focus-visible:not(:disabled):not(.disabled):not([aria-disabled="true"]) {
  
  border-color: var(--ps-button-hover-line, var(--ps-ui-button-secondary-hover-line));
  background: var(--ps-button-hover-bg, var(--ps-ui-button-secondary-hover-bg));
  color: var(--ps-button-hover-color, var(--ps-ui-button-secondary-hover-color));
  text-decoration: none !important;
  transform: none;
  box-shadow: var(--ps-button-hover-shadow, var(--ps-ui-shadow-control));
  filter: none;

}


.ps-cookie-consent__modal {
  position: fixed;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  padding: 20px;
}

.ps-cookie-consent__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .34);
}

.ps-cookie-consent__panel {
  
  border: 1px solid var(--ps-ui-card-line);
  border-radius: var(--ps-ui-radius-card);
  background: var(--ps-ui-paper);
  box-shadow: var(--ps-ui-shadow-floating);

  position: relative;
  width: min(100%, 620px);
  max-height: min(760px, calc(100dvh - 40px));
  overflow: auto;
  padding: 24px;
}

.ps-cookie-consent__panel-head {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  justify-content: space-between;
  padding-block-end: 18px;
  border-bottom: 1px solid var(--ps-ui-card-divider);
}

.ps-cookie-consent__icon-btn {
  
  --ps-button-bg: var(--ps-ui-button-icon-bg);
  --ps-button-color: var(--ps-ui-button-icon-color);
  --ps-button-line: var(--ps-ui-button-icon-line);
  --ps-button-hover-bg: var(--ps-ui-button-icon-hover-bg);
  --ps-button-hover-color: var(--ps-ui-button-icon-hover-color);
  --ps-button-hover-line: var(--ps-ui-button-icon-hover-line);

  
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--ps-ui-control-height);
  max-width: 100%;
  padding: var(--ps-ui-button-padding);
  border: 1px solid var(--ps-button-line, var(--ps-ui-button-secondary-line));
  border-radius: var(--ps-ui-button-radius);
  background: var(--ps-button-bg, var(--ps-ui-button-secondary-bg));
  color: var(--ps-button-color, var(--ps-ui-button-secondary-color));
  box-shadow: var(--ps-button-shadow, var(--ps-ui-shadow-control));
  cursor: pointer;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-button-size);
  font-weight: var(--ps-ui-button-weight);
  line-height: var(--ps-ui-leading-control);
  letter-spacing: var(--ps-ui-tracking-body);
  text-align: center;
  text-decoration: none !important;
  text-transform: none;
  white-space: var(--ps-button-white-space, normal);
  transition: background var(--ps-transition), border-color var(--ps-transition), color var(--ps-transition), box-shadow var(--ps-transition);

  display: inline-flex;
  width: var(--ps-touch-target, 44px);
  height: var(--ps-touch-target, 44px);
  flex: 0 0 auto;
  padding: 0;
  font-size: var(--ps-ui-icon-size);
}

.ps-cookie-consent__icon-btn:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]),
.ps-cookie-consent__icon-btn:focus-visible:not(:disabled):not(.disabled):not([aria-disabled="true"]) {
  
  border-color: var(--ps-button-hover-line, var(--ps-ui-button-secondary-hover-line));
  background: var(--ps-button-hover-bg, var(--ps-ui-button-secondary-hover-bg));
  color: var(--ps-button-hover-color, var(--ps-ui-button-secondary-hover-color));
  text-decoration: none !important;
  transform: none;
  box-shadow: var(--ps-button-hover-shadow, var(--ps-ui-shadow-control));
  filter: none;

}

.ps-cookie-consent__form {
  display: grid;
  gap: 10px;
  margin-block: 18px;
}

.ps-cookie-consent__option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--ps-cookie-line);
  border-radius: var(--ps-ui-radius-control);
  background: var(--ps-ui-paper);
}

.ps-cookie-consent__option strong,
.ps-cookie-consent__option span span {
  display: block;
}

.ps-cookie-consent__option strong {
  color: var(--ps-cookie-text);
  font-size: var(--ps-ui-small);
  line-height: var(--ps-ui-leading-compact);
}

.ps-cookie-consent__option span span {
  margin-block-start: 4px;
  color: var(--ps-cookie-muted);
  font-size: var(--ps-ui-small);
  line-height: var(--ps-ui-leading-compact);
}

.ps-cookie-consent__option input {
  width: 20px;
  height: 20px;
  accent-color: var(--ps-ui-brand);
}

.ps-cookie-consent__manage {
  --ps-cookie-text: var(--ps-ui-ink);
  --ps-cookie-muted: var(--ps-ui-muted);
  --ps-cookie-line: var(--ps-ui-card-line);

  position: fixed;
  inset: auto auto calc(18px + env(safe-area-inset-bottom)) 0;
  
  z-index: var(--ps-layer-sticky, 100);

  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--ps-touch-target, 44px);
  min-width: var(--ps-touch-target, 44px);
  height: var(--ps-touch-target, 44px);
  min-height: var(--ps-touch-target, 44px);
  padding: 0;
  border: 1px solid var(--ps-cookie-line, rgba(29, 29, 31, .14));
  border-left: 0;
  border-radius: 0 var(--ps-ui-button-radius) var(--ps-ui-button-radius) 0;
  background: var(--ps-chrome-bg-strong);
  color: var(--ps-cookie-muted, #6e6e73);
  font-size: 0;
  font-weight: var(--ps-ui-button-weight);
  opacity: .72;
  box-shadow: none;
  pointer-events: auto;
  transition: width var(--ps-transition, 180ms ease),
    opacity var(--ps-transition, 180ms ease),
    background var(--ps-transition, 180ms ease),
    color var(--ps-transition, 180ms ease);

  -webkit-backdrop-filter: blur(18px) saturate(112%);

  backdrop-filter: blur(18px) saturate(112%);
}

.ps-cookie-consent__manage::before {
  content: "";
  width: 6px;
  height: 18px;
  border-radius: var(--ps-ui-radius-control);
  background: currentColor;
  opacity: .75;
}

.ps-cookie-consent__manage:hover,
.ps-cookie-consent__manage:focus-visible {
  width: 104px;
  padding-inline: 12px;
  background: var(--ps-ui-paper);
  color: var(--ps-cookie-text, #1d1d1f);
  font-size: var(--ps-ui-caption);
  opacity: 1;
}

.ps-cookie-consent__manage:hover::before,
.ps-cookie-consent__manage:focus-visible::before {
  display: none;
}

@media (max-width: 720px) {
  .ps-cookie-consent {
    inset: auto 12px 12px;
  }

  .ps-cookie-consent__bar {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 18px;
  }

  

  .ps-cookie-consent__actions,
  .ps-cookie-consent__panel-actions {
    justify-content: stretch;
  }

  .ps-cookie-consent__btn {
    flex: 1 1 100%;
}

  .ps-cookie-consent__panel {
    padding: 18px;
  }

  .ps-cookie-consent__option {
    grid-template-columns: 1fr;
  }

  .ps-cookie-consent__manage {
    inset: auto auto calc(10px + env(safe-area-inset-bottom)) 0;
  }
}




/* Public automatic quote form. Layout belongs here; the quote engine is unchanged. */
.ps-erp-offerpop.ps-erp-offerpop--v3 {
  --ps-pop-blue: var(--ps-ui-brand);
  --ps-pop-orange: var(--ps-ui-action);
  --ps-pop-action: var(--ps-ui-action);
  --ps-pop-action-hover: var(--ps-ui-action-hover);
  --ps-pop-surface: var(--ps-ui-paper);
  --ps-pop-soft: var(--ps-ui-surface);
  --ps-pop-border: var(--ps-ui-line);
  --ps-pop-control-border: var(--ps-ui-field-line);
  --ps-pop-control-hover: var(--ps-ui-field-hover-line);
  --ps-pop-control-shadow: none;
  --ps-pop-text: var(--ps-ui-ink);
  --ps-pop-muted: var(--ps-ui-muted);
  --ps-pop-faint: var(--ps-ui-muted);
  --ps-pop-danger: var(--ps-danger, #b91c1c);
  --ps-pop-success: var(--ps-success, #15803d);
  --ps-pop-radius: var(--ps-ui-radius-control);
  --ps-pop-panel-radius: var(--ps-ui-radius-card);
  --ps-pop-panel-maxw: 600px;
  --ps-pop-viewport: calc(var(--ps-vh, 1vh) * 100);
  --ps-pop-transition: var(--ps-transition, 180ms ease);
  color: var(--ps-pop-text);
  -webkit-font-smoothing: antialiased;
}

.ps-erp-offerpop.ps-erp-offerpop--v3,
.ps-erp-offerpop.ps-erp-offerpop--v3 * {
  box-sizing: border-box;
  font-family: var(--ps-ui-font);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 [hidden],
.ps-erp-offerpop.ps-erp-offerpop--v3 .is-hidden {
  display: none !important;
}

.ps-erp-offerpop.ps-erp-offerpop--portal {
  position: static !important;
  display: block;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 0;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

html.ps-erp-offerpop-lock,
body.ps-erp-offerpop-lock {
  overscroll-behavior: none;
}

/* Triggers live outside the modal, so they use the shared brand tokens directly. */
.ps-offer-trigger [data-open-offer-modal],
.ps-offer-trigger [data-ps-erp-offer-popup-trigger="1"] {
  
  --ps-button-bg: var(--ps-ui-action-surface);
  --ps-button-color: var(--ps-ui-on-color);
  --ps-button-line: var(--ps-ui-action);
  --ps-button-hover-bg: var(--ps-ui-action-surface-hover);
  --ps-button-hover-color: var(--ps-ui-on-color);
  --ps-button-hover-line: var(--ps-ui-action-hover);

  
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--ps-ui-control-height);
  max-width: 100%;
  padding: var(--ps-ui-button-padding);
  border: 1px solid var(--ps-button-line, var(--ps-ui-button-secondary-line));
  border-radius: var(--ps-ui-button-radius);
  background: var(--ps-button-bg, var(--ps-ui-button-secondary-bg));
  color: var(--ps-button-color, var(--ps-ui-button-secondary-color));
  box-shadow: var(--ps-button-shadow, var(--ps-ui-shadow-control));
  cursor: pointer;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-button-size);
  font-weight: var(--ps-ui-button-weight);
  line-height: var(--ps-ui-leading-control);
  letter-spacing: var(--ps-ui-tracking-body);
  text-align: center;
  text-decoration: none !important;
  text-transform: none;
  white-space: var(--ps-button-white-space, normal);
  transition: background var(--ps-transition), border-color var(--ps-transition), color var(--ps-transition), box-shadow var(--ps-transition);

}

.ps-offer-trigger [data-open-offer-modal] *,
.ps-offer-trigger [data-ps-erp-offer-popup-trigger="1"] * {
  color: inherit;
}

.ps-offer-trigger [data-open-offer-modal]:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]),
.ps-offer-trigger [data-ps-erp-offer-popup-trigger="1"]:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]) {
  
  border-color: var(--ps-button-hover-line, var(--ps-ui-button-secondary-hover-line));
  background: var(--ps-button-hover-bg, var(--ps-ui-button-secondary-hover-bg));
  color: var(--ps-button-hover-color, var(--ps-ui-button-secondary-hover-color));
  text-decoration: none !important;
  transform: none;
  box-shadow: var(--ps-button-hover-shadow, var(--ps-ui-shadow-control));
  filter: none;

}


.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__modal {
  position: fixed;
  inset: 0;
  
  z-index: var(--ps-layer-modal, 10000);

  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  visibility: hidden;
  pointer-events: none;
  /* An opacity fade here clips the child's backdrop until the last frame. */
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__modal.ps-erp-offerpop--open {
  visibility: visible;
  pointer-events: auto;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(var(--ps-image-overlay-rgb), 0.54);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  opacity: 0;
  /* Fade the filtered layer itself, independently of the form panel. */
  transition: opacity var(--ps-pop-transition);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop--open .ps-erp-offerpop__overlay {
  opacity: 1;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__panel {
  
  border: 1px solid var(--ps-ui-card-line);
  border-radius: var(--ps-ui-radius-card);
  background: var(--ps-ui-paper);
  box-shadow: var(--ps-ui-shadow-floating);

  position: relative;
  z-index: 2;
  width: min(100%, var(--ps-pop-panel-maxw));
  min-width: 0;
  max-height: calc(var(--ps-pop-viewport) - 24px);
  overflow: hidden;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity var(--ps-pop-transition), transform var(--ps-pop-transition);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop--open .ps-erp-offerpop__panel {
  opacity: 1;
  transform: translateY(0);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__close {
  
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--ps-ui-control-height);
  max-width: 100%;
  padding: var(--ps-ui-button-padding);
  border: 1px solid var(--ps-button-line, var(--ps-ui-button-secondary-line));
  border-radius: var(--ps-ui-button-radius);
  background: var(--ps-button-bg, var(--ps-ui-button-secondary-bg));
  color: var(--ps-button-color, var(--ps-ui-button-secondary-color));
  box-shadow: var(--ps-button-shadow, var(--ps-ui-shadow-control));
  cursor: pointer;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-button-size);
  font-weight: var(--ps-ui-button-weight);
  line-height: var(--ps-ui-leading-control);
  letter-spacing: var(--ps-ui-tracking-body);
  text-align: center;
  text-decoration: none !important;
  text-transform: none;
  white-space: var(--ps-button-white-space, normal);
  transition: background var(--ps-transition), border-color var(--ps-transition), color var(--ps-transition), box-shadow var(--ps-transition);

  position: absolute;
  z-index: 3;
  top: 12px;
  right: 12px;
  display: grid;
  place-items: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  line-height: 0;
  -webkit-tap-highlight-color: transparent;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__close-icon {
  display: block;
  width: 20px;
  height: 20px;
  margin: 0;
  pointer-events: none;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__close:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]),
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__close:focus-visible:not(:disabled):not(.disabled):not([aria-disabled="true"]) {
  
  border-color: var(--ps-button-hover-line, var(--ps-ui-button-secondary-hover-line));
  background: var(--ps-button-hover-bg, var(--ps-ui-button-secondary-hover-bg));
  color: var(--ps-button-hover-color, var(--ps-ui-button-secondary-hover-color));
  text-decoration: none !important;
  transform: none;
  box-shadow: var(--ps-button-hover-shadow, var(--ps-ui-shadow-control));
  filter: none;

}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__panel > .ps-erp-offerpop__close:active {
  background: var(--ps-ui-brand-soft);
  transform: none;
}

/* Only this region scrolls; the close button stays available while filling the form. */
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__wrap {
  position: relative;
  max-height: calc(var(--ps-pop-viewport) - 26px);
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 0;
  scroll-padding-block: 16px;
  scrollbar-width: thin;
  scrollbar-color: rgba(8, 0, 99, 0.24) transparent;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__container,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__form {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__container {
  gap: 0;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__form {
  gap: 24px;
  padding: 24px;
  background: var(--ps-ui-paper);
}

/* Shared inverse title surface. Form fields retain the light surface contract. */
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__container > .ps-erp-offerpop__row:first-child {
  
  --ps-focus-ring: var(--ps-ui-on-color);
  background: var(--ps-ui-ink);
  color: var(--ps-ui-on-color);

  position: relative;
  padding: 28px 24px 24px;
  border-bottom: 1px solid var(--ps-ui-line);
}



.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__head {
  position: relative;
  padding: 0 48px 0 0;
  --ps-focus-ring: var(--ps-ui-on-color);
}



.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__title {
  margin: 0 0 12px;
  color: var(--ps-ui-on-color);
  font-size: var(--ps-ui-h2);
  font-weight: var(--ps-ui-heading-weight);
  line-height: var(--ps-ui-leading-heading);
  letter-spacing: var(--ps-ui-tracking-heading);
  text-wrap: balance;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__subtitle {
  margin: 0;
  color: var(--ps-ui-inverse-muted);
  font-size: var(--ps-ui-small);
  line-height: var(--ps-ui-leading-compact);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__context {
  
  padding: var(--ps-ui-note-padding);
  border: 0;
  border-left: var(--ps-ui-note-line-width) solid var(--ps-ui-brand);
  border-radius: var(--ps-ui-note-radius);
  background: var(--ps-ui-note-bg);
  color: var(--ps-ui-muted);
  font-size: var(--ps-ui-note-size);
  line-height: var(--ps-ui-leading-body);

  display: grid;
  gap: var(--ps-space-1);
  margin: 0;
  overflow-wrap: anywhere;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__context > span {
  color: var(--ps-pop-muted);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__context > strong {
  color: var(--ps-pop-blue);
  font-weight: var(--ps-ui-label-weight);
}

/* Flat groups frame one integrated solution; there are no nested option cards. */
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__section {
  display: grid;
  min-width: 0;
  gap: 16px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__section-title {
  
  margin: 0;
  color: var(--ps-ui-ink);
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-component-title);
  font-weight: var(--ps-ui-heading-weight);
  line-height: var(--ps-ui-leading-card);
  letter-spacing: var(--ps-ui-tracking-card);
  text-transform: none;

  display: flex;
  align-items: center;
  gap: var(--ps-space-3);
  width: 100%;
  padding: 0;
}



.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__section-title::after {
  flex: 1 1 24px;
  height: 1px;
  margin-left: 6px;
  background: var(--ps-ui-line);
  content: "";
}







.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__solution {
  
  border: 1px solid var(--ps-card-line, var(--ps-ui-card-line));
  border-radius: var(--ps-ui-radius-card);
  background: var(--ps-card-bg, var(--ps-ui-card-bg));
  box-shadow: var(--ps-card-shadow, var(--ps-ui-shadow-card));
  transition: border-color var(--ps-transition), background var(--ps-transition), box-shadow var(--ps-transition);

  position: relative;
  display: grid;
  min-width: 0;
  gap: 16px;
  margin: 0;
  padding: 16px;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__solution-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
  gap: 8px 12px;
  margin: 0;
  padding: 0;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 legend.ps-erp-offerpop__solution-head {
  float: left;
  width: 100%;
  padding: 0;
  margin: 0 0 4px;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__solution-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: var(--ps-pop-blue);
  font-size: var(--ps-ui-component-title);
  font-weight: var(--ps-ui-heading-weight);
  line-height: var(--ps-ui-leading-card);
  letter-spacing: var(--ps-ui-tracking-card);
  overflow-wrap: anywhere;
}



.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__sizing-grid {
  display: grid;
  /* A lone visible measurement fills the card; two share its desktop width. */
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  align-items: start;
  min-width: 0;
  gap: 16px 12px;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__sizing-field {
  position: relative;
  min-width: 0;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__row {
  min-width: 0;
  margin: 0;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__row--2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__solution .ps-erp-offerpop__row--2 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__field {
  position: relative;
  display: block;
  min-width: 0;
  margin: 0;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__field--full {
  grid-column: 1 / -1;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__label {
  display: flex;
  align-items: center;
  min-height: 32px;
  margin: 0 0 8px;
  color: var(--ps-ui-ink);
  font-size: var(--ps-ui-small);
  font-weight: var(--ps-ui-label-weight);
  line-height: var(--ps-ui-leading-compact);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__required {
  display: none;
  flex: none;
  margin-left: 4px;
  color: var(--ps-pop-danger);
  font-weight: var(--ps-ui-label-weight);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__field:has(:is(input, select)[required]:not(:disabled)) .ps-erp-offerpop__label > .ps-erp-offerpop__required,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__field:has(select[name="inverter_choice_token"][required]) .ps-erp-offerpop__label > .ps-erp-offerpop__required,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__check:has(input[required]:not(:disabled)) .ps-erp-offerpop__required {
  display: inline;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__label-row {
  display: flex;
  align-items: center;
  min-height: 32px;
  gap: 4px;
  margin-bottom: 8px;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__label-row .ps-erp-offerpop__label {
  min-width: 0;
  min-height: 0;
  margin: 0;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__info-button {
  position: relative;
  display: inline-flex;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-width: 44px;
  max-width: 44px;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  aspect-ratio: 1;
  /* Keep the label row compact while retaining a square touch target. */
  margin: -6px -4px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  color: var(--ps-pop-blue);
  box-shadow: none;
  cursor: pointer;
  line-height: var(--ps-ui-leading-control);
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__info-icon {
  display: block;
  flex: none;
  width: 24px;
  min-width: 24px;
  height: 24px;
  min-height: 24px;
  pointer-events: none;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__info-disc {
  fill: var(--ps-ui-brand-soft);
  transition: fill var(--ps-pop-transition);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__info-button:hover .ps-erp-offerpop__info-disc,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__info-button:focus-visible .ps-erp-offerpop__info-disc,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__info-button[aria-expanded="true"] .ps-erp-offerpop__info-disc {
  fill: var(--ps-ui-brand-soft);
}


.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__tooltip {
  position: absolute;
  z-index: 6;
  top: 38px;
  left: 0;
  width: min(320px, 100%);
  margin: 0;
  padding: 12px 16px;
  border: 1px solid var(--ps-ui-line);
  border-radius: var(--ps-ui-radius-card);
  background: var(--ps-ui-paper);
  color: var(--ps-pop-blue);
  box-shadow: var(--ps-ui-shadow);
  overflow-wrap: anywhere;
  font-size: var(--ps-ui-small);
  font-weight: var(--ps-ui-body-weight);
  line-height: var(--ps-ui-leading-compact);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__input,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__select {
  
  min-height: var(--ps-ui-control-height);
  padding: var(--ps-field-padding, var(--ps-ui-field-padding));
  border: 1px solid var(--ps-field-line, var(--ps-ui-field-line));
  border-radius: var(--ps-ui-radius-control);
  background: var(--ps-field-bg, var(--ps-ui-field-bg));
  color: var(--ps-field-color, var(--ps-ui-field-color));
  box-shadow: none;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-body);
  font-weight: var(--ps-ui-body-weight);
  line-height: var(--ps-ui-leading-control);
  transition: border-color var(--ps-transition), box-shadow var(--ps-transition), background var(--ps-transition);

  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__input {
  appearance: auto;
  background-image: none;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__input::placeholder {
  color: var(--ps-pop-faint);
  opacity: 1;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__select {
  padding-right: 44px;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23080063' fill-opacity='.05'/%3E%3Cpath d='M7.5 10L12 14.5L16.5 10' stroke='%23080063' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 24px 24px;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__select[name="project_goal"] {
  color: var(--ps-pop-blue);
  font-weight: var(--ps-ui-label-weight);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__select[name="inverter_choice_token"]:not(:disabled) {
  color: var(--ps-pop-blue);
  font-weight: var(--ps-ui-label-weight);
}


.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__input:focus,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__select:focus {
  
  border-color: var(--ps-field-focus-border);

  
  outline: 0;
  box-shadow: none;

}



.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__unit-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__unit-field .ps-erp-offerpop__input {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__unit-field > span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 12px;
  border: 1px solid var(--ps-pop-control-border);
  border-left: 0;
  border-radius: var(--ps-ui-radius-card);
  background: var(--ps-pop-soft);
  color: var(--ps-pop-muted);
  font-size: var(--ps-ui-small);
  line-height: var(--ps-ui-leading-compact);
  white-space: nowrap;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-control {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 56px;
  padding: 5px;
  border: 1px solid var(--ps-pop-control-border);
  border-radius: var(--ps-ui-radius-control);
  background: var(--ps-ui-paper);
  box-shadow: none;
  transition: border-color var(--ps-pop-transition), box-shadow var(--ps-pop-transition);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__sizing-field:not(.is-error):not(.is-adjusted) .ps-erp-offerpop__number-control:hover:not(:focus-within):has(input:not(:disabled)):not(:has(input[aria-invalid="true"])) {
  border-color: var(--ps-pop-control-hover);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-control:has(:where(input:focus:not(:disabled))) {
  
  border-color: var(--ps-field-focus-border);

  
  outline: 0;
  box-shadow: none;

}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-control .ps-erp-offerpop__input {
  flex: 0 1 4.5ch;
  width: 4.5ch;
  min-width: 0;
  min-height: 44px;
  height: 44px;
  margin: 0;
  padding: 0 2px;
  border: 0;
  border-radius: 0;
  appearance: textfield;
  -moz-appearance: textfield;
  background: transparent;
  box-shadow: none;
  color: var(--ps-pop-blue);
  font-size: var(--ps-ui-metric);
  font-weight: var(--ps-ui-strong-weight);
  line-height: var(--ps-ui-leading-heading);
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--ps-ui-tracking-card);
  text-align: right;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-control .ps-erp-offerpop__input:focus {
  outline: 0;
  box-shadow: none;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-control .ps-erp-offerpop__input:hover:not(:disabled):not(:focus):not([aria-invalid="true"]) {
  box-shadow: none;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-control .ps-erp-offerpop__input::-webkit-inner-spin-button,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-control .ps-erp-offerpop__input::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-step {
  position: relative;
  display: inline-flex;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-width: 44px;
  max-width: 44px;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  appearance: none;
  background: transparent;
  color: var(--ps-pop-blue);
  box-shadow: none;
  cursor: pointer;
  line-height: 0;
  -webkit-tap-highlight-color: transparent;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-step::before {
  position: absolute;
  inset: 6px;
  border: 1px solid var(--ps-ui-line);
  border-radius: 50%;
  background: var(--ps-ui-surface);
  content: "";
  pointer-events: none;
  transition: background-color var(--ps-pop-transition), border-color var(--ps-pop-transition);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__step-icon {
  position: relative;
  display: block;
  flex: none;
  width: 18px;
  height: 18px;
  margin: 0;
  pointer-events: none;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-step:first-child {
  margin-right: auto;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-step:last-child {
  margin-left: auto;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-step:hover:not(:disabled)::before,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-step:focus-visible:not(:disabled)::before {
  border-color: var(--ps-ui-brand);
  background: var(--ps-ui-brand-soft);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-control > .ps-erp-offerpop__number-step:active:not(:disabled) {
  transform: none;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-step:active:not(:disabled)::before {
  background: var(--ps-ui-brand-soft);
}


.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-step:disabled,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-control .ps-erp-offerpop__input:disabled {
  background: var(--ps-pop-soft);
  color: var(--ps-pop-faint);
  cursor: not-allowed;
  opacity: 1;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-unit {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  min-width: 0;
  padding: 0 12px 0 4px;
  color: var(--ps-pop-muted);
  font-size: var(--ps-ui-small);
  font-weight: var(--ps-ui-label-weight);
  line-height: var(--ps-ui-leading-compact);
  white-space: nowrap;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__recommendation {
  display: block;
  margin: 8px 0 0;
  color: var(--ps-pop-muted);
  font-size: var(--ps-ui-small);
  line-height: var(--ps-ui-leading-compact);
  overflow-wrap: anywhere;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__recommendation:empty {
  display: none;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__sizing-field.is-adjusted .ps-erp-offerpop__number-control {
  border-color: var(--ps-pop-action);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__sizing-field.is-adjusted:not(.is-error) .ps-erp-offerpop__number-control:focus-within:not(:has(input[aria-invalid="true"])) {
  border-color: var(--ps-pop-blue);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__sizing-field.is-adjusted .ps-erp-offerpop__recommendation {
  color: var(--ps-ui-accent-text);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__recommendation-reset {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: fit-content;
  max-width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 8px 10px;
  border: 0;
  border-radius: var(--ps-ui-button-radius);
  appearance: none;
  background: transparent;
  color: var(--ps-pop-blue);
  box-shadow: none;
  cursor: pointer;
  font-size: var(--ps-ui-button-size);
  font-weight: var(--ps-ui-button-weight);
  line-height: var(--ps-ui-leading-control);
  text-align: left;
  text-decoration: none;
  text-underline-offset: 3px;

  font-family: var(--ps-ui-font);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__recommendation-reset:hover:not(:disabled),
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__recommendation-reset:focus-visible:not(:disabled) {
  background: var(--ps-ui-surface);
  color: var(--ps-ui-brand-hover);

  border-color: var(--ps-ui-line-strong);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__recommendation-reset:disabled {
  color: var(--ps-pop-faint);
  cursor: not-allowed;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__help,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__match-status {
  display: block;
  margin: 8px 0 0;
  color: var(--ps-pop-muted);
  overflow-wrap: anywhere;
  font-size: var(--ps-ui-small);
  line-height: var(--ps-ui-leading-compact);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__help:empty,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__match-status:empty {
  display: none;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__match-status.is-loading {
  color: var(--ps-pop-blue);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__match-status.is-error {
  color: var(--ps-pop-danger);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__configuration {
  min-width: 0;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__details {
  min-width: 0;
  margin: 0;
  border: 0;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__details-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  padding: 8px 10px;
  margin-inline: -10px;
  border-radius: var(--ps-ui-radius-card);
  color: var(--ps-pop-blue);
  cursor: pointer;
  font-size: var(--ps-ui-small);
  font-weight: var(--ps-ui-label-weight);
  line-height: var(--ps-ui-leading-compact);
  list-style: none;
  transition: background-color var(--ps-pop-transition);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__details-summary:hover,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__details-summary:focus-visible,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__details[open] > .ps-erp-offerpop__details-summary {
  background: var(--ps-ui-surface);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__details-summary::-webkit-details-marker {
  display: none;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__details-summary::after {
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  margin-right: 5px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  content: "";
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__details[open] > .ps-erp-offerpop__details-summary::after {
  transform: rotate(225deg);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__details[open] > .ps-erp-offerpop__details-summary {
  margin-bottom: 12px;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__consent {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__check {
  display: flex;
  align-items: flex-start;
  min-height: 44px;
  gap: 12px;
  margin: 0;
  padding: 0;
  color: var(--ps-pop-muted);
  cursor: pointer;
  font-size: var(--ps-ui-small);
  font-weight: var(--ps-ui-body-weight);
  line-height: var(--ps-ui-leading-compact);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__check input[type="checkbox"] {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  padding: 0;
  accent-color: var(--ps-pop-blue);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__check > span::before {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 6px;
  vertical-align: -1px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23080063' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='11' rx='2'/%3E%3Cpath d='M8 10V6A4 4 0 0 1 16 6V10M12 14V17'/%3E%3C/svg%3E") center / contain no-repeat;
  content: "";
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__check a {
  
  color: var(--ps-link-color, var(--ps-ui-brand));
  text-decoration-color: currentColor;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-skip-ink: auto;
  transition: color var(--ps-transition-fast), text-decoration-color var(--ps-transition-fast);

}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__check a:is(:hover, :focus-visible) {
  
  color: var(--ps-link-hover-color, var(--ps-ui-brand-hover));
  text-decoration-color: currentColor;

}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__field.is-error .ps-erp-offerpop__input,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__input[aria-invalid="true"] {
  border-color: var(--ps-pop-danger);
  box-shadow: none;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-control .ps-erp-offerpop__input[aria-invalid="true"] {
  box-shadow: none;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__sizing-field.is-error .ps-erp-offerpop__number-control,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-control:has(.ps-erp-offerpop__input[aria-invalid="true"]) {
  border-color: var(--ps-pop-danger);
  box-shadow: none;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__field.is-error .ps-erp-offerpop__input:focus,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__input[aria-invalid="true"]:focus,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__sizing-field.is-error .ps-erp-offerpop__number-control:has(input:focus),
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-control:has(.ps-erp-offerpop__input[aria-invalid="true"]:focus) {
  
  outline: 0;
  box-shadow: none;

}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-control .ps-erp-offerpop__input[aria-invalid="true"]:focus {
  outline: 0;
  box-shadow: none;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__field.is-error > .ps-erp-offerpop__label,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__consent.is-error .ps-erp-offerpop__check {
  color: var(--ps-pop-danger);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__consent.is-error input[type="checkbox"] {
  outline: 2px solid var(--ps-pop-danger);
  outline-offset: 2px;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__error {
  display: block;
  margin-top: 8px;
  color: var(--ps-pop-danger);
  font-size: var(--ps-ui-small);
  line-height: var(--ps-ui-leading-compact);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__error:empty {
  display: none;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__cta-row {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding-top: 20px;
  border-top: 1px solid var(--ps-ui-line);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__cta {
  
  --ps-button-bg: var(--ps-ui-action-surface);
  --ps-button-color: var(--ps-ui-on-color);
  --ps-button-line: var(--ps-ui-action);
  --ps-button-hover-bg: var(--ps-ui-action-surface-hover);
  --ps-button-hover-color: var(--ps-ui-on-color);
  --ps-button-hover-line: var(--ps-ui-action-hover);

  
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--ps-ui-control-height);
  max-width: 100%;
  padding: var(--ps-ui-button-padding);
  border: 1px solid var(--ps-button-line, var(--ps-ui-button-secondary-line));
  border-radius: var(--ps-ui-button-radius);
  background: var(--ps-button-bg, var(--ps-ui-button-secondary-bg));
  color: var(--ps-button-color, var(--ps-ui-button-secondary-color));
  box-shadow: var(--ps-button-shadow, var(--ps-ui-shadow-control));
  cursor: pointer;
  font-family: var(--ps-ui-font);
  font-size: var(--ps-ui-button-size);
  font-weight: var(--ps-ui-button-weight);
  line-height: var(--ps-ui-leading-control);
  letter-spacing: var(--ps-ui-tracking-body);
  text-align: center;
  text-decoration: none !important;
  text-transform: none;
  white-space: var(--ps-button-white-space, normal);
  transition: background var(--ps-transition), border-color var(--ps-transition), color var(--ps-transition), box-shadow var(--ps-transition);

  width: 100%;
  margin: 0;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__cta::after {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10H16M11 5L16 10L11 15'/%3E%3C/svg%3E") center / contain no-repeat;
  content: "";
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__cta:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]),
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__cta:focus-visible:not(:disabled):not(.disabled):not([aria-disabled="true"]) {
  
  border-color: var(--ps-button-hover-line, var(--ps-ui-button-secondary-hover-line));
  background: var(--ps-button-hover-bg, var(--ps-ui-button-secondary-hover-bg));
  color: var(--ps-button-hover-color, var(--ps-ui-button-secondary-hover-color));
  text-decoration: none !important;
  transform: none;
  box-shadow: var(--ps-button-hover-shadow, var(--ps-ui-shadow-control));
  filter: none;

}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__cta:disabled {
  opacity: 0.65;
  box-shadow: none;
  cursor: wait;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__cta-note {
  max-width: 50ch;
  margin-inline: auto;
  color: var(--ps-pop-muted);
  font-size: var(--ps-ui-button-size);
  line-height: var(--ps-ui-leading-control);
  text-align: center;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__status {
  display: none;
  margin: 0;
  padding: var(--ps-ui-note-padding);
  border: 0;
  border-left: var(--ps-ui-note-line-width) solid var(--ps-pop-border);
  border-radius: var(--ps-ui-note-radius);
  background: var(--ps-ui-note-bg);
  color: var(--ps-pop-text);
  overflow-wrap: anywhere;
  font-size: var(--ps-ui-small);
  line-height: var(--ps-ui-leading-compact);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__status--ok,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__status--err,
.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__status--info {
  display: block;
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__status--ok {
  border-left-color: var(--ps-pop-success);
  background: var(--ps-success-bg);
  color: var(--ps-pop-success);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__status--err {
  border-left-color: var(--ps-pop-danger);
  color: var(--ps-pop-danger);
}

.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__status--info {
  border-left-color: var(--ps-pop-blue);
  color: var(--ps-pop-blue);
}


.ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__honeypot,
.ps-erp-offerpop.ps-erp-offerpop--v3 [data-ps-honeypot="1"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

@supports (height: 100dvh) {
  .ps-erp-offerpop.ps-erp-offerpop--v3 {
    --ps-pop-viewport: min(100dvh, calc(var(--ps-vh, 1vh) * 100));
  }
}

/* Give desktop fields more breathing room without changing the mobile form. */
@media (min-width: 768px) {
  .ps-erp-offerpop.ps-erp-offerpop--v3 {
    --ps-pop-panel-maxw: 700px;
  }

  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__form {
    padding-inline: 32px;
  }

  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__container > .ps-erp-offerpop__row:first-child {
    padding-inline: 32px;
  }

  

  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__solution {
    padding: 20px;
  }

  

  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__row--2,
  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__sizing-grid {
    column-gap: 16px;
  }

  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__close {
    top: 16px;
    right: 16px;
  
  color: var(--ps-ui-ink);
}
}

@media (max-width: 980px) {
  .ps-landing .hero-actions [data-open-offer-modal],
  .ps-landing .hero-actions [data-ps-erp-offer-popup-trigger="1"],
  .ps-home-hero__actions [data-open-offer-modal],
  .ps-home-hero__actions [data-ps-erp-offer-popup-trigger="1"] {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 720px) {
  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__modal {
    padding: 8px;
  }

  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__panel {
    max-height: calc(var(--ps-pop-viewport) - 16px);
  }

  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__wrap {
    max-height: calc(var(--ps-pop-viewport) - 18px);
  }

  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__form {
    padding: 24px max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  }

  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__container > .ps-erp-offerpop__row:first-child {
    padding: max(24px, env(safe-area-inset-top)) 16px 24px;
  }

  

  

  

  

  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__close {
    top: 8px;
    right: 8px;
  
  color: var(--ps-ui-ink);
}

  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__row--2,
  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__solution .ps-erp-offerpop__row--2,
  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__sizing-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}



@media (forced-colors: active) {
  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__close,
  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__cta,
  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-step::before {
    border-color: ButtonText;
  }

  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__input:focus-visible,
  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__input[aria-invalid="true"]:focus-visible,
  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-control:has(input:focus-visible),
  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-control:has(.ps-erp-offerpop__input[aria-invalid="true"]:focus-visible) {
    outline: 2px solid Highlight;
    outline-offset: 2px;
    box-shadow: none;
  }

  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-control .ps-erp-offerpop__input:focus-visible,
  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__number-control .ps-erp-offerpop__input[aria-invalid="true"]:focus-visible {
    outline: 0;
  }

  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__info-disc {
    fill: Canvas;
    stroke: ButtonText;
    stroke-width: 1px;
  }

  .ps-erp-offerpop.ps-erp-offerpop--v3 .ps-erp-offerpop__select {
    padding-right: 14px;
    appearance: auto;
    -webkit-appearance: auto;
    background-image: none;
  }
}

.ps-floating-contact,
.ps-floating-contact *,
.ps-floating-contact *::before,
.ps-floating-contact *::after {
  box-sizing: border-box;
}

.ps-floating-contact {
  --ps-contact-accent: var(--ps-ui-brand);
  --ps-contact-ink: var(--ps-ui-ink);
  --ps-contact-muted: var(--ps-ui-muted);
  --ps-contact-border: var(--ps-ui-card-line);
  position: fixed;
  right: max(var(--ps-space-5, 24px), env(safe-area-inset-right));
  bottom: max(var(--ps-space-5, 24px), env(safe-area-inset-bottom));
  
  z-index: var(--ps-layer-sticky, 100);

  display: flex;
  flex-direction: column;
  align-items: flex-end;
  color: var(--ps-contact-ink);
  font-family: var(--ps-ui-font);
  pointer-events: none;
}

body.ps-chat-layer-open .ps-floating-contact,
body.ps-header-layer-open .ps-floating-contact,
body.ps-woo-mobile-cat-open .ps-floating-contact,
body.ps-woo-catalog-drawer-is-open .ps-floating-contact,
body.ps-systems-configurator-is-open .ps-floating-contact {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.ps-floating-contact__menu {
  
  border: 1px solid var(--ps-ui-card-line);
  border-radius: var(--ps-ui-radius-card);
  background: var(--ps-ui-paper);
  box-shadow: var(--ps-ui-shadow-floating);

  width: min(300px, calc(100vw - 32px));
  margin-bottom: var(--ps-space-3, 12px);
  padding: var(--ps-space-2, 8px);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transform-origin: right bottom;
  transition: opacity var(--ps-transition, 180ms ease), transform var(--ps-transition, 180ms ease), visibility var(--ps-transition, 180ms ease);
  pointer-events: none;
}

.ps-floating-contact.is-open .ps-floating-contact__menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.ps-floating-contact__item {
  --ps-menu-link-color: var(--ps-contact-ink);
  --ps-menu-link-hover-color: var(--ps-ui-brand);
  --ps-menu-surface-hover-bg: var(--ps-ui-surface);
  
  font-family: var(--ps-ui-font);
  color: var(--ps-menu-link-color, var(--ps-ui-ink));
  text-decoration: none;
  transition: background-color var(--ps-transition-fast), border-color var(--ps-transition-fast), color var(--ps-transition-fast), text-decoration-color var(--ps-transition-fast);

  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: var(--ps-space-3, 12px);
  align-items: center;
  min-height: 62px;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: var(--ps-ui-radius-control);
  background: transparent;
  transition: background var(--ps-transition, 180ms ease), border-color var(--ps-transition, 180ms ease);
}

.ps-floating-contact__item + .ps-floating-contact__item {
  margin-top: var(--ps-space-1, 4px);
}

.ps-floating-contact__item:hover,
.ps-floating-contact__item:focus-visible {
  
  color: var(--ps-menu-link-hover-color, var(--ps-menu-link-color, var(--ps-ui-brand)));
  text-decoration: none;

  
  background: var(--ps-menu-surface-hover-bg, var(--ps-ui-brand-soft));
  border-color: var(--ps-menu-surface-hover-line, var(--ps-ui-line-strong));
  box-shadow: none;
  transform: none;

}



.ps-floating-contact__item-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--ps-ui-line);
  border-radius: var(--ps-ui-radius-control);
  background: var(--ps-ui-surface);
  color: var(--ps-contact-accent);
}

.ps-floating-contact__item-icon svg,
.ps-floating-contact__trigger-icon svg {
  display: block;
  width: 21px;
  height: 21px;
  fill: currentColor;
}

.ps-floating-contact__item-copy,
.ps-floating-contact__item-copy strong,
.ps-floating-contact__item-copy small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.ps-floating-contact__item-copy strong {
  color: var(--ps-contact-ink);
  font-size: var(--ps-ui-small);
  font-weight: var(--ps-ui-strong-weight);
  line-height: var(--ps-ui-leading-label);
}

.ps-floating-contact__item-copy small {
  margin-top: 3px;
  color: var(--ps-contact-muted);
  font-size: var(--ps-ui-caption);
  font-weight: var(--ps-ui-body-weight);
  line-height: var(--ps-ui-leading-compact);
}

.ps-floating-contact__trigger {
  display: grid;
  place-items: center;
  width: 56px;
  min-width: 56px;
  height: 56px;
  min-height: 56px;
  padding: 0;
  border: 1px solid var(--ps-ui-brand);
  border-radius: var(--ps-ui-button-radius);
  background: var(--ps-ui-brand);
  color: var(--ps-ui-on-color);
  box-shadow: var(--ps-ui-shadow);
  font: inherit;
  cursor: pointer;
  pointer-events: auto;
  transition: background var(--ps-transition, 180ms ease), border-color var(--ps-transition, 180ms ease), box-shadow var(--ps-transition, 180ms ease);
}

.ps-floating-contact__trigger:hover,
.ps-floating-contact__trigger:focus-visible,
.ps-floating-contact.is-open .ps-floating-contact__trigger {
  border-color: var(--ps-ui-brand-hover);
  background: var(--ps-ui-brand-hover);
  box-shadow: var(--ps-ui-shadow);
}

.ps-floating-contact__trigger-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ps-floating-contact__trigger-icon {
  display: grid;
  place-items: center;
}

.ps-floating-contact__trigger-icon--close,
.ps-floating-contact.is-open .ps-floating-contact__trigger-icon--contact {
  display: none;
}

.ps-floating-contact.is-open .ps-floating-contact__trigger-icon--close {
  display: grid;
}

@media (max-width: 600px) {
  .ps-floating-contact {
    right: max(var(--ps-space-4, 16px), env(safe-area-inset-right));
    bottom: max(var(--ps-space-4, 16px), env(safe-area-inset-bottom));
  }

  .ps-floating-contact__menu {
    width: min(292px, calc(100vw - 32px));
  }

  .ps-floating-contact__trigger {
    width: 52px;
    min-width: 52px;
    height: 52px;
    min-height: 52px;
  }
}



