/* ==========================================================================
   Variante "Calmo" — avorio, pino profondo, terracotta.
   Strato di sola presentazione, caricato dopo tutti gli altri fogli:
   non tocca la logica dell'applicazione. Serve a dare al sito un tono
   sobrio e autorevole: grazie nei titoli, superfici morbide, accenti caldi.
   ========================================================================== */

@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/assets/fonts/fraunces-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: "Fraunces";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/assets/fonts/fraunces-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: "Fraunces";
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url("/assets/fonts/fraunces-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;
}

:root,
:host {
  --calm-serif: "Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --calm-pine: #0b3b2e;
  --calm-pine-deep: #082d22;
  --calm-cream: #f6f0e4;
  --calm-cream-soft: #fffdf8;
  --calm-sand: #e8d5ae;
  --calm-sand-soft: #f2e6cf;
  --calm-terra: #b4532a;
  --calm-terra-deep: #9c4523;
  --calm-line: #e3dbc9;
  --calm-muted: #5d6a62;

  --ui-display: var(--calm-serif);
  --radius-control: 12px;
  --radius-panel: 22px;
  --ui-shadow: 0 1px 2px rgba(11, 59, 46, 0.05), 0 22px 48px -28px rgba(11, 59, 46, 0.34);
  --ui-shadow-soft: 0 10px 30px -20px rgba(11, 59, 46, 0.3);
  --ui-lift: 0 24px 56px -30px rgba(11, 59, 46, 0.42);
  --fv-shadow: 0 1px 2px rgba(11, 59, 46, 0.05), 0 20px 44px -26px rgba(11, 59, 46, 0.34);
}

/* --------------------------------------------------------------------------
   Tipografia: grazie per i titoli, sans per il testo
   -------------------------------------------------------------------------- */
h1, h2, h3, h4 {
  font-family: var(--calm-serif) !important;
  font-weight: 460 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.06;
  text-transform: none;
  font-optical-sizing: auto;
}
h1 em, h2 em, h3 em, h4 em,
h1 i, h2 i, h3 i, h4 i,
h1 strong em, h2 strong em {
  font-style: italic;
  font-weight: inherit;
  color: var(--calm-terra);
}
::selection {
  background: var(--calm-sand);
  color: var(--calm-pine-deep);
}

/* Etichette minute: restano monospaziate, virano al terracotta */
.vel-label,
.bx-kicker,
.bx-n,
.eyebrow,
.label {
  color: var(--calm-terra);
}

/* ==========================================================================
   LANDING
   ========================================================================== */
html.ui-landing {
  --bx-terra: #b4532a;
  --bx-sand: #e8d5ae;
  --bx-radius: 22px;
}

html.ui-landing body {
  font-feature-settings: "ss01" 1, "cv11" 1;
}

/* Intestazione: avorio quieto, voce serif, pulsante a pillola */
html.ui-landing header.sticky {
  background: color-mix(in oklab, var(--bx-paper) 90%, transparent) !important;
  border-bottom: 1px solid rgba(11, 59, 46, 0.12) !important;
}
html.ui-landing header .vel-logo__word {
  font-family: var(--calm-serif) !important;
  font-weight: 560 !important;
  font-size: 1.34rem !important;
  letter-spacing: -0.015em !important;
  text-transform: none;
}
.bx-nav a {
  font-family: var(--ui-body) !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: rgba(11, 59, 46, 0.78) !important;
  border-bottom: 0;
}
.bx-nav a:hover {
  color: var(--calm-terra) !important;
  border-bottom-color: transparent;
}
html.ui-landing header button[data-testid="nav-login"] {
  border-radius: 999px !important;
  background: var(--calm-pine) !important;
  border-color: var(--calm-pine) !important;
  color: var(--calm-cream) !important;
  font-family: var(--ui-body) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  height: 2.6rem !important;
  padding-inline: 1.35rem !important;
  box-shadow: 0 12px 24px -16px rgba(11, 59, 46, 0.6);
}
html.ui-landing header button[data-testid="nav-login"]:hover {
  background: var(--calm-terra) !important;
  border-color: var(--calm-terra) !important;
  color: #fffdf8 !important;
}

/* ------------------------------------------------------------------ prima schermata */
html.ui-landing section#top.bx-cover {
  background-color: var(--calm-pine-deep) !important;
  background-image:
    linear-gradient(104deg,
      rgba(8, 45, 34, 0.92) 0%,
      rgba(9, 48, 36, 0.84) 32%,
      rgba(9, 48, 36, 0.54) 55%,
      rgba(9, 48, 36, 0.26) 76%,
      rgba(8, 45, 34, 0.46) 100%),
    url("/img/hero-people.webp") !important;
  background-size: cover, cover !important;
  background-position: center, center 38% !important;
  background-repeat: no-repeat, no-repeat !important;
  color: var(--calm-cream) !important;
}
html.ui-landing section#top.bx-cover::before,
html.ui-landing section#top.bx-cover .vel-hero-canvas {
  display: none !important;
}
html.ui-landing section#top.bx-cover h1 {
  font-family: var(--calm-serif) !important;
  font-weight: 430 !important;
  font-size: clamp(2.5rem, 5.1vw, 4.5rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.028em !important;
  text-transform: none;
  max-width: 17ch;
  color: #fbf7ee !important;
  text-shadow: 0 1px 30px rgba(8, 45, 34, 0.25);
}
html.ui-landing section#top.bx-cover h1 .text-accent {
  color: #eccfa4 !important;
  font-style: italic;
  letter-spacing: -0.012em !important;
}
html.ui-landing section#top.bx-cover .text-muted,
html.ui-landing section#top.bx-cover .text-faint {
  color: rgba(246, 240, 228, 0.78) !important;
}
html.ui-landing section#top.bx-cover .flex.flex-wrap.gap-2 > span {
  border-radius: 999px !important;
  border-color: rgba(246, 240, 228, 0.36) !important;
  background: rgba(8, 45, 34, 0.34) !important;
  backdrop-filter: blur(6px);
  color: #f6f0e4 !important;
  font-family: var(--ui-body) !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  padding: 0.42rem 0.8rem !important;
}
html.ui-landing section#top.bx-cover .flex.flex-wrap.gap-2 > span:first-child {
  background: var(--calm-sand) !important;
  border-color: var(--calm-sand) !important;
  color: var(--calm-pine-deep) !important;
  font-weight: 600 !important;
}
html.ui-landing section#top.bx-cover p.text-muted {
  font-family: var(--ui-body) !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  color: rgba(246, 240, 228, 0.82) !important;
}
html.ui-landing section#top.bx-cover p.text-muted span.bg-accent {
  background: var(--calm-terra) !important;
  border-radius: 50% !important;
  width: 0.42rem;
  height: 0.42rem;
}

