/* ensoul-blocks css vars overrides */

:root {
  /* ERT: Content size per i blocchi (theme.json non lo genera) */
  --wp--style--global--content-size: 1200px;
  --wp--style--global--wide-size: 1920px;

  /* COLOR SCALE - PRIMARY */
  --color-primary-50: #e0f7f9;
  --color-primary-100: #b3ecf0;
  --color-primary-200: #80e0e6;
  --color-primary-300: #4dd4dc;
  --color-primary-400: #34d0d8;
  --color-primary-500: #bf0e0e;
  --color-primary-600: #2dbac1;
  --color-primary-700: #259ba1;
  --color-primary-800: #1e7c81;
  --color-primary-900: #175d61;

  /* COLOR SCALE - SECONDARY */
  --color-secondary-50: #a01281;
  --color-secondary-100: #8f1075;
  --color-secondary-200: #7e0e69;
  --color-secondary-300: #6d0c5c;
  --color-secondary-400: #5c0a50;
  --color-secondary-500: #a01281;
  --color-secondary-600: #b11489;
  --color-secondary-700: #c21691;
  --color-secondary-800: #d31899;
  --color-secondary-900: #e41aa1;

  /* COLOR SCALE - 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: #d6d6d6;
  --color-black: #202020;
  --color-base: #a3a3a3;
  --wp--preset--color--base: var(--color-base);

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

  /* SPACING SCALE */
  --spacing-0: 0;
  --spacing-xs: 8px;
  --spacing-sm: 12px;
  --spacing-md: 16px;
  --spacing-lg: 20px;
  --spacing-xl: 24px;
  --spacing-2xl: 30px;
  --spacing-3xl: 40px;
  --spacing-4xl: 50px;

  /* Component Spacing */
  --spacing-columns: 20px;
  --spacing-columns-dk: 20px;
  --spacing-container-heading: 100%;
  --spacing-container-columns: 768px;
  --spacing-container-content: var(--wp--style--global--content-size);
  --spacing-container-content-padded: var(--spacing-container-content);
  --spacing-container-paragraph: 100%;
  --spacing-container-image: 100%;
  --spacing-container-gallery: 100%;
  --spacing-container-list: 100%;
  --spacing-container-video: 100%;
  --spacing-container-slider: 100%;
  --spacing-container-accordion: 100%;
  --spacing-container-divider: 100%;
  --spacing-content-padding-left: 0;
  --spacing-content-padding-right: 0;

  /* Ensoul Group/Columns gap */
  --spacing-group: 0;

  /* Mobile lateral padding for fullwidth blocks inner content */
  --mobile-lateral-padding: 30px !important;

  /* TYPOGRAPHY SCALE */
  /* Font Sizes */
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  --text-xl: 20px;
  --text-2xl: 24px;
  --text-3xl: 30px;
  --text-4xl: 36px;
  --text-5xl: 48px;

  /* Heading Sizes */
  --text-heading-xs: 24px;
  --text-heading-sm: 32px;
  --text-heading-base: inherit;
  --text-paragraph-base: inherit;
  --text-paragraph-xs: inherit;
  --text-paragraph-base--line-height: inherit;
  --text-heading-lg: 42px;
  --text-heading-xl: 55px;

  /* Line Heights */
  --leading-tight: 1.25;
  --leading-normal: 1.5;
  --leading-loose: 1.75;

  /* CONTAINER WIDTHS */
  --container-xs: 480px;
  --container-sm: 640px;
  --container-md: 768px;
  --container-lg: 1024px;
  --container-xl: 1280px;
  --container-2xl: 1536px;

  /* BUTTON VARIABLES */
  --btn-padding-x: 16px;
  --btn-padding-y: 12px;
  --btn-font-size: 12px;
  --btn-font-weight: 800;
  --btn-border-width: 1px;
  --btn-border-radius: 0;
  --btn-text-transform: uppercase;

  /* Button Colors */
  --btn-primary-color: var(--color-primary-500);
  --btn-primary-bg: transparent;
  --btn-primary-border: var(--color-primary-500);

  --btn-secondary-color: var(--color-primary-500);
  --btn-secondary-bg: transparent;
  --btn-secondary-border: transparent;

  /* COLUMN GAP VARIABLES */
  --gap-xs: 8px;
  --gap-sm: 12px;
  --gap-md: 16px;
  --gap-lg: 20px;
  --gap-xl: 24px;
  --gap-2xl: 32px;

  /* UTILITY VARIABLES */
  --scrollbar-width: 8px;
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 16px;
  --border-radius-full: 9999px;

  /* Transitions */
  --transition-fast: 150ms;
  --transition-base: 300ms;
  --transition-slow: 500ms;
  --transition-ease: ease-in-out;
}

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

