/* ensoul-blocks css vars overrides */

:root {

  /* PRIMARY */
  --color-primary-50: #faecec;
  --color-primary-100: #f2cfcf;
  --color-primary-200: #e59f9f;
  --color-primary-300: #d96e6e;
  --color-primary-400: #cc3e3e;
  --color-primary-500: #bf0e0e;
  --color-primary-600: #990b0b;
  --color-primary-700: #730808;
  --color-primary-800: #560606;
  --color-primary-900: #390404;

  /* SECONDARY */
  --color-secondary-50: #faebef;
  --color-secondary-100: #f5d6e0;
  --color-secondary-200: #eaadc0;
  --color-secondary-300: #e084a1;
  --color-secondary-400: #d55b81;
  --color-secondary-500: #cb3262;
  --color-secondary-600: #a2284e;
  --color-secondary-700: #7a1e3b;
  --color-secondary-800: #511427;
  --color-secondary-900: #290a14;

  /* NEUTRAL */
  --color-neutral-50: #fafafa;
  --color-neutral-100: #f5f5f5;
  --color-neutral-200: #e5e5e5;
  --color-neutral-300: #d4d4d4;
  --color-neutral-400: #a3a3a3;
  --color-neutral-500: #737373;
  --color-neutral-600: #525252;
  --color-neutral-700: #404040;
  --color-neutral-800: #262626;
  --color-neutral-900: #171717;

  /* SEMANTIC COLORS */
  --color-white: #ffffff;
  --color-black: #000000;
  --color-base: #ffffff;
  --color-contrast: #000000;

  /* UTILITY COLORS */
  --color-mid-black: #4c4c4c;
  --color-soft-black: #7f7f7f;
  --color-soft-gray: #f1f1f1;

  /* FONT */
  --font-body: Poppins, ui-sans-serif, system-ui, sans-serif;
  --font-heading: var(--font-body);
  --tracking-paragraph: 0.3px;
  --tracking-paragraph-dk: 0.42px;

  /* HEADING SIZES */
  --text-heading-xs: 24px;
  --text-heading-sm: 32px;
  --text-heading-base: inherit;
  --text-heading-lg: 42px;
  --text-heading-xl: 55px;
  --text-heading-2xl: 80px;
  --text-heading-3xl: 96px;

  /* HEADING LINE-HEIGHT */
  --text-heading-xs--line-height: 26px;
  --text-heading-sm--line-height: 37px;
  --text-heading-base--line-height: 45px;
  --text-heading-lg--line-height: 1.15;
  --text-heading-xl--line-height: 80px;
  --text-heading-2xl--line-height: 92px;
  --text-heading-3xl--line-height: 102px;

  /* PARAGRAPH SIZES */
  --text-paragraph-xs: inherit;
  --text-paragraph-sm: 14px;
  --text-paragraph-base: inherit;
  --text-paragraph-lg: 18px;
  --text-paragraph-xl: 24px;
  --text-paragraph-2xl: 30px;
  --text-paragraph-3xl: 36px;

  /* PARAGRAPH LINE-HEIGHT */
  --text-paragraph-xs--line-height: 18px;
  --text-paragraph-sm--line-height: 18px;
  --text-paragraph-base--line-height: inherit;
  --text-paragraph-lg--line-height: 26px;
  --text-paragraph-xl--line-height: 30px;
  --text-paragraph-2xl--line-height: 37px;
  --text-paragraph-3xl--line-height: 45px;

  /* ELEMENT MAPPING (MOBILE) */

  /* ELEMENT MAPPING (DESKTOP) */

  /* SCALE */
  --spacing-0: 0;
  --spacing-xxs: 4px;
  --spacing-xs: 8px;
  --spacing-s: 16px;
  --spacing-m: 24px;
  --spacing-l: 30px;
  --spacing-xl: 40px;
  --spacing-2xl: 50px;
  --spacing-3xl: 56px;
  --spacing-4xl: 64px;
  --spacing-5xl: 72px;
  --spacing-6xl: 80px;
  --spacing-7xl: 88px;
  --spacing-8xl: 128px;
  --spacing-9xl: 140px;

  /* COMPONENT SPACING */
  --spacing-columns: 20px;
  --spacing-columns-dk: 20px;
  --spacing-columns-y: 20px;
  --spacing-columns-y-dk: 50px;
  --spacing-content-padding: 30px;
  --spacing-content-padding-dk: 0;
  --spacing-block-gap: 16px;

  /* SPACING CONTAINER */
  --spacing-container-heading: 100%;
  --spacing-container-narrow: 768px;
  --spacing-container-content: var(--wp--style--global--content-size);

  /* GLOBAL BUTTON */
  --btn-padding-y: 12px;
  --btn-font-size: 12px;
  --btn-font-weight: 800;
  --btn-border-width: 1px;
  --btn-border-radius: 0;
  --btn-text-transform: uppercase;
  --text-button: 12px;
  --text-button-dk: 12px;
  --spacing-button-icon-width: 13px;
  --spacing-button-icon-width-dk: 13px;

  /* BORDER RADIUS */
  --radius-0: 0;
  --radius-xxs: 4px;
  --radius-xs: 8px;
  --radius-s: 16px;
  --radius-m: 24px;
  --radius-l: 32px;
  --radius-full: 9999px;

  /* SCROLLBAR */
  --scrollbar-width: 8px;

  /* TRANSITIONS */
  --transition-duration: 300ms;
  --transition-easing: ease-in-out;
  --transition-reduced-duration: 150ms;

  /* ACCORDION */
  --spacing-accordion-x: 15px;
  --spacing-accordion-x-dk: 30px;
  --spacing-accordion-y: 20px;
  --spacing-accordion-y-dk: 40px;
  --spacing-gap-accordion: 20px;
  --spacing-dimension-icon-accordion: 16px;
  --spacing-dimension-icon-accordion-dk: 20px;
  --color-border-accordion: #000000;
  --spacing-dimension-border: 1px;

  /* MAP */
  --spacing-height-map: 300px;
  --spacing-height-map-dk: 600px;

  /* LIST */
  --spacing-dimension-icon-list: 16px;
  --spacing-dimension-icon-list-dk: 20px;

  /* CAPTION */
  --text-caption-text: 12px;
  --color-caption: var(--color-black);
  --spacing-caption: 16px;
  --spacing-caption-dk: 20px;

  /* SLIDER */
  --slider-space-between: 28;
  --slider-space-between-mobile: 14;
  --slider-arrow-icon-size: 44px;
  --slider-arrow-icon-size-mobile: 35px;
  --color-slide-background: var(--color-black);

  /* VIDEO SCROLLER */
  --spacing-vscroller-max-width: 350px;
  --color-vscroller-slide-background: var(--color-black);
  --color-vscroller-subtitle: #ffffff;
  --color-vscroller-title: #ffffff;
  --color-vscroller-paragraph: #ffffff;
  --color-vscroller-cta: #ffffff;
  --color-vscroller-cta-hover: #cccccc;
  --text-vscroller-subtitle-mobile: 1rem;
  --text-vscroller-title-mobile: 1.5rem;
  --text-vscroller-paragraph-mobile: 0.75rem;
  --text-vscroller-cta-mobile: 0.75rem;
  --text-vscroller-subtitle-desktop: 1.5rem;
  --text-vscroller-title-desktop: 2rem;
  --text-vscroller-paragraph-desktop: 1rem;
  --text-vscroller-cta-desktop: 1rem;

  /* TIMELINE */
  --color-timeline: var(--color-secondary-500);
  --text-timeline-title: 14px;
  --text-timeline-title--line-height: 1.15em;
  --spacing-timeline-margin: 40px 0px 50px;
  --spacing-timeline-padding: 0 0;

  /* FILTER */
  --color-filter: var(--color-secondary-500);
  --color-filter-hover: var(--color-primary-500);
  --color-filter-active: var(--color-primary-500);
  --spacing-gap-filter: 24px;
  --text-filter-size: 16px;
  --text-filter--line-height: 20px;

  /* PROGRESS BAR */
  --color-progress-bar: #ffffff;
  --color-fill-progress-bar: #000000;
  --spacing-progress-bar: 10px;

  /* CONTENT */
  --spacing-content-top: 0;
  --spacing-content-top-dk: 0;

  /* HEADER */
  --spacing-hamburger-width: auto;
  --spacing-hamburger-height: 1.5rem;

  /* GROUP SPACING */
  --spacing-group: 0;
  --spacing-group-dk: 0;
  --spacing-group-y: 20px;
  --spacing-group-y-dk: 50px;

  /* GALLERY */
  --spacing-gallery-x: 16px;
  --spacing-gallery-y: 16px;

  /* CONTAINER PER COMPONENT */
  --spacing-container-video: 100%;
  --spacing-container-image: 100%;
  --spacing-container-slider: 100%;
  --spacing-container-gallery: 100%;
  --spacing-container-paragraph: 100%;
  --spacing-container-accordion: 100%;
  --spacing-container-list: 100%;
  --spacing-container-divider: 100%;

  /* DERIVED */
  --spacing-container-content-padded: calc(var(--spacing-container-content) + 2 * var(--spacing-content-padding));
  --north-gutter: max(var(--spacing-content-padding), calc((100vw - var(--scrollbar-compensation, 0px) - var(--spacing-container-content)) / 2));
  --north-breakpoint-desktop: 768px;

  /* DEPRECATED ALIASES (kept for one release: hand-written site CSS and saved content still use them) */
  --spacing-content-padding-left: var(--spacing-content-padding);
  --spacing-content-padding-mobile: var(--spacing-content-padding);
  --spacing-container-columns: var(--spacing-container-narrow);
}