/* Calcolatore: carta avorio, ombra morbida, controlli a pillola */
html.ui-landing #simulator > h2.vel-label {
  color: #eccfa4 !important;
  font-family: var(--ui-body) !important;
  font-size: 0.66rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
}
html.ui-landing #simulator .vel-sim-card {
  border: 1px solid rgba(11, 59, 46, 0.1) !important;
  border-radius: 20px !important;
  background: var(--calm-cream-soft) !important;
  box-shadow: var(--ui-lift) !important;
  padding: 1.5rem 1.5rem 1.6rem !important;
}
html.ui-landing #simulator .vel-sim-card .vel-label {
  color: var(--calm-terra) !important;
  font-family: var(--ui-body) !important;
  font-size: 0.64rem !important;
  letter-spacing: 0.14em !important;
}
html.ui-landing #simulator .vel-select > button {
  border: 1px solid var(--calm-line) !important;
  border-radius: 10px !important;
  background: var(--calm-cream) !important;
  font-weight: 500;
}
html.ui-landing #simulator .grid.h-14 {
  border: 1px solid var(--calm-line) !important;
  border-radius: 12px !important;
  background: var(--calm-cream) !important;
}
html.ui-landing #simulator .grid.h-14 button.vel-step {
  background: transparent;
  color: var(--calm-pine);
}
html.ui-landing #simulator .grid.h-14 button.vel-step:hover {
  background: var(--calm-sand-soft);
}
html.ui-landing #simulator .vel-num.flex.justify-between {
  font-family: var(--ui-body) !important;
  text-transform: none;
}
html.ui-landing #simulator form button[type="submit"] {
  border-radius: 999px !important;
  background: var(--calm-pine) !important;
  color: var(--calm-cream) !important;
  font-family: var(--ui-body) !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
  padding-inline: 1.35rem !important;
  box-shadow: 0 16px 30px -20px rgba(11, 59, 46, 0.7);
}
html.ui-landing #simulator form button[type="submit"] span {
  color: #eccfa4;
}
html.ui-landing #simulator form button[type="submit"]:hover {
  background: var(--calm-terra) !important;
  color: #fffdf8 !important;
}
html.ui-landing #simulator form button[type="submit"]:hover span {
  color: #fffdf8;
}
html.ui-landing #simulator p[role="status"] {
  border: 1px solid rgba(180, 83, 42, 0.22) !important;
  border-radius: 12px !important;
  background: #f4e7d4 !important;
  color: var(--calm-pine) !important;
  padding: 0.7rem 0.85rem !important;
}
html.ui-landing #simulator p[role="status"] b {
  color: var(--calm-terra) !important;
  font-family: var(--ui-body) !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.12em !important;
}
html.ui-landing #simulator p[role="status"] span {
  color: rgba(11, 59, 46, 0.74) !important;
}

/* Fatti / numeri sotto la prima schermata */
.bx-facts dt {
  text-transform: none !important;
  color: var(--calm-muted) !important;
  font-family: var(--ui-body) !important;
  letter-spacing: 0.01em !important;
}

