*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: #e5e7eb;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 3 */
  font-family: Sarabun, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* 1 */
  font-feature-settings: normal;
  /* 2 */
  font-variation-settings: normal;
  /* 3 */
  font-size: 1em;
  /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-feature-settings: inherit;
  /* 1 */
  font-variation-settings: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  letter-spacing: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */
  vertical-align: middle;
  /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

html {
  scroll-behavior: smooth;
}

html,
  body {
  overflow-x: clip;
}

body {
  --tw-bg-opacity: 1;
  background-color: rgb(249 249 249 / var(--tw-bg-opacity, 1));
  font-family: Sarabun, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;
  --tw-text-opacity: 1;
  color: rgb(29 29 29 / var(--tw-text-opacity, 1));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::-moz-selection {
  --tw-bg-opacity: 1;
  background-color: rgb(5 66 144 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

::selection {
  --tw-bg-opacity: 1;
  background-color: rgb(5 66 144 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

h1,
  .h1,
  .titolo-1 {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--titolo-1);
  line-height: 1.1;
  font-weight: 800;
}

h2,
  .h2,
  .titolo-2 {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--titolo-2);
  line-height: 1.1;
  font-weight: 700;
}

h3,
  .h3,
  .titolo-3 {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--titolo-3);
  line-height: 1.2;
  font-weight: 600;
}

h4,
  .h4,
  .titolo-4 {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--titolo-4);
  line-height: 1.2;
  font-weight: 600;
}

h5,
  .h5,
  .titolo-5 {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--titolo-5);
  line-height: 1.3;
  font-weight: 700;
}

h6,
  .h6,
  .titolo-6 {
  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--titolo-6);
  line-height: 1.35;
  font-weight: 700;
}

.\!container {
  width: 100% !important;
}

.container {
  width: 100%;
}

@media (min-width: 640px) {
  .\!container {
    max-width: 640px !important;
  }

  .container {
    max-width: 640px;
  }
}

@media (min-width: 768px) {
  .\!container {
    max-width: 768px !important;
  }

  .container {
    max-width: 768px;
  }
}

@media (min-width: 1024px) {
  .\!container {
    max-width: 1024px !important;
  }

  .container {
    max-width: 1024px;
  }
}

@media (min-width: 1280px) {
  .\!container {
    max-width: 1280px !important;
  }

  .container {
    max-width: 1280px;
  }
}

@media (min-width: 1536px) {
  .\!container {
    max-width: 1536px !important;
  }

  .container {
    max-width: 1536px;
  }
}

.static {
  position: static;
}

.fixed {
  position: fixed;
}

.block {
  display: block;
}

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.grid {
  display: grid;
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.resize {
  resize: both;
}

.columns-3 {
  -moz-columns: 3;
       columns: 3;
}

.border {
  border-width: 1px;
}

:root :where(.is-layout-constrained)>h2,
h2 {
  margin-block-end: clamp(1.5rem, 5vw, 2.25rem) !important;
  margin-bottom: clamp(1.5rem, 5vw, 2.25rem) !important;
}

.per-vendere h2,
.per-acquistare h2,
.wp-block-query h2,
.wp-block-query .wp-block-post-title {
  margin-block-end: 0 !important;
  margin-bottom: 0 !important;
}

/* Layout: assicura che alignfull sfondi escano dal contenitore 75rem (1200px) */

.site-main.is-layout-constrained>.alignfull,
.wp-block-post-content.is-layout-constrained>.alignfull,
.is-layout-constrained>.alignfull {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw;
  width: 100vw;
}

/* Il contenuto dentro una sezione full resta centrato a 75rem */

.alignfull.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: var(--wp--style--global--content-size);
  margin-left: auto !important;
  margin-right: auto !important;
}

/* FIX: tutti i div interni is-layout-constrained avevano margin-top 24px (blockGap) — rimosso e riversato in padding-top */

:where(.is-layout-constrained)>*+* {
  margin-block-start: 0 !important;
  padding-block-start: 1.5rem !important;
  box-sizing: border-box;
}

:where(.is-layout-flow)>*+* {
  margin-block-start: 0 !important;
}

/* Box alignfull — padding come da stacchi richiesti (escluso header + hero ovunque: index, single, blog, post-content) */

.wp-block-group.alignfull:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode),
.alignfull:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode),
.is-layout-constrained>.alignfull:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode) {
  padding-block-start: clamp(3.125rem, 6vw, 5.625rem) !important;
  padding-block-end: clamp(5.625rem, 8vw, 10rem) !important;
  box-sizing: border-box;
}

@media (max-width: 75rem) {
  .wp-block-group.alignfull:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode),
  .alignfull:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode),
  .is-layout-constrained>.alignfull:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode) {
    padding-inline: 1rem !important;
    box-sizing: border-box;
  }
}

/* Utility: rimuove padding-top/bottom su alignfull quando due sezioni stesso colore si susseguono (evita vuoto visivo) — specificità >= globale */

.wp-block-group.alignfull.maexport-no-pt:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode),
.alignfull.maexport-no-pt:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode),
.is-layout-constrained>.alignfull.maexport-no-pt:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode),
.wp-block-group.alignfull.no-pt:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode),
.alignfull.no-pt:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode),
.is-layout-constrained>.alignfull.no-pt:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode),
.maexport-no-pt.is-style-chevron,
.no-pt.is-style-chevron {
  padding-block-start: 0 !important;
}

.wp-block-group.alignfull.maexport-no-pb:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode),
.alignfull.maexport-no-pb:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode),
.is-layout-constrained>.alignfull.maexport-no-pb:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode),
.wp-block-group.alignfull.no-pb:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode),
.alignfull.no-pb:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode),
.is-layout-constrained>.alignfull.no-pb:not(.site-header):not(.maexport-hero):not(.maexport-blog-intro):not(.wp-block-shortcode),
.maexport-no-pb.is-style-chevron,
.no-pb.is-style-chevron {
  padding-block-end: 0 !important;
}

/* Utility z-index per contenuto testuale sopra chevron mask (chevron z-index:1) */

.z-index-4,
.maexport-z4,
.maexport-z-index-4 {
  position: relative;
  z-index: 4;
}

/* Hero — azzera padding globale in ogni template (single, index, blog intro, post-content, shortcode wrapper) */

.maexport-hero.alignfull,
.maexport-blog-intro.alignfull,
.wp-block-shortcode:has(> .maexport-hero),
.wp-block-shortcode:has(.maexport-hero),
.is-layout-constrained>.maexport-hero,
.site-main>.maexport-hero,
.wp-block-post-content>.maexport-hero,
.wp-block-post-content>.wp-block-shortcode:has(.maexport-hero) {
  padding-block-start: 0 !important;
  padding-block-end: 0 !important;
}

.site-header.alignfull,
.wp-block-group.site-header,
.site-header,
.wp-block-template-part:has(> .site-header) {
  padding-block-start: 0 !important;
  padding-block-end: 0 !important;
}

.wp-site-blocks {
  gap: 0 !important;
}

.wp-site-blocks>*+* {
  margin-block-start: 0 !important;
}

footer.wp-block-template-part,
.wp-block-template-part:has(> footer),
.site-footer,
.wp-block-group.site-footer,
footer.site-footer {
  margin-block-start: 0 !important;
  margin-top: 0 !important;
}

.site-footer a,
.wp-block-group.site-footer a,
footer.site-footer a,
footer a {
  color: #fff !important;
  text-decoration: none !important;
}

.site-footer a:hover,
.site-footer a:focus,
footer a:hover,
footer a:focus {
  color: #b96038 !important;
  text-decoration: underline !important;
  text-decoration-color: #b96038 !important;
  text-underline-offset: 0.12em;
}

footer .wp-block-group.has-background {
  padding-bottom: 1rem !important;
}

/* Social giallo */