@media (width < 768px) {
  :root {
    --scrollbar-width: 0px;
  }
}

/* Desktop: base tokens take their -dk value */
@media (width >= 768px) {
  :root {
    --tracking-paragraph: var(--tracking-paragraph-dk);
    --spacing-columns: var(--spacing-columns-dk);
    --spacing-columns-y: var(--spacing-columns-y-dk);
    --spacing-content-padding: var(--spacing-content-padding-dk);
    --text-button: var(--text-button-dk);
    --spacing-button-icon-width: var(--spacing-button-icon-width-dk);
    --spacing-accordion-x: var(--spacing-accordion-x-dk);
    --spacing-accordion-y: var(--spacing-accordion-y-dk);
    --spacing-dimension-icon-accordion: var(--spacing-dimension-icon-accordion-dk);
    --spacing-height-map: var(--spacing-height-map-dk);
    --spacing-dimension-icon-list: var(--spacing-dimension-icon-list-dk);
    --spacing-caption: var(--spacing-caption-dk);
    --spacing-content-top: var(--spacing-content-top-dk);
    --spacing-group: var(--spacing-group-dk);
    --spacing-group-y: var(--spacing-group-y-dk);
  }
}


.dark {

  /* DARK MODE - PRIMARY COLORS */
  --color-primary-50: #faecec;
  --color-primary-100: #f2cfcf;
  --color-primary-200: #e59f9f;
  --color-primary-300: #d96e6e;
  --color-primary-400: #cc3e3e;
  --color-primary-500: #bf0e0e;
  --color-primary-600: #990b0b;
  --color-primary-700: #730808;
  --color-primary-800: #560606;
  --color-primary-900: #390404;

  /* DARK MODE - SECONDARY COLORS */
  --color-secondary-50: #faebef;
  --color-secondary-100: #f5d6e0;
  --color-secondary-200: #eaadc0;
  --color-secondary-300: #e084a1;
  --color-secondary-400: #d55b81;
  --color-secondary-500: #cb3262;
  --color-secondary-600: #a2284e;
  --color-secondary-700: #7a1e3b;
  --color-secondary-800: #511427;
  --color-secondary-900: #290a14;

  /* DARK MODE - NEUTRAL COLORS */
  --color-neutral-50: #171717;
  --color-neutral-100: #262626;
  --color-neutral-200: #404040;
  --color-neutral-300: #525252;
  --color-neutral-400: #737373;
  --color-neutral-500: #a3a3a3;
  --color-neutral-600: #d4d4d4;
  --color-neutral-700: #e5e5e5;
  --color-neutral-800: #f5f5f5;
  --color-neutral-900: #fafafa;

  /* DARK MODE - SEMANTIC COLORS COLORS */
  --color-white: #202020;
  --color-black: #fefefe;
  --color-base: #505050;
  --color-contrast: #f0f2f3;

  /* DARK MODE - UTILITY COLORS COLORS */
  --color-mid-black: #b3b3b3;
  --color-soft-black: #808080;
  --color-soft-gray: #2a2a2a;

  /* THEME.JSON PRESETS */
  --wp--preset--color--primary-500: #bf0e0e;
  --wp--preset--color--primary-600: #990b0b;
  --wp--preset--color--primary-800: #560606;
  --wp--preset--color--secondary-50: #faebef;
  --wp--preset--color--secondary-500: #cb3262;
  --wp--preset--color--neutral-50: #171717;
  --wp--preset--color--neutral-200: #404040;
  --wp--preset--color--neutral-600: #d4d4d4;
  --wp--preset--color--white: #202020;
  --wp--preset--color--black: #fefefe;
  --wp--preset--color--base: #505050;
  --wp--preset--color--contrast: #f0f2f3;
}