/* Titoli di sezione: serif, frase normale */
.bx-manifesto__title,
.bx-chapter h2,
.bx-sec--steps ol > li h3,
.bx-sec--programs .vel-programs__card h3,
.bx-sec--feature h2,
.bx-sec--mission h2,
.bx-sec--mission h3,
.bx-req__head h2,
.bx-req__list h3,
.bx-sec--faq .vel-section > div:first-child h2,
.bx-sec--end h2#site-end-title {
  font-family: var(--calm-serif) !important;
  text-transform: none !important;
  font-weight: 440 !important;
  letter-spacing: -0.02em !important;
}
.bx-manifesto__title {
  line-height: 1.02 !important;
}
.bx-sec--end h2#site-end-title {
  line-height: 1.04 !important;
  color: #fbf7ee !important;
}
.bx-kicker__dot {
  border-radius: 50%;
  background: var(--calm-terra);
}
.bx-manifesto .bx-kicker { color: #eccfa4; }
.bx-manifesto__points .bx-n { color: #eccfa4; }

/* Pulsanti */
.bx-btn {
  font-family: var(--ui-body) !important;
  font-size: 0.86rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
  border-radius: 999px !important;
  padding-block: 0.8rem !important;
  padding-inline: 1.45rem !important;
  border-width: 1px !important;
}
.bx-btn--lime {
  background: var(--calm-sand) !important;
  border-color: var(--calm-sand) !important;
  color: var(--calm-pine-deep) !important;
  box-shadow: 0 16px 32px -22px rgba(8, 45, 34, 0.8);
}
.bx-btn--lime:hover {
  background: #fffdf8 !important;
  border-color: #fffdf8 !important;
}
.bx-btn--ink {
  background: var(--calm-pine) !important;
  border-color: var(--calm-pine) !important;
  color: var(--calm-cream) !important;
}
.bx-btn--ink:hover {
  background: var(--calm-terra) !important;
  border-color: var(--calm-terra) !important;
  color: #fffdf8 !important;
}

/* Indice laterale: tessera avorio, ombra quieta */
.bx-rail {
  border: 1px solid rgba(11, 59, 46, 0.14) !important;
  border-radius: 18px !important;
  background: rgba(246, 240, 228, 0.94) !important;
  box-shadow: 0 1px 2px rgba(11, 59, 46, 0.05), 0 26px 60px -34px rgba(11, 59, 46, 0.55) !important;
  backdrop-filter: blur(8px);
}

/* Carte e riquadri: angoli morbidi, ombra leggera invece dell'offset */
.bx-req__list li,
.bx-sec--programs .vel-programs__card,
.bx-sec--steps ol > li,
.bx-facts dl > div {
  border-radius: 16px !important;
}
.bx-sec--programs .vel-programs__card {
  box-shadow: 0 1px 2px rgba(11, 59, 46, 0.04), 0 18px 40px -30px rgba(11, 59, 46, 0.35);
}
.bx-sec--mission {
  border-radius: 0;
}
html.ui-landing .bx-sec--mission dd {
  color: rgba(246, 240, 228, 0.86) !important;
}
html.ui-landing .bx-sec--mission dt {
  color: rgba(236, 207, 164, 0.72) !important;
}

/* Piè di pagina: la parola del marchio in grazie */
.bx-foot-brand__word {
  font-family: var(--calm-serif) !important;
  font-weight: 470 !important;
  letter-spacing: -0.02em !important;
  color: #fbf7ee !important;
}
.bx-foot-brand__cta {
  font-family: var(--ui-body) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  border-bottom: 1px solid rgba(232, 213, 174, 0.6);
}
.bx-foot-bottom {
  font-family: var(--ui-body) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
}

/* Dialoghi (accesso, registrazione, licenza) */
dialog.vel-reg .vel-reg__form,
.vel-license__shell {
  border-radius: 22px !important;
  border: 1px solid rgba(11, 59, 46, 0.12) !important;
  box-shadow: var(--ui-lift) !important;
}
dialog.vel-reg input {
  border-radius: 12px !important;
  border-color: var(--calm-line) !important;
}
dialog.vel-reg button[type="submit"],
dialog.vel-reg button.bg-accent {
  border-radius: 999px !important;
}

/* ==========================================================================
   PAGINE DI CONTENUTO
   ========================================================================== */
html.ui-page {
  --pv-terra: #b4532a;
  --pv-radius: 20px;
}
html.ui-page h1,
html.ui-page h2,
html.ui-page h3 {
  font-family: var(--calm-serif) !important;
  text-transform: none !important;
  font-weight: 440 !important;
  letter-spacing: -0.02em !important;
}
html.ui-page .pv-cover h1,
html.ui-page .hero h1 {
  line-height: 1.02 !important;
}
html.ui-page .card h3,
html.ui-page .deflist dt,
html.ui-page .step h3,
html.ui-page .pv-fiche__list dt {
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  font-family: var(--ui-body) !important;
  font-weight: 600 !important;
}
html.ui-page .pv-fiche,
html.ui-page .card,
html.ui-page .stats,
html.ui-page .steps .step,
html.ui-page .cta-band {
  border-radius: var(--pv-radius) !important;
  box-shadow: 0 1px 2px rgba(11, 59, 46, 0.04), 0 22px 48px -32px rgba(11, 59, 46, 0.34) !important;
  border-color: rgba(11, 59, 46, 0.12) !important;
}
html.ui-page .cta-band {
  background: var(--calm-pine-deep) !important;
  border-radius: 24px !important;
}
html.ui-page .pv-rail__cta,
html.ui-page .card:hover {
  box-shadow: 0 1px 2px rgba(11, 59, 46, 0.04), 0 20px 44px -28px rgba(11, 59, 46, 0.38) !important;
  border-radius: 16px !important;
}
html.ui-page .btn,
html.ui-page .btn-primary,
html.ui-page .btn-ghost {
  border-radius: 999px !important;
  text-transform: none !important;
  font-family: var(--ui-body) !important;
  box-shadow: none !important;
}
html.ui-page .btn-primary {
  background: var(--calm-pine) !important;
  color: var(--calm-cream) !important;
  box-shadow: 0 16px 32px -22px rgba(11, 59, 46, 0.8) !important;
}
html.ui-page .btn-primary:hover {
  background: var(--calm-terra) !important;
  color: #fffdf8 !important;
}
html.ui-page .btn-ghost:hover {
  border-color: var(--calm-terra) !important;
  color: var(--calm-terra) !important;
}
html.ui-page .eyebrow,
html.ui-page .label {
  color: var(--calm-terra) !important;
}

/* Pagine storiche con il solo theme.css: stessa voce */
html:not(.ui-landing):not(.ui-page) .btn {
  border-radius: 999px;
}
html:not(.ui-landing):not(.ui-page) header.sticky {
  background-color: color-mix(in oklab, var(--color-ground) 92%, transparent) !important;
}

/* ==========================================================================
   SIMULATORE A PASSI E AREA PERSONALE
   ========================================================================== */
html .vel-wizard h1,
html .vel-wizard h2,
html .vel-wizard h3,
html .vel-cabinet h1,
html .vel-cabinet h2,
html .vel-cabinet h3 {
  font-family: var(--calm-serif) !important;
  text-transform: none !important;
  font-weight: 450 !important;
  letter-spacing: -0.02em !important;
}
html .vel-wizard .vel-wizard__actions .bg-accent,
html .vel-cabinet .vel-cabinet__main .vel-stage .bg-accent,
html .vel-cabinet button[class*="bg-accent"] {
  border-radius: 999px !important;
  font-family: var(--ui-body) !important;
  font-weight: 600 !important;
  letter-spacing: 0.005em !important;
  box-shadow: 0 16px 32px -22px rgba(11, 59, 46, 0.75) !important;
}
html .vel-wizard .vel-amount__promise {
  border-radius: 16px !important;
  box-shadow: 0 1px 2px rgba(11, 59, 46, 0.05), 0 18px 40px -30px rgba(11, 59, 46, 0.4) !important;
  border-color: rgba(232, 213, 174, 0.5) !important;
}
html .vel-cabinet .vel-payout,
html .vel-cabinet .vel-ppanel,
html .vel-cabinet .vel-csign__panel {
  border-radius: 20px !important;
  box-shadow: var(--fv-shadow) !important;
  border-color: rgba(11, 59, 46, 0.12) !important;
}
html .vel-wizard .vel-select > button,
html .vel-wizard input.rounded-control,
html .vel-wizard .rounded-control,
html .vel-cabinet .rounded-control {
  border-radius: 12px !important;
}
html .vel-cabinet .vel-cabinet-nav a {
  border-radius: 999px !important;
}
html:has(.vel-cabinet) dialog:not(.vel-reg) {
  border-radius: 22px !important;
  box-shadow: 0 1px 2px rgba(11, 59, 46, 0.05), 0 30px 80px -40px rgba(11, 59, 46, 0.55) !important;
}

/* Cursore del range: pino su sabbia */
.vel-range::-webkit-slider-runnable-track {
  border-radius: 999px;
}
.vel-range::-webkit-slider-thumb {
  background: var(--calm-pine);
  border: 2px solid var(--calm-cream-soft);
  box-shadow: 0 0 0 1px rgba(11, 59, 46, 0.18), 0 6px 14px -6px rgba(11, 59, 46, 0.6);
}
.vel-range::-moz-range-thumb {
  background: var(--calm-pine);
  border: 2px solid var(--calm-cream-soft);
}

/* ==========================================================================
   CONSENSO COOKIE
   ========================================================================== */
.ui-cc-banner,
#ui-cc-banner {
  border-radius: 20px !important;
}

/* --------------------------------------------------------------------------
   Ritocchi di coerenza
   -------------------------------------------------------------------------- */
/* I riquadri a elenco restano editoriali: niente angoli sui separatori */
.bx-req__list li,
.bx-sec--programs .vel-programs__card {
  border-radius: 0 !important;
  box-shadow: none !important;
}
.bx-sec--programs .vel-programs__card:first-child {
  border-top-left-radius: 14px !important;
  border-top-right-radius: 14px !important;
}
.bx-sec--programs .vel-programs__card:last-child {
  border-bottom-left-radius: 14px !important;
  border-bottom-right-radius: 14px !important;
}

/* Testo del riepilogo nel calcolatore: pino su avorio */
html.ui-landing section#top.bx-cover #simulator p[role="status"],
html.ui-landing section#top.bx-cover #simulator p[role="status"] b,
html.ui-landing section#top.bx-cover #simulator p[role="status"] span {
  color: var(--calm-pine) !important;
}
html.ui-landing section#top.bx-cover #simulator p[role="status"] b {
  color: var(--calm-terra) !important;
}
html.ui-landing section#top.bx-cover #simulator p[role="status"] span {
  color: rgba(11, 59, 46, 0.76) !important;
}

