/* Aroldo · home in blocchi (classi aro-*). Porta del mockup: griglia a 12 colonne, contenitori sfalsati. */
.aro-home {
  --aro-display: clamp(2.5rem, 2.6vw + 1rem, 3.75rem);
  --aro-page: 76rem;
  --aro-bleed: max(3rem, calc((100vw - 76rem) / 2 + 3rem));
  --aro-ease: cubic-bezier(0.16, 1, 0.3, 1);
  overflow-x: clip;
}
.aro-home figure { margin: 0; }
.aro-home figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aro-home :where(h1, h2, h3, p) { margin: 0; }
.aro-home .is-layout-flow > *, .aro-home .is-layout-constrained > * { margin-block: 0; }
.aro-home section, .aro-home .aro-section { padding-block: 4.5rem; }
.aro-home [id] { scroll-margin-top: 4.5rem; }

.aro-wrap { width: 100%; max-width: var(--aro-page); margin-inline: auto !important; padding-inline: 1.5rem; box-sizing: border-box; }
@media (min-width: 48rem) { .aro-wrap { padding-inline: 3rem; } }

/* Titoli e testo */
.aro-home h1 { font-size: var(--aro-display); line-height: 1.06; letter-spacing: -0.025em; max-width: 16ch; overflow-wrap: anywhere; }
.aro-home h2 { font-size: 2.25rem; line-height: 1.12; letter-spacing: -0.02em; max-width: 20ch; margin-bottom: 2rem; overflow-wrap: anywhere; }
.aro-home h3 { font-size: 1.375rem; line-height: 1.2; }
.aro-lede { max-width: 60ch; }
.aro-prose > * + * { margin-top: 1rem; }
.aro-note { color: var(--wp--preset--color--muted); font-size: 0.875rem; max-width: 60ch; }
.aro-home .aro-accent { color: var(--wp--preset--color--olive-deep); }

/* Griglia a 12 colonne: su telefono tutto in colonna */
.aro-g12 > * + * { margin-top: 3rem; }
@media (min-width: 56rem) {
  .aro-g12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; align-items: start; }
  .aro-g12 > * { grid-column: var(--c, 1 / -1); grid-row: var(--r, auto); margin-top: var(--mt, 0) !important; }
}
.aro-c-1-5 { --c: 1 / 5; } .aro-c-1-6 { --c: 1 / 6; } .aro-c-1-7 { --c: 1 / 7; } .aro-c-1-9 { --c: 1 / 9; }
.aro-c-1-13 { --c: 1 / 13; } .aro-c-2-7 { --c: 2 / 7; } .aro-c-4-13 { --c: 4 / 13; } .aro-c-5-13 { --c: 5 / 13; }
.aro-c-7-13 { --c: 7 / 13; }
.aro-r2 { --r: 2; } .aro-r3 { --r: 3; } .aro-r4 { --r: 4; }
.aro-mt-15 { --mt: 1.5rem; } .aro-mt-2 { --mt: 2rem; } .aro-mt-3 { --mt: 3rem; } .aro-mt-4 { --mt: 4rem; } .aro-mt-7 { --mt: 7rem; }

/* Pulsanti */
.aro-home .wp-block-button__link { white-space: nowrap; border-radius: 2px; padding: 0.75rem 2rem; min-height: 2.75rem; font-weight: 600; }
.aro-home .aro-link-quiet .wp-block-button__link { background: transparent !important; color: var(--wp--preset--color--ink) !important; padding-inline: 0; border-radius: 0; text-decoration: underline; text-decoration-color: var(--wp--preset--color--olive); text-decoration-thickness: 2px; text-underline-offset: 0.2em; }

/* Hero */
.aro-hero { display: grid; grid-template-columns: minmax(0, 1fr); }
.aro-hero__text { padding: 4.5rem 1.5rem; }
.aro-hero__text .aro-lede { color: var(--wp--preset--color--muted); font-size: 1.375rem; line-height: 1.5; margin-top: 2rem; }
.aro-hero__links { margin-top: 3rem; gap: 1rem 3rem; align-items: center; }
.aro-hero__photo { position: relative; }
.aro-hero__photo img { aspect-ratio: 4 / 3; object-position: 58% 40%; }
@media (min-width: 64rem) {
  .aro-hero { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: stretch; min-height: 40rem; }
  .aro-hero__text { padding: 7rem 2rem 7rem var(--aro-bleed); align-self: center; }
  .aro-hero__photo { margin-top: 3rem; }
  .aro-hero__photo::before { content: ""; position: absolute; left: -3rem; bottom: -3rem; width: 48%; height: 46%; background: var(--wp--preset--color--sand); z-index: 0; }
  .aro-hero__photo img { position: relative; z-index: 1; height: 100%; aspect-ratio: auto; }
}

/* Frase di rottura */
.aro-statement { padding-block: 7rem 4.5rem; }
.aro-statement p { font-family: var(--wp--preset--font-family--display); font-weight: 200; font-size: clamp(1.75rem, 2.2vw + 1rem, 3rem); line-height: 1.15; letter-spacing: -0.02em; max-width: 24ch; }