h1,
.h1 {
  font-size: var(--text-heading-base);
  line-height: var(--text-heading-base--line-height);
}

h2,
.h2 {
  font-size: var(--text-heading-sm);
  line-height: var(--text-heading-sm--line-height);
}

h3,
.h3 {
  font-size: var(--text-heading-xs);
  line-height: var(--text-heading-xs--line-height);
}

h4,
.h4 {
  font-size: var(--text-heading-base);
  line-height: var(--text-heading-base--line-height);
}

h5,
.h5 {
  font-size: var(--text-heading-base);
  line-height: var(--text-heading-base--line-height);
}

h6,
.h6 {
  font-size: var(--text-heading-base);
  line-height: var(--text-heading-base--line-height);
}

p {
  font-size: var(--text-paragraph-xs);
  line-height: var(--text-paragraph-xs--line-height);
}

@media (width >= 768px) {
  h1,
  .h1 {
    font-size: var(--text-heading-xl);
    line-height: var(--text-heading-xl--line-height);
  }

  h2,
  .h2 {
    font-size: var(--text-heading-lg);
    line-height: var(--text-heading-lg--line-height);
  }

  h3,
  .h3 {
    font-size: var(--text-heading-sm);
    line-height: var(--text-heading-sm--line-height);
  }

  p {
    font-size: var(--text-paragraph-base);
    line-height: var(--text-paragraph-base--line-height);
  }
}