/* Riquadro di accreditamento nella sezione scura */
html.ui-landing .bx-sec--mission .bg-surface {
  border-radius: 18px !important;
  border-color: rgba(246, 240, 228, 0.18) !important;
  background: rgba(246, 240, 228, 0.04) !important;
}
html.ui-landing .bx-sec--mission a[class*="bg-"],
html.ui-landing .bx-sec--mission a.rounded-control {
  border-radius: 999px !important;
}

/* Prima schermata sul telefono: foto più leggibile, testo sempre nitido */
@media (max-width: 640px) {
  html.ui-landing section#top.bx-cover {
    background-image:
      linear-gradient(180deg,
        rgba(8, 45, 34, 0.94) 0%,
        rgba(9, 48, 36, 0.82) 38%,
        rgba(9, 48, 36, 0.62) 70%,
        rgba(8, 45, 34, 0.86) 100%),
      url("/img/hero-people.webp") !important;
    background-position: center, 62% center !important;
  }
}

/* Intestazione delle pagine di contenuto: avorio, non più blocco scuro */
html.ui-page .pv-top {
  background: color-mix(in oklab, var(--calm-cream) 92%, transparent) !important;
  color: var(--calm-pine) !important;
  border-bottom: 1px solid rgba(11, 59, 46, 0.12) !important;
  backdrop-filter: blur(12px) saturate(1.04);
}
html.ui-page .pv-brand__word {
  font-family: var(--calm-serif) !important;
  font-weight: 560 !important;
  font-size: 1.32rem !important;
  letter-spacing: -0.015em !important;
  color: var(--calm-pine) !important;
}
html.ui-page .pv-top__meta {
  color: rgba(11, 59, 46, 0.55) !important;
  font-family: var(--ui-body) !important;
  letter-spacing: 0.06em !important;
}
html.ui-page .pv-top__inst { color: var(--calm-pine) !important; }
html.ui-page .pv-top__back {
  border-radius: 999px !important;
  border: 1px solid rgba(11, 59, 46, 0.28) !important;
  color: var(--calm-pine) !important;
  font-family: var(--ui-body) !important;
  letter-spacing: 0.01em !important;
}
html.ui-page .pv-top__back span { color: var(--calm-terra) !important; }
html.ui-page .pv-top__back:hover {
  background: var(--calm-pine) !important;
  border-color: var(--calm-pine) !important;
  color: var(--calm-cream) !important;
}
html.ui-page .pv-top__back:hover span { color: var(--calm-sand) !important; }

/* Simulatore: riquadri morbidi, cursore tondo, pulsanti a pillola */
html .vel-wizard .vel-amount-mobile__box {
  border-radius: 18px !important;
  box-shadow: 0 1px 2px rgba(11, 59, 46, 0.05), 0 22px 48px -30px rgba(11, 59, 46, 0.4) !important;
}
html .vel-wizard .vel-wizard__actions button,
html .vel-wizard .vel-wizard__actions a {
  border-radius: 999px !important;
  box-shadow: none !important;
  font-weight: 600 !important;
}
html .vel-wizard .vel-wizard__actions .bg-accent:hover {
  box-shadow: none !important;
}
html .vel-wizard .vel-range::-webkit-slider-thumb {
  border-radius: 50% !important;
  border: 3px solid var(--calm-cream-soft) !important;
  background: var(--calm-pine) !important;
  box-shadow: 0 0 0 1px rgba(11, 59, 46, 0.25), 0 6px 14px -6px rgba(11, 59, 46, 0.5) !important;
}
html .vel-wizard .vel-range::-moz-range-thumb {
  border-radius: 50% !important;
  border: 3px solid var(--calm-cream-soft) !important;
  background: var(--calm-pine) !important;
}
html .vel-wizard .vel-duration__summary {
  border-radius: 18px !important;
}
dialog.vel-reg {
  box-shadow: none !important;
  border-radius: 22px !important;
}

/* Elenchi a passi: una riga per volta, senza schede sovrapposte */
html.ui-page .steps {
  grid-template-columns: minmax(0, 1fr) !important;
}
html.ui-page .steps .step {
  border-radius: 0 !important;
  box-shadow: none !important;
  border-color: rgba(11, 59, 46, 0.14) !important;
}