.site-footer .wp-block-social-links a,
.site-footer .wp-social-link a,
footer .wp-block-social-links a,
footer .wp-social-link a,
.site-footer .wp-social-link__icon,
footer .wp-social-link__icon {
  color: var(--wp--preset--color--giallo, #fabd6f) !important;
  background: transparent !important;
  fill: var(--wp--preset--color--giallo, #fabd6f) !important;
}

.site-footer .wp-block-social-links svg,
.site-footer .wp-social-link svg,
footer .wp-block-social-links svg {
  fill: var(--wp--preset--color--giallo, #fabd6f) !important;
  color: var(--wp--preset--color--giallo, #fabd6f) !important;
}

.site-footer .wp-block-social-links a:hover,
.site-footer .wp-social-link a:hover,
footer .wp-block-social-links a:hover,
footer .wp-social-link a:hover {
  color: #b96038 !important;
  fill: #b96038 !important;
}

.site-footer .wp-block-social-links a:hover svg,
.site-footer .wp-social-link a:hover svg,
footer .wp-block-social-links a:hover svg {
  fill: #b96038 !important;
  color: #b96038 !important;
}

/* Menu legal su giallo → nero con hover rosso (solo footer) */

.site-footer .has-giallo-background-color a,
footer .has-giallo-background-color a,
.site-footer .wp-block-navigation a,
footer .wp-block-navigation a {
  color: var(--wp--preset--color--nero, #1d1d1d) !important;
  text-decoration: none !important;
}

.site-footer .has-giallo-background-color a:hover,
footer .has-giallo-background-color a:hover,
.site-footer .wp-block-navigation a:hover,
footer .wp-block-navigation a:hover {
  color: #b96038 !important;
  text-decoration: underline !important;
  text-decoration-color: #b96038 !important;
  text-underline-offset: 0.12em;
}

/* Section divider — supporto legacy (mantiene compatibilità) */

.maexport-divider {
  position: relative;
  width: 100%;
  height: clamp(2.5rem, 8vw, 9.75rem);
  overflow: hidden;
  line-height: 0;
  margin-block: 0;
  color: var(--wp--preset--color--giallo);
}

.maexport-divider svg {
  display: block;
  width: 100%;
  height: 100%;
}

.maexport-divider--flip {
  transform: rotate(180deg);
}

/* Chevron generico — TOP della sezione, colore ereditato dallo sfondo
   Uso: aggiungi solo "chevron" (o "chevron-top" / "maexport-section--chevron-top")
   al Gruppo alignfull. Non serve dichiarare il colore: il ::before eredita
   background-color dalla sezione (has-*-background-color o style inline).
   Per bottom usare "chevron-bottom". */

.chevron,
.chevron-top,
.maexport-section--chevron-top,
.chevron-bottom,
.maexport-section--chevron-bottom {
  position: relative;
}

.chevron::before,
.chevron-top::before,
.maexport-section--chevron-top::before,
.chevron-bottom::after,
.maexport-section--chevron-bottom::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 100vw;
  height: clamp(2.5rem, 8vw, 9.75rem);
  transform: translateX(-50%);
  background: inherit;
  background-color: inherit;
  -webkit-mask-image: url("../images/section-divider.svg");
  mask-image: url("../images/section-divider.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  pointer-events: none;
  z-index: 1;
}

.chevron::before,
.chevron-top::before,
.maexport-section--chevron-top::before {
  bottom: 100%;
  top: auto;
  transform: translateX(-50%);
}

.chevron-bottom::after,
.maexport-section--chevron-bottom::after {
  top: 100%;
  bottom: auto;
  transform: translateX(-50%);
  -webkit-mask-image: url("../images/section-divider-bottom.svg");
  mask-image: url("../images/section-divider-bottom.svg");
}

/* Padding proporzionato per sovrapposizione chevron */

.wp-block-group:has(+ .chevron),
.wp-block-group:has(+ .chevron-top),
.wp-block-group:has(+ .maexport-section--chevron-top),
.wp-block-group:has(+ .is-style-chevron),
.wp-block-group:has(+ .is-style-chevron-top),
.is-layout-constrained:has(+ .chevron),
.is-layout-constrained:has(+ .chevron-top) {
  padding-bottom: clamp(2.5rem, 8vw, 9.75rem);
}

.chevron-bottom:has(+ *),
.maexport-section--chevron-bottom:has(+ *),
.is-style-chevron-bottom:has(+ *) {
  margin-bottom: clamp(2.5rem, 8vw, 9.75rem);
}

.wp-block-group:has(+ .chevron-bottom),
.wp-block-group:has(+ .maexport-section--chevron-bottom),
.wp-block-group:has(+ .is-style-chevron-bottom),
.is-layout-constrained:has(+ .chevron-bottom) {
  padding-bottom: 0;
}

.chevron-bottom+.wp-block-group,
.maexport-section--chevron-bottom+.wp-block-group,
.is-style-chevron-bottom+.wp-block-group,
.chevron-bottom+.is-layout-constrained,
.maexport-section--chevron-bottom+.is-layout-constrained {
  padding-top: clamp(2.5rem, 8vw, 9.75rem);
}

/* Stili blocco Gutenberg — alias generico (is-style-chevron) */

.is-style-chevron,
.is-style-chevron-top,
.is-style-chevron-bottom {
  position: relative;
}

.is-style-chevron::before,
.is-style-chevron-top::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% - 1px);
  top: auto;
  width: 100vw;
  height: clamp(2.5rem, 8vw, 9.75rem);
  transform: translateX(-50%);
  background: inherit;
  background-color: inherit;
  -webkit-mask-image: url("../images/section-divider.svg");
  mask-image: url("../images/section-divider.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  pointer-events: none;
  z-index: 1;
}

.is-style-chevron-bottom::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  bottom: auto;
  width: 100vw;
  height: clamp(2.5rem, 8vw, 9.75rem);
  transform: translateX(-50%);
  background: inherit;
  background-color: inherit;
  -webkit-mask-image: url("../images/section-divider-bottom.svg");
  mask-image: url("../images/section-divider-bottom.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  pointer-events: none;
  z-index: 1;
}

.body {
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.6;
}

.smallest {
  font-size: var(--wp--preset--font-size--smallest);
  line-height: 1.4;
  font-weight: 800;
}

.cta {
  font-size: var(--wp--preset--font-size--cta);
  line-height: 1.2;
  font-weight: 700;
}

.site-header,
.wp-block-template-part:has(> .site-header) {
  position: sticky;
  top: 0;
  z-index: 100;
}

.site-header {
  width: 100%;
  height: 4.9375rem;
  background-color: #f9f9f9;
  box-sizing: border-box;
}

.site-header__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.4375rem;
  height: 100%;
  max-width: 90rem;
  margin: 0 auto;
  padding: 0.625rem 1rem;
  box-sizing: border-box;
}

.site-header__inner>.site-header__nav,
.site-header__inner>.site-header__lang {
  margin-block-start: 0;
}

.site-header__lang>[class*="wpml-ls-legacy-dropdown"] {
  margin-block-start: 0;
}

.site-header__logo {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  flex-shrink: 0;
}

.site-header__logo img {
  display: block;
  height: 3.75rem;
  width: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.site-header__wordmark {
  display: none;
}

.site-header__lang {
  order: 2;
  flex-shrink: 0;
}

.site-header__nav {
  order: 3;
  margin-right: -1rem;
}

.site-header__nav .wp-block-navigation__responsive-container-open {
  width: 4.9375rem;
  height: 4.9375rem;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #1d1d1d;
  color: #ffffff;
}

.site-header__nav .wp-block-navigation__responsive-container-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 4.9375rem;
  height: 4.9375rem;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #1d1d1d;
  color: #ffffff;
  border: none;
}

.site-header__nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  width: 24.5625rem;
  max-width: 90%;
  height: 100%;
  max-height: 100%;
  margin: 0;
  padding: 0 0 1.25rem;
  background-color: #efefef;
  box-sizing: border-box;
  overflow: auto;
  text-align: center;
}

.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  padding-top: 0;
}

.site-header__nav .wp-block-navigation__responsive-container.is-menu-open li.current-menu-item>.wp-block-navigation-item__content {
  color: #fabd6f;
}

.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
  padding: 4.9375rem 1.25rem 0;
}

.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.78125rem;
  box-sizing: border-box;
}

.site-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  font-family: 'Sarabun', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 1.5625rem;
  font-weight: 600;
  color: #1d1d1d;
  text-transform: uppercase;
}

.site-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
  display: none;
}

.site-header__lang [class*="wpml-ls-legacy-dropdown"] {
  width: auto;
  max-width: none;
  background: none;
}

.site-header__lang [class*="wpml-ls-legacy-dropdown"] p {
  margin: 0;
}

.site-header__lang [class*="wpml-ls-legacy-dropdown"] .wpml-ls-item-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: none;
  color: #1d1d1d;
  text-decoration: none;
  line-height: 1;
}

.site-header__lang [class*="wpml-ls-legacy-dropdown"] a br {
  display: none;
}

.site-header__lang [class*="wpml-ls-legacy-dropdown"] .wpml-ls-item-toggle:after {
  content: '>';
  position: static;
  display: inline-block;
  margin-left: 0.5rem;
  border: none;
  font-size: 1.5625rem;
  font-weight: 700;
  color: #1d1d1d;
  transform: rotate(90deg);
}

.site-header__lang .wpml-ls-flag {
  height: 3.75rem;
  width: 3.75rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}

.site-header__lang [class*="wpml-ls-legacy-dropdown"] .wpml-ls-current-language:hover>a,
.site-header__lang [class*="wpml-ls-legacy-dropdown"] .wpml-ls-current-language>a:focus {
  background: none;
  color: #1d1d1d;
}

.site-header__lang .wpml-ls-sub-menu,
.site-header__lang #wpml-ls-submenu-click-default {
  background-color: #f9f9f9;
  border: none;
  margin-left: -1.25rem;
  padding: 0;
  box-sizing: border-box;
}

.site-header__lang .wpml-ls-sub-menu a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8rem 0.5rem 0.5rem;
  border: none;
  background: none;
}

.site-header__lang .wpml-ls-sub-menu li+li {
  border-top: 1px solid #efefef;
}

@media (min-width: 80rem) {
  .site-header {
    height: 7.5rem;
    box-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.25);
  }

  .site-header__inner {
    justify-content: center;
    padding: 0.625rem 0;
    gap: 2rem;
  }

  .site-header__logo {
    left: 2rem;
  }

  .site-header__logo img {
    height: 6.25rem;
  }

  .site-header__lang {
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
  }

  .site-header__nav {
    margin: 0 auto;
  }

  .site-header__nav .wp-block-navigation__container {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.25rem;
  }

  .site-header__nav .wp-block-navigation-item {
    display: flex;
    align-items: center;
    padding: 0;
  }

  .site-header__nav .wp-block-navigation-item__content {
    position: relative;
    font-family: 'Sarabun', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #1d1d1d;
    text-transform: uppercase;
    white-space: nowrap;
    padding-bottom: 1rem;
  }

  .site-header__nav .wp-block-navigation__responsive-container-open {
    display: none;
  }

  .site-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: block;
    position: relative;
    width: 100%;
  }

  .site-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close {
    display: none;
  }

  .site-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-content {
    display: flex;
    align-items: center;
  }

  .site-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item+.wp-block-navigation-item>.wp-block-navigation-item__content {
    display: flex;
    align-items: center;
  }

  .site-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item+.wp-block-navigation-item>.wp-block-navigation-item__content::before {
    content: '';
    flex-shrink: 0;
    width: 1px;
    height: 1.25rem;
    background-color: #efefef;
    margin-right: 1.25rem;
  }

  .site-header__nav li.current-menu-item>.wp-block-navigation-item__content {
    color: #fabd6f !important;
  }

  .site-header__nav li.current-menu-item>.wp-block-navigation-item__content::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 0.25rem;
    background-color: #fabd6f;
    pointer-events: none;
  }

  .site-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item+.wp-block-navigation-item.current-menu-item>.wp-block-navigation-item__content::after {
    left: calc(1px + 1.25rem);
  }
}

/* ============================================================
   FIX: rimuove margin-top 24px del contenitore principale
   Gutenberg applica --wp--style--block-gap (=1.5rem/24px) a
   .site-main.has-global-padding.is-layout-constrained.
   ============================================================ */

.site-main,
main#wp--skip-link--target,
.wp-block-group.site-main,
#wp--skip-link--target.wp-block-group {
  margin-block-start: 0 !important;
  margin-top: 0 !important;
}

:where(.site-main) {
  margin-block-start: 0;
}

.site-main.has-global-padding,
.site-main.is-layout-constrained,
.wp-block-group.site-main.has-global-padding {
  margin-block-start: 0 !important;
}

/* ============================================================
   Immagine a cavallo — utility "a-cavallo / straddle"
   Posiziona l'immagine assoluta a cavallo del divisore tra due
   sezioni alignfull. Default: allineata a DESTRA come da Figma;
   variante --left per allineamento a sinistra (spec "fixed a sinistra").
   Uso Gutenberg: aggiungi classe "maexport-img-a-cavallo" a core/image
   (tramite Avanzate > Classe CSS aggiuntiva) oppure al blocco stesso.
   Alternativa: stile blocco "A cavallo (overlay a destra)".
   Richiede: Gruppo parent alignfull con position:relative + overflow:visible.
   ============================================================ */

