/* Beriomax2 — single maintained stylesheet. Native Elementor controls own composition.
 * Consolidated from the live 16 October source; no historical page generator. */

/* TOKENS, COMPONENTS AND NATIVE CONTENT */
/* MAPPA DEGLI STILI
 * Comuni: variabili, tipografia (solo aspetti grafici), pulsanti e componenti.
 * Header/footer/dialoghi: condivisi fra pagine Elementor e template PHP.
 * Pagine: bm-main e classi di sezione; br-* ricette, bp-* prodotti.
 * Form: tutte le regole Ninja Forms sono riunite in fondo: comuni, Contatti, newsletter.
 * Le regole preesistenti mantengono l’ordine per non cambiare la precedenza CSS.
 * Responsive e scala tipografica sono nelle sezioni finali dello stesso file.
 */
/* Design comune e desktop: layout, colori, interlinea, pesi, spaziatura e interazioni. */
/* CONDIVISI — variabili di movimento; colori, raggi e spaziatura seguono in :root. */
.berio-design-system {
  --bm-motion-film: var(--bm-motion-play);
  --bm-motion-glow: var(--bm-motion-card);
  --bm-motion-card: linear(0.000000,0.015142,0.053014,0.104799,0.164288,0.227171,0.290511,0.352358,0.411469,0.467103,0.518870,0.566620,0.610371,0.650247,0.686438,0.719176,0.748710,0.775296,0.799185,0.820620,0.839831,0.857030,0.872418,0.886174,0.898466,0.909445,0.919246,0.927995,0.935801,0.942765,0.948977,0.954516,0.959456,0.963861,0.967788,0.971289,0.974410,0.977192,0.979672,0.981883,0.983853,0.985609,0.987174,0.988569,0.989813,0.990921,0.991908,0.992789,0.993573,0.994272,0.994895,0.995451,0.995945,0.996387,0.996780,0.997130,0.997442,0.997720,0.997968,0.998189,1.000000);
}
:root {
  --bm-green: #124c27;
  --bm-green-dark: #0e3625;
  --bm-cream: #ede9e0;
  --bm-olive: #aeba4e;
  --bm-gold: #daa96f;
  --bm-muted: #b0b6a5;
  --bm-muted-light: #c1c8b5;
  --bm-oil-glow-gradient: radial-gradient(ellipse closest-side,rgb(173.55596 186.11281 78.48265 / 1) 0.000000%, rgb(172.25160 185.18949 78.15158 / 1) 11.518684%, rgb(168.51365 182.54353 77.20282 / 1) 20.377333%, rgb(162.60483 178.36086 75.70306 / 1) 27.029845%, rgb(154.78784 172.82749 73.71899 / 1) 31.930122%, rgb(145.32544 166.12938 71.31728 / 1) 35.532051%, rgb(134.48030 158.45247 68.56461 / 1) 38.289541%, rgb(122.51517 149.98276 65.52766 / 1) 40.656480%, rgb(109.69275 140.90620 62.27312 / 1) 43.086770%, rgb(96.27576 131.40877 58.86767 / 1) 46.034309%, rgb(82.52692 121.67642 55.37799 / 1) 49.952993%, rgb(68.70894 111.89515 51.87076 / 1) 55.296719%, rgb(55.08454 102.25089 48.41266 / 1) 62.519383%, rgb(41.91644 92.92965 45.07038 / 1) 72.074890%, rgb(29.46736 84.11736 41.91060 / 1) 84.417129%, rgb(18.00000 76.00000 39.00000 / 1) 100.000000%);
  --bm-heading-leading: 1.15em;
  --bm-body-leading: 1.6em;
  --bm-radius-card: 20px;
  --bm-radius-control: 8px;
  --bm-content-width: 1512px;
  --bm-space-1: 8px;
  --bm-space-2: 16px;
  --bm-space-3: 24px;
  --bm-space-4: 32px;
  --bm-space-5: 48px;
  --bm-space-6: 64px;
}
/* CONDIVISI — tipografia: interlinea, peso e spaziatura. Famiglie e dimensioni sono in style-font.css. */
.berio-design-system :where(.elementor) :is(h1,h2,h3,h4,h5,h6) {
  margin: 0;
  color: inherit;
  font-weight: 100;
  line-height: var(--bm-heading-leading);
  letter-spacing: .02em;
}
.berio-design-system :where(.elementor) h3 {
  font-weight: 400;
}
.berio-design-system :where(.elementor) h4 {
  font-weight: 400;
}
.berio-design-system :where(.elementor) h5 {
  font-weight: 400;
}
.berio-design-system :where(.elementor) h6 {
  font-weight: 400;
}
.berio-design-system :where(.elementor) :is(h1,h2,h3,h4,h5,h6).elementor-heading-title em {
  font-weight: 400;
}
.berio-design-system :where(.elementor) .elementor-widget-heading .elementor-heading-title {
  color: inherit;
}
.berio-design-system :where(.elementor) .elementor-widget-text-editor {
  color: inherit;
  font-weight: 400;
  line-height: var(--bm-body-leading);
  letter-spacing: normal;
}
.berio-design-system :where(.elementor) .elementor-widget-text-editor p {
  margin: 0;
  font-style: inherit;
  font-variant: inherit;
  font-weight: inherit;
  font-stretch: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
.berio-design-system :where(.elementor) .bm-type-display-small .elementor-heading-title {
  line-height: 1.2;
}
.berio-design-system :where(.elementor) .bm-font-regular .elementor-heading-title {
  font-weight: 400;
}
.berio-design-system :where(.elementor) .bm-font-light .elementor-heading-title {
  font-weight: 300;
}
.berio-design-system :where(.elementor) .bm-inline-leading-tight .elementor-heading-title em {
  line-height: 1;
}
.berio-design-system :where(.elementor) .bm-font-display .elementor-heading-title {
  line-height: var(--bm-heading-leading);
  letter-spacing: .02em;
}
.berio-design-system :where(.elementor) .bm-text-tracked {
  letter-spacing: .02em;
}
@media (min-width: 1400px) {
  .berio-design-system :where(.elementor) .bm-text-authored-lines {
    white-space: nowrap;
  }
}
.berio-design-system :where(.elementor) .bm-font-medium .elementor-heading-title {
  font-weight: 500;
}
.berio-design-system :where(.elementor) .bm-leading-label .elementor-heading-title {
  line-height: 26px;
}
.berio-design-system :where(.elementor) .bm-leading-label.elementor-widget-text-editor {
  line-height: 26px;
}
.berio-design-system :where(.elementor) .bm-leading-card .elementor-heading-title {
  line-height: 1.13;
}
.berio-design-system :where(.elementor) .bm-leading-compact.elementor-widget-text-editor {
  line-height: 1.4;
}
.berio-design-system :where(.elementor) .bm-leading-airy.elementor-widget-text-editor {
  line-height: 1.9;
}
.berio-design-system :where(.elementor) .bm-leading-body.elementor-widget-text-editor {
  line-height: var(--bm-body-leading);
}
.berio-design-system :where(.elementor) .bm-text-trim p {
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.berio-design-system :where(.elementor) .bm-font-medium.elementor-widget-text-editor {
  font-weight: 500;
}
.berio-design-system :where(.elementor) .bm-font-thin :is(.elementor-heading-title,.elementor-icon-box-title) {
  font-weight: 100;
}
.berio-design-system :where(.elementor) .bm-font-thin .elementor-heading-title em {
  font-weight: 400;
}
.berio-design-system :where(.elementor) .bm-ink-muted {
  color: var(--bm-muted);
}
.berio-design-system :where(.elementor) .bm-ink-muted-light {
  color: var(--bm-muted-light);
}
.berio-design-system :where(.elementor) .bm-leading-open .elementor-heading-title {
  line-height: 1.2;
}
.berio-design-system :where(.elementor) .bm-leading-loose .elementor-heading-title {
  line-height: 1.575em;
}
.berio-design-system .elementor :is(.bm-text-body,.bm-text-lead,.bm-text-intro,.bm-text-compact,.bm-text-small,.bm-text-caption) {
  max-width: 100%;
}
.berio-design-system :where(.elementor) :is(.bm-text-kicker,.bm-text-label) .elementor-heading-title {
  font-weight: 500;
  line-height: 1.15em;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}
.berio-design-system :where(.elementor) .bm-text-label :is(.elementor-heading-title,.elementor-icon-list-text) {
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 1.2px;
  text-transform: none;
  color: inherit;
}
.berio-design-system :where(.elementor) :is(.bm-text-meta,.bm-text-nav) .elementor-icon-list-text {
  font-weight: 400;
  line-height: normal;
  letter-spacing: .6px;
  color: inherit;
}
.berio-design-system :where(.elementor) .bm-text-nav .elementor-icon-list-text {
  letter-spacing: 1.2px;
}
.berio-design-system :where(.elementor) .bm-text-nav--large .elementor-icon-list-text {
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 1.3px;
}
@media (min-width: 768px) {
  .berio-design-system :where(.elementor) .bm-desktop-text-label .elementor-heading-title {
    font-weight: 800;
    line-height: 1.8;
    letter-spacing: 1.3px;
  }
}
.berio-design-system :where(.elementor) .bm-main-menu {
  --n-menu-title-font-size: var(--font-12);
}
.berio-design-system :where(.elementor) .bm-main-menu :is(.e-n-menu-title,.e-n-menu-title-container,.e-n-menu-title-text) {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1.2px;
}
.berio-design-system :where(.elementor) .bm-button .elementor-button {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
.berio-design-system :where(.elementor) :is(.bm-header > .bm-button,.bm-header-countries .bm-button) .elementor-button {
  letter-spacing: 1.2px;
}

.berio-design-system :where(.elementor) .bm-ink-green {
  color: var(--bm-green);
}
.berio-design-system :where(.elementor) .bm-ink-forest {
  color: var(--bm-green-dark);
}
.berio-design-system :where(.elementor) .bm-ink-cream {
  color: var(--bm-cream);
}
.berio-design-system :where(.elementor) .bm-ink-gold {
  color: var(--bm-gold);
}
.berio-design-system :where(.elementor) .bm-type-dialog {
  font-style: normal;
  font-variant: normal;
  font-weight: 100;
  font-stretch: normal;
  line-height: 1.15;
}
.berio-design-system .elementor {
  margin: 0;
  background: var(--bm-green);
  color: var(--bm-cream);
}
.berio-design-system .elementor *, .berio-design-system .elementor *::before, .berio-design-system .elementor *::after {
  box-sizing: border-box;
}
.berio-design-system .elementor :where(h1,h2,h3,p,figure) {
  margin: 0;
}
.berio-design-system .elementor a {
  color: inherit;
}
.berio-design-system .skip-link:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.berio-design-system .elementor :where(button,input) {
  font-style: inherit;
  font-variant: inherit;
  font-weight: inherit;
  font-stretch: inherit;
  line-height: inherit;
}
.berio-design-system .elementor :where(a,button,input):focus-visible {
  outline: 2px solid var(--bm-gold);
  outline-offset: 4px;
}
.berio-design-system .elementor .elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}
.berio-design-system .elementor .elementor-widget-image img {
  display: block;
}
.berio-design-system .elementor .elementor-widget-image a {
  display: block;
}
.berio-design-system .elementor .e-widget-swiper .swiper-slide-image {
  display: block;
}
.berio-design-system .elementor .e-con {
  min-width: 0;
}
.berio-design-system .elementor .bm-home {
  width: 100%;
}
.berio-design-system .elementor {
  --widgets-spacing: 0px;
  --widgets-spacing-row: 0px;
  --widgets-spacing-column: 0px;
}
.berio-design-system .elementor .bm-button .elementor-button-content-wrapper {
  align-items: center;
  width: 100%;
}
.berio-design-system .elementor .bm-label-mobile {
  display: none;
}
.berio-design-system .elementor .bm-button .elementor-button-icon svg {
  width: 24px;
  height: 24px;
}
.berio-design-system .elementor .bm-button .elementor-button-icon svg path {
  fill: currentColor;
}
.berio-design-system .elementor .bm-button .elementor-button {
  transition: background-color calc(.638808608s * var(--bm-motion-factor,1)) var(--bm-motion-control), color calc(.638808608s * var(--bm-motion-factor,1)) var(--bm-motion-control);
}
.berio-design-system .elementor .bm-button .elementor-button {
  display: inline-flex;
  align-items: center;
  padding: 12px 20px;
  border: 2px solid;
  border-radius: var(--bm-radius-control);
}
.berio-design-system .elementor .bm-button .elementor-button-content-wrapper {
  gap: 14px;
}
.berio-design-system .elementor .bm-button .elementor-button-icon {
  margin: 0;
}
.berio-design-system .elementor .bm-button--dark .elementor-button {
  color: var(--bm-green);
  border-color: #0e362580;
  background: transparent;
}
.berio-design-system .elementor .bm-button--dark .elementor-button:hover {
  color: var(--bm-cream);
  background: var(--bm-green);
}
.berio-design-system .elementor .bm-button--light .elementor-button {
  color: var(--bm-cream);
  border-color: #ebe7dd4d;
  background: transparent;
}
.berio-design-system .elementor .bm-button--light .elementor-button:hover {
  color: var(--bm-green);
  background: var(--bm-cream);
}
.berio-design-system .elementor .bm-button--solid .elementor-button, .berio-design-system .elementor .bm-button--solid .elementor-button:hover {
  color: var(--bm-cream);
  border-color: var(--bm-green);
  background: var(--bm-green);
}
.berio-design-system .elementor .bm-button--filled-light .elementor-button {
  color: var(--bm-green);
  border-color: var(--bm-cream);
  background: var(--bm-cream);
}
.berio-design-system .elementor .bm-button--filled-light .elementor-button:hover {
  color: var(--bm-cream);
  border-color: var(--bm-cream);
  background: transparent;
}
.berio-design-system .elementor .bm-button--icon-only .elementor-button {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
}
.berio-design-system .elementor .bm-button--icon-only .elementor-button-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.berio-design-system .elementor .bm-button--icon-only .elementor-button-icon svg {
  width: 18px;
  height: 18px;
}
.berio-design-system {
  --bm-motion-control: linear(0.000000, 0.007654, 0.028694, 0.060472, 0.100646, 0.147155, 0.198203, 0.252243, 0.307951, 0.364209, 0.420088, 0.474823, 0.527804, 0.578549, 0.626696, 0.671984, 0.714240, 0.753366, 0.789326, 0.822141, 0.851871, 0.878613, 0.902492, 0.923653, 0.942257, 0.958472, 0.972476, 0.984445, 0.994558, 1.002988, 1.009904, 1.015466, 1.019829, 1.023137, 1.025525, 1.027118, 1.028030, 1.028368, 1.028226, 1.027690, 1.026837, 1.025735, 1.024443, 1.023013, 1.021492, 1.019917, 1.018321, 1.016732, 1.015172, 1.013659, 1.012207, 1.010827, 1.009527, 1.008313, 1.007187, 1.006151, 1.005204, 1.004345, 1.003572, 1.002880, 1.002267, 1.001726, 1.001255, 1.000847, 1.000497, 1.000201, 0.999954, 0.999751, 0.999586, 0.999457, 0.999358, 0.999286, 0.999237, 0.999208, 0.999196, 0.999197, 0.999211, 0.999234, 0.999264, 0.999300, 1.000000);
  --bm-motion-arrow: linear(0.000000, 0.012187, 0.045658, 0.096009, 0.159182, 0.231507, 0.309722, 0.390976, 0.472833, 0.553255, 0.630584, 0.703519, 0.771079, 0.832581, 0.887600, 0.935934, 0.977577, 1.012680, 1.041524, 1.064488, 1.082029, 1.094653, 1.102896, 1.107307, 1.108432, 1.106803, 1.102925, 1.097272, 1.090280, 1.082340, 1.073802, 1.064968, 1.056099, 1.047409, 1.039073, 1.031229, 1.023979, 1.017392, 1.011513, 1.006360, 1.001931, 0.998208, 0.995160, 0.992744, 0.990910, 0.989602, 0.988761, 0.988330, 0.988247, 0.988456, 0.988903, 0.989536, 0.990309, 0.991180, 0.992112, 0.993071, 0.994032, 0.994971, 0.995869, 0.996712, 0.997490, 0.998196, 0.998824, 0.999373, 0.999844, 1.000238, 1.000560, 1.000814, 1.001006, 1.001141, 1.001227, 1.001269, 1.001273, 1.001247, 1.001196, 1.001125, 1.001040, 1.000945, 1.000843, 1.000739, 1.000000);
  --bm-motion-press: linear(0.000000, 0.007654, 0.028694, 0.060472, 0.100646, 0.147155, 0.198203, 0.252243, 0.307951, 0.364209, 0.420088, 0.474823, 0.527804, 0.578549, 0.626696, 0.671984, 0.714240, 0.753366, 0.789326, 0.822141, 0.851871, 0.878613, 0.902492, 0.923653, 0.942257, 0.958472, 0.972476, 0.984445, 0.994558, 1.002988, 1.009904, 1.015466, 1.019829, 1.023137, 1.025525, 1.027118, 1.028030, 1.028368, 1.028226, 1.027690, 1.026837, 1.025735, 1.024443, 1.023013, 1.021492, 1.019917, 1.018321, 1.016732, 1.015172, 1.013659, 1.012207, 1.010827, 1.009527, 1.008313, 1.007187, 1.006151, 1.005204, 1.004345, 1.003572, 1.002880, 1.002267, 1.001726, 1.001255, 1.000847, 1.000497, 1.000201, 0.999954, 0.999751, 0.999586, 0.999457, 0.999358, 0.999286, 0.999237, 0.999208, 0.999196, 0.999197, 0.999211, 0.999234, 0.999264, 0.999300, 1.000000);
  --bm-motion-play: linear(0.000000, 0.007654, 0.028694, 0.060472, 0.100646, 0.147155, 0.198203, 0.252243, 0.307951, 0.364209, 0.420088, 0.474823, 0.527804, 0.578549, 0.626696, 0.671984, 0.714240, 0.753366, 0.789326, 0.822141, 0.851871, 0.878613, 0.902492, 0.923653, 0.942257, 0.958472, 0.972476, 0.984445, 0.994558, 1.002988, 1.009904, 1.015466, 1.019829, 1.023137, 1.025525, 1.027118, 1.028030, 1.028368, 1.028226, 1.027690, 1.026837, 1.025735, 1.024443, 1.023013, 1.021492, 1.019917, 1.018321, 1.016732, 1.015172, 1.013659, 1.012207, 1.010827, 1.009527, 1.008313, 1.007187, 1.006151, 1.005204, 1.004345, 1.003572, 1.002880, 1.002267, 1.001726, 1.001255, 1.000847, 1.000497, 1.000201, 0.999954, 0.999751, 0.999586, 0.999457, 0.999358, 0.999286, 0.999237, 0.999208, 0.999196, 0.999197, 0.999211, 0.999234, 0.999264, 0.999300, 1.000000);
  --bm-motion-menu-enter: linear(0.000000, 0.007656, 0.028700, 0.060485, 0.100667, 0.147185, 0.198244, 0.252295, 0.308013, 0.364281, 0.420169, 0.474913, 0.527901, 0.578653, 0.626806, 0.672098, 0.714356, 0.753484, 0.789445, 0.822258, 0.851987, 0.878727, 0.902603, 0.923760, 0.942359, 0.958569, 0.972567, 0.984531, 0.994638, 1.003062, 1.009972, 1.015528, 1.019885, 1.023188, 1.025570, 1.027157, 1.028065, 1.028398, 1.028251, 1.027711, 1.026854, 1.025748, 1.024453, 1.023021, 1.021497, 1.019920, 1.018322, 1.016731, 1.015170, 1.013655, 1.012202, 1.010822, 1.009521, 1.008307, 1.007180, 1.006144, 1.005197, 1.004338, 1.003565, 1.002874, 1.002260, 1.001720, 1.001249, 1.000841, 1.000492, 1.000196, 0.999950, 0.999747, 0.999583, 0.999454, 0.999355, 0.999283, 0.999235, 0.999206, 0.999194, 0.999196, 0.999210, 0.999233, 0.999263, 0.999299, 1.000000);
  --bm-motion-menu-return: linear(0.000000, 0.007654, 0.028693, 0.060472, 0.100645, 0.147153, 0.198201, 0.252240, 0.307947, 0.364205, 0.420082, 0.474818, 0.527798, 0.578543, 0.626689, 0.671977, 0.714233, 0.753358, 0.789319, 0.822133, 0.851863, 0.878606, 0.902485, 0.923647, 0.942250, 0.958466, 0.972470, 0.984440, 0.994553, 1.002984, 1.009899, 1.015462, 1.019826, 1.023134, 1.025522, 1.027115, 1.028028, 1.028366, 1.028225, 1.027689, 1.026836, 1.025734, 1.024442, 1.023013, 1.021492, 1.019917, 1.018321, 1.016732, 1.015172, 1.013659, 1.012207, 1.010827, 1.009528, 1.008313, 1.007187, 1.006151, 1.005205, 1.004346, 1.003572, 1.002881, 1.002267, 1.001727, 1.001255, 1.000847, 1.000497, 1.000202, 0.999954, 0.999751, 0.999587, 0.999457, 0.999358, 0.999286, 0.999237, 0.999208, 0.999196, 0.999198, 0.999211, 0.999234, 0.999264, 0.999300, 1.000000);
  --bm-motion-gallery: linear(-0.000000, 0.008811, 0.031859, 0.064937, 0.104799, 0.148956, 0.195516, 0.243054, 0.290511, 0.337114, 0.382311, 0.425724, 0.467103, 0.506302, 0.543249, 0.577930, 0.610371, 0.640632, 0.668789, 0.694937, 0.719176, 0.741613, 0.762356, 0.781511, 0.799185, 0.815479, 0.830490, 0.844311, 0.857030, 0.868730, 0.879489, 0.889378, 0.898466, 0.906815, 0.914484, 0.921528, 0.927995, 0.933932, 0.939382, 0.944385, 0.948977, 0.953190, 0.957057, 0.960605, 0.963861, 0.966848, 0.969589, 0.972103, 0.974410, 0.976526, 0.978468, 0.980249, 0.981883, 0.983381, 0.984756, 0.986017, 0.987174, 0.988235, 0.989209, 0.990102, 0.990921, 0.991672, 0.992361, 0.992993, 0.993573, 0.994105, 0.994593, 0.995040, 0.995451, 0.995827, 0.996172, 0.996489, 0.996780, 0.997046, 0.997291, 0.997515, 0.997720, 0.997909, 0.998082, 0.998241, 1.000000);
}
html:has(.berio-native-page) {
  view-transition-name: none;
  --bm-motion-factor: 1;
}
::view-transition {
  pointer-events: none;
}
::view-transition-group(berio-menu) {
  animation-duration: var(--bm-menu-motion-duration,calc(511.046886ms * var(--bm-motion-factor,1)));
  animation-timing-function: var(--bm-menu-motion-easing,ease);
}
::view-transition-old(berio-menu) {
  animation: bm-menu-fade-out var(--bm-menu-motion-duration,calc(511.046886ms * var(--bm-motion-factor,1))) var(--bm-menu-motion-easing,ease) both;
}
::view-transition-new(berio-menu) {
  animation: bm-menu-fade-in var(--bm-menu-motion-duration,calc(511.046886ms * var(--bm-motion-factor,1))) var(--bm-menu-motion-easing,ease) both;
}
@keyframes bm-menu-fade-out {
  to {
    opacity: 0;
  }
}
@keyframes bm-menu-fade-in {
  from {
    opacity: 0;
  }
}
/* HEADER CONDIVISO — griglia principale, logo, menu e comandi. */
.berio-design-system .elementor .bm-header {
  position: fixed;
  inset: var(--wp-admin--admin-bar--height,0px) 0 auto;
  display: grid;
  grid-template-columns: 240px minmax(0,1fr) 240px;
  z-index: 20;
  border-bottom: 1px solid #ede9e038;
  background: #071a1080;
}
.berio-design-system .elementor .bm-header-center {
  flex: 1;
  min-width: 0;
}
.berio-design-system .elementor .bm-header-logo, .berio-design-system .elementor .bm-main-menu {
  grid-area: 1 / 1;
}
.berio-design-system .elementor .bm-header-logo {
  justify-self: center;
  align-self: start;
  z-index: 2;
  width: 158px;
}
.berio-design-system .elementor .bm-header-logo img {
  width: 158px;
  height: 81px;
  object-fit: contain;
}
.berio-design-system .elementor .bm-header-logo .elementor-widget-container {
  line-height: 0;
}
.berio-design-system .elementor .bm-main-menu {
  align-self: end;
  padding-bottom: 14px;
}
.berio-design-system .elementor .bm-main-menu .e-n-menu-heading {
  gap: 0;
  padding-inline-end: 70px;
}
.berio-design-system .elementor .bm-main-menu .e-n-menu-item:nth-child(3) > .e-n-menu-title {
  margin-right: 153px;
}
.berio-design-system .elementor .bm-main-menu .e-n-menu-item {
  position: static;
}
.berio-design-system .elementor .bm-main-menu .e-n-menu-item:not(:nth-child(4)) > .e-n-menu-title::before {
  content: "";
  position: absolute;
  left: -24px;
  top: 0;
  height: 17px;
  width: 1px;
  background: #ede9e050;
}
.berio-design-system .elementor .bm-main-menu .e-n-menu-title {
  position: relative;
  padding: 0;
  background: transparent;
}
.berio-design-system .elementor .bm-main-menu .e-n-menu-title-container {
  padding: 0;
}
.berio-design-system .elementor .bm-main-menu .e-n-menu-dropdown-icon {
  background: transparent;
  padding: 0;
  margin-inline-start: 10px;
}
.berio-design-system .elementor .bm-main-menu .e-n-menu-dropdown-icon svg {
  width: 4.4px;
  height: 7.125px;
  transform: rotate(90deg);
}
.berio-design-system .elementor .bm-header > .bm-button .elementor-button,
.berio-design-system .elementor .bm-header-countries .elementor-button {
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  color: var(--bm-cream);
}
.berio-design-system .elementor .bm-header > .bm-open-search .elementor-button::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 8px;
  background: currentColor;
  mask: url("vectors/recipe-search.svg") center / contain no-repeat;
}
.berio-design-system .elementor .bm-header > .bm-open-search .elementor-button {
  display: flex;
  align-items: center;
}
.berio-design-system .elementor .bm-header-countries {
  width: auto;
}
.berio-design-system .elementor .bm-header-countries .elementor-button {
  display: flex;
  align-items: center;
  gap: 8px;
}
.berio-design-system .elementor .bm-header-countries .elementor-button::before {
  content: "";
  width: 20px;
  height: 20px;
  background: url("vectors/079d4811bd99e5ae.svg") center / contain no-repeat;
}
.berio-design-system .elementor .bm-open-countries .elementor-button::before {
  background: currentColor;
  mask: url("vectors/bcc9fae9ad856b5f.svg") center / contain no-repeat;
}
.berio-design-system .elementor .bm-header-countries .elementor-button::after {
  content: none;
}
.berio-design-system .elementor .bm-header-social {
  position: absolute;
  top: 18px;
  right: 18px;
  width: auto;
}
.berio-design-system .elementor .bm-header-meta {
  display: contents;
}
.berio-design-system .elementor :is(.bm-menu-back,.bm-menu-entry--mobile) {
  display: none;
}
.berio-design-system .elementor .bm-header::before {
  content: "";
  position: absolute;
  inset: 54px 0 auto;
  height: 1px;
  background: #ede9e038;
}
.berio-design-system .elementor .bm-menu-panel {
  box-shadow: 0 10px 18px #0003;
}
.berio-design-system .elementor .bm-menu-rail {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.berio-design-system .elementor .bm-menu-rail::-webkit-scrollbar {
  display: none;
}
.berio-design-system .elementor .bm-menu-card {
  flex: 0 0 596px;
  scroll-snap-align: start;
}
.berio-design-system .elementor .bm-menu-photo {
  flex: 0 0 260px;
}
.berio-design-system .elementor .bm-menu-photo img {
  width: 100%;
  aspect-ratio: 290 / 240;
  object-fit: cover;
  border-radius: var(--bm-radius-card);
}
.berio-design-system .elementor .bm-menu-copy {
  justify-content: center;
}
.berio-design-system .elementor .bm-menu-controls .elementor-button {
  padding: 10px 18px;
  border-radius: 30px;
}
@media (min-width: 1025px) {
  .berio-design-system .elementor .bm-header {
    --bm-header-height: 100px;
    height: var(--bm-header-height);
  }
  .berio-design-system .elementor .bm-header > .bm-open-search {
    width: 92px;
    height: 32px;
    align-self: end;
    margin-bottom: 6px;
  }
  .berio-design-system .elementor .bm-header > .bm-open-search .elementor-button {
    width: 92px;
    height: 32px;
    justify-content: flex-start;
  }
  .berio-design-system .elementor .bm-header > .bm-open-search .elementor-button::before {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    margin-right: -6px;
  }
  .berio-design-system .elementor .bm-header > .bm-open-search .elementor-button-text {
    display: block;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
  .berio-design-system .elementor .bm-header-countries {
    position: absolute;
    right: 27px;
    top: 68px;
    width: auto;
    height: 19px;
    gap: 20px;
    align-items: center;
  }
  .berio-design-system .elementor .bm-header-countries > .elementor-widget-button {
    width: auto;
    flex: 0 0 auto;
  }
  .berio-design-system .elementor .bm-header-countries .elementor-button {
    width: auto;
    height: 19px;
    font-style: normal;
    font-variant: normal;
    font-weight: 700;
    font-stretch: normal;
    line-height: 18px;
    letter-spacing: 1px;
    gap: 9px;
  }
  .berio-design-system .elementor .bm-header-countries .elementor-button-text {
    display: block;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
  .berio-design-system .elementor .bm-header-countries .elementor-button::before {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    background: currentColor;
    mask: url("vectors/menu-globe.svg") center / contain no-repeat;
  }
  .berio-design-system .elementor .bm-header-countries .bm-open-spanish .elementor-button::before {
    mask-image: url("vectors/menu-language-flag.svg");
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-dropdown-icon {
    position: relative;
    flex: 0 0 4.4px;
    width: 4.4px;
    height: 18px;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-item:has(.e-n-menu-dropdown-icon[aria-expanded="true"]) > .e-n-menu-title :is(.e-n-menu-title-text,.e-n-menu-dropdown-icon) {
    color: var(--bm-gold);
  }
  .berio-design-system .elementor .bm-header-countries > :first-child::after {
    content: "";
    position: absolute;
    left: calc(100% + 10px);
    top: 1px;
    height: 17px;
    border-left: 1px solid #ede9e050;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-dropdown-icon svg {
    display: none;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-dropdown-icon::before {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    left: 50%;
    top: 50%;
    background: currentColor;
    mask: url("vectors/menu-chevron.svg") center / contain no-repeat;
    transform: translate(-50%,-50%) rotate(90deg);
  }
  .berio-design-system .elementor :is(.bm-header-center,.bm-main-menu,.bm-main-menu .e-n-menu) {
    position: static;
  }
  body.berio-design-system .elementor .bm-main-menu .e-n-menu .e-n-menu-wrapper .e-n-menu-content {
    --stretch-left: 0px;
    --stretch-width: calc(100% + 1px);
    top: var(--bm-header-height);
    left: 0;
    width: calc(100% + 1px);
  }
  .berio-design-system .elementor .bm-menu-panel {
    opacity: 0;
    transition: opacity calc(.2s * var(--bm-motion-factor,1)) cubic-bezier(0,0,.58,1), display calc(.2s * var(--bm-motion-factor,1)) allow-discrete;
  }
  .berio-design-system .elementor .bm-menu-panel.e-active {
    opacity: 1;
    transition-duration: calc(.511036754s * var(--bm-motion-factor,1));
    transition-timing-function: var(--bm-motion-menu-enter);
  }
@starting-style  {
    .berio-design-system .elementor .bm-menu-panel.e-active {
      opacity: 0;
    }
}
  .berio-design-system .elementor .bm-menu-panel {
    padding: 78.5px 95px;
    gap: 0;
  }
  .berio-design-system .elementor .bm-menu-rail {
    gap: 73px;
    padding: 0 23.54675px 0 0;
    scroll-snap-type: none;
  }
  .berio-design-system .elementor .bm-menu-card {
    flex-basis: 541.29065px;
    gap: 26px;
  }
  .berio-design-system .elementor .bm-menu-photo {
    flex-basis: 211.29065px;
    height: 205px;
    overflow: hidden;
    border-radius: 10px;
  }
  .berio-design-system .elementor .bm-menu-photo img {
    width: var(--bm-menu-photo-size,100%);
    height: var(--bm-menu-photo-size,205px);
    max-width: none;
    aspect-ratio: 211.29065 / 205;
    border-radius: 0;
    transform: translate(var(--bm-menu-photo-left,0px),var(--bm-menu-photo-top,0px));
  }
  .berio-design-system .elementor .bm-menu-photo--bottles {
    --bm-menu-photo-size: 218px;
    --bm-menu-photo-left: -6.75px;
    --bm-menu-photo-top: -.5px;
  }
  .berio-design-system .elementor .bm-menu-photo--jars {
    --bm-menu-photo-size: 213px;
    --bm-menu-photo-left: -.936px;
    --bm-menu-photo-top: -4px;
  }
  .berio-design-system .elementor .bm-menu-photo--sauce {
    --bm-menu-photo-size: 224px;
    --bm-menu-photo-left: -5.87207px;
    --bm-menu-photo-top: -19.5px;
  }
  .berio-design-system .elementor .bm-menu-copy {
    flex: 0 0 304px;
    justify-content: flex-start;
    gap: 0;
    padding: 0;
  }
  .berio-design-system .elementor .bm-menu-copy > .elementor-widget-heading {
    position: relative;
    padding-bottom: 12.6px;
    margin-bottom: 13px;
  }
  .berio-design-system .elementor .bm-menu-copy > .elementor-widget-heading::after {
    content: "";
    position: absolute;
    inset: auto 0 -.5px;
    height: 1px;
    background: #02322c4d;
  }
  .berio-design-system .elementor .bm-menu-copy > .elementor-widget-text-editor {
    opacity: .9;
  }
  .berio-design-system .elementor .bm-menu-copy > .elementor-widget-button {
    margin-top: auto;
  }
  .berio-design-system .elementor .bm-menu-copy > .elementor-widget-button .elementor-button {
    min-width: 179px;
  }
  .berio-design-system .elementor .bm-menu-copy > .elementor-widget-button .elementor-button-content-wrapper {
    gap: 16px;
  }
  .berio-design-system .elementor .bm-menu-controls {
    position: absolute;
    inset: 0;
    padding: 0;
    pointer-events: none;
  }
  .berio-design-system .elementor .bm-menu-controls > :is(.bm-menu-prev,.bm-menu-next) {
    position: absolute;
    top: 165.35986px;
    width: 18.13682px;
    pointer-events: auto;
  }
  .berio-design-system .elementor .bm-menu-prev {
    left: 33px;
  }
  .berio-design-system .elementor .bm-menu-next {
    right: 32.86318px;
  }
  .berio-design-system .elementor .bm-menu-controls .elementor-button {
    display: block;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--bm-green);
    opacity: .5;
  }
  .berio-design-system .elementor .bm-menu-controls .elementor-button-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
  .berio-design-system .elementor .bm-menu-controls .elementor-button-icon {
    margin: 0;
    line-height: 0;
  }
  .berio-design-system .elementor .bm-menu-controls .elementor-button-icon svg {
    width: 18.13682px;
    height: 32px;
  }
  .berio-design-system .elementor .bm-menu-pagination {
    position: absolute;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    width: 42px;
    height: 21px;
    border: 1px solid #124c274d;
    border-radius: 20px;
    pointer-events: auto;
  }
  .berio-design-system .elementor .bm-menu-pagination .elementor-icon-list-items {
    /* Keep the two page indicators on one centered row. */
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 19px;
    margin: 0;
  }
  .berio-design-system .elementor .bm-menu-pagination.elementor-widget-icon-list .elementor-icon-list-items .elementor-icon-list-item {
    flex: 0 0 7px;
    padding: 0;
    margin: 0;
  }
  .berio-design-system .elementor .bm-menu-pagination .elementor-icon-list-icon {
    line-height: 0;
    padding: 0;
  }
  .berio-design-system .elementor .bm-menu-pagination .elementor-icon-list-icon svg {
    width: 7px;
    height: 7px;
    fill: var(--bm-green);
    opacity: .3;
  }
  .berio-design-system .elementor .bm-menu-pagination a[aria-current="true"] svg {
    opacity: 1;
  }
  .berio-design-system .elementor .bm-menu-pagination .elementor-icon-list-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
  .berio-design-system .elementor .bm-header-social {
    top: 16px;
    right: 25.5px;
  }
  .berio-design-system .elementor .bm-header-social-icons :is(.elementor-social-icon,svg) {
    width: 24px;
    height: 24px;
  }
  .berio-design-system .elementor .bm-header-social-icons .elementor-grid {
    grid-column-gap: 12px;
  }
  .berio-design-system .elementor .bm-header-social-icons a[aria-label="YouTube"], .berio-design-system .elementor .bm-header-social-icons a[aria-label="YouTube"] svg {
    width: 19.5px;
  }
  .berio-design-system .elementor .bm-header-social-icons a[aria-label="Twitter"] svg {
    visibility: hidden;
  }
  .berio-design-system .elementor .bm-header-social-icons a[aria-label="Twitter"] {
    position: relative;
  }
  .berio-design-system .elementor .bm-header-social-icons a[aria-label="Twitter"]::after {
    content: "";
    position: absolute;
    inset: 0;
    background: currentColor;
    mask: url("vectors/social-x.svg") center / contain no-repeat;
  }
}
/* HOME — hero iniziale e sezioni introduttive. */
.berio-design-system .elementor .bm-hero {
  overflow: hidden;
  aspect-ratio: 16 / 9;
}
.berio-design-system .elementor .bm-hero-content {
  flex: 1;
  width: 100%;
}
.berio-design-system .elementor .bm-hero-copy {
  max-width: 900px;
}
.berio-design-system .elementor .bm-open-film {
  align-self: end;
}
.berio-design-system .elementor .bm-open-film .elementor-button {
  display: grid;
  place-items: center;
  width: 91.988426px;
  height: 90.924911px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  position: relative;
  isolation: isolate;

}
.berio-design-system .elementor .bm-open-film .elementor-button:is(:hover,:focus-visible) {
  background-color: transparent;
}
.berio-design-system .elementor .bm-open-film .elementor-button::after {
  content: "";
  position: absolute;
  left: calc(var(--bm-play-center-x,46px) - 4.2891235px);
  top: calc(var(--bm-play-center-y,45px) - 7.1806946px);
  width: 11.2681px;
  height: 13px;
  margin: 0;
  background: var(--bm-cream);
  transition: background-color calc(.511046886s * var(--bm-motion-factor,1)) var(--bm-motion-play);
  mask: url("vectors/e34dc997395a2ccb.svg") center / contain no-repeat;
}
.berio-design-system .elementor .bm-open-film .elementor-button-content-wrapper {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
/* HOME / PRODOTTI — griglie e card condivise, fotografie e azioni. */
.berio-design-system .elementor .bm-products-grid {
  align-items: start;
}
@media (min-width: 1025px) {
  .berio-design-system .elementor .bm-products-intro {
    position: sticky;
    top: calc(124px + var(--wp-admin--admin-bar--height,0px));
  }
}
.berio-design-system .elementor .bm-products-intro > .elementor-widget-text-editor {
  margin-top: 30px;
}
.berio-design-system .elementor .bm-olive-branch {
  margin-top: 48px;
  width: 595px;
  max-width: 100%;
}
.berio-design-system .elementor .bm-product-photo {
  aspect-ratio: 687 / 470;
  overflow: hidden;
  border-radius: var(--bm-radius-card);
}
/* Anche il wrapper picture deve riempire la foto: evita vuoti prima del titolo. */
.berio-design-system .elementor .bm-product-photo :where(a,picture,.elementor-widget-container) {
  display: block;
  height: 100%;
}
.berio-design-system .elementor .bm-product-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.berio-design-system .elementor .bm-product-card .bm-product-photo {
  border-radius: 10px;
}
.berio-design-system .elementor .bm-photo-olive img {
  transform: scale(1.089361702);
  transform-origin: 50% 33.333333333%;
}
.berio-design-system .elementor .bm-photo-pesto img {
  transform: scale(1.438297872);
  transform-origin: 50% 66.990291262%;
}
.berio-design-system .elementor .bm-photo-sauce img {
  transform: scale(1.270212766);
  transform-origin: 50% 49.606299213%;
}
.berio-design-system .elementor .bm-photo-vinegar img {
  object-position: 69.93006993% center;
}
.berio-design-system .elementor .bm-card-title {
  padding-bottom: 28px;
  border-bottom: 1px solid #ede9e066;
}
.berio-design-system .elementor .bm-product-card .bm-card-title {
  --bm-title-optical-y: 3px;
}
.berio-design-system .elementor :is(.bm-card-title,.bm-category-card--horizontal) .elementor-heading-title {
  translate: 0 var(--bm-title-optical-y,0px);
}
.berio-design-system .elementor .bm-card-title a {
  display: block;
  padding-right: 40px;
  background: url("vectors/home-arrow.svg") right center / 24px no-repeat;
}
.berio-design-system .elementor .bm-card-description {
  min-height: 128px;
}
.berio-design-system .elementor .bm-product-cards .bm-product-card--action {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  grid-template-rows: auto auto auto;
  align-content: start;
  row-gap: 28px;
  column-gap: 0;
}
.berio-design-system .elementor .bm-product-card--action > :is(.bm-product-photo,.bm-card-title,.bm-card-description) {
  grid-column: 1 / -1;
}
.berio-design-system .elementor .bm-product-card--action > .bm-product-photo {
  grid-row: 1;
}
.berio-design-system .elementor .bm-product-card--action > .bm-card-title {
  grid-row: 2;
}
.berio-design-system .elementor .bm-product-card--action > .bm-card-description {
  grid-row: 3;
}
.berio-design-system .elementor .bm-product-card--action > .bm-card-action {
  grid-column: 2;
  grid-row: 2;
  width: auto;
  align-self: start;
  margin-top: 8.5px;
}
.berio-design-system .elementor .bm-product-card--action .bm-card-title a {
  background-image: none;
}
@media (min-width: 768px) {
  .berio-design-system .elementor .bm-product-cards .bm-product-card--action {
    row-gap: 30px;
  }
  .berio-design-system .elementor .bm-product-card--action > .bm-product-photo {
    margin-bottom: 5px;
  }
  .berio-design-system .elementor .bm-product-card--action .bm-card-title {
    --bm-card-heading-height: 57px;
    position: relative;
    display: grid;
    grid-template-rows: var(--bm-card-heading-height);
    align-items: center;
    padding-bottom: 30px;
    border-bottom: 0;
  }
  .berio-design-system .elementor .bm-product-card--action .bm-heading-row-tall {
    --bm-card-heading-height: 69px;
  }
  .berio-design-system .elementor .bm-product-card--action .bm-card-title::after {
    content: "";
    position: absolute;
    left: 0;
    right: 2px;
    bottom: 0;
    border-bottom: 1px solid #ede9e066;
  }
  .berio-design-system .elementor .bm-product-card--action .bm-heading-row-tall ~ .bm-card-action {
    margin-top: 14.5px;
  }
}
.berio-design-system .elementor .bm-signature-mark {
  width: min(100%,1140px);
}
.berio-design-system .elementor .bm-signature {
  aspect-ratio: 16 / 9;
}
.berio-design-system .elementor .bm-signature-mark img {
  width: 100%;
}
.berio-design-system .elementor .bm-signature-title {
  text-align: center;
}
/* HOME / RICETTE — galleria, badge e informazioni ricetta. */
.berio-design-system .elementor .bm-recipe-gallery .swiper-slide-image {
  display: block;
  width: 100%;
  aspect-ratio: 1512 / 732;
  object-fit: cover;
  border-radius: var(--bm-radius-card);
}
.berio-design-system .elementor .bm-recipe-gallery .swiper {
  overflow: hidden;
  border-radius: var(--bm-radius-card);
}
.berio-design-system .elementor .bm-featured-photo a {
  display: block;
  overflow: hidden;
  border-radius: var(--bm-radius-card);
}
.berio-design-system .elementor .bm-featured-photo img {
  width: 100%;
  aspect-ratio: 592 / 410;
  object-fit: cover;
  object-position: 73.18% 50%;
  transform: scale(1.370731707);
  transform-origin: 50% 45.065789%;
}
.berio-design-system .elementor .bm-featured-details {
  align-self: start;
}
.berio-design-system .elementor .bm-featured-visual > .elementor-element {
  grid-area: 1 / 1;
}
.berio-design-system .elementor .bm-recipe-badge {
  --bm-badge-scale: 1;
  align-self: start;
  justify-self: start;
  display: grid;
  place-items: center;
  width: calc(100px * var(--bm-badge-scale));
  height: calc(100px * var(--bm-badge-scale));
  margin: 15px 0 0 15px;
  background: url("vectors/530f10d5d09efea6.svg") center / 90% 90% no-repeat;
  filter: drop-shadow(0 4px 6px rgb(0 0 0 / .25));
  z-index: 1;
  text-align: center;
}
.berio-design-system .elementor .bm-recipe-badge .elementor-heading-title {
  line-height: 1.17;
  letter-spacing: calc(1.2px * var(--bm-badge-scale));
}
.berio-design-system .elementor .bm-recipe-facts .elementor-icon-list-items {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  min-height: 64px;
  border: 1px solid #ede9e050;
  border-radius: 15px;
}
.berio-design-system .elementor .bm-recipe-facts .elementor-icon-list-item {
  flex-direction: column;
  justify-content: start;
  gap: 7.225px;
  padding: 8.35px 8px 8px;
}
.berio-design-system .elementor .bm-recipe-facts .elementor-icon-list-item + .elementor-icon-list-item {
  border-left: 1px solid #ede9e050;
}
.berio-design-system .elementor .bm-recipe-facts .elementor-icon-list-icon {
  --e-icon-list-icon-margin: 0;
  display: flex;
  justify-content: center;
  align-items: start;
  width: 24px;
  height: 24px;
}
.berio-design-system .elementor .bm-recipe-facts .elementor-icon-list-icon svg {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}
.berio-design-system .elementor .bm-recipe-facts .elementor-icon-list-icon .bm-icon-pasta {
  width: 27.142855px;
  height: 19px;
}
.berio-design-system .elementor .bm-recipe-facts .elementor-icon-list-text {
  padding: 0;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.berio-design-system .elementor .bm-recipe-facts .elementor-icon-list-item:nth-child(3) .elementor-icon-list-text {
  letter-spacing: 1.3px;
}
.berio-design-system .elementor .bm-featured-oil {
  min-height: 409px;
  padding: 0;
  align-items: center;
  align-self: start;
  border: 1px solid #ede9e038;
  border-radius: 16px;
}
.berio-design-system .elementor .bm-oil-recipe-label {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 64px;
  border-bottom: 1px solid #ede9e038;
}
.berio-design-system .elementor .bm-oil-recipe-label .elementor-heading-title {
  display: flex;
  align-items: center;
  gap: 12px;
}
.berio-design-system .elementor .bm-oil-recipe-label .elementor-heading-title::before {
  content: "";
  display: block;
  flex: 0 0 27.14px;
  height: 27.14px;
  background: var(--bm-gold);
  mask: url("vectors/recipe-oil-drop.svg") center / contain no-repeat;
}
.berio-design-system .elementor .bm-featured-oil-photo {
  --bm-bottle-scale: 1.275501013;
  position: relative;
  isolation: isolate;
  width: calc(64.327385px * var(--bm-bottle-scale));
  height: calc(212px * var(--bm-bottle-scale));
}
.berio-design-system .elementor .bm-featured-oil-photo::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: calc(188px * var(--bm-bottle-scale));
  height: calc(254px * var(--bm-bottle-scale));
  left: 50%;
  top: 50%;
  transform: translate(-50%,calc(-50% + 12.75501px)) scale(.73858245,.858267717);
  opacity: 0;
  border-radius: 50%;
  background: radial-gradient(ellipse closest-side,rgb(219.65556 228.99531 84.22734 / 1),rgb(18.06852 73.69526 50.51746 / 0));
  transition: opacity calc(.416707635s * var(--bm-motion-factor,1)) var(--bm-motion-glow), transform calc(.416707635s * var(--bm-motion-factor,1)) var(--bm-motion-glow);
}
.berio-design-system .elementor .bm-featured-oil-photo img {
  display: block;
  width: calc(63.396229px * var(--bm-bottle-scale));
  height: calc(210px * var(--bm-bottle-scale));
  max-height: 100%;
  margin-inline: auto;
  object-fit: fill;
  transform-origin: 50% 50%;
  transition: transform calc(.416707635s * var(--bm-motion-factor,1)) var(--bm-motion-glow);
}
/* Ricetta del mese desktop: il riquadro olio segue la riga della foto.
   Il contenuto si adatta allo spazio disponibile senza imporre i vecchi 409px. */
@media (min-width: 768px) {
  .berio-design-system .elementor .bm-featured-oil {
    min-height: 0;
    align-self: stretch;
    contain: size;
    gap: 20px;
    padding-bottom: 20px;
  }
  .berio-design-system .elementor .bm-featured-oil-photo {
    flex: 1;
    min-height: 0;
    height: auto;
    width: 100%;
  }
  .berio-design-system .elementor .bm-featured-oil-photo a {
    display: block;
    height: 100%;
  }
  .berio-design-system .elementor .bm-featured-oil-photo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}
.berio-design-system .elementor .bm-featured-oil-photo.bm-glow-active::before {
  transform: translate(-50%,-50%);
  opacity: 1;
}
.berio-design-system .elementor .bm-featured-oil-photo.bm-glow-active img {
  transform: scale(1.13571396,1.13333333);
}
.berio-design-system .elementor .bm-featured-oil-photo.bm-glow-returning::before,
.berio-design-system .elementor .bm-featured-oil-photo.bm-glow-returning img {
  transition-duration: calc(.625061452s * var(--bm-motion-factor,1));
  transition-timing-function: var(--bm-motion-card);
}
.berio-design-system .elementor .bm-oil-carousel, .berio-design-system .elementor .bm-oil-caption {
  grid-area: 1 / 1;
}
.berio-design-system .elementor .bm-oil-carousel .swiper {
  padding-bottom: 0;
}
.berio-design-system .elementor .bm-oil-carousel .swiper-slide {
  display: grid;
  place-items: center;
  height: min(56.25vw,1080px);
  min-height: 620px;
  background: var(--bm-oil-color,#1d5336);
  transition: background-color calc(.625061452s * var(--bm-motion-factor,1)) var(--bm-motion-card);
}
.berio-design-system .elementor .bm-oil-carousel .swiper-slide-inner {
  display: flex;
  align-items: start;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding-top: clamp(80px,7.135417vw,137px);
}
.berio-design-system .elementor .bm-oil-carousel .swiper-slide-image {
  height: min(30.8vw,591px);
  width: 100%;
  max-height: 65%;
  max-width: 100%;
  object-fit: contain;
}
.berio-design-system .elementor .bm-oil-range .elementor-swiper-button {
  position: absolute;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 2px solid #ede9e050;
  border-radius: 50%;
  z-index: 3;
}
.berio-design-system .elementor .bm-oil-range .elementor-swiper-button svg {
  width: 24px;
  height: 24px;
}
.berio-design-system .elementor .elementor-swiper-button svg {
  display: none;
}
.berio-design-system .elementor .elementor-swiper-button::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: currentColor;
  mask: url("vectors/home-arrow.svg") center / contain no-repeat;
}
.berio-design-system .elementor .elementor-swiper-button-prev::before {
  transform: rotate(180deg);
}
.berio-design-system .elementor .bm-oil-range .elementor-swiper-button-prev {
  left: 48px;
}
.berio-design-system .elementor .bm-oil-range .elementor-swiper-button-prev svg {
  transform: rotate(180deg);
}
.berio-design-system .elementor .bm-oil-range .elementor-swiper-button-next {
  right: 48px;
}
.berio-design-system .elementor .bm-oil-caption {
  justify-self: center;
  align-self: end;
  z-index: 1;
  max-width: calc(100% - 48px);
  margin-bottom: 94px;
  text-align: center;
  box-shadow: 0 8px 15.9px rgb(0 0 0 / .2);
}
.berio-design-system .elementor .bm-oil-caption::before,
.berio-design-system .elementor .bm-oil-caption::after {
  content: "";
  position: absolute;
  top: 33px;
  height: 89px;
  width: 0; /* Il separatore non deve ereditare il 100% di Elementor su tablet. */
  border-left: 1px solid #ede9e033;
}
.berio-design-system .elementor .bm-oil-caption::before {
  left: 130px;
}
.berio-design-system .elementor .bm-oil-caption::after {
  right: 130px;
}
@media (min-width: 768px) {
  .berio-design-system :where(.elementor) .elementor-heading-title em.bm-mobile-emphasis {
    font-style: inherit;
    font-weight: inherit;
  }
}
.berio-design-system .elementor .bm-story-grid {
  /* Home: testo allineato al bordo superiore della foto, come nella tavola Figma. */
  align-items: start;
}
.berio-design-system .elementor .bm-story-photo {
  aspect-ratio: 897 / 596;
  overflow: hidden;
  border-radius: var(--bm-radius-card);
}
.berio-design-system .elementor .bm-story-photo .elementor-widget-container {
  height: 100%;
}
.berio-design-system .elementor .bm-story-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(2.63);
  transform-origin: 50% 74%;
}
.berio-design-system .elementor .bm-instagram-carousel .swiper-slide {
  --bm-instagram-photo-width: 317;
  width: min(calc(var(--bm-instagram-photo-width) * 1px),calc(100vw - 72px));
}
.berio-design-system .elementor .bm-instagram-carousel .bm-instagram-photo--wide {
  --bm-instagram-photo-width: 318;
}
.berio-design-system .elementor .bm-instagram-carousel .swiper-slide-image {
  display: block;
  width: 100%;
  aspect-ratio: var(--bm-instagram-photo-width) / 431;
  object-fit: cover;
  border-radius: var(--bm-radius-card);
}
.berio-design-system .elementor .bm-instagram-photo--source-clipped .swiper-slide-image {
  border-radius: 0;
}
.berio-design-system .elementor .bm-instagram-carousel .swiper {
  padding-inline: 0;
}
.berio-design-system .elementor .elementor-widget.bm-instagram-carousel {
  width: calc(100vw + 154px);
  max-width: none;
  margin-inline: -77px;
  align-self: start;

}
.berio-design-system .elementor .bm-instagram {
  --bm-green: var(--bm-green-dark);
  overflow: hidden;
}
.berio-design-system .elementor .bm-instagram-heading {
  max-width: calc(100% - 408px);
}
/* Home: lascia al titolo lo spazio naturale; la linea decorativa occupa il resto.
 * Solo desktop/tablet: il layout mobile conserva le proprie regole. */
@media (min-width: 768px) {
  .berio-design-system .elementor .bm-instagram-heading .bm-instagram-title {
    width: max-content;
    flex: 0 0 auto;
  }
  .berio-design-system .elementor .bm-instagram-title .elementor-heading-title {
    line-height: 1.15;
  }
}
.berio-design-system .elementor .bm-instagram-title em {
  line-height: 1;
}
.berio-design-system .elementor .bm-instagram-carousel .elementor-swiper-button {
  color: var(--bm-green);
}
.berio-design-system .elementor .bm-instagram-carousel .elementor-swiper-button.swiper-button-disabled {
  display: none;
}
.berio-design-system .elementor .bm-instagram-icon {
  width: 46px;
  flex: 0 0 46px;
}
.berio-design-system .elementor .bm-instagram-heading::after,
.berio-design-system .elementor .bm-instagram > .bm-button::before {
  content: "";
  flex: 1;
  height: 11px;
  background: linear-gradient(rgb(14 54 37 / .3),rgb(14 54 37 / .3)) 7px 5px / calc(100% - 28px) 1.2px no-repeat,url("vectors/divider-diamond.svg") right center / 10.8873px 10.8873px no-repeat;
}
.berio-design-system .elementor .bm-instagram-heading::after {
  align-self: end;
}
.berio-design-system .elementor .bm-instagram > .bm-button {
  display: flex;
  align-items: center;
  gap: 19px;
}
.berio-design-system .elementor .bm-instagram > .bm-button::before {
  transform: scaleX(-1);
  margin-left: 3px;
}
.berio-design-system.elementor-editor-active :where(.elementor) :where(.bm-product-photo,.bm-story-photo) {
  overflow: visible;
}
.berio-design-system.elementor-editor-active :where(.elementor) :where(.bm-product-photo,.bm-story-photo) > .elementor-widget-container {
  overflow: hidden;
  border-radius: inherit;
}
.berio-design-system .elementor .bm-footer-logo {
  align-self: center;
}
.berio-design-system .elementor .bm-footer-logo img {
  width: 412px;
}
/* FOOTER CONDIVISO — navigazione e divisori, presenti in tutte le pagine. Moduli Ninja Forms nella sezione finale. */
.berio-design-system .elementor .bm-footer-links .elementor-icon-list-text {
  padding-inline-start: 0;
}
.berio-design-system .elementor .bm-footer-links .elementor-icon-list-icon {
  display: none;
}

.berio-design-system .elementor .bm-footer-links .elementor-icon-list-text {
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}

@media (min-width: 768px) {

  .berio-design-system .elementor .bm-footer-links .elementor-icon-list-text {
    opacity: .7;
  }
  .berio-design-system .elementor .bm-footer-links a:is(:hover,:focus-visible) .elementor-icon-list-text {
    opacity: 1;
    color: var(--bm-cream);
  }
  .berio-design-system .elementor :is(.bm-footer-columns,.bm-footer-bottom) {
    position: relative;
    border-top: 0;
  }
  .berio-design-system .elementor :is(.bm-footer-columns,.bm-footer-bottom)::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    right: 0;
    height: .5px;
    background: linear-gradient(to right,#ede9e066 calc(50% - 16px),transparent calc(50% - 16px),transparent calc(50% + 16px),#ede9e066 calc(50% + 16px));
  }
  .berio-design-system .elementor :is(.bm-footer-columns,.bm-footer-bottom)::after {
    content: "";
    position: absolute;
    top: 0;
    left: calc(50% - 5.44365px);
    width: 10.8873px;
    height: 10.8873px;
    background: var(--bm-cream);
    mask: url("vectors/divider-diamond.svg") center / contain no-repeat;
  }

}

.berio-design-system .elementor .bm-footer-bottom a:hover {
  color: var(--bm-gold);
}
.berio-design-system .elementor .bm-back-top {
  position: absolute;
  top: 54px;
  right: 49px;
}
.berio-design-system .elementor .bm-back-top .elementor-button {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  padding: 0;
}
.berio-design-system .elementor .bm-back-top .elementor-button-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.berio-design-system .elementor .bm-back-top :is(.elementor-button-content-wrapper,.elementor-button-icon,.elementor-button-icon svg) {
  width: 100%;
  height: 100%;
}
.berio-design-system .elementor .bm-back-top svg {
  transform: none;
}
.berio-design-system .elementor .bm-back-top .elementor-button {
  border: 1.2px solid #ebe7dd33;
  border-radius: 6px;
}
.berio-design-system .elementor .bm-footer-bottom .elementor-social-icon svg {
  width: 24px;
  height: 24px;
}
.berio-design-system .elementor .bm-footer-bottom .elementor-social-icon {
  width: 24px;
  height: 24px;
  color: var(--bm-cream);
}
.berio-design-system .elementor .bm-footer-bottom .elementor-social-icon[aria-label="YouTube"] {
  width: 19.5px;
}
.berio-design-system .elementor .bm-footer-socials {
  width: auto;
  flex-shrink: 0;
}
.berio-design-system .elementor .bm-footer-social-label {
  order: -1;
}
.berio-design-system .elementor .bm-dialogs {
  margin: 0;
  height: 0;
  min-height: 0;
  line-height: 0;
}
.berio-design-system .elementor .bm-dialog {
  border: 0;
  padding: 70px;
  width: min(1100px,calc(100% - 48px));
  max-height: calc(100dvh - 48px);
  border-radius: 24px;
  color: var(--bm-cream);
  background: var(--bm-green);
}
.berio-design-system .elementor .bm-dialog::backdrop {
  background: #05140ced;
  backdrop-filter: blur(8px);
}
.berio-design-system .elementor .bm-dialog-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  border: 1px solid #ede9e080;
  border-radius: 50%;
  color: var(--bm-cream);
  background: transparent;
  cursor: pointer;
}
/* CONDIVISI — finestre di ricerca, video e selezione paese. */
.berio-design-system .elementor .bm-dialog-close:hover {
  color: var(--bm-green);
  background: var(--bm-cream);
}
.berio-design-system .elementor :is(.bm-film-dialog,.bm-search-dialog,.bm-country-dialog) {
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
}
.berio-design-system .elementor .bm-film-dialog::backdrop {
  background: #0009;
  backdrop-filter: blur(31.2px);
}
.berio-design-system .elementor .bm-search-dialog::backdrop {
  background: #0008;
  backdrop-filter: blur(31.2px);
}
.berio-design-system .elementor :is(.bm-film-dialog,.bm-search-dialog,.bm-country-dialog) .bm-dialog-close {
  position: fixed;
  top: 40px;
  right: 52px;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: var(--bm-cream);
  mask: url("vectors/dialog-close.svg") center / contain no-repeat;
  z-index: 1;
}
.berio-design-system .elementor .bm-film-dialog video {
  display: block;
  width: min(75.625vw,1452px);
  aspect-ratio: 1452 / 817;
  max-height: calc(100dvh - 160px);
  margin: 12.222222vh auto 0;
  object-fit: contain;
  background: #000;
}
.berio-design-system .elementor .bm-search-content {
  width: min(616px,calc(100% - 56px));
  position: relative;
  margin: max(90px,calc(50dvh - 199px)) auto 40px;
}
.berio-design-system .elementor .bm-search-content > img {
  display: block;
  width: 394px;
  max-width: 100%;
  height: 111px;
  margin: 0 auto 43px;
}
.berio-design-system .elementor .bm-dialog h2 {
  margin-bottom: 24px;
}
.berio-design-system .elementor .bm-search-dialog h2 {
  line-height: 1.15;
  /* Titolo centrato nel popup ricerca condiviso. */
  text-align: center;
  margin: 0 0 20px;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.berio-design-system .elementor .bm-search-dialog form {
  display: flex;
  gap: 29px;
  padding: 17px;
  margin-left: 6px;
  border-radius: 200px;
  background: var(--bm-cream);
  box-shadow: 5px 10px 20.8px #0004;
}
.berio-design-system .elementor .bm-search-dialog input {
  width: 100%;
  min-width: 0;
  height: 50px;
  padding: 0 24px;
  border: 0;
  border-radius: 100px;
  background: #c5c3c3;
  color: var(--bm-green);
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  font-stretch: normal;
  line-height: 1.54;
}
.berio-design-system .elementor .bm-search-dialog form button {
  flex: 0 0 114px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 0 10px;
  border: 1px solid var(--bm-green);
  border-radius: 100px;
  background: var(--bm-green);
  color: var(--bm-cream);
  cursor: pointer;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  font-stretch: normal;
  line-height: 1;
  letter-spacing: 1.3px;
  text-transform: uppercase;
}
.berio-design-system .elementor .bm-search-submit-icon {
  flex: 0 0 32px;
  height: 32px;
  background: var(--bm-cream);
  mask: url("vectors/recipe-search.svg") center / contain no-repeat;
}
/* WORLDWIDE — tavola Select country: logo, titoli e pulsanti centrati. */
.berio-design-system .elementor .bm-country-dialog {
  background: #06140d;
  line-height: 1.2;
}
.berio-design-system .elementor .bm-country-content {
  width: min(1208px,calc(100% - 48px));
  margin: clamp(90px,8.333vw,160px) auto 64px;
  text-align: center;
}
.berio-design-system .elementor .bm-country-logo {
  display: block;
  width: 320px;
  height: auto;
  margin: 0 auto 40px;
}
.berio-design-system .elementor .bm-country-welcome { margin: 0 0 8px; }
.berio-design-system .elementor .bm-country-dialog #bm-country-title {
  color: var(--bm-gold);
  line-height: 1.1;
  margin: 0;
}
.berio-design-system .elementor .bm-country-divider {
  position: relative;
  height: 11px;
  margin: 55px 0;
  background: linear-gradient(#ede9e033,#ede9e033) left center / calc(50% - 15px) 1px no-repeat,

    linear-gradient(#ede9e033,#ede9e033) right center / calc(50% - 15px) 1px no-repeat;
}
.berio-design-system .elementor .bm-country-dialog nav {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 20px;
  max-width: 600px;
  margin: 0 auto;
}
.berio-design-system .elementor .bm-country-dialog nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 54px;
  padding: 12px 18px;
  border: 1px solid #ede9e066;
  border-radius: 8px;
  color: var(--bm-cream);
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
}
.berio-design-system .elementor .bm-country-dialog nav a::after {
  content: "";
  width: 7px;
  height: 7px;
  flex-shrink: 0;
  border-top: 1px solid var(--bm-gold);
  border-right: 1px solid var(--bm-gold);
  transform: rotate(45deg);
}
.berio-design-system .elementor .bm-country-dialog nav a:is(:hover,:focus-visible) {
  border-color: var(--bm-gold);
  background: #ede9e00d;
}
.berio-design-system .elementor .bm-screen-reader {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
html:has(.berio-native-page.bm-static-preview) {
  --bm-motion-factor: 0;
  scrollbar-width: none;
  scroll-behavior: auto;
}
html:has(.berio-native-page.bm-visual-preview) {
  scrollbar-width: none;
}
.berio-native-home.bm-static-preview .elementor-background-video-container {
  display: none;
}
/* PAGINE INTERNE — struttura comune, sezioni, griglie e componenti riutilizzati. */
.berio-design-system :where(.bm-main) {
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --gap: 0px;
  --row-gap: 0px;
  --column-gap: 0px;
  width: 100%;
  color: var(--bm-cream);
  background: var(--bm-green);
}
.berio-design-system :where(.elementor) .bm-main :where(.e-con) {
  --row-gap: var(--gap);
  --column-gap: var(--gap);
  --e-con-grid-template-rows: auto;
}
.berio-design-system :where(.elementor) > .bm-shared-template {
  margin-block: 0;
}
.berio-design-system :where(.bm-main) :is(.bm-stack,.bm-card-copy) {
  --gap: 24px;
}
.berio-design-system :where(.bm-main) .bm-section {
  --padding-top: clamp(64px,8.333vw,160px);
  --padding-bottom: clamp(64px,8.333vw,160px);
  --padding-right: max(24px,calc((100% - var(--bm-content-width))/2));
  --padding-left: max(24px,calc((100% - var(--bm-content-width))/2));
  --gap: 48px;
  width: 100%;
}
.berio-design-system :where(.bm-main) .bm-section--center {
  text-align: center;
  align-items: center;
}
.berio-design-system :where(.bm-main) .bm-section--center > .elementor-widget-text-editor {
  max-width: 1034px;
}
.berio-design-system :where(.bm-main) :is(.bm-split,.bm-detail-columns,.bm-detail-intro,.bm-history-entry) {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  --gap: clamp(32px,4.167vw,80px);
  align-items: center;
}
.berio-design-system :where(.bm-main) :is(.bm-grid,.bm-catalog-grid) {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  --gap: 32px;
  width: 100%;
}
.berio-design-system :where(.bm-main) .bm-grid--two {
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.berio-design-system :where(.bm-main) .bm-split--reverse > :first-child {
  order: 2;
}
.berio-design-system :where(.bm-main) :is(.bm-grid,.bm-split,.bm-catalog-grid,.bm-stack,.bm-card-copy,.bm-history-entry,.bm-detail-columns,.bm-value-card,.bm-tasting-attribute,.bm-category-card,.bm-recipe-card) {
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
}
.berio-design-system :where(.bm-main) .bm-page-hero {
  min-height: clamp(420px,36.458vw,700px);
  justify-content: flex-end;
  --padding-top: 180px;
  --padding-bottom: 48px;
  --padding-left: clamp(24px,2.708vw,52px);
  --padding-right: clamp(24px,2.708vw,52px);
  --gap: 24px;
  position: relative;
}
.berio-design-system :where(.bm-main) :is(.bm-page-hero--image,.bm-recipe-inspiration) {
  background-blend-mode: multiply;
}
.berio-design-system :where(.bm-main) .bm-hero-breadcrumb {
  position: absolute;
  left: clamp(24px,2.708vw,52px);
  top: 135px;
  text-transform: uppercase;
  width: auto;
}
.berio-design-system :where(.bm-main) .bm-hero-seal {
  position: absolute;
  left: clamp(24px,3.229vw,62px);
  top: 172px;
  width: clamp(160px,19.635vw,377px);
  opacity: .2;
  z-index: 1;
}
.berio-design-system .bm-hero-breadcrumb { letter-spacing: .1em; }
.berio-design-system .bm-hero-breadcrumb [aria-current="page"] { color: var(--bm-gold); }
.berio-design-system :where(.bm-main) .bm-hero-seal img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.berio-design-system :where(.bm-main) .bm-intro--ornament {
  --padding-top: 114px;
  --padding-bottom: 42px;
  --gap: 38px;
}
.berio-design-system .elementor .bm-intro-ornament {
  width: var(--container-widget-width,304px);
  max-width: 70%;
}
.berio-design-system .elementor .bm-intro-ornament img {
  width: 377px;
  max-width: none;
  height: 170px;
  object-fit: fill;
}
.berio-design-system :where(.bm-main) .bm-intro--ornament > .elementor-widget-heading {
  max-width: 1256px;
}
.berio-design-system :where(.bm-main) .bm-intro--ornament > .elementor-widget-text-editor {
  max-width: 1510px;
}
.berio-design-system :where(.bm-main) .bm-page-hero--image::before,
.berio-design-system :where(.bm-main) .bm-recipe-inspiration::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,#0000 25%,#0009 100%);
  pointer-events: none;
}
.berio-design-system :where(.bm-main) .bm-page-hero--brand::before {
  top: 61.285714%;
  height: auto;
  background: linear-gradient(180deg,#0000,#0008);
}
.berio-design-system :where(.bm-main) :is(.bm-page-hero--image,.bm-recipe-inspiration) > :where(:not(.bm-hero-breadcrumb,.bm-hero-seal)) {
  position: relative;
  z-index: 1;
}
.berio-design-system :where(.bm-main) .bm-page-heading {
  --padding-top: 200px;
}
.berio-design-system :where(.bm-main) .bm-editorial-photo img {
  width: 100%;
  height: auto;
  border-radius: var(--bm-radius-card);
}
.berio-design-system :where(.bm-main) .bm-editorial-photo a {
  display: block;
}
.berio-design-system :where(.bm-main) .bm-bottle-photo img {
  width: 100%;
  max-height: 650px;
  object-fit: contain;
}
.berio-design-system :where(.bm-main) .bm-category-card {
  --gap: 24px;
}
.berio-design-system :where(.bm-main) .bm-category-card .bm-editorial-photo img {
  aspect-ratio: 1.5;
  object-fit: cover;
}
.berio-design-system :where(.bm-main) .bm-category-card > .elementor-widget-heading {
  border-bottom: 1px solid #ede9e04d;
  padding-bottom: 24px;
}
.berio-design-system :where(.bm-main) .bm-category-card .elementor-widget-button {
  margin-top: auto;
}
.berio-design-system :where(.bm-main) .bm-section--category-list {
  --padding-top: 50px;
  --padding-bottom: 157.5px;
  align-items: center;
}
.berio-design-system :where(.bm-main) .bm-category-list {
  width: 100%;
  max-width: 1205px;
  --gap: 40px;
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
}
.berio-design-system :where(.bm-main) .bm-category-card--horizontal {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,531px) minmax(0,573px);
  --gap: 30px;
  --padding-top: 30px;
  --padding-right: 30px;
  --padding-bottom: 30px;
  --padding-left: 30px;
  min-height: 544px;
  background: #096b37;
  border-radius: var(--bm-radius-card);
}
.berio-design-system :where(.bm-main) .bm-category-card--horizontal .bm-editorial-photo img {
  height: 484px;
  aspect-ratio: auto;
  object-fit: cover;
  border-radius: 10px;
}
.berio-design-system .elementor .bm-category-card--horizontal .bm-editorial-photo {
  border-radius: 10px;
}
.berio-design-system :where(.bm-main) .bm-photo-crop {
  overflow: hidden;
  border-radius: 10px;
}
.berio-design-system :where(.bm-main) .bm-photo-crop--soft-zoom img {
  transform: scale(1.058);
}
.berio-design-system :where(.bm-main) .bm-photo-crop--bottom img {
  object-position: center bottom;
  transform: scale(1.032);
  transform-origin: center bottom;
}
.berio-design-system :where(.bm-main) .bm-photo-crop--closeup img {
  object-position: center 74.955640187%;
  transform: scale(1.1883);
  transform-origin: center bottom;
}
.berio-design-system :where(.bm-main) .bm-photo-crop--lower img {
  object-position: center 63.04%;
}
.berio-design-system :where(.bm-main) .bm-category-card--horizontal .bm-card-copy {
  align-self: start;
  --gap: 30px;
}
.berio-design-system :where(.bm-main) .bm-category-card--horizontal .elementor-widget-heading {
  --bm-title-optical-y: 4px;
  position: relative;
  padding-right: 32px;
  padding-bottom: 30px;
  border-bottom: 0;
}
.berio-design-system :where(.bm-main) .bm-category-card--horizontal .elementor-widget-heading::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-bottom: 1px solid #ede9e04d;
}
.berio-design-system :where(.bm-main) .bm-category-card--horizontal .elementor-widget-button {
  position: absolute;
  right: 0;
  top: 25.5px;
  width: auto;
}
.berio-design-system :where(.bm-main) .bm-recipe-inspiration {
  min-height: 900px;
  justify-content: flex-end;
  --gap: 40px;
  /* Rimossa dichiarazione malformata, già ignorata dal browser. */
  --padding-bottom: 95px;
  background-size: 154.919671% 86.861068vw;
}
.berio-design-system :where(.bm-main) .bm-recipe-inspiration::before {
  top: 18.777778%;
  height: auto;
  background: linear-gradient(180deg,#0000,rgb(0 0 0 / .34));
}
.berio-design-system :where(.bm-main) .bm-recipe-inspiration > :is(.elementor-widget-heading,.elementor-widget-text-editor) {
  max-width: 707px;
}
.berio-design-system :where(.bm-main) .bm-recipe-inspiration > .bm-text-kicker {
  margin-bottom: -30px;
}
.berio-design-system :where(.bm-main) .bm-section--full-bleed {
  --padding-left: 0px;
  --padding-right: 0px;
}
.berio-design-system :where(.bm-main) .bm-shield-gallery {
  --padding-top: 114px;
  --padding-bottom: 104px;
  min-height: 1080px;
  background-color: var(--bm-gallery-color,var(--bm-green));
  color: var(--bm-gallery-ink,var(--bm-cream));
  transition: background-color calc(1.041769027s * var(--bm-motion-factor,1)) var(--bm-motion-gallery);
}
.berio-design-system :where(.bm-main) .bm-shield-gallery--light { --bm-gallery-liberty: url("media/berio-liberty-dark-original.webp"); }
.berio-design-system :where(.bm-main) .bm-shield-gallery::before {
  content: "";
  position: absolute;
  inset: 549px 0 auto;
  height: 235px;
  background: var(--bm-gallery-liberty,url("media/berio-liberty-original.webp")) center / 3474px auto no-repeat;
  opacity: .1;
  pointer-events: none;
}
.berio-design-system .elementor .bm-shield-carousel {
  width: 840px;
  --container-widget-width: 840px;
  max-width: 100%;
  align-self: center;
  --e-n-carousel-arrow-prev-left-position: -27px;
  --e-n-carousel-arrow-next-right-position: -27px;
  --e-n-carousel-arrow-prev-top-align: 44.25%;
  --e-n-carousel-arrow-next-top-align: 44.25%;
  --e-n-carousel-arrow-prev-caption-spacing: 0px;
  --e-n-carousel-arrow-next-caption-spacing: 0px;
}
.berio-design-system :where(.bm-main) .bm-shield-card {
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  display: grid;
  grid-template-columns: 1fr;
}
.berio-design-system .elementor .bm-shield-photo {
  width: var(--container-widget-width,575.5px);
  max-width: 100%;
  justify-self: center;
}
.berio-design-system .elementor .bm-shield-photo::after {
  content: "";
  position: absolute;
  inset: 89.125% auto auto 424px;
  width: 95px;
  height: 68px;
  background: var(--bm-cream);
  mask: url("vectors/shield-rollover.svg") center / contain no-repeat;
  pointer-events: none;
}
.berio-design-system :where(.bm-main) .bm-shield-card img {
  width: 100%;
  height: 800px;
  object-fit: cover;
}
.berio-design-system .elementor .bm-shield-carousel .e-n-carousel {
  padding-bottom: 0;
}
.berio-design-system .elementor .bm-shield-carousel > .swiper-pagination {
  top: calc(100% + 58px);
  bottom: auto;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
}
.berio-design-system .elementor .bm-shield-carousel .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin-inline: 6.5px;
  background: var(--bm-cream);
  opacity: .3;
}
.berio-design-system .elementor .bm-shield-carousel .swiper-pagination-bullet:first-child {
  margin-left: 0;
}
.berio-design-system .elementor .bm-shield-carousel .swiper-pagination-bullet:last-child {
  margin-right: 0;
}
.berio-design-system .elementor .bm-shield-carousel .swiper-pagination-bullet-active {
  opacity: 1;
}
.berio-design-system .elementor .bm-shield-preview {
  color: var(--bm-cream);
  position: absolute;
  inset: 0;
  width: 100%;
  min-height: 0;
  z-index: 3;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity calc(.625061452s * var(--bm-motion-factor,1)) var(--bm-motion-card), visibility 0s calc(.625061452s * var(--bm-motion-factor,1));
}
.berio-design-system .elementor .bm-shield-preview-open > .bm-shield-preview--active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}
.berio-design-system .elementor .bm-shield-preview-content {
  width: min(543px,calc(100% - 40px));
  margin-top: 125.5px;
}
.berio-design-system .elementor .bm-shield-preview-bottle {
  width: 179px;
}
.berio-design-system .elementor .bm-shield-preview-bottle img {
  width: 179px;
  height: 591px;
  object-fit: contain;
}
.berio-design-system .elementor .bm-shield-preview-use {
  width: 100%;
  opacity: .8;
  text-align: center;
}
.berio-design-system .elementor .bm-shield-preview-content > .bm-button {
  width: 179px;
}
.berio-design-system .elementor .bm-shield-preview-content .elementor-button {
  width: 100%;
  min-height: 50px;
}
.berio-design-system .elementor .bm-button.bm-button--compact .elementor-button {
  padding: 8px 14px;
}
.berio-design-system .elementor .bm-button.bm-button--compact .elementor-button-content-wrapper {
  gap: 4px;
}
.berio-design-system .elementor .bm-button.bm-button--compact .elementor-button-icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
}
.berio-design-system :where(.bm-main) .bm-carousel {
  width: 100%;
  min-width: 0;
  --swiper-pagination-color: var(--bm-cream);
}
.berio-design-system :where(.bm-main) .bm-carousel :is(.elementor-swiper-button,.swiper-pagination) {
  color: var(--bm-cream);
}
.berio-design-system :where(.bm-main) .bm-carousel .elementor-swiper-button {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border: 1px solid #ede9e04d;
  border-radius: 50%;
}
.berio-design-system :where(.bm-main) .bm-carousel .elementor-swiper-button svg {
  width: 24px;
  height: 24px;
}
.berio-design-system .elementor .bm-carousel--ghost-circle .elementor-swiper-button {
  border: 0;
}
.berio-design-system .elementor .bm-carousel--ghost-circle .elementor-swiper-button::before {
  content: "";
  position: absolute;
  /* Figma: cerchio sottile; annulla la maschera freccia del controllo generico. */
  inset: 0;
  width: auto;
  height: auto;
  mask: none;
  background: transparent;
  transform: none;
  border: 1px solid #ede9e04d;
  border-radius: 50%;
  transition: border-color calc(.744255543s * var(--bm-motion-factor,1)) var(--bm-motion-arrow), background-color calc(.744255543s * var(--bm-motion-factor,1)) var(--bm-motion-arrow);
}
.berio-design-system .elementor .bm-carousel--ghost-circle .elementor-swiper-button:is(:hover,:focus-visible)::before {
  border-color: var(--bm-cream);
  background: var(--bm-cream);
}
.berio-design-system .elementor .bm-carousel--ghost-circle .elementor-swiper-button svg {
  /* La freccia SVG originale contiene già il margine interno del cerchio. */
  display: block;
  position: relative;
  z-index: 1;
  width: 54px;
  height: 54px;
}
.berio-design-system :where(.bm-main) .bm-carousel .swiper-slide > .e-con {
  height: 100%;
}
.berio-design-system :where(.bm-main) .bm-history-entry {
  width: 100%;
}
.berio-design-system :where(.bm-main) .bm-prose {
  --padding-top: 0px;
  --gap: 32px;
}
.berio-design-system :where(.bm-main) :is(.bm-rich-copy,.bm-accordion) :is(p,ul,ol,table) + :is(p,ul,ol,table) {
  margin-top: 24px;
}
.berio-design-system :where(.bm-main) :is(.bm-rich-copy,.bm-accordion) :is(ul,ol) {
  padding-left: 24px;
  margin-block: 0;
}
.berio-design-system :where(.bm-main) :is(.bm-rich-copy,.bm-accordion) li + li {
  margin-top: 12px;
}
.berio-design-system :where(.bm-main) .bm-rich-copy a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.berio-design-system :where(.bm-main) .bm-category-intro {
  --padding-top: clamp(160px,11.458vw,220px);
  --padding-bottom: clamp(64px,5.208vw,100px);
  --padding-left: 24px;
  --padding-right: 24px;
  --gap: 32px;
  align-items: center;
  text-align: center;
}
.berio-design-system :where(.bm-main.bm-product-category) > .bm-catalog-grid,
.berio-design-system :where(.bm-main.bm-product-category) > .bm-split {
  --padding-left: clamp(24px,2.708vw,52px);
  --padding-right: clamp(24px,2.708vw,52px);
  --padding-bottom: 100px;
}
.berio-design-system :where(.bm-main) .bm-catalog-card {
  --gap: 24px;
  --padding-top: clamp(24px,2.604vw,50px);
  --padding-right: clamp(24px,2.604vw,50px);
  --padding-bottom: clamp(24px,2.604vw,50px);
  --padding-left: clamp(24px,2.604vw,50px);
  border: 1px solid #ede9e030;
  border-radius: var(--bm-radius-card);
  background: linear-gradient(150deg,#315d38,#0b271b);
}
.berio-design-system :where(.bm-main) .bm-catalog-card--split {
  display: grid;
  grid-template-columns: 35% minmax(0,1fr);
  --gap: 40px;
  align-items: center;
  min-height: clamp(480px,34.896vw,670px);
}
.berio-design-system :where(.bm-main) .bm-catalog-card .bm-bottle-photo img {
  height: clamp(260px,19.792vw,380px);
}
.berio-design-system :where(.bm-main) .bm-catalog-card .bm-type-title-fluid .elementor-heading-title {
  font-weight: 100;
}
.berio-design-system :where(.bm-main) .bm-explore {
  --padding-top: 120px;
  --padding-bottom: 120px;
  --gap: 40px;
  align-items: center;
  text-align: center;
}
.berio-design-system :where(.bm-main) :is(.bm-explore,.bm-product-information,.bm-product-reference) {
  --padding-right: max(24px,calc((100% - 1520px)/2));
  --padding-left: max(24px,calc((100% - 1520px)/2));
}
.berio-design-system :where(.bm-main) .bm-detail-intro {
  --padding-top: clamp(160px,8.333vw,220px);
  --padding-bottom: 100px;
  /* Rimossa dichiarazione malformata, già ignorata dal browser. */
  --padding-right: clamp(24px,5.208vw,100px);
}
.berio-design-system :where(.bm-main) .bm-detail-intro--recipe .bm-editorial-photo img {
  aspect-ratio: 1;
  object-fit: cover;
}
.berio-design-system :where(.bm-main) .bm-detail-intro--product {
  --padding-left: clamp(24px,10.417vw,200px);
  --padding-right: clamp(24px,10.417vw,200px);
  min-height: clamp(720px,48.958vw,940px);
  background: radial-gradient(ellipse at 26% 30%,#315d38,#224a2c 65%);
}
.berio-design-system :where(.bm-main) .bm-detail-intro--product .bm-bottle-photo img {
  height: clamp(380px,33.854vw,650px);
}
.berio-design-system :where(.bm-main) :is(.bm-breadcrumb,.bm-detail-meta) {
  --gap: 12px;
  flex-direction: row;
  flex-wrap: wrap;
}
.berio-design-system :where(.bm-main) .bm-detail-meta > .elementor-widget {
  width: auto;
  border: 1px solid #d8be9970;
  border-radius: 20px;
  padding: 8px 12px;
  text-transform: uppercase;
  letter-spacing: .6px;
}
.berio-design-system :where(.bm-main) .bm-product-information {
  --padding-top: 100px;
  --padding-bottom: 100px;
  --gap: 40px;
  background: #224a2c;
  scroll-margin-top: 90px;
}
.berio-design-system :where(.bm-main) .bm-detail-columns {
  align-items: start;
  background: var(--bm-cream);
  color: var(--bm-green);
  --padding-top: 100px;
  --padding-bottom: 100px;
  /* Rimossa dichiarazione malformata, già ignorata dal browser. */
  --padding-right: clamp(24px,5.208vw,100px);
  --gap: 100px;
}
.berio-design-system :where(.bm-main) .bm-section > .bm-detail-columns {
  --padding-left: 0px;
  --padding-right: 0px;
}
.berio-design-system :where(.bm-main) .bm-product-reference {
  --padding-top: 64px;
  --padding-bottom: 64px;
  --gap: 24px;
  background: #224a2c;
}
.berio-design-system :where(.bm-main) .bm-product-reference .bm-bottle-photo img {
  height: 320px;
}
.berio-design-system :where(.bm-main) .bm-section--catalogue {
  --padding-left: clamp(24px,2.630208333vw,50.5px);
  --padding-right: clamp(24px,2.630208333vw,50.5px);
  --padding-top: 137px;
  --padding-bottom: 137px;
  --gap: 40px;
}
.berio-design-system :where(.bm-main) .bm-oil-grid {
  --gap: 20px;
  width: var(--width,100%);
  max-width: 100%;
  align-items: stretch;
}
.berio-design-system :where(.bm-main) .bm-catalog-card--oil {
  --padding-top: 30px;
  --padding-right: 30px;
  --padding-bottom: 30px;
  --padding-left: 30px;
  --gap: 32px;
  --bm-catalog-photo-scale: 1.07;
  min-height: 814px;
  background: #096b37;
  border: 0;
}
.berio-design-system :where(.bm-main) .bm-catalog-card--oil .bm-bottle-photo {
  background: #0b8041;
  border-radius: 10px;
  min-height: 470px;
  display: grid;
  place-items: center;
  padding: 35px;
  margin-bottom: 3px;
  transition: background-color calc(.625061452s * var(--bm-motion-factor,1)) var(--bm-motion-card);
}
.berio-design-system :where(.bm-main) .bm-catalog-card--oil .bm-bottle-photo img {
  height: 400px;
  position: relative;
  top: 2px;
}
.berio-design-system :where(.bm-main) .bm-catalog-card--oil .elementor-widget-heading {
  position: relative;
  padding-right: 32px;
  margin-bottom: -22px;
}
.berio-design-system :where(.bm-main) .bm-catalog-card--oil .elementor-widget-heading::after {
  content: "";
  position: absolute;
  right: 0;
  top: 11px;
  width: 24px;
  height: 24px;
  background: currentColor;
  mask: url("vectors/home-arrow.svg") center / contain no-repeat;
}
.berio-design-system :where(.bm-main) .bm-oil-type {
  padding-bottom: 31px;
  border-bottom: 1px solid #ede9e04d;
}
.berio-design-system :where(.bm-main) .bm-catalog-card--oil .bm-text-lead {
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.berio-design-system :where(.bm-main) .bm-catalog-card--oil .elementor-widget-button {
  margin-top: auto;
}
.berio-design-system :where(.bm-main) .bm-section--other-products {
  --padding-top: 0px;
  --padding-bottom: 100px;
  --gap: 54px;
}
.berio-design-system :where(.bm-main) .bm-section--other-products > .elementor-widget-heading {
  text-align: center;
}
.berio-design-system :where(.bm-main) .bm-section--other-products .bm-grid {
  --gap: 20px;
}
.berio-design-system :where(.bm-main) .bm-category-card--overlay .bm-loop-title {
  margin-bottom: 16px;
}
.berio-design-system .elementor .bm-category-carousel .e-n-carousel {
  padding-bottom: 0;
}
.berio-design-system .elementor .bm-category-carousel :is(.elementor-swiper-button,.swiper-pagination) {
  display: none;
}
.berio-design-system :where(.bm-main) .bm-accordion table {
  border-collapse: collapse;
  width: 100%;
}
.berio-design-system :where(.bm-main) .bm-accordion :is(th,td) {
  border: 0;
  border-bottom: 1px solid #ede9e04d;
  padding: 16px;
  text-align: left;
}

/* PAGINA RICETTE — ricerca, filtri e griglia dei risultati. */
.berio-design-system :where(.bm-main) .bm-section--recipe-catalogue {
  --padding-top: 90px;
  --padding-bottom: 162px;
  --gap: 105px;
}
.berio-design-system :where(.bm-main) .bm-recipe-filter-widget {
  width: 100%;
}
.berio-design-system :where(.bm-main) .bm-recipe-filters {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.berio-design-system :where(.bm-main) .bm-recipe-search {
  width: 610px;
  max-width: 100%;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 18px;
}
.berio-design-system :where(.bm-main) .bm-recipe-search > label {
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.berio-design-system :where(.bm-main) .bm-recipe-search-fields {
  display: flex;
  align-items: center;
  gap: 12px;
  border-radius: 60px;
  padding: 17px;
  background: var(--bm-cream);
}
.berio-design-system :where(.bm-main) .bm-recipe-search input {
  flex: 1;
  min-width: 0;
  height: 50px;
  border: 0;
  border-radius: 30px;
  padding: 10px 16px;
  background: #d7d7d7;
  color: var(--bm-green);
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  font-stretch: normal;
  line-height: 1.4;
}
.berio-design-system :where(.bm-main) .bm-recipe-search button {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  height: 50px;
  flex: 0 0 131px;
  justify-content: center;
  border-radius: 30px;
  padding: 9px 15px;
  border: 0;
  background: var(--bm-green);
  color: var(--bm-cream);
  font-style: normal;
  font-variant: normal;
  font-weight: 700;
  font-stretch: normal;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 1.3px;
}
.berio-design-system :where(.bm-main) .bm-recipe-search button::before {
  content: "";
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  background: currentColor;
  mask: url("vectors/recipe-search.svg") center / contain no-repeat;
}
.berio-design-system :where(.bm-main) .bm-recipe-filters .bm-filter-caption {
  margin: 90px 0 38px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  font-style: italic;
  font-stretch: normal;
  line-height: 1.15;
}
.berio-design-system :where(.bm-main) .bm-filter-options {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  width: 100%;
}
.berio-design-system :where(.bm-main) .bm-filter-option {
  position: relative;
  width: var(--bm-filter-width,220px);
  max-width: 100%;
  height: 50px;
}
.berio-design-system :where(.bm-main) .bm-filter-option :is(select,.bm-filter-toggle) {
  appearance: none;
  width: 100%;
  height: 50px;
  padding: 12px 46px 12px 48px;
  border: 1px solid #ede9e04d;
  border-radius: var(--bm-radius-control);
  background: linear-gradient(var(--bm-cream) 65%,#c1c1bb);
  color: var(--bm-green);
  font-style: normal;
  font-variant: normal;
  font-weight: 700;
  font-stretch: normal;
  line-height: 1.4;
  letter-spacing: .65px;
  text-transform: uppercase;
  cursor: pointer;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.berio-design-system :where(.bm-main) .bm-filter-option--product {
  --bm-filter-width: 174px;
  --bm-filter-icon: url("vectors/recipe-filter-0.svg");
}
.berio-design-system :where(.bm-main) .bm-filter-option--category {
  --bm-filter-width: 172px;
  --bm-filter-icon: url("vectors/recipe-filter-1.svg");
}
.berio-design-system :where(.bm-main) .bm-filter-option--difficulty {
  --bm-filter-width: 228px;
  --bm-filter-icon: url("vectors/recipe-filter-2.svg");
}
.berio-design-system :where(.bm-main) .bm-filter-option--time { --bm-filter-width: 239px; --bm-filter-icon: url("vectors/recipe-filter-3.svg"); }
.berio-design-system :where(.bm-main) .bm-filter-option--occasion { --bm-filter-width: 172px; --bm-filter-icon: url("vectors/recipe-filter-4.svg"); }
.berio-design-system :where(.bm-main) .bm-filter-option--dietary { --bm-filter-width: 277px; --bm-filter-icon: url("vectors/recipe-filter-5.svg"); }
.berio-design-system :where(.bm-main) .bm-filter-option::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 9px;
  width: 32px;
  height: 32px;
  background: var(--bm-green);
  mask: var(--bm-filter-icon) center / contain no-repeat;
  pointer-events: none;
  z-index: 1;
}
.berio-design-system :where(.bm-main) .bm-filter-option::after {
  content: "";
  position: absolute;
  right: 22px;
  top: 20px;
  width: 8px;
  height: 8px;
  color: var(--bm-green);
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(45deg);
  transition: transform calc(.35s * var(--bm-motion-factor,1)) var(--bm-motion-control);
  pointer-events: none;
}
.berio-design-system .bm-filter-option--open { z-index: 5; }
.berio-design-system .bm-filter-option--open::after { transform: translateY(4px) rotate(225deg); }
.berio-design-system .bm-filter-menu {
  position: absolute; inset: calc(100% + 8px) 0 auto; padding: 8px;
  max-height: 300px; overflow: auto; border-radius: var(--bm-radius-control);
  background: var(--bm-cream); color: var(--bm-green); box-shadow: 0 8px 20px #0003;
  opacity: 0; visibility: hidden; transform: translateY(-8px);
  transition: opacity calc(.35s * var(--bm-motion-factor,1)), transform calc(.35s * var(--bm-motion-factor,1)) var(--bm-motion-control), visibility 0s .35s;
}
.berio-design-system .bm-filter-option--open .bm-filter-menu { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.berio-design-system .bm-filter-menu button {
  display: block; width: 100%; border: 0; border-radius: 5px; padding: 10px;
  color: inherit; background: transparent; text-align: left; font: 400 14px/1.4 var(--bm-font-body); cursor: pointer;
}
.berio-design-system .bm-filter-menu button:is(:hover,:focus-visible,[aria-selected=true]) { background: var(--bm-green); color: var(--bm-cream); }
.berio-design-system :where(.bm-main) .bm-filter-option option {
  background: var(--bm-green);
  color: var(--bm-cream);
}
.berio-design-system :where(.bm-main) .bm-filter-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 24px;
}
.berio-design-system :where(.bm-main) .bm-filter-actions button {
  padding: 16px 24px;
  border: 1px solid;
  border-radius: var(--bm-radius-control);
  background: transparent;
  color: inherit;
  text-transform: uppercase;
}
.berio-design-system :where(.bm-main) .bm-recipe-filters--enhanced .bm-filter-actions {
  display: none;
}
.berio-design-system :where(.bm-main) .bm-recipe-filters--enhanced .bm-filter-actions button {
  display: none;
}
/* Ricette: spinner AJAX senza scritte, nascosto al termine della richiesta. */
.bm-recipe-loader:not([hidden]) {
  display: block;
  width: 28px;
  height: 28px;
  margin: 24px auto;
  border: 3px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  color: inherit;
  animation: bm-recipe-spin .8s linear infinite;
}
@keyframes bm-recipe-spin {
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .bm-recipe-loader:not([hidden]) { animation: none; }
}
.berio-design-system :where(.bm-main) .bm-recipes-loop .e-load-more-anchor + .elementor-button-wrapper {
  margin-top: 80px;
  text-align: center;
}
.berio-design-system :where(.bm-main) .bm-recipes-loop .e-load-more-anchor + .elementor-button-wrapper .elementor-button {
  padding: 12px 20px;
  border: 1px solid var(--bm-cream);
  border-radius: var(--bm-radius-control);
  background: var(--bm-cream);
  color: var(--bm-green);
  font-style: normal;
  font-variant: normal;
  font-weight: 700;
  font-stretch: normal;
  line-height: 1;
  letter-spacing: 1.3px;
  text-transform: uppercase;
}
.berio-design-system :where(.bm-main) .bm-recipes-loop .e-load-more-anchor + .elementor-button-wrapper .elementor-button-content-wrapper {
  gap: 14px;
}
.berio-design-system :where(.bm-main) .bm-recipes-loop .e-load-more-anchor + .elementor-button-wrapper svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}
.berio-design-system :where(.bm-main) .bm-loop-card {
  --gap: 0px;
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  position: relative;
  overflow: hidden;
  border-radius: var(--bm-radius-card);
  aspect-ratio: 1;
  justify-content: flex-end;
}
.berio-design-system :where(.bm-main) .bm-loop-photo {
  position: absolute;
  inset: 0;
  height: 100%;
}
.berio-design-system :where(.bm-main) .bm-loop-photo :is(.elementor-widget-container,a) {
  display: block;
  height: 100%;
}
.berio-design-system :where(.bm-main) .bm-loop-photo img {
  position: absolute;
  left: -3.722504%;
  top: -.846024%;
  width: 110.321489%;
  max-width: none;
  height: 100.846024%;
  object-fit: cover;
}
.berio-design-system :where(.bm-main) .bm-loop-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgb(0 0 0 / .2);
  pointer-events: none;
}
.berio-design-system :where(.bm-main) .bm-loop-card::before {
  content: "";
  position: absolute;
  inset: 42.301184% 0 0;
  height: auto;
  background: linear-gradient(180deg,#0000,#000);
  opacity: .8;
  z-index: 1;
  pointer-events: none;
}
.berio-design-system .elementor .bm-loop-card :is(.bm-loop-title,.bm-loop-link) {
  z-index: 2;
  width: calc(100% - 57px);
}
.berio-design-system .elementor .bm-loop-card .bm-loop-title {
  margin: 0 29px 20px;
}
.berio-design-system .elementor .bm-loop-card .bm-loop-link {
  margin: 0 29.5px 31.775px;
}
.berio-design-system .elementor .bm-loop-link .elementor-button {
  white-space: nowrap;
}
.berio-design-system :where(.bm-main) .bm-social .elementor-social-icon {
  background: var(--bm-cream);
  --icon-padding: .6em;
}
.berio-design-system :where(.bm-main) .bm-social .elementor-social-icon i {
  color: var(--bm-green);
}
.berio-design-system :where(.bm-main) .bm-social .elementor-social-icon:hover {
  background: var(--bm-gold);
}
.berio-design-system :where(.bm-main) .bm-recipes-loop {
  width: 100%;
}
.berio-design-system :where(.bm-main) .elementor-pagination {
  margin-top: 48px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}
.berio-design-system :where(.bm-main) .elementor-pagination .page-numbers {
  min-width: 40px;
  padding: 10px;
  border: 1px solid #ede9e070;
  border-radius: var(--bm-radius-control);
}
.berio-design-system :where(.bm-main) .elementor-pagination .current {
  color: var(--bm-green);
  background: var(--bm-cream);
}
.berio-design-system :where(.elementor) .bm-text-kicker.elementor-widget-text-editor {
  color: var(--bm-gold);
  text-transform: uppercase;
  letter-spacing: .7px;
}
.berio-design-system :where(.elementor) .bm-type-trim .elementor-heading-title {
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.berio-design-system :where(.elementor) .bm-type-trim.elementor-widget-text-editor p {
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.berio-design-system :where(.bm-main) .bm-panel--olive {
  background: var(--bm-olive);
  color: var(--bm-green);
}
.berio-design-system :where(.bm-main) .bm-panel--dark {
  background: #0d361b;
  color: var(--bm-cream);
}
.berio-design-system :where(.bm-main) .bm-section--wide {
  --padding-left: clamp(24px,2.708vw,52px);
  --padding-right: clamp(24px,2.708vw,52px);
}
.berio-design-system :where(.bm-main) .bm-divider-end {
  position: relative;
  --bm-divider-height: 9.8995px;
  --bm-divider-mask: url("vectors/section-divider-desktop.svg");
  --bm-divider-left: 47px;
  --bm-divider-right: 47px;
  margin-bottom: var(--bm-divider-height);
}
.berio-design-system :where(.bm-main) .bm-divider-end::after {
  content: "";
  position: absolute;
  left: var(--bm-divider-left);
  right: var(--bm-divider-right);
  bottom: calc(-1 * var(--bm-divider-height));
  height: var(--bm-divider-height);
  background: var(--bm-cream);
  mask: var(--bm-divider-mask) center / 100% 100% no-repeat;
}
@media (min-width: 768px) {
  .berio-design-system :where(.bm-main) .bm-divider-end--mobile-only {
    margin-bottom: 0;
  }
  .berio-design-system :where(.bm-main) .bm-divider-end--mobile-only::after {
    display: none;
  }
}
/* CONTATTI / INTRODUZIONI — introduzione condivisa; sede e uffici specifici della pagina Contatti. */
.berio-design-system :where(.bm-main) .bm-section--introduction {
  --padding-top: 100px;
  --padding-bottom: 90px;
  --gap: 38px;
}
.berio-design-system :where(.bm-main) .bm-section--address {
  --padding-top: 90px;
  --padding-bottom: 90px;
  align-items: center;
}
.berio-design-system :where(.bm-main) .bm-address-card {
  width: var(--width,900px);
  max-width: 100%;
  min-height: var(--min-height,469px);
  --padding-top: 57px;
  --padding-bottom: 61px;
  --padding-left: 24px;
  --padding-right: 24px;
  --gap: 24px;
  border: 3px solid #ede9e04d;
  border-radius: 15px;
  align-items: center;
  text-align: center;
}
.berio-design-system .bm-address-details .elementor-icon-list-items { display: flex; flex-direction: column; align-items: center; gap: 11px; }
.berio-design-system .bm-address-details .elementor-icon-list-item { display: flex; align-items: center; gap: 4px; }
.berio-design-system .bm-address-details .elementor-icon-list-icon { width: 32px; flex: 0 0 32px; color: var(--bm-gold); }
.berio-design-system .bm-address-details .elementor-icon-list-icon svg { width: 32px; height: 32px; fill: currentColor; }
.berio-design-system .bm-address-details .elementor-icon-list-text { color: inherit; padding: 0; line-height: 1.9; letter-spacing: .02em; font-weight: 400; }
.berio-design-system .elementor .bm-brand-emblem {
  width: 160px;
  --container-widget-width: 160px;
}
.berio-design-system :where(.bm-main) .bm-brand-emblem img {
  width: 160px;
  height: 160px;
  object-fit: contain;
}
.berio-design-system :where(.bm-main) .bm-section--office-contacts {
  min-height: var(--min-height,800px);
  margin-block: 90px;
  --padding-top: 154.5px;
  --padding-bottom: 154.5px;
  --gap: 40px;
}
.berio-design-system :where(.bm-main) .bm-section--form {
  min-height: var(--min-height,1700px);
  --padding-top: 200.5px;
  --padding-bottom: 200.5px;
  --gap: 38px;
  align-items: center;
}

/* CONDIVISI — riquadri di richiamo usati in Contatti, FAQ e altre pagine. */
.berio-design-system :where(.bm-main) .bm-callout {
  min-height: var(--min-height,550px);
  --padding-top: 90px;
  --padding-bottom: 90px;
  --gap: 35px;
  justify-content: center;
  align-items: center;
  text-align: center;
  overflow: hidden;
}
.berio-design-system :where(.bm-main) .bm-callout > .elementor-widget {
  max-width: 596px;
  z-index: 1;
}
.berio-design-system .elementor .bm-callout > .bm-callout-emblem {
  position: absolute;
  top: calc(50% + var(--bm-emblem-offset,0px));
  left: clamp(24px,6.09375vw,117px);
  transform: translateY(-50%);
  width: var(--container-widget-width,496px);
  aspect-ratio: 496 / 376;
  overflow: hidden;
  opacity: .1;
  z-index: 0;
  pointer-events: none;
}
.berio-design-system .elementor .bm-callout-emblem img {
  position: absolute;
  left: -2.577769%;
  top: -4.755%;
  width: 103.46496%;
  max-width: none;
  height: 109.45404%;
  object-fit: fill;
}
.berio-design-system :where(.bm-main) .bm-page-hero--plain {
  min-height: 377px;
  --padding-bottom: 29.6px;
  --gap: 10px;
}
.berio-design-system :where(.bm-main) .bm-section--intro-compact {
  --padding-top: 38px;
  --padding-bottom: 90px;
  --gap: 38px;
}
.berio-design-system :where(.bm-main) .bm-section--accordion {
  min-height: 629px;
  --padding-top: 67px;
  --padding-bottom: 67px;
  --gap: 40px;
}
.berio-design-system :where(.bm-main) .bm-section--accordion + .bm-section--accordion {
  margin-top: 190.887px;
}
.berio-design-system :where(.bm-main) .bm-section--accordion + .bm-callout {
  margin-top: 90px;
}
.berio-design-system :where(.bm-main) .bm-accordion {
  --n-accordion-title-icon-order: 1;
  --n-accordion-title-justify-content: space-between;
  --n-accordion-icon-gap: 24px;
}
.berio-design-system :where(.bm-main) .bm-accordion .e-n-accordion {
  gap: 0;
}
.berio-design-system :where(.bm-main) .bm-accordion .e-n-accordion-item {
  position: relative;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.berio-design-system :where(.bm-main) .bm-accordion .e-n-accordion-item::before,
.berio-design-system :where(.bm-main) .bm-accordion .e-n-accordion-item:last-child::after {
  content: "";
  position: absolute;
  inset: -.5px 0 auto;
  height: 1px;
  background: #e7e5da4d;
  pointer-events: none;
}
.berio-design-system :where(.bm-main) .bm-accordion .e-n-accordion-item:last-child::after {
  inset: auto 0 -.5px;
}
.berio-design-system :where(.bm-main) .bm-accordion .e-n-accordion-item-title {
  min-height: 80px;
  padding: 20px 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-style: normal;
  font-variant: normal;
  font-weight: 700;
  font-stretch: normal;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 1.4px;
}
.berio-design-system :where(.bm-main) .bm-accordion .e-n-accordion-item-title-text {
  display: block;
  font-style: inherit;
  font-variant: inherit;
  font-weight: inherit;
  font-stretch: inherit;
  line-height: inherit;
  color: inherit;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.berio-design-system :where(.bm-main) .bm-accordion .e-n-accordion-item-title-icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  margin-inline: 0 20px;
  border: 1.2px solid #e7e5da4d;
  border-radius: 6px;
  color: #e7e5da;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}
.berio-design-system :where(.bm-main) .bm-accordion .e-n-accordion-item-title-icon > span {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  line-height: 0;
}
.berio-design-system :where(.bm-main) .bm-accordion .e-n-accordion-item-title-icon :is(i,svg) {
  flex-shrink: 0;
  display: block;
  width: 40px;
  height: 40px;
}
.berio-design-system :where(.bm-main) .bm-accordion-answer {
  --padding-top: 0px;
  --padding-bottom: 32px;
  --padding-left: 0px;
  --padding-right: 0px;
  border: 0;
  background: transparent;
  color: inherit;
  overflow-x: auto;
}
.berio-design-system :where(.bm-main) .bm-accordion-answer .bm-rich-copy {
  line-height: 1.6;
}
.berio-design-system :where(.bm-main) .bm-detail-intro--editorial {
  position: relative;
  --padding-left: clamp(24px,10.625vw,204px);
  --padding-right: clamp(24px,10.625vw,204px);
  --gap: 26px;
  background: var(--bm-green);
}
.berio-design-system :where(.bm-main) .bm-detail-intro--editorial::before {
  content: "";
  position: absolute;
  inset: 238px 0 auto;
  height: 165px;
  background: url("media/a545249ec7b9e192-2560.webp") center / 2447px auto no-repeat;
  opacity: .1;
  pointer-events: none;
}
.berio-design-system :where(.bm-main) .bm-detail-intro--editorial.bm-detail-intro--product {
  min-height: clamp(720px,56.25vw,1080px);
  --padding-top: clamp(180px,12.03125vw,231px);
  --padding-bottom: 41px;
}
.berio-design-system :where(.bm-main) .bm-detail-intro--editorial.bm-detail-intro--product::before {
  top: 81px;
  height: 204px;
  background-size: 3011px auto;
  transform: scaleY(-1);
}
.berio-design-system :where(.bm-main) .bm-detail-intro--editorial .bm-detail-copy {
  max-width: 583px;
  --gap: 40px;
}
.berio-design-system :where(.bm-main) .bm-detail-copy > .bm-text-kicker {
  margin-bottom: -30px;
}
.berio-design-system :where(.bm-main) .bm-detail-intro--editorial.bm-detail-intro--product .bm-bottle-photo {
  position: relative;
  isolation: isolate;
  background: transparent;
}
.berio-design-system :where(.bm-main) .bm-detail-intro--editorial.bm-detail-intro--product .bm-bottle-photo img {
  height: clamp(500px,42.08333vw,808px);
  max-height: none;
}
.berio-design-system :where(.bm-main) .bm-product-facts {
  --padding-top: 120px;
  --padding-bottom: 120px;
  --padding-left: max(24px,calc((100vw - 1520px) / 2));
  --padding-right: calc(var(--padding-left) + 2px);
  --gap: 40px;
}
.berio-design-system :where(.bm-main) .bm-product-facts > .elementor-widget-heading {
  padding-block: 30px 11.0375px;
}
.berio-design-system :where(.bm-main) .bm-panel--tasting {
  min-height: 900px;
  --padding-top: 148.5px;
  --padding-bottom: 148.5px;
}
.berio-design-system :where(.bm-main) .bm-panel--tasting .bm-split {
  --gap: 26px;
}
.berio-design-system :where(.bm-main) .bm-panel--tasting .bm-editorial-photo img {
  height: 603px;
  object-fit: cover;
}
.berio-design-system :where(.bm-main) .bm-panel--tasting .bm-split > .bm-stack {
  max-width: 605px;
  --gap: 45px;
}
.berio-design-system :where(.bm-main) .bm-panel--tasting .bm-type-section-medium {
  padding-block: 29.5375px 55.4625px;
  border-bottom: 1px solid #124c274d;
}
.berio-design-system :where(.bm-main) .bm-tasting-attribute {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  --column-gap: 22px;
  --row-gap: 20px;
}
.berio-design-system :where(.bm-main) .bm-tasting-attribute > :not(.bm-tasting-icon) {
  grid-column: 2;
}
.berio-design-system :where(.bm-main) .bm-tasting-attribute p {
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.berio-design-system :where(.bm-main) .bm-tasting-icon {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
}
.berio-design-system :where(.bm-main) .bm-tasting-icon img {
  width: 48px;
  height: 48px;
}
.berio-design-system :where(.bm-main) .bm-photo-crop--tasting {
  border-radius: var(--bm-radius-card);
}
.berio-design-system :where(.bm-main) .bm-photo-crop--tasting img {
  object-position: right center;
  transform: scale(1.306);
  transform-origin: right 80.6%;
}
.berio-design-system :where(.bm-main) .bm-section--recipe-links {
  --padding-top: 120px;
  --padding-bottom: 120px;
  --gap: 44px;
}
.berio-design-system :where(.bm-main) .bm-section--recipe-links .bm-grid {
  --gap: 21.5px;
}
.berio-design-system :where(.bm-main) .bm-section-heading {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: start;
  --gap: 40px;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
  min-height: 142px;
}
.berio-design-system :where(.bm-main) .bm-section-heading > .bm-stack {
  --gap: 40px;
}
.berio-design-system :where(.bm-main) .bm-loop-card .bm-recipe-badge {
  position: absolute;
  top: 12px;
  right: 24px;
  margin: 0;
}
.berio-design-system :where(.bm-main) .bm-section--related-products {
  position: relative;
  --padding-top: 129.8995px;
  --padding-bottom: 193px;
  --gap: 0px;
}
.berio-design-system :where(.bm-main) :is(.bm-section--related-products,.bm-recipe-ingredients,.bm-content-group--divided)::before {
  content: "";
  position: absolute;
  top: var(--bm-divider-inset,0px);
  left: 47px;
  right: 47px;
  width: auto;
  height: 9.8995px;
  background: var(--bm-cream);
  mask: url("vectors/section-divider-desktop.svg") center / 100% 100% no-repeat;
  pointer-events: none;
}
.berio-design-system :where(.bm-main) .bm-section--related-products > .elementor-widget-heading {
  text-align: center;
  padding-block: 42px 36.75px;
}
.berio-design-system :where(.bm-main) .bm-related-products-carousel {
  padding-bottom: 118px;
}
.berio-design-system .elementor .bm-related-products-carousel .swiper {
  padding-bottom: 0;
}
.berio-design-system :where(.bm-main) .bm-related-products-carousel .elementor-swiper-button {
  top: auto;
  bottom: 0;
}
.berio-design-system :where(.bm-main) .bm-related-products-carousel .elementor-swiper-button-prev {
  left: auto;
  right: 70px;
}
.berio-design-system :where(.bm-main) .bm-related-products-carousel .elementor-swiper-button-next {
  right: 0;
}
.berio-design-system :where(.bm-main) .bm-catalog-card--compact {
  min-height: 684px;
  --padding-top: 30px;
  --padding-bottom: 30px;
  --padding-left: 30px;
  --padding-right: 32px;
  --gap: 10px;
  border: 0;
  background: #096b37;
}
.berio-design-system :where(.bm-main) .bm-catalog-card--compact .bm-bottle-photo {
  min-height: 470px;
  background: #0b8041;
  border-radius: 10px;
  padding: 37px 35px 33px;
  margin-bottom: 25px;
}
.berio-design-system :where(.bm-main) .bm-catalog-card--compact .elementor-widget-heading {
  padding-block: 3px 2.5px;
  padding-right: 40px;
}
.berio-design-system :where(.bm-main) .bm-catalog-card--compact .bm-bottle-photo img {
  height: 400px;
}
.berio-design-system :where(.bm-main) .bm-catalog-card--compact .bm-oil-type {
  padding-bottom: 0;
  border: 0;
}
.berio-design-system :where(.bm-main) .bm-related-products-carousel .swiper-pagination {
  display: none;
}
.berio-design-system :where(.bm-main) .bm-catalog-card--compact .bm-compact-product-arrow {
  --bm-control-icon-size: 32px;
  --bm-control-icon-mask: url("vectors/compact-product-arrow.svg");
  position: absolute;
  right: 32px;
  top: 535px;
  width: 40px;
  height: 40px;
}
.berio-design-system .elementor .bm-compact-product-arrow .elementor-button {
  display: flex;
  width: 40px;
  min-height: 40px;
  align-items: center;
  justify-content: center;
}
.berio-design-system .elementor .bm-compact-product-arrow .elementor-button-icon,
.berio-design-system .elementor .bm-compact-product-arrow .elementor-button-icon svg {
  display: block;
  width: 32px;
  height: 32px;
}
.berio-design-system :where(.bm-main) .bm-detail-intro--editorial.bm-detail-intro--recipe {
  min-height: clamp(720px,52.08333vw,1000px);
  --padding-top: clamp(180px,14.427083vw,277px);
  --padding-bottom: 41px;
  --padding-left: clamp(24px,10.677083vw,205px);
  --padding-right: clamp(24px,10.520833vw,202px);
  grid-template-columns: minmax(0,746fr) minmax(0,731fr);
  --gap: 36px;
  align-items: start;
}
.berio-design-system :where(.bm-main) .bm-detail-intro--recipe > .bm-stack {
  --gap: 50px;
}
.berio-design-system :where(.bm-main) .bm-detail-intro--recipe > .bm-stack > .bm-text-kicker {
  margin-bottom: -40px;
}
.berio-design-system :where(.bm-main) .bm-detail-intro--recipe .bm-recipe-facts {
  margin-bottom: -36px;
}
.berio-design-system :where(.bm-main) .bm-detail-intro--recipe .bm-recipe-facts .elementor-icon-list-items {
  min-height: 80px;
}
.berio-design-system :where(.bm-main) .bm-detail-intro--recipe::before {
  top: 102px;
}
.berio-design-system :where(.bm-main) .bm-detail-intro--editorial.bm-detail-intro--recipe .bm-editorial-photo img {
  aspect-ratio: 746 / 682;
  object-fit: cover;
}
.berio-design-system :where(.bm-main) .bm-recipe-ingredients {
  position: relative;
  --bm-divider-inset: 80px;
  --padding-top: 169.8995px;
  --padding-bottom: 80px;
  --padding-left: clamp(24px,10.9375vw,210px);
  --padding-right: clamp(24px,2.34375vw,45px);
}
.berio-design-system :where(.bm-main) .bm-recipe-ingredients > .bm-split {
  grid-template-columns: minmax(0,738fr) minmax(0,896fr);
  --gap: 31px;
}
.berio-design-system :where(.bm-main) .bm-content-group--divided::before {
  display: none;
}
.berio-design-system :where(.bm-main) .bm-section--accordion + .bm-section--accordion.bm-content-group--divided::before {
  display: block;
  --bm-divider-inset: -99.8995px;
}
.berio-design-system :where(.bm-main) .bm-recipe-ingredients > .bm-split > .bm-stack {
  --gap: 40px;
}
.berio-design-system :where(.bm-main) :is(.bm-recipe-ingredients,.bm-method-copy) h2 {
  line-height: 1.2;
}
.berio-design-system :where(.bm-main) .bm-ingredient-list li + li {
  margin-top: 0;
}
.berio-design-system :where(.bm-main) .bm-ingredient-list :is(p,ul) + :is(p,ul) {
  margin-top: 16px;
}
.berio-design-system :where(.bm-main) .bm-product-reference--inline {
  display: grid;
  grid-template-columns: minmax(0,285px) minmax(0,1fr);
  align-items: var(--align-items,end);
  background: transparent;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.berio-design-system :where(.bm-main) .bm-product-reference--inline .bm-bottle-photo {
  height: 500px;
  display: grid;
  place-items: center;
  border: 1px solid #ede9e04d;
  border-radius: var(--bm-radius-card);
  padding: 25px;
}
.berio-design-system :where(.bm-main) .bm-product-reference--inline .bm-bottle-photo img {
  height: 407px;
  max-height: none;
}
.berio-design-system :where(.bm-main) .bm-recipe-method {
  min-height: 955px;
  --padding-top: 85px;
  --padding-bottom: 0px;
}
.berio-design-system :where(.bm-main) .bm-recipe-method > .bm-split {
  max-width: 1531px;
  margin-inline: auto;
  grid-template-columns: minmax(0,553px) minmax(0,918px);
  --gap: 60px;
}
.berio-design-system :where(.bm-main) .bm-recipe-method > .bm-split > .bm-editorial-photo img {
  height: 870px;
  object-fit: contain;
  border-radius: 0;
}
.berio-design-system :where(.bm-main) .bm-method-copy {
  --gap: 40px;
}
.berio-design-system :where(.bm-main) .bm-method-steps {
  border-top: 1px solid #124c274d;
  padding-block: 50px;
}
.berio-design-system :where(.bm-main) .bm-method-steps li + li {
  margin-top: 24px;
}
.berio-design-system :where(.bm-main) .bm-recipe-share {
  --padding-top: 25px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
  --gap: 12px;
  border-top: 1px solid #124c274d;
  flex-direction: row;
  justify-content: var(--justify-content,flex-end);
  align-items: center;
}
.berio-design-system :where(.bm-main) .bm-recipe-share > .elementor-widget {
  width: auto;
}
.berio-design-system :where(.bm-main) .bm-recipe-share .elementor-social-icon {
  background: transparent;
  --icon-padding: 0;
}
.berio-design-system :where(.bm-main) .bm-recipe-share :is(.elementor-social-icon i,.elementor-social-icon svg) {
  color: var(--bm-green);
  fill: var(--bm-green);
  width: 24px;
  height: 24px;
}
.berio-design-system .elementor .bm-share-icon {
  width: 32px;
  flex-shrink: 0;
}
.berio-design-system .elementor .bm-share-icon .elementor-icon-wrapper {
  line-height: 0;
}
.berio-design-system .elementor .bm-share-icon .elementor-icon {
  display: block;
}
.berio-design-system .elementor .bm-share-icon :is(.elementor-icon,svg) {
  width: 32px;
  height: 32px;
  color: var(--bm-green);
}
.berio-design-system :where(.bm-main) .bm-intro--dish {
  --padding-top: 100px;
  --padding-bottom: 137px;
}
.berio-design-system .elementor .bm-intro--dish .bm-intro-ornament {
  width: var(--container-widget-width,464px);
  max-width: 100%;
}
.berio-design-system :where(.bm-main) .bm-intro--dish .bm-intro-ornament img {
  width: 100%;
  max-width: 100%;
  height: 299px;
  object-fit: contain;
}
.berio-design-system :where(.bm-main) .bm-feature-panel {
  min-height: var(--min-height,1080px);
  --padding-top: 100px;
  --padding-bottom: 100px;
  justify-content: center;
}
.berio-design-system :where(.bm-main) .bm-feature-panel > .bm-split {
  grid-template-columns: minmax(0,589px) minmax(0,897px);
  --gap: 26px;
}
/* About us: testo Quality Standards allineato alla sommità della foto. */
.berio-design-system :where(.bm-main) #quality-standards > .bm-split {
  align-items: start;
}
.berio-design-system :where(.bm-main) .bm-feature-panel .bm-editorial-photo img {
  height: 596px;
  object-fit: cover;
}
.berio-design-system :where(.bm-main) .bm-feature-panel .bm-text-body {
  color: var(--bm-muted);
}
@media (min-width: 1025px) {
  /* Emblema fotografico già presente nel documento: stesso asset desktop/mobile.
     Posizione relativa alla fascia, derivata dal paint del frame Figma. */
  .berio-design-system .elementor .bm-feature-panel--emblem .bm-story-seal {
    position: absolute;
    left: calc(50% - 560.175px);
    bottom: 0;
    width: var(--container-widget-width,528.65px);
    opacity: .1;
    pointer-events: none;
  }
}
.berio-design-system :where(.bm-main) .bm-section--brand-mark {
  --padding-top: 90px;
  --padding-bottom: 90px;
}
.berio-design-system .elementor .bm-story-emblem {
  width: var(--container-widget-width,590px);
  max-width: 100%;
}
.berio-design-system :where(.bm-main) .bm-story-emblem img {
  /* About us: centra l'immagine block nel widget esteso a tutta larghezza. */
  margin-inline: auto;
  width: 590px;
  max-width: 100%;
  height: 329px;
  object-fit: contain;
}
.berio-design-system :where(.bm-main) .bm-section--values {
  --padding-top: 118px;
  --padding-bottom: 190px;
  --gap: 27px;
  align-items: var(--align-items,center);
  text-align: center;
}
.berio-design-system :where(.bm-main) .bm-section--values > .bm-grid {
  --gap: 27px;
  --column-gap: 21.5px;
  width: var(--width,100%);
}
.berio-design-system :where(.bm-main) .bm-grid > .bm-signature-photo {
  grid-column: 1 / -1;
}
.berio-design-system :where(.bm-main) .bm-signature-photo {
  position: relative;
  width: 100%;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
  overflow: hidden;
  border-radius: var(--bm-radius-card);
}
.berio-design-system :where(.bm-main) .bm-signature-photo > .bm-editorial-photo img {
  width: 100%;
  height: 800px;
  object-fit: cover;
}
@media (min-width: 768px) {
  .berio-design-system :where(.bm-main) .bm-grid > .bm-signature-photo {
    width: calc(100% + 4px);
    max-width: none;
    margin-inline: -2px;
  }
  .berio-design-system :where(.bm-main) .bm-signature-photo > .bm-editorial-photo {
    position: relative;
    height: 800px;
    overflow: hidden;
  }
  .berio-design-system :where(.bm-main) .bm-signature-photo > .bm-editorial-photo img {
    position: absolute;
    left: -11.279683%;
    top: -4.235901%;
    width: 112.401055%;
    max-width: none;
    height: 114.25%;
    object-fit: fill;
  }
}
.berio-design-system :where(.bm-main) .bm-signature-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,#0000,#0008);
  pointer-events: none;
}
.berio-design-system :where(.bm-main) .bm-signature-caption {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 78px;
  width: auto;
  align-items: center;
  --gap: 65.887px;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
  color: var(--bm-cream);
  z-index: 1;
}
/* About: misura Figma della firma, senza ereditare la larghezza del contenitore. */
.berio-design-system .elementor .bm-signature-caption > .bm-signature-mark {
  width: 975.2435px;
  max-width: 80%;
}
/* About desktop: divisore esteso oltre il titolo, con rombo sempre centrato. */
@media (min-width: 768px) {
  .berio-design-system .elementor .bm-signature-caption > .elementor-widget-heading {
    width: min(1200px, 100%);
  }
}
.berio-design-system :where(.bm-main) .bm-signature-mark img {
  width: 100%;
  height: auto;
}
.berio-design-system :where(.bm-main) .bm-signature-caption > .elementor-widget-heading::before {
  content: "";
  position: absolute;
  left: calc(50% + .5px);
  top: -51.330627px;
  width: min(1879px,calc(100vw - 41px));
  height: 10.8872547px;
  transform: translateX(-50%);
  background: var(--bm-cream);
  mask: url("vectors/signature-divider.svg") center / 100% 100% no-repeat;
}
/* Home: maiuscole solo nella presentazione, senza alterare i valori ACF. */
.berio-design-system .elementor .bm-featured-recipe .bm-recipe-facts .elementor-icon-list-text {
  text-transform: uppercase;
}
/* Cronologia desktop/tablet: linea conclusa dal rombo, prima della sezione seguente.
   La distanza segue il padding già definito per ciascun breakpoint. */
@media (min-width: 768px) {
  .berio-design-system :where(.bm-main) .bm-timeline {
    --bm-timeline-end: calc(var(--padding-bottom) * .68);
  }
  .berio-design-system :where(.bm-main) .bm-timeline::after {
    content: "";
    position: absolute;
    left: calc(50% - 5px);
    bottom: calc(var(--padding-bottom) * .68);
    width: 10px;
    height: 10px;
    background: var(--bm-cream);
    transform: translateY(50%) rotate(45deg);
    pointer-events: none;
  }
}
.berio-design-system :where(.bm-main) .bm-value-card {
  padding: 29px;
  border: 1px solid #ede9e04d;
  border-radius: 15px;
  min-height: 152px;
  text-align: left;
  background: var(--bm-green);
  color: var(--bm-cream);
}
.berio-design-system :where(.bm-main) .bm-value-card .elementor-icon-box-wrapper {
  display: grid;
  grid-template-columns: 36.4px minmax(0,1fr);
  column-gap: 5px;
  row-gap: 14px;
  align-items: center;
  text-align: left;
}
.berio-design-system :where(.bm-main) .bm-value-card .elementor-icon-box-content {
  display: contents;
}
.berio-design-system :where(.bm-main) .bm-value-card :is(.elementor-icon-box-icon,.elementor-icon-box-title,.elementor-icon-box-description) {
  margin: 0;
  color: inherit;
}
.berio-design-system :where(.bm-main) .bm-value-card .elementor-icon-box-description {
  grid-column: 1 / -1;
  color: var(--bm-muted);
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  font-stretch: normal;
  line-height: 21px;
}
.berio-design-system :where(.bm-main) .bm-value-card .elementor-icon :is(svg,img) {
  width: 36.4px;
  height: 36.4px;
}
.berio-design-system :where(.bm-main) .bm-history--timeline {
  --padding-top: 90px;
  --padding-bottom: 0px;
  --gap: 90px;
}
.berio-design-system :where(.bm-main) .bm-section-header--center {
  --gap: 40px;
  align-items: center;
  text-align: center;
}
.berio-design-system :where(.bm-main) .bm-timeline {
  position: relative;
  --padding-top: 103px;
  --padding-bottom: 217px;
  --padding-left: 0px;
  --padding-right: 0px;
  --gap: 196px;
  align-items: var(--align-items,center);
}
.berio-design-system :where(.bm-main) .bm-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: var(--bm-timeline-end, 0px);
  height: auto;
  left: 50%;
  width: 0;
  border-left: 1px solid #ede9e04d;
  pointer-events: none;
}
.berio-design-system :where(.bm-main) .bm-timeline .bm-history-entry {
  position: relative;
  max-width: 1277px;
  grid-template-columns: minmax(0,582px) minmax(0,589px);
  --gap: 106px;
  align-items: start;
}
.berio-design-system :where(.bm-main) .bm-timeline .bm-history-entry::after {
  content: "";
  position: absolute;
  left: calc(50% - 3.849226px);
  top: -103px;
  width: 7.698452px;
  height: 7.698452px;
  /* Figma: rombi pieni color crema sulla linea della cronologia. */
  border: 1px solid var(--bm-cream);
  background: var(--bm-cream);
  box-shadow: 0 0 0 10px var(--bm-green);
  transform: rotate(45deg);
}
/* Il frame Figma della timeline misura 1270 px; il contenuto fotografico
 * occupa 1277 px (due colonne da 582 e intervallo da 113). Il divisore resta
 * centrato nel frame, indipendente dall'eccedenza fotografica di 7 px. */
@media (min-width: 1400px) {
  .berio-design-system :where(.bm-main) .bm-timeline { width: 1270px; align-self: center; align-items: start; }
  .berio-design-system :where(.bm-main) .bm-timeline .bm-history-entry {
    width: 1277px; max-width: none; grid-template-columns: repeat(2,582px); --gap: 113px;
  }
  .berio-design-system :where(.bm-main) .bm-timeline .bm-history-entry::after { left: calc((100% - 7px)/2 - 3.849226px); }
}
.berio-design-system :where(.bm-main) .bm-timeline .bm-stack {
  --gap: 30px;
}
/* Cronologia: divisore sotto ciascuna data, separato dai testi descrittivi. */
.berio-design-system :where(.bm-main) .bm-timeline .bm-stack > .elementor-widget-heading {
  padding-bottom: 20px;
  border-bottom: 1px solid #ede9e04d;
}
.berio-design-system :where(.bm-main) .bm-history-photo {
  overflow: hidden;
  border-radius: var(--bm-radius-card);
}
.berio-design-system :where(.bm-main) .bm-history-photo img {
  width: 100%;
  height: 439px;
  object-fit: cover;
}
.berio-design-system :where(.bm-main) .bm-history-photo--collage {
  display: grid;
  grid-template-columns: 58% 42%;
  --gap: 0px;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.berio-design-system :where(.bm-main) .bm-page-heading--legal {
  --padding-top: 171px;
  --padding-bottom: 98px;
  --padding-left: clamp(24px,2.708vw,52px);
  --padding-right: clamp(24px,2.708vw,52px);
  align-items: center;
  text-align: center;
}
.berio-design-system :where(.bm-main) .bm-prose--legal {
  --padding-top: 98px;
  --padding-bottom: 150px;
  --padding-left: max(24px,calc((100% - 1522px)/2));
  --padding-right: max(24px,calc((100% - 1522px)/2));
  --gap: 98px;
}
.berio-design-system :where(.bm-main) .bm-prose--legal > .elementor-widget-heading {
  margin-bottom: -78px;
}
.berio-design-system :where(.bm-main) .bm-prose--legal .elementor-heading-title {
  letter-spacing: .6px;
}
.berio-design-system :where(.bm-main) .bm-prose--legal .bm-text-body {
  line-height: 1.6;
  letter-spacing: .36px;
}
.berio-design-system :where(.bm-main) .bm-prose--legal .bm-text-body p {
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.berio-design-system .elementor .bm-open-film .elementor-button::before {
  content: "";
  position: absolute;
  left: -9px;
  top: -9px;
  width: 110.386108px;
  height: 109.109894px;
  z-index: -1;
  border-radius: 50%;
  background: url("vectors/b870ca601ef23695.svg") center / contain no-repeat;
  animation: bm-video-ring calc(4s * var(--bm-motion-factor,1)) linear infinite;
}
.berio-design-system .elementor .bm-open-film .elementor-button {
  --bm-play-fill: #ede9e026;
  --bm-play-center-x: 46px;
  --bm-play-center-y: 45px;
  background: radial-gradient(circle 36px at var(--bm-play-center-x) var(--bm-play-center-y),var(--bm-play-fill) 99.5%,transparent 100%);
  transition: --bm-play-fill calc(.511046886s * var(--bm-motion-factor,1)) var(--bm-motion-play);
}
.berio-design-system .elementor .bm-open-film .elementor-button:is(:hover,:focus-visible) {
  --bm-play-fill: #ede9e0;
}
.berio-design-system .elementor .bm-open-film .elementor-button:is(:hover,:focus-visible)::after {
  background: var(--bm-green);
}
@property --bm-play-fill {
  syntax: "<color>";
  inherits: false;
  initial-value: #ede9e026;
}
@keyframes bm-video-ring {
  to {
    transform: rotate(180deg);
  }
}
.berio-design-system .elementor :is(.bm-product-photo,.bm-editorial-photo) {
  overflow: hidden;
  border-radius: var(--bm-radius-card);
}
.berio-design-system .elementor :is(.bm-product-card,.bm-category-card--horizontal,.bm-catalog-card) {
  transition: background-color calc(.625061452s * var(--bm-motion-factor,1)) var(--bm-motion-card);
}
.berio-design-system .elementor :is(.bm-product-photo,.bm-category-card--horizontal .bm-editorial-photo,.bm-loop-photo,.bm-catalog-card .bm-bottle-photo) img {
  transition: transform calc(.625061452s * var(--bm-motion-factor,1)) var(--bm-motion-card), scale calc(.625061452s * var(--bm-motion-factor,1)) var(--bm-motion-card), translate calc(.625061452s * var(--bm-motion-factor,1)) var(--bm-motion-card);
}
.berio-design-system .elementor .bm-product-card {
  --bm-photo-scale: 1.0625;
  --bm-photo-hover-x: 0%;
  --bm-photo-hover-y: -3.058510638%;
}
.berio-design-system .elementor .bm-product-card:has(.bm-photo-pesto) {
  --bm-photo-scale: 1.072485207;
  --bm-photo-hover-y: 1.877918612%;
}
.berio-design-system .elementor .bm-product-card:has(.bm-photo-sauce) {
  --bm-photo-scale: 1.060301508;
  --bm-photo-hover-y: -.030155805%;
}
.berio-design-system .elementor .bm-product-card:has(.bm-photo-vinegar) {
  --bm-photo-scale: 1.085106383;
  --bm-photo-hover-x: .353076901%;
  --bm-photo-hover-y: 0%;
}
.berio-design-system .elementor .bm-product-card:is(:hover,:focus-within) {
  background-color: #0e3625;
}
.berio-design-system .elementor .bm-product-card:is(:hover,:focus-within) .bm-product-photo img {
  scale: var(--bm-photo-scale);
  translate: var(--bm-photo-hover-x) var(--bm-photo-hover-y);
}
.berio-design-system .elementor .bm-category-card--horizontal {
  --bm-photo-scale: 1.07300885;
  --bm-photo-hover-y: 0%;
}
.berio-design-system .elementor .bm-category-card--pesto {
  --bm-photo-scale: 1.10218978;
  --bm-photo-hover-y: 5.785123967%;
}
.berio-design-system .elementor .bm-category-card--sauce {
  --bm-photo-scale: 1.07606973;
  --bm-photo-hover-y: .606479%;
}
.berio-design-system .elementor .bm-category-card--vinegar {
  --bm-photo-scale: 1.05660377;
}
.berio-design-system .elementor .bm-category-card--horizontal:is(:hover,:focus-within) {
  background-color: #173d25;
}
.berio-design-system .elementor .bm-category-card--horizontal:is(:hover,:focus-within) .bm-editorial-photo img {
  scale: var(--bm-photo-scale);
  translate: 0 var(--bm-photo-hover-y);
}
.berio-design-system .elementor .bm-catalog-card:not(.bm-catalog-card--oil):is(:hover,:focus-within) {
  background-color: #173d25;
}
.berio-design-system .elementor .bm-catalog-card:not(.bm-catalog-card--oil):is(:hover,:focus-within) .bm-bottle-photo img {
  transform: scale(1.075);
}
.berio-design-system .elementor .bm-catalog-card--strong-zoom {
  --bm-catalog-photo-scale: 1.125;
}
.berio-design-system .elementor .bm-catalog-card--oil:is(:has(.bm-bottle-photo:hover,.elementor-widget-button:hover),:focus-within) .bm-bottle-photo {
  background-color: var(--bm-catalog-photo-hover,var(--bm-green));
}
.berio-design-system .elementor .bm-catalog-card--oil:is(:has(.bm-bottle-photo:hover,.elementor-widget-button:hover),:focus-within) .bm-bottle-photo img {
  transform: scale(var(--bm-catalog-photo-scale));
}
.berio-design-system .elementor .bm-catalog-card--oil .bm-button--solid .elementor-button:is(:hover,:focus-visible) {
  background: var(--bm-green);
  color: var(--bm-cream);
}
.berio-design-system .elementor .bm-catalog-card--oil .bm-button.bm-button--solid .elementor-button:is(:hover,:focus-visible) .elementor-button-icon svg {
  transform: none;
}
.berio-design-system .elementor .bm-catalog-card--oil .bm-button .elementor-button-icon::after {
  display: none;
}
.berio-design-system .elementor .bm-loop-photo img {
  transition-duration: calc(.638808608s * var(--bm-motion-factor,1));
  transition-timing-function: var(--bm-motion-control);
}
.berio-design-system .elementor .bm-loop-card:is(:hover,:focus-within) .bm-loop-photo img {
  transform: scale(1.069);
}
.berio-design-system .elementor .bm-button:not(.bm-open-film,.bm-back-top,.bm-open-search,.bm-header-countries) .elementor-button-icon {
  position: relative;
  display: block;
  width: var(--bm-control-icon-size,24px);
  height: var(--bm-control-icon-size,24px);
  overflow: hidden;
}
.berio-design-system .elementor .bm-button:not(.bm-open-film,.bm-back-top,.bm-open-search,.bm-header-countries) .elementor-button-icon::after {
  content: "";
  position: absolute;
  inset: 0;
  background: currentColor;
  mask: var(--bm-control-icon-mask,url("vectors/home-arrow.svg")) center / contain no-repeat;
  transform: translateX(-40px);
  transition: transform calc(.638808608s * var(--bm-motion-factor,1)) var(--bm-motion-control);
}
.berio-design-system .elementor .bm-button .elementor-button-icon svg {
  transition: transform calc(.638808608s * var(--bm-motion-factor,1)) var(--bm-motion-control);
}
.berio-design-system .elementor .bm-button:not(.bm-open-film,.bm-back-top,.bm-open-search,.bm-header-countries) .elementor-button:is(:hover,:focus-visible) .elementor-button-icon svg {
  transform: translateX(40px);
}
.berio-design-system .elementor .bm-button .elementor-button:is(:hover,:focus-visible) .elementor-button-icon::after {
  transform: translateX(0);
}
.berio-design-system .elementor .bm-button--arrow-reveal {
  --bm-reveal-box: 18px;
  --bm-reveal-icon: 18px;
  --bm-reveal-travel: 23px;
  --bm-reveal-gap: 10px;
  --bm-reveal-mask: url("vectors/category-card-arrow.svg");
}
.berio-design-system .elementor .bm-product-card--action .bm-button--arrow-reveal {
  --bm-reveal-box: 40px;
  --bm-reveal-icon: 32px;
  --bm-reveal-travel: 40px;
  --bm-reveal-gap: 8px;
  --bm-reveal-mask: url("vectors/home-card-arrow.svg");
}
.berio-design-system .elementor :is(.bm-category-card--horizontal,.bm-product-card--action) .bm-button.bm-button--arrow-reveal .elementor-button {
  display: flex;
  align-items: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--bm-cream);
  min-height: var(--bm-reveal-box);
  height: var(--bm-reveal-box);
}
.berio-design-system .elementor :is(.bm-category-card--horizontal,.bm-product-card--action) .bm-button--arrow-reveal .elementor-button-content-wrapper {
  position: relative;
  align-items: center;
  gap: var(--bm-reveal-gap);
  overflow: hidden;
}
.berio-design-system .elementor :is(.bm-category-card--horizontal,.bm-product-card--action) .bm-button--arrow-reveal .elementor-button-text {
  opacity: 0;
  transform: translateX(150px);
  font-style: normal;
  font-variant: normal;
  font-weight: 700;
  font-stretch: normal;
  line-height: 1.17;
  letter-spacing: 1.2px;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
  transition: opacity calc(.625061452s * var(--bm-motion-factor,1)) var(--bm-motion-card), transform calc(.625061452s * var(--bm-motion-factor,1)) var(--bm-motion-card);
}
.berio-design-system .elementor :is(.bm-category-card--horizontal,.bm-product-card--action) .bm-button.bm-button--arrow-reveal .elementor-button-icon {
  width: var(--bm-reveal-box);
  height: var(--bm-reveal-box);
}
.berio-design-system .elementor :is(.bm-category-card--horizontal,.bm-product-card--action) .bm-button.bm-button--arrow-reveal .elementor-button-icon svg {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--bm-reveal-icon);
  height: var(--bm-reveal-icon);
  transition-duration: calc(.625061452s * var(--bm-motion-factor,1));
  transition-timing-function: var(--bm-motion-card);
}
.berio-design-system .elementor :is(.bm-category-card--horizontal,.bm-product-card--action) .bm-button.bm-button--arrow-reveal .elementor-button-icon::after {
  mask-image: var(--bm-reveal-mask);
  mask-position: left top;
  mask-size: var(--bm-reveal-icon) var(--bm-reveal-icon);
  transform: translateX(calc(-1 * var(--bm-reveal-travel)));
  transition-duration: calc(.625061452s * var(--bm-motion-factor,1));
  transition-timing-function: var(--bm-motion-card);
}
.berio-design-system .elementor :is(.bm-category-card--horizontal,.bm-product-card--action):is(:hover,:focus-within) .bm-button.bm-button--arrow-reveal .elementor-button-text {
  opacity: 1;
  transform: none;
}
.berio-design-system .elementor :is(.bm-category-card--horizontal,.bm-product-card--action):is(:hover,:focus-within) .bm-button.bm-button--arrow-reveal .elementor-button-icon svg {
  transform: translateX(var(--bm-reveal-travel));
}
.berio-design-system .elementor :is(.bm-category-card--horizontal,.bm-product-card--action):is(:hover,:focus-within) .bm-button.bm-button--arrow-reveal .elementor-button-icon::after {
  transform: none;
}
/* Home: pulsante a sola freccia; il testo rimane leggibile dagli screen reader. */
.berio-design-system .elementor .bm-product-card--action .bm-button--arrow-reveal .elementor-button-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.berio-design-system .elementor .bm-button--solid .elementor-button:is(:hover,:focus-visible) {
  color: var(--bm-green);
  background: transparent;
}
.berio-design-system .elementor .bm-button--light .elementor-button:focus-visible {
  color: var(--bm-green);
  background: var(--bm-cream);
}
.berio-design-system .elementor .bm-button--dark .elementor-button:focus-visible {
  color: var(--bm-cream);
  background: var(--bm-green);
}
.berio-design-system .elementor :is(.bm-back-top .elementor-button,.elementor-swiper-button) {
  transition: color calc(.744255543s * var(--bm-motion-factor,1)) var(--bm-motion-arrow), background-color calc(.744255543s * var(--bm-motion-factor,1)) var(--bm-motion-arrow), scale calc(.255523443s * var(--bm-motion-factor,1)) var(--bm-motion-press);
}
.berio-design-system .elementor :is(.bm-back-top .elementor-button,.elementor-swiper-button):is(:hover,:focus-visible) {
  color: var(--bm-green);
  background: var(--bm-cream);
}
.berio-design-system .elementor :is(.bm-back-top .elementor-button,.elementor-swiper-button):active {
  scale: .94;
}
.berio-design-system .elementor :is(.bm-accordion .e-n-accordion-item-title-icon,.bm-recipe-filters select,.bm-recipe-filters input) {
  transition: color calc(.3s * var(--bm-motion-factor,1)) cubic-bezier(0,0,.58,1), background-color calc(.3s * var(--bm-motion-factor,1)) cubic-bezier(0,0,.58,1);
}
.berio-design-system .elementor .bm-accordion .e-n-accordion-item-title {
  transition: color calc(.3s * var(--bm-motion-factor,1)) cubic-bezier(0,0,.58,1);
}
.berio-design-system .elementor .bm-accordion .e-n-accordion-item-title:is(:hover,:focus-visible),
.berio-design-system .elementor .bm-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title {
  color: var(--bm-gold);
}
.berio-design-system .elementor .bm-accordion .e-n-accordion-item-title:is(:hover,:focus-visible) .e-n-accordion-item-title-icon {
  background: var(--bm-gold);
  color: var(--bm-green);
}
.berio-design-system .elementor .bm-recipe-filters select:is(:hover,:focus-visible) {
  color: var(--bm-green);
  background-color: var(--bm-cream);
}
.berio-design-system .elementor .bm-oil-carousel .swiper-wrapper {
  transition-timing-function: var(--bm-motion-card);
}
.berio-design-system .elementor .bm-oil-carousel .swiper-slide {
  position: relative;
}
.berio-design-system .elementor .bm-oil-carousel .swiper-slide-image {
  transition: transform calc(.625061452s * var(--bm-motion-factor,1)) var(--bm-motion-card);
}
.berio-design-system .elementor .bm-oil-hover-area {
  position: absolute;
  top: 11.388888889%;
  left: 50%;
  width: min(300px,78.125%);
  height: 59.907407407%;
  transform: translateX(-50%);
  z-index: 2;
}
.berio-design-system .elementor .bm-oil-carousel .swiper-slide:is(:has(.bm-oil-hover-area:hover),:has(figure:focus-visible)) {
  background-color: var(--bm-oil-hover);
}
.berio-design-system .elementor .bm-oil-carousel .swiper-slide:is(:has(.bm-oil-hover-area:hover),:has(figure:focus-visible)) .swiper-slide-image {
  transform: translateY(clamp(-84px,-4.375vw,-32px));
}
.berio-design-system .elementor .bm-oil-use {
  position: absolute;
  top: 62.2222%;
  left: 50%;
  width: min(264px,76%);
  transform: translateX(-50%);
  text-align: center;
  color: var(--bm-oil-ink,var(--bm-cream));
  font-style: normal;
  font-variant: normal;
  font-weight: 700;
  font-stretch: normal;
  line-height: 1.9;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  opacity: 0;
  transition: opacity calc(.625061452s * var(--bm-motion-factor,1)) var(--bm-motion-card);
}
.berio-design-system .elementor .bm-oil-use-text {
  display: block;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.berio-design-system .elementor .bm-oil-use::after {
  content: "";
  display: block;
  position: relative;
  left: 1px;
  width: 32px;
  height: 32px;
  margin: 12px auto 0;
  background: currentColor;
  mask: url("vectors/oil-range-arrow.svg") center / contain no-repeat;
}
.berio-design-system .elementor .swiper-slide:is(:has(.bm-oil-hover-area:hover),:has(figure:focus-visible)) .bm-oil-use {
  opacity: 1;
}
.berio-design-system .elementor .bm-oil-hover-photo {
  position: absolute;
  top: clamp(80px,7.135417vw,137px);
  left: 0;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity calc(.625061452s * var(--bm-motion-factor,1)) var(--bm-motion-card), transform calc(.625061452s * var(--bm-motion-factor,1)) var(--bm-motion-card);
}
.berio-design-system .elementor .swiper-slide:is(:has(.bm-oil-hover-area:hover),:has(figure:focus-visible)) .bm-oil-hover-photo {
  opacity: 1;
  transform: translateY(clamp(-84px,-4.375vw,-32px));
}
.berio-design-system .elementor .swiper-slide:has(.bm-oil-hover-photo):is(:has(.bm-oil-hover-area:hover),:has(figure:focus-visible)) .swiper-slide-inner > :is(img,picture) {
  opacity: 0;
}
.berio-design-system .elementor .bm-instagram-carousel .swiper-wrapper {
  transition-timing-function: linear;
}
.berio-design-system .elementor .bm-recipe-gallery.bm-gallery--dissolve .swiper-wrapper {
  position: relative;
  aspect-ratio: 1512 / 732;
  transform: none;
}
.berio-design-system .elementor .bm-recipe-gallery.bm-gallery--dissolve .swiper-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity calc(2.083538055s * var(--bm-motion-factor,1)) var(--bm-motion-gallery);
}
.berio-design-system .elementor .bm-recipe-gallery.bm-gallery--dissolve .swiper-slide.bm-slide-visible {
  opacity: 1;
  pointer-events: auto;
}
.berio-design-system .elementor .bm-detail-intro--editorial.bm-detail-intro--product .bm-bottle-photo::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(100%,557px);
  aspect-ratio: 557 / 670;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  background: var(--bm-oil-glow-gradient);
}
.berio-design-system .elementor .bm-product-reference--inline .bm-bottle-photo {
  position: relative;
  isolation: isolate;
}
.berio-design-system .elementor .bm-product-reference--inline .bm-bottle-photo::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: var(--bm-oil-glow-gradient);
}
.berio-design-system.bm-static-preview :is(.bm-open-film .elementor-button::before,.bm-oil-use,.bm-oil-hover-photo) {
  animation: none;
  transition: none;
}
.berio-design-system.bm-static-preview .elementor :is(.bm-product-card,.bm-catalog-card,.bm-loop-card,.swiper-slide):hover img {
  scale: 1;
}
.berio-design-system.bm-static-preview .elementor .bm-catalog-card:is(:hover,:focus-within) .bm-bottle-photo img,
.berio-design-system.bm-static-preview .elementor .bm-loop-card:is(:hover,:focus-within) .bm-loop-photo img {
  transform: none;
}
.berio-design-system.bm-static-preview .elementor .bm-catalog-card--compact:is(:hover,:focus-within) {
  background: #096b37;
}
.berio-design-system .elementor .bm-oil--extra-virgin {
  --bm-oil-color: #1d5336;
  --bm-oil-hover: #276845;
  --bm-oil-ink: #ede9e0;
  --bm-catalog-photo-hover: #124c27;
}
.berio-design-system .elementor .bm-oil--fruttato {
  --bm-oil-color: #ee4046;
  --bm-oil-hover: #d33c41;
  --bm-oil-ink: #ede9e0;
  --bm-catalog-photo-hover: #e74146;
}
.berio-design-system .elementor .bm-oil--delicato {
  --bm-oil-color: #7bc7de;
  --bm-oil-hover: #a8e3f5;
  --bm-oil-ink: #124c27;
  --bm-catalog-photo-hover: #7bc7de;
}
.berio-design-system .elementor .bm-oil--organic {
  --bm-oil-color: #79ad6f;
  --bm-oil-hover: #91d384;
  --bm-oil-ink: #124c27;
  --bm-catalog-photo-hover: #91d384;
}
.berio-design-system .elementor .bm-oil--italian {
  --bm-oil-color: #262a29;
  --bm-oil-hover: #343938;
  --bm-oil-ink: #ede9e0;
  --bm-catalog-photo-hover: #262a29;
  --bm-catalog-photo-scale: 1.065;
}
.berio-design-system .elementor .bm-oil--classico {
  --bm-oil-color: #f5b63e;
  --bm-oil-hover: #ffaf17;
  --bm-oil-ink: #124c27;
  --bm-catalog-photo-hover: #f6b43f;
}
.berio-design-system .elementor .bm-oil--mild {
  --bm-oil-color: #f9e09e;
  --bm-oil-hover: #f7eac9;
  --bm-oil-ink: #124c27;
  --bm-catalog-photo-hover: #f4eec9;
}
.berio-design-system .elementor .bm-oil--chilli {
  --bm-catalog-photo-hover: #e1553a;
}
.berio-design-system .elementor .bm-oil--garlic {
  --bm-catalog-photo-hover: #dacc97;
}
.berio-design-system .elementor .bm-oil--truffle {
  --bm-catalog-photo-hover: #774624;
}
.berio-design-system .elementor .bm-oil--squeezable-chilli {
  --bm-catalog-photo-hover: #ae212b;
}
.berio-design-system .elementor .bm-oil--squeezable-classico {
  --bm-catalog-photo-hover: #e8a800;
}
.berio-design-system .elementor .bm-oil--squeezable-extra-virgin {
  --bm-catalog-photo-hover: #0a5a2f;
}
.berio-design-system .elementor .bm-not-found {
  min-height: 100vh;
  --padding-top: clamp(120px,8.489583vw,163px);
  --padding-bottom: 117px;
  --padding-left: clamp(20px,10.729167vw,206px);
  --padding-right: clamp(20px,10.729167vw,206px);
}
/* 404: proporzioni del pannello Figma desktop, ridotte con la larghezza disponibile. */
.berio-design-system .elementor .bm-not-found-panel {
  background-size: 115.915119% auto;
  background-position: 50% 94.535519%;
  min-height: clamp(420px,41.666667vw,800px);
  overflow: hidden;
  border-radius: var(--bm-radius-card);
  --gap: clamp(24px,2.083333vw,40px);
  --padding-top: 40px;
  --padding-bottom: clamp(32px,4.015625vw,77.1px);
  --padding-left: clamp(22px,3.020833vw,58px);
  --padding-right: clamp(22px,3.020833vw,58px);
  justify-content: flex-end;
  align-items: center;
  color: #105529;
}
.berio-design-system .elementor .bm-not-found-title {
  width: 100%;
  text-align: center;
}
.berio-design-system .elementor .bm-not-found-title h1 {
  color: inherit;
  line-height: .7272727;
  font-weight: 100;
}
.berio-design-system .elementor .bm-not-found-panel .bm-divider {
  width: 100%;
}
.berio-design-system .elementor .bm-divider .elementor-divider {
  height: 9.8995px;
  padding: 0;
  background: currentColor;
  mask: url("vectors/divider.svg") center / 100% 100% no-repeat;
}
.berio-design-system .elementor .bm-divider .elementor-divider-separator {
  display: none;
}
@media (min-width: 768px) {
  .berio-design-system .elementor .bm-signature .bm-divider {
    width: min(1879px,calc(100vw - 41px)); max-width: none; translate: .5px 0;
  }
  .berio-design-system .elementor .bm-signature .bm-divider .elementor-divider {
    height: 10.8872547px; mask-image: url("vectors/signature-divider.svg");
  }
}
.berio-design-system :where(.elementor) .bm-tracking-normal .elementor-heading-title {
  letter-spacing: normal;
}
.berio-design-system :where(.elementor) .bm-tracking-normal .elementor-heading-title em {
  letter-spacing: .02em;
}
.berio-design-system :where(.elementor) .bm-tracking-wide .elementor-heading-title {
  letter-spacing: .02em;
}
.berio-design-system :where(.elementor) .bm-leading-hero .elementor-heading-title {
  line-height: 1.08;
}
@supports (text-box-trim: trim-both) {
  .berio-design-system :where(.elementor) :is(.bm-text-kicker .elementor-heading-title,.bm-text-body p) {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}
.berio-design-system .elementor .bm-button--chevron .elementor-button {
  min-height: 50px;
}
.berio-design-system .elementor .bm-button--chevron .elementor-button-content-wrapper {
  align-items: center;
  gap: 16px;
}
.berio-design-system .elementor .bm-button.bm-button--chevron .elementor-button-icon,
.berio-design-system .elementor .bm-button.bm-button--chevron .elementor-button-icon svg {
  width: 7.41px;
  height: 12px;
}
.berio-design-system .elementor .bm-button.bm-button--chevron .elementor-button-icon::after {
  mask-image: url("vectors/a0091c5c166118d6.svg");
}
.berio-design-system .elementor .bm-button--light.bm-button.bm-button--chevron .elementor-button-icon {
  color: var(--bm-gold);
}
.berio-design-system .elementor .bm-mobile-only {
  display: none;
}
.berio-design-system .elementor .bm-responsive-media {
  display: block;
}
.berio-design-system .elementor .bm-oil-carousel .bm-responsive-media {
  width: 100%;
  height: 100%;
}
.berio-design-system .elementor .bm-oil-use {
  white-space: pre-line;
}
@media (min-width: 768px) {
  .berio-design-system .elementor .bm-oil-carousel .swiper-pagination {
    display: none;
  }
}
@supports (text-box-trim: trim-both) {
  .berio-design-system :where(.elementor) .bm-newsletter-title .elementor-heading-title {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}
.berio-design-system.bm-static-preview .elementor .bm-oil-carousel .swiper-slide:is(:hover,:focus-within) {
  background-color: var(--bm-oil-color);
}
.berio-design-system.bm-static-preview .elementor .bm-oil-carousel .swiper-slide:is(:hover,:focus-within) .swiper-slide-image {
  transform: none;
}
.berio-design-system.bm-static-preview .elementor .bm-oil-hover-photo {
  display: none;
}
.berio-design-system.bm-static-preview .elementor .bm-oil-carousel .swiper-slide:has(.bm-oil-hover-photo):is(:hover,:focus-within) .swiper-slide-inner > :is(img,picture) {
  opacity: 1;
}
.berio-design-system.bm-static-preview .elementor .bm-product-card:is(:hover,:focus-within) {
  background-color: var(--bm-green);
}
.berio-design-system.bm-static-preview .elementor .bm-category-card--horizontal:is(:hover,:focus-within) {
  background-color: #096b37;
}
.berio-design-system.bm-static-preview .elementor :is(.bm-category-card--horizontal,.bm-product-card--action) .bm-button.bm-button--arrow-reveal .elementor-button-text {
  opacity: 0;
  transform: translateX(150px);
}
.berio-design-system.bm-static-preview .elementor :is(.bm-category-card--horizontal,.bm-product-card--action) .bm-button.bm-button--arrow-reveal .elementor-button-icon svg {
  transform: none;
}
.berio-design-system.bm-static-preview .elementor :is(.bm-category-card--horizontal,.bm-product-card--action) .bm-button.bm-button--arrow-reveal .elementor-button-icon::after {
  transform: translateX(calc(-1 * var(--bm-reveal-travel)));
}
.berio-design-system.bm-static-preview .elementor :is(.bm-product-photo,.bm-editorial-photo,.bm-bottle-photo,.bm-loop-photo) img {
  scale: 1;
  translate: none;
}
.berio-design-system.bm-static-preview .elementor .bm-open-film .elementor-button {
  --bm-play-fill: rgb(237 233 224 / .15);
}
.berio-design-system.bm-static-preview .elementor .bm-open-film .elementor-button::after {
  background: var(--bm-cream);
}
@media (min-width: 768px) {
  .berio-design-system.bm-static-preview .elementor :is(.bm-oil-use,.bm-oil-hover-photo) {
    opacity: 0;
  }
}

/* ACF recipe template. Reuses bm typography, colours, buttons and section layouts. */
body.single-ricette {margin:0;background:var(--bm-green);}
.br-recipe, .br-recipe * {box-sizing:border-box;}
.berio-design-system .br-recipe {color:var(--bm-cream);background:var(--bm-green);}
.berio-design-system .br-recipe .br-layout {
 padding:var(--padding-top,0px) var(--padding-right,0px) var(--padding-bottom,0px) var(--padding-left,0px);
 gap:var(--gap,24px);min-width:0;
}
.berio-design-system .br-recipe .bm-stack {display:flex;flex-direction:column;}
.berio-design-system .br-recipe .bm-stack > * {min-width:0;}
.berio-design-system .br-recipe a {color:inherit;}
.berio-design-system .br-recipe .bm-editorial-photo img {display:block;width:100%;border-radius:var(--bm-radius-card);}
.berio-design-system .br-recipe .bm-bottle-photo img {display:block;max-width:100%;width:auto;object-fit:contain;}
.berio-design-system .br-recipe .bm-detail-intro--recipe {min-height:0;--padding-bottom:100px;}
.berio-design-system .br-recipe .bm-detail-intro--recipe > .bm-stack {--gap:26px;}
.berio-design-system .br-recipe .bm-detail-intro--recipe > .bm-stack > .bm-text-kicker {margin-bottom:0;}
.berio-design-system .br-recipe .bm-hero-breadcrumb {max-width:calc(100% - 48px);line-height:1.6;}
.berio-design-system .br-recipe .br-facts {display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0;border:1px solid #ede9e04d;border-radius:var(--bm-radius-control);width:fit-content;max-width:100%;}
.berio-design-system .br-recipe .br-facts:empty {display:none;}
.berio-design-system .br-recipe .br-facts li {display:flex;flex:1;min-width:100px;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 16px;text-transform:uppercase;text-align:center;line-height:1.4;}
.berio-design-system .br-recipe .br-facts li + li {border-left:1px solid #ede9e04d;}
.berio-design-system .br-recipe .br-facts img {width:24px;height:24px;object-fit:contain;}
.berio-design-system .br-recipe .br-times {display:flex;flex-wrap:wrap;gap:16px 32px;margin:0;line-height:1.6;}
.berio-design-system .br-recipe .br-times dt {color:var(--bm-gold);}
.berio-design-system .br-recipe .br-times dd {margin:0;}
.berio-design-system .br-recipe .bm-recipe-ingredients {--padding-top:80px;--padding-bottom:80px;}
.berio-design-system .br-recipe .bm-recipe-ingredients::before {content:"";position:absolute;top:0;left:clamp(24px,2.708vw,52px);right:clamp(24px,2.708vw,52px);height:10px;background:var(--bm-cream);mask:url("vectors/section-divider-desktop.svg") center / 100% 100% no-repeat;}
.berio-design-system .br-recipe .bm-recipe-ingredients > .bm-split {align-items:start;}
.berio-design-system .br-recipe .bm-product-reference--inline {--gap:24px;grid-template-columns:minmax(0,34%) minmax(0,1fr);}
.berio-design-system .br-recipe .bm-product-reference--inline .bm-bottle-photo {height:clamp(300px,26vw,500px);padding:20px;}
.berio-design-system .br-recipe .bm-product-reference--inline .bm-bottle-photo img {height:100%;}
.berio-design-system .br-recipe .bm-recipe-method {min-height:0;}
.berio-design-system .br-recipe .bm-recipe-method > .bm-split {align-items:end;}
.berio-design-system .br-recipe .bm-recipe-method .br-chef img {height:auto;max-height:870px;object-fit:contain;object-position:center bottom;border-radius:0;}
.berio-design-system .br-recipe .bm-method-copy {--padding-bottom:80px;}
.berio-design-system .br-recipe .bm-method-steps {padding-block:32px;}
.berio-design-system .br-recipe .bm-method-steps li::marker {font-weight:700;}
.berio-design-system .br-recipe .bm-method-steps p + p {margin-top:12px;}
.berio-design-system .br-recipe .bm-recipe-share {display:flex;flex-wrap:wrap;}
/* Reuse existing social vectors; accessible link labels remain in the PHP template. */
.berio-design-system .br-recipe .bm-recipe-share a {display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;}
.berio-design-system .br-recipe .br-share-icon {display:block;width:24px;height:24px;background:currentColor;mask:center / contain no-repeat;}
.berio-design-system .br-recipe .br-share-facebook {mask-image:url("vectors/social-facebook.svg");}
.berio-design-system .br-recipe .br-share-x {mask-image:url("vectors/social-x.svg");}
.berio-design-system .br-recipe .br-without-chef > .bm-split {grid-template-columns:1fr;max-width:1000px;}
.berio-design-system .br-recipe .br-related-heading {display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:40px;}
.berio-design-system .br-recipe .bm-loop-card {display:flex;flex-direction:column;}
.berio-design-system .br-recipe .bm-loop-card .bm-loop-title {position:relative;}
.berio-design-system .br-recipe a:focus-visible {outline:2px solid currentColor;outline-offset:5px;}

.berio-design-system .br-recipe .bm-detail-intro--recipe > :is(.bm-editorial-photo,.bm-stack) {position:relative;z-index:1;}

/* Centra verticalmente le azioni nei moduli e nel caricamento ricette.
 * Altezza, padding e allineamento orizzontale restano quelli del componente. */

.berio-design-system .elementor .bm-recipes-loop .elementor-button {
  display: inline-flex;
  align-items: center;
}
.berio-design-system .bm-recipes-loop .e-loop__load-more { position: relative; }
.berio-design-system .bm-recipes-loop .e-loop__load-more::before {
  content: ""; position: absolute; inset: 50% 0 auto; height: 1px;
  background: linear-gradient(to right,#ede9e04d calc(50% - 130px),transparent calc(50% - 130px),transparent calc(50% + 130px),#ede9e04d calc(50% + 130px)); pointer-events: none;
}
.berio-design-system .bm-recipes-loop .e-loop__load-more .elementor-button-icon { display: flex; }
.berio-design-system .bm-recipes-loop .e-loop__load-more .elementor-button-icon svg { width: 32px; height: 32px; transition: transform calc(.35s * var(--bm-motion-factor,1)) var(--bm-motion-control); }
.berio-design-system .bm-recipes-loop .e-loop__load-more .elementor-button:hover .elementor-button-icon svg { transform: rotate(90deg); }

.berio-design-system .elementor .bm-recipes-loop .elementor-button-content-wrapper {
  width: 100%;
  align-items: center;
}

/* ACF product template: native layout adapters for the shared Figma classes. */
.berio-design-system .bp-product,
.berio-design-system .bp-product * { box-sizing: border-box; }
.berio-design-system .bp-product { color: var(--bm-cream); background: var(--bm-green); }
.berio-design-system .bp-product .bp-layout {
  padding: var(--padding-top,0px) var(--padding-right,0px) var(--padding-bottom,0px) var(--padding-left,0px);
  gap: var(--gap,24px);
  min-width: 0;
}
.berio-design-system .bp-product :is(.bm-stack,.bm-section,.bm-loop-card,.bm-catalog-card) { display: flex; flex-direction: column; }
.berio-design-system .bp-product .bm-bottle-photo { display: flex; justify-content: center; }
.berio-design-system .bp-product .bm-bottle-photo img { display: block; width: auto; max-width: 100%; object-fit: contain; }
.berio-design-system .bp-product .bm-hero-breadcrumb { max-width: calc(100% - 48px); line-height: 1.6; }
.berio-design-system .bp-product a { color: inherit; }
.berio-design-system .bp-product .bm-accordion summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  list-style: none;
  cursor: pointer;
}
.berio-design-system .bp-product .bm-accordion summary::-webkit-details-marker { display: none; }
.berio-design-system .bp-product .bm-accordion details[open] > summary .e-n-accordion-item-title-icon svg { transform: rotate(45deg); }
.berio-design-system .bp-product .bp-nutrition caption { text-align: right; padding-bottom: 16px; }
.berio-design-system .bp-product .bp-nutrition th { text-align: left; font-weight: 400; }
.berio-design-system .bp-product .bp-nutrition td { text-align: right; }
.berio-design-system .bp-product .bm-tasting-attribute { gap: var(--row-gap,20px) var(--column-gap,22px); }
.berio-design-system .bp-product .bm-editorial-photo img { display: block; width: 100%; }
.berio-design-system .bp-product .bm-loop-card .bm-loop-title { position: relative; }
.berio-design-system .bp-product .bp-related-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; --gap: 22px; }
.berio-design-system .bp-product .bm-catalog-card { position: relative; }
.berio-design-system .bp-product .bp-related-grid > article { flex: 0 0 calc((100% - 66px) / 4); scroll-snap-align: start; }

.berio-design-system .bp-product .bp-related-grid::-webkit-scrollbar { display: none; }
.berio-design-system .bp-product .bp-related-carousel { padding-bottom: 0; }
.berio-design-system .bp-product .bp-carousel-controls { display: flex; justify-content: flex-end; gap: 16px; margin-top: 40px; }
.berio-design-system .bp-product .bp-carousel-controls button { display: grid; place-items: center; width: 54px; height: 54px; padding: 0; border: 1px solid currentColor; border-radius: 50%; color: var(--bm-cream); background: transparent; cursor: pointer; }
.berio-design-system .bp-product .bp-carousel-controls button:disabled { opacity: .3; cursor: default; }
.berio-design-system .bp-product .bp-carousel-controls svg { width: 24px; height: 24px; }

/* Recipe product links: constrain different bottle proportions inside the existing frame. */
.berio-design-system .br-recipe .bm-product-reference--inline .bm-bottle-photo { grid-template-rows: minmax(0,1fr); }
.berio-design-system .br-recipe .bm-product-reference--inline .bm-bottle-photo img { min-height: 0; max-height: 100%; }

/* Product profiles without an editorial photograph use the available width. */
.berio-design-system .bp-product .bp-tasting-without-photo { min-height: 0; }
.berio-design-system .bp-product .bp-tasting-without-photo .bm-split { grid-template-columns: minmax(0,1fr); }

/* Il wrapper shortcode occupa la stessa cella del carosello originale. */
.berio-design-system .elementor .bm-oil-range > .elementor-widget-shortcode { grid-area: 1 / 1; min-width: 0; }

/* I link mantengono il box delle immagini originali della home. */
.berio-design-system .bm-oil-carousel .swiper-slide-inner > a:not(.bm-oil-hover-area) { display: contents; }

/* FAQ callout: preserve the existing button treatment with the authored width. */
.berio-design-system.berio-native-page .elementor .bm-callout--assistance .bm-button .elementor-button { min-width: 196px; }
/* About Us contains three fixed desktop entries, unlike the product carousel. */
@media (min-width: 1025px) {
  .berio-design-system .elementor .bm-menu-panel--about .bm-menu-controls { display: none; }
  .berio-design-system .elementor .bm-menu-panel--about .bm-menu-rail { gap: 4%; padding-right: 0; overflow: visible; }
  .berio-design-system .elementor .bm-menu-panel--about .bm-menu-card { flex: 0 0 30.666%; min-width: 0; gap: 5%; }
  .berio-design-system .elementor .bm-menu-panel--about .bm-menu-photo { flex: 0 0 40%; min-width: 0; }
  .berio-design-system .elementor .bm-menu-panel--about .bm-menu-copy { flex: 1; min-width: 0; }
  /* The source artwork has the factory on its left half; crop without a duplicate asset. */
  .berio-design-system .elementor .bm-menu-photo--factory img { object-position: left center; transform: scale(1.05); transform-origin: left center; }
}
/* Native search: shared typography, colors and header/footer; only result geometry is new. */
.berio-design-system .bm-search-page { padding: 200px 50px 100px; }
.berio-design-system .bm-search-page h1 { margin: 0 0 60px; }
.berio-design-system .bm-search-row { display: grid; grid-template-columns: 290px minmax(0,1fr) 32px; gap: 30px; padding: 30px 0; border-top: 1px solid #ede9e033; color: inherit; text-decoration: none; }
.berio-design-system .bm-search-photo { height: 290px; border-radius: 10px; overflow: hidden; background: var(--bm-product-color,#397a46); }
.berio-design-system .bm-search-photo img { width: 100%; height: 100%; object-fit: cover; }
.berio-design-system .bm-search-row--product .bm-search-photo img { object-fit: contain; padding: 24px; }
.berio-design-system .bm-search-tag { display: inline-block; border: 1px solid currentColor; border-radius: 20px; padding: 2px 9px; text-transform: uppercase; letter-spacing: .08em; }
.berio-design-system .bm-search-row h2 { margin: 20px 0 10px; }
.berio-design-system .bm-search-row p { margin: 0; opacity: .8; }
.berio-design-system .bm-search-arrow { width: 32px; height: 32px; background: currentColor; mask: url("vectors/compact-product-arrow.svg") center / contain no-repeat; }
/* Ricerca: paginazione compatta a destra, come nella tavola Search results. */
.berio-design-system .bm-search-pagination { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 40px; }
/* Dimensioni del riferimento: numeri 40 × 44, Back/Next 90 × 44; font condiviso da 14px. */
.berio-design-system .bm-search-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-sizing: border-box;
  min-width: 40px;
  min-height: 44px;
  padding: 10px;
  line-height: 1;
  color: var(--bm-green);
  background: var(--bm-cream);
  border: 1px solid transparent;
  border-radius: 12px;
  text-decoration: none;
}
.berio-design-system .bm-search-pagination :is(.prev,.next) { min-width: 90px; }
.berio-design-system .bm-search-pagination .dots { background: transparent; color: var(--bm-cream); }
/* Ricerca: pagina attiva e hover scuri, con testo chiaro come nel riferimento Figma. */
.berio-design-system .bm-search-pagination :is(.current,a:hover,a:focus-visible) { background: var(--bm-green-dark); color: var(--bm-cream); }
.berio-design-system .bm-search-pagination .bm-page-arrow { width: 6px; height: 6px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
.berio-design-system .bm-search-pagination .prev .bm-page-arrow { transform: rotate(-135deg); }

/* FAQ-specific constraints override Elementor without changing other callouts. */
.berio-design-system.berio-native-page .elementor .bm-callout--assistance > .elementor-widget { max-width: 596px; }
/* Let longer translated/menu copy grow without touching the CTA below it. */
@media (min-width: 1025px) {
  .berio-design-system .elementor .bm-menu-panel--about .bm-menu-copy > .elementor-widget-text-editor { padding-bottom: 20px; }
}

/* FAQ desktop emblem follows the approved central alignment; mobile keeps its flow layout. */
@media (min-width: 768px) {
  .berio-design-system.berio-native-page .elementor .bm-callout--assistance > .bm-callout-emblem { left: max(24px,calc(50% - 653px)); --bm-emblem-offset: 26.8018px; }
  .berio-design-system .bm-callout--questions { --bm-emblem-offset: -13px; }
}

/* Galleria nativa condivisa: stessa ombra del prototipo, nessun embed esterno. */
.berio-design-system .elementor .bm-instagram-carousel {
  filter: drop-shadow(0 8px 7.95px rgb(0 0 0 / .2));
}

/* ========================================================================== 
 * MODULI CONDIVISI — Ninja Forms: campi, consenso, pulsanti e messaggi.
 * Contatti e newsletter riusano colori/raggi del tema; nessun CSS del plugin modificato.
 * Gli nf-field sono involucri del plugin: la griglia è governata dai container.
 * ========================================================================== */
.berio-design-system .bm-ninja-form {
  --bm-field-fill: transparent;
  --bm-field-border: #ede9e04d;
  --bm-form-button-bg: transparent;
  --bm-form-button-ink: var(--bm-cream);
  width: 100%;
}
.berio-design-system .bm-ninja-form :is(.nf-form-content,.nf-field-container,.nf-field-label,.nf-field-element) { margin: 0; padding: 0; max-width: 100%; }
.berio-design-system .bm-ninja-form .nf-form-content nf-fields-wrap { display: grid; gap: 24px 14px; }
.berio-design-system .bm-ninja-form nf-field { display: contents; }
.berio-design-system .bm-ninja-form .nf-field-container { min-width: 0; }
.berio-design-system .bm-ninja-form .nf-input-limit:empty { margin: 0; }
.berio-design-system .bm-ninja-form .field-wrap { display: flex; flex-direction: column; }
.berio-design-system .bm-ninja-form .nf-field-label label { display: block; margin: 0 0 10px; color: inherit; font-weight: 400; line-height: 1.2; }
.berio-design-system .bm-ninja-form .nf-field-element { width: 100%; }
.berio-design-system .bm-ninja-form :where(.nf-field-element) :is(input:not([type=checkbox],[type=submit]),textarea,select) {
  display: block; width: 100%; min-width: 0; height: 40px; margin: 0;
  padding: 8px 16px; border: 1px solid var(--bm-field-border);
  border-radius: var(--bm-radius-control); background: var(--bm-field-fill); color: inherit;
  line-height: 1.4; box-shadow: none;
}
.berio-design-system .bm-ninja-form .nf-field-element textarea { height: 239px; resize: vertical; }
.berio-design-system .bm-ninja-form input::placeholder { color: inherit; opacity: .85; }
.berio-design-system .bm-ninja-form :is(input,textarea,select):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.berio-design-system .bm-ninja-form .checkbox-wrap { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 10px; }
.berio-design-system .bm-ninja-form .checkbox-wrap .nf-field-element { grid-column: 1; grid-row: 1; width: 20px; }
.berio-design-system .bm-ninja-form .checkbox-wrap .nf-field-label { grid-column: 2; grid-row: 1; width: auto; }
.berio-design-system .bm-ninja-form .checkbox-wrap label { margin: 0; line-height: 26px; }
.berio-design-system .bm-ninja-form input[type=checkbox] {
  appearance: none; display: grid; place-items: center; width: 20px; height: 20px;
  margin: 3px 0 0; border: 1px solid #9e9c9266; border-radius: 6px;
  background: var(--bm-cream); color: #454238; cursor: pointer;
}
.berio-design-system .bm-ninja-form input[type=checkbox]::after {
  content: ""; width: 14px; height: 14px; background: currentColor;
  mask: url("vectors/checkbox-check.svg") center / contain no-repeat; opacity: 0;
}
.berio-design-system .bm-ninja-form input[type=checkbox]:checked::after { opacity: 1; }
.berio-design-system .bm-ninja-form .submit-wrap .nf-field-label { display: none; }
.berio-design-system .bm-ninja-form .submit-wrap .nf-field-element { position: relative; }
.berio-design-system .bm-ninja-form input[type=submit] {
  width: 100%; height: 50px; min-height: 50px; padding: 0 48px 0 20px;
  border: 2px solid var(--bm-field-border); border-radius: var(--bm-radius-control);
  color: var(--bm-form-button-ink); background: var(--bm-form-button-bg);
  font-weight: 700; line-height: 1; letter-spacing: 1.2px; text-transform: uppercase; cursor: pointer;
  transition: background-color .2s, color .2s;
}
.berio-design-system .bm-ninja-form .submit-wrap .nf-field-element::after {
  content: ""; position: absolute; right: 20px; top: calc(50% - 6px);
  width: 7.41px; height: 12px; background: var(--bm-form-arrow,var(--bm-form-button-ink));
  mask: url("vectors/a0091c5c166118d6.svg") center / contain no-repeat; pointer-events: none;
}
.berio-design-system .bm-ninja-form input[type=submit]:hover { filter: brightness(1.15); }
.berio-design-system .bm-ninja-form input[type=submit]:disabled { opacity: .6; cursor: wait; }
/* Required states stay active; remove only the duplicated generic legend/asterisk. */
.berio-design-system .bm-ninja-form :is(.nf-form-fields-required,.checkbox-wrap .ninja-forms-req-symbol) { display: none; }
.berio-design-system .bm-ninja-form .ninja-forms-req-symbol { color: inherit; }
.berio-design-system .bm-ninja-form .nf-error-msg { margin: 6px 0 0; color: #ffd0c6; line-height: 1.4; }
.berio-design-system .bm-ninja-form .nf-response-msg:not(:empty) { padding: 20px; border: 1px solid currentColor; border-radius: var(--bm-radius-control); line-height: 1.6; }

/* CONTATTI — sede e richiamo FAQ: misure del frame, isolate dalla altre pagine. */
.berio-design-system.berio-native-page .bm-address-card { width: 900px; }
.berio-design-system.berio-native-page .bm-callout--questions > .elementor-widget-text-editor { width: 596px; max-width: 100%; }
.berio-design-system.berio-native-page .bm-callout--questions .bm-button .elementor-button { min-width: 196px; }

/* CONTATTI — colonna da 596px del frame Figma, campi verdi e azione a destra. */
.berio-design-system .elementor .bm-section--form > .elementor-widget { width: 596px; max-width: 100%; --container-widget-width: 596px; }
.berio-design-system .bm-contact-form { --bm-field-fill: #124c2740; --bm-field-border: #124c2780; --bm-form-button-bg: var(--bm-green); }
.berio-design-system .bm-contact-form .nf-form-content nf-fields-wrap { grid-template-columns: minmax(0,1fr) 140px; row-gap: 16px; }
.berio-design-system .bm-contact-form .nf-field-container { grid-column: 1 / -1; }
.berio-design-system .bm-contact-form :is(.bm-field-instructions,.bm-field-consent) { grid-column: 1; }
.berio-design-system .bm-contact-form .bm-field-consent { margin-top: -10px; }
.berio-design-system .bm-contact-form .bm-field-submit { grid-column: 2; grid-row: 10 / span 2; align-self: start; }
.berio-design-system .bm-contact-form .bm-field-instructions p { margin: 0; line-height: 1.6; }
.berio-design-system .bm-contact-form .nf-error-msg { color: #7b1717; }

/* NEWSLETTER — footer unico: email + pulsante in riga, consenso sotto. */
.berio-design-system .bm-newsletter-form { --bm-field-fill: #0000004d; --bm-field-border: #ebe7dd36; --bm-form-arrow: var(--bm-gold); max-width: 516px; }
.berio-design-system .bm-newsletter-form .nf-form-content nf-fields-wrap { grid-template-columns: minmax(0,1fr) 128px; gap: 14px 20px; }
.berio-design-system .bm-newsletter-form .bm-field-email { grid-column: 1; grid-row: 1; }
.berio-design-system .bm-newsletter-form .bm-field-submit { grid-column: 2; grid-row: 1; padding-top: 30px; }
.berio-design-system .bm-newsletter-form .bm-field-consent { grid-column: 1 / -1; max-width: 390px; }
.berio-design-system .bm-newsletter-form .nf-field-label label { color: var(--bm-muted-light); }
.berio-design-system .bm-newsletter-form .bm-field-email .nf-field-label label { font-size: var(--type-18); }
.berio-design-system .bm-newsletter-form .bm-field-email label { line-height: 20px; }
.berio-design-system .bm-newsletter-form .bm-field-email input { height: 50px; }
.berio-design-system .bm-newsletter-form .bm-field-email .ninja-forms-req-symbol { display: none; }
.berio-design-system .bm-newsletter-form .checkbox-wrap label { font-weight: 500; letter-spacing: .02em; }
.berio-design-system .bm-newsletter-form .checkbox-wrap a { color: var(--bm-gold); }
.berio-design-system .bm-newsletter-form input[type=submit] { font-weight: 400; }



/* Rombo chiaro: riutilizza la stessa sagoma del separatore del sito. */
.berio-design-system .elementor .bm-country-divider::after { content: ""; position: absolute; inset: 0; margin: auto; width: 9px; height: 9px; background: var(--bm-cream); mask: url("vectors/divider-diamond.svg") center / contain no-repeat; }

/* STAGING — nasconde solo l’avviso pubblico WPML; la licenza resta di sviluppo. */
.otgs-development-site-front-end { display: none; }

/* RESPONSIVE COMPOSITIONS */
/* MAPPA RESPONSIVE: ogni @media mantiene la precedenza originale.
 * bm-header/menu/footer: condivisi; bm-history: About; bm-category/product: prodotti;
 * bm-recipe: ricette; bm-section--address/office-contacts/form: Contatti.
 * Le regole dei nuovi moduli sono raggruppate nell’ultima sezione MODULI.
 */
/* Adattamenti tablet/mobile e preferenze di accessibilita. Famiglie e dimensioni sono in style-font.css. */
@media (max-width: 1400px) {
  .berio-design-system .elementor .bm-header {
    grid-template-columns: 120px minmax(0,1fr) 120px;
  }
  .berio-design-system .elementor .bm-header-countries, .berio-design-system .elementor .bm-header-social {
    display: none;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-heading {
    gap: 0;
  }
  .berio-design-system .elementor .bm-products-intro > .elementor-widget-text-editor {
    margin-top: 30px;
  }
}
@media (max-width: 1024px) {
  .berio-design-system .elementor .bm-header {
    display: flex;
    align-items: center;
    min-height: 101px;
    padding: 8px 24px;
  }
  .berio-design-system .elementor .bm-header::before {
    display: none;
  }
  .berio-design-system .elementor .bm-header-center {
    display: contents;
  }
  .berio-design-system .elementor .bm-header-logo {
    width: 150px;
    flex: 1;
    order: 0;
  }
  .berio-design-system .elementor .bm-header-logo img {
    width: 150px;
    height: 78px;
  }
  .berio-design-system .elementor .bm-main-menu {
    padding: 0;
    align-self: center;
    width: auto;
    order: 2;
    position: static;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu {
    position: static;
    --n-menu-title-normal-color-dropdown: var(--bm-green);
    --n-menu-title-active-color-dropdown: var(--bm-green);
    --n-menu-title-color-hover: var(--bm-green);
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-item:nth-child(3) > .e-n-menu-title {
    margin-right: 0;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-wrapper {
    top: 101px;
    left: 0;
    right: 0;
    width: 100%;
    height: calc(100dvh - 101px - var(--wp-admin--admin-bar--height,0px));
    max-height: none;
    overflow-y: auto;
    background: var(--bm-cream);
    color: var(--bm-green);
    padding: 24px 22px 20px;
    transform: none;
    opacity: 0;
    visibility: hidden;
    view-transition-name: berio-menu;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-toggle[aria-expanded="true"] ~ .e-n-menu-wrapper {
    display: flex;
    flex-direction: column;
    opacity: 1;
    visibility: visible;
  }
  .berio-design-system.bm-mobile-menu-open {
    overflow: hidden;
  }
  .berio-design-system.bm-mobile-menu-open::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 19;
    background: var(--bm-cream);
  }
  .berio-design-system.bm-mobile-menu-open .elementor .bm-header {
    background: #00000059;
    backdrop-filter: blur(50px);
  }
  .berio-design-system.bm-mobile-menu-open .elementor .bm-header::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2147483641;
    pointer-events: none;
    box-shadow: 0 4px 10px #0000004d;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-heading {
    gap: 0;
    padding: 0;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu[data-layout="dropdown"] :is(.e-n-menu-item,.e-n-menu-content) {
    width: 100%;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-item > .e-n-menu-title::before {
    display: none;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-title {
    padding: 0;
    height: 76px;
    background: transparent;
    border-top: 1px solid #124c274d;
    justify-content: start;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-heading {
    border-bottom: 1px solid #124c274d;
    flex-shrink: 0;
  }
  .berio-design-system .elementor .bm-main-menu :is(.e-n-menu-title,.e-n-menu-title-container,.e-n-menu-title-text) {
    color: var(--bm-green);
    font-style: normal;
    font-variant: normal;
    font-weight: 700;
    font-stretch: normal;
    line-height: 1.4;
    letter-spacing: 1.6px;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-title-text {
    display: block;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-dropdown-icon {
    width: 32px;
    height: 32px;
    margin: 0 0 0 4px;
    color: var(--bm-green);
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-dropdown-icon svg {
    display: none;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-dropdown-icon::before {
    content: "";
    width: 32px;
    height: 32px;
    background: currentColor;
    mask: url("vectors/menu-chevron.svg") center / contain no-repeat;
  }
  .berio-design-system .elementor .bm-header-meta {
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: 100%;
    margin-top: auto;
    padding-top: 60px;
    flex-shrink: 0;
  }
  .berio-design-system .elementor .bm-header-meta .bm-header-countries {
    display: flex;
    justify-content: center;
    gap: 50px;
    height: 19px;
    width: 100%;
  }
  .berio-design-system .elementor .bm-header-meta .bm-header-countries .elementor-button {
    color: var(--bm-green);
    line-height: 19px;
    letter-spacing: 1.3px;
    gap: 6px;
  }
  .berio-design-system .elementor .bm-header-meta .bm-header-countries .elementor-button::before {
    width: 16px;
    height: 16px;
    background: currentColor;
    mask: url("vectors/menu-globe.svg") center / contain no-repeat;
  }
  .berio-design-system .elementor .bm-header-meta .bm-header-countries .bm-open-spanish .elementor-button::before {
    mask-image: url("vectors/menu-language-flag.svg");
  }
  .berio-design-system .elementor .bm-header-meta .bm-header-countries .elementor-button::after {
    width: 16px;
    height: 16px;
    margin-left: 3px;
    border: 0;
    background: currentColor;
    mask: url("vectors/menu-chevron.svg") center / contain no-repeat;
    transform: rotate(90deg);
  }
  .berio-design-system .elementor .bm-header-meta .bm-header-countries > :first-child {
    position: relative;
  }
  .berio-design-system .elementor .bm-header-meta .bm-header-countries > :first-child::after {
    content: "";
    position: absolute;
    left: calc(100% + 25px);
    top: 1px;
    height: 17px;
    border-left: 1px solid #124c274d;
  }
  .berio-design-system .elementor .bm-menu-social-label {
    width: auto;
    color: var(--bm-green);
    font-style: normal;
    font-variant: normal;
    font-weight: 500;
    font-stretch: normal;
    line-height: 26px;
    letter-spacing: .28px;
  }
  .berio-design-system .elementor .bm-menu-social-label p {
    margin: 0;
  }
  .berio-design-system .elementor .bm-header-meta .bm-header-social {
    position: static;
    display: flex;
    flex-direction: column;
    gap: 17px;
    align-items: center;
  }
  .berio-design-system .elementor .bm-header-meta .bm-header-social :is(i,svg) {
    color: var(--bm-green);
    fill: var(--bm-green);
  }
  .berio-design-system .elementor .bm-header-meta .bm-header-social a[aria-label="YouTube"] {
    width: 19.5px;
  }
  .berio-design-system .elementor .bm-header-meta .bm-header-social a[aria-label="YouTube"] svg {
    width: 19.5px;
  }
  .berio-design-system .elementor .bm-menu-submenu .e-n-menu-item {
    display: none;
  }
  .berio-design-system .elementor .bm-menu-submenu .e-n-menu-item:has(> .e-n-menu-content > .e-active) {
    display: block;
  }
  .berio-design-system .elementor .bm-menu-submenu .e-n-menu-title {
    display: none;
  }
  .berio-design-system .elementor .bm-menu-submenu .e-n-menu-heading {
    border: 0;
  }
  .berio-design-system .elementor .bm-menu-panel {
    box-shadow: none;
    padding: 0;
    gap: 0;
  }
  .berio-design-system .elementor .bm-menu-panel :is(.bm-menu-photo,.bm-menu-copy > .elementor-widget-text-editor,.bm-menu-copy > .elementor-widget-button,.bm-menu-controls) {
    display: none;
  }
  .berio-design-system .elementor .bm-menu-rail {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: visible;
  }
  .berio-design-system .elementor :is(.bm-menu-card,.bm-menu-entry) {
    width: 100%;
    flex: 0 0 auto;
    height: 76px;
    border-top: 1px solid #124c274d;
    padding: 0;
  }
  .berio-design-system .elementor :is(.bm-menu-card,.bm-menu-entry):last-child {
    border-bottom: 1px solid #124c274d;
  }
  .berio-design-system .elementor .bm-menu-card--desktop {
    display: none;
  }
  .berio-design-system .elementor .bm-menu-entry--mobile {
    display: flex;
    align-items: center;
  }
  .berio-design-system .elementor .bm-menu-copy {
    width: 100%;
    padding: 0;
  }
  .berio-design-system .elementor :is(.bm-menu-card,.bm-menu-entry) .elementor-heading-title {
    font-style: normal;
    font-variant: normal;
    font-weight: 700;
    font-stretch: normal;
    line-height: 1.4;
    letter-spacing: 1.6px;
    color: var(--bm-green);
    text-transform: uppercase;
  }
  .berio-design-system .elementor .bm-menu-back {
    display: block;
    width: auto;
    align-self: flex-end;
    margin-top: 25px;
  }
  .berio-design-system .elementor .bm-menu-back .elementor-button {
    padding: 0;
    border: 0;
    color: var(--bm-green);
    background: transparent;
    font-style: normal;
    font-variant: normal;
    font-weight: 700;
    font-stretch: normal;
    line-height: 1.4;
    letter-spacing: 1.6px;
    height: 32px;
  }
  .berio-design-system .elementor .bm-menu-back .elementor-button-content-wrapper {
    gap: 0;
    align-items: center;
  }
  .berio-design-system .elementor .bm-menu-back .elementor-button-icon {
    width: 32px;
    height: 32px;
    overflow: visible;
  }
  .berio-design-system .elementor .bm-menu-back .elementor-button-icon svg {
    width: 32px;
    height: 32px;
  }
  .berio-design-system .elementor .bm-menu-back .elementor-button-icon::after {
    display: none;
  }
  .berio-design-system .elementor .bm-menu-back .elementor-button:is(:hover,:focus-visible) .elementor-button-icon svg {
    transform: none;
  }
  .berio-design-system .elementor .bm-header > .bm-open-search {
    display: block;
    order: 1;
    width: 44px;
  }
  .berio-design-system .elementor .bm-header > .bm-open-search .elementor-button {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
  }
  .berio-design-system .elementor .bm-header > .bm-open-search .elementor-button::before {
    margin: 0;
  }
  .berio-design-system .elementor .bm-header > .bm-open-search .elementor-button-content-wrapper {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
  .berio-design-system .elementor .bm-products-intro > .elementor-widget-text-editor {
    margin-top: 0;
  }
  .berio-design-system .elementor .bm-card-description {
    min-height: 0;
  }
  .berio-design-system .elementor .bm-oil-caption {
    margin-bottom: 48px;
    padding: 28px 48px;
  }
  .berio-design-system .elementor .bm-oil-range .elementor-swiper-button {
    bottom: 100px;
  }
  .berio-design-system .elementor .bm-featured-recipe {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  }
  .berio-design-system .elementor .bm-featured-oil {
    display: flex;
    flex-direction: row;
    align-items: center;
    grid-column: 1 / -1;
    width: 100%;
    max-width: 400px;
  }
  .berio-design-system .elementor .bm-instagram > .bm-button {
    margin-inline: 32px;
  }
  .berio-design-system .elementor .bm-instagram-heading {
    max-width: calc(100% - 64px);
  }
}
@media (max-width: 767px) {
  .berio-design-system .elementor .bm-label-desktop {
    display: none;
  }
  .berio-design-system .elementor .bm-label-mobile {
    display: inline;
  }
  .berio-design-system .elementor .bm-hero, .berio-design-system .elementor .bm-signature {
    aspect-ratio: auto;
  }
  .berio-design-system .elementor .bm-open-film .elementor-button {
    width: 110px;
    height: 110px;
  }
  .berio-design-system .elementor .bm-open-film .elementor-button::after {
    width: 11.2681px;
    height: 13px;
  }
  .berio-design-system .elementor .bm-hero-copy .elementor-heading-title {
    text-wrap: balance;
  }
  .berio-design-system .elementor .bm-products-intro {
    padding-bottom: 36px;
  }
  .berio-design-system .elementor .bm-olive-branch {

    align-self: center;
    margin-top: 16px;
  }
  .berio-design-system .elementor .bm-product-card {
    gap: 22px;
  }
  .berio-design-system .elementor :is(.bm-product-cards,.bm-recipe-rail).bm-rail--adaptive-height {
    height: var(--bm-rail-content-height,auto);
    overflow-y: hidden;
    align-items: flex-start;
  }
  .berio-design-system .elementor .bm-featured-recipe {
    grid-template-columns: minmax(0,1fr);
  }
  .berio-design-system .elementor .bm-featured-oil {
    display: flex;

    align-items: center;
  }
  .berio-design-system .elementor .bm-oil-caption {
    margin-bottom: 24px;

    
  }
  .berio-design-system .elementor .bm-oil-range .elementor-swiper-button {
    bottom: auto;
    top: 35%;
  }
  .berio-design-system .elementor .bm-oil-range .elementor-swiper-button-prev {
    left: 20px;
  }
  .berio-design-system .elementor .bm-oil-range .elementor-swiper-button-next {
    right: 20px;
  }
  .berio-design-system .elementor .elementor-widget.bm-instagram-carousel,
  .berio-design-system .elementor .elementor-widget.bm-instagram-feed {
    width: 100%;
    margin-inline: 0;
  }
  .berio-design-system .elementor .bm-instagram-heading::after {
    display: none;
  }
  .berio-design-system .elementor .bm-dialog {
    padding: 70px 24px 32px;
    width: calc(100% - 24px);
  }
  .berio-design-system .elementor .bm-film-dialog {
    padding: 0;
  }
  .berio-design-system .elementor :is(.bm-film-dialog,.bm-search-dialog,.bm-country-dialog) {
    padding: 0;
    width: 100%;
  }
  .berio-design-system .elementor :is(.bm-film-dialog,.bm-search-dialog,.bm-country-dialog) .bm-dialog-close {
    top: 20px;
    right: 28px;
  }
  .berio-design-system .elementor .bm-film-dialog video {
    width: calc(100% - 40px);
    max-height: calc(100dvh - 120px);
    margin-top: 80px;
  }
  .berio-design-system .elementor .bm-search-content {
    margin-top: max(90px,calc(50dvh - 308px));
  }
  .berio-design-system .elementor .bm-search-content > img {
    width: 302px;
    height: 85px;
    margin-bottom: 41px;
  }
  .berio-design-system .elementor .bm-search-dialog h2 {
    line-height: 1.15;
    margin: 0 0 23px;
    text-box-trim: none;
  }
  .berio-design-system .elementor .bm-search-dialog form {
    flex-direction: column;
    gap: 19.5px;
    padding: 0;
    margin: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .berio-design-system .elementor .bm-search-dialog input {
    height: 68px;
    padding: 0 14px;
    border: 12px solid #fff;
    border-radius: 100px;
    background: #e0e0e0;
  }
  .berio-design-system .elementor .bm-search-dialog form button {
    flex: none;
    align-self: end;
    width: 131px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .berio-design-system .elementor * {
    scroll-behavior: auto;
    transition-duration: calc(0s * var(--bm-motion-factor,1));
  }
  .berio-design-system .elementor .elementor-background-video-container {
    display: none;
  }
}
@media (max-width: 767px) {
  .berio-design-system .elementor .bm-shield-preview,
  .berio-design-system .elementor .bm-shield-photo::after {
    display: none;
  }
}
@media (max-width: 1024px) {
  .berio-design-system .elementor .bm-category-carousel {
    padding-bottom: 52px;
    align-self: center;
  }
  .berio-design-system .elementor .bm-category-carousel .swiper-pagination {
    display: block;
    bottom: -52px;
    line-height: 9px;
  }
  .berio-design-system .elementor .bm-category-carousel .swiper-pagination-bullet {
    width: 9px;
    height: 9px;
    margin-inline: 11px;
    background: var(--bm-cream);
    opacity: .3;
  }
  .berio-design-system .elementor .bm-category-carousel .swiper-pagination-bullet:first-child {
    margin-left: 0;
  }
  .berio-design-system .elementor .bm-category-carousel .swiper-pagination-bullet:last-child {
    margin-right: 0;
  }
  .berio-design-system .elementor .bm-category-carousel .swiper-pagination-bullet-active {
    opacity: 1;
  }
}
@media (max-width: 767px) {
  .berio-design-system .bm-desktop-line-break {
    display: none;
  }
}
@media (max-width: 1024px) {
  .berio-design-system :where(.bm-main) :is(.bm-detail-intro--editorial,.bm-panel--tasting,.bm-recipe-method) {
    min-height: 0;
    --padding-top: 80px;
    --padding-bottom: 80px;
  }
  .berio-design-system :where(.bm-main) .bm-detail-intro--editorial {
    --padding-left: 24px;
    --padding-right: 24px;
  }
  .berio-design-system :where(.bm-main) .bm-detail-intro--editorial:is(.bm-detail-intro--product,.bm-detail-intro--recipe) {
    min-height: 0;
    --padding-top: 180px;
    --padding-bottom: 80px;
    --padding-left: 24px;
    --padding-right: 24px;
  }
  .berio-design-system :where(.bm-main) .bm-detail-intro--editorial.bm-detail-intro--product .bm-bottle-photo img {
    height: 500px;
  }
  .berio-design-system :where(.bm-main) .bm-detail-intro--editorial.bm-detail-intro--recipe {
    grid-template-columns: minmax(0,1fr);
  }
  .berio-design-system :where(.bm-main) :is(.bm-panel--tasting,.bm-recipe-method) .bm-editorial-photo img {
    height: auto;
  }
  .berio-design-system :where(.bm-main) .bm-photo-crop--tasting img {
    transform: none;
  }
  .berio-design-system :where(.bm-main) .bm-recipe-method > .bm-split {
    grid-template-columns: minmax(0,1fr) minmax(0,1.4fr);
    --gap: 32px;
  }
  .berio-design-system :where(.bm-main) .bm-recipe-method > .bm-split > .bm-editorial-photo img {
    height: auto;
    max-height: 650px;
  }
  .berio-design-system :where(.bm-main) :is(.bm-recipe-ingredients > .bm-split,.bm-product-reference--inline) {
    grid-template-columns: minmax(0,1fr);
  }
  .berio-design-system :where(.bm-main) .bm-section--office-contacts {
    margin-block: 0;
  }
  .berio-design-system :where(.bm-main) :is(.bm-section--office-contacts,.bm-section--form,.bm-section--accordion,.bm-product-facts,.bm-recipe-ingredients) {
    min-height: 0;
    --padding-top: 80px;
    --padding-bottom: 80px;
  }
  .berio-design-system :where(.bm-main) .bm-section--accordion + .bm-section--accordion {
    margin-top: 0;
  }
  .berio-design-system :where(.bm-main) .bm-grid--three {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .berio-design-system :where(.bm-main) .bm-catalog-card--split {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .berio-design-system :where(.bm-main) .bm-section--category-list {
    --padding-right: 20px;
    --padding-left: 20px;
  }
  .berio-design-system :where(.bm-main) .bm-category-list {
    max-width: 350px;
    --gap: 35px;
  }
  .berio-design-system :where(.bm-main) .bm-category-card--horizontal {
    grid-template-columns: 1fr;
    min-height: var(--min-height,0px);
    --padding-top: 20px;
    --padding-right: 20px;
    --padding-bottom: 35px;
    --padding-left: 20px;
    --gap: 25px;
    box-shadow: 0 8px 15.9px rgb(0 0 0 / .2);
  }
  .berio-design-system :where(.bm-main) .bm-category-card--horizontal .bm-editorial-photo {
    height: 316px;
  }
  .berio-design-system :where(.bm-main) .bm-category-card--horizontal .bm-editorial-photo img {
    width: calc(100% + 6px);
    max-width: none;
    height: 316px;
    aspect-ratio: auto;
    object-position: center;
    margin-left: -3px;
    transform: none;
  }
  .berio-design-system :where(.bm-main) .bm-photo-crop img {
    transform: none;
  }
  .berio-design-system :where(.bm-main) .bm-category-card--horizontal .elementor-widget-heading {
    --bm-title-optical-y: 3px;
    padding-right: 24px;
    padding-bottom: 25px;
  }
  .berio-design-system :where(.bm-main) .bm-category-card--horizontal .elementor-widget-heading::after {
    left: -3px;
    right: -3px;
  }
  .berio-design-system :where(.bm-main) .bm-category-card--horizontal .elementor-widget-button {
    position: absolute;
    top: 12px;
  }
  .berio-design-system :where(.bm-main) .bm-category-card--horizontal .bm-card-copy {
    position: relative;
    --gap: 25px;
  }
  .berio-design-system .elementor .bm-category-card--horizontal .bm-text-body {
    width: calc(100% + 2px);
    max-width: none;
    align-self: center;
    margin-inline: -1px;
  }
  .berio-design-system :where(.bm-main) .bm-feature-panel {
    min-height: 0;
    --padding-top: 80px;
    --padding-bottom: 80px;
  }
  .berio-design-system :where(.bm-main) .bm-feature-panel > .bm-split {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    --gap: 32px;
  }
  .berio-design-system :where(.bm-main) .bm-feature-panel .bm-editorial-photo img {
    height: auto;
  }
  .berio-design-system :where(.bm-main) .bm-section--catalogue {
    --padding-top: 80px;
    --padding-bottom: 80px;
  }
  .berio-design-system :where(.bm-main) .bm-catalog-card--oil {
    min-height: var(--min-height,0px);
  }
  .berio-design-system :where(.bm-main) .bm-catalog-card--oil .bm-bottle-photo {
    min-height: 350px;
    padding: 24px;
  }
  .berio-design-system :where(.bm-main) .bm-catalog-card--oil .bm-bottle-photo img {
    height: 280px;
    top: 0;
  }
  .berio-design-system :where(.bm-main) .bm-signature-photo > .bm-editorial-photo img {
    height: 550px;
  }
  .berio-design-system :where(.bm-main) .bm-section--values {
    --padding-top: 80px;
    --padding-bottom: 80px;
  }
  .berio-design-system :where(.bm-main) .bm-timeline {
    --gap: 80px;
    --padding-top: 40px;
    --padding-bottom: 80px;
  }
  .berio-design-system :where(.bm-main) .bm-timeline .bm-history-entry {
    --gap: 48px;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  }
  .berio-design-system :where(.bm-main) .bm-timeline .bm-history-entry::after {
    top: -40px;
  }
  .berio-design-system :where(.bm-main) .bm-history-photo img {
    height: 340px;
  }
}
@media (max-width: 767px) {
  .berio-design-system :where(.bm-main) .bm-section--catalogue {
    --padding-left: 20px;
    --padding-right: 20px;
  }
  .berio-design-system :where(.bm-main) .bm-grid.bm-oil-grid {
    --gap: 35px;
  }
  .berio-design-system :where(.bm-main) .bm-catalog-card--oil {
    --padding-top: 20px;
    --padding-right: 20px;
    --padding-bottom: 20px;
    --padding-left: 20px;
    --gap: 25px;
  }
  .berio-design-system :where(.bm-main) .bm-catalog-card--oil .bm-bottle-photo {
    min-height: 316px;
    padding: 17px;
    margin-bottom: 0;
  }
  .berio-design-system :where(.bm-main) .bm-catalog-card--oil .bm-bottle-photo img {
    height: 282px;
  }
  .berio-design-system :where(.bm-main) .bm-catalog-card--oil .elementor-widget-heading {
    margin-bottom: -15px;
  }
  .berio-design-system :where(.bm-main) .bm-catalog-card--oil .bm-oil-type {
    padding-bottom: 25px;
  }
  .berio-design-system :where(.bm-main) .bm-catalog-card--oil .bm-text-lead {
    line-height: 1.6;
  }
  .berio-design-system :where(.bm-main) .bm-catalog-card--oil .bm-button .elementor-button {
    width: 100%;
    min-height: 60px;
    letter-spacing: 1.4px;
  }
  .berio-design-system :where(.bm-main) :is(.bm-section-heading,.bm-product-reference--inline) {
    grid-template-columns: minmax(0,1fr);
    min-height: 0;
  }
  .berio-design-system :where(.bm-main) .bm-recipe-method > .bm-split {
    grid-template-columns: minmax(0,1fr);
  }
  .berio-design-system :where(.bm-main) .bm-recipe-share {
    flex-wrap: wrap;
  }
  .berio-design-system :where(.bm-main) .bm-callout {
    min-height: 0;
    --padding-top: 80px;
    --padding-bottom: 80px;
  }
  .berio-design-system :where(.bm-main) .bm-callout > .bm-callout-emblem {
    left: -80px;
    max-width: none;
  }
  .berio-design-system :where(.bm-main) .bm-section--form {
    --gap: 24px;
  }
  .berio-design-system :where(.bm-main) .bm-section--recipe-links {
    --padding-top: 80px;
    --padding-bottom: 80px;
  }
  .berio-design-system :where(.bm-main) .bm-section--related-products {
    --padding-top: 148.8873px;
    --padding-bottom: 69px;
    --padding-left: 14px;
    --padding-right: 14px;
    --gap: 39px;
  }
  .berio-design-system :where(.bm-main) .bm-section--related-products::before {
    top: 69px;
    left: 20px;
    right: 21.1127px;
    height: 10.8873px;
    mask-image: url("vectors/section-divider-mobile.svg");
  }
  .berio-design-system :where(.bm-main) .bm-section--related-products > .elementor-widget-heading {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }
  .berio-design-system :where(.bm-main) .bm-catalog-card--compact {
    min-height: 504px;
    --padding-top: 20px;
    --padding-bottom: 20px;
    --padding-left: 20px;
    --padding-right: 20px;
  }
  .berio-design-system :where(.bm-main) .bm-catalog-card--compact .bm-bottle-photo {
    min-height: 316px;
    padding: 17px;
    margin-bottom: 15px;
  }
  .berio-design-system :where(.bm-main) .bm-catalog-card--compact .elementor-widget-heading {
    padding-block: 0;
  }
  .berio-design-system :where(.bm-main) .bm-catalog-card--compact .bm-bottle-photo img {
    height: 282px;
  }
  .berio-design-system :where(.bm-main) .bm-catalog-card--compact .bm-compact-product-arrow {
    right: 12px;
    top: 361px;
  }
  .berio-design-system :where(.bm-main) .bm-related-products-carousel {
    padding-bottom: 49px;
    max-width: 100%;
    margin-inline: auto;
    overflow: clip;
  }
  .berio-design-system :where(.bm-main) .bm-related-products-carousel .elementor-swiper-button {
    display: none;
  }
  .berio-design-system :where(.bm-main) .bm-related-products-carousel .swiper-pagination {
    display: block;
    bottom: 0;
  }
  .berio-design-system .elementor .bm-related-products-carousel .swiper-pagination-bullet {
    width: 9px;
    height: 9px;
    background: var(--bm-cream);
    opacity: .3;
  }
  .berio-design-system .elementor .bm-related-products-carousel .swiper-pagination-bullet-active {
    opacity: 1;
  }
  .berio-design-system :where(.bm-main) :is(.bm-split,.bm-grid,.bm-catalog-grid,.bm-detail-columns,.bm-detail-intro,.bm-history-entry) {
    grid-template-columns: minmax(0,1fr);
    --gap: 32px;
  }
  .berio-design-system :where(.bm-main) .bm-split--reverse > :first-child {
    order: 0;
  }
  .berio-design-system :where(.bm-main) .bm-page-hero {
    --padding-top: 180px;
    --padding-bottom: 48px;
    min-height: var(--min-height,460px);
  }
  .berio-design-system :where(.bm-main) .bm-page-heading {
    --padding-top: 160px;
  }
  .berio-design-system :where(.bm-main) .bm-hero-breadcrumb {
    top: 120px;
    max-width: calc(100% - 48px);
  }
  .berio-design-system :where(.bm-main) .bm-hero-seal {
    display: none;
  }
  .berio-design-system .elementor .bm-hero-seal--mobile-visible {
    display: block;
    left: 21px;
    top: 181px;
    width: 229.260605px;
    opacity: .5;
  }
  .berio-design-system .elementor .bm-page-hero--brand::before {
    top: 41.074856%;
    background: linear-gradient(180deg,#0000,rgb(0 0 0 / .58));
  }
  .berio-design-system :where(.bm-main) .bm-intro--ornament {
    --padding-top: 64px;
    --padding-bottom: 48px;
  }
  .berio-design-system .elementor .bm-intro-ornament img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  .berio-design-system .elementor .bm-intro--dish .bm-intro-ornament img {
    aspect-ratio: 264 / 170;
    object-fit: cover;
  }
  .berio-design-system .elementor .bm-intro-ornament--mobile-mirrored {
    width: var(--container-widget-width,274px);
  }
  .berio-design-system .elementor .bm-intro-ornament--mobile-mirrored img {
    width: 100%;
    height: auto;
    aspect-ratio: 274 / 145;
    object-fit: fill;
    transform: scaleX(-1);
  }
  .berio-design-system :where(.bm-main) .bm-recipe-inspiration {
    min-height: var(--min-height,600px);
  }
  .berio-design-system :where(.bm-main) .bm-recipe-inspiration::before {
    top: 21.25%;
  }
  .berio-design-system :where(.bm-main) .bm-recipe-inspiration > .bm-text-kicker {
    margin-bottom: -25px;
  }
  .berio-design-system .elementor :is(.bm-recipe-inspiration,.bm-shield-gallery) > .bm-button .elementor-button {
    width: 100%;
    min-height: 60px;
  }
  .berio-design-system :where(.bm-main) .bm-shield-gallery {
    min-height: 0;
    --padding-top: 64px;
    --padding-bottom: 104px;
  }
  .berio-design-system :where(.bm-main) .bm-shield-gallery::before {
    top: 398.5px;
    height: 165.483154px;
    background-size: 2447px 165.483154px;
  }
  .berio-design-system :where(.bm-main) .bm-shield-card img {
    height: 452.17395px;
    max-height: none;
    object-fit: cover;
  }
  .berio-design-system :where(.bm-main) .bm-shield-carousel :is(.elementor-swiper-button-prev,.elementor-swiper-button-next) {
    display: none;
  }
  .berio-design-system .elementor .bm-shield-carousel > .swiper-pagination {
    top: calc(100% + 130px);
  }
  .berio-design-system :where(.bm-main) .bm-detail-intro--product {
    min-height: 0;
  }
  .berio-design-system :where(.bm-main) .bm-detail-intro--product .bm-bottle-photo img {
    height: 360px;
  }
  .berio-design-system :where(.bm-main) .bm-detail-columns {
    --padding-top: 64px;
    --padding-bottom: 64px;
  }
  .berio-design-system :where(.bm-main) .bm-accordion :is(th,td) {
    padding: 12px 8px;
  }
  .berio-design-system :where(.bm-main) .bm-section--recipe-catalogue {
    --padding-top: 64px;
    --padding-bottom: 80px;
    --gap: 64px;
  }
  .berio-design-system :where(.bm-main) .bm-filter-option {
    width: calc(50% - 4px);
  }
  .berio-design-system :where(.bm-main) .bm-filter-option select {
    padding-left: 30px;
    padding-right: 26px;
  }
  .berio-design-system :where(.bm-main) .bm-filter-option::before {
    left: 10px;
  }
  .berio-design-system :where(.bm-main) .bm-filter-option::after {
    right: 14px;
  }
  .berio-design-system :where(.bm-main) .bm-recipe-search-fields {
    gap: 8px;
    padding: 12px;
  }
  .berio-design-system :where(.bm-main) .bm-recipe-search button {
    padding-inline: 16px;
  }
  .berio-design-system :where(.bm-main) .bm-recipe-filters .bm-filter-caption {
    margin-top: 48px;
  }
  .berio-design-system :where(.bm-main) .bm-feature-panel > .bm-split {
    grid-template-columns: minmax(0,1fr);
  }
  .berio-design-system :where(.bm-main) .bm-timeline .bm-history-entry {
    grid-template-columns: minmax(0,1fr);
    --gap: 48px;
    width: min(var(--width,315px),calc(100% - 35.887252px));
    align-self: flex-end;
  }
  .berio-design-system :where(.bm-main) .bm-timeline::before {
    left: 5.443627px;
    bottom: 60.35254px;
  }
  .berio-design-system :where(.bm-main) .bm-timeline .bm-history-entry::after {
    left: -35.887252px;
    top: 26.1815px;
    width: 7.698452px;
    height: 7.698452px;
    border: 0;
    background: var(--bm-cream);
  }
  .berio-design-system :where(.bm-main) .bm-history-entry--copy-first-mobile > :first-child {
    order: 2;
  }
  .berio-design-system :where(.bm-main) .bm-history-photo img {
    height: auto;
    aspect-ratio: 315 / 273;
    max-height: none;
  }
  .berio-design-system :where(.bm-main) .bm-history-photo--collage img {
    height: 273px;
  }
  .berio-design-system :where(.bm-main) .bm-history-label {
    position: relative;
    color: var(--bm-gold);
  }
  .berio-design-system :where(.bm-main) .bm-history-label::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -15px;
    border-top: 1px solid #ede9e04d;
  }
  .berio-design-system :where(.bm-main) .bm-section--values > .bm-grid {
    --gap: 24px;
  }
  .berio-design-system :where(.bm-main) .bm-signature-photo > .bm-editorial-photo img {
    height: 585px;
  }
  .berio-design-system :where(.bm-main) .bm-signature-caption {
    bottom: 48.4107px;
    --gap: 49.8145px;
    left: 1px;
    right: 0;
  }
  /* Mantiene la misura mobile del widget Elementor. */
  .berio-design-system .elementor .bm-signature-caption > .bm-signature-mark {
    width: var(--container-widget-width,349px);
    max-width: 100%;
  }
  .berio-design-system :where(.bm-main) .bm-signature-caption > .elementor-widget-heading::before {
    left: 0;
    top: -29.443627px;
    width: 100%;
    transform: none;
    mask-image: url("vectors/section-divider-mobile.svg");
  }
  .berio-design-system .elementor .bm-value-card.elementor-widget-icon-box .elementor-icon-box-wrapper {
    row-gap: 20.8284px;
  }
  .berio-design-system :where(.bm-main) .bm-value-card .elementor-icon-box-description {
    line-height: 1.6;
    letter-spacing: .02em;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
    color: var(--bm-muted-light);
  }
  .berio-design-system :where(.bm-main) .bm-feature-panel--photo-before-action .bm-stack {
    display: contents;
  }
  .berio-design-system :where(.bm-main) .bm-feature-panel--photo-before-action :is(.elementor-widget-heading,.elementor-widget-text-editor) {
    justify-self: center;
  }
  .berio-design-system :where(.bm-main) .bm-feature-panel--photo-before-action .bm-editorial-photo {
    order: 3;
    justify-self: center;
  }
  .berio-design-system :where(.bm-main) .bm-feature-panel--photo-before-action .bm-editorial-photo img {
    height: 347px;
  }
  .berio-design-system :where(.bm-main) .bm-feature-panel--photo-before-action .bm-button {
    order: 4;
    justify-self: center;
  }
  .berio-design-system :where(.bm-main) .bm-feature-panel--photo-before-action .bm-button .elementor-button {
    width: 100%;
    min-height: 60px;
  }
  .berio-design-system :where(.bm-main) .bm-section--brand-mark {
    --padding-top: 64px;
    --padding-bottom: 64px;
  }
  .berio-design-system :where(.bm-main) .bm-story-emblem img {
    height: auto;
  }
  .berio-design-system :where(.bm-main) .bm-page-heading--legal {
    --padding-top: 180px;
    --padding-bottom: 64px;
  }
  .berio-design-system :where(.bm-main) .bm-prose--legal {
    --padding-top: 64px;
    --padding-bottom: 80px;
    --gap: 48px;
  }
  .berio-design-system :where(.bm-main) .bm-prose--legal > .elementor-widget-heading {
    margin-bottom: -28px;
  }
  .berio-design-system :where(.bm-main) .bm-section > .bm-detail-columns {
    --padding-left: 24px;
    --padding-right: 24px;
  }
}
@media (max-width: 480px) {
  .berio-design-system :where(.bm-main) .bm-filter-option {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .berio-design-system .elementor *, .berio-design-system .elementor *::before, .berio-design-system .elementor *::after {
    animation: none;
    transition-duration: calc(0s * var(--bm-motion-factor,1));
    scroll-behavior: auto;
  }
}
@media (max-width: 767px) {
  .berio-design-system .elementor :is(.bm-stack,.bm-grid,.bm-split,.bm-timeline,.bm-signature-photo) {
    max-width: 100%;
    min-width: 0;
  }
  .berio-design-system .elementor .bm-signature-caption {
    max-width: calc(100% - 1px);
  }
  .berio-design-system .elementor .bm-photo-crop--products-still-life {
    position: relative;
    aspect-ratio: 350 / 315;
  }
  .berio-design-system .elementor .bm-photo-crop--products-still-life img {
    position: absolute;
    left: -23.142857%;
    top: -5.401786%;
    width: 142.285714%;
    max-width: none;
    height: 111.111111%;
    object-fit: fill;
    transform: none;
  }
  .berio-design-system .elementor .bm-not-found {
    --padding-top: 136px;
    --padding-bottom: 34px;
    --padding-left: 20px;
    --padding-right: 20px;
  }
  .berio-design-system .elementor .bm-not-found-panel {
    background-size: 198.85714% auto;
    background-position: 48.26589% 34.375%;
    min-height: 610px;
    --padding-top: 280px;
    --padding-bottom: 24px;
    --padding-left: 22px;
    --padding-right: 22px;
    --gap: 30px;
    justify-content: space-between;
  }
  .berio-design-system .elementor .bm-not-found-panel .bm-divider {
    position: absolute;
    top: 244px;
    left: 16px;
    width: calc(100% - 32px);
  }
  .berio-design-system .elementor .bm-not-found-title h1 {
    line-height: 1.0072727;
  }
  /* 404 mobile: Oops su una riga dedicata, come nel frame Figma. */
  .berio-design-system .elementor .bm-not-found-title h1 em {
    display: block;
  }
  .berio-design-system .elementor .bm-not-found-panel .bm-button {
    width: 100%;
  }
  .berio-design-system .elementor .bm-not-found-panel .elementor-button {
    display: flex;
    min-height: 60px;
    justify-content: center;
  }
  .berio-design-system .elementor .bm-mobile-only {
    display: block;
  }
  .berio-design-system :where(.bm-main) .bm-divider-end {
    --bm-divider-height: 10.8873px;
    --bm-divider-mask: url("vectors/section-divider-mobile.svg");
    --bm-divider-left: 20px;
    --bm-divider-right: 21.1127px;
  }
  .berio-design-system :where(.bm-main) .bm-accordion--compact-labels .e-n-accordion-item-title {
    letter-spacing: 1.2px;
  }
  .berio-design-system :where(.bm-main) .bm-accordion--compact-labels .e-n-accordion-item-title-icon {
    margin-right: 14px;
  }
  .berio-design-system .elementor .bm-callout--emblem-flow {
    justify-content: flex-start;
    margin-top: var(--margin-top,0px);
  }
  .berio-design-system .elementor .bm-callout--emblem-flow .bm-callout-emblem {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: min(388px,100vw);
    --container-widget-width: 388px;
    height: auto;
    aspect-ratio: 388 / 294;
    max-width: none;
    overflow: hidden;
    flex-shrink: 0;
  }
  .berio-design-system :where(.elementor) .bm-mobile-font-thin .elementor-heading-title {
    font-weight: 100;
  }
  .berio-design-system :where(.elementor) .bm-mobile-font-regular :is(.elementor-heading-title,.elementor-icon-box-title) {
    font-weight: 400;
  }
  .berio-design-system :where(.elementor) .bm-mobile-leading-card .elementor-heading-title {
    line-height: 1.13;
  }
  .berio-design-system :where(.elementor) .bm-mobile-leading-heading .elementor-heading-title {
    line-height: var(--bm-heading-leading);
  }
  .berio-design-system :where(.elementor) .bm-leading-hero.bm-mobile-leading-heading .elementor-heading-title {
    line-height: var(--bm-heading-leading);
  }
  .berio-design-system :where(.elementor) .bm-inline-leading-tight .elementor-heading-title em.bm-mobile-line {
    line-height: inherit;
  }
  .berio-design-system :where(.elementor) .bm-mobile-text-italic {
    font-style: italic;
    font-weight: 400;
    line-height: 1;
  }
  .berio-design-system :where(.elementor) .bm-mobile-text-roman {
    font-style: normal;
    font-weight: 100;
    line-height: var(--bm-heading-leading);
  }
  .berio-design-system :where(.elementor) .bm-mobile-leading-title .elementor-heading-title {
    line-height: 1.2;
  }
  .berio-design-system :where(.elementor) .bm-mobile-type-section .elementor-heading-title {
    line-height: 1.15;
  }
  .berio-design-system :where(.elementor) .bm-mobile-type-section-medium .elementor-heading-title {
    line-height: 1.2;
  }
  .berio-design-system :where(.elementor) .bm-mobile-type-untrim .elementor-heading-title {
    text-box-trim: none;
  }
  .berio-design-system :where(.elementor) .bm-mobile-font-light .elementor-heading-title {
    font-weight: 300;
  }
  .berio-design-system :where(.elementor) .bm-mobile-text-tracked {
    letter-spacing: .02em;
  }
  .berio-design-system :where(.elementor) .bm-mobile-text-tracked .elementor-heading-title {
    letter-spacing: .02em;
  }
  .berio-design-system :where(.elementor) .bm-mobile-leading-body.elementor-widget-text-editor {
    line-height: var(--bm-body-leading);
  }
  .berio-design-system :where(.elementor) .bm-mobile-leading-compact.elementor-widget-text-editor {
    line-height: 1.4;
  }
  .berio-design-system :where(.elementor) .bm-mobile-leading-airy.elementor-widget-text-editor {
    line-height: 1.9;
  }
  .berio-design-system :where(.elementor) .bm-mobile-text-trim p {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
  .berio-design-system :where(.elementor) .bm-mobile-text-start {
    text-align: left;
  }
  .berio-design-system :where(.bm-main) .bm-mobile-text-start .bm-values-introduction {
    text-align: inherit;
  }
  .berio-design-system .elementor .bm-mobile-hero-gradient-bottom::before {
    top: 41.074856%;
    height: auto;
    background: linear-gradient(180deg,#0000,rgb(0 0 0 / .58));
  }
  .berio-design-system :where(.elementor) .bm-mobile-leading-airy {
    line-height: 1.9;
  }
  .berio-design-system :where(.elementor) .bm-mobile-lowercase {
    text-transform: lowercase;
  }
  .berio-design-system :where(.bm-main) .bm-detail-intro--editorial.bm-detail-intro--product {
    --padding-top: 165px;
    --padding-bottom: 63px;
    --padding-left: 5px;
    --padding-right: 5px;
    --gap: 0px;
    overflow: clip;
  }
  .berio-design-system :where(.bm-main) .bm-detail-intro--editorial.bm-detail-intro--product::before {
    z-index: 2;
    top: 82px;
    left: calc(50% - 917px);
    right: auto;
    width: 1845px;
    height: 125px;
    background-size: 100% 100%;
    transform: scaleY(-1);
  }
  .berio-design-system :where(.bm-main) .bm-detail-intro--editorial.bm-detail-intro--product .bm-bottle-photo {
    height: 632px;
  }
  .berio-design-system :where(.bm-main) .bm-detail-intro--editorial.bm-detail-intro--product .bm-bottle-photo img {
    height: 577.058838px;
    position: relative;
    top: -16.029411px;
  }
  .berio-design-system .elementor .bm-detail-intro--editorial.bm-detail-intro--product .bm-bottle-photo::before {
    width: 571px;
    aspect-ratio: 571 / 687;
    top: 245.5px;
  }
  .berio-design-system :where(.bm-main) .bm-detail-intro--editorial.bm-detail-intro--product .bm-detail-copy {
    padding-inline: 15px;
    --gap: 35px;
  }
  .berio-design-system :where(.bm-main) .bm-detail-intro--editorial.bm-detail-intro--product .bm-detail-copy > .bm-text-kicker {
    margin-bottom: -25px;
  }
  .berio-design-system :where(.bm-main) .bm-detail-intro--editorial.bm-detail-intro--product :is(.bm-detail-copy > .bm-button,.bm-hero-breadcrumb) {
    display: none;
  }
  .berio-design-system :where(.bm-main) .bm-product-facts {
    --padding-top: 69px;
    --padding-bottom: 69px;
    --padding-left: 20px;
    --padding-right: 20px;
    --gap: 45px;
  }
  .berio-design-system :where(.bm-main) .bm-product-facts > .elementor-widget-heading {
    padding-block: 0;
  }
  .berio-design-system :where(.bm-main) .bm-product-facts .e-n-accordion-item-title {
    padding-inline: 3px;
  }
  .berio-design-system :where(.bm-main) .bm-product-facts .e-n-accordion-item-title-icon {
    margin-right: 14px;
  }
  .berio-design-system :where(.bm-main) .bm-product-facts .e-n-accordion-item::before,
  .berio-design-system :where(.bm-main) .bm-product-facts .e-n-accordion-item:last-child::after {
    left: 3px;
    right: 3px;
  }
  .berio-design-system :where(.elementor) .bm-leading-hero .elementor-heading-title {
    line-height: 1.2;
  }
  .berio-design-system .elementor .bm-header {
    min-height: 101px;
    padding: 0 10px;
    display: grid;
    grid-template-columns: 44px minmax(0,1fr) 44px;
  }
  .berio-design-system .elementor .bm-header-logo {
    position: absolute;
    grid-area: auto;
    top: 35px;
    left: 50%;
    transform: translateX(-50%);
    width: 128px;
  }
  .berio-design-system .elementor .bm-header-logo img {
    width: 128px;
    height: 66px;
  }
  .berio-design-system .elementor .bm-header > .bm-open-search {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    margin-top: 10px;
  }
  .berio-design-system .elementor .bm-main-menu {
    grid-column: 3;
    grid-row: 1;
    align-self: start;
    margin-top: 24.5px;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-toggle {
    width: 44px;
    height: 44px;
    background: transparent;
    transform: translateX(-10px);
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-toggle::before {
    content: "";
    width: 30px;
    height: 27px;
    background: var(--bm-cream);
    mask: url("vectors/menu-toggle-mobile.svg") center / contain no-repeat;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-toggle .e-n-menu-toggle-icon {
    display: none;
  }
  .berio-design-system.bm-mobile-menu-open .elementor .bm-main-menu {
    margin-top: 14.5px;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-toggle[aria-expanded="true"] {
    display: grid;
    place-items: center;
  }
  .berio-design-system .elementor .bm-main-menu .e-n-menu-toggle[aria-expanded="true"]::before {
    mask-image: url("vectors/menu-close.svg");
  }
  .berio-design-system .elementor .bm-header > .bm-open-search .elementor-button::before {
    width: 40px;
    height: 40px;
  }
  .berio-design-system .elementor .bm-button--chevron .elementor-button {
    min-height: 60px;
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
    letter-spacing: 1.4px;
    border-width: 2px;
    border-radius: 15px;
  }
  .berio-design-system .elementor .bm-button--light.bm-button--chevron .elementor-button {
    border-color: #ebe7dd4d;
  }
  .berio-design-system .elementor .bm-button--chevron .elementor-button-content-wrapper {
    width: 100%;
    justify-content: center;
  }
  .berio-design-system .elementor .bm-button.bm-button--chevron .elementor-button-icon {
    position: absolute;
    right: 25px;
  }

  .berio-design-system .elementor .bm-open-film .elementor-button {
    --bm-play-center-x: 54px;
    --bm-play-center-y: 55px;
  }
  .berio-design-system .elementor .bm-open-film .elementor-button::before {
    left: -1px;
    top: 1px;
  }
  .berio-design-system .elementor .bm-responsive-background .elementor-background-video-fallback {
    background-image: var(--bm-mobile-background);
    background-size: var(--bm-mobile-background-size,100% auto);
    background-position: var(--bm-mobile-background-position,center -64px);
  }
  .berio-design-system .elementor .e-con.bm-responsive-background:not(.elementor-motion-effects-element-type-background) {
    background-image: var(--bm-mobile-background);
    background-size: var(--bm-mobile-background-size,100% auto);
    background-position: var(--bm-mobile-background-position,center -64px);
  }
  .berio-design-system .elementor .bm-hero.bm-responsive-background::before {
    background: linear-gradient(#7a8382 0 calc(100% - 393px),#3d4241 100%);
    mix-blend-mode: multiply;
    opacity: 1;
  }
  .berio-design-system .elementor .bm-footer.bm-responsive-background:not(.elementor-motion-effects-element-type-background) {
    background-size: 100% auto;
    background-position: center top;
  }
  .berio-design-system .elementor .bm-open-film {
    align-self: end;
  }
  .berio-design-system .elementor .bm-hero-copy {
    width: 100%;
  }
  .berio-design-system .elementor :is(.bm-heading-line,.bm-mobile-line) {
    display: block;
  }
  .berio-design-system .elementor .bm-heading-line + br {
    display: none;
  }
  .berio-design-system .elementor .bm-desktop-only {
    display: none;
  }
  .berio-design-system .elementor .bm-hero-action {
    margin-top: 25px;
    width: 100%;
  }
  .berio-design-system .elementor .bm-products-intro {
    padding: 0 19px;
  }
  .berio-design-system .elementor .bm-products-intro > :is(.bm-text-kicker,.elementor-widget-text-editor,.bm-button) {
    display: none;
  }
  .berio-design-system .elementor .bm-olive-branch {
    order: -1;
    width: 274px;
    margin: 0 auto;
  }
  .berio-design-system .elementor .bm-olive-branch img {
    transform: scaleX(-1);
  }
  .berio-design-system .elementor .bm-product-cards {
    flex-flow: row nowrap;
    align-items: flex-start;
    gap: 23px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 39px;
    padding: 19.5px 39px;
    scrollbar-width: none;
  }
  .berio-design-system .elementor .bm-product-cards::-webkit-scrollbar {
    display: none;
  }
  .berio-design-system .elementor .bm-product-cards .bm-product-card {
    flex: 0 0 min(310px,calc(100vw - 78px));
    width: min(310px,calc(100vw - 78px));
    min-height: 606px;
    padding: 20px 17px 17px;
    scroll-snap-align: center;
  }
  .berio-design-system .elementor .bm-product-cards .bm-product-card--action {
    row-gap: 25px;
  }
  .berio-design-system .elementor .bm-product-card--action .bm-card-title {
    position: relative;
    padding-bottom: 25px;
    border-bottom: 0;
  }
  .berio-design-system .elementor .bm-product-card--action .bm-card-title::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    border-bottom: 1px solid #ede9e066;
  }
  .berio-design-system .elementor .bm-product-card--action > .bm-card-action {
    display: none;
  }
  .berio-design-system .elementor .bm-mobile-sentence-case .elementor-heading-title a {
    text-transform: lowercase;
  }
  .berio-design-system .elementor .bm-mobile-sentence-case .elementor-heading-title a::first-letter {
    text-transform: uppercase;
  }
  .berio-design-system .elementor .bm-product-card:has(.bm-product-photo) {
    --bm-photo-scale: 1;
    --bm-photo-hover-x: 0%;
    --bm-photo-hover-y: 0%;
  }
  .berio-design-system .elementor .bm-product-card:is(:hover,:focus-within) {
    background-color: var(--bm-green);
  }
  .berio-design-system .elementor .bm-product-photo {
    aspect-ratio: 1;
  }
  .berio-design-system .elementor .bm-photo-olive img {
    transform: scale(1.072463768);
    transform-origin: 50% 17.5%;
  }
  .berio-design-system .elementor .bm-card-title a {
    background-image: none;
    padding-right: 0;
  }
  .berio-design-system .elementor .bm-rail-pagination .elementor-icon-list-items {
    display: flex;
    justify-content: center;
    gap: 14px;
  }
  .berio-design-system .elementor .bm-rail-pagination a {
    display: block;
    width: 8px;
    height: 8px;
    background: var(--bm-green);
    border-radius: 50%;
    opacity: .3;
  }
  .berio-design-system .elementor .bm-rail-pagination a[aria-current] {
    opacity: 1;
  }
  .berio-design-system .elementor .bm-rail-pagination--cream a {
    background: var(--bm-cream);
  }
  .berio-design-system .elementor .bm-rail-pagination .elementor-icon-list-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
  .berio-design-system :where(.elementor .bm-section--recipe-links:has(.bm-recipe-rail)) {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    --margin-top: 69px;
    --padding-top: 50px;
    --padding-bottom: 50px;
    --padding-left: 15px;
    --padding-right: 15px;
    --gap: 43px;
  }
  .berio-design-system .elementor .bm-section--recipe-links:has(.bm-recipe-rail) > .bm-section-heading {
    display: contents;
  }
  .berio-design-system .elementor .bm-section--recipe-links:has(.bm-recipe-rail) > .bm-section-heading > .bm-stack {
    grid-row: 1;
    --gap: 43px;
  }
  .berio-design-system .elementor .bm-section--recipe-links:has(.bm-recipe-rail) > .bm-section-heading > .bm-button {
    grid-row: 4;
  }
  .berio-design-system .elementor .bm-recipe-rail {
    grid-row: 2;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 6.5px;
    scrollbar-width: none;
    --gap: 20px;
    padding-inline: 6.5px;
  }
  .berio-design-system .elementor .bm-recipe-rail > .bm-loop-card {
    flex: 0 0 min(347px,100%);
    scroll-snap-align: center;
  }
  .berio-design-system .elementor .bm-detail-intro--editorial.bm-detail-intro--recipe {
    --padding-top: 174px;
    --padding-bottom: 35px;
    --padding-left: 20px;
    --padding-right: 20px;
    --gap: 35px;
  }
  .berio-design-system .elementor .bm-detail-intro--recipe::before {
    top: 102px;
  }
  .berio-design-system .elementor .bm-detail-intro--recipe > .bm-stack {
    --gap: 35px;
  }
  .berio-design-system .elementor .bm-detail-intro--recipe > .bm-stack > .bm-text-kicker {
    margin-bottom: -25px;
  }
  .berio-design-system .elementor .bm-detail-intro--recipe .bm-recipe-facts {
    margin-bottom: 0;
  }
  .berio-design-system .elementor .bm-detail-intro--recipe .bm-editorial-photo img {
    aspect-ratio: 350 / 315;
  }
  .berio-design-system .elementor .bm-detail-intro--recipe .bm-hero-breadcrumb {
    display: none;
  }
  .berio-design-system .elementor .bm-recipe-ingredients {
    --padding-top: 45px;
    --padding-bottom: 45px;
    --padding-left: 20px;
    --padding-right: 20px;
  }
  .berio-design-system .elementor .bm-recipe-ingredients::before {
    display: none;
  }
  .berio-design-system .elementor .bm-recipe-ingredients > .bm-split {
    grid-template-columns: minmax(0,1fr);
    --gap: 45px;
  }
  .berio-design-system .elementor .bm-recipe-ingredients > .bm-split > .bm-content-group--divided {
    position: relative;
    --padding-top: 60.8873px;
    --padding-bottom: 30.1127px;
    --gap: 30px;
  }
  .berio-design-system .elementor .bm-content-group--divided::before {
    display: block;
    top: 0;
    left: .5564px;
    right: .5563px;
    height: 10.8873px;
    mask-image: url("vectors/section-divider-mobile.svg");
  }
  .berio-design-system .elementor .bm-recipe-ingredients .bm-content-group--divided > .elementor-widget-heading {
    padding-bottom: 6px;
  }
  .berio-design-system .elementor .bm-recipe-ingredients > .bm-split > .bm-content-group--product-reference {
    --padding-bottom: 56.1127px;
  }
  .berio-design-system .elementor .bm-product-reference--inline {
    --gap: 40px;
  }
  .berio-design-system .elementor .bm-product-reference--inline > .bm-stack {
    --gap: 28px;
  }
  .berio-design-system :where(.bm-main) .bm-loop-photo img {
    left: -3.634499%;
    top: -.786539%;
    width: 110.26446%;
  }
  .berio-design-system :where(.bm-main) .bm-loop-card::before {
    top: 48.70317%;
  }
  .berio-design-system .elementor .bm-recipe-rail :is(.bm-loop-link,.bm-recipe-badge) {
    display: none;
  }
  .berio-design-system .elementor .bm-section--recipe-links > .bm-rail-pagination {
    grid-row: 3;
  }
  .berio-design-system .elementor .bm-panel--tasting {
    --padding-top: 112px;
    --padding-bottom: 112px;
    --padding-left: 22px;
    --padding-right: 22px;
  }
  .berio-design-system .elementor .bm-panel--tasting .bm-split {
    --gap: 60px;
  }
  .berio-design-system .elementor .bm-panel--tasting .bm-split > .bm-stack {
    max-width: 344px;
  }
  .berio-design-system .elementor .bm-panel--tasting .bm-type-section-medium {
    padding-block: 0 43.75px;
  }
  .berio-design-system .elementor .bm-panel--tasting .bm-photo-crop--tasting {
    position: relative;
    aspect-ratio: 346 / 358;
  }
  .berio-design-system .elementor .bm-panel--tasting .bm-photo-crop--tasting img {
    position: absolute;
    left: -80.635838%;
    top: -23.184358%;
    width: 191.618497%;
    max-width: none;
    height: auto;
    object-fit: fill;
    transform: none;
  }
  .berio-design-system .elementor .bm-recipes > .e-con-inner {
    display: flex;
    flex-direction: column;
  }
  .berio-design-system .elementor .bm-recipe-gallery {
    order: -1;
  }
  .berio-design-system .elementor .bm-recipe-gallery .swiper-slide-image {
    height: 470px;
    aspect-ratio: auto;
  }
  .berio-design-system .elementor .bm-recipe-gallery.bm-gallery--dissolve .swiper-wrapper {
    height: 470px;
    aspect-ratio: auto;
  }
  .berio-design-system .elementor .bm-recipe-gallery .swiper-slide:first-child .bm-responsive-media img {
    object-position: 47.45% 50%;
    transform: scale(1.11915);
  }
  .berio-design-system .elementor .bm-featured-recipe {
    gap: 35px;
  }
  .berio-design-system .elementor .bm-featured-photo img {
    height: 315px;
    aspect-ratio: auto;
    object-position: 50% 50%;
    transform: scale(1.14603);
    transform-origin: 50% 25%;
  }
  .berio-design-system .elementor .bm-featured-visual .bm-recipe-badge {
    --bm-badge-scale: 1.354951143;
    margin: 10.495117px 0 0 7px;
  }
  .berio-design-system .elementor .bm-recipe-facts .elementor-icon-list-items {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .berio-design-system .elementor .bm-recipe-facts .elementor-icon-list-text {
    font-weight: 800;
    letter-spacing: 1.3px;
  }
  .berio-design-system .elementor .bm-recipe-facts .elementor-icon-list-item {
    min-height: 88px;
    justify-content: center;
  }
  .berio-design-system .elementor .bm-recipe-facts .elementor-icon-list-item:nth-child(2n/**/+1) {
    border-left: 0;
  }
  .berio-design-system .elementor .bm-recipe-facts .elementor-icon-list-item:nth-child(n/**/+3) {
    border-top: 1px solid #ede9e050;
  }
  .berio-design-system .elementor .bm-featured-oil {
    flex-direction: column;
    min-height: 409px;
    justify-content: start;
    width: 100%;
    padding: 0 0 36px;
  }
  .berio-design-system .elementor .bm-oil-recipe-label .elementor-heading-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
  }
  .berio-design-system .elementor .bm-oil-range {
    position: relative;
  }
  .berio-design-system .elementor .bm-oil-carousel .swiper-slide {
    min-height: 995px;
    height: 995px;
  }
  .berio-design-system .elementor .bm-oil-carousel .swiper-slide-inner {
    padding-top: 245px;
  }
  .berio-design-system .elementor .bm-oil-carousel .swiper-slide-image {
    height: 430px;
    max-height: none;
  }
  .berio-design-system .elementor .bm-oil-caption {
    position: absolute;
    top: 56px;
    left: 21px;
    width: calc(100% - 40px);
    max-width: none;
    min-height: 139px;
    padding: var(--padding-top,16.5px) var(--padding-right,21px) var(--padding-bottom,30.5px) var(--padding-left,21px);
    margin: 0;
    border-radius: var(--bm-radius-card);
    justify-content: start;
  }
  .berio-design-system .elementor .bm-oil-caption::before,
  .berio-design-system .elementor .bm-oil-caption::after {
    display: none;
  }
  .berio-design-system .elementor .bm-oil-caption > .elementor-widget-text-editor {
    display: none;
  }
  .berio-design-system .elementor .bm-mobile-surface.e-con {
    background-color: var(--bm-mobile-background-color);
  }
  .berio-design-system .elementor .bm-oil-hover-area {
    pointer-events: none;
  }
  .berio-design-system .elementor .bm-oil-use {
    opacity: 1;
    top: 706.5px;
    left: 63px;
    width: calc(100% - 126px);
    transform: none;
    font-weight: 700;
    line-height: 1.17;
    letter-spacing: 1.6px;
  }
  .berio-design-system .elementor .bm-oil-use::after {
    display: none;
  }
  .berio-design-system .elementor .bm-oil-action {
    position: absolute;
    top: 787px;
    left: 20px;
    width: calc(100% - 40px);
    z-index: 2;
  }
  .berio-design-system .elementor .bm-oil-action .elementor-button {
    display: flex;
    justify-content: space-between;
  }
  .berio-design-system .elementor .bm-oil-range .elementor-swiper-button {
    display: none;
  }
  .berio-design-system .elementor .bm-oil-carousel .swiper-pagination {
    bottom: 96.5px;
  }
  .berio-design-system .elementor .bm-oil-carousel .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin-inline: 6.5px;
    background: var(--bm-cream);
    opacity: .3;
  }
  .berio-design-system .elementor .bm-oil-carousel .swiper-pagination-bullet-active {
    opacity: 1;
  }
  .berio-design-system .elementor .bm-story-grid {
    gap: 35px;
  }
  .berio-design-system .elementor .bm-story-photo {
    height: 596px;
    aspect-ratio: 350 / 596;
  }
  .berio-design-system .elementor .bm-story-photo img {
    object-position: 66.38% 50%;
    transform: scale(2.234899);
    transform-origin: 50% 74.395%;
  }
  .berio-design-system .elementor .bm-signature.e-con::before {
    background-image: linear-gradient(180deg,transparent 43.720379%,rgb(0 0 0 / .58));
  }
  .berio-design-system .elementor .bm-signature {
    --bm-mobile-background-position: center top;
  }
  .berio-design-system .elementor .e-con.bm-recipe-method.bm-responsive-background:not(.elementor-motion-effects-element-type-background) {
    min-height: var(--min-height,0);
    background-size: 100% auto;
    background-position: center bottom;
    background-repeat: no-repeat;
  }
  .berio-design-system .elementor .bm-recipe-method.bm-responsive-background > .bm-split > .bm-editorial-photo {
    display: none;
  }
  .berio-design-system .elementor .bm-method-steps ul {
    padding-left: 27px;
  }
  .berio-design-system .elementor .bm-method-steps {
    min-height: 1012px;
  }
  .berio-design-system .elementor .bm-method-steps li + li {
    margin-top: 28.8px;
  }
  .berio-design-system .elementor .bm-method-steps li:first-child {
    text-box-trim: trim-start;
    text-box-edge: cap alphabetic;
  }
  .berio-design-system .elementor .bm-method-steps li:last-child {
    text-box-trim: trim-end;
    text-box-edge: cap alphabetic;
  }
  .berio-design-system .elementor .bm-recipe-share {
    --padding-top: 24px;
  }
  .berio-design-system .elementor .bm-story-seal {
    width: 100%;
    overflow: hidden;
  }
  .berio-design-system .elementor .bm-story-seal img {
    width: 100%;
    height: 296px;
    object-fit: fill;
    transform: scaleX(1.05434) translateX(1.15px);
    opacity: .3;
  }
  .berio-design-system .elementor .bm-story::before {
    opacity: 0;
  }
  .berio-design-system .elementor .bm-instagram-heading {
    width: calc(100% - 40px);
    max-width: none;
    flex-direction: column;
    gap: 5px;
    text-align: center;
    align-self: center;
  }
  .berio-design-system :where(.elementor) .bm-instagram-title .elementor-heading-title {
    font-weight: 400;
    line-height: 1.15;
  }
  .berio-design-system .elementor .bm-instagram-title em {
    display: block;
    font-style: normal;
    line-height: inherit;
  }
  .berio-design-system .elementor .bm-instagram-platform {
    font-style: italic;
  }
  .berio-design-system .elementor .bm-instagram > .bm-button {
    display: block;
  }
  .berio-design-system .elementor .bm-instagram > .bm-button::before {
    display: none;
  }
  .berio-design-system .elementor .bm-instagram-icon {
    width: 40px;
    flex-basis: auto;
  }
  .berio-design-system .elementor .bm-instagram-icon img {
    width: 40px;
    height: 40px;
  }
  .berio-design-system .elementor .bm-instagram-icon .elementor-widget-container {
    line-height: 0;
  }
  .berio-design-system .elementor .bm-instagram-carousel .swiper {
    padding-inline: 37px;
  }
  .berio-design-system .elementor .bm-instagram > .bm-button {
    width: calc(100% - 28px);
    margin-inline: 14px;
  }
  .berio-design-system .elementor .bm-instagram > .bm-button .elementor-button {
    display: flex;
    justify-content: space-between;
  }
  .berio-design-system .elementor .bm-footer-logo {
    width: 350px;
    max-width: 100%;
  }
  .berio-design-system .elementor .bm-footer-logo img {
    width: 350px;
    height: 195px;
    object-fit: contain;
  }
  .berio-design-system .elementor .bm-newsletter {
    order: -1;
  }
  .berio-design-system .elementor .bm-footer-columns {
    padding-top: 42.5px;
    border-top: 0;
  }
  .berio-design-system .elementor .bm-footer-columns::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(357px,calc(100% + 7px));
    height: 11px;
    background: url("vectors/footer-divider.svg") center / 100% 11px no-repeat;
    pointer-events: none;
  }
  .berio-design-system .elementor .bm-footer-nav--world {
    order: 1;
  }
  .berio-design-system .elementor .bm-footer-nav-group .elementor-heading-title {
    font-weight: 700;
  }
  .berio-design-system .elementor .bm-footer-links .elementor-icon-list-text {
    font-weight: 700;
    letter-spacing: 1.4px;
  }
  .berio-design-system .elementor .bm-footer-nav-group .elementor-heading-title {
    min-height: 12px;
  }
  .berio-design-system .elementor .bm-footer-links .elementor-icon-list-text {
    display: block;
    line-height: 16px;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
  .berio-design-system .elementor .bm-footer-links .elementor-icon-list-item {
    line-height: 10px;
    height: 10px;
    box-sizing: content-box;
  }
  .berio-design-system .elementor .bm-footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: start;
    padding-top: 0;
    border-top: 0;
    gap: 15.75px;
  }
  .berio-design-system .elementor .bm-footer-social-label {
    order: -2;
  }
  .berio-design-system .elementor .bm-footer-bottom .elementor-widget-social-icons {
    order: -1;
  }
  .berio-design-system .elementor .bm-footer-socials {
    order: -1;
  }
  .berio-design-system .elementor .bm-footer-bottom .elementor-social-icon {
    padding: 0;
    width: 32px;
    height: 32px;
  }
  .berio-design-system .elementor .bm-footer-bottom .elementor-social-icon[aria-label="YouTube"] {
    width: 26px;
  }
  .berio-design-system .elementor .bm-footer-bottom .elementor-social-icon svg {
    width: 32px;
    height: 32px;
  }
  .berio-design-system .elementor .bm-footer-bottom .elementor-widget-text-editor {
    position: relative;
    width: min(100%,302px);
    align-self: center;
    padding-top: 40px;
    margin-top: 20px;
    border-top: 0;
    text-align: center;
    line-height: 26px;
    font-weight: 400;
    letter-spacing: .02em;
  }
  .berio-design-system .elementor .bm-footer-bottom .elementor-widget-text-editor::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 357px;
    max-width: calc(100vw - 33px);
    height: 11px;
    background: url("vectors/footer-divider.svg") center / 100% 11px no-repeat;
  }
  .berio-design-system .elementor .bm-back-top {
    top: auto;
    bottom: 183px;
    right: 26px;
  }
  .berio-design-system .elementor .bm-back-top .elementor-button {
    width: 51px;
    height: 51px;
  }

  .berio-design-system .elementor .bm-newsletter-title {
    min-height: 116px;
  }

  .berio-design-system .elementor .bm-footer :is(.elementor-widget-text-editor,.elementor-field-label,.elementor-acceptance-field + label) {
    color: var(--bm-muted-light);
  }

  .berio-design-system .elementor .bm-category-card--horizontal {
    --bm-photo-scale: 1;
    --bm-photo-hover-y: 0%;
  }
  .berio-design-system .elementor .bm-category-card--horizontal:is(:hover,:focus-within) {
    background-color: #096b37;
  }
  .berio-design-system .elementor :is(.bm-category-card--horizontal,.bm-product-card--action) .bm-button--arrow-reveal {
    --bm-reveal-box: 16px;
    --bm-reveal-icon: 16px;
    --bm-reveal-gap: 0px;
  }
  .berio-design-system .elementor :is(.bm-category-card--horizontal,.bm-product-card--action) .bm-button--arrow-reveal .elementor-button-content-wrapper {
    gap: 0;
  }
  .berio-design-system .elementor :is(.bm-category-card--horizontal,.bm-product-card--action) .bm-button--arrow-reveal .elementor-button-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.berio-native-page) {
    --bm-motion-factor: 0;
  }
}

/* ACF recipe template: responsive layout. */
@media(max-width:1024px){
 .berio-design-system .br-recipe .bm-detail-intro--recipe {--padding-top:190px;--padding-bottom:60px;}
 .berio-design-system .br-recipe .bm-detail-intro--recipe .bm-editorial-photo {max-width:700px;}
 .berio-design-system .br-recipe .bm-recipe-ingredients {--padding-left:24px;--padding-right:24px;--padding-top:60px;--padding-bottom:60px;}
 .berio-design-system .br-recipe .bm-recipe-ingredients > .bm-split {--gap:48px;}
 .berio-design-system .br-recipe .bm-product-reference--inline {grid-template-columns:minmax(0,220px) minmax(0,1fr);}
 .berio-design-system .br-recipe .bm-recipe-method {--padding-top:60px;--padding-bottom:0px;}
}
@media(max-width:767px){
 .berio-design-system .br-recipe .bm-hero-breadcrumb {top:125px;left:24px;}
 .berio-design-system .br-recipe .bm-detail-intro--recipe {--padding-top:200px;--padding-bottom:48px;--gap:32px;}
 .berio-design-system .br-recipe .br-facts {width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
 .berio-design-system .br-recipe .br-facts li {min-width:0;}
 .berio-design-system .br-recipe .br-facts li:nth-child(odd) {border-left:0;}
 .berio-design-system .br-recipe .br-facts li:nth-child(n/**/+3) {border-top:1px solid #ede9e04d;}
 .berio-design-system .br-recipe .bm-product-reference--inline {grid-template-columns:minmax(0,110px) minmax(0,1fr);--gap:20px;align-items:start;}
 .berio-design-system .br-recipe .bm-product-reference--inline .bm-bottle-photo {height:270px;padding:12px;}
 .berio-design-system .br-recipe .bm-product-reference--inline .bm-stack {--gap:20px;}
 .berio-design-system .br-recipe .bm-button .elementor-button {white-space:normal;text-align:left;}
 .berio-design-system .br-recipe .bm-recipe-method > .bm-split {grid-template-columns:1fr;--gap:0px;}
 .berio-design-system .br-recipe .bm-method-copy {order:0;--padding-bottom:32px;--gap:24px;}
 /* Dynamic methods follow their content length, not the old static recipe height. */
 .berio-design-system .elementor .br-recipe .bm-method-steps {min-height:0;}
 .berio-design-system .br-recipe .br-chef {order:1;max-width:320px;margin-inline:auto;}
 .berio-design-system .br-recipe .bm-recipe-method .br-chef img {max-height:430px;}
 .berio-design-system .br-recipe .br-related-heading {align-items:start;flex-direction:column;}
 .berio-design-system .br-recipe .bm-grid {grid-template-columns:1fr;}
}

@media(max-width:767px){.berio-design-system .br-recipe .br-facts li:last-child:nth-child(odd) {grid-column:1 / -1;}}

/* Product PHP layout: shared mobile typography and spacing remain authoritative. */
@media (max-width: 1024px) {
  .berio-design-system .bp-product .bp-related-grid > article { flex-basis: calc((100% - 22px) / 2); }
}
@media (max-width: 767px) {
  .berio-design-system .bp-product .bm-section-heading { grid-template-columns: minmax(0,1fr); }
  .berio-design-system .bp-product .bp-related-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 20px;
  }
  .berio-design-system .bp-product .bp-related-grid > article { flex: 0 0 85%; scroll-snap-align: start; }
}

/* Search keeps a readable image/text row without horizontal scrolling. */
@media (max-width: 1024px) {
  .berio-design-system .bm-search-page { padding: 140px 24px 70px; }
  .berio-design-system .bm-search-row { grid-template-columns: 180px minmax(0,1fr) 24px; gap: 20px; }
  .berio-design-system .bm-search-photo { height: 180px; }
}
@media (max-width: 767px) {
  .berio-design-system .bm-search-page { padding: 120px 20px 50px; }
  .berio-design-system .bm-search-page h1 { margin-bottom: 30px; }
  .berio-design-system .bm-search-row { grid-template-columns: 95px minmax(0,1fr) 16px; gap: 12px; padding: 22px 0; }
  .berio-design-system .bm-search-photo { height: 115px; }
  .berio-design-system .bm-search-row--product .bm-search-photo img { padding: 8px; }
  .berio-design-system .bm-search-row h2 { margin-top: 12px; overflow-wrap: anywhere; }
  .berio-design-system .bm-search-arrow { width: 16px; height: 24px; }
}
/* The fixed About Us columns also fit narrower desktop screens. */
@media (min-width: 1025px) and (max-width: 1439px) {
  .berio-design-system .elementor .bm-menu-panel--about.bm-menu-panel { padding-inline: 40px; }
  .berio-design-system .elementor .bm-menu-panel--about .bm-menu-copy .elementor-button { min-width: 0; max-width: 100%; padding-inline: 12px; }
}

/* Keep live Instagram cards off the screen edges, aligned with the existing mobile CTA. */
@media (max-width: 767px) {
  .berio-design-system .elementor .elementor-widget.bm-instagram-feed { padding-inline: 14px; }
}

/* MODULI — adattamenti mobile; base e desktop in style-design.css.
 * Contatti e newsletter: colonna singola, pulsante largo prima del consenso, come in Figma.
 */
@media (max-width: 767px) {
  .berio-design-system .bm-contact-form .nf-form-content nf-fields-wrap,
  .berio-design-system .bm-newsletter-form .nf-form-content nf-fields-wrap { grid-template-columns: minmax(0,1fr); }
  .berio-design-system .bm-contact-form :is(.nf-field-container,.bm-field-submit),
  .berio-design-system .bm-newsletter-form :is(.nf-field-container,.bm-field-submit) { grid-column: 1; grid-row: auto; }
  .berio-design-system .bm-contact-form .bm-field-submit { width: 100%; }
  .berio-design-system .bm-contact-form input[type=submit] { height: 60px; border-radius: 15px; }
  .berio-design-system .bm-contact-form .bm-field-instructions { text-align: center; }
  .berio-design-system .bm-contact-form .bm-field-consent { margin-top: 0; }
  .berio-design-system .bm-newsletter-form .bm-field-email { order: 0; }
  .berio-design-system .bm-newsletter-form .bm-field-consent { order: 2; max-width: none; }
  .berio-design-system .bm-newsletter-form .bm-field-submit { order: 1; padding-top: 0; }
  .berio-design-system .bm-newsletter-form :is(.bm-field-email input,input[type=submit]) { height: 60px; border-radius: 15px; }
  .berio-design-system .bm-newsletter-form .nf-form-content nf-fields-wrap { gap: 20px; }
  .berio-design-system .bm-newsletter-form input[type=submit] { font-weight: 700; }
}

/* WORLDWIDE — mantiene la composizione centrata su tablet e telefono. */
@media (max-width: 767px) {
  .berio-design-system .elementor .bm-country-logo { width: 220px; margin-bottom: 28px; }
  .berio-design-system .elementor .bm-country-divider { margin: 32px 0; }
  .berio-design-system .elementor .bm-country-dialog nav { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .berio-design-system .elementor .bm-country-dialog nav a { padding: 12px; letter-spacing: .4px; }
}

/* SHARED TYPOGRAPHY */
/* Pulizia 16/10/2026: alias inutilizzati rimossi dopo verifica Elementor/template/script.
 * Restano le classi di compatibilità ancora utilizzate; misure approvate invariate.
 */
/* FONT UFFICIALE — unico foglio per tutte le pagine.
 * 1. Token e compatibilita delle classi Elementor esistenti.
 * 2. Scala fluida: massimi approvati a 1920px, minimi leggibili su mobile.
 * 3. Titoli e paragrafi condivisi; H1 ricette 80, prodotti/Terms 90.
 * 4. Menu, popup, footer e moduli; 5. adattamenti mobile.
 * Spaziature e line-height rimangono nei fogli design e responsive.
 */
:root {
  --font-10: 10px;
  --font-12: 12px;
  --font-13: 13px;
  --font-14: 14px;
  --font-16: 16px;
  --font-18: 18px;
  --font-20: 20px;
  --font-24: 24px;
  --font-26: 26px;
  --font-28: 28px;
  --font-30: 30px;
  --font-32: 32px;
  --font-36: 36px;
  --font-40: 40px;
  --font-44: 44px;
  --font-48: 48px;
  --font-50: 50px;
  --font-52: 52px;
  --font-55: 55px;
  --font-56: 56px;
  --font-60: 60px;
  --font-64: 64px;
  --font-70: 70px;
  --font-80: 80px;
  --font-90: 90px;
  --font-100: 100px;
  --font-120: 120px;
}
.font10px { --bm-size: var(--type-10); }
.font-fluid90 { --bm-size: var(--type-90); }
.font-fluid60 { --bm-size: var(--type-60); }
.font60px { --bm-size: var(--type-60); }
.font40px { --bm-size: var(--type-40); }
.font20px { --bm-size: var(--type-20); }
.font18px { --bm-size: var(--type-18); }
.font16px { --bm-size: var(--type-16); }
.font14px { --bm-size: var(--type-14); }
.font12px { --bm-size: var(--type-12); }
.font13px { --bm-size: var(--type-13); }
.font-fluid64 { --bm-size: var(--type-64); }
.font-fluid100 { --bm-size: var(--type-100); }
.font-fluid80 { --bm-size: var(--type-80); }
.font-fluid70 { --bm-size: var(--type-70); }
.font48px { --bm-size: var(--type-48); }
.font36px { --bm-size: var(--type-36); }
.font30px { --bm-size: var(--type-30); }
.font24px { --bm-size: var(--type-24); }
.font-fluid55 { --bm-size: var(--type-55); }
.font55px { --bm-size: var(--type-55); }
.font50px { --bm-size: var(--type-50); }
:root {
  --bm-font-heading: ivypresto-display, sans-serif;
  --bm-font-body: lato, sans-serif;
  --bm-h1: var(--type-120);
  --bm-h2: var(--type-80);
  --bm-h3: var(--type-60);
  --bm-h4: var(--type-40);
  --bm-h5: var(--type-32);
  --bm-h6: var(--type-24);
  --bm-display-small: var(--type-90);
  --bm-title-fluid: var(--type-60);
  --bm-body: var(--type-18);
  --bm-body-compact: var(--type-16);
  --bm-body-small: var(--type-14);
  --bm-body-caption: var(--type-12);
  --bm-label: var(--type-16);
  --bm-button: var(--type-12);
}
.berio-design-system {
  :where(.elementor) { font-family: var(--bm-font-body); }
  :where(.elementor) {
    :is(h1,h2,h3,h4,h5,h6) { font-family: var(--bm-font-heading); }
    h1 { font-size: var(--bm-h1); }
    h2 { font-size: var(--bm-h2); }
    h3 { font-size: var(--bm-h3); }
    h4 { font-size: var(--bm-h4); }
    h5 { font-size: var(--bm-h5); }
    h6 { font-size: var(--bm-h6); }
    .elementor-widget-text-editor { font-family: var(--bm-font-body); font-size: var(--bm-body); }
    .elementor-widget-text-editor p { font-size: inherit; font-family: inherit; }
    .elementor-widget-icon-box.font18px { --bm-size: var(--type-18); }
    .elementor-widget-icon-box.font30px .elementor-icon-box-title { font-size: var(--type-30); }
    :is(.font-fluid100,.font-fluid55,.font-fluid60,.font-fluid64,.font-fluid70,.font-fluid80,.font-fluid90,.font10px,.font12px,.font13px,.font14px,.font16px,.font18px,.font20px,.font24px,.font30px,.font36px,.font40px,.font48px,.font50px,.font55px,.font60px):where(:not(.elementor-widget-icon-box)) { font-size: var(--bm-size); }
    :is(.font-fluid100,.font-fluid55,.font-fluid60,.font-fluid64,.font-fluid70,.font-fluid80,.font-fluid90,.font10px,.font12px,.font13px,.font14px,.font16px,.font18px,.font20px,.font24px,.font30px,.font36px,.font40px,.font48px,.font50px,.font55px,.font60px):where(:not(.elementor-widget-icon-box)) :is(.elementor-heading-title,.elementor-icon-box-title,.elementor-icon-list-text,p,span,div,h1,h2,h3,h4,h5,h6,a,li,label) { font-size: inherit; }
    .bm-font-display .elementor-heading-title { font-family: var(--bm-font-heading); }
    :is(.bm-text-kicker,.bm-text-label) .elementor-heading-title { font-family: var(--bm-font-body); font-size: var(--bm-label); }
    .bm-text-kicker--small .elementor-heading-title { font-size: var(--font-12); }
    .bm-text-label :is(.elementor-heading-title,.elementor-icon-list-text),:is(.bm-text-meta,.bm-text-nav) .elementor-icon-list-text { font-family: var(--bm-font-body); font-size: var(--font-12); }
    .bm-text-nav--large .elementor-icon-list-text { font-size: var(--font-13); }
    .bm-main-menu :is(.e-n-menu-title,.e-n-menu-title-container,.e-n-menu-title-text) { font-family: var(--bm-font-body); font-size: var(--font-12); }
    .bm-button .elementor-button { font-family: var(--bm-font-body); font-size: var(--bm-button); }
    :is(.bm-header > .bm-button,.bm-header-countries .bm-button) .elementor-button { font-size: var(--font-12); }
    .bm-type-dialog { font-family: var(--bm-font-heading); }
  }
  .elementor {
    :where(button,input) { font-size: inherit; font-family: inherit; }
    .bm-recipe-badge .elementor-heading-title { font-size: calc(var(--font-12) * var(--bm-badge-scale)); }
    .bm-recipe-facts .elementor-icon-list-item:nth-child(3) .elementor-icon-list-text { font-size: var(--font-13); }
    .bm-dialog-close { font-size: var(--font-28); }
    :is(.bm-film-dialog,.bm-search-dialog) .bm-dialog-close { font-size: 0; }
    .bm-search-dialog input { font-size: var(--font-16); font-family: var(--bm-font-body); }
    .bm-search-dialog form button { font-size: var(--font-13); font-family: var(--bm-font-body); }
  }
  :where(.bm-main) {
    .bm-catalog-card .bm-type-title-fluid .elementor-heading-title { font-size: var(--type-40); }
    .bm-detail-columns h2 { font-size: var(--bm-title-fluid); }
    .bm-accordion table { font-size: var(--font-16); }
  }
  :where(.bm-main) {
    .bm-recipe-search input { font-size: var(--font-16); font-family: var(--bm-font-body); }
    .bm-recipe-search button { font-size: var(--font-12); font-family: var(--bm-font-body); }
    .bm-recipe-filters .bm-filter-caption { font-size: var(--font-40); font-family: var(--bm-font-heading); }
    .bm-filter-option { font-size: 0; }
    .bm-filter-option :is(select,.bm-filter-toggle) { font-size: var(--font-13); font-family: var(--bm-font-body); }
    .bm-recipes-loop .e-load-more-anchor + .elementor-button-wrapper .elementor-button { font-size: var(--font-13); font-family: var(--bm-font-body); }
  }
  :where(.elementor) {
    .bm-text-kicker.elementor-widget-text-editor { font-size: var(--font-14); }
  }
  :where(.bm-main) {
    .bm-accordion .e-n-accordion-item-title { font-size: var(--font-14); font-family: var(--bm-font-body); }
    .bm-accordion .e-n-accordion-item-title-text { font-size: inherit; font-family: inherit; }
    .bm-accordion .e-n-accordion-item-title-icon :is(i,svg) { font-size: var(--font-14); }
    .bm-accordion-answer .bm-rich-copy { font-size: var(--type-18); }
    .bm-catalog-card--compact .bm-oil-type { font-size: var(--type-24); }
    .bm-value-card .elementor-icon-box-description { font-size: var(--type-18); font-family: var(--bm-font-body); }
  }
  .elementor {
    :is(.bm-category-card--horizontal,.bm-product-card--action) .bm-button--arrow-reveal .elementor-button-text,.bm-oil-use { font-size: var(--font-12); font-family: var(--bm-font-body); }
  }
  .br-recipe {
    .br-facts { font-size: var(--bm-body-caption); }
    .br-times { font-size: var(--bm-body-small); }
  }
}

/* SCALA RESPONSIVE — un solo valore per misura e nessun CSS per pagina. */
:root {
  --type-10: var(--font-10);
  --type-12: var(--font-12);
  --type-13: var(--font-13);
  --type-14: var(--font-14);
  --type-16: var(--font-16);
  --type-18: var(--font-18);
  --type-20: clamp(var(--font-18), 1.041667vw, var(--font-20));
  --type-24: clamp(var(--font-20), 1.250000vw, var(--font-24));
  --type-30: clamp(var(--font-24), 1.562500vw, var(--font-30));
  --type-32: clamp(var(--font-24), 1.666667vw, var(--font-32));
  --type-36: clamp(var(--font-26), 1.875000vw, var(--font-36));
  --type-40: clamp(var(--font-28), 2.083333vw, var(--font-40));
  --type-48: clamp(var(--font-32), 2.500000vw, var(--font-48));
  --type-50: clamp(var(--font-32), 2.604167vw, var(--font-50));
  --type-55: clamp(var(--font-32), 2.864583vw, var(--font-55));
  --type-60: clamp(var(--font-36), 3.125000vw, var(--font-60));
  --type-64: clamp(var(--font-40), 3.333333vw, var(--font-64));
  --type-70: clamp(var(--font-40), 3.645833vw, var(--font-70));
  --type-80: clamp(var(--font-44), 4.166667vw, var(--font-80));
  --type-90: clamp(var(--font-48), 4.687500vw, var(--font-90));
  --type-100: clamp(var(--font-52), 5.208333vw, var(--font-100));
  --type-120: clamp(var(--font-56), 6.250000vw, var(--font-120));
}

/* TITOLI E PARAGRAFI — classi type-hN indipendenti dal tag semantico. */
  .berio-design-system :is(.bm-main, .bm-home) {
    /* H1 schede: ricette riusano 80px, prodotti 90px; gli altri H1 restano 120px. */
    /* H1 — Crafting the True Taste of Italy. */
    .type-h1 .elementor-heading-title { font-size: var(--type-120); font-weight: 100; }

    /* H2 — An Italian Masterpiece for Every Dish. */
    :is(.type-h2 .elementor-heading-title, .bp-product h1.elementor-heading-title) { font-size: var(--type-90); font-weight: 100; }

    /* H3 — Sharing the Joy / A Promise of Excellence. */
    :is(.type-h3 .elementor-heading-title, .br-recipe h1.elementor-heading-title) { font-size: var(--type-80); font-weight: 100; }

    /* H4 — Olive Oils, Pestos, Sauces, Vinegars. */
    .type-h4 .elementor-heading-title { font-size: var(--type-50); font-weight: 400; }

    /* H5 — ricetta del mese / There's a Berio / Feed the Feed. */
    .type-h5 .elementor-heading-title { font-size: var(--type-40); font-weight: 400; }

    /* About Us: titoli card confermati a 30px; misura nella scala globale. */
    .bm-value-card .elementor-icon-box-title { font-weight: 400; }

    /* Le card del catalogo riusano i 40px, conservando il peso sottile. */
    .type-h5.bm-font-thin .elementor-heading-title { font-weight: 100; }

    /* H6 — riservato, attualmente non presente. */

    /* P — una misura per classe, applicata al contenitore Elementor. */
    .p12pxfont { --bm-copy-size: var(--type-12); }
    .p16pxfont { --bm-copy-size: var(--type-16); }
    .p18pxfont { --bm-copy-size: var(--type-18); }
    /* Misure gia presenti nella scala globale, condivise tra schede e pagine. */
    .p24pxfont { --bm-copy-size: var(--type-24); }
    .p36pxfont { --bm-copy-size: var(--type-36); }
    .p55pxfont { --bm-copy-size: var(--type-55); }
    .p70pxfont { --bm-copy-size: var(--type-70); }

    /* Moduli: label e note condivise, distinte dal corpo dei campi. */
    .bm-contact-form .nf-field-label label { font-size: var(--type-18); }
    .bm-contact-form :is(.checkbox-wrap .nf-field-label label, .bm-field-instructions, .nf-form-fields-required) { font-size: var(--type-14); }
    .bm-recipe-search > label { font-size: var(--type-14); }
    .bm-filter-option select { font-size: var(--type-13); }
    .p60pxfont { --bm-copy-size: var(--type-60); }

    :is(.p12pxfont,.p16pxfont,.p18pxfont,.p24pxfont,.p36pxfont,.p55pxfont,.p60pxfont,.p70pxfont),
    :is(.p12pxfont,.p16pxfont,.p18pxfont,.p24pxfont,.p36pxfont,.p55pxfont,.p60pxfont,.p70pxfont) :is(p,span,div,a,li,.elementor-heading-title) {
      font-size: var(--bm-copy-size);
    }
    /* Uniforma anche la durata: la vecchia regola la distingueva dalle altre icone. */
    .p12pxfont .elementor-icon-list-item .elementor-icon-list-text { font-size: var(--bm-copy-size); }
    .p60pxfont .elementor-heading-title { font-family: var(--bm-font-heading); font-weight: 100; }

    /* Titoli editoriali sottili; corsivi regolari, senza grassetto sintetico.
     * Feed the Feed ha il testo normale sottile e il corsivo a 400.
     * H5 ricetta e carosello rimangono regolari come le card H4. */
    .bm-instagram-title .elementor-heading-title { font-weight: 100; }
    .elementor-heading-title em { font-weight: 400; }
  }


/* MENU — desktop; sotto 1025px le voci hanno spazio e dimensioni da menu mobile. */
.berio-design-system .bm-header {
  .bm-main-menu :is(.e-n-menu-title,.e-n-menu-title-container,.e-n-menu-title-text),
  .bm-button .elementor-button { font-size: var(--font-12); }
  .bm-header-countries .elementor-button, .bm-menu-social-label, .bm-menu-social-label p { font-size: var(--font-10); }
  .bm-type-card-compact .elementor-heading-title { font-size: var(--type-36); }
  .bm-text-compact, .bm-text-compact p { font-size: var(--font-16); }
}
/* POPUP — titoli e stati; Search mantiene il testo alternativo mobile esistente. */
.berio-design-system .elementor {
  .bm-search-dialog h2, .bm-country-welcome { font-family: var(--bm-font-heading); font-size: var(--type-36); font-weight: 100; }
  .bm-country-dialog #bm-country-title { font-size: var(--type-90); font-weight: 100; }
  .bm-country-dialog nav a { font-family: var(--bm-font-body); font-size: var(--font-12); }
}
/* FOOTER — navigazione 13, newsletter 70, privacy 14 al riferimento desktop. */
.berio-design-system .bm-footer {
  .font-desktop13px .elementor-heading-title, .bm-footer-links .elementor-icon-list-text { font-size: var(--font-13); }
  .bm-newsletter-title .elementor-heading-title { font-size: var(--type-70); font-weight: 100; }
  .bm-newsletter-title em { font-weight: 400; }
  .bm-text-body p { font-size: var(--type-18); }
  .bm-text-small :is(p,.elementor-heading-title) { font-size: var(--font-14); }
  .bm-footer-bottom .elementor-social-icon { font-size: var(--font-32); }
}
/* MODULI — input almeno 16px per evitare lo zoom automatico sui telefoni. */
.berio-design-system .bm-ninja-form :is(label,input,textarea,select,.nf-error-msg,.nf-response-msg) { font-family: var(--bm-font-body); font-size: var(--font-16); }
.berio-design-system .bm-contact-form .nf-field-label label { font-size: var(--type-18); }
.berio-design-system .bm-ninja-form :is(.checkbox-wrap .nf-field-label label,.bm-field-instructions,.nf-error-msg) { font-size: var(--font-14); }
.berio-design-system .bm-ninja-form input[type=submit] { font-size: var(--font-12); }
@media (max-width: 1024px) {
  .berio-design-system .bm-header {
    .bm-main-menu :is(.e-n-menu-title,.e-n-menu-title-container,.e-n-menu-title-text),
    :is(.bm-menu-card,.bm-menu-entry) .elementor-heading-title, .bm-menu-back .elementor-button { font-family: var(--bm-font-body); font-size: var(--font-16); }
  }
}
@media (max-width: 767px) {
  :root {
  --type-18: var(--font-16);
}
  .berio-design-system .elementor {
    .bm-button--chevron .elementor-button, .bm-ninja-form input[type=submit] { font-size: var(--font-14); }
    .bm-recipe-facts .elementor-icon-list-text { font-size: var(--font-12); }
    .bm-footer-links .elementor-icon-list-text { font-size: var(--font-14); }
  }
}