/* Bande informative e distintivi del simulatore */
html .vel-wizard .vel-amount__promise {
  border-radius: 18px !important;
}
html .vel-wizard .vel-amount__promise > div:first-child,
html .vel-wizard .vel-amount__promise [class*="icon"] {
  border-radius: 12px !important;
}
html .vel-wizard .vel-wizard__header [class*="sicur"],
html .vel-wizard .vel-wizard__header a[class*="border"] {
  border-radius: 999px !important;
}
html .vel-wizard .vel-track__badge {
  border-radius: 999px !important;
  padding-inline: 0.5rem !important;
}

/* Pagine storiche con la sola copertina del bundle: testo leggibile sui campi avorio */
html:not(.ui-landing) section#top .vel-select > button,
html:not(.ui-landing) section#top .vel-select > button span,
html:not(.ui-landing) section#top .vel-sim-card .text-muted,
html:not(.ui-landing) section#top .vel-sim-card .text-faint,
html:not(.ui-landing) section#top p[role="status"],
html:not(.ui-landing) section#top p[role="status"] b,
html:not(.ui-landing) section#top p[role="status"] span {
  color: var(--color-fg) !important;
}
html:not(.ui-landing) section#top .vel-select > button {
  border-color: rgba(11, 59, 46, 0.25) !important;
}

/* Finestra di accesso: carta pulita, nessun bordo sabbia sfalsato */
html dialog.vel-reg {
  border-radius: 24px !important;
  box-shadow: 0 1px 2px rgba(11, 59, 46, 0.06), 0 40px 90px -50px rgba(11, 59, 46, 0.6) !important;
  background: var(--calm-cream-soft) !important;
}

/* Pulsante della licenza nel riquadro scuro: sabbia pieno */
html.ui-landing .bx-sec--mission button.bg-surface,
html.ui-landing .bx-sec--mission button[class*="bg-surface"] {
  background: var(--calm-sand) !important;
  border-color: var(--calm-sand) !important;
  color: var(--calm-pine-deep) !important;
}
html.ui-landing .bx-sec--mission button[class*="bg-surface"]:hover {
  background: #fffdf8 !important;
  border-color: #fffdf8 !important;
  color: var(--calm-pine-deep) !important;
}
html.ui-landing .bx-sec--mission button[class*="bg-surface"] {
  border-radius: 999px !important;
}

/* --------------------------------------------------------------------------
   Persone e icone nelle sezioni centrali
   -------------------------------------------------------------------------- */

/* Manifesto — foto intima sotto il testo */
html.ui-landing .bx-manifesto__media {
  margin: 1.5rem 0 0;
}
html.ui-landing .bx-manifesto__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 16px;
  border: 1px solid rgba(246, 240, 228, 0.24);
  box-shadow: 0 24px 50px -30px rgba(0, 0, 0, 0.55);
}

/* Barra dei fatti — piccoli emblemi accanto alla didascalia */
html.ui-landing .bx-sec--facts dt {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}
html.ui-landing .bx-sec--facts dt::before {
  content: "";
  flex: none;
  width: 20px;
  height: 20px;
  background: center / contain no-repeat;
  opacity: 0.95;
}
html.ui-landing .bx-sec--facts dl > div:nth-child(1) dt::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M7.5 19.5L24 10l16.5 9.5' stroke='%230b3b2e' stroke-width='2.2' stroke-linejoin='round'/%3E%3Cpath d='M12 20v15M20 20v15M28 20v15M36 20v15' stroke='%230b3b2e' stroke-width='2.2' stroke-linecap='round'/%3E%3Cpath d='M8 38.5h32' stroke='%23b4532a' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");
}
html.ui-landing .bx-sec--facts dl > div:nth-child(2) dt::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Ccircle cx='24' cy='24' r='15' stroke='%230b3b2e' stroke-width='2.4'/%3E%3Cpath d='M18.5 29.5l11-11' stroke='%23b4532a' stroke-width='2.6' stroke-linecap='round'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.6' fill='%230b3b2e'/%3E%3Ccircle cx='29.5' cy='29.5' r='2.6' fill='%230b3b2e'/%3E%3C/svg%3E");
}
html.ui-landing .bx-sec--facts dl > div:nth-child(3) dt::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Ccircle cx='24' cy='24' r='15' stroke='%230b3b2e' stroke-width='2.4'/%3E%3Cpath d='M24 15.5v9l5.5 3.5' stroke='%23b4532a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
html.ui-landing .bx-sec--facts dl > div:nth-child(4) dt::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Ccircle cx='24' cy='24' r='15' stroke='%230b3b2e' stroke-width='2.4'/%3E%3Cpath d='M31 16.8c-1.9-1.5-4.1-2.3-6.5-2.3-5.2 0-8.9 4.1-8.9 9.5s3.7 9.5 8.9 9.5c2.4 0 4.6-.8 6.5-2.3' stroke='%23b4532a' stroke-width='2.6' stroke-linecap='round'/%3E%3Cpath d='M13.5 21h11M13.5 26.5h11' stroke='%23b4532a' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Passaggi — tessera illustrata, numero come didascalia */
html.ui-landing .bx-sec--steps ol > li::before {
  content: "";
  display: block;
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background-color: #f2e6cf;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 32px 32px;
  box-shadow: inset 0 0 0 1px rgba(11, 59, 46, 0.06);
}
html.ui-landing .bx-sec--steps ol > li:nth-child(1)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Crect x='10.5' y='7.5' width='23' height='30' rx='3.5' stroke='%230b3b2e' stroke-width='2.4'/%3E%3Cpath d='M16.5 15.5h11M16.5 21h11M16.5 26.5h6.5' stroke='%230b3b2e' stroke-width='2.3' stroke-linecap='round'/%3E%3Ccircle cx='35' cy='34.5' r='7' fill='%23b4532a'/%3E%3Cpath d='M32 34.6l2 2 4-4.2' stroke='%23fffdf8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
html.ui-landing .bx-sec--steps ol > li:nth-child(2)::before {
  background-color: #e6ecdf;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M24 6.5l13.5 5.2v9.1c0 8.2-5.6 14.8-13.5 17.7-7.9-2.9-13.5-9.5-13.5-17.7v-9.1L24 6.5z' stroke='%230b3b2e' stroke-width='2.4' stroke-linejoin='round'/%3E%3Cpath d='M24 16.2c2.1-3.2 7.2-2.2 7.2 1.9 0 3.6-7.2 8.3-7.2 8.3s-7.2-4.7-7.2-8.3c0-4.1 5.1-5.1 7.2-1.9z' fill='%23b4532a'/%3E%3C/svg%3E");
}
html.ui-landing .bx-sec--steps ol > li:nth-child(3)::before {
  background-color: #f6ded1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Ccircle cx='24' cy='24' r='15' stroke='%230b3b2e' stroke-width='2.4'/%3E%3Cpath d='M18.5 29.5l11-11' stroke='%23b4532a' stroke-width='2.6' stroke-linecap='round'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.6' fill='%230b3b2e'/%3E%3Ccircle cx='29.5' cy='29.5' r='2.6' fill='%230b3b2e'/%3E%3C/svg%3E");
}
html.ui-landing .bx-sec--steps ol > li > span.vel-num {
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.72rem !important;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1;
  color: var(--calm-terra) !important;
  background: none !important;
  padding: 0 !important;
}