:where(.wp-site-blocks *:focus:not(:focus-visible)) {
  outline: none;
}

.ens-btn.ens-btn-primary {
  --spacing-padding-button: 0.75rem 1.25rem;
  text-transform: uppercase;
  font-size: var(--btn-font-size);
  font-weight: 700;
  --border-color-button-color: var(--color-primary-500);
  --color-button: white;
  --color-button-hover: white;
  --color-button-background: var(--color-primary-500);
  --color-button-background-hover: var(--color-primary-500);
  --radius-button: var(--border-radius-full);
  svg {
    margin-right: var(--spacing-xs);
  }
}

.ens-btn.ens-btn-secondary {
  --spacing-padding-button: 0.75rem 2.5rem;
  --decoration-button: none;
  --decoration-button-hover: none;
  text-transform: uppercase;
  font-size: var(--btn-font-size);
  font-weight: 600;
  --border-color-button-color: var(--color-primary-500);
  --border-width-button-width: 4px;
  --color-button: var(--color-primary-500);
  --color-button-hover: white;
  --color-button-background: white;
  --color-button-background-hover: var(--color-primary-500);
  --radius-button: var(--border-radius-full);
  svg {
    margin-right: var(--spacing-xs);
  }
}

.ens-btn.ens-btn-tertiary {
  --spacing-padding-button: 0 0;
  --decoration-button: none;
  --decoration-button-hover: none;
  text-transform: var(--btn-text-transform);
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  --border-color-button-color: transparent;
  border: none;
  --color-button: var(--color-white);
  --color-button-hover: var(--color-white);
  --color-button-background: none;
  --color-button-background-hover: inherit;
  --radius-button: var(--btn-border-radius);
  svg {
    margin-right: var(--spacing-xs);
  }
}

.ens-btn.ens-btn-quaternary {
  --spacing-padding-button: var(--spacing-xs) var(--spacing-md);
  --decoration-button: none;
  --decoration-button-hover: none;
  text-transform: var(--btn-text-transform);
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  --border-color-button-color: var(--color-primary-500);
  --border-width-button-width: var(--btn-border-width);
  --color-button: white;
  --color-button-hover: var(--color-black);
  --color-button-background: var(--color-primary-500);
  --color-button-background-hover: var(--color-white);
  --radius-button: var(--border-radius-full);
  svg {
    margin-right: var(--spacing-xs);
  }
}

.ens-btn.ens-btn-quinary {
  --spacing-padding-button: var(--spacing-xs) var(--spacing-md);
  --decoration-button: none;
  --decoration-button-hover: none;
  text-transform: var(--btn-text-transform);
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  --border-color-button-color: var(--color-primary-500);
  --border-width-button-width: var(--btn-border-width);
  --color-button: var(--color-primary-500);
  --color-button-hover: var(--color-white);
  --color-button-background: var(--color-white);
  --color-button-background-hover: var(--color-primary-500);
  --radius-button: var(--border-radius-full);
  svg {
    margin-right: var(--spacing-xs);
  }
}

.ens-btn.ens-btn-sextuary {
  display: none;
}