/* Prodotti: due blocchi uno sopra l'altro, sfalsati in orizzontale */
.aro-card { background: var(--wp--preset--color--sand-soft); display: grid; grid-template-columns: minmax(0, 1fr); }
.aro-card__body { padding: 2rem; display: flex; flex-direction: column; gap: 0.75rem; }
.aro-card figure { aspect-ratio: 1 / 1; }
.aro-badge { align-self: flex-start; font-size: 0.875rem; font-weight: 600; background: var(--wp--preset--color--paper); padding: 0.25rem 0.75rem; }
.aro-price { font-weight: 600; font-variant-numeric: tabular-nums lining-nums; }
.aro-price span { font-weight: 400; color: var(--wp--preset--color--muted); }
@media (min-width: 56rem) {
  .aro-card--a { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
  .aro-card--b { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
  .aro-card figure { aspect-ratio: auto; height: 100%; min-height: 18rem; }
  .aro-card--b figure { order: 2; }
}
#olio h2 { margin-bottom: 3rem; }

/* Fascia uliveto con card che entra da destra */
.aro-feature { position: relative; padding: 0 !important; }
.aro-feature__photo img { aspect-ratio: 16 / 8; max-height: 36rem; width: 100%; object-position: 50% 62%; }
.aro-feature__card { background: var(--wp--preset--color--paper); padding: 2rem; margin: -3rem 1.5rem 0; position: relative; }
@media (min-width: 56rem) {
  .aro-feature__card { position: absolute; right: var(--aro-bleed); bottom: -4.5rem; width: min(30rem, 42vw); margin: 0; padding: 3rem; }
}
.aro-feature + * { padding-top: 7rem !important; }
@media (min-width: 56rem) { .aro-feature + * { padding-top: 10rem !important; } }

/* Scheda tecnica */
.aro-panel { background: var(--wp--preset--color--sand-soft); padding: 2rem; }
@media (min-width: 56rem) { .aro-panel { padding: 3rem; } }
.aro-spec table { width: 100%; border-collapse: collapse; }
.aro-spec td { padding: 1rem 0; border-top: 1px solid var(--wp--preset--color--sand); vertical-align: top; }
.aro-spec tr:last-child td { border-bottom: 1px solid var(--wp--preset--color--sand); }
.aro-spec td:first-child { color: var(--wp--preset--color--muted); width: 38%; padding-right: 1.5rem; }
.aro-tall img { aspect-ratio: 4 / 5; }

/* Origini: la foto con la bottiglia è un livello sopra la foto storica */
.aro-origini__photos { position: relative; isolation: isolate; padding-bottom: 1.5rem; }
.aro-origini__photos .aro-base img { aspect-ratio: 4 / 3; }
.aro-origini__photos .aro-layer { position: relative; z-index: 3; width: 62%; margin-top: -3rem; box-shadow: 0 14px 30px rgba(0, 0, 0, 0.14); }
.aro-origini__photos .aro-layer img { aspect-ratio: 3 / 2; object-position: 50% 55%; }
@media (min-width: 56rem) {
  .aro-origini__photos { margin-right: calc(var(--aro-bleed) * -1); }
  .aro-origini__photos .aro-base { width: 88%; margin-left: auto; }
  .aro-origini__photos .aro-layer { width: 58%; margin: -4.5rem 0 0 -3rem; }
}

/* Professionisti */
.aro-pro { background: var(--wp--preset--color--sand); }
@media (min-width: 56rem) {
  .aro-pro { background: linear-gradient(to right, var(--wp--preset--color--paper) 0 14%, var(--wp--preset--color--sand) 14% 100%); padding-block: 7rem; }
}
.aro-pro__form { background: var(--wp--preset--color--paper); padding: 2rem; }
@media (min-width: 56rem) { .aro-pro__form { padding: 3rem; } }
.aro-pro__photo img { aspect-ratio: 4 / 3; }
.aro-home .wpcf7 label { display: block; font-size: 0.875rem; font-weight: 600; }
.aro-home .wpcf7 input[type="text"], .aro-home .wpcf7 input[type="email"], .aro-home .wpcf7 select, .aro-home .wpcf7 textarea {
  width: 100%; font: inherit; color: inherit; background: var(--wp--preset--color--paper);
  border: 1px solid var(--wp--preset--color--muted); border-radius: 2px; padding: 0.75rem 1rem; min-height: 2.75rem; margin-top: 0.25rem;
}
.aro-home .wpcf7 textarea { min-height: 6rem; }
.aro-home .wpcf7 input[type="submit"] { background: var(--wp--preset--color--olive-deep); color: #fff; border: 0; border-radius: 2px; padding: 0.75rem 2rem; min-height: 2.75rem; font: inherit; font-weight: 600; cursor: pointer; white-space: nowrap; transition: background-color 180ms var(--aro-ease); }
.aro-home .wpcf7 input[type="submit"]:hover { background: var(--wp--preset--color--ink); }
.aro-form-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
.aro-form-grid > p { margin: 0 !important; }
@media (min-width: 40rem) { .aro-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .aro-form-grid .aro-full { grid-column: 1 / -1; } }
.aro-consent { font-size: 0.8125rem; color: var(--wp--preset--color--muted); }
.aro-consent label { font-weight: 400; }
.aro-notify p { margin: 0 0 0.75rem !important; }
.aro-notify p:first-child { display: flex; gap: 0.5rem; align-items: stretch; }
.aro-notify .wpcf7-form-control-wrap { flex: 1 1 auto; min-width: 0; }

/* Giornale: una grande a sinistra, due piccole una sopra l'altra a destra (solo desktop) */
.aro-giornale .wp-block-post-template { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.aro-giornale .wp-block-post-template > li { border-top: 3px solid var(--wp--preset--color--olive); padding-top: 1rem; }
.aro-giornale .wp-block-post-featured-image { display: none; margin: 0 0 1rem; overflow: hidden; }
.aro-giornale .wp-block-post-date { color: var(--wp--preset--color--muted); font-size: 0.875rem; }
.aro-giornale .wp-block-post-title { font-size: 1.375rem; line-height: 1.25; margin-top: 0.25rem; }
.aro-giornale .wp-block-post-title a { text-decoration: none; }
.aro-giornale .wp-block-post-title a:hover { text-decoration: underline; text-decoration-color: var(--wp--preset--color--olive); }
@media (min-width: 56rem) {
  .aro-giornale .wp-block-post-template { grid-template-columns: 7fr 4fr; grid-template-rows: auto auto; column-gap: 3rem; row-gap: 2rem; align-items: start; }
  .aro-giornale .wp-block-post-template > li:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
  .aro-giornale .wp-block-post-template > li:nth-child(2) { grid-column: 2; grid-row: 1; margin-top: 3rem; }
  .aro-giornale .wp-block-post-template > li:nth-child(3) { grid-column: 2; grid-row: 2; }
  .aro-giornale .wp-block-post-template > li:nth-child(1) .wp-block-post-title { font-size: 2.25rem; line-height: 1.15; }
  .aro-giornale .wp-block-post-featured-image { display: block; }
  .aro-giornale li:nth-child(1) .wp-block-post-featured-image img { aspect-ratio: 3 / 2; }
  .aro-giornale li:nth-child(n+2) .wp-block-post-featured-image img { aspect-ratio: 16 / 9; }
  .aro-giornale .wp-block-post-featured-image img { width: 100%; object-fit: cover; transition: scale 700ms var(--aro-ease); }
  .aro-giornale li:hover .wp-block-post-featured-image img { scale: 1.04; }
}

.aro-home .aro-link-quiet .wp-block-button__link { border: 0 !important; box-shadow: none !important; }


/* ---- Rifinitura: ritmo verticale coerente, tabella, moduli ---- */
.aro-home .is-layout-flow > * + * { margin-block-start: 1rem; }
.aro-home .is-layout-flow > h1 + *, .aro-home .is-layout-flow > h2 + * { margin-block-start: 1.75rem; }
.aro-home .is-layout-flow > h3 + * { margin-block-start: 0.5rem; }
.aro-home .is-layout-flow > .wp-block-buttons, .aro-home .is-layout-flow > figure, .aro-home .is-layout-flow > .wp-block-table { margin-block-start: 2.5rem; }
.aro-home .aro-g12 > * + * { margin-top: 3rem; }
.aro-home .aro-hero__text > h1 + * { margin-block-start: 2rem; }
.aro-home .aro-hero__text > .aro-hero__links { margin-block-start: 3rem; }
.aro-home .aro-g12 > h2 { margin-bottom: 2.5rem !important; }
.aro-home .aro-note + .wpcf7 { margin-top: 1.5rem; }
.aro-home .aro-card__body > * + * { margin-block-start: 0.75rem; }
.aro-home .aro-card__body > h3 { margin-block-start: 1.25rem; }
.aro-home .aro-feature__card > h2 + * { margin-block-start: 1.5rem; }
.aro-home .aro-panel > h2 { margin-bottom: 2rem; }

/* Scheda tecnica: senza bordi */
.aro-home .aro-spec table, .aro-home .aro-spec tr, .aro-home .aro-spec td, .aro-home .aro-spec th { border: 0 !important; }
.aro-home .aro-spec td { padding: 0.875rem 0; vertical-align: top; line-height: 1.5; }
.aro-home .aro-spec td:first-child { width: 34%; padding-right: 2rem; padding-top: 1rem; color: var(--wp--preset--color--muted); font-size: 0.8125rem; letter-spacing: 0.06em; text-transform: uppercase; }

/* Modulo professionisti: sfondo del blocco, campi bianchi senza bordi, tipografia del tema */
.aro-home .aro-pro__form { background: transparent; padding: 0; }
.aro-home .wpcf7 form, .aro-home .wpcf7 label, .aro-home .wpcf7 input, .aro-home .wpcf7 select, .aro-home .wpcf7 textarea { font-family: var(--wp--preset--font-family--body); }
.aro-home .wpcf7 label { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--ink); }
.aro-home .wpcf7 input[type="text"], .aro-home .wpcf7 input[type="email"], .aro-home .wpcf7 select, .aro-home .wpcf7 textarea {
  border: 0; border-radius: 0; box-shadow: none; background: var(--wp--preset--color--paper); font-size: 1rem; line-height: 1.4;
  padding: 0.875rem 1rem; margin-top: 0.5rem; text-transform: none; letter-spacing: 0; font-weight: 400;
}
.aro-home .wpcf7 input:focus-visible, .aro-home .wpcf7 select:focus-visible, .aro-home .wpcf7 textarea:focus-visible { outline: 2px solid var(--wp--preset--color--olive-deep); outline-offset: 0; }
.aro-home .wpcf7 ::placeholder { color: var(--wp--preset--color--muted); opacity: 1; }
.aro-home .aro-consent, .aro-home .aro-consent label { font-size: 0.8125rem; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--wp--preset--color--ink); }
.aro-home .aro-consent a { text-decoration-color: var(--wp--preset--color--olive-deep); }
.aro-home .wpcf7-not-valid-tip, .aro-home .wpcf7-response-output { font-size: 0.8125rem; }
.aro-home .aro-notify input[type="email"] { background: var(--wp--preset--color--sand-soft); margin-top: 0; }
.aro-form-grid { gap: 1.5rem; }


/* campi del modulo entro il contenitore */
.aro-home .wpcf7 input[type="text"], .aro-home .wpcf7 input[type="email"], .aro-home .wpcf7 select, .aro-home .wpcf7 textarea { box-sizing: border-box; max-width: 100%; }
.aro-home .wpcf7 .wpcf7-form-control-wrap { display: block; }

/* ---- Round 3: foto bottiglia senza ombra, a tutta larghezza su telefono ---- */
.aro-origini__photos .aro-layer { box-shadow: none !important; }
@media (max-width: 55.99rem) { .aro-origini__photos .aro-layer { width: 100%; margin-top: -2rem; } }

/* Avvisami: su telefono campo a tutta larghezza e pulsante sotto */
@media (max-width: 40rem) {
  .aro-home .aro-notify p:first-child { flex-direction: column; align-items: stretch; }
  .aro-home .aro-notify input[type="submit"] { width: 100%; }
}

/* ---- Round 4: box prodotto, foto a filo con il blocco ---- */
.aro-home .aro-card > figure, .aro-home .aro-card > .wp-block-image { margin: 0 !important; }
.aro-home .aro-card--a { margin-top: 0 !important; }

/* ---- Round 4b: scheda prodotto senza margine interno: foto a filo ---- */
.aro-home .aro-card { padding: 0 !important; }


/* ===== Pagine interne ===== */
.aro-inner { min-height: 60vh; }
.aro-eyebrow { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wp--preset--color--olive-deep); }
.aro-eyebrow a { color: inherit; text-decoration: none; }
.aro-home .aro-pagehero { padding-block: 4rem 3rem; }
@media (min-width: 56rem) { .aro-home .aro-pagehero { padding-block: 6.5rem 4rem; } }
.aro-home .aro-pagehero h1 { max-width: 18ch; }
.aro-pagehero .aro-lede { color: var(--wp--preset--color--muted); font-size: 1.25rem; line-height: 1.5; }
@media (min-width: 56rem) { .aro-pagehero .aro-lede { --c: 4 / 11; --mt: 1rem; } }
.aro-c-3-11 { --c: 3 / 11; } .aro-c-1-8 { --c: 1 / 8; } .aro-c-6-13 { --c: 6 / 13; } .aro-c-2-9 { --c: 2 / 9; } .aro-c-1-10 { --c: 1 / 10; }
.aro-c-2-11 { --c: 2 / 11; } .aro-c-1-4 { --c: 1 / 4; } .aro-c-8-13 { --c: 8 / 13; } .aro-c-5-9 { --c: 5 / 9; } .aro-c-9-13 { --c: 9 / 13; }
.aro-c-1-5 { --c: 1 / 5; } .aro-c-5-8 { --c: 5 / 8; } .aro-c-8-11 { --c: 8 / 11; } .aro-c-3-9 { --c: 3 / 9; } .aro-c-7-12 { --c: 7 / 12; }
.aro-mt-5 { --mt: 5rem; } .aro-mt-6 { --mt: 6rem; }

/* Testi legali e articoli: colonna di lettura */
.aro-inner .aro-legal__body > * { max-width: 70ch; }
.aro-inner .aro-legal__body > .alignwide, .aro-inner .aro-legal__body > .alignfull, .aro-inner .aro-legal__body > [class*="wc-block"], .aro-inner .aro-legal__body > [class*="woocommerce"] { max-width: none; }
.aro-inner .aro-legal__body > * + * { margin-top: 1rem; }
.aro-inner .aro-legal__body h2 { font-size: 1.75rem; margin: 3rem 0 1rem; max-width: 30ch; }
.aro-inner .aro-legal__body h3 { font-size: 1.25rem; margin: 2rem 0 0.5rem; }
.aro-inner .aro-legal__body h4, .aro-inner .aro-legal__body h5 { font-size: 1rem; margin: 1.5rem 0 0.25rem; }
.aro-inner .aro-legal__body ul, .aro-inner .aro-legal__body ol { padding-left: 1.25rem; }
.aro-inner .aro-legal__body li + li { margin-top: 0.375rem; }
.aro-inner .aro-legal__body figure { margin-block: 2rem; }
.aro-inner .aro-legal__body table { width: 100%; border-collapse: collapse; }
.aro-inner .aro-legal__body td, .aro-inner .aro-legal__body th { border-bottom: 1px solid var(--wp--preset--color--sand); padding: 0.625rem 0.5rem 0.625rem 0; text-align: left; vertical-align: top; }
.aro-home.aro-inner > .aro-section > .aro-wrap > h1 { margin-bottom: 2.5rem; }
.aro-single__date { color: var(--wp--preset--color--muted); font-size: 0.875rem; margin-top: 1rem; }
.aro-single__img { margin-top: 2rem; margin-bottom: 2.5rem; }
.aro-single__img img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; height: auto; }
.aro-single__back { margin-top: 3rem; }
.aro-single__back a { font-weight: 600; text-decoration-color: var(--wp--preset--color--olive); }