.maexport-img-a-cavallo,
.wp-block-image.maexport-img-a-cavallo,
figure.maexport-img-a-cavallo,
img.maexport-img-a-cavallo,
.is-style-a-cavallo,
.wp-block-image.is-style-a-cavallo,
figure.is-style-a-cavallo,
figure.wp-block-image.is-style-a-cavallo {
  position: absolute !important;
  bottom: 0;
  right: clamp(1rem, 4vw, 3.5rem);
  left: auto;
  transform: translateY(50%);
  z-index: 3;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  pointer-events: none;
  margin: 0 !important;
}

.maexport-img-a-cavallo--left,
.maexport-img-a-cavallo.is-style-left,
.is-style-a-cavallo--left,
.wp-block-image.maexport-img-a-cavallo--left,
figure.maexport-img-a-cavallo--left,
img.maexport-img-a-cavallo--left,
.wp-block-image.is-style-a-cavallo--left,
figure.is-style-a-cavallo--left,
figure.wp-block-image.is-style-a-cavallo--left {
  right: auto !important;
  left: clamp(1rem, 4vw, 3.5rem) !important;
}

figure.maexport-img-a-cavallo img,
.wp-block-image.maexport-img-a-cavallo img,
.is-style-a-cavallo img,
.wp-block-image.is-style-a-cavallo img,
figure.is-style-a-cavallo img,
figure.wp-block-image.is-style-a-cavallo img {
  width: 100%;
  height: auto;
  display: block;
}

/* Animazione slide-in-fwd-center — applicata via JS all'ingresso nel viewport (a cavallo) */

.slide-in-fwd-center {
  animation: slide-in-fwd-center 0.6s ease-out both;
}

@keyframes slide-in-fwd-center {
  0% {
    transform: translateZ(-1400px);
    opacity: 0;
  }

  100% {
    transform: translateZ(0);
    opacity: 1;
  }
}

/* Wrapper animazione scroll: l'animazione è sull'img interno per non sovrascrivere il translateY di posizionamento della figure */

.is-style-a-cavallo img:not(.slide-in-fwd-center),
.maexport-img-a-cavallo img:not(.slide-in-fwd-center) {
  opacity: 0;
}

.is-style-a-cavallo img.slide-in-fwd-center,
.maexport-img-a-cavallo img.slide-in-fwd-center,
.is-style-a-cavallo.slide-in-fwd-center img,
.maexport-img-a-cavallo.slide-in-fwd-center img {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .slide-in-fwd-center {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .is-style-a-cavallo img:not(.slide-in-fwd-center),
  .maexport-img-a-cavallo img:not(.slide-in-fwd-center) {
    opacity: 1;
  }
}

/* Necessario per translateZ 3D */

.is-style-a-cavallo img,
.maexport-img-a-cavallo img {
  will-change: transform, opacity;
  transform-style: preserve-3d;
}

/* A cavallo — entrata da fuori schermo (dx) + flottante 40px */

@keyframes maexport-enter-right {
  0% {
    opacity: 0;
    transform: translateX(100vw) translateY(-40%) scale(0.8);
  }

  100% {
    opacity: 1;
    transform: translateX(0) translateY(-40%) scale(0.8);
  }
}

@keyframes maexport-enter-left {
  0% {
    opacity: 0;
    transform: translateX(-100vw) translateY(-40%) scale(0.8);
  }

  100% {
    opacity: 1;
    transform: translateX(0) translateY(-40%) scale(0.8);
  }
}

@keyframes maexport-float-x {
  0%,
  100% {
    transform: translateX(0) translateY(-40%) scale(0.8);
  }

  50% {
    transform: translateX(-60px) translateY(-40%) scale(0.8);
  }
}

@keyframes maexport-enter-right-mobile {
  0% {
    opacity: 0;
    transform: translateX(100vw) translateY(50%);
  }

  100% {
    opacity: 1;
    transform: translateX(0) translateY(50%);
  }
}

@keyframes maexport-enter-left-mobile {
  0% {
    opacity: 0;
    transform: translateX(-100vw) translateY(50%);
  }

  100% {
    opacity: 1;
    transform: translateX(0) translateY(50%);
  }
}

@keyframes maexport-float-x-mobile {
  0%,
  100% {
    transform: translateX(0) translateY(50%);
  }

  50% {
    transform: translateX(-60px) translateY(50%);
  }
}

@media (min-width: 60rem) {
  .maexport-a-cavallo--enter {
    animation: maexport-enter-right 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both,
      maexport-float-x 2.5s linear 1.2s infinite;
    will-change: transform, opacity;
  }

  .maexport-a-cavallo--enter.is-style-a-cavallo--left,
  .maexport-a-cavallo--enter.maexport-img-a-cavallo--left {
    animation: maexport-enter-left 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both,
      maexport-float-x 2.5s linear 1.2s infinite;
  }
}

@media (max-width: 59.999rem) {
  .maexport-a-cavallo--enter {
    animation: maexport-enter-right-mobile 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both,
      maexport-float-x-mobile 2.5s linear 1.2s infinite;
    will-change: transform, opacity;
  }

  .maexport-a-cavallo--enter.is-style-a-cavallo--left,
  .maexport-a-cavallo--enter.maexport-img-a-cavallo--left {
    animation: maexport-enter-left-mobile 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both,
      maexport-float-x-mobile 2.5s linear 1.2s infinite;
  }
}

.is-style-a-cavallo:not(.maexport-a-cavallo--enter),
.maexport-img-a-cavallo:not(.maexport-a-cavallo--enter) {
  animation: maexport-float-x 2.5s linear infinite;
  will-change: transform;
}

@media (max-width: 59.999rem) {
  .is-style-a-cavallo:not(.maexport-a-cavallo--enter),
  .maexport-img-a-cavallo:not(.maexport-a-cavallo--enter) {
    animation: maexport-float-x-mobile 2.5s linear infinite;
    will-change: transform;
  }
}

@media (prefers-reduced-motion: reduce) {
  .maexport-a-cavallo--enter,
  .maexport-a-cavallo--enter.is-style-a-cavallo--left,
  .maexport-a-cavallo--enter.maexport-img-a-cavallo--left,
  .is-style-a-cavallo:not(.maexport-a-cavallo--enter),
  .maexport-img-a-cavallo:not(.maexport-a-cavallo--enter) {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Parent deve restare overflow visible quando contiene img a cavallo */

.has-maexport-img-a-cavallo,
:where(.wp-block-group:has(> .maexport-img-a-cavallo)),
:where(.wp-block-group:has(> figure.maexport-img-a-cavallo)),
:where(.alignfull:has(> .maexport-img-a-cavallo)),
:where(.alignfull:has(> figure.maexport-img-a-cavallo)),
:where(.wp-block-group:has(> .is-style-a-cavallo)),
:where(.wp-block-group:has(> figure.is-style-a-cavallo)),
:where(.wp-block-group:has(.is-style-a-cavallo)),
:where(.wp-block-group:has(.maexport-img-a-cavallo)),
:where(.alignfull:has(.is-style-a-cavallo)),
:where(.alignfull:has(.maexport-img-a-cavallo)) {
  position: relative !important;
  overflow: visible !important;
}

/* 2 Colonne — solo classe immagine: su desktop l'immagine esce dalla colonna verso destra (viewport 5rem) e verso il basso sul chevron */

@media (min-width: 60rem) {
  :where(.wp-block-group:has(.is-style-a-cavallo)),
  :where(.alignfull:has(.is-style-a-cavallo)),
  :where(.wp-block-group:has(.maexport-img-a-cavallo)),
  :where(.alignfull:has(.maexport-img-a-cavallo)) {
    position: relative !important;
    overflow: visible !important;
  }

  /* Assicura che la colonna non crei nuovo containing block per l'absolute viewport-ancorato */

  .wp-block-column:has(.is-style-a-cavallo),
  .wp-block-column:has(.maexport-img-a-cavallo) {
    position: static !important;
  }

  .is-style-a-cavallo,
  .maexport-img-a-cavallo,
  .wp-block-image.is-style-a-cavallo,
  figure.is-style-a-cavallo,
  figure.wp-block-image.is-style-a-cavallo,
  .wp-block-image.maexport-img-a-cavallo,
  figure.maexport-img-a-cavallo,
  img.maexport-img-a-cavallo {
    position: absolute !important;
    top: 85% !important;
    right: clamp(2rem, 4vw, 5rem) !important;
    left: auto !important;
    bottom: auto !important;
    transform: translateY(-40%) scale(0.8);
    height: auto;
    margin: 0 !important;
    z-index: 3;
    pointer-events: none;
  }

  .is-style-a-cavallo--left,
  .maexport-img-a-cavallo--left,
  .wp-block-image.is-style-a-cavallo--left,
  figure.is-style-a-cavallo--left,
  figure.wp-block-image.is-style-a-cavallo--left,
  .wp-block-image.maexport-img-a-cavallo--left,
  figure.maexport-img-a-cavallo--left,
  img.maexport-img-a-cavallo--left {
    right: auto !important;
    left: clamp(2rem, 4vw, 5rem) !important;
    transform: translateY(-40%) scale(0.8);
  }
}

@media (max-width: 48em) {
  .maexport-img-a-cavallo,
  .wp-block-image.maexport-img-a-cavallo,
  figure.maexport-img-a-cavallo,
  img.maexport-img-a-cavallo,
  .is-style-a-cavallo,
  .wp-block-image.is-style-a-cavallo,
  figure.is-style-a-cavallo,
  figure.wp-block-image.is-style-a-cavallo {
    right: 0.75rem;
  }

  .maexport-img-a-cavallo--left,
  .maexport-img-a-cavallo.is-style-left,
  .is-style-a-cavallo--left,
  .wp-block-image.is-style-a-cavallo--left,
  figure.is-style-a-cavallo--left,
  figure.wp-block-image.is-style-a-cavallo--left {
    left: 0.75rem !important;
    right: auto !important;
  }
}

/* Grandezza immagine a cavallo — max-height responsive */

@media (min-width: 80rem) {
  .maexport-img-a-cavallo,
  .wp-block-image.maexport-img-a-cavallo,
  figure.maexport-img-a-cavallo,
  img.maexport-img-a-cavallo,
  .is-style-a-cavallo,
  .wp-block-image.is-style-a-cavallo,
  figure.is-style-a-cavallo,
  figure.wp-block-image.is-style-a-cavallo {
    max-height: 450px;
  }

  .maexport-img-a-cavallo img,
  .is-style-a-cavallo img,
  figure.is-style-a-cavallo img {
    max-height: 450px;
  }
}

@media (min-width: 60rem) and (max-width: 79.999rem) {
  .maexport-img-a-cavallo,
  .wp-block-image.maexport-img-a-cavallo,
  figure.maexport-img-a-cavallo,
  img.maexport-img-a-cavallo,
  .is-style-a-cavallo,
  .wp-block-image.is-style-a-cavallo,
  figure.is-style-a-cavallo,
  figure.wp-block-image.is-style-a-cavallo {
    max-height: 350px;
  }

  .maexport-img-a-cavallo img,
  .is-style-a-cavallo img,
  figure.is-style-a-cavallo img {
    max-height: 350px;
  }
}

@media (max-width: 59.999rem) {
  .maexport-img-a-cavallo,
  .wp-block-image.maexport-img-a-cavallo,
  figure.maexport-img-a-cavallo,
  img.maexport-img-a-cavallo,
  .is-style-a-cavallo,
  .wp-block-image.is-style-a-cavallo,
  figure.is-style-a-cavallo,
  figure.wp-block-image.is-style-a-cavallo {
    max-height: 250px;
  }

  .maexport-img-a-cavallo img,
  .is-style-a-cavallo img,
  figure.is-style-a-cavallo img {
    max-height: 250px;
  }
}

@media (max-width: 25rem) {
  .maexport-img-a-cavallo,
  .wp-block-image.maexport-img-a-cavallo,
  figure.maexport-img-a-cavallo,
  img.maexport-img-a-cavallo,
  .is-style-a-cavallo,
  .wp-block-image.is-style-a-cavallo,
  figure.is-style-a-cavallo,
  figure.wp-block-image.is-style-a-cavallo {
    max-height: 150px;
  }

  .maexport-img-a-cavallo img,
  .is-style-a-cavallo img,
  figure.is-style-a-cavallo img {
    max-height: 150px;
  }
}

/* Fix 400–650px (25rem–40.625rem): max-height non scala, alza di 1rem per non toccare il chevron */

@media (min-width: 25rem) and (max-width: 40.625rem) {
  .maexport-img-a-cavallo,
  .wp-block-image.maexport-img-a-cavallo,
  figure.maexport-img-a-cavallo,
  img.maexport-img-a-cavallo,
  .is-style-a-cavallo,
  .wp-block-image.is-style-a-cavallo,
  figure.is-style-a-cavallo,
  figure.wp-block-image.is-style-a-cavallo,
  .maexport-img-a-cavallo--left,
  .maexport-img-a-cavallo.is-style-left,
  .is-style-a-cavallo--left,
  .wp-block-image.is-style-a-cavallo--left,
  figure.is-style-a-cavallo--left,
  figure.wp-block-image.is-style-a-cavallo--left {
    bottom: 1rem !important;
  }
}

/* ============================================================
   Link — regole contestuali in base al background del container
   Esclude bottoni (.wp-block-button__link, .wp-element-button, .wp-block-post-excerpt__more-link)
   Base: underline + line-height 24px. Colore adattato per contrasto WCAG
   su ciascuna palette: giallo, bianco, grigio-perla, nero, blu, verde.
   ============================================================ */

:where(a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link)) {
  text-decoration: underline;
  text-underline-offset: 0.14em;
  text-decoration-thickness: 0.07em;
  line-height: 1.5rem;
  /* 24px */
  transition: color 0.2s ease, text-decoration-color 0.2s ease, opacity 0.2s ease;
}

:where(a:not(.wp-block-button__link):not(.wp-element-button)):hover,
:where(a:not(.wp-block-button__link):not(.wp-element-button)):focus-visible {
  text-decoration-thickness: 0.12em;
}

/* Giallo #fabd6f → link marrone #b96038 (Figma), hover nero */

.has-giallo-background-color a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link),
.has-background[style*="fabd6f"] a:not(.wp-block-button__link):not(.wp-element-button),
.has-background[style*="FABD6F"] a:not(.wp-block-button__link):not(.wp-element-button),
.wp-block-group.has-giallo-background-color a:not(.wp-block-button__link):not(.wp-element-button) {
  color: #b96038;
}

.has-giallo-background-color a:not(.wp-block-button__link):hover,
.has-background[style*="fabd6f"] a:hover {
  color: #1d1d1d;
}

/* Bianco #f9f9f9 → rosso */

.has-bianco-background-color a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link),
.has-background[style*="f9f9f9"] a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link),
.has-background[style*="F9F9F9"] a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link) {
  color: #b96038;
}