/* Scrollbar & selection styling*/
::-webkit-scrollbar {
  width: var(--scrollbar-width);
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: var(--color-mid-black);
}

::selection {
  background-color: var(--color-soft-black);
  color: var(--color-soft-gray);
}

::-moz-selection {
  background-color: var(--color-soft-black);
}

::-webkit-selection {
  background-color: var(--color-soft-black);
  color: var(--color-soft-gray);
}

/* Container width utilities - use !important to override WordPress editor defaults */
.max-w-container-columns {
  max-width: var(--spacing-container-columns) !important;
}

.max-w-container-content {
  max-width: var(--spacing-container-content);
  width: 100%;
}

/* Mobile lateral padding for inner content of top-level full-width blocks */
@media (max-width: 767px) {
  .mobile-content-padding {
    padding-left: var(--mobile-lateral-padding, 30px) !important;
    padding-right: var(--mobile-lateral-padding, 30px) !important;
  }
}

/* Filter: xs on mobile */
@media (max-width: 767px) {
  .wp-block-ensoul-filter {
    --text-paragraph-base: var(--text-paragraph-xs);
    --text-paragraph-base--line-height: var(--text-paragraph-xs--line-height);
    --text-filter-size: var(--text-paragraph-xs);
  }
}

/* Fix nested fullwidth sections inside query loops */
section[class*='fullwidth-section-'] section[class*='fullwidth-section-'],
.mobile-content-padding
  .wp-block-post-template
  section[class*='fullwidth-section-'] {
  width: 100% !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
@media (max-width: 767px) {
  .mobile-content-padding .mobile-content-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Sync editor mobile preview lateral padding */
html.view-as-mobile
  .editor-styles-wrapper
  .is-root-container.has-global-padding,
html.view-as-mobile .editor-styles-wrapper .is-root-container {
  --mobile-lateral-padding: 30px;
}

/* Column gap */
.column {
  gap: 10px 20px !important;
}

.dark {
  /* DARK MODE - PRIMARY COLORS */
  --color-primary-50: #0a4a57;
  --color-primary-100: #0d5f6d;
  --color-primary-200: #107483;
  --color-primary-300: #138999;
  --color-primary-400: #169eaf;
  --color-primary-500: #bf0e0e;
  --color-primary-600: #3aa6c3;
  --color-primary-700: #63b6ce;
  --color-primary-800: #8cc6d9;
  --color-primary-900: #b5d6e4;

  /* DARK MODE - SECONDARY COLORS */
  --color-secondary-50: #a01281;
  --color-secondary-100: #8f1075;
  --color-secondary-200: #7e0e69;
  --color-secondary-300: #6d0c5c;
  --color-secondary-400: #5c0a50;
  --color-secondary-500: #a01281;
  --color-secondary-600: #b11489;
  --color-secondary-700: #c21691;
  --color-secondary-800: #d31899;
  --color-secondary-900: #e41aa1;

  /* 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 */
  --color-white: #202020;
  --color-black: #fefefe;
  --color-base: #505050;
  --wp--preset--color--base: var(--color-base);

  /* Utility Colors */
  --color-mid-black: #b3b3b3;
  --color-soft-black: #808080;
  --color-soft-gray: #2a2a2a;
}

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);
}

:where(.wp-site-blocks *:focus) {
  outline: none !important;
}
.icon-style svg {
  width: 100px;
  height: 100px;
}
.icon-style path {
  fill: white;
}