/* Elenco del Giornale */
.aro-archivio .wp-block-post-template { list-style: none; margin: 3rem 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 3rem 2rem; }
.aro-archivio .wp-block-post-template > li { border-top: 3px solid var(--wp--preset--color--olive); padding-top: 1rem; }
.aro-archivio .wp-block-post-featured-image { margin: 0 0 1rem; overflow: hidden; }
.aro-archivio .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; transition: scale 700ms var(--aro-ease); }
.aro-archivio li:hover .wp-block-post-featured-image img { scale: 1.04; }
.aro-archivio .wp-block-post-date { color: var(--wp--preset--color--muted); font-size: 0.875rem; }
.aro-archivio .wp-block-post-title { font-size: 1.375rem; line-height: 1.25; margin-top: 0.25rem; }
.aro-archivio .wp-block-post-title a { text-decoration: none; }
.aro-archivio .wp-block-post-title a:hover { text-decoration: underline; text-decoration-color: var(--wp--preset--color--olive); }
.aro-archivio .wp-block-post-excerpt { margin-top: 0.75rem; color: var(--wp--preset--color--muted); font-size: 0.9375rem; }
.aro-archivio .wp-block-post-excerpt p { margin: 0; }
@media (min-width: 40rem) { .aro-archivio .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) {
  .aro-archivio .wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 3rem; }
  .aro-archivio .wp-block-post-template > li:nth-child(1) { grid-column: span 2; }
  .aro-archivio .wp-block-post-template > li:nth-child(1) .wp-block-post-title { font-size: 2.25rem; line-height: 1.15; }
  .aro-archivio .wp-block-post-template > li:nth-child(3n+2):not(:first-child) { margin-top: 3rem; }
}
.aro-archivio .wp-block-query-pagination { margin-top: 4rem; gap: 1.5rem; font-weight: 600; }
.aro-archivio .wp-block-query-pagination a { text-decoration-color: var(--wp--preset--color--olive); }
.aro-archivio .page-numbers.current { color: var(--wp--preset--color--olive-deep); }

