/* Floating Maps - Theme CSS Variables (extracted from Shopify Dawn theme) */
@font-face {
  font-family: Poppins;
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("/fonts/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2") format("woff2"),
       url("/fonts/poppins_n4.214741a72ff2596839fc9760ee7a770386cf16ca.woff") format("woff");
}
@font-face {
  font-family: Poppins;
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("/fonts/poppins_n7.56758dcf284489feb014a026f3727f2f20a54626.woff2") format("woff2"),
       url("/fonts/poppins_n7.f34f55d9b3d3205d2cd6f64955ff4b36f0cfd8da.woff") format("woff");
}
@font-face {
  font-family: Poppins;
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  src: url("/fonts/poppins_i4.846ad1e22474f856bd6b81ba4585a60799a9f5d2.woff2") format("woff2"),
       url("/fonts/poppins_i4.56b43284e8b52fc64c1fd271f289a39e8477e9ec.woff") format("woff");
}
@font-face {
  font-family: Poppins;
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  src: url("/fonts/poppins_i7.42fd71da11e9d101e1e6c7932199f925f9eea42d.woff2") format("woff2"),
       url("/fonts/poppins_i7.ec8499dbd7616004e21155106d13837fff4cf556.woff") format("woff");
}

:root {
  /* Typography */
  --font-body-family: Poppins, sans-serif;
  --font-body-style: normal;
  --font-body-weight: 400;
  --font-body-weight-bold: 700;
  --font-heading-family: Poppins, sans-serif;
  --font-heading-style: normal;
  --font-heading-weight: 400;
  --font-body-scale: 1.05;
  --font-heading-scale: 1.0;

  /* Colors */
  --color-base-text: 16, 57, 72;
  --color-shadow: 16, 57, 72;
  --color-base-background-1: 255, 255, 255;
  --color-base-background-2: 235, 236, 237;
  --color-base-solid-button-labels: 252, 252, 252;
  --color-base-outline-button-labels: 5, 44, 70;
  --color-base-accent-1: 39, 125, 161;
  --color-base-accent-2: 77, 144, 142;
  --color-foreground: 16, 57, 72;
  --color-background: 255, 255, 255;
  --payment-terms-background-color: #ffffff;

  /* Gradients */
  --gradient-base-background-1: #ffffff;
  --gradient-base-background-2: #ebeced;
  --gradient-base-accent-1: #277da1;
  --gradient-base-accent-2: #4d908e;

  /* Layout */
  --page-width: 120rem;
  --page-width-margin: 0rem;

  /* Grid spacing */
  --grid-desktop-vertical-spacing: 40px;
  --grid-desktop-horizontal-spacing: 40px;
  --grid-mobile-vertical-spacing: 20px;
  --grid-mobile-horizontal-spacing: 20px;

  /* Cards */
  --card-image-padding: 0.0rem;
  --card-corner-radius: 0.0rem;
  --card-text-alignment: center;
  --card-border-width: 0px;
  --card-border-opacity: 0.1;
  --card-shadow-opacity: 0.0;
  --card-shadow-horizontal-offset: 0px;
  --card-shadow-vertical-offset: 0px;
  --card-shadow-blur-radius: 0px;

  /* Collection cards */
  --collection-card-image-padding: 0.0rem;
  --collection-card-corner-radius: 0.0rem;
  --collection-card-text-alignment: left;
  --collection-card-border-width: 0px;
  --collection-card-border-opacity: 0.1;
  --collection-card-shadow-opacity: 0.0;
  --collection-card-shadow-horizontal-offset: 0px;
  --collection-card-shadow-vertical-offset: 0px;
  --collection-card-shadow-blur-radius: 0px;

  /* Blog cards */
  --blog-card-image-padding: 0.0rem;
  --blog-card-corner-radius: 0.0rem;
  --blog-card-text-alignment: left;
  --blog-card-border-width: 0px;
  --blog-card-border-opacity: 0.1;
  --blog-card-shadow-opacity: 0.0;
  --blog-card-shadow-horizontal-offset: 0px;
  --blog-card-shadow-vertical-offset: 0px;
  --blog-card-shadow-blur-radius: 0px;

  /* Badge */
  --badge-corner-radius: 40px;

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

  /* Drawers */
  --drawer-border-width: 0px;
  --drawer-border-opacity: 0.1;
  --drawer-shadow-opacity: 0.0;
  --drawer-shadow-horizontal-offset: 0px;
  --drawer-shadow-vertical-offset: 0px;
  --drawer-shadow-blur-radius: 0px;

  /* Spacing */
  --spacing-sections-desktop: 36px;
  --spacing-sections-mobile: 36px;

  /* Text boxes */
  --text-boxes-border-opacity: 0.0;
  --text-boxes-border-width: 0px;
  --text-boxes-radius: 0px;
  --text-boxes-shadow-opacity: 0.0;
  --text-boxes-shadow-horizontal-offset: 0px;
  --text-boxes-shadow-vertical-offset: 0px;
  --text-boxes-shadow-blur-radius: 0px;

  /* Buttons */
  --buttons-radius: 40px;
  --buttons-radius-outset: 41px;
  --buttons-border-width: 1px;
  --buttons-border-opacity: 1.0;
  --buttons-shadow-opacity: 0.1;
  --buttons-shadow-horizontal-offset: 2px;
  --buttons-shadow-vertical-offset: 2px;
  --buttons-shadow-blur-radius: 5px;
  --buttons-border-offset: 0.3px;

  /* Inputs */
  --inputs-radius: 2px;
  --inputs-border-width: 1px;
  --inputs-border-opacity: 0.15;
  --inputs-shadow-opacity: 0.05;
  --inputs-shadow-horizontal-offset: 2px;
  --inputs-margin-offset: 2px;
  --inputs-shadow-vertical-offset: 2px;
  --inputs-shadow-blur-radius: 5px;

  /* Media */
  --media-padding: 0px;
  --media-border-opacity: 0.05;
  --media-border-width: 1px;
  --media-radius: 0px;
  --media-shadow-opacity: 0.0;
  --media-shadow-horizontal-offset: 0px;
  --media-shadow-vertical-offset: 0px;
  --media-shadow-blur-radius: 0px;
  --media-shadow-visible: 0;
}

/* Color scheme classes */
.color-background-1 {
  --color-foreground: 16, 57, 72;
  --color-background: 255, 255, 255;
  --gradient-background: #ffffff;
  --color-button: 39, 125, 161;
  --color-button-text: 252, 252, 252;
  --color-shadow: 16, 57, 72;
}

.color-background-2 {
  --color-foreground: 16, 57, 72;
  --color-background: 235, 236, 237;
  --gradient-background: #ebeced;
  --color-button: 39, 125, 161;
  --color-button-text: 252, 252, 252;
  --color-shadow: 16, 57, 72;
}

.color-accent-1 {
  --color-foreground: 255, 255, 255;
  --color-background: 39, 125, 161;
  --gradient-background: #277da1;
  --color-button: 255, 255, 255;
  --color-button-text: 39, 125, 161;
  --color-shadow: 16, 57, 72;
}

.color-accent-2 {
  --color-foreground: 255, 255, 255;
  --color-background: 77, 144, 142;
  --gradient-background: #4d908e;
  --color-button: 255, 255, 255;
  --color-button-text: 77, 144, 142;
  --color-shadow: 16, 57, 72;
}

/* Box sizing */
*,
*::before,
*::after {
  box-sizing: inherit;
}

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

/* Body defaults */
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);
  color: rgba(var(--color-foreground), 0.75);
  background-color: rgb(var(--color-background));
}

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