/* ==========================================================================
   Skinpetcare: stili del sito (spostati dal CSS aggiuntivo del Customizer).
   Classi ds-* (design system). I token (colori, font, spaziature, raggi) e i pulsanti sono in design-system-v4.css.
   ========================================================================== *//* Font in locale (nessuna richiesta a Google). Baskervville e Nunito Sans: licenza OFL. */
@font-face { font-family: 'Baskervville'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/baskervville-italic-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Baskervville'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/baskervville-italic-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Baskervville'; font-style: normal; font-weight: 400 600; font-display: swap; src: url('../fonts/baskervville-normal-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Baskervville'; font-style: normal; font-weight: 400 600; font-display: swap; src: url('../fonts/baskervville-normal-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Nunito Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/nunito-sans-normal-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Nunito Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/nunito-sans-normal-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Nunito Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/nunito-sans-normal-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Nunito Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/nunito-sans-normal-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Nunito Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/nunito-sans-normal-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Nunito Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/nunito-sans-normal-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }/* ==========================================================================
   SKINPETCARE - CSS di sito (design system)
   Tutto è limitato a .ds-page: nessun effetto sulle pagine che non lo usano.
   Per usarlo in una pagina: gruppo esterno con classe "ds-page" (allineamento largo/pieno)
   e blocchi con le classi ds-* qui sotto.
   ========================================================================== *//* -- TOKEN -------------------------------------------------------------- */
/* Avenir non e' installato e non ha file nel sito: finche' non arrivano i file, 'Avenir' usa Nunito Sans (stessi file). */
@font-face { font-family: 'Avenir'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('../fonts/nunito-sans-normal-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Avenir'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('../fonts/nunito-sans-normal-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }/* -- BASE --------------------------------------------------------------─ *//* Il tema limita a 850px i figli diretti di .alignfull: qui le sezioni restano a tutta larghezza */
.ds-page {
  padding-left: 0 !important; padding-right: 0 !important;
  font-family: var(--ds-font-body); font-size: var(--ds-p); line-height: 1.65;
  color: var(--ds-text); background: var(--ds-bg-alt);
  overflow-x: clip;
}
.ds-page > * { max-width: none !important; margin: 0 !important; }
.ds-page *,
.ds-page *::before,
.ds-page *::after { box-sizing: border-box; }
.ds-page p,
.ds-page h1,
.ds-page h2,
.ds-page h3,
.ds-page h4,
.ds-page figure,
.ds-page ul { margin: 0; }
.ds-page .wp-block-group,
.ds-page .wp-block-buttons,
.ds-page .wp-block-details { margin-block: 0; }
.ds-page img { max-width: 100%; }/* -- TITOLI ------------------------------------------------------------─ */
.ds-page .ds-h1,
.ds-page .ds-h2,
.ds-page .ds-h3,
.ds-page .ds-h4 {
  font-family: var(--ds-font-title); font-weight: 400; color: inherit; text-wrap: balance;
}
.ds-page .ds-h1 { font-size: var(--ds-h1); line-height: 1.1;  letter-spacing: -0.015em; font-style: italic; }
.ds-page .ds-h2 { font-size: var(--ds-h2); line-height: 1.15; letter-spacing: -0.01em;  font-style: italic; }
.ds-page .ds-h3 { font-size: var(--ds-h3); line-height: 1.25; letter-spacing: -0.005em; font-style: italic; }
.ds-page .ds-h4 { font-size: var(--ds-h4); line-height: 1.3;  letter-spacing: 0; font-weight: 500; }
.ds-page .ds-eyebrow {
  font-size: 0.9375rem; line-height: 1.4; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--ds-text);
}
.ds-page .ds-lead { max-width: 40rem; }/* -- LINK (sempre sottolineati) ----------------------------------------─ */
.ds-page a:not(.wp-block-button__link) {
  color: var(--ds-link); text-decoration: underline; text-underline-offset: 0.2em;
}
.ds-page a:not(.wp-block-button__link):hover { color: var(--ds-link-hover); }
.ds-page a:focus-visible,
.ds-page summary:focus-visible,
.ds-page .ds-input:focus-visible,
.ds-page .wp-block-button__link:focus-visible {
  outline: 3px solid var(--ds-link); outline-offset: 3px;
}/* -- LAYOUT ------------------------------------------------------------─ */
.ds-page .ds-section { padding-block: var(--ds-section); scroll-margin-top: 5rem; }
.ds-page .ds-section--white { background: var(--ds-bg); }
.ds-page .ds-container { max-width: 72.5rem; margin-inline: auto; padding-inline: var(--ds-s4); }
.ds-page .ds-container--narrow { max-width: 52rem; }
.ds-page .ds-center { text-align: center; }
.ds-page .ds-center .ds-lead { margin-inline: auto; }
.ds-page .ds-stack { display: flex; flex-direction: column; gap: var(--ds-s3); }
.ds-page .ds-head { display: flex; flex-direction: column; gap: var(--ds-s3); margin-bottom: var(--ds-s6); }
.ds-page .ds-center.ds-head { align-items: center; }/* -- BOTTONI ------------------------------------------------------------ */
.ds-page .wp-block-buttons { display: flex; flex-wrap: wrap; gap: var(--ds-s3); }
.ds-page .wp-block-button { display: inline-flex; }
.ds-page .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  min-height: 3rem; padding: 0.875rem 1.75rem;
  font-family: var(--ds-font-body); font-weight: 600; font-size: 1rem; line-height: 1.2;
  letter-spacing: 0.02em; border: 0; border-radius: var(--ds-r-btn);
  text-decoration: none; transition: background-color 200ms, color 200ms;
  background: var(--ds-text) !important; color: var(--ds-bg-alt) !important;
}
.ds-page .wp-block-button__link:hover,
.ds-page .wp-block-button__link:focus { background: var(--ds-text-hover) !important; color: var(--ds-bg-alt) !important; }/* -- IMMAGINI ----------------------------------------------------------─ */
.ds-page .ds-img { position: relative; border-radius: var(--ds-r-img); overflow: hidden; }
.ds-page .ds-img img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.ds-page .ds-img .components-resizable-box__container { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; }
.ds-page .ds-img > .ds-placeholder { position: absolute; inset: 0; height: auto; }
.ds-page .ds-ratio-45 { aspect-ratio: 4 / 5; }
.ds-page .ds-ratio-34 { aspect-ratio: 3 / 4; }
.ds-page .ds-ratio-11 { aspect-ratio: 1 / 1; }
.ds-page .ds-placeholder {
  display: flex; align-items: center; justify-content: center; text-align: center; height: 100%; padding: var(--ds-s3);
  border: 1px dashed var(--ds-text); border-radius: var(--ds-r-img); background: var(--ds-bg-alt); color: var(--ds-text);
}/* -- HERO --------------------------------------------------------------─ */
.ds-page .ds-hero { position: relative; overflow: hidden; display: flex; align-items: center; min-height: min(100vh, 56rem); background: var(--ds-bg-alt); }
.ds-page .ds-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; }
.ds-page .ds-hero__img img { width: 100%; height: 100%; object-fit: cover; object-position: 20% 100%; display: block; }
/* L'allineamento "larghezza intera" e il rapporto 16:9 scelti nell'editor non devono spostare o restringere l'immagine dell'hero */
.ds-page .ds-hero__img { margin: 0 !important; padding: 0 !important; max-width: none !important; }
.ds-page .ds-hero__img img { width: 100% !important; max-width: none !important; aspect-ratio: auto !important; }
.ds-page .ds-hero__fade {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, var(--ds-bg-alt) 3%, rgba(242,238,233,0) 28%, rgba(242,238,233,0) 68%, var(--ds-bg-alt) 95%);
}
.ds-page .ds-hero__content { position: relative; z-index: 1; max-width: 40rem; padding: var(--ds-s6) var(--ds-s4); margin-left: max(var(--ds-s4), calc((100vw - 72.5rem) / 2)); display: flex; flex-direction: column; gap: var(--ds-s4); align-items: flex-start; }/* -- INTRO -------------------------------------------------------------- */
.ds-page .ds-intro { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ds-s6); align-items: center; }
.ds-page .ds-intro strong,
.ds-page .ds-lead strong { font-weight: 700; }/* -- 3 MOTIVI ----------------------------------------------------------─ */
.ds-page .ds-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ds-s5); }
.ds-page .ds-feature { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--ds-s3); }
.ds-page .ds-feature__icon { display: flex; align-items: center; justify-content: center; width: 4rem; height: 4rem; border-radius: var(--ds-r-card); background: var(--ds-bg-alt); font-size: var(--ds-h4); line-height: 1; }/* -- SHOWCASE: grande a sinistra, due sovrapposte al centro, alta a destra -- */
.ds-page .ds-gallery { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: repeat(2, 1fr); gap: var(--ds-s3); height: clamp(28rem, 40vw, 36rem); margin-bottom: var(--ds-s6); }
.ds-page .ds-gallery .ds-img { aspect-ratio: auto; min-height: 0; }
/* Caselle della galleria: blocchi Immagine diretti (senza gruppo) */
.ds-page .ds-gallery > .ds-img { margin: 0; }
.ds-page .ds-gallery > .ds-img img:not([src]), .ds-page .ds-gallery > .ds-img img[src=""] { display: none; }
.ds-page .ds-gallery > figure.ds-img:not(:has(img[src]:not([src=""]))) { background: var(--ds-bg-alt); border: 1px dashed var(--ds-text); }
.ds-page .ds-gallery__large { grid-column: 1; grid-row: 1 / 3; }
.ds-page .ds-gallery__top { grid-column: 2; grid-row: 1; }
.ds-page .ds-gallery__bottom { grid-column: 2; grid-row: 2; }
.ds-page .ds-gallery__tall { grid-column: 3; grid-row: 1 / 3; }/* -- MISSIONE (cover con foto) ------------------------------------------ */
.ds-page .wp-block-cover.ds-mission { position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; min-height: 0; padding: var(--ds-section) var(--ds-s4); color: var(--ds-bg-alt); text-align: center; }
.ds-page .ds-mission .wp-block-cover__inner-container { max-width: 52rem; display: flex; flex-direction: column; align-items: center; gap: var(--ds-s4); }
.ds-page .ds-mission .ds-eyebrow { color: var(--ds-bg-alt); }
.ds-page .ds-mission .wp-block-buttons { justify-content: center; }
.ds-page .ds-mission .wp-block-cover__background { position: absolute; inset: 0; opacity: 0.6; }
.ds-page .ds-mission .wp-block-cover__image-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ds-page .ds-mission .wp-block-cover__inner-container { position: relative; z-index: 1; width: 100%; }/* -- PRODOTTI ----------------------------------------------------------─ */
.ds-page .ds-products { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ds-s5); align-items: stretch; }
.ds-page .ds-product { display: flex; flex-direction: column; background: var(--ds-bg); border-radius: var(--ds-r-card); overflow: hidden; }
.ds-page .ds-product .ds-img { border-radius: 0; }
.ds-page .ds-product__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ds-s3); padding: var(--ds-s5); flex: 1; }
.ds-page .ds-product__body .wp-block-buttons { margin-top: auto; padding-top: var(--ds-s3); }
.ds-page .ds-tag { display: inline-block; padding: var(--ds-s1) var(--ds-s3); border-radius: var(--ds-r-card); font-weight: 600; font-size: var(--ds-p); line-height: 1.4; background: var(--ds-carezza); color: var(--ds-btn-text); }
.ds-page .ds-tag--a2 { background: var(--ds-soffio); }
.ds-page .ds-tag--a3 { background: var(--ds-velo); color: var(--ds-bg-alt); }
.ds-page .ds-product__name { font-family: var(--ds-font-title); font-style: italic; color: var(--ds-text); }/* -- KIT ---------------------------------------------------------------- */
.ds-page .ds-kit { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ds-s6); align-items: center; }
.ds-page .ds-kit__list { display: flex; flex-direction: column; gap: var(--ds-s4); }
.ds-page .ds-kit__item { display: flex; align-items: flex-start; gap: var(--ds-s3); }
.ds-page .ds-kit__dot { flex: 0 0 auto; width: 0.5rem; height: 0.5rem; margin-top: 0.7em; border-radius: var(--ds-r-card); background: var(--ds-carezza); }
.ds-page .ds-kit__name { font-weight: 700; }/* -- FAQ (blocco Dettagli) ---------------------------------------------- */
.ds-page .ds-faq .wp-block-details { border-bottom: 1px solid var(--ds-line); }
.ds-page .ds-faq summary {
  list-style: none; cursor: pointer; min-height: 3.5rem; padding-block: var(--ds-s4);
  display: flex; justify-content: space-between; align-items: center; gap: var(--ds-s3);
  font-family: var(--ds-font-title); font-size: var(--ds-h4); line-height: 1.3; font-weight: 500;
}
.ds-page .ds-faq summary::-webkit-details-marker { display: none; }
.ds-page .ds-faq summary::marker { content: ""; }
.ds-page .ds-faq summary::after {
  content: "+"; flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
  width: 2.75rem; height: 2.75rem; border: 1px solid var(--ds-text); border-radius: var(--ds-r-card);
  font-family: var(--ds-font-body); font-size: var(--ds-h4); line-height: 1; transition: transform 200ms;
}
.ds-page .ds-faq details[open] summary::after { content: "\2013"; }
.ds-page .ds-faq details > p { padding-bottom: var(--ds-s4); }/* -- ESPLORA ------------------------------------------------------------ */
.ds-page .ds-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ds-s5); max-width: 57rem; margin-inline: auto; }
.ds-page .ds-tile { position: relative; display: flex; flex-direction: column; border-radius: var(--ds-r-card); overflow: hidden; background: var(--ds-text); }
.ds-page .ds-tile .ds-img { border-radius: 0; aspect-ratio: 3 / 4; }
/* Tile: blocco Immagine diretto sopra l'etichetta */
.ds-page .ds-tile > .ds-img { margin: 0; }
.ds-page .ds-tile > .ds-img img:not([src]), .ds-page .ds-tile > .ds-img img[src=""] { display: none; }
.ds-page .ds-tile:not(:has(.ds-img)) .ds-tile__label { border-radius: var(--ds-r-card); }
.ds-page .ds-tile .ds-placeholder { border: 0; border-radius: 0; }
.ds-page .ds-tile__label { padding: var(--ds-s3); text-align: center; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ds-bg-alt); }
.ds-page .ds-tile__label a,
.ds-page .ds-tile__label a:hover { color: var(--ds-bg-alt); }
.ds-page .ds-tile__label a::after { content: ""; position: absolute; inset: 0; }/* -- TESTIMONIANZE ------------------------------------------------------ */
.ds-page .ds-quote { max-width: 36rem; margin-inline: auto; background: var(--ds-bg); border-radius: var(--ds-r-card); padding: var(--ds-s5); display: flex; flex-direction: column; gap: var(--ds-s3); }
.ds-page .ds-quote__name { font-weight: 700; }
.ds-page .ds-quote__stars { color: var(--ds-velo); letter-spacing: 0.15em; }
.ds-page .ds-quote .wp-block-quote { border: 0; padding: 0; margin: 0; }
.ds-page .ds-quote .wp-block-quote p { font-size: inherit; line-height: inherit; color: inherit; }/* -- FORM --------------------------------------------------------------─ */
.ds-page .ds-form { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ds-s4); }
.ds-page .ds-form__full { grid-column: 1 / -1; }
.ds-page .ds-label { display: block; margin-bottom: var(--ds-s2); font-weight: 600; font-size: var(--ds-p); color: var(--ds-text); }
.ds-page .ds-label small { font-weight: 400; font-size: inherit; }
.ds-page .ds-input {
  width: 100%; min-height: 3rem; padding: 0.75rem 1rem;
  font-family: var(--ds-font-body); font-size: 1rem; /* 16px: evita lo zoom automatico su iOS */
  color: var(--ds-text); background: var(--ds-bg);
  border: 1px solid var(--ds-text); border-radius: var(--ds-r-card);
  -webkit-appearance: none; appearance: none;
}
.ds-page textarea.ds-input { resize: vertical; min-height: 8rem; }
.ds-page .ds-input::placeholder { color: var(--ds-text-soft); }
.ds-page .ds-form__actions { text-align: center; display: flex; flex-direction: column; align-items: center; gap: var(--ds-s3); }
.ds-page .ds-form button.wp-block-button__link { cursor: pointer; }
.ds-page .ds-form button.wp-block-button__link:disabled { opacity: .7; cursor: wait; }
.ds-page .ds-form__msg { margin-top: var(--ds-s4); padding: var(--ds-s3) var(--ds-s4); border-radius: var(--ds-r-card); text-align: center; background: var(--ds-bg); border: 1px solid var(--ds-text); }
.ds-page .ds-form__msg[hidden] { display: none; }/* -- PAGINE INTERNE: hero semplice, dispositivo, passi, formule, cura --─ */
.ds-page .ds-h1 em,
.ds-page .ds-h2 strong { font-style: normal; font-weight: 500; color: var(--ds-velo); }
.ds-page .ds-hero-simple { display: flex; flex-direction: column; align-items: center; gap: var(--ds-s4); text-align: center;
  padding: clamp(8rem, 6rem + 8vw, 11rem) var(--ds-s4) var(--ds-section); background: var(--ds-bg-alt); }
