/* ============================================================================
 * rollzeurope.com Theme-Tokens — 1:1 generiert aus config/settings_data.json
 * Quelle: theme_export__rollzeurope-com-rollz-europe-dev__25MAY2026
 * ============================================================================ */

/* ----- Color Schemes ----- */
:root,
.color-background-1 {
  --color-background: 248, 244, 236;
  --gradient-background: #f8f4ec;
  --color-foreground: 31, 45, 31;
  --color-shadow: 255, 255, 255;
  --color-button: 31, 45, 31;
  --color-button-text: 255, 255, 255;
  --color-secondary-button: 248, 244, 236;
  --color-secondary-button-text: 31, 31, 33;
  --color-link: 31, 31, 33;
  --color-badge-foreground: 31, 45, 31;
  --color-badge-background: 248, 244, 236;
  --color-badge-border: 31, 45, 31;
  --payment-terms-background-color: rgb(248, 244, 236);
}

.color-background-2 {
  --color-background: 248, 244, 236;
  --gradient-background: #f8f4ec;
  --color-foreground: 31, 45, 31;
  --color-shadow: 255, 255, 255;
  --color-button: 31, 45, 31;
  --color-button-text: 255, 255, 255;
  --color-secondary-button: 248, 244, 236;
  --color-secondary-button-text: 31, 45, 31;
  --color-link: 31, 45, 31;
  --color-badge-foreground: 31, 45, 31;
  --color-badge-background: 248, 244, 236;
  --color-badge-border: 31, 45, 31;
  --payment-terms-background-color: rgb(248, 244, 236);
}

.color-inverse {
  --color-background: 31, 45, 31;
  --gradient-background: #1f2d1f;
  --color-foreground: 255, 255, 255;
  --color-shadow: 255, 255, 255;
  --color-button: 255, 255, 255;
  --color-button-text: 31, 45, 31;
  --color-secondary-button: 31, 45, 31;
  --color-secondary-button-text: 255, 255, 255;
  --color-link: 255, 255, 255;
  --color-badge-foreground: 255, 255, 255;
  --color-badge-background: 31, 45, 31;
  --color-badge-border: 255, 255, 255;
  --payment-terms-background-color: rgb(31, 45, 31);
}

.color-accent-1 {
  --color-background: 255, 255, 255;
  --gradient-background: #ffffff;
  --color-foreground: 31, 45, 31;
  --color-shadow: 73, 74, 61;
  --color-button: 31, 45, 31;
  --color-button-text: 255, 255, 255;
  --color-secondary-button: 255, 255, 255;
  --color-secondary-button-text: 31, 45, 31;
  --color-link: 31, 45, 31;
}

.color-accent-2 {
  --color-background: 31, 45, 31;
  --gradient-background: #1f2d1f;
  --color-foreground: 248, 244, 236;
  --color-shadow: 255, 255, 255;
  --color-button: 248, 244, 236;
  --color-button-text: 31, 45, 31;
  --color-secondary-button: 31, 45, 31;
  --color-secondary-button-text: 248, 244, 236;
  --color-link: 248, 244, 236;
}

body {
  color: rgba(var(--color-foreground), 0.75);
  background-color: rgb(var(--color-background));
}

/* ----- Typography Tokens ----- */
:root {
  --font-body-family: "Avenir Next", "Avenir", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body-style: normal;
  --font-body-weight: 500;
  --font-body-weight-bold: 800;
  --font-heading-family: "Oswald", "Avenir Next", sans-serif;
  --font-heading-style: normal;
  --font-heading-weight: 500;
  --font-body-scale: 1.0;
  --font-heading-scale: 1.4;

  /* ----- Layout ----- */
  --page-width: 160rem;
  --page-width-margin: 2rem;

  /* ----- Media + Radii ----- */
  --media-padding: 0px;
  --media-border-opacity: 1.0;
  --media-border-width: 1px;
  --media-radius: 26px;
  --media-shadow-opacity: 0.0;
  --media-shadow-horizontal-offset: 0px;
  --media-shadow-vertical-offset: 4px;
  --media-shadow-blur-radius: 5px;
  --media-shadow-visible: 0;

  /* ----- Product Card ----- */
  --product-card-image-padding: 1.4rem;
  --product-card-corner-radius: 2.6rem;
  --product-card-text-alignment: left;
  --product-card-border-width: 0.1rem;
  --product-card-border-opacity: 1.0;
  --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 ----- */
  --collection-card-image-padding: 2rem;
  --collection-card-corner-radius: 2.6rem;
  --collection-card-text-alignment: left;
  --collection-card-border-width: 0.1rem;
  --collection-card-border-opacity: 1.0;
  --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 ----- */
  --blog-card-image-padding: 2rem;
  --blog-card-corner-radius: 2.6rem;
  --blog-card-text-alignment: left;
  --blog-card-border-width: 0.1rem;
  --blog-card-border-opacity: 1.0;
  --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;

  /* ----- Badges ----- */
  --badge-corner-radius: 4rem;

  /* ----- Popups + Drawers ----- */
  --popup-border-width: 1px;
  --popup-border-opacity: 0.1;
  --popup-corner-radius: 0px;
  --popup-shadow-opacity: 0.0;
  --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;

  /* ----- Spacing ----- */
  --spacing-sections-desktop: 52px;
  --spacing-sections-mobile: 36px;
  --grid-desktop-vertical-spacing: 40px;
  --grid-desktop-horizontal-spacing: 40px;
  --grid-mobile-vertical-spacing: 20px;
  --grid-mobile-horizontal-spacing: 20px;

  /* ----- Text-boxes ----- */
  --text-boxes-border-opacity: 1.0;
  --text-boxes-border-width: 1px;
  --text-boxes-radius: 26px;
  --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 ----- */
  --buttons-radius: 26px;
  --buttons-radius-outset: 27px;
  --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: 0.3px;

  /* ----- Inputs ----- */
  --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 ----- */
  --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;

  /* ----- Animation ----- */
  --duration-short: .1s;
  --duration-default: .2s;
  --duration-announcement-bar: .25s;
  --duration-medium: .3s;
  --duration-long: .5s;
  --duration-extra-long: .6s;
  --duration-extended: 3s;
  --ease-out-slow: cubic-bezier(0, 0, .3, 1);
  --animation-slide-in: slideIn var(--duration-extra-long) var(--ease-out-slow) forwards;
  --animation-fade-in: fadeIn var(--duration-extra-long) var(--ease-out-slow);
}

/* ----- HTML base ----- */
html {
  font-size: 62.5%;
  height: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  font-size: 1.5rem;
  letter-spacing: 0.06rem;
  line-height: calc(1 + 0.8 / var(--font-body-scale));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

* {
  box-sizing: border-box;
}

a {
  color: rgba(var(--color-link), var(--alpha-link, 0.85));
}

a:hover {
  color: rgb(var(--color-link));
}

/* ----- B2B Banner Override ----- */

.b2b-banner {
  background: rgb(31, 45, 31);
  color: rgb(248, 244, 236);
  text-align: center;
  padding: 0.8rem 1.5rem;
  font-family: var(--font-heading-family);
  font-size: 1.1rem;
  letter-spacing: 0.08rem;
  text-transform: uppercase;
  font-weight: 500;
}
