/* ============================
   Custom Header Search Styles
=============================== */
.search__button {
  right: var(--inputs-border-width);
  top: var(--inputs-border-width);
  width: 2.2rem;
  height: 2.2rem;
  color: #000;
  margin-right: 6px;
}

.search__input.field__input {
  min-width: 25rem;
  padding: 0 2.2rem;
  height: 2.2rem;
  border-radius: 0.8rem;
  background: #fff;
  color: #000;
}

predictive-search svg.spinner {
  display: none;
}

/* ============================
   Color Schemes
=============================== */
:root,
.color-scheme-1 {
  --color-background: 255, 255, 255;
  --gradient-background: #ffffff;

  --color-foreground: 18, 18, 18;
  --color-background-contrast: 191, 191, 191;
  --color-shadow: 18, 18, 18;
  --color-button: 18, 18, 18;
  --color-button-text: 255, 255, 255;
  --color-secondary-button: 255, 255, 255;
  --color-secondary-button-text: 18, 18, 18;
  --color-link: 18, 18, 18;
  --color-badge-foreground: 18, 18, 18;
  --color-badge-background: 255, 255, 255;
  --color-badge-border: 18, 18, 18;

  --payment-terms-background-color: rgb(255 255 255);
}

.color-scheme-2 {
  --color-background: 243, 243, 243;
  --gradient-background: #f3f3f3;

  --color-foreground: 18, 18, 18;
  --color-background-contrast: 179, 179, 179;
  --color-shadow: 18, 18, 18;
  --color-button: 18, 18, 18;
  --color-button-text: 243, 243, 243;
  --color-secondary-button: 243, 243, 243;
  --color-secondary-button-text: 18, 18, 18;
  --color-link: 18, 18, 18;
  --color-badge-foreground: 18, 18, 18;
  --color-badge-background: 243, 243, 243;
  --color-badge-border: 18, 18, 18;

  --payment-terms-background-color: rgb(243 243 243);
}

.color-scheme-3 {
  --color-background: 36, 40, 51;
  --gradient-background: #242833;

  --color-foreground: 255, 255, 255;
  --color-background-contrast: 47, 52, 66;
  --color-shadow: 18, 18, 18;
  --color-button: 255, 255, 255;
  --color-button-text: 0, 0, 0;
  --color-secondary-button: 36, 40, 51;
  --color-secondary-button-text: 255, 255, 255;
  --color-link: 255, 255, 255;
  --color-badge-foreground: 255, 255, 255;
  --color-badge-background: 36, 40, 51;
  --color-badge-border: 255, 255, 255;

  --payment-terms-background-color: rgb(36 40 51);
}

.color-scheme-4 {
  --color-background: 18, 18, 18;
  --gradient-background: #121212;

  --color-foreground: 255, 255, 255;
  --color-background-contrast: 146, 146, 146;
  --color-shadow: 18, 18, 18;
  --color-button: 255, 255, 255;
  --color-button-text: 18, 18, 18;
  --color-secondary-button: 18, 18, 18;
  --color-secondary-button-text: 255, 255, 255;
  --color-link: 255, 255, 255;
  --color-badge-foreground: 255, 255, 255;
  --color-badge-background: 18, 18, 18;
  --color-badge-border: 255, 255, 255;

  --payment-terms-background-color: rgb(18 18 18);
}

.color-scheme-5 {
  --color-background: 51, 79, 180;
  --gradient-background: #334fb4;

  --color-foreground: 255, 255, 255;
  --color-background-contrast: 23, 35, 81;
  --color-shadow: 18, 18, 18;
  --color-button: 255, 255, 255;
  --color-button-text: 51, 79, 180;
  --color-secondary-button: 51, 79, 180;
  --color-secondary-button-text: 255, 255, 255;
  --color-link: 255, 255, 255;
  --color-badge-foreground: 255, 255, 255;
  --color-badge-background: 51, 79, 180;
  --color-badge-border: 255, 255, 255;

  --payment-terms-background-color: rgb(51 79 180);
}

.color-scheme-5b4e5207-007a-4811-a6d6-bb1d41025ab4 {
  --color-background: 255, 255, 255;
  --gradient-background: #ffffff;

  --color-foreground: 207, 12, 29;
  --color-background-contrast: 191, 191, 191;
  --color-shadow: 18, 18, 18;
  --color-button: 18, 18, 18;
  --color-button-text: 255, 255, 255;
  --color-secondary-button: 255, 255, 255;
  --color-secondary-button-text: 18, 18, 18;
  --color-link: 18, 18, 18;
  --color-badge-foreground: 207, 12, 29;
  --color-badge-background: 255, 255, 255;
  --color-badge-border: 207, 12, 29;

  --payment-terms-background-color: rgb(255 255 255);
}

.color-scheme-9b139a2d-47c7-45af-a79f-087dea950782 {
  --color-background: 211, 25, 25;
  --gradient-background: #d31919;

  --color-foreground: 255, 255, 255;
  --color-background-contrast: 97, 11, 11;
  --color-shadow: 18, 18, 18;
  --color-button: 18, 18, 18;
  --color-button-text: 255, 255, 255;
  --color-secondary-button: 211, 25, 25;
  --color-secondary-button-text: 18, 18, 18;
  --color-link: 18, 18, 18;
  --color-badge-foreground: 255, 255, 255;
  --color-badge-background: 211, 25, 25;
  --color-badge-border: 255, 255, 255;

  --payment-terms-background-color: rgb(211 25 25);
}