.ds-page .ds-hero-simple .ds-lead { margin-inline: auto; }
.ds-page .ds-stack--tight { gap: var(--ds-s2); }
.ds-page .ds-device { display: grid; grid-template-columns: 5fr 7fr; gap: var(--ds-s6); align-items: center; }
.ds-page .ds-feature-list { display: flex; flex-direction: column; gap: var(--ds-s4); }
.ds-page .ds-feature-row { display: flex; align-items: flex-start; gap: var(--ds-s3); }
.ds-page .ds-feature-row .ds-feature__icon { flex: 0 0 auto; }
.ds-page .ds-section--white .ds-feature__icon { background: var(--ds-bg-alt); }
.ds-page .ds-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ds-s5); margin-top: var(--ds-s6); }
.ds-page .ds-step { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ds-s3); padding: var(--ds-s5); border-radius: var(--ds-r-card); background: var(--ds-bg-alt); }
.ds-page .ds-step__num { font-family: var(--ds-font-title); font-size: var(--ds-h2); line-height: 1; color: var(--ds-text-soft); }
.ds-page .ds-note { display: flex; align-items: flex-start; gap: var(--ds-s3); margin-top: var(--ds-s5); padding: var(--ds-s4); border-radius: var(--ds-r-card); background: var(--ds-bg-alt); }
.ds-page .ds-scroll-hint { display: none; text-align: center; font-weight: 600; letter-spacing: 0.05em; color: var(--ds-text); margin-bottom: var(--ds-s3); }
.ds-page .ds-carousel { --ds-card-w: min(32rem, 85vw); position: relative; }
.ds-page .ds-formulas {
  position: relative; display: flex; flex-direction: row; align-items: flex-start; gap: var(--ds-s5);
  overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory; scroll-behavior: smooth;
  padding: var(--ds-s2) calc(50% - var(--ds-card-w) / 2) var(--ds-s4);
  scroll-padding-inline: calc(50% - var(--ds-card-w) / 2);
  scrollbar-width: none;
}
.ds-page .ds-formulas::-webkit-scrollbar { display: none; }
.ds-page .ds-formula { flex: 0 0 var(--ds-card-w); display: flex; flex-direction: column; scroll-snap-align: center; overflow: hidden; background: var(--ds-bg); border-radius: var(--ds-r-card); }
.ds-page .ds-formula > .ds-img { border-radius: 0; width: 100%; }
.ds-page .ds-carousel__btn {
  position: absolute; top: calc(var(--ds-s2) + var(--ds-card-w) / 2); transform: translateY(-50%); z-index: 2;
  display: flex; align-items: center; justify-content: center; width: 3.25rem; height: 3.25rem; padding: 0;
  border: 0; border-radius: var(--ds-r-btn); background: var(--ds-bg); color: var(--ds-text); cursor: pointer;
  box-shadow: 0 0.25rem 1rem rgba(53, 53, 53, .25); transition: background-color 200ms, color 200ms, opacity 200ms;
}
.ds-page .ds-carousel__btn:hover:not(:disabled) { background: var(--ds-link-hover); color: var(--ds-bg-alt); }
.ds-page .ds-carousel__btn:disabled { opacity: .4; cursor: default; }
.ds-page .ds-carousel__btn--prev { left: var(--ds-s4); }
.ds-page .ds-carousel__btn--next { right: var(--ds-s4); }
.ds-page .ds-formula__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ds-s4); padding: var(--ds-s4) var(--ds-s5) var(--ds-s5); }
.ds-page .ds-formula__sub { font-family: var(--ds-font-title); font-style: italic; color: var(--ds-text); }
.ds-page .ds-benefits { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr; gap: var(--ds-s2); width: 100%; }
.ds-page .ds-benefits li { display: flex; align-items: center; gap: var(--ds-s2); }
.ds-page .ds-benefits li::before { content: "\2713"; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; border-radius: var(--ds-r-card); background: var(--ds-carezza); color: var(--ds-btn-text); font-size: 1rem; font-weight: 700; line-height: 1; }
.ds-page .ds-formula:nth-child(2) .ds-benefits li::before { background: var(--ds-velo); color: var(--ds-bg-alt); }
.ds-page .ds-formula:nth-child(3) .ds-benefits li::before { background: var(--ds-soffio); }
.ds-page .ds-ideal { width: 100%; padding: var(--ds-s4); border-radius: var(--ds-r-card); background: var(--ds-bg-alt); display: flex; flex-direction: column; gap: var(--ds-s1); }
.ds-page .ds-pills { display: flex; flex-wrap: wrap; gap: var(--ds-s2); }
.ds-page .ds-pill { padding: var(--ds-s1) var(--ds-s3); border: 1px solid var(--ds-text); border-radius: var(--ds-r-card); }
.ds-page .ds-faq--small { width: 100%; }
.ds-page .ds-faq--small .wp-block-details:last-child { border-bottom: 0; }
.ds-page .ds-faq--small details > p { padding-bottom: 0; }
.ds-page .ds-faq--small summary { font-family: var(--ds-font-body); font-size: var(--ds-p); font-weight: 600; }
.ds-page .ds-care { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ds-s5); }
.ds-page .ds-care__card { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ds-s3); padding: var(--ds-s5); background: var(--ds-bg); border-radius: var(--ds-r-card); }
.ds-page .ds-care__card .ds-feature__icon { background: var(--ds-bg-alt); }
.ds-page .ds-care__card .ds-tag { margin-top: auto; }
.ds-page .ds-faq-layout { display: grid; grid-template-columns: 1fr 2fr; gap: var(--ds-s6); align-items: start; }
.ds-page .ds-badge { display: inline-block; padding: var(--ds-s1) var(--ds-s4); border: 1px solid var(--ds-text); border-radius: var(--ds-r-card); font-weight: 600; background: var(--ds-bg); }/* -- TECNOLOGIA -------------------------------------------------------- */
.ds-page .ds-patent { display: flex; flex-direction: column; gap: var(--ds-s5); }
.ds-page .ds-patent__step { display: grid; grid-template-columns: 4.5rem 1fr; gap: var(--ds-s4); align-items: start; padding: var(--ds-s5); border-radius: var(--ds-r-card); background: var(--ds-bg-alt); }
.ds-page .ds-patent__num { font-family: var(--ds-font-title); font-size: var(--ds-h2); line-height: 1; color: var(--ds-text-soft); }
.ds-page .ds-cta { display: flex; align-items: center; justify-content: space-between; gap: var(--ds-s5); padding: var(--ds-s6); border-radius: var(--ds-r-card); background: var(--ds-bg); }
.ds-page .ds-cta .ds-stack { max-width: 36rem; }/* -- LOZIONI ----------------------------------------------------------- */
.ds-page .ds-circles { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--ds-s5); max-width: 52rem; margin-inline: auto; }
.ds-page .ds-circle { position: relative; display: flex; flex-direction: column; align-items: center; gap: var(--ds-s3); }
.ds-page .ds-circle__img { width: 100%; aspect-ratio: 1 / 1; border-radius: 50vh; overflow: hidden; }
.ds-page .ds-circle__img .ds-placeholder { border-radius: 50vh; }
.ds-page .ds-circle__label { font-weight: 700; text-align: center; }
.ds-page .ds-circle__label a::after { content: ""; position: absolute; inset: 0; }
.ds-page .ds-zigzags { display: flex; flex-direction: column; gap: var(--ds-s6); }
.ds-page .ds-zigzag { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ds-s6); align-items: center; scroll-margin-top: 6rem; }
.ds-page .ds-zigzag > * { min-width: 0; }
.ds-page .ds-zigzag__content { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ds-s3); }
.ds-page .ds-use { font-weight: 600; }
.ds-page .ds-benefit { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ds-s6); align-items: center; padding: var(--ds-s5); border-radius: var(--ds-r-card); background: var(--ds-bg); }
.ds-page .ds-benefit > * { min-width: 0; }
.ds-page .ds-points { list-style: none; padding: 0; display: flex; flex-direction: column; gap: var(--ds-s3); }
.ds-page .ds-points li { display: flex; align-items: baseline; gap: var(--ds-s3); font-weight: 600; border-bottom: 1px solid var(--ds-line); padding-bottom: var(--ds-s3); }
.ds-page .ds-points__num { font-weight: 700; color: var(--ds-link); }
.ds-page .ds-points__num--a3 { color: var(--ds-velo); }
.ds-page .ds-points__num--a2 { color: var(--ds-soffio-hover); }
.ds-page .ds-mini-gallery { display: flex; flex-direction: column; gap: var(--ds-s3); }
.ds-page .ds-mini-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ds-s3); }
.ds-page .ds-mini { aspect-ratio: 4 / 5; }
.ds-page .ds-mini--wide { aspect-ratio: 2 / 1; }/* -- CONTATTI ---------------------------------------------------------- */
.ds-page .ds-info { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--ds-s5); max-width: 48rem; margin-inline: auto; }
.ds-page .ds-info__card { display: flex; flex-direction: column; align-items: center; gap: var(--ds-s2); padding: var(--ds-s5); border-radius: var(--ds-r-card); background: var(--ds-bg); text-align: center; overflow-wrap: anywhere; }/* -- QUESTIONARIO ------------------------------------------------------ */
.ds-page .ds-thanks { display: flex; flex-direction: column; align-items: center; gap: var(--ds-s3); padding: var(--ds-s6); border-radius: var(--ds-r-card); background: var(--ds-bg); text-align: center; }
.ds-page .ds-survey { display: flex; flex-direction: column; gap: var(--ds-s6); }
.ds-page .ds-block { display: flex; flex-direction: column; gap: var(--ds-s4); min-width: 0; margin: 0; padding: var(--ds-s5); border: 0; border-radius: var(--ds-r-card); background: var(--ds-bg-alt); }
.ds-page .ds-block__title { padding: 0; margin-bottom: var(--ds-s2); font-family: var(--ds-font-title); font-size: var(--ds-h4); font-weight: 500; }
.ds-page .ds-block__title small { font-family: var(--ds-font-body); font-size: var(--ds-p); font-weight: 400; }
.ds-page .ds-q { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 0; border: 0; }
.ds-page .ds-q .ds-label { margin-bottom: var(--ds-s2); padding: 0; }
.ds-page .ds-hint { margin-bottom: var(--ds-s2); font-size: var(--ds-p); }
.ds-page .ds-options { display: flex; flex-wrap: wrap; gap: var(--ds-s2); }
.ds-page .ds-options--stack { flex-direction: column; flex-wrap: nowrap; }
.ds-page .ds-choice { display: inline-flex; align-items: center; gap: var(--ds-s2); min-height: 3rem; padding: var(--ds-s2) var(--ds-s4); border: 1px solid var(--ds-text); border-radius: var(--ds-r-card); background: var(--ds-bg); cursor: pointer; }
.ds-page .ds-choice input { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin: 0; accent-color: var(--ds-link-hover); }
.ds-page .ds-choice:has(input:checked) { background: var(--ds-carezza); color: var(--ds-btn-text); font-weight: 600; }
.ds-page .ds-choice:has(input:focus-visible) { outline: 3px solid var(--ds-link); outline-offset: 3px; }
.ds-page .ds-choice--block { display: flex; align-items: flex-start; width: 100%; padding-block: var(--ds-s3); }
.ds-page .ds-choice--block input { margin-top: 0.2rem; }
.ds-page .ds-choice--num { justify-content: center; min-width: 3rem; padding-inline: var(--ds-s3); }
.ds-page .ds-choice--num input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ds-page .ds-scale-ends { display: flex; justify-content: space-between; gap: var(--ds-s3); margin-top: var(--ds-s2); font-size: var(--ds-p); }
.ds-page .ds-form--inline { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ds-s4); }
.ds-page .ds-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ds-page .ds-todo { padding: 0 var(--ds-s1); border: 1px dashed var(--ds-text); border-radius: var(--ds-s1); background: var(--ds-bg); color: var(--ds-text); }
.ds-page .ds-quotes .wp-block-post-template { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 32rem)); justify-content: center; gap: var(--ds-s5); }
.ds-page .ds-quotes .wp-block-post-template > li { margin: 0; }
.ds-page .ds-quotes .ds-quote { max-width: none; height: 100%; }
.ds-page .ds-quote__name { font-family: var(--ds-font-body); font-size: var(--ds-p); font-weight: 700; font-style: normal; line-height: 1.4; letter-spacing: 0; }
.ds-page .ds-quote > * { margin-block: 0; }
.ds-page .ds-quote .wp-block-post-excerpt p { margin: 0; }
.ds-page .ds-quote .wp-block-post-content p { margin: 0; }/* -- CONTACT FORM 7 (questionario) ------------------------------------- */
.ds-page .ds-survey-body { display: flex; flex-direction: column; gap: var(--ds-s6); }
.ds-page .ds-survey .wpcf7-form-control-wrap { display: block; }
.ds-page .ds-survey .wpcf7-form-control.ds-options { display: flex; flex-wrap: wrap; gap: var(--ds-s2); }
.ds-page .ds-survey .wpcf7-form-control.ds-options--stack { flex-direction: column; flex-wrap: nowrap; }
.ds-page .ds-survey .wpcf7-list-item { display: block; margin: 0; }
.ds-page .ds-survey .wpcf7-list-item label { display: inline-flex; align-items: center; gap: var(--ds-s2); min-height: 3rem; padding: var(--ds-s2) var(--ds-s4); border: 1px solid var(--ds-text); border-radius: var(--ds-r-card); background: var(--ds-bg); cursor: pointer; }
.ds-page .ds-survey .ds-options--stack .wpcf7-list-item label { display: flex; width: 100%; align-items: flex-start; padding-block: var(--ds-s3); }
.ds-page .ds-survey .wpcf7-list-item input { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin: 0; accent-color: var(--ds-text); }
.ds-page .ds-survey .wpcf7-list-item label:has(input:checked) { background: var(--ds-text); border-color: var(--ds-text); color: var(--ds-bg-alt); font-weight: 600; }
.ds-page .ds-survey .wpcf7-list-item label:has(input:focus-visible) { outline: 3px solid var(--ds-link); outline-offset: 3px; }
.ds-page .ds-survey .ds-scale .wpcf7-list-item label { justify-content: center; min-width: 3rem; padding-inline: var(--ds-s3); }
.ds-page .ds-survey .ds-scale .wpcf7-list-item input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ds-page .ds-survey .wpcf7-not-valid-tip { margin-top: var(--ds-s1); font-size: var(--ds-p); font-weight: 600; color: var(--ds-velo); }
.ds-page .ds-survey .wpcf7-not-valid,
.ds-page .ds-survey .ds-invalid { border-color: var(--ds-velo); }
.ds-page .ds-survey .ds-step-error { display: block; margin-top: var(--ds-s1); font-size: var(--ds-p); font-weight: 600; color: var(--ds-velo); }
.ds-page .ds-survey .wpcf7-response-output { margin: 0; padding: var(--ds-s3) var(--ds-s4); border: 1px solid var(--ds-text); border-radius: var(--ds-r-card); background: var(--ds-bg); text-align: center; }
.ds-page .ds-survey .wpcf7-response-output:empty { display: none; }
.ds-page .ds-survey .wpcf7-spinner { margin: 0 auto; }
.ds-page .ds-survey input.wp-block-button__link { cursor: pointer; }/* -- INFORMATIVE / TESTO LEGALE ----------------------------------------- */
.ds-page .ds-legal { display: flex; flex-direction: column; gap: var(--ds-s5); }
.ds-page .ds-legal__item { display: flex; flex-direction: column; gap: var(--ds-s2); padding-bottom: var(--ds-s5); border-bottom: 1px solid var(--ds-line); }
.ds-page .ds-legal__item:last-child { border-bottom: 0; }
.ds-page .ds-legal__list,
.ds-page .ds-bullets { display: flex; flex-direction: column; gap: var(--ds-s2); margin: 0; padding-left: 1.5rem; }
.ds-page .ds-thanks--left { align-items: flex-start; text-align: left; }
.ds-page .ds-thanks--left :is(p, li) { font-size: 0.875rem; line-height: 1.6; }/* -- QUESTIONARIO A PASSI ---------------------------------------------- */
.ds-page .ds-survey.ds-steps-on .ds-survey-body > .ds-block { display: none; }
.ds-page .ds-survey.ds-steps-on .ds-survey-body > .ds-block.is-active { display: flex; }
.ds-page .ds-survey.ds-steps-on .ds-form__actions { display: none; }
.ds-page .ds-survey.ds-steps-on.is-last .ds-form__actions { display: flex; }
.ds-page .ds-survey.ds-sent .ds-survey-body { display: none; }
.ds-page .ds-progress { display: flex; flex-direction: column; gap: var(--ds-s2); }
.ds-page .ds-progress__label { font-weight: 600; }
.ds-page .ds-progress__bar { display: block; height: 0.5rem; overflow: hidden; border-radius: var(--ds-r-btn); background: var(--ds-bg); border: 1px solid var(--ds-line); }
.ds-page .ds-progress__fill { display: block; width: 0; height: 100%; background: var(--ds-text); transition: width 200ms; }
.ds-page .ds-steps-nav { display: flex; justify-content: space-between; gap: var(--ds-s3); }
.ds-page .ds-steps-nav .ds-step-btn { cursor: pointer; width: auto; flex: 1 1 0; max-width: 16rem; }
.ds-page .ds-steps-nav .ds-step-next { margin-left: auto; }
.ds-page .ds-steps-nav .ds-step-prev { background: var(--ds-soffio) !important; }
.ds-page .ds-steps-nav .ds-step-prev:hover,
.ds-page .ds-steps-nav .ds-step-prev:focus { background: var(--ds-soffio-hover) !important; }
.ds-page .ds-steps-nav [hidden] { display: none; }/* -- QUESTIONARIO: versione minimal ------------------------------------ */
.ds-page .ds-survey-body { gap: var(--ds-s6); }
.ds-page .ds-block { gap: var(--ds-s5); padding: var(--ds-s6); background: var(--ds-bg); border: 1px solid var(--ds-text); border-radius: var(--ds-r-card); }
.ds-page .ds-block__title { margin: 0 0 var(--ds-s3); font-family: var(--ds-font-title); font-size: var(--ds-h3); font-style: italic; font-weight: 400; line-height: 1.2; letter-spacing: -0.005em; }
.ds-page .ds-block__title small { display: block; margin-top: var(--ds-s2); font-family: var(--ds-font-body); font-size: var(--ds-p); font-style: normal; font-weight: 400; letter-spacing: 0; }
.ds-page .ds-q { gap: var(--ds-s2); }
.ds-page .ds-block--consent { background: var(--ds-bg-alt); border-color: transparent; }
.ds-page .ds-progress__bar { height: 2px; border: 0; border-radius: 0; background: var(--ds-line); }
.ds-page .ds-progress__fill { background: var(--ds-text); }
.ds-page .ds-steps-nav { align-items: center; margin-top: var(--ds-s2); }
.ds-page .ds-steps-nav .ds-step-btn.wp-block-button__link { flex: 0 0 auto; min-width: 9rem; max-width: none; }
.ds-page .ds-steps-nav .ds-step-next.wp-block-button__link { background: var(--ds-text) !important; color: var(--ds-bg-alt) !important; }
.ds-page .ds-steps-nav .ds-step-next.wp-block-button__link:hover,
.ds-page .ds-steps-nav .ds-step-next.wp-block-button__link:focus { background: var(--ds-text) !important; color: var(--ds-bg-alt) !important; }
.ds-page .ds-steps-nav .ds-step-prev.wp-block-button__link { min-width: 0; padding-inline: 0; background: transparent !important; color: var(--ds-text) !important; text-decoration: underline !important; text-underline-offset: 0.2em; }
.ds-page .ds-steps-nav .ds-step-prev.wp-block-button__link:hover,
.ds-page .ds-steps-nav .ds-step-prev.wp-block-button__link:focus { background: transparent !important; color: var(--ds-link-hover) !important; }
.ds-page .ds-survey .ds-form__actions .wpcf7-submit.wp-block-button__link { background: var(--ds-text) !important; color: var(--ds-bg-alt) !important; }
.ds-page .ds-survey .ds-form__actions .wpcf7-submit.wp-block-button__link:hover,
.ds-page .ds-survey .ds-form__actions .wpcf7-submit.wp-block-button__link:focus { background: var(--ds-text) !important; color: var(--ds-bg-alt) !important; }
@media (max-width: 767px) {
.ds-page .ds-block { padding: var(--ds-s5) var(--ds-s4); }
.ds-page .ds-steps-nav .ds-step-btn.wp-block-button__link { width: auto; min-width: 8rem; }
.ds-page .ds-steps-nav .ds-step-prev.wp-block-button__link { min-width: 0; }
}/* titolo del blocco dentro il riquadro (legend nativa si sovrappone al bordo) */
.ds-page .ds-block { position: relative; }
.ds-page .ds-block__title { float: left; width: 100%; box-sizing: border-box; }
.ds-page .ds-block__title + * { clear: both; }/* -- HERO: bottoni (primario testo chiaro, secondario solo bordo) */
.ds-page .ds-hero .wp-block-button__link { background: var(--ds-carezza) !important; color: var(--ds-bg-alt) !important; border: 2px solid var(--ds-carezza); }
.ds-page .ds-hero .wp-block-button__link:hover,
.ds-page .ds-hero .wp-block-button__link:focus { background: var(--ds-link-hover) !important; border-color: var(--ds-link-hover); color: var(--ds-bg-alt) !important; }/* -- CARD PRODOTTO: tag e bottoni con testo chiaro */
.ds-page .ds-tag,
.ds-page .ds-tag--a2,
.ds-page .ds-tag--a3 { color: var(--ds-bg-alt); }
.ds-page .ds-product .wp-block-button__link { color: var(--ds-bg-alt) !important; }/* -- QUESTIONARIO: effetto glass come l'header e sfondo con zampette ----- */
.ds-page .ds-section:has(.ds-survey) {
  background: var(--ds-bg) url("https://skinpetcare.com/wp-content/uploads/2026/10/skinpetcare-sfondo-zampe-desktop.webp") center center / cover no-repeat fixed;
}
@media (max-width: 767px) {
.ds-page .ds-section:has(.ds-survey) { background: var(--ds-bg) url("https://skinpetcare.com/wp-content/uploads/2026/10/skinpetcare-sfondo-zampe-mobile.webp") center top / cover no-repeat; }
}
.ds-page .ds-survey .ds-block {
  background: rgba(242, 238, 233, .45);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: 0 1px 0 rgba(0, 0, 0, .06);
}
.ds-page .ds-survey .ds-block--consent { background: rgba(242, 238, 233, .8); border-color: transparent; }/* -- AUTORIZZAZIONE: testo dichiarato, spunta finale e allegato ---------- */
.ds-page .ds-declared { display: flex; flex-direction: column; gap: var(--ds-s2); }
.ds-page .ds-declared :is(p, li, label, .wpcf7-list-item-label) { font-size: 0.875rem; line-height: 1.6; }
.ds-page .ds-declared ul { display: flex; flex-direction: column; gap: var(--ds-s1); margin: 0; padding-left: 1.5rem; }
.ds-page .ds-survey .wpcf7-acceptance .wpcf7-list-item label { display: flex; align-items: flex-start; gap: var(--ds-s2); width: 100%; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; font-weight: 400; cursor: pointer; }
.ds-page .ds-survey .wpcf7-acceptance .wpcf7-list-item label:has(input:checked) { background: transparent; border: 0; color: inherit; font-weight: 400; }
.ds-page .ds-survey .wpcf7-acceptance .wpcf7-list-item input { margin-top: 0.2rem; }
.ds-page .ds-confirm { margin-top: var(--ds-s3); }
.ds-page .ds-release { margin-top: var(--ds-s2); }
.ds-page .ds-file { padding: var(--ds-s3); background: var(--ds-bg); font-size: 1rem; }
.ds-page .ds-file::file-selector-button { margin-right: var(--ds-s3); padding: var(--ds-s2) var(--ds-s4); border: 1px solid var(--ds-text); border-radius: var(--ds-r-btn); background: var(--ds-bg); color: var(--ds-text); font-family: var(--ds-font-body); font-size: 1rem; cursor: pointer; }
.ds-page .ds-declared .ds-step-error { font-size: 0.875rem; }/* -- testo piccolo per i suggerimenti e label solo per screen reader ---- */
.ds-page .ds-file-remove { display: inline-flex; align-items: center; align-self: flex-start; min-height: 2.75rem; padding: 0; border: 0; background: transparent; color: var(--ds-link); font: inherit; font-size: 0.875rem; text-decoration: underline; text-underline-offset: 0.2em; cursor: pointer; }
.ds-page .ds-file-remove:hover { color: var(--ds-link-hover); }
.ds-page .ds-file-remove[hidden] { display: none; }
.ds-page .ds-hint--small { font-size: 0.875rem; line-height: 1.6; }
.ds-page .ds-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.ds-page .ds-q .ds-file + .wpcf7-form-control-wrap,
.ds-page .ds-q .wpcf7-form-control-wrap + .ds-sr + .wpcf7-form-control-wrap { margin-top: var(--ds-s2); }/* -- TABLET ------------------------------------------------------------─ */
@media (max-width: 900px) {
.ds-page .ds-intro,
.ds-page .ds-kit { grid-template-columns: 1fr; }
.ds-page .ds-products { display: flex; max-width: none; margin-inline: calc(-1 * var(--ds-s4)); padding-inline: var(--ds-s4); padding-bottom: var(--ds-s2); gap: var(--ds-s4); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--ds-s4); -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.ds-page .ds-products::-webkit-scrollbar { display: none; }
.ds-page .ds-products > .ds-product { flex: 0 0 82%; max-width: 22rem; scroll-snap-align: start; }
/* le card restano visibili: lo scorrimento orizzontale le rivela, non la comparsa allo scroll */
.ds-page .ds-products > .ds-product.anim-reveal { opacity: 1; transform: none; transition: none; }
.ds-page .ds-gallery { grid-template-columns: repeat(2, 1fr); grid-template-rows: none; height: auto; }
.ds-page .ds-gallery .ds-img { aspect-ratio: 4 / 5; grid-column: auto; grid-row: auto; }
.ds-page .ds-features { grid-template-columns: 1fr; max-width: 32rem; margin-inline: auto; }
.ds-page .ds-device,
.ds-page .ds-faq-layout { grid-template-columns: 1fr; }
.ds-page .ds-device > .ds-img { max-width: 28rem; width: 100%; margin-inline: auto; }
.ds-page .ds-steps,
.ds-page .ds-care { grid-template-columns: 1fr; }
.ds-page .ds-zigzag,
.ds-page .ds-zigzag--reverse,
.ds-page .ds-benefit { grid-template-columns: 1fr; }
.ds-page .ds-zigzag > .ds-img { max-width: 28rem; width: 100%; margin-inline: auto; }
.ds-page .ds-info { grid-template-columns: 1fr 1fr; }
.ds-page .ds-cta { flex-direction: column; align-items: flex-start; }
}/* -- MOBILE ------------------------------------------------------------─ */
@media (max-width: 767px) {
.ds-page .ds-carousel__btn { display: none; }
.ds-page .ds-scroll-hint { display: block; }
.ds-page .ds-formulas { gap: var(--ds-s3); }/* hero: immagine sopra, testo sotto su sfondo pieno */
.ds-page .ds-hero { flex-direction: column; align-items: stretch; min-height: 0; }
.ds-page .ds-hero__img { position: relative; inset: auto; aspect-ratio: 4 / 5; max-height: 70vh; height: auto; }
.ds-page .ds-hero__img img { object-position: 72% center; }
.ds-page .ds-hero__fade { display: none; }
.ds-page .ds-hero__content { max-width: none; margin-left: 0; padding: var(--ds-s5) var(--ds-s4) var(--ds-s6); }/* CTA a tutta larghezza: bersagli di tocco ampi */
.ds-page .wp-block-buttons { flex-direction: column; align-items: stretch; width: 100%; }
.ds-page .wp-block-button,
.ds-page .wp-block-button__link { width: 100%; }
.ds-page .ds-mission .wp-block-buttons { align-items: stretch; }/* esplora: righe orizzontali compatte */
.ds-page .ds-tiles { grid-template-columns: 1fr; gap: var(--ds-s3); }
.ds-page .ds-tile { flex-direction: row; align-items: stretch; }
.ds-page .ds-tile .ds-img { width: 30%; flex: 0 0 30%; aspect-ratio: 4 / 5; }
.ds-page .ds-tile__label { flex: 1; display: flex; align-items: center; justify-content: flex-start; text-align: left; padding-inline: var(--ds-s4); }/* form a una colonna */
.ds-page .ds-form { grid-template-columns: 1fr; }
.ds-page .ds-form__actions .wp-block-button__link { width: 100%; }
.ds-page .ds-head { margin-bottom: var(--ds-s5); }
.ds-page .ds-section { scroll-margin-top: 4rem; }
}
@media (max-width: 767px) {
.ds-page .ds-block { padding: var(--ds-s4); }
.ds-page .ds-thanks { padding: var(--ds-s5); }
.ds-page .ds-form--inline { grid-template-columns: 1fr; }
.ds-page .ds-circles { grid-template-columns: 1fr 1fr; }
.ds-page .ds-patent__step { grid-template-columns: 1fr; gap: var(--ds-s2); padding: var(--ds-s4); }
.ds-page .ds-cta { padding: var(--ds-s5); }
.ds-page .ds-benefit { padding: var(--ds-s4); margin-top: 0; }
}
@media (max-width: 479px) {
.ds-page .ds-info { grid-template-columns: 1fr; }
.ds-page .ds-formula__body { padding: var(--ds-s4); }
.ds-page .ds-hero-simple { padding-top: 7rem; }
}
@media (prefers-reduced-motion: reduce) {
.ds-page * { transition: none !important; animation: none !important; }
}/* -- PULSANTI: contesti particolari (classi ds-btn-* definite in design-system) ---- */
/* Hero: pulsanti identici a prima (verde pieno e bordo verde) */
.ds-page .ds-hero .ds-btn-secondary .wp-block-button__link { background: transparent !important; color: var(--ds-link) !important; border-color: var(--ds-carezza); min-height: 3rem; }
.ds-page .ds-hero .ds-btn-secondary .wp-block-button__link:hover,
.ds-page .ds-hero .ds-btn-secondary .wp-block-button__link:focus { background: var(--ds-link-hover) !important; border-color: var(--ds-link-hover); color: var(--ds-bg-alt) !important; }/* Fascia missione (sfondo scuro): colori invertiti */
.ds-mission .wp-block-button.ds-btn-primary { --ds-btn-bg: var(--ds-bg-alt); --ds-btn-color: var(--ds-text); --ds-btn-bg-hover: var(--ds-bg); --ds-btn-color-hover: var(--ds-text); }
.ds-mission .wp-block-button.ds-btn-secondary { --ds-btn-bg: transparent; --ds-btn-color: var(--ds-bg-alt); --ds-btn-bg-hover: rgba(242, 238, 233, .18); --ds-btn-color-hover: var(--ds-bg-alt); }
.ds-mission .wp-block-button.ds-btn-secondary .wp-block-button__link { border-color: var(--ds-bg-alt); }
@media (hover: hover) {
.ds-mission .wp-block-button.ds-btn-secondary .wp-block-button__link:hover { border-color: var(--ds-bg-alt); } }/* Pulsante di invio dei moduli (contatti e questionario): come il pulsante primario */
.ds-page .ds-form__actions .wpcf7-submit.wp-block-button__link { background: var(--ds-text) !important; color: var(--ds-bg-alt) !important; border: 2px solid var(--ds-text); border-radius: var(--ds-r-btn); min-height: 3rem; padding: 0.875rem 1.75rem; font-family: var(--ds-font-body); font-weight: 600; font-size: 1rem; line-height: 1.2; letter-spacing: 0.02em; cursor: pointer; }
@media (hover: hover) {
.ds-page .ds-form__actions .wpcf7-submit.wp-block-button__link:hover { background: #3F3B37 !important; border-color: #3F3B37; } }

/* -- LISTA D'ATTESA: hero con scheda del modulo ---------------------------- */
.ds-page .ds-hero-page { padding-top: 8rem; }
.ds-page .ds-hero-page .wp-block-cover__inner-container { width: 100%; max-width: 40rem; display: flex; flex-direction: column; align-items: center; gap: var(--ds-s4); text-align: center; }
.ds-page .ds-hero-page .ds-lead { margin-inline: auto; }
.ds-page .ds-hero-page, .ds-page .ds-hero-page .ds-h1, .ds-page .ds-hero-page .ds-lead, .ds-page .ds-hero-page .ds-eyebrow { color: var(--ds-text); }
.ds-page .ds-waitlist { width: 100%; max-width: 34rem; margin-inline: auto; margin-top: var(--ds-s3); padding: var(--ds-s5); background: var(--ds-bg); border-radius: var(--ds-r-card); text-align: left; box-sizing: border-box; }
.ds-page .ds-waitlist .wpcf7-form { margin: 0; }
.ds-page .ds-waitlist .ds-form { grid-template-columns: 1fr; gap: var(--ds-s4); }
.ds-page .ds-waitlist .ds-input { width: 100%; min-height: 3rem; font-size: 1rem; box-sizing: border-box; }
.ds-page .ds-waitlist .wpcf7-form-control-wrap { display: block; }
.ds-page .ds-waitlist .wpcf7-list-item { margin: 0; display: block; }
.ds-page .ds-waitlist .wpcf7-list-item label { display: flex; align-items: flex-start; gap: var(--ds-s3); cursor: pointer; }
.ds-page .ds-waitlist input[type="checkbox"] { flex: 0 0 auto; width: 1.375rem; height: 1.375rem; margin: 0.15rem 0 0; accent-color: var(--ds-text); }
.ds-page .ds-waitlist .ds-confirm { margin-top: 0; }
.ds-page .ds-waitlist .ds-form__actions .wpcf7-submit.wp-block-button__link { width: 100%; }
.ds-page .ds-waitlist .wpcf7-spinner { display: none; }
.ds-page .ds-waitlist .wpcf7-not-valid-tip { display: block; margin-top: var(--ds-s1); font-size: 0.875rem; font-weight: 600; color: var(--ds-velo); }
.ds-page .ds-waitlist .wpcf7-not-valid { border-color: var(--ds-velo); }
.ds-page .ds-waitlist .wpcf7-response-output { margin: var(--ds-s4) 0 0; padding: var(--ds-s3) var(--ds-s4); border: 1px solid var(--ds-text); border-radius: var(--ds-r-card); background: var(--ds-bg); font-size: 0.9375rem; text-align: center; }
.ds-page .ds-waitlist .wpcf7-response-output:empty { display: none; }
@media (max-width: 767px) {
  .ds-page .ds-hero-page { padding-top: 7rem; }
  .ds-page .ds-waitlist { padding: var(--ds-s5) var(--ds-s4); }
}

/* -- LISTA D'ATTESA: pagina senza header e footer, freccia di ritorno dopo l'iscrizione ---- */
body.ds-bare { margin: 0; background: var(--ds-bg-alt); }
body.ds-bare .ds-hero-page { min-height: 100vh !important; min-height: 100svh !important; padding-top: var(--ds-s6) !important; padding-bottom: var(--ds-s6) !important; }
.ds-page .ds-waitlist__back { display: none; }
.ds-page .ds-waitlist .wpcf7-form.sent { display: flex; flex-direction: column; align-items: center; }
.ds-page .ds-waitlist .wpcf7-form.sent .ds-waitlist__form { display: none; }
.ds-page .ds-waitlist .wpcf7-form.sent .wpcf7-response-output { order: 1; width: 100%; margin-top: 0; }
.ds-page .ds-waitlist .wpcf7-form.sent .ds-waitlist__back { order: 2; display: flex; flex-direction: column; align-items: center; gap: var(--ds-s2); margin-top: var(--ds-s4); }
.ds-page .ds-waitlist__arrow { display: inline-flex; align-items: center; justify-content: center; width: 3.25rem; height: 3.25rem; border: 2px solid var(--ds-text); border-radius: 50%; color: var(--ds-text); text-decoration: none; transition: background-color 200ms ease, color 200ms ease; }
.ds-page .ds-waitlist__arrow:focus-visible { outline: 3px solid var(--ds-text); outline-offset: 3px; }
@media (hover: hover) { .ds-page .ds-waitlist__arrow:hover { background: var(--ds-text); color: var(--ds-bg-alt); } }
.ds-page .ds-waitlist__label { font-size: 0.875rem; }
@media (prefers-reduced-motion: reduce) { .ds-page .ds-waitlist__arrow { transition: none; } }

/* CTA centrale sotto le lozioni */
.ds-page .wp-block-buttons.ds-btn-center { justify-content: center; margin-top: var(--ds-s6); }