.video-embed-container {
  z-index: 0 !important;
}

.ensoul-group-block {
  z-index: 1 !important;
}

body {
  overflow-x: hidden;
}

/* Landing page: structural padding so content-width blocks align with the header
   (which has padding: 0 var(--spacing-2xl) on .header-content).
   Full-width blocks break out via w-screen/left-1/2/-ml-[50vw] and are unaffected.
   Make .wp-site-blocks act as the header .wrapper: same max-width +
   responsive padding. Inner blocks are constrained by the parent,
   so they line up with the header automatically. */
.landing-page.wp-site-blocks {
  max-width: var(--wrapper-width) !important;
  padding-left: var(--wrapper-padding) !important;
  padding-right: var(--wrapper-padding) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
/* Zero inner block padding — the outer .wp-site-blocks already provides it */
.landing-page {
  --spacing-content-padding-left: 0px;
  --spacing-content-padding-right: 0px;
}
/* content-section fills its parent without extra constraints */
.landing-page .content-section {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Fullwidth sections break out of the wrapper, so their inner content
   needs its own padding to match the header. Set --spacing-content-padding-left
   back to --wrapper-padding, and cap the padded container at --wrapper-width
   so inner content = wrapper-width minus 2 × wrapper-padding = header content. */
.landing-page section.w-screen,
.landing-page section[class*='fullwidth-section-'] {
  --spacing-content-padding-left: var(--wrapper-padding);
  --spacing-content-padding-right: var(--wrapper-padding);
  --spacing-container-content-padded: var(--wrapper-width);
}

/* Fullwidth sections: break out of any constrained parent */
section[class*='fullwidth-section-'] {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  box-sizing: border-box;
}

/* =============================================
   Ensoul Tailwind 4 Utility Classes (Frontend)
   The ensoul plugin uses TW4 syntax (! suffix for important).
   The theme runs TW3 (! prefix) so these classes are never
   generated. We define them here as plain CSS.
   ============================================= */

/* --- Layout / Display (! important) --- */
.block\! {
  display: block !important;
}
.flex\! {
  display: flex !important;
}
.inline-flex\! {
  display: inline-flex !important;
}
.grid\! {
  display: grid !important;
}
.hidden\! {
  display: none !important;
}

/* --- Position (! important) --- */
.relative\! {
  position: relative !important;
}
.absolute\! {
  position: absolute !important;
}
.fixed\! {
  position: fixed !important;
}
.sticky\! {
  position: sticky !important;
}
.inset-0\! {
  inset: 0 !important;
}

/* --- Sizing (! important) --- */
.w-full\! {
  width: 100% !important;
}
.h-full\! {
  height: 100% !important;
}
.max-w-none\! {
  max-width: none !important;
}

/* --- Overflow (! important) --- */
.overflow-hidden\! {
  overflow: hidden !important;
}
.overflow-visible\! {
  overflow: visible !important;
}

/* --- Z-index (! important) --- */
.z-0\! {
  z-index: 0 !important;
}
.z-10\! {
  z-index: 10 !important;
}
.z-20\! {
  z-index: 20 !important;
}
.z-50\! {
  z-index: 50 !important;
}
.z-\[1\] {
  z-index: 1;
}

/* --- Object Fit (! important) --- */
.object-cover\! {
  object-fit: cover !important;
}

/* --- Pointer Events --- */
.pointer-events-none\! {
  pointer-events: none !important;
}

/* --- Spacing (! important) --- */
.m-0\! {
  margin: 0 !important;
}
.p-0\! {
  padding: 0 !important;
}

/* --- Focus --- */
.focus\:outline-none\!:focus {
  outline: none !important;
}

/* --- Responsive: max-md (max-width: 767px) --- */
@media (max-width: 767px) {
  .max-md\:hidden {
    display: none;
  }
  .max-md\:\!hidden {
    display: none !important;
  }
  .max-md\:flex-col {
    flex-direction: column;
  }
  .max-md\:block {
    display: block;
  }
}

/* --- Responsive: md (min-width: 768px) --- */
@media (min-width: 768px) {
  .md\:hidden {
    display: none;
  }
  .md\:\!hidden {
    display: none !important;
  }
  .md\:block {
    display: block;
  }
  .md\:grid {
    display: grid;
  }
  .md\:w-full {
    width: 100%;
  }
  .md\:max-w-none {
    max-width: none;
  }
  .md\:max-w-none\! {
    max-width: none !important;
  }
  .md\:mx-auto {
    margin-left: auto;
    margin-right: auto;
  }
  .md\:mx-0 {
    margin-left: 0;
    margin-right: 0;
  }
  .md\:max-w-container-content {
    max-width: var(--spacing-container-content) !important;
  }
}

/* --- Container Queries --- */
.\@container\/inner {
  container-type: inline-size;
  container-name: inner;
}

/* --- Button Utilities --- */
.text-button\! {
  color: var(--color-button) !important;
}
.hover\:text-button-hover\!:hover {
  color: var(--color-button-hover) !important;
}
.text-button-font-size {
  font-size: var(--text-button-font-size);
}
.font-button {
  font-family: var(--font-button);
}
.bg-button-background {
  background-color: var(--color-button-background);
}
.hover\:bg-button-background-hover:hover {
  background-color: var(--color-button-background-hover);
}
.rounded-button {
  border-radius: var(--radius-button);
}
.p-padding-button {
  padding: var(--spacing-padding-button);
}
.border-button-width {
  border-width: var(--border-width-button-width);
  border-style: solid;
}
.border-button-color {
  border-color: var(--border-color-button-color);
}
.gap-button {
  gap: var(--gap-button);
}
.\[text-decoration\:var\(--decoration-button\)\]\! {
  text-decoration: var(--decoration-button) !important;
}
.hover\:\[text-decoration\:var\(--decoration-button-hover\)\]\!:hover {
  text-decoration: var(--decoration-button-hover) !important;
}
.\[\&_path\]\:fill-button path {
  fill: var(--color-button);
}
.\[\&_path\]\:group-hover\:fill-button-hover:hover path,
.group:hover .\[\&_path\]\:group-hover\:fill-button-hover path {
  fill: var(--color-button-hover);
}
.\[\&_svg\]\:w-button-icon-width svg {
  width: var(--sizing-button-icon-width);
}
.\[\&_svg\]\:h-auto svg {
  height: auto;
}
.w-button-default {
  width: var(--sizing-button-default);
}
.transition-color {
  transition-property: color, background-color, border-color;
  transition-timing-function: ease-in-out;
}

/* --- Group / Spacing Wrapper Utilities --- */
.gap-group {
  gap: var(--spacing-group);
}
.px-\[var\(--spacing-content-padding-left\)\] {
  padding-left: var(--spacing-content-padding-left);
  padding-right: var(--spacing-content-padding-left);
}
.px-\[var\(--mobile-lateral-padding\)\] {
  padding-left: var(--mobile-lateral-padding);
  padding-right: var(--mobile-lateral-padding);
}
.pt-content-top {
  padding-top: var(--spacing-content-top);
}

/* --- Typography Theme Utilities --- */
.text-paragraph-base\! {
  font-size: var(--text-paragraph-base) !important;
}
.text-paragraph-xs\! {
  font-size: var(--text-paragraph-xs) !important;
}
.text-heading-base\! {
  font-size: var(--text-heading-base) !important;
}
.text-heading-xs\! {
  font-size: var(--text-heading-xs) !important;
}
.text-heading-sm\! {
  font-size: var(--text-heading-sm) !important;
}
.text-heading-lg\! {
  font-size: var(--text-heading-lg) !important;
}
.text-heading-xl\! {
  font-size: var(--text-heading-xl) !important;
}
.max-w-container-heading\! {
  max-width: var(--spacing-container-heading) !important;
}
.max-w-container-columns\! {
  max-width: var(--spacing-container-columns) !important;
}
.max-w-container-paragraph {
  max-width: var(--spacing-container-paragraph);
}
.max-w-container-image { max-width: var(--spacing-container-image); }
.max-w-container-gallery { max-width: var(--spacing-container-gallery); }
.max-w-container-list { max-width: var(--spacing-container-list); }
.max-w-container-video { max-width: var(--spacing-container-video); }
.max-w-container-slider { max-width: var(--spacing-container-slider); }
.max-w-container-accordion { max-width: var(--spacing-container-accordion); }
.max-w-container-divider { max-width: var(--spacing-container-divider); }
.max-w-container-content-padded { max-width: var(--spacing-container-content-padded); }
.font-heading {
  font-family: var(--font-heading);
}
.font-paragraph {
  font-family: var(--font-paragraph);
}
.leading-line-height-heading {
  line-height: var(--leading-heading);
}
.tracking-heading {
  letter-spacing: var(--tracking-heading);
}
.text-caption {
  font-size: var(--text-caption);
}
@media (min-width: 768px) {
  .md\:text-paragraph-base\! {
    font-size: var(--text-paragraph-base) !important;
  }
  .md\:text-paragraph-xs\! {
    font-size: var(--text-paragraph-xs) !important;
  }
  .md\:text-heading-base\! {
    font-size: var(--text-heading-base) !important;
  }
  .md\:text-heading-xs\! {
    font-size: var(--text-heading-xs) !important;
  }
  .md\:text-heading-sm\! {
    font-size: var(--text-heading-sm) !important;
  }
  .md\:text-heading-lg\! {
    font-size: var(--text-heading-lg) !important;
  }
  .md\:text-heading-xl\! {
    font-size: var(--text-heading-xl) !important;
  }
}

/* --- Accordion Utilities --- */
.gap-gap-accordion {
  gap: var(--gap-accordion);
}
.px-accordion-x {
  padding-left: var(--spacing-accordion-x);
  padding-right: var(--spacing-accordion-x);
}
.py-accordion-y {
  padding-top: var(--spacing-accordion-y);
  padding-bottom: var(--spacing-accordion-y);
}
.border-accordion {
  border-width: var(--border-width-accordion);
  border-style: solid;
}
.border-border-accordion {
  border-color: var(--border-color-accordion);
}
.w-dimension-icon-accordion {
  width: var(--sizing-dimension-icon-accordion);
}
.\[\&_svg\]\:w-dimension-icon-accordion svg {
  width: var(--sizing-dimension-icon-accordion);
}

/* --- Filter Utilities --- */
.gap-gap-filter {
  gap: var(--gap-filter);
}
.text-filter-size {
  font-size: var(--text-filter-size);
}
.text-filter-hover {
  color: var(--color-filter-hover);
}
.text-filter-active {
  color: var(--color-filter-active);
}
.\[\&\.active-term\]\:text-filter-active.active-term {
  color: var(--color-filter-active);
}

/* --- List Utilities --- */
.w-dimension-icon-list {
  width: var(--sizing-dimension-icon-list);
}

/* --- Progress Bar --- */
.bg-fill-progress-bar {
  background-color: var(--color-fill-progress-bar);
}

/* --- Transition Utilities --- */
.transition-\[grid-template-rows\] {
  transition-property: grid-template-rows;
}
.transition-width {
  transition-property: width;
}
.delay-50 {
  transition-delay: 50ms;
}
.delay-120 {
  transition-delay: 120ms;
}
.duration-350 {
  transition-duration: 350ms;
}

/* --- Accordion Group State --- */
.group.is-open .group-\[\.is-open\]\:opacity-0 {
  opacity: 0;
}
.group.is-open .group-\[\.is-open\]\:opacity-100 {
  opacity: 1;
}
.group.is-open .group-\[\.is-open\]\:rotate-90 {
  transform: rotate(90deg);
}
.group.is-open .group-\[\.is-open\]\:rotate-180 {
  transform: rotate(180deg);
}
.group.is-open .group-\[\.is-open\]\:translate-y-0 {
  transform: translateY(0);
}
.group.is-open .group-\[\.is-open\]\:grid-rows-\[1fr\] {
  grid-template-rows: 1fr;
}

.ens-btn.ens-btn-primary {
  /* Ensoul CSS variables */
  --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);
  --spacing-padding-button: 0.75rem 1.25rem;
  --border-width-button-width: 0;
  --decoration-button: none;
  --decoration-button-hover: none;
  --text-button-font-size: var(--text-sm);
  /* Direct CSS (not covered by ensoul variables) */
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.25rem;
  transition: transform 300ms ease-in-out;
}
.ens-btn.ens-btn-primary:hover {
  transform: scale(1.1);
}
@media (min-width: 768px) {
  .ens-btn.ens-btn-primary {
    --text-button-font-size: var(--text-base);
    --spacing-padding-button: 1rem 2rem;
  }
}

.ens-btn.ens-btn-secondary {
  /* Ensoul CSS variables */
  --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);
  --spacing-padding-button: 0.75rem 2.5rem;
  --border-width-button-width: 4px;
  --border-color-button-color: var(--color-primary-500);
  --decoration-button: none;
  --decoration-button-hover: none;
  --text-button-font-size: var(--text-sm);
  /* Direct CSS (not covered by ensoul variables) */
  font-weight: 600;
  text-transform: uppercase;
}