.has-bianco-background-color a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link):hover,
.has-background[style*="f9f9f9"] a:hover {
  color: #1d1d1d;
}

/* Grigio perla #efefef → rosso, hover nero */

.has-grigio-perla-background-color a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link),
.has-background[style*="efefef"] a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link) {
  color: #b96038;
}

.has-grigio-perla-background-color a:hover {
  color: #1d1d1d;
}

/* Nero #1d1d1d → giallo/giallo chiaro, hover bianco */

.has-nero-background-color a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link),
.has-background[style*="1d1d1d"] a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link) {
  color: #fabd6f;
}

.has-nero-background-color a:hover,
.has-background[style*="1d1d1d"] a:hover {
  color: #f9f9f9;
}

/* Blu #054290 → bianco/giallo */

.has-blu-background-color a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link),
.has-background[style*="054290"] a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link) {
  color: #f9f9f9;
}

.has-blu-background-color a:hover,
.has-background[style*="054290"] a:hover {
  color: #fabd6f;
}

/* Verde #64a164 → bianco, hover giallo */

.has-verde-background-color a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link),
.has-background[style*="64a164"] a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link) {
  color: #f9f9f9;
}

.has-verde-background-color a:hover,
.has-background[style*="64a164"] a:hover {
  color: #fabd6f;
}

/* Header navigation — esclusa dalle regole link contestuali, resta nera come da design */

.site-header a:not(.wp-block-button__link):not(.wp-element-button),
.site-header .wp-block-navigation-item__content,
.site-header__nav .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container a:not(.wp-block-button__link) {
  color: #1d1d1d !important;
  text-decoration: none !important;
}

.site-header .wp-block-navigation-item__content:hover,
.site-header__nav .wp-block-navigation-item__content:hover {
  color: #1d1d1d !important;
  text-decoration: none !important;
}

.site-header .current-menu-item>.wp-block-navigation-item__content,
.site-header__nav li.current-menu-item>.wp-block-navigation-item__content {
  color: #fabd6f !important;
}

/* ============================================================
   Bottoni / CTA — shape unica + varianti contesto
   Forma obbligatoria: border-radius 10px, padding 10px 24px,
   font-size 14px (cta), font-weight 700 (bold), Sarabun.
   Vale anche per "Leggi tutto" nelle query (.wp-block-post-excerpt__more-link)
   Esclude le regole link contestuali (no underline, no line-height 24px).
   ============================================================ */

.wp-block-button__link,
.wp-element-button,
.wp-block-post-excerpt__more-link,
.wp-block-search__button,
button.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.625rem 1.5rem;
  /* 10px 24px */
  border-radius: 0.625rem;
  /* 10px */
  font-family: var(--wp--preset--font-family--sans, Sarabun, sans-serif);
  font-size: var(--wp--preset--font-size--cta, 0.875rem);
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  border: none !important;
  box-sizing: border-box;
  cursor: pointer;
  transition: background-color 0.22s ease, color 0.22s ease, border-color 0.22s ease, transform 0.18s ease, box-shadow 0.22s ease;
  overflow: hidden;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
.wp-block-post-excerpt__more-link:hover {
  transform: translateY(-1px);
}

.wp-block-button__link:active,
.wp-element-button:active,
.wp-block-post-excerpt__more-link:active {
  transform: translateY(0);
}