/* Step by step */
.aro-step figure img { aspect-ratio: 4 / 3; }
.aro-step__date { font-family: var(--wp--preset--font-family--display); font-size: 1.75rem; font-weight: 300; line-height: 1.1; margin-top: 1rem !important; }
.aro-step__label { color: var(--wp--preset--color--muted); margin-top: 0.25rem !important; }
.aro-steps > .aro-step { margin-top: 0 !important; margin-bottom: 3.5rem; }
@media (min-width: 56rem) {
  .aro-steps > .aro-step:nth-child(odd) { --c: 1 / 8; }
  .aro-steps > .aro-step:nth-child(even) { --c: 6 / 13; }
  .aro-steps > .aro-step { margin-bottom: 4.5rem; }
}

/* Come funziona */
.aro-how { counter-reset: aro-n; }
.aro-how__item { counter-increment: aro-n; border-top: 1px solid var(--wp--preset--color--sand); padding-top: 1.25rem; }
.aro-how__item::before { content: counter(aro-n, decimal-leading-zero); display: block; font-family: var(--wp--preset--font-family--display); font-size: 2.5rem; font-weight: 200; color: var(--wp--preset--color--olive-deep); line-height: 1; margin-bottom: 1rem; }
.aro-facts .aro-fact { padding-block: 1.5rem; border-top: 1px solid var(--wp--preset--color--sand); }