.ens-btn.ens-btn-tertiary {
  --spacing-padding-button: 0 0;
  --decoration-button: none;
  --decoration-button-hover: none;
  border: none;
  text-transform: var(--btn-text-transform);
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  --color-button: var(--color-white);
  --color-button-hover: var(--color-white);
  --color-button-background: none;
  --color-button-background-hover: inherit;
  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-background: var(--color-primary-500);
  --color-button-background-hover: var(--color-white);
  --radius-button: var(--border-radius-full);
}

.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);
}

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

@media (width >= 48rem /* 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);
  }
}

/* fix default style */
/* eventualmente modificare da theme.json */
:where(figure) {
  margin-bottom: 0;
}

:where(.wp-site-blocks) > main {
  margin-top: 0;
}

.header-wrapper .header-content {
  padding: 0 var(--spacing-2xl);
}

.header-block-wrapper .header-main-row {
  max-width: var(--spacing-container-content);
  margin: 0 auto;
  border-radius: var(--border-radius-md);
  padding: var(--spacing-md) var(--spacing-xl);
  margin-top: var(--spacing-xl);
}

/* Maps */
.image-location-maps,
.text-location-maps {
  display: none !important;
}
.leaflet-popup-content {
  width: var(--container-xs);
  max-width: 160px;
}

/* Slider */
@media (width <= 48rem) {
  .content-slider {
    padding-bottom: var(--spacing-4xl);
  }
  .content-slider-next,
  .content-slider-prev {
    top: auto;
    bottom: 0;
  }
}

.content-slider.autoscroll .swiper-slide figure {
  max-height: 60vh;
}

@media (max-width: 1024px) {
  .content-slider.autoscrol .swiper-slide figure {
    height: 45vh;
  }
}

/* rimuovi questa parte per mostrare gli index sulle slide */
.slide-index-display {
  display: none;
}

/* Content slider: arrow flip when hovering left side — target SVG directly
   to avoid composition issues with TW4 individual transform properties */
.navigation-arrow.flip-x > .content-slider-prev-next svg {
  transform: scaleX(-1) !important;
}

/* Content slider: red arrow */
.navigation-arrow svg,
.navigation-arrow svg path,
.content-slider-prev svg,
.content-slider-prev svg path,
.content-slider-next svg,
.content-slider-next svg path {
  fill: #bf0e0e !important;
}

/* utility per aspect ratio dei video "embeddati". aggiungi questa classe al gruppo che ha come sfondo il video */
.aspect-ratio-group {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  iframe {
    height: auto !important;
  }
}

/* ERT: YouTube video cover fix
   Le classi Tailwind per transform e dimensioni arbitrary non esistono
   nel vecchio Tailwind, le definiamo qui */

/* Transform classes mancanti */
.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y));
}

.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y));
}

/* Applica stili completi al video iframe */
.video-embed-container iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, 0%);
  min-width: 100%;
  min-height: 100%;
  width: max(100vw, 240vh);
  height: max(100vh, 56.25vw);
  border: 0;
  z-index: 2;
}