.wp-block-button__link:focus-visible,
.wp-element-button:focus-visible,
.wp-block-post-excerpt__more-link:focus-visible {
  outline: 2px solid var(--wp--preset--color--blu, #054290);
  outline-offset: 2px;
}

/* Default/gialla: bg giallo #fabd6f, text nero, hover nero+bianco (Figma property-1default → variant2) */

.wp-block-button__link,
.wp-element-button,
.wp-block-post-excerpt__more-link {
  background-color: var(--wp--preset--color--giallo, #fabd6f);
  color: #1d1d1d;
  border-color: transparent;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
.wp-block-post-excerpt__more-link:hover,
.wp-block-button__link:focus,
.wp-element-button:focus {
  background-color: #1d1d1d !important;
  color: #f9f9f9 !important;
  border: none !important;
}

/* Variante NERA: bg nero, text bianco, hover giallo */

.wp-block-button.is-style-nera .wp-block-button__link,
.wp-block-button.is-style-nero .wp-block-button__link {
  background-color: #1d1d1d !important;
  color: #f9f9f9 !important;
  border: none !important;
}

.wp-block-button.is-style-nera .wp-block-button__link:hover,
.wp-block-button.is-style-nero .wp-block-button__link:hover {
  background-color: #fabd6f !important;
  color: #1d1d1d !important;
}

/* Variante BLU: bg blu #054290, text bianco, hover verde #64a164 */

.wp-block-button.is-style-blu .wp-block-button__link,
.wp-block-button.is-style-blu-cta .wp-block-button__link {
  background-color: #054290 !important;
  color: #f9f9f9 !important;
  border: none !important;
}

.wp-block-button.is-style-blu .wp-block-button__link:hover,
.wp-block-button.is-style-blu-cta .wp-block-button__link:hover {
  background-color: #64a164 !important;
  color: #f9f9f9 !important;
}

/* Variante VERDE: bg verde #64a164, text bianco/nero, hover blu */

.wp-block-button.is-style-verde .wp-block-button__link {
  background-color: #64a164 !important;
  color: #f9f9f9 !important;
  border: none !important;
}

.wp-block-button.is-style-verde .wp-block-button__link:hover {
  background-color: #054290 !important;
  color: #f9f9f9 !important;
}

/* Variante BIANCA: bg bianco #f9f9f9, text nero, hover nero (Figma CTA BIANCA) */

.wp-block-button.is-style-bianca .wp-block-button__link,
.wp-block-button.is-style-white .wp-block-button__link {
  background-color: #f9f9f9 !important;
  color: #1d1d1d !important;
  border: none !important;
}

.wp-block-button.is-style-bianca .wp-block-button__link:hover,
.wp-block-button.is-style-white .wp-block-button__link:hover {
  background-color: #1d1d1d !important;
  color: #f9f9f9 !important;
  border: none !important;
}

/* Variante BIANCA BLU: bg bianco, text blu #054290, hover giallo #fabd6f (Figma CTA BIANCA BLU) */

.wp-block-button.is-style-bianca-blu .wp-block-button__link,
.wp-block-button.is-style-bianca-blue .wp-block-button__link {
  background-color: #f9f9f9 !important;
  color: #054290 !important;
  border: none !important;
}

.wp-block-button.is-style-bianca-blu .wp-block-button__link:hover,
.wp-block-button.is-style-bianca-blue .wp-block-button__link:hover {
  background-color: #fabd6f !important;
  color: #1d1d1d;
  border: none !important;
}

/* Variante BIANCA VERDE: bg bianco, text verde #64a164, hover giallo #fabd6f (Figma CTA BIANCA VERDE) */

.wp-block-button.is-style-bianca-verde .wp-block-button__link,
.wp-block-button.is-style-bianca-green .wp-block-button__link {
  background-color: #f9f9f9 !important;
  color: #64a164 !important;
  border: none !important;
}

.wp-block-button.is-style-bianca-verde .wp-block-button__link:hover,
.wp-block-button.is-style-bianca-green .wp-block-button__link:hover {
  background-color: #fabd6f !important;
  color: #1d1d1d !important;
  border: none !important;
}

/* Fix: CTA con background nero → testo sempre bianco (stato base e hover) */

.wp-block-button__link.has-nero-background-color,
.has-nero-background-color .wp-block-button__link,
.wp-block-button__link[style*="1d1d1d"],
.wp-block-button__link[style*="1D1D1D"],
.has-background[style*="1d1d1d"] .wp-block-button__link,
.has-background[style*="1D1D1D"] .wp-block-button__link {
  color: #f9f9f9 !important;
}

.wp-block-button__link.has-nero-background-color:hover,
.has-nero-background-color .wp-block-button__link:hover,
.wp-block-button__link[style*="1d1d1d"]:hover {
  color: #f9f9f9 !important;
  background-color: #1d1d1d !important;
}

/* Variante BIANCA su sfondo scuro richiede contrasto — outline (non sovrascrive nero→bianco) */

.has-blu-background-color .wp-block-button__link,
.has-verde-background-color .wp-block-button__link,
.has-background[style*="054290"] .wp-block-button__link,
.has-background[style*="64a164"] .wp-block-button__link {
  /* mantiene giallo/nero default che contrasta già bene su scuro */
}

/* "Leggi tutto" query loop — CTA gialla: giallo #fabd6f / nero #1d1d1d → hover nero / bianco */

.wp-block-post-excerpt__more-link {
  margin-top: 0.75rem;
  font-size: var(--wp--preset--font-size--cta, 0.875rem);
  font-weight: 800;
  line-height: 1.2;
  border-radius: 0.625rem;
  padding: 0.625rem 1.5rem;
  background-color: var(--wp--preset--color--giallo, #fabd6f) !important;
  color: #1d1d1d !important;
  border-color: transparent !important;
  text-decoration: none !important;
}

.wp-block-post-excerpt__more-link:hover,
.wp-block-post-excerpt__more-link:focus {
  background-color: #1d1d1d !important;
  color: #f9f9f9 !important;
  border-color: #1d1d1d !important;
  text-decoration: none !important;
}

/* ============================================================
   Card CTA gemelle — layout a Figma (2 colonne, icona + testi + bottone)
   Struttura attesa Gutenberg (quella fornita):
   .wp-block-group.alignfull.has-grigio-perla (outer) >
     .wp-block-columns.card-cta (gap) >
       .wp-block-column > .wp-block-group.per-vendere/.per-acquistare (card 30px)
   Posizione elementi indipendente dai colori (sfondo via Gutenberg).
   ============================================================ */

.wp-block-columns.card-cta {
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: stretch;
}

.wp-block-columns.card-cta .wp-block-column {
  display: flex;
  flex-direction: column;
}

/* Evidenziazione titoli — gialla ovunque, bianca su container giallo */

.maexport-highlight {
  color: var(--wp--preset--color--giallo, #fabd6f);
}

.has-giallo-background-color .maexport-highlight,
.wp-block-group.has-giallo-background-color .maexport-highlight {
  color: var(--wp--preset--color--bianco, #f9f9f9);
}

.has-background[style*="fabd6f"] .maexport-highlight,
.has-background[style*="FABD6F"] .maexport-highlight {
  color: var(--wp--preset--color--bianco, #f9f9f9);
}

/* Card base — arrotondata, padding, altezza minima, flex column */

.per-vendere,
.per-acquistare {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.875rem;
  padding: 1.75rem 1.5rem 2rem;
  /* spazio extra sotto per far respirare icona absolute */
  padding-bottom: clamp(4.5rem, 8vw, 5.5rem);
  min-height: 18rem;
  border-radius: 30px !important;
  overflow: hidden;
  isolation: isolate;
  flex: 1;
  box-sizing: border-box;
}

.per-vendere h2,
.per-acquistare h2 {
  font-size: 50px;
  font-weight: 600;
  line-height: 60px;
}

.per-vendere h2 span,
.per-acquistare h2 span,
.per-vendere h2 strong,
.per-acquistare h2 strong {
  color: #fabd6f;
}

.per-vendere h3,
.per-acquistare h3 {
  font-size: 38px;
  line-height: 36px;
  margin: 2.5rem;
}

/* Bottone sempre sotto i testi, a sinistra */

.per-vendere .wp-block-buttons,
.per-acquistare .wp-block-buttons {
  margin-top: 0.5rem;
  width: 100%;
}

.per-vendere .wp-block-button,
.per-acquistare .wp-block-button {
  margin: 0;
}

/* Icona — gestione per ALTEZZA (non larghezza), stessa altezza in entrambe le card — più grande */

.per-vendere .wp-block-image,
.per-acquistare .wp-block-image,
.per-vendere figure.wp-block-image,
.per-acquistare figure.wp-block-image,
.card-cta .wp-block-image {
  position: absolute !important;
  bottom: 0;
  z-index: 1;
  width: auto;
  height: clamp(11rem, 38%, 16rem);
  max-height: clamp(11rem, 38%, 16rem);
  margin: 0 !important;
  pointer-events: none;
  line-height: 0;
}

.per-vendere .wp-block-image img,
.per-acquistare .wp-block-image img,
.card-cta .wp-block-image img {
  width: auto !important;
  height: 100% !important;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
  aspect-ratio: auto !important;
}

/* Vendere: icona a destra (uomo con scatola gialla), Acquistare: icona a sinistra (uomo con muletto) */

.per-vendere .wp-block-image,
.per-vendere figure.wp-block-image {
  right: 0.75rem;
  left: auto;
}

.per-acquistare .wp-block-image,
.per-acquistare figure.wp-block-image {
  left: 0;
  right: auto;
}

/* Variante icona-riga (svg riga singola) — stessa altezza */

.per-vendere .icona-riga {
  height: clamp(11rem, 38%, 16rem);
  max-height: clamp(11rem, 38%, 16rem);
  right: 0.25rem;
}

@media (max-width: 48em) {
  .per-vendere,
  .per-acquistare {
    min-height: 16rem;
    padding: 1.5rem 1.25rem;
    padding-bottom: 5rem;
  }

  .per-vendere .wp-block-image,
  .per-acquistare .wp-block-image {
    height: clamp(9rem, 35%, 12rem);
    max-height: clamp(9rem, 35%, 12rem);
  }
}

/* ============================================================
   Query ultime news — griglia 3 colonne come da Figma
   HTML: .wp-block-query > ul.wp-block-post-template.is-layout-grid.columns-3 >
     li.wp-block-post > .wp-block-group (padding 30px) >
       .wp-block-group.has-bianco-background-color (card 30px) >
         figure.wp-block-post-featured-image + .wp-block-group (contenuto)
   ============================================================ */

.wp-block-query {
  --maexport-query-gap: clamp(1rem, 2vw, 1.5rem);
}

.wp-block-post-template.is-layout-grid {
  list-style: none;
  padding: 0;
  margin: 0;
}

.wp-block-post-template.is-layout-grid.columns-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--maexport-query-gap);
}

@media (max-width: 75rem) {
  .wp-block-post-template.is-layout-grid.columns-3 {
    /* Carosello sotto 1200px — scroll snap orizzontale (swipe) */
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 1rem;
    gap: 1rem;
    padding-bottom: 1rem;
    scrollbar-width: none;
  }

  .wp-block-post-template.is-layout-grid.columns-3::-webkit-scrollbar {
    display: none;
  }

  .wp-block-post-template.is-layout-grid.columns-3>li.wp-block-post {
    flex: 0 0 85%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}

/* Pallini paginazione carosello — visibili solo sotto 1200px */

.wp-block-query .maexport-query-pagination {
  display: none;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.25rem;
  padding: 0;
  list-style: none;
}

@media (max-width: 75rem) {
  .wp-block-query .maexport-query-pagination {
    display: flex;
  }
}

.maexport-query-pagination__dot {
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 9999px;
  border: none;
  background: #f9f9f9;
  padding: 0;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
  flex-shrink: 0;
}

.maexport-query-pagination__dot.is-active {
  background: #1d1d1d;
  border: none;
  transform: scale(1.05);
}

.maexport-query-pagination__dot:focus-visible {
  outline: 2px solid var(--wp--preset--color--blu, #054290);
  outline-offset: 2px;
}

.wp-block-post-template.is-layout-grid>li.wp-block-post {
  margin: 0;
  display: flex;
  flex-direction: column;
}

/* Rimuove il padding esterno 30px del wrapper li per far coincidere gap giallo con Figma */

.wp-block-query .wp-block-post>.wp-block-group.is-layout-flow {
  padding: 0 !important;
  background: transparent !important;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.wp-block-query .wp-block-group.has-bianco-background-color {
  background-color: #f9f9f9 !important;
  border-radius: 30px !important;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 0 !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07);
}

/* Immagine in alto — arrotondata solo top, cover */

.wp-block-query .wp-block-post-featured-image {
  margin: 0 !important;
  width: 100%;
  aspect-ratio: 1.7 / 1;
  overflow: hidden;
  line-height: 0;
  flex-shrink: 0;
}

.wp-block-query .wp-block-post-featured-image img {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
  display: block;
  aspect-ratio: auto !important;
}

/* Contenuto bianco sotto immagine — padding solo sull'inner (secondo gruppo), outer azzerato */

.wp-block-query .wp-block-post .wp-block-group.has-global-padding.is-layout-constrained:last-child {
  padding: 0 !important;
}

.wp-block-query .wp-block-post .has-bianco-background-color>.wp-block-group.has-global-padding.is-layout-constrained:last-child {
  padding: 1.1rem 1.25rem 1.4rem !important;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  flex: 1;
}

/* Data con icona calendario — sinistra su desktop */

.wp-block-query .wp-block-post-date {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 400;
  color: #1d1d1d;
  line-height: 1.2;
  margin: 0;
  text-align: left;
  width: 100%;
}

.wp-block-query .wp-block-post-date::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  background-color: #1d1d1d;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.wp-block-query .wp-block-post-date time {
  font-size: inherit;
  color: inherit;
}

/* Titolo — desktop 38px/36px 600, mobile 33px/33px — nero anche se link, hover rosso #b96038 */

.wp-block-query .wp-block-post-title,
.wp-block-query .wp-block-post-title.has-nero-color {
  font-family: Sarabun, sans-serif;
  font-size: 38px;
  font-weight: 600;
  line-height: 36px;
  color: #1d1d1d;
  margin: 0;
}

@media (max-width: 48em) {
  .wp-block-query .wp-block-post-title {
    font-size: 33px;
    line-height: 33px;
  }
}

.wp-block-query .wp-block-post-title a,
.wp-block-query .wp-block-post-title.has-nero-color a,
.wp-block-query .has-nero-color a {
  color: #1d1d1d !important;
  text-decoration: none !important;
}

.wp-block-query .wp-block-post-title a:hover,
.wp-block-query .wp-block-post-title.has-nero-color a:hover {
  color: #b96038 !important;
  text-decoration: underline !important;
  text-underline-offset: 0.12em;
  text-decoration-thickness: 0.08em;
}

/* Excerpt */

.wp-block-query .wp-block-post-excerpt {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1;
  margin: 0;
}

.wp-block-query .wp-block-post-excerpt__excerpt {
  font-size: 1rem;
  line-height: 1.5;
  color: #1d1d1d;
  margin: 0;
  flex: 1;
}

.wp-block-query .wp-block-post-excerpt__more-text {
  margin: 0;
}

.wp-block-query .wp-block-post-excerpt__more-link {
  display: inline-flex;
}

/* ============================================================
   Archivio Blog — header + paginazione + featured
   ============================================================ */

.maexport-archive-header {
  text-align: center;
  padding-block: clamp(2.5rem, 6vw, 4rem) !important;
}

.maexport-archive-header .wp-block-query-title,
.maexport-archive-header h1 {
  margin-block: 0 !important;
}

.maexport-archive-header .wp-block-query-title,
.maexport-archive-header h1,
.maexport-archive-header .wp-block-term-description {
  max-width: 75rem;
  margin-inline: auto;
  padding-inline: 1rem;
  box-sizing: border-box;
}

.maexport-archive-header .wp-block-term-description {
  margin-top: 0.75rem;
  opacity: 0.95;
}

.maexport-archive-header .wp-block-term-description p {
  margin: 0;
  line-height: 1.6;
}

/* Paginazione archivio — numeri e frecce (core query-pagination) */

.wp-block-query-pagination {
  gap: 0.5rem;
  flex-wrap: wrap;
}

.wp-block-query-pagination .wp-block-query-pagination-previous,
.wp-block-query-pagination .wp-block-query-pagination-next,
.wp-block-query-pagination .wp-block-query-pagination-numbers a,
.wp-block-query-pagination .wp-block-query-pagination-numbers span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.9rem;
  border-radius: 0.625rem;
  /* 10px come bottoni */
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
  border: 1px solid #efefef;
  background: #f9f9f9;
  color: #1d1d1d;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.wp-block-query-pagination .wp-block-query-pagination-numbers .current,
.wp-block-query-pagination .wp-block-query-pagination-numbers span.current {
  background: #1d1d1d;
  color: #f9f9f9;
  border-color: #1d1d1d;
}

.wp-block-query-pagination a:hover {
  background: #1d1d1d;
  color: #f9f9f9;
  border-color: #1d1d1d;
  transform: translateY(-1px);
}

.wp-block-query-pagination .wp-block-query-pagination-previous:where(:not(a)),
.wp-block-query-pagination .wp-block-query-pagination-next:where(:not(a)) {
  opacity: 0.4;
  pointer-events: none;
}

/* Archivi Blog/Categoria/Tag — header nero a 75rem come resto sito */

.maexport-archive-hero .wp-block-query-title,
.maexport-archive-hero h1,
.maexport-archive-hero .wp-block-term-description {
  max-width: 75rem;
  margin-inline: auto;
  padding-inline: 1rem;
  box-sizing: border-box;
}

.maexport-archive-hero .wp-block-term-description {
  margin-top: clamp(3.125rem, 8vw, 5.625rem) !important;
  /* 50px → 90px */
}

.maexport-archive-hero .wp-block-term-description p {
  max-width: 75rem;
  margin-inline: auto;
}

/* ============================================================
   Singola News — header, meta, featured, contenuto, correlati
   ============================================================ */

.maexport-single__header {
  text-align: center;
  padding-block: clamp(2rem, 5vw, 3.5rem) !important;
}

.maexport-single__header .wp-block-post-title {
  text-wrap: balance;
  margin-block: 0 !important;
}

.maexport-single__meta {
  justify-content: center;
}

.maexport-single__meta .wp-block-post-date {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.maexport-single__meta .wp-block-post-date::before {
  content: "";
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  background-color: #a1a1a1;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.maexport-single__meta .taxonomy-category a,
.maexport-single__meta .wp-block-post-terms__separator {
  color: #b96038;
  text-decoration: none;
  font-weight: 700;
}

.maexport-single__featured img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 30px;
  display: block;
}

.maexport-single .wp-block-post-content {
  font-size: 1rem;
  line-height: 1.7;
  color: #1d1d1d;
}

.maexport-single .wp-block-post-content>*+* {
  margin-block-start: 1.25rem;
}

.maexport-single .wp-block-post-content h2,
.maexport-single .wp-block-post-content h3,
.maexport-single .wp-block-post-content h4 {
  margin-block-start: clamp(1.75rem, 4vw, 2.5rem);
  line-height: 1.2;
}

.maexport-single .wp-block-post-content a:not(.wp-block-button__link) {
  color: #b96038;
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

.maexport-single .wp-block-post-content blockquote {
  border-left: 3px solid #fabd6f;
  padding-left: 1.25rem;
  margin-left: 0;
  font-style: italic;
  color: #1d1d1d;
}

.maexport-single .wp-block-post-content figure img {
  border-radius: 1rem;
}

.maexport-single__terms {
  font-size: 0.875rem;
  color: #1d1d1d;
}

.maexport-single__terms a {
  color: #b96038;
  text-decoration: underline;
}

.maexport-single .wp-block-post-navigation-link a {
  font-weight: 700;
  text-decoration: none;
  color: #1d1d1d;
}

.maexport-single .wp-block-post-navigation-link a:hover {
  color: #b96038;
  text-decoration: underline;
}

.maexport-related {
  text-align: center;
}

.maexport-related .wp-block-query {
  margin-top: 1.5rem;
  text-align: left;
}

/* ============================================================
   Blog — Filtri sidebar + flat cards senza bordi
   Figma Frame 110: W 384px, H hug 517px, padding 30px/16px, gap 1rem,
   Categorie 16px/600, Tag pills giallo uppercase
   Sticky desktop come TOC single
   ============================================================ */

.maexport-blog-filters {
  overflow: hidden;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #f9f9f9;
}

.maexport-blog-filters>.wp-block-group:not(.has-blu-background-color) {
  background: #efefef !important;
  border: none !important;
  border-radius: 0 0 0 0 !important;
}

.maexport-blog-filters__inner {
  padding: 1.875rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  box-sizing: border-box;
}

.maexport-blog-sidebar {
  align-self: start;
}

@media (min-width: 48em) {
  .maexport-blog-sidebar {
    position: sticky;
    top: calc(7.5rem + 1rem);
    z-index: 1;
  }
}

.maexport-blog-filters .wp-block-categories-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.maexport-blog-filters .wp-block-categories-list li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.1875rem;
  /* 19px */
  font-weight: 700;
  line-height: 1.35;
  color: #1d1d1d;
}

.maexport-blog-filters .wp-block-categories-list li::before {
  content: "";
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  background: #fabd6f;
  border-radius: 2px;
  display: inline-block;
}

html body .maexport-blog-filters .wp-block-categories-list li a,
html body .maexport-blog-filters .wp-block-categories-list a {
  color: #1d1d1d !important;
  text-decoration: none !important;
  font-weight: 700;
  font-size: inherit;
}

html body .maexport-blog-filters .wp-block-categories-list li a:hover,
html body .maexport-blog-filters .wp-block-categories-list a:hover {
  color: #b96038 !important;
  text-decoration: underline !important;
  text-decoration-color: #b96038 !important;
}

/* Titoli Categorie / Tag dentro filtri — 25px */

.maexport-blog-filters h4 {
  font-size: 1.5625rem;
  /* 25px */
  font-weight: 700;
  line-height: 1.3;
  color: #1d1d1d;
  margin: 0;
}

.maexport-blog-filters .wp-block-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.maexport-blog-filters .wp-block-tag-cloud a,
.maexport-blog-filters .tag-cloud-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: auto;
  flex: 0 1 auto;
  box-sizing: border-box;
  padding: 0.625rem 1.25rem;
  /* 10px 20px */
  background-color: #fabd6f;
  color: #1d1d1d !important;
  font-family: Sarabun, var(--wp--preset--font-family--sans, sans-serif);
  font-size: 0.875rem !important;
  /* 14px */
  font-weight: 800;
  line-height: 1.3;
  border-radius: 5px;
  text-decoration: none !important;
  border: none;
  transition: background-color 0.18s ease, color 0.18s ease;
}

.maexport-blog-filters .wp-block-tag-cloud a:hover {
  background: #1d1d1d;
  color: #f9f9f9 !important;
}

/* Header blu Filtri — padding 30px verticale già da group, titolo bianco */

.maexport-blog-filters .has-blu-background-color h3 {
  font-weight: 800;
  letter-spacing: 0.01em;
}

.maexport-flat-card {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #1d1d1d;
  background: transparent;
}

.maexport-flat-card .wp-block-post-featured-image {
  margin: 0;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #efefef;
}

.maexport-flat-card .wp-block-post-featured-image img {
  border-radius: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.maexport-flat-card .wp-block-post-title {
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  line-height: 1.3;
  font-weight: 700;
  margin: 0;
  color: #1d1d1d;
}

.maexport-flat-card .wp-block-post-title a {
  color: #1d1d1d;
  text-decoration: none;
}

.maexport-flat-card .wp-block-post-title a:hover {
  color: #b96038;
  text-decoration: underline;
}

.maexport-flat-card .wp-block-post-excerpt {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.maexport-flat-card .wp-block-post-excerpt__excerpt {
  display: none !important;
}

.maexport-flat-card .wp-block-post-excerpt__more-text {
  margin: 0;
}

.maexport-flat-card .wp-block-post-excerpt__more-link {
  margin-top: 0;
  padding: 0.55rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 800;
  border-radius: 0.625rem;
}

.maexport-flat-card .wp-block-separator {
  display: block !important;
  grid-column: 1 / -1;
  border: 0;
  border-top: 1px solid #1d1d1d;
  margin: 20px 0 0;
  width: 100%;
  height: 1px;
  background: #1d1d1d;
}

.wp-block-post-template hr,
.maexport-flat-card hr {
  grid-column: 1 / -1;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 20px 0;
}

@media (max-width: 48em) {
  .wp-block-post-template.is-layout-grid {
    grid-template-columns: 1fr !important;
  }

  .maexport-flat-card {
    display: grid !important;
    grid-template-columns: 38% 1fr !important;
    grid-template-rows: auto auto auto;
    -moz-column-gap: 0.85rem;
         column-gap: 0.85rem;
    row-gap: 0.6rem;
    align-items: center;
    padding-bottom: 0;
    border-bottom: none;
  }

  .maexport-flat-card .wp-block-post-featured-image {
    grid-column: 1;
    grid-row: 1;
    aspect-ratio: 4 / 3;
    height: auto;
  }

  .maexport-flat-card .wp-block-post-title {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    font-size: 1rem;
  }

  .maexport-flat-card .wp-block-post-excerpt {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
    align-self: start;
    margin-bottom: 0;
  }

  .maexport-flat-card .wp-block-separator {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    margin: 0.5rem 0 0 !important;
  }

  /* Nasconde immagine quando manca featured? Mantiene card compatta */

  .maexport-flat-card:not(:has(.wp-block-post-featured-image img)) {
    grid-template-columns: 1fr;
  }

  .maexport-flat-card:not(:has(.wp-block-post-featured-image img)) .wp-block-post-title {
    grid-column: 1;
  }
}

@media (min-width: 48em) {
  .maexport-flat-card {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }

  .maexport-flat-card .wp-block-separator {
    display: block !important;
    margin: 1rem 0 0 !important;
  }

  /* Desktop 2-col: una linea ogni riga (ogni 2 card) */

  .wp-block-post-template.is-layout-grid {
    gap: 1.5rem 1rem;
  }

  .wp-block-post-template>*:nth-child(even) .wp-block-separator {
    display: none !important;
  }

  .wp-block-post-template>*:nth-child(odd) .wp-block-separator {
    width: calc(200% + 1rem) !important;
  }
}

/* CTA Vedi altro nera con linea dietro — lunga quanto colonna news, centrata verticale */

.wp-block-buttons:has(.maexport-load-more) {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1.5rem;
  width: 100%;
}

.wp-block-buttons:has(.maexport-load-more)::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: #1d1d1d;
  z-index: 0;
  pointer-events: none;
}

.maexport-load-more {
  position: relative;
  z-index: 1;
  background: #1d1d1d !important;
  color: #f9f9f9 !important;
  border-color: #1d1d1d !important;
}

.maexport-load-more:hover {
  background: #000 !important;
  color: #f9f9f9 !important;
  transform: translateY(-1px);
}

@media (max-width: 48em) {
  .wp-block-post-template>*:last-child,
  .wp-block-post-template>*:last-child .maexport-flat-card {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }

  .wp-block-post-template>*:last-child .wp-block-separator,
  .wp-block-post-template>*:last-child .maexport-flat-card .wp-block-separator,
  .wp-block-post-template>*:last-child hr,
  .wp-block-post-template>*:last-child .maexport-flat-card hr {
    display: none !important;
  }

  .wp-block-buttons:has(.maexport-load-more) {
    margin-top: 1rem;
  }
}

@media (min-width: 48em) {
  .wp-block-post-template>*:nth-last-child(-n+2),
  .wp-block-post-template>*:nth-last-child(-n+2) .maexport-flat-card {
    border-bottom: none !important;
  }

  .wp-block-post-template>*:nth-last-child(-n+2) .wp-block-separator,
  .wp-block-post-template>*:nth-last-child(-n+2) .maexport-flat-card .wp-block-separator,
  .wp-block-post-template>*:nth-last-child(-n+2) hr,
  .wp-block-post-template>*:nth-last-child(-n+2) .maexport-flat-card hr {
    display: none !important;
  }
}

/* ============================================================
   Singola — TOC giallo + layout 2 colonne
   ============================================================ */

.maexport-single .wp-block-post-terms.taxonomy-category,
.maexport-single .wp-block-post-terms.taxonomy-post_tag,
.wp-block-post-terms.taxonomy-category,
.wp-block-post-terms.taxonomy-post_tag {
  font-size: var(--wp--preset--font-size--titolo-5);
  line-height: 1.3;
  font-weight: 700;
  color: #1d1d1d;
}

html body .maexport-single .wp-block-post-terms a,
html body .wp-block-post-terms.taxonomy-category a,
html body .wp-block-post-terms.taxonomy-post_tag a,
html body .taxonomy-category a,
html body .wp-block-post-terms a {
  color: #1d1d1d !important;
  text-decoration: none !important;
  font-weight: 700;
}

html body .maexport-single .wp-block-post-terms a:hover,
html body .wp-block-post-terms.taxonomy-category a:hover,
html body .wp-block-post-terms.taxonomy-post_tag a:hover,
html body .taxonomy-category a:hover,
html body .wp-block-post-terms a:hover {
  color: #b96038 !important;
  text-decoration: underline !important;
  text-underline-offset: 0.12em;
  text-decoration-color: #b96038 !important;
}

.maexport-single-columns {
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
}

.maexport-toc {
  border-radius: 16px !important;
  overflow: hidden;
}

.maexport-toc .wp-block-post-excerpt {
  font-size: 1rem;
  line-height: 1.5;
  color: #1d1d1d;
}

.maexport-toc .wp-block-post-excerpt__excerpt {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
}

.maexport-toc .wp-block-heading.has-titolo-6-font-size {
  font-size: var(--wp--preset--font-size--titolo-5) !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  margin-bottom: 1.875rem !important;
}

.maexport-toc .wp-block-separator.is-style-wide {
  margin: 1.875rem 0 !important;
}

.maexport-toc-col {
  position: sticky;
  top: calc(7.5rem + 1rem);
  align-self: start;
  z-index: 1;
}

.maexport-toc__nav {
  margin: 0 0 1.875rem 0;
}

.maexport-toc__list {
  list-style: square;
  padding-left: 1.25rem;
  margin: 0;
  display: block;
}

.maexport-toc__list li {
  display: list-item;
  margin: 0 0 0.65rem 0;
  color: #b96038;
}

.maexport-toc__list li::marker {
  color: #b96038;
}

.maexport-toc__list a {
  color: #1d1d1d;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.35;
  display: block;
}

.maexport-toc__list a:hover,
.maexport-toc__list a.is-active {
  color: #b96038;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.maexport-toc .wp-block-post-date.has-small-font-size {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 400;
  color: #1d1d1d;
  line-height: 1.2;
  opacity: 1;
  margin: 1.875rem 0 0 0;
}

.maexport-toc .wp-block-post-date.has-small-font-size::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  background-color: #1d1d1d;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.maexport-toc .wp-block-post-date.has-small-font-size time {
  font-size: inherit;
  color: inherit;
}

@media (max-width: 48em) {
  .maexport-single-columns {
    flex-direction: column;
  }

  .maexport-toc-col {
    position: static;
    width: 100%;
  }
}

/* ============================================================
   CF7 — Form centrati, campi grigi arrotondati, CTA contestuale
   ============================================================ */

.wpcf7,
.wp-block-contact-form-7-contact-form-selector,
.wpcf7-form {
  width: 100%;
  max-width: 48rem;
  margin-inline: auto;
  box-sizing: border-box;
}

.wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Righe Bootstrap legacy: centratura + gap fluido, override padding px-2/px-3 */

.wpcf7-form .row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0;
  width: 100%;
  max-width: 48rem;
  margin-inline: auto;
  justify-content: center;
  box-sizing: border-box;
}

.wpcf7-form .row>[class*="col-"] {
  flex: 1 1 18rem;
  min-width: min(100%, 18rem);
  max-width: 100%;
  padding: 0 !important;
  box-sizing: border-box;
}

.wpcf7-form .row>.col-5,
.wpcf7-form .row>.col-7 {
  flex: 1 1 18rem;
}

.wpcf7-form p {
  margin: 0;
}

.wpcf7-form label {
  display: block;
  width: 100%;
  margin: 0;
}

/* Campi grigi arrotondati — pill per input, large radius per textarea */

.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-tel,
.wpcf7-form-control.wpcf7-number,
.wpcf7-form-control.wpcf7-select,
.wpcf7-form-control.wpcf7-intl_tel,
.wpcf7-form-control.wpcf7-textarea,
.wpcf7-form-control.wpcf7-quiz {
  width: 100%;
  max-width: 100%;
  background: #efefef;
  border: 1px solid transparent;
  color: #1d1d1d;
  font-family: var(--wp--preset--font-family--sans, Sarabun, sans-serif);
  font-size: 0.9375rem;
  line-height: 1.4;
  box-sizing: border-box;
  transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-tel,
.wpcf7-form-control.wpcf7-number,
.wpcf7-form-control.wpcf7-select,
.wpcf7-form-control.wpcf7-intl_tel {
  border-radius: 9999px;
  padding: 0.875rem 1.25rem;
}

.wpcf7-form-control.wpcf7-textarea {
  border-radius: 1.25rem;
  padding: 1rem 1.25rem;
  min-height: 10rem;
  resize: vertical;
}

.wpcf7-form-control::-moz-placeholder {
  color: #a1a1a1;
  opacity: 1;
}

.wpcf7-form-control::placeholder {
  color: #a1a1a1;
  opacity: 1;
}

.wpcf7-form-control:focus {
  outline: none;
  border-color: #fabd6f;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(250, 189, 111, 0.2);
}

.wpcf7-form-control.wpcf7-not-valid {
  border-color: #d93025;
  background: #fff;
}

.wpcf7-not-valid-tip {
  font-size: 0.8125rem;
  color: #d93025;
  margin-top: 0.35rem;
  display: block;
}

/* Intl tel — dropdown full width */

.wpcf7-form-control-wrap.intl_tel-798,
.intl-tel-input {
  width: 100%;
  display: block;
}

.intl-tel-input .wpcf7-form-control.wpcf7-intl_tel {
  padding-left: 3.25rem !important;
}

/* Textarea singole — full width centrata */

.wpcf7-form>p:has(> label > .wpcf7-form-control-wrap > .wpcf7-textarea),
.wpcf7-form>p:has(.wpcf7-textarea) {
  max-width: 48rem;
  margin-inline: auto;
  width: 100%;
}

/* Checkbox privacy/marketing */

.wpcf7-checkbox {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin-top: 0.5rem;
}

.wpcf7-list-item {
  margin: 0;
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
}

.wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.875rem;
  line-height: 1.4;
  color: #1d1d1d;
  cursor: pointer;
}

.wpcf7-list-item input[type="checkbox"] {
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.15rem;
  accent-color: #054290;
}

/* Bottone invio — centrato, nero default */

.wpcf7 .bottone-invio,
.wpcf7-form .bottone-invio {
  float: none !important;
  display: flex;
  justify-content: center;
  margin-top: 0.5rem;
  width: 100%;
}

.wpcf7-submit,
.wpcf7-form-control.wpcf7-submit,
.wpcf7 input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #1d1d1d;
  color: #f9f9f9;
  border: none;
  border-radius: 0.625rem;
  padding: 0.875rem 2rem;
  font-family: var(--wp--preset--font-family--sans, Sarabun, sans-serif);
  font-size: 0.9375rem;
  font-weight: 800;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
  min-width: 10rem;
}

.wpcf7-submit:hover,
.wpcf7-form-control.wpcf7-submit:hover {
  background: #333;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.wpcf7-submit:focus-visible {
  outline: 2px solid #fabd6f;
  outline-offset: 2px;
}

/* CTA contestuale: per-vendere → blu, per-acquistare → verde */

body[class*="per-vendere"] .wpcf7-submit,
body[class*="vendere"] .wpcf7-submit,
body.page-per-vendere .wpcf7-submit,
body[class*="vendere"] .wpcf7-form-control.wpcf7-submit {
  background: #054290;
}

body[class*="per-vendere"] .wpcf7-submit:hover {
  background: #0a5ac0;
}

body[class*="per-acquistare"] .wpcf7-submit,
body[class*="acquistare"] .wpcf7-submit,
body.page-per-acquistare .wpcf7-submit,
body[class*="acquistare"] .wpcf7-form-control.wpcf7-submit {
  background: #64a164;
}

body[class*="per-acquistare"] .wpcf7-submit:hover {
  background: #4e8a4e;
}

/* Classe diretta sul submit [submit class:acquistare / class:vendere] */

.wpcf7-submit.acquistare,
.wpcf7-form-control.wpcf7-submit.acquistare,
.wp-block-button__link.acquistare,
input.wpcf7-submit.acquistare,
.wpcf7-submit.compra.acquistare {
  background: #64a164 !important;
  color: #f9f9f9 !important;
  border-color: #64a164 !important;
}

.wpcf7-submit.acquistare:hover,
.wp-block-button__link.acquistare:hover {
  background: #4e8a4e !important;
  border-color: #4e8a4e !important;
  color: #f9f9f9 !important;
}

.wpcf7-submit.vendere,
.wpcf7-form-control.wpcf7-submit.vendere,
.wp-block-button__link.vendere,
input.wpcf7-submit.vendere {
  background: #054290 !important;
  color: #f9f9f9 !important;
  border-color: #054290 !important;
}

.wpcf7-submit.vendere:hover,
.wp-block-button__link.vendere:hover {
  background: #0a5ac0 !important;
  border-color: #0a5ac0 !important;
}

.wpcf7-spinner {
  margin-left: 0.6rem;
}

.wpcf7-response-output {
  margin: 1rem auto 0 !important;
  max-width: 48rem;
  border-radius: 0.6rem;
  padding: 0.75rem 1rem !important;
  font-size: 0.875rem;
  text-align: center;
}

@media (max-width: 48em) {
  .wpcf7,
  .wp-block-contact-form-7-contact-form-selector,
  .wpcf7-form,
  .wpcf7-form .row {
    max-width: 100%;
    padding-inline: 0;
  }

  .wpcf7-form .row>[class*="col-"] {
    flex: 1 1 100%;
    min-width: 100%;
  }

  .wpcf7-form-control.wpcf7-text,
  .wpcf7-form-control.wpcf7-email,
  .wpcf7-form-control.wpcf7-tel,
  .wpcf7-form-control.wpcf7-number,
  .wpcf7-form-control.wpcf7-select,
  .wpcf7-form-control.wpcf7-intl_tel {
    padding: 0.8rem 1.1rem;
  }
}

/* Override finale — assicura CTA hover nero → testo bianco anche in home/query (più specifico di has-*) */

html body .wp-block-query .wp-block-post .wp-block-post-excerpt__more-link:hover,
html body .wp-block-query .wp-block-post .wp-block-post-excerpt__more-link:focus {
  color: #f9f9f9 !important;
  background-color: #1d1d1d !important;
  border-color: #1d1d1d !important;
}

html body .wp-block-query .wp-block-post .tag-cloud-link:hover,
html body .maexport-blog-filters .wp-block-tag-cloud a.tag-cloud-link:hover {
  color: #f9f9f9 !important;
  background-color: #1d1d1d !important;
}

/* CTA con sfondo nero base — mantieni bordo hover come da Figma */

.maexport-load-more,
.wp-block-button.is-style-nera .wp-block-button__link,
html body .maexport-load-more:hover,
html body .wp-block-button.is-style-nera .wp-block-button__link:hover {
  border: 1px solid #1d1d1d !important;
}

/* Override finale — is-style-bianca hover nero → testo bianco (vince su has-* e p a) */

html body .wp-block-button.is-style-bianca .wp-block-button__link:hover,
html body .wp-block-button.is-style-white .wp-block-button__link:hover,
html body .wp-block-button.is-style-bianca .wp-block-button__link:focus,
html body .wp-block-button.is-style-white .wp-block-button__link:focus {
  color: #f9f9f9 !important;
  background-color: #1d1d1d !important;
  border: none !important;
}

/* Ultimo override — is-style-bianca hover deve rimanere bianco su nero anche in contatti/home */

html body .wp-block-button.is-style-bianca .wp-block-button__link.wp-element-button:hover,
html body .wp-block-button.is-style-white .wp-block-button__link.wp-element-button:hover,
html body .wp-block-button.is-style-bianca .wp-block-button__link.wp-element-button:focus {
  color: #f9f9f9 !important;
  background-color: #1d1d1d !important;
  border: none !important;
}

/* Has-yellow (EN) fallback — stesso giallo #fabd6f */

.has-yellow-background-color .maexport-highlight,
.wp-block-group.has-yellow-background-color .maexport-highlight {
  color: var(--wp--preset--color--bianco, #f9f9f9);
}

.has-yellow-background-color a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link):not(.tag-cloud-link) {
  color: #b96038;
}

.has-yellow-background-color a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link):not(.tag-cloud-link):hover {
  color: #1d1d1d;
}

/* Fix is-style-bianca-verde hover giallo/nero anche in giallo — alta specificità */

html body .wp-block-button.is-style-bianca-verde .wp-block-button__link:hover,
html body .wp-block-button.is-style-bianca-green .wp-block-button__link:hover,
html body .wp-block-button.is-style-bianca-verde .wp-block-button__link:focus,
html body .wp-block-button.is-style-bianca-green .wp-block-button__link:focus {
  background-color: #fabd6f !important;
  color: #1d1d1d !important;
  border: none !important;
}

html body .wp-block-button.is-style-bianca-verde .wp-block-button__link,
html body .wp-block-button.is-style-bianca-green .wp-block-button__link {
  background-color: #f9f9f9 !important;
  color: #64a164 !important;
  border: none !important;
}

/* Contatti — link neri su giallo solo pagina contatti.
   Usa la classe helper .contatti-giallo sul gruppo giallo in Gutenberg
   (Avanzate > Classe CSS aggiuntiva) così non dipende dal body class WPML.
   Tenuti anche i fallback body per retro-compatibilità. */

.contatti-giallo a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link):not(.tag-cloud-link),
.wp-block-group.contatti-giallo a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link):not(.tag-cloud-link),
body.page-contatti .wp-block-group.has-giallo-background-color a,
body.page-contatti .wp-block-group.has-yellow-background-color a,
body.page-contatti .wp-block-group.has-background[style*="fabd6f"] a,
body.page-contatti .wp-block-group.has-background[style*="FABD6F"] a,
body.page-contatti .wp-block-group.has-background[style*="giallo"] a,
body.page-contact .wp-block-group.has-giallo-background-color a,
body.page-contact .wp-block-group.has-yellow-background-color a,
body[class*="contatti"] .wp-block-group.has-giallo-background-color a,
body[class*="contatti"] .wp-block-group.has-yellow-background-color a,
body[class*="contatti"] .wp-block-group.has-background[style*="fabd6f"] a,
body[class*="contatti"] .wp-block-group.has-background[style*="FABD6F"] a,
body[class*="contact"] .wp-block-group.has-giallo-background-color a,
body[class*="contact"] .wp-block-group.has-yellow-background-color a {
  color: var(--wp--preset--color--nero, #1d1d1d) !important;
  text-decoration-color: var(--wp--preset--color--nero, #1d1d1d) !important;
}

.contatti-giallo a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link):not(.tag-cloud-link):hover,
.wp-block-group.contatti-giallo a:not(.wp-block-button__link):not(.wp-element-button):not(.wp-block-post-excerpt__more-link):not(.tag-cloud-link):hover {
  color: var(--wp--preset--color--nero, #1d1d1d) !important;
}
