:root{--v-wine: #7E2F3E;--v-wine-dark: #5F2430;--v-rose: #D6A9A1;--v-rose-soft: #E6C8C1;--v-cream: #FBF8F5;--v-cream-2: #F4ECE8;--v-ink: #111111;--v-text: rgba(17,17,17,.62);--v-muted: rgba(17,17,17,.62);--v-hero-wine: #8A2F46;--v-hero-wine-dark: #6E2538;--v-hero-ink: #1B1819;--v-hero-text: #4E494A;--v-hero-muted: #70777B;--v-hero-bg: #F7F4F0;--v-font-title: 'Montserrat', sans-serif;--v-font-body: 'Inter', sans-serif;--v-maxw: 1240px;--v-pad-block: clamp(42px, 5vw, 72px);--v-pad-inline: clamp(18px, 4vw, 52px);--v-radius: 8px;--v-radius-lg: 14px;--v-shadow-card: 0 18px 42px rgba(126,47,62,.07);--v-ease: cubic-bezier(.25, 1, .5, 1);--v-ease-soft: cubic-bezier(.22, 1, .36, 1)}.visera-hero-final *, .visera-progress-section *, #viseraMethodClean *, #viseraAreas *, #viseraObiettivi *, #viseraMedicalRefined *, #viseraClubCompact *{box-sizing: border-box}.visera-progress-section, #viseraMethodClean, #viseraAreas, #viseraObiettivi, #viseraMedicalRefined, #viseraClubCompact{content-visibility: auto;contain-intrinsic-size: auto 720px}.visera-hero-final, .visera-progress-section, #viseraMethodClean, #viseraAreas, #viseraObiettivi, #viseraMedicalRefined, #viseraClubCompact{scroll-margin-top: 90px}.visera-hero-final ::selection, .visera-progress-section ::selection, #viseraMethodClean ::selection, #viseraAreas ::selection, #viseraObiettivi ::selection, #viseraMedicalRefined ::selection, #viseraClubCompact ::selection{background: rgba(126, 47, 62, .15);color: var(--v-ink)}.visera-hero-final__button:focus-visible, .visera-hero-final__arrow:focus-visible, .visera-hero-final__dots button:focus-visible{outline: 2px solid var(--v-hero-wine);outline-offset: 3px}#viseraAreas .visera-area-card__link:focus-visible, #viseraAreas .visera-area-card__image:focus-visible, #viseraObiettivi .vo-card:focus-visible, #viseraMedicalRefined .vmr-button:focus-visible, #viseraClubCompact .vcc-button:focus-visible, .visera-carousel-dots button:focus-visible{outline: 2px solid var(--v-wine);outline-offset: 3px}.visera-sr-only{position: absolute !important;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0}@media (prefers-reduced-motion: no-preference){html{scroll-behavior: smooth}}.visera-hero-final__button:active, #viseraAreas .visera-area-card__link:active, #viseraMedicalRefined .vmr-button:active, #viseraClubCompact .vcc-button:active, .vah-btn:active, .vih-btn:active, .lh-btn:active, .vm-btn:active, .vpe-cta-btn:active, .vfc-dark-btn:active, .vfc-submit:active, .visera-navbar__cta:active, .visera-navbar__mobile-cta:active, #viseraSubscriptionModal .vsm-btn:active, #viseraCentersModal .vcm-main-btn:active{transform: translateY(0) scale(.985)}img.v-img-in{opacity: 0;transition: opacity .6s var(--v-ease)}img.v-img-in.is-loaded{opacity: 1}@media (prefers-reduced-motion: reduce){img.v-img-in{opacity: 1;transition: none}}
/* ============================================================
   VISERA · adattamenti dopo le modifiche cliente (ago 2026)
   Layout a due colonne che restano con una sola card.
   ============================================================ */
.vfc-grid:not(:has(.vfc-light)){grid-template-columns:1fr !important;max-width:960px;margin-left:auto;margin-right:auto}
.ve-layout:not(:has(.ve-list-wrap)){grid-template-columns:1fr !important;max-width:960px;margin-left:auto;margin-right:auto}
.vfc-dark-price{margin:12px 0 0;color:#fff;font-family:"Montserrat",sans-serif;font-size:clamp(13px,.95vw,15px);font-weight:600;opacity:.92}
.vfc-dark-price strong{font-size:1.3em;font-weight:700}

/* Card percorsi: titolo + descrizione (#385-#388, #429-#431, #502-#510, #540-#546) */
.vpe-card-top .vpe-title{display:block;min-width:0}
.vpe-card-top .vpe-title h3{margin:0}
.vpe-card-top .vpe-sedute{display:block;margin-top:6px;color:var(--v-muted,#7a6f6c);font-family:"Inter",sans-serif;font-size:clamp(12px,.86vw,13px);line-height:1.45;font-weight:400;text-transform:none;letter-spacing:0}

/* Box "Vuoi prenderti cura della pelle ogni mese?" (Visera Club) */
.vpe-paga-text{margin:10px 0 0;color:var(--v-muted,#7a6f6c);font-size:clamp(12.5px,.9vw,13.8px);line-height:1.5}
.vpe-paga-price{margin:10px 0 16px;color:var(--v-wine,#7E2F3E);font-family:"Montserrat",sans-serif;font-size:clamp(13px,.95vw,14.5px);font-weight:600}
.vpe-paga-price strong{font-size:1.25em;font-weight:700}
.vpe-paga-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:0 clamp(20px,1.8vw,30px);border:0;cursor:pointer;font-family:"Montserrat",sans-serif;background:linear-gradient(to right,var(--v-wine,#7E2F3E) 50%,#1A1A18 50%);background-size:200% 100%;background-position:left bottom;color:#fff;font-size:clamp(9.8px,.7vw,10.8px);font-weight:700;letter-spacing:1.4px;text-transform:uppercase;transition:background-position .55s cubic-bezier(.25,1,.5,1),transform .28s ease}
.vpe-paga-btn:hover{background-position:right bottom;transform:translateY(-2px)}
.vpe-paga-btn i{position:relative;display:block;width:24px;height:1px;background:currentColor}
.vpe-paga-btn i::after{content:"";position:absolute;right:0;top:50%;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-50%) rotate(45deg)}
@media (max-width:520px){.vpe-paga-btn{width:100%}}

/* #249 #251 #252 · ridurre lo scroll dei bullet su mobile nelle pagine obiettivo */
@media (max-width:767px){
  .lh-list,.vah-list,.vih-list{gap:6px !important}
  .lh-item,.vah-item,.vih-item{padding-top:7px !important;padding-bottom:7px !important}
}

/* #263 · CTA del metodo spostata sotto gli step */
.vm-cta-row{display:flex;justify-content:center;margin-top:clamp(22px,2.4vw,34px)}

/* #478 · box "medicina estetica" nel footer CTA (pagina rughe) */
.vfc-medbox{margin-top:clamp(20px,2.2vw,30px);padding:clamp(24px,2.4vw,36px);border:1px solid rgba(126,47,62,.16);border-radius:16px;background:radial-gradient(circle at 90% 0%,rgba(214,169,161,.2) 0%,transparent 42%),rgba(255,255,255,.7)}
.vfc-medbox h3{margin:0 0 12px;color:var(--v-ink,#1f1f1f);font-family:"Montserrat",sans-serif;font-size:clamp(1rem,.7rem+.9vw,1.3rem);line-height:1.25;font-weight:700;text-transform:uppercase;letter-spacing:-.15px}
.vfc-medbox p{margin:0;color:var(--v-muted,#7a6f6c);font-size:clamp(12.8px,.92vw,14px);line-height:1.55}
.vfc-medbox-btn{margin-top:18px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:0 clamp(20px,1.9vw,32px);border:1px solid var(--v-wine,#7E2F3E);color:var(--v-wine,#7E2F3E) !important;text-decoration:none;font-family:"Montserrat",sans-serif;font-size:clamp(9.8px,.7vw,10.8px);font-weight:700;letter-spacing:1.4px;text-transform:uppercase;transition:background .3s ease,color .3s ease}
.vfc-medbox-btn:hover{background:var(--v-wine,#7E2F3E);color:#fff !important}
.vfc-medbox-btn i{position:relative;display:block;width:22px;height:1px;background:currentColor}
.vfc-medbox-btn i::after{content:"";position:absolute;right:0;top:50%;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-50%) rotate(45deg)}
.vfc-medbox-disclaimer{margin-top:16px !important;padding-top:14px;border-top:1px solid rgba(126,47,62,.1);font-size:clamp(10.8px,.76vw,11.8px) !important;line-height:1.5;opacity:.85}
.vfc-medbox-disclaimer a{color:var(--v-wine,#7E2F3E);text-decoration:underline}
@media (max-width:520px){.vfc-medbox-btn{width:100%}}

/* #511 · box "In presenza di acne attiva" / supporto dermatologico nei percorsi */
.vpe-medbox{margin-top:clamp(18px,2vw,26px);padding:clamp(22px,2.2vw,32px);border:1px solid rgba(126,47,62,.16);border-radius:14px;background:radial-gradient(circle at 90% 0%,rgba(214,169,161,.2) 0%,transparent 42%),rgba(255,255,255,.72)}
.vpe-medbox h3{margin:0 0 12px;color:var(--v-ink,#1f1f1f);font-family:"Montserrat",sans-serif;font-size:clamp(.95rem,.68rem+.8vw,1.2rem);line-height:1.25;font-weight:700;text-transform:uppercase;letter-spacing:-.15px}
.vpe-medbox p{margin:0 0 10px;color:var(--v-muted,#7a6f6c);font-size:clamp(12.6px,.9vw,13.8px);line-height:1.55}
.vpe-medbox-btn{margin-top:8px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 clamp(18px,1.8vw,28px);border:1px solid var(--v-wine,#7E2F3E);color:var(--v-wine,#7E2F3E) !important;text-decoration:none;font-family:"Montserrat",sans-serif;font-size:clamp(9.6px,.68vw,10.6px);font-weight:700;letter-spacing:1.4px;text-transform:uppercase;transition:background .3s ease,color .3s ease}
.vpe-medbox-btn:hover{background:var(--v-wine,#7E2F3E);color:#fff !important}
.vpe-medbox-btn i{position:relative;display:block;width:20px;height:1px;background:currentColor}
.vpe-medbox-btn i::after{content:"";position:absolute;right:0;top:50%;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-50%) rotate(45deg)}
.vpe-medbox-disclaimer{margin-top:16px !important;margin-bottom:0 !important;padding-top:14px;border-top:1px solid rgba(126,47,62,.1);font-size:clamp(10.6px,.74vw,11.6px) !important;line-height:1.5;opacity:.85}
.vpe-medbox-disclaimer a{color:var(--v-wine,#7E2F3E);text-decoration:underline}
@media (max-width:520px){.vpe-medbox-btn{width:100%}}

/* #538 · CTA "Scopri il supporto dermatologico" nel box homecare/medico */
.vhc-btn{margin-top:6px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:0 clamp(20px,1.9vw,32px);border:1px solid var(--v-wine,#7E2F3E);color:var(--v-wine,#7E2F3E) !important;text-decoration:none;font-family:"Montserrat",sans-serif;font-size:clamp(9.8px,.7vw,10.8px);font-weight:700;letter-spacing:1.4px;text-transform:uppercase;transition:background .3s ease,color .3s ease}
.vhc-btn:hover{background:var(--v-wine,#7E2F3E);color:#fff !important}
.vhc-btn i{position:relative;display:block;width:22px;height:1px;background:currentColor}
.vhc-btn i::after{content:"";position:absolute;right:0;top:50%;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-50%) rotate(45deg)}
/* #549 #362 · disclaimer a piè di sezione percorsi */
.vpe-disclaimer{max-width:920px;margin:clamp(18px,2vw,26px) auto 0;color:var(--v-muted,#7a6f6c);font-size:clamp(10.8px,.76vw,11.8px);line-height:1.55;text-align:center;opacity:.9}
.vpe-disclaimer a{color:var(--v-wine,#7E2F3E);text-decoration:underline}
@media (max-width:520px){.vhc-btn{width:100%}}

/* #365 · disclaimer sotto la CTA finale */
.vfc-disclaimer{max-width:900px;margin:clamp(16px,1.8vw,24px) auto 0;color:var(--v-muted,#7a6f6c);font-size:clamp(10.8px,.76vw,11.8px);line-height:1.55;text-align:center;opacity:.9}

/* Component spacing.
   Section resets (`#section * { margin: 0; padding: 0 }`) outrank class
   selectors, so the spacing of these components is restated here. */

/* Cards */
.vrp-finalcta{padding:clamp(26px,2.6vw,42px) clamp(20px,2vw,32px) !important;margin-top:clamp(28px,3vw,44px) !important}
.vpe-medbox{padding:clamp(22px,2.2vw,32px) !important;margin-top:clamp(18px,2vw,26px) !important}
.vfc-medbox{padding:clamp(24px,2.4vw,36px) !important;margin-top:clamp(20px,2.2vw,30px) !important}

/* Buttons */
.vrp-finalcta-btn{padding:0 clamp(22px,2vw,34px) !important}
.vpe-paga-btn{padding:0 clamp(20px,1.8vw,30px) !important}
.vpe-medbox-btn{padding:0 clamp(18px,1.8vw,28px) !important;margin-top:8px !important}
.vfc-medbox-btn{padding:0 clamp(20px,1.9vw,32px) !important;margin-top:18px !important}
.vhc-btn{padding:0 clamp(20px,1.9vw,32px) !important;margin-top:6px !important}

/* Vertical rhythm */
.vrp-finalcta h3{margin:0 0 10px !important}
.vpe-medbox h3{margin:0 0 12px !important}
.vpe-medbox p{margin:0 0 10px !important}
.vfc-medbox h3{margin:0 0 12px !important}
.vfc-dark-price{margin:12px 0 0 !important}
.vpe-paga-price{margin:10px 0 16px !important}
.vms-disclaimer{margin:24px auto 0 !important}
.vpe-disclaimer{margin:clamp(18px,2vw,26px) auto 0 !important}

/* Before/after labels */
.vrs-ba-tag{padding:4px 11px !important}

/* Home slider controls */
.visera-hero-final__controls{padding:7px 9px !important}