/* Programmi — schede con fotografia e distintivo */
html.ui-landing .bx-sec--programs .vel-programs__track {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  border-top: 0 !important;
  counter-reset: none;
}
html.ui-landing .bx-sec--programs .vel-programs__card {
  position: relative;
  display: flex !important;
  flex-direction: column;
  border: 1px solid var(--calm-line) !important;
  border-radius: 20px !important;
  background: var(--calm-cream-soft) !important;
  box-shadow: 0 1px 2px rgba(11, 59, 46, 0.05), 0 24px 48px -34px rgba(11, 59, 46, 0.32) !important;
  overflow: hidden !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
html.ui-landing .bx-sec--programs .vel-programs__card::before {
  content: none !important;
}
html.ui-landing .bx-sec--programs .vel-programs__card::after {
  content: "";
  position: absolute;
  top: 0.9rem;
  left: 0.9rem;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background-color: rgba(255, 253, 248, 0.96);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;
  box-shadow: 0 8px 20px -12px rgba(11, 59, 46, 0.6);
}
html.ui-landing .bx-sec--programs .vel-programs__card:nth-child(1)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cellipse cx='24' cy='14.5' rx='11' ry='4.5' stroke='%230b3b2e' stroke-width='2.2'/%3E%3Cpath d='M13 14.5v7c0 2.5 4.9 4.5 11 4.5s11-2 11-4.5v-7' stroke='%230b3b2e' stroke-width='2.2'/%3E%3Cpath d='M13 22v7c0 2.5 4.9 4.5 11 4.5s11-2 11-4.5v-7' stroke='%230b3b2e' stroke-width='2.2'/%3E%3Ccircle cx='34' cy='34' r='4' fill='%23b4532a'/%3E%3C/svg%3E");
}
html.ui-landing .bx-sec--programs .vel-programs__card:nth-child(2)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Ccircle cx='24' cy='24' r='15' stroke='%230b3b2e' stroke-width='2.4'/%3E%3Cpath d='M18.5 29.5l11-11' stroke='%23b4532a' stroke-width='2.6' stroke-linecap='round'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.6' fill='%230b3b2e'/%3E%3Ccircle cx='29.5' cy='29.5' r='2.6' fill='%230b3b2e'/%3E%3C/svg%3E");
}
html.ui-landing .bx-sec--programs .vel-programs__card:nth-child(3)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M24 6.5l13.5 5.2v9.1c0 8.2-5.6 14.8-13.5 17.7-7.9-2.9-13.5-9.5-13.5-17.7v-9.1L24 6.5z' stroke='%230b3b2e' stroke-width='2.4' stroke-linejoin='round'/%3E%3Cpath d='M24 16.2c2.1-3.2 7.2-2.2 7.2 1.9 0 3.6-7.2 8.3-7.2 8.3s-7.2-4.7-7.2-8.3c0-4.1 5.1-5.1 7.2-1.9z' fill='%23b4532a'/%3E%3C/svg%3E");
}
html.ui-landing .bx-sec--programs .vel-programs__card:nth-child(4)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M24 7a11 11 0 00-6.5 19.9c1.2.9 1.5 2 1.5 3.1v1h10v-1c0-1.1.3-2.2 1.5-3.1A11 11 0 0024 7z' stroke='%230b3b2e' stroke-width='2.2' stroke-linejoin='round'/%3E%3Cpath d='M20 35h8M21.5 39h5' stroke='%230b3b2e' stroke-width='2.2' stroke-linecap='round'/%3E%3Cpath d='M24 3v1.5M11 10l1 1M37 10l-1 1' stroke='%23b4532a' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
html.ui-landing .bx-sec--programs .vel-programs__card > img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  min-height: 0 !important;
  max-height: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}