/* Capitoli della storia */
.aro-chapter h2 { margin-bottom: 1.25rem; max-width: 18ch; }
.aro-bignum { font-family: var(--wp--preset--font-family--display); font-weight: 200; font-size: clamp(4rem, 8vw, 7.5rem); line-height: 1; letter-spacing: -0.03em; color: var(--wp--preset--color--olive-deep); }

/* Contatti */
.aro-contact-list p { margin: 0 0 1.25rem; }
.aro-contact-list strong { display: block; font-size: 0.8125rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--muted); font-weight: 600; margin-bottom: 0.125rem; }
.aro-contact-list a { text-decoration-color: var(--wp--preset--color--olive); }
.aro-home .aro-contact-form { background: var(--wp--preset--color--sand-soft); padding: 2rem; }
@media (min-width: 56rem) { .aro-home .aro-contact-form { padding: 3rem; } }

/* Pie di pagina: link di servizio */
.aro-footer__links { margin: 0 !important; padding-block: 1.5rem 0; font-size: 0.8125rem; color: var(--wp--preset--color--muted); display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; }
.aro-footer__links a { color: inherit; text-decoration: none; }
.aro-footer__links a:hover { color: var(--wp--preset--color--olive-deep); text-decoration: underline; }


/* ===== Negozio (modelli classici di WooCommerce) ===== */
.aro-shop .woocommerce-breadcrumb { font-size: 0.8125rem; color: var(--wp--preset--color--muted); margin-bottom: 2.5rem; }
.aro-shop .woocommerce-breadcrumb a { color: inherit; text-decoration: none; }
.aro-shop .woocommerce-breadcrumb a:hover { text-decoration: underline; }
.aro-shop .woocommerce-products-header { margin-bottom: 3rem; }
.aro-shop .woocommerce-products-header h1, .aro-shop .product_title { font-size: var(--aro-display); line-height: 1.06; letter-spacing: -0.025em; max-width: 16ch; margin: 0; }
.aro-shop .woocommerce-result-count, .aro-shop .woocommerce-ordering { display: none; }
.aro-shop .term-description { margin-top: 1.5rem; max-width: 60ch; color: var(--wp--preset--color--muted); }
.aro-shop ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 3rem 2rem; }
.aro-shop ul.products li.product { margin: 0 !important; width: auto !important; float: none !important; padding: 0; background: var(--wp--preset--color--sand-soft); display: flex; flex-direction: column; }
.aro-shop ul.products li.product a.woocommerce-LoopProduct-link { display: block; text-decoration: none; color: inherit; }
.aro-shop ul.products li.product img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; display: block; margin: 0; }
.aro-shop ul.products li.product .woocommerce-loop-product__title { font-size: 1.375rem; line-height: 1.2; padding: 1.5rem 1.5rem 0; margin: 0; }
.aro-shop ul.products li.product .price { display: block; padding: 0.5rem 1.5rem 0; font-weight: 600; font-variant-numeric: tabular-nums lining-nums; }
.aro-shop ul.products li.product .price .amount, .aro-shop .price .amount { color: inherit; }
.aro-shop ul.products li.product .woocommerce-price-suffix { font-weight: 400; color: var(--wp--preset--color--muted); }
.aro-shop ul.products li.product .button { align-self: flex-start; margin: 1rem 1.5rem 1.5rem; }
.aro-shop ul.products li.product .onsale, .aro-shop span.onsale { position: static; display: inline-block; min-height: 0; min-width: 0; line-height: 1.4; border-radius: 0; background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); font-size: 0.875rem; font-weight: 600; padding: 0.25rem 0.75rem; margin: 1rem 1.5rem 0; }
.aro-shop .button, .aro-shop button.button, .aro-shop .single_add_to_cart_button, .aro-shop a.button { background: var(--wp--preset--color--olive-deep); color: #fff; border: 0; border-radius: 2px; padding: 0.75rem 2rem; min-height: 2.75rem; font: inherit; font-weight: 600; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; transition: background-color 180ms var(--aro-ease); }
.aro-shop .button:hover, .aro-shop a.button:hover, .aro-shop .single_add_to_cart_button:hover { background: var(--wp--preset--color--ink); color: #fff; }
.aro-shop .stock.out-of-stock, .aro-shop p.stock { font-weight: 600; }
@media (min-width: 40rem) { .aro-shop ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 56rem) {
  .aro-shop ul.products { column-gap: 3rem; }
  .aro-shop ul.products li.product:nth-child(even) { margin-top: 3rem !important; }
}

/* scheda prodotto */
.aro-shop--single div.product { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
.aro-shop--single div.product .woocommerce-product-gallery { margin: 0; width: 100% !important; float: none !important; }
.aro-shop--single div.product .summary { float: none !important; width: 100% !important; margin: 0 !important; }
.aro-shop--single div.product .woocommerce-tabs, .aro-shop--single div.product .related, .aro-shop--single div.product .upsells { grid-column: 1 / -1; }
.aro-shop--single .product_title { font-size: clamp(2rem, 2vw + 1rem, 3rem); max-width: 20ch; }
.aro-shop--single .summary .price { font-size: 1.25rem; font-weight: 600; margin: 1.25rem 0; }
.aro-shop--single .woocommerce-product-details__short-description { max-width: 55ch; }
.aro-shop--single .woocommerce-tabs ul.tabs { list-style: none; display: flex; gap: 1.5rem; padding: 0; margin: 0 0 1.5rem; border-bottom: 1px solid var(--wp--preset--color--sand); }
.aro-shop--single .woocommerce-tabs ul.tabs li { background: none; border: 0; margin: 0; padding: 0 0 0.75rem; }
.aro-shop--single .woocommerce-tabs ul.tabs li a { color: inherit; text-decoration: none; font-weight: 600; }
.aro-shop--single .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--wp--preset--color--olive-deep); margin-bottom: -1px; }
.aro-shop--single .woocommerce-tabs ul.tabs::before, .aro-shop--single .woocommerce-tabs ul.tabs li::before, .aro-shop--single .woocommerce-tabs ul.tabs li::after { display: none; }
.aro-shop--single .related.products > h2, .aro-shop--single .upsells > h2 { font-size: 1.75rem; margin: 3rem 0 1.5rem; }
.aro-shop--single .product_meta { margin-top: 1.5rem; font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.aro-shop--single .quantity input { min-height: 2.75rem; width: 4.5rem; text-align: center; font: inherit; border: 1px solid var(--wp--preset--color--sand); border-radius: 2px; }
.aro-shop--single form.cart { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: 1.5rem; }
@media (min-width: 56rem) {
  .aro-shop--single div.product { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1.5rem; }
  .aro-shop--single div.product .woocommerce-product-gallery { grid-column: 1 / 7; }
  .aro-shop--single div.product .summary { grid-column: 8 / 13; margin-top: 4rem !important; }
}

.aro-shop ul.products::before, .aro-shop ul.products::after { content: none !important; display: none !important; }
.aro-shop .woocommerce-products-header__title { font-weight: inherit; }

.aro-c-2-8 { --c: 2 / 8; } .aro-c-5-12 { --c: 5 / 12; }

/* galleria della scheda prodotto (WooCommerce classico senza i suoi fogli di stile) */
.aro-shop .woocommerce-product-gallery { position: relative; }
.aro-shop .woocommerce-product-gallery .flex-viewport { overflow: hidden; }
.aro-shop .woocommerce-product-gallery__wrapper { margin: 0; }
.aro-shop .woocommerce-product-gallery__image img, .aro-shop .woocommerce-product-gallery__wrapper img { width: 100%; height: auto; display: block; }
.aro-shop .woocommerce-product-gallery img.zoomImg { position: absolute !important; top: 0; left: 0; width: auto !important; max-width: none; height: auto; opacity: 0; pointer-events: none; }
.aro-shop .woocommerce-product-gallery .flex-control-nav { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; margin: 0.5rem 0 0; padding: 0; }
.aro-shop .woocommerce-product-gallery .flex-control-nav li { margin: 0; }
.aro-shop .woocommerce-product-gallery .flex-control-nav img { width: 100%; height: auto; opacity: 0.55; cursor: pointer; }
.aro-shop .woocommerce-product-gallery .flex-control-nav img.flex-active, .aro-shop .woocommerce-product-gallery .flex-control-nav img:hover { opacity: 1; }
.aro-shop .woocommerce-product-gallery__trigger { position: absolute; top: 0.75rem; right: 0.75rem; z-index: 2; width: 2.25rem; height: 2.25rem; background: var(--wp--preset--color--paper); border-radius: 50%; text-indent: -9999px; overflow: hidden; }
.aro-shop img.emoji { display: inline; width: 1em; height: 1em; }

/* ---- Scheda prodotto: miniature, attributi in orizzontale, stato scorta allineato; footer centrato ---- */
.aro-shop .woocommerce-product-gallery .flex-control-nav { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 0.75rem !important; margin: 0.75rem 0 0 !important; padding: 0 !important; list-style: none !important; }
.aro-shop .woocommerce-product-gallery .flex-control-nav li { width: auto !important; float: none !important; margin: 0 !important; aspect-ratio: 1 / 1; overflow: hidden; }
.aro-shop .woocommerce-product-gallery .flex-control-nav li img { width: 100% !important; height: 100% !important; object-fit: cover; opacity: 0.6; cursor: pointer; display: block; }
.aro-shop .woocommerce-product-gallery .flex-control-nav li img.flex-active, .aro-shop .woocommerce-product-gallery .flex-control-nav li img:hover { opacity: 1; }

.aro-shop .woocommerce-Tabs-panel div:has(> .product.attribute) { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 0; margin-top: 2rem; border-top: 1px solid var(--wp--preset--color--sand); }
.aro-shop .woocommerce-Tabs-panel div:has(> .product.attribute) > div { display: flex; flex-direction: column; gap: 0.25rem; padding: 1rem 1.5rem 1rem 0; border-bottom: 1px solid var(--wp--preset--color--sand); }
.aro-shop .woocommerce-Tabs-panel div:has(> .product.attribute) > div > strong { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.aro-shop .woocommerce-Tabs-panel div:has(> .product.attribute) > div > .value { display: block; }

.aro-shop ul.products li.product .stock, .aro-shop ul.products li.product p.stock { margin: 0.75rem 0 0; padding: 0 1.5rem; font-size: 0.9375rem; }

.aro-footer__links { justify-content: center; text-align: center; padding-inline: 1.5rem; }

/* attributi: la descrizione e gli attributi stanno nello stesso contenitore, quindi flex a capo */
.aro-shop .woocommerce-Tabs-panel div:has(> .product.attribute) { display: flex !important; flex-wrap: wrap; gap: 0 !important; border-top: 0 !important; margin-top: 0 !important; }
.aro-shop .woocommerce-Tabs-panel div:has(> .product.attribute) > * { flex: 0 0 100%; }
.aro-shop .woocommerce-Tabs-panel div:has(> .product.attribute) > div:has(> strong) { flex: 1 1 11rem; border-top: 1px solid var(--wp--preset--color--sand); }
.aro-shop .woocommerce-Tabs-panel div:has(> .product.attribute) > p:empty, .aro-shop .woocommerce-Tabs-panel div:has(> .product.attribute) > p:has(> br:only-child) { display: none; }
.aro-shop .woocommerce-Tabs-panel div:has(> .product.attribute) > div:has(> strong):first-of-type { }
@media (min-width: 56rem) {
  .aro-shop--single div.product .woocommerce-product-gallery { grid-column: 1 / 8; }
  .aro-shop--single div.product .summary { grid-column: 9 / 13; }
}

/* gli attributi stanno direttamente nel pannello della scheda */
.aro-shop .woocommerce-Tabs-panel:has(> .product.attribute) { display: flex; flex-wrap: wrap; gap: 0; }
.aro-shop .woocommerce-Tabs-panel:has(> .product.attribute) > * { flex: 0 0 100%; }
.aro-shop .woocommerce-Tabs-panel:has(> .product.attribute) > div:has(> strong) { flex: 1 1 11rem; display: flex; flex-direction: column; gap: 0.25rem; padding: 1rem 1.5rem 1rem 0; border-top: 1px solid var(--wp--preset--color--sand); }
.aro-shop .woocommerce-Tabs-panel:has(> .product.attribute) > div:has(> strong) > strong { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.aro-shop .woocommerce-Tabs-panel:has(> .product.attribute) > p:empty { display: none; }

.aro-shop .woocommerce-Tabs-panel:has(> .product.attribute) > div:has(> strong) { box-sizing: border-box; flex: 1 1 9rem; min-width: 0; }

/* Giornale: sfalsamento deciso per colonna (0 / 3,5 / 7 rem); link del footer centrati */
.aro-archivio .wp-block-post-template > li:nth-child(3n+2):not(:first-child) { margin-top: 0; }
@media (min-width: 40rem) and (max-width: 63.99rem) {
  .aro-archivio .wp-block-post-template > li:nth-child(even) { margin-top: 3.5rem; }
}
@media (min-width: 64rem) {
  .aro-archivio .wp-block-post-template > li:nth-child(3n+1):not(:first-child) { margin-top: 3.5rem; }
  .aro-archivio .wp-block-post-template > li:nth-child(3n+2) { margin-top: 7rem; }
  .aro-archivio .wp-block-post-template > li:nth-child(3n) { margin-top: 0; }
}
.aro-footer__links { margin-inline: auto !important; width: 100%; max-width: var(--wp--style--global--wide-size, 76rem); box-sizing: border-box; }

@media (min-width: 64rem) {
  .aro-archivio .wp-block-post-template > li:nth-child(3n+2):not(:first-child) { margin-top: 7rem; }
}

/* ---- Articolo: spaziatura piu' ampia ---- */
.aro-pagehero .aro-single__date { --mt: 1.5rem; margin-top: 1.5rem; }
.aro-pagehero .aro-single__img { --mt: 2.5rem; margin-top: 2.5rem; margin-bottom: 0; }
.aro-pagehero .aro-legal__body { --mt: 4rem; margin-top: 4rem; font-size: 1.0625rem; line-height: 1.8; }
.aro-pagehero .aro-legal__body > * + * { margin-top: 1.5rem; }
.aro-pagehero .aro-legal__body > h2 { margin: 4rem 0 1.25rem; max-width: 26ch; }
.aro-pagehero .aro-legal__body > h3 { margin: 3rem 0 1rem; }
.aro-pagehero .aro-legal__body > h4 { margin: 2.5rem 0 0.75rem; }
.aro-pagehero .aro-legal__body > figure, .aro-pagehero .aro-legal__body > .wp-block-image, .aro-pagehero .aro-legal__body > .wp-block-embed, .aro-pagehero .aro-legal__body > .wp-block-buttons { margin-top: 3rem; margin-bottom: 3rem; }
.aro-pagehero .aro-legal__body > ul, .aro-pagehero .aro-legal__body > ol { margin-block: 1.5rem; }
.aro-pagehero .aro-single__back { --mt: 5rem; margin-top: 5rem; padding-top: 1.5rem; border-top: 1px solid var(--wp--preset--color--sand); }
.aro-home .aro-pagehero:has(.aro-single__back) { padding-bottom: 6rem; }
@media (max-width: 55.99rem) {
  .aro-pagehero .aro-single__img { margin-top: 2rem; }
  .aro-pagehero .aro-legal__body { margin-top: 3rem; }
}

/* ---- Avvisami: campo e pulsante della stessa altezza e dello stesso corpo ---- */
.aro-home .aro-notify input[type="email"], .aro-home .aro-notify input[type="submit"] { box-sizing: border-box; height: 3.25rem; min-height: 3.25rem; margin: 0; }
.aro-home .aro-notify input[type="email"] { padding-block: 0; line-height: 3.25rem; font-size: 1rem; }
.aro-home .aro-notify input[type="submit"] { padding-block: 0; font-size: 1rem; line-height: 1; }
.aro-home .aro-notify .wpcf7-spinner { display: none; }

/* ---- Casa Olivo: finestra sull'agriturismo ---- */
.aro-mt-n5 { --mt: -5rem; }
.aro-casa { background: var(--wp--preset--color--sand-soft); }
.aro-casa__text .aro-eyebrow { margin-bottom: 0.75rem; }
.aro-casa__text h2 { max-width: 16ch; }
.aro-casa__facts { color: var(--wp--preset--color--muted); font-size: 0.9375rem; line-height: 1.6; border-top: 1px solid var(--wp--preset--color--sand); padding-top: 1rem; }
.aro-casa__photo img { aspect-ratio: 4 / 3; }
.aro-casa__second { position: relative; z-index: 2; }
.aro-casa__second img { aspect-ratio: 4 / 3; }
@media (min-width: 56rem) {
  .aro-casa { padding-bottom: 8rem; }
  .aro-casa__photo { --r: 1; }
}
@media (max-width: 55.99rem) {
  .aro-casa__second { width: 80%; margin-left: auto; margin-top: -3rem !important; }
}

.aro-c-3-8 { --c: 3 / 8; }

@media (min-width: 56rem) {
  .aro-casa .aro-g12 { align-items: stretch; }
  .aro-casa__text { align-self: center; }
  .aro-casa__photo { display: flex; }
  .aro-casa__photo img { aspect-ratio: auto; height: 100%; min-height: 28rem; object-fit: cover; }
  .aro-casa__second { align-self: start; }
}

@media (min-width: 56rem) {
  .aro-casa .aro-g12 { align-items: start; }
  .aro-casa__text { align-self: center; }
  .aro-casa__photo { display: block; }
  .aro-casa__photo img { aspect-ratio: 1 / 1; height: auto; min-height: 0; object-fit: cover; width: 100%; }
}

@media (min-width: 56rem) { .aro-casa .aro-casa__second { --c: 7 / 12; } }

/* spazio bianco tra la fascia Casa Olivo e la fascia professionisti, come tra le altre sezioni */
.aro-home .aro-casa { margin-block-end: 0; }
.aro-home .aro-casa + * { margin-block-start: 6rem !important; }
@media (max-width: 55.99rem) { .aro-home .aro-casa + * { margin-block-start: 4rem !important; } .aro-casa { padding-bottom: 4.5rem; } }

/* ---- Prezzi e disponibilita' collegati a WooCommerce ---- */
.aro-card__body p:empty, .aro-mega p:empty { display: none; }
.aro-card__body p:has(> .aro-badge) { align-self: flex-start; }
.aro-card__body .aro-badge, .aro-mega .aro-badge { display: inline-block; }
.aro-buy { font-weight: 600; text-decoration-color: var(--wp--preset--color--olive); text-underline-offset: 0.25em; }

/* Origini: foto larga di chiusura */
.aro-casa-wide { margin-top: 4rem !important; }
.aro-casa-wide img { aspect-ratio: 21 / 9; width: 100%; object-fit: cover; object-position: 50% 60%; }
@media (max-width: 55.99rem) { .aro-casa-wide img { aspect-ratio: 4 / 3; } }