/* ============================
   Global Base Styles
=============================== */
body,
.color-scheme-1,
.color-scheme-2,
.color-scheme-3,
.color-scheme-4,
.color-scheme-5,
.color-scheme-5b4e5207-007a-4811-a6d6-bb1d41025ab4,
.color-scheme-9b139a2d-47c7-45af-a79f-087dea950782 {
  color: #0f1111;
  background-color: rgb(var(--color-background));
}

/* ============================
   Fonts & Typography
=============================== */
:root {
  --font-family-visby-light: 'VisbyCF-Light';
  --font-family-visby-medium: 'VisbyCFMedium';
  --font-family-visby-bold: 'VisbyCF-Bold';

  --font-body-family: 'VisbyCFMedium';
  --font-body-style: normal;
  --font-body-weight: 400;
  --font-body-weight-bold: 700;

  --font-heading-family: 'VisbyCF-Bold';
  --font-heading-style: normal;
  --font-heading-weight: 400;

  --font-body-scale: 1.0;
  --font-heading-scale: 0.5;

  /* Layout & Spacing Variables */
  --page-width: 160rem;
  --page-width-margin: 0rem;

  --spacing-sections-desktop: 0px;
  --spacing-sections-mobile: 0px;

  --grid-desktop-vertical-spacing: 8px;
  --grid-desktop-horizontal-spacing: 8px;
  --grid-mobile-vertical-spacing: 4px;
  --grid-mobile-horizontal-spacing: 4px;

  /* Component Variables (cards, buttons, inputs, etc.) */
  --product-card-image-padding: 0rem;
  --product-card-corner-radius: 0rem;
  --product-card-text-alignment: left;
  --product-card-border-width: 0rem;
  --product-card-border-opacity: 0.1;
  --product-card-shadow-opacity: 0.0;
  --product-card-shadow-visible: 0;
  --product-card-shadow-horizontal-offset: 0rem;
  --product-card-shadow-vertical-offset: 0.4rem;
  --product-card-shadow-blur-radius: 0.5rem;

  --collection-card-image-padding: 0rem;
  --collection-card-corner-radius: 0rem;
  --collection-card-text-alignment: left;
  --collection-card-border-width: 0rem;
  --collection-card-border-opacity: 0.1;
  --collection-card-shadow-opacity: 0.0;
  --collection-card-shadow-visible: 0;
  --collection-card-shadow-horizontal-offset: 0rem;
  --collection-card-shadow-vertical-offset: 0.4rem;
  --collection-card-shadow-blur-radius: 0.5rem;

  --blog-card-image-padding: 0rem;
  --blog-card-corner-radius: 0rem;
  --blog-card-text-alignment: left;
  --blog-card-border-width: 0rem;
  --blog-card-border-opacity: 0.1;
  --blog-card-shadow-opacity: 0.0;
  --blog-card-shadow-visible: 0;
  --blog-card-shadow-horizontal-offset: 0rem;
  --blog-card-shadow-vertical-offset: 0.4rem;
  --blog-card-shadow-blur-radius: 0.5rem;

  --badge-corner-radius: 0.4rem;

  --popup-border-width: 1px;
  --popup-border-opacity: 0.1;
  --popup-corner-radius: 0px;
  --popup-shadow-opacity: 0.05;
  --popup-shadow-horizontal-offset: 0px;
  --popup-shadow-vertical-offset: 4px;
  --popup-shadow-blur-radius: 5px;

  --drawer-border-width: 1px;
  --drawer-border-opacity: 0.1;
  --drawer-shadow-opacity: 0.0;
  --drawer-shadow-horizontal-offset: 0px;
  --drawer-shadow-vertical-offset: 4px;
  --drawer-shadow-blur-radius: 5px;

  --text-boxes-border-opacity: 0.1;
  --text-boxes-border-width: 0px;
  --text-boxes-radius: 0px;
  --text-boxes-shadow-opacity: 0.0;
  --text-boxes-shadow-visible: 0;
  --text-boxes-shadow-horizontal-offset: 0px;
  --text-boxes-shadow-vertical-offset: 4px;
  --text-boxes-shadow-blur-radius: 5px;

  --buttons-radius: 0px;
  --buttons-radius-outset: 0px;
  --buttons-border-width: 1px;
  --buttons-border-opacity: 1.0;
  --buttons-shadow-opacity: 0.0;
  --buttons-shadow-visible: 0;
  --buttons-shadow-horizontal-offset: 0px;
  --buttons-shadow-vertical-offset: 4px;
  --buttons-shadow-blur-radius: 5px;
  --buttons-border-offset: 0px;

  --inputs-radius: 0px;
  --inputs-border-width: 1px;
  --inputs-border-opacity: 0.55;
  --inputs-shadow-opacity: 0.0;
  --inputs-shadow-horizontal-offset: 0px;
  --inputs-margin-offset: 0px;
  --inputs-shadow-vertical-offset: 4px;
  --inputs-shadow-blur-radius: 5px;
  --inputs-radius-outset: 0px;

  --variant-pills-radius: 40px;
  --variant-pills-border-width: 1px;
  --variant-pills-border-opacity: 0.55;
  --variant-pills-shadow-opacity: 0.0;
  --variant-pills-shadow-horizontal-offset: 0px;
  --variant-pills-shadow-vertical-offset: 4px;
  --variant-pills-shadow-blur-radius: 5px;
}

/* ============================
   Global Reset & Layout
=============================== */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
  font-size: calc(var(--font-body-scale) * 62.5%);
  height: 100%;
}

body {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  grid-template-columns: 100%;
  min-height: 100%;
  margin: 0;
  font-size: 1.5rem;
  letter-spacing: 0.06rem;
  line-height: calc(1 + 0.8 / var(--font-body-scale));
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
}

@media screen and (min-width: 750px) {
  body {
    font-size: 1.6rem;
  }
}