html.ui-landing .bx-sec--programs .vel-programs__card > div {
  padding: 1.35rem 1.6rem 1.55rem !important;
  gap: 0.5rem !important;
  align-self: stretch;
}
html.ui-landing .bx-sec--programs .vel-programs__card h3 {
  font-size: clamp(1.2rem, 1.7vw, 1.5rem) !important;
  line-height: 1.12;
}
html.ui-landing .bx-sec--programs .vel-programs__card:hover {
  background: var(--calm-cream-soft) !important;
  border-color: var(--calm-sand) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 1px 2px rgba(11, 59, 46, 0.06), 0 34px 60px -34px rgba(11, 59, 46, 0.42) !important;
}
@media (max-width: 860px) {
  html.ui-landing .bx-sec--programs .vel-programs__track {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Requisiti — icone al posto dei numeri */
html.ui-landing .bx-req__list {
  border-top: 0 !important;
}
html.ui-landing .bx-req__list > li {
  grid-template-columns: 3.7rem minmax(0, 1fr);
  border-bottom-color: rgba(11, 59, 46, 0.18) !important;
}
html.ui-landing .bx-req__list .bx-n {
  width: 52px;
  height: 52px;
  padding: 0 !important;
  border-radius: 15px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 32px 32px;
  font-size: 0 !important;
  box-shadow: inset 0 0 0 1px rgba(11, 59, 46, 0.06);
}
html.ui-landing .bx-req__list > li:nth-child(1) .bx-n {
  background-color: #f2e6cf;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Ccircle cx='24' cy='16.5' r='7' stroke='%230b3b2e' stroke-width='2.4'/%3E%3Cpath d='M10.5 39c1.6-7.4 6.6-11.2 13.5-11.2S36 31.6 37.5 39' stroke='%230b3b2e' stroke-width='2.4' stroke-linecap='round'/%3E%3Ccircle cx='35' cy='35' r='5.5' fill='%23b4532a'/%3E%3Cpath d='M32.9 35l1.6 1.6 2.9-3.1' stroke='%23fffdf8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
html.ui-landing .bx-req__list > li:nth-child(2) .bx-n {
  background-color: #f6ded1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M13 8h14l8 8v24H13z' stroke='%230b3b2e' stroke-width='2.4' stroke-linejoin='round'/%3E%3Cpath d='M27 8v8h8' stroke='%230b3b2e' stroke-width='2.4' stroke-linejoin='round'/%3E%3Cpath d='M19 23h10M19 28.5h10M19 34h6' stroke='%23b4532a' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");
}
html.ui-landing .bx-req__list > li:nth-child(3) .bx-n {
  background-color: #e6ecdf;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Ccircle cx='24' cy='24' r='15' stroke='%230b3b2e' stroke-width='2.4'/%3E%3Cpath d='M24 15.5v9l5.5 3.5' stroke='%23b4532a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Allineamenti: niente angoli sui separatori della barra fatti e dei passaggi */
html.ui-landing .bx-facts dl > div,
html.ui-landing .bx-sec--steps ol > li {
  border-radius: 0 !important;
}

/* ==========================================================================
   FAQ — editoriale: colonna di contesto + schede quiete
   ========================================================================== */
html.ui-landing .bx-sec--faq {
  background: #f8f3e8 !important;
  border-top: 1px solid var(--calm-line) !important;
  border-bottom: 0 !important;
  padding-block: clamp(3.6rem, 7vw, 5.6rem) !important;
}
html.ui-landing .bx-sec--faq .vel-section {
  display: grid !important;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(2rem, 4.5vw, 4.5rem);
  align-items: start;
  max-width: var(--bx-max) !important;
}
html.ui-landing .bx-sec--faq .vel-section > div:first-child {
  position: sticky;
  top: 6rem;
  align-self: start;
  gap: 0.8rem !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
  max-width: none !important;
}
html.ui-landing .bx-sec--faq .vel-section > div:first-child h2 {
  font-size: clamp(2.1rem, 3.4vw, 3.1rem) !important;
  line-height: 1.02 !important;
  max-width: 14ch;
  margin: 0.15rem 0 0.2rem;
}
/* la parola "domande" in corsivo, come un respiro nel titolo */
html.ui-landing .bx-sec--faq .vel-split__word:nth-child(3) {
  font-style: italic;
  color: var(--calm-terra);
}
html.ui-landing .bx-faq__lead {
  margin: 0.2rem 0 0;
  max-width: 30ch;
  color: var(--calm-muted) !important;
  font-size: 0.96rem !important;
  line-height: 1.6 !important;
}
html.ui-landing .bx-faq__help {
  margin-top: 1.7rem;
  padding: 1.1rem 1.15rem 1.15rem;
  max-width: 26rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.1rem 0.9rem;
  align-items: center;
  background: var(--calm-sand-soft);
  border: 1px solid rgba(180, 83, 42, 0.16);
  border-radius: 18px;
  box-shadow: 0 18px 36px -32px rgba(8, 45, 34, 0.5);
}
html.ui-landing .bx-faq__avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #fffdf8;
  box-shadow: 0 6px 14px -8px rgba(8, 45, 34, 0.5);
}
html.ui-landing .bx-faq__help-title {
  margin: 0;
  font-family: var(--ui-body) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--calm-pine-deep) !important;
}
html.ui-landing .bx-faq__help-note {
  margin: 0.12rem 0 0;
  font-size: 0.79rem !important;
  line-height: 1.45 !important;
  color: var(--calm-muted) !important;
}
html.ui-landing .bx-faq__help-link {
  grid-column: 2;
  justify-self: start;
  margin-top: 0.55rem;
  color: var(--calm-terra) !important;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(180, 83, 42, 0.32);
  padding-bottom: 1px;
  transition: color 0.15s ease, border-color 0.15s ease;
}
html.ui-landing .bx-faq__help-link:hover {
  color: var(--calm-pine) !important;
  border-color: var(--calm-pine);
}
html.ui-landing .bx-sec--faq ul,
html.ui-landing .bx-sec--faq .bx-faq__list {
  margin-top: 0 !important;
  border-top: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  padding: 0;
}
html.ui-landing .bx-faq__list > li {
  border: 1px solid var(--calm-line) !important;
  border-bottom: 1px solid var(--calm-line) !important;
  border-radius: 16px !important;
  background: #fffdf8;
  box-shadow: 0 1px 2px rgba(11, 59, 46, 0.03), 0 20px 40px -34px rgba(11, 59, 46, 0.35);
  overflow: hidden;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
html.ui-landing .bx-faq__list > li:hover {
  border-color: #d9cdb5 !important;
}
html.ui-landing .bx-faq__list > li:has(details[open]) {
  border-color: rgba(180, 83, 42, 0.38) !important;
  background: #fffaf0;
  box-shadow: 0 1px 2px rgba(11, 59, 46, 0.04), 0 26px 50px -36px rgba(8, 45, 34, 0.5);
}
html.ui-landing .bx-faq__list summary.vel-faq__summary {
  padding: 1.1rem 1.15rem !important;
  gap: 0.85rem !important;
  align-items: center !important;
}
html.ui-landing .bx-faq__list summary span.vel-num {
  width: 2rem !important;
  height: 2rem !important;
  flex: none;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: var(--calm-sand-soft) !important;
  border: 1px solid rgba(180, 83, 42, 0.18) !important;
  border-radius: 50% !important;
  color: var(--calm-terra) !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.04em;
  margin-top: 0 !important;
}
html.ui-landing .bx-faq__list details[open] summary span.vel-num {
  background: var(--calm-terra) !important;
  border-color: var(--calm-terra) !important;
  color: #fffdf8 !important;
}
html.ui-landing .bx-faq__list summary span:not(.vel-num) {
  font-size: 0.98rem !important;
  font-weight: 550 !important;
  line-height: 1.35 !important;
  color: var(--calm-pine-deep);
}
html.ui-landing .bx-faq__list summary svg {
  width: 1.05rem;
  height: 1.05rem;
  flex: none;
  margin-top: 0 !important;
  color: var(--calm-muted);
  transition: transform 0.25s ease, color 0.2s ease;
}
html.ui-landing .bx-faq__list details[open] summary svg {
  transform: rotate(180deg);
  color: var(--calm-terra);
}
html.ui-landing .bx-sec--faq details > div,
html.ui-landing .bx-sec--faq details > p {
  padding: 0 !important;
  max-width: none !important;
}
html.ui-landing .bx-faq__inner {
  padding: 0 1.15rem 1.15rem 3.95rem;
}
html.ui-landing .bx-faq__inner p {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 52ch !important;
  color: var(--calm-muted) !important;
  font-size: 0.9rem !important;
  line-height: 1.62 !important;
}

/* ==========================================================================
   PIÈ DI PAGINA — chiusura editoriale su pino
   ========================================================================== */
html.ui-landing footer.bg-surface {
  background-color: var(--calm-pine-deep) !important;
  background-image: radial-gradient(120% 90% at 12% 0%, #0d4736 0%, rgba(13, 71, 54, 0) 60%) !important;
  color: rgba(246, 240, 228, 0.72) !important;
  border-top: 0 !important;
}
html.ui-landing footer.bg-surface > div {
  max-width: var(--bx-max) !important;
  padding-inline: var(--bx-gut) !important;
  padding-block: clamp(3rem, 5.5vw, 4.6rem) 1.6rem !important;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 2.5rem clamp(2rem, 5vw, 5rem);
  align-items: start;
}
html.ui-landing .bx-foot-brand {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  border-bottom: 0 !important;
}
html.ui-landing .bx-foot-brand__word {
  font-family: var(--calm-serif) !important;
  font-size: clamp(2.6rem, 4.2vw, 3.8rem) !important;
  font-weight: 460 !important;
  letter-spacing: -0.035em !important;
  line-height: 0.95 !important;
  color: #fbf7ee !important;
  text-transform: lowercase;
  text-decoration: none;
}
html.ui-landing .bx-foot-brand__word::after {
  content: ".";
  color: #d9805a;
}
html.ui-landing .bx-foot-brand p {
  margin: 1rem 0 0;
  max-width: 33ch;
  color: rgba(246, 240, 228, 0.66) !important;
  font-size: 0.96rem !important;
  line-height: 1.6 !important;
}
html.ui-landing .bx-foot-status {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-top: 1.35rem !important;
  max-width: 36ch !important;
  color: #eccfa4 !important;
  font-size: 0.8rem !important;
  line-height: 1.45 !important;
}
html.ui-landing .bx-foot-status__dot {
  width: 6px;
  height: 6px;
  flex: none;
  margin-top: 0.38rem;
  border-radius: 50%;
  background: var(--calm-sand);
  box-shadow: 0 0 0 3px rgba(232, 213, 174, 0.16);
}
html.ui-landing .bx-foot-brand__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.6rem;
  padding: 0.7rem 1.2rem;
  background: var(--calm-sand) !important;
  border: 1px solid var(--calm-sand) !important;
  border-radius: 999px !important;
  color: var(--calm-pine-deep) !important;
  font-family: var(--ui-body) !important;
  font-size: 0.82rem !important;
  font-weight: 600;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
html.ui-landing .bx-foot-brand__cta:hover {
  background: #fffdf8 !important;
  border-color: #fffdf8 !important;
  color: var(--calm-pine-deep) !important;
}
html.ui-landing .bx-foot-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 2rem 2.5rem !important;
  margin-top: 0.4rem;
  padding-bottom: 0 !important;
}
html.ui-landing .bx-foot-col {
  position: relative;
}
html.ui-landing .bx-foot-col::before {
  color: rgba(236, 207, 164, 0.55) !important;
  font-size: 0.58rem !important;
  letter-spacing: 0.14em !important;
  margin-bottom: 0.45rem !important;
}
html.ui-landing .bx-foot-col h3.vel-label {
  color: #fbf7ee !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.16em !important;
  font-weight: 600 !important;
}
html.ui-landing .bx-foot-grid ul {
  margin-top: 0.85rem !important;
  gap: 0.42rem !important;
}
html.ui-landing .bx-foot-grid a.vel-link {
  color: rgba(246, 240, 228, 0.68) !important;
  font-size: 0.86rem !important;
  text-decoration: none;
  transition: color 0.15s ease;
}
html.ui-landing .bx-foot-grid a.vel-link:hover {
  color: #fffdf8 !important;
}
html.ui-landing .bx-foot-bottom {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem 1.5rem;
  margin-top: 1.2rem;
  padding-top: 1.3rem;
  border-top: 1px solid rgba(246, 240, 228, 0.16) !important;
  font-family: var(--ui-body) !important;
  font-size: 0.74rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: rgba(246, 240, 228, 0.5) !important;
}
html.ui-landing .bx-foot-bottom a,
html.ui-landing .bx-foot-bottom button {
  color: rgba(246, 240, 228, 0.66) !important;
}
html.ui-landing .bx-foot-bottom a:hover,
html.ui-landing .bx-foot-bottom button:hover {
  color: #fffdf8 !important;
}
@media (max-width: 960px) {
  html.ui-landing .bx-sec--faq .vel-section {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
  html.ui-landing .bx-sec--faq .vel-section > div:first-child {
    position: static;
  }
  html.ui-landing .bx-sec--faq .vel-section > div:first-child h2 {
    max-width: none;
  }
  html.ui-landing footer.bg-surface > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.4rem;
  }
}
@media (max-width: 600px) {
  html.ui-landing .bx-foot-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.8rem 1.5rem !important;
  }
  html.ui-landing .bx-faq__list summary.vel-faq__summary {
    padding: 0.95rem !important;
  }
  html.ui-landing .bx-faq__inner {
    padding-left: 3.7rem;
    padding-right: 0.95rem;
  }
}
