/* Compagnia degli Artisti · Team Ribelle — il foglio di stile del tema.
   2.0 (19/10/2026): lo stile della BOZZA 2 scelta da Stefano e Ilaria — i colori del marchio (nero, rosso Compagnia, oro Team Ribelle)
   con un linguaggio moderno: fondo nero con aloni liquidi rosso/oro e grana da pellicola, pannelli di vetro, titoli giganti in Syne
   maiuscolo con sfumature, pulsanti a pillola con bagliore, nastro che scorre. I nomi delle classi sono quelli dell'1.x: i contenuti
   e le pagine non cambiano, cambia il vestito. Copia dell'1.0.11: _backup-tema-cda-1.0.11-20261019 (e /root/cda-tema-prima-2.0-* sul VPS). */
:root {
	--nero: #0E0E10; --notte: #0A0A0C; --carbone: #151518; --grafite: #222227; --pietra: #2E2E35;
	--testo: #D6D3DC; --nebbia: #A1A1AA; --bianco: #fff;
	--rosso: #E4262E; --rosso-scuro: #B3131A; --oro: #C9A769; --oro-chiaro: #E8D3A2;
	--avorio: #F7F3EE; --crema: #EFE8DF;
	--linea: rgba(255, 255, 255, .1); --linea-forte: rgba(255, 255, 255, .18);
	--vetro: rgba(22, 22, 27, .62); --vetro-chiaro: rgba(255, 255, 255, .04);
	--titoli: Syne, 'Arial Black', 'Helvetica Neue', Arial, sans-serif; --sans: Montserrat, 'Helvetica Neue', Arial, sans-serif;
	--serif: 'Playfair Display', Georgia, serif;
	--ombra: 0 16px 40px rgba(0, 0, 0, .7); --bagliore: 0 0 30px rgba(228, 38, 46, .55); --bagliore-oro: 0 0 30px rgba(201, 167, 105, .45);
	--raggio: 22px; --raggio-s: 14px; --largo: 1240px; --stretto: 760px;
	--header-h: 80px;
}
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--nero); color: var(--testo); font-family: var(--sans); font-weight: 400; overflow-x: hidden; }
::selection { background: var(--rosso); color: #fff; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--rosso); }
h1, h2, h3 { font-family: var(--titoli); font-weight: 800; line-height: 1; letter-spacing: -0.01em; text-transform: uppercase; color: #fff; margin: 0 0 .5em; overflow-wrap: break-word; text-wrap: balance; }
h2 { font-size: clamp(2rem, 4.6vw, 3.5rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.6rem); font-weight: 700; }
h4 { font-family: var(--sans); font-weight: 600; color: #fff; }
h1 em, h2 em, h3 em, .cda-sfuma { font-style: normal; color: transparent; background: linear-gradient(90deg, #fff 0%, #ffd6d8 35%, var(--rosso) 100%); -webkit-background-clip: text; background-clip: text; }
.cda-sfuma.is-oro, .is-oro h2 em, .is-oro h1 em, .cda-tr h2 em { background-image: linear-gradient(90deg, var(--rosso) 0%, var(--oro) 55%, #fff 100%); }
.is-oro h2 em, .is-oro h1 em, .cda-tr h2 em { background-image: linear-gradient(90deg, var(--oro) 0%, var(--oro-chiaro) 60%, #fff 100%); }
p { margin: 0 0 1em; line-height: 1.7; }
strong, b { color: #fff; }
:where(.cda-main) > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.wp-block-group.alignfull { margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); width: 100vw; max-width: none; }
/* gli sfondi e i contenitori larghi non devono subire il max-width del layout «constrained» di WordPress */
.cda-hero__foto, .cda-hero__dentro, .cda-salone__foto, .cda-salone__hero-dentro, .cda-testata__foto, .cda-testata__dentro, .cda-coll__foto, .cda-coll__hero-dentro, .cda-numeri ul, .cda-footer__griglia, .cda-footer__legale, .cda-nastro__pista { max-width: none !important; margin-left: 0; margin-right: 0; }
.cda-hero__dentro, .cda-salone__hero-dentro, .cda-testata__dentro, .cda-coll__hero-dentro, .cda-numeri ul, .cda-footer__griglia, .cda-footer__legale { max-width: var(--largo) !important; margin-left: auto !important; margin-right: auto !important; }
.cda-salone > section, .cda-coll > section { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.cda-salone__info, .cda-salone__staff, .cda-salone__galleria, .cda-salone__video, .cda-salone__altri, .cda-coll__corpo, .cda-salone__azioni { max-width: var(--largo) !important; margin-left: auto !important; margin-right: auto !important; }
.cda-sezione > * { max-width: var(--largo) !important; }
.cda-sezione.is-stretta > * { max-width: var(--stretto) !important; }

/* ── l'atmosfera: aloni liquidi che si muovono piano + grana da pellicola (dietro a tutto) ── */
.cda-atmosfera { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; background: var(--nero); }
.cda-atmosfera i { position: absolute; border-radius: 50%; filter: blur(120px); opacity: .22; animation: cda-aura 14s ease-in-out infinite alternate; }
.cda-atmosfera i:nth-child(1) { width: 55vw; height: 55vw; top: -18vw; left: -12vw; background: var(--rosso); }
.cda-atmosfera i:nth-child(2) { width: 45vw; height: 45vw; top: 40vh; right: -16vw; background: var(--oro); opacity: .16; animation-delay: -5s; }
.cda-atmosfera i:nth-child(3) { width: 42vw; height: 42vw; bottom: -20vw; left: 18vw; background: var(--rosso-scuro); opacity: .16; animation-delay: -9s; }
.cda-atmosfera::after { content: ''; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 0); background-size: 24px 24px; opacity: .5; }
@keyframes cda-aura { from { transform: translate(0, 0) scale(1); } to { transform: translate(60px, -40px) scale(1.15); } }

/* ── utilità ─────────────────────────────────────────────────── */
.cda-ico { width: 1.1em; height: 1.1em; vertical-align: -0.2em; flex: none; }
.cda-occhiello { font-size: .7rem; letter-spacing: .3em; text-transform: uppercase; font-weight: 600; color: var(--rosso); display: inline-flex; align-items: center; gap: .6em; margin: 0 0 1rem; }
.cda-occhiello.is-chiaro, .is-oro .cda-occhiello { color: var(--oro); }
.cda-etichetta { display: inline-block; padding: .35rem .9rem; border-radius: 6px; background: rgba(201, 167, 105, .16); border: 1px solid rgba(201, 167, 105, .35); color: var(--oro); font-size: .64rem; letter-spacing: .3em; text-transform: uppercase; font-weight: 700; margin: 0 0 1.2rem; }
.cda-pillola { display: inline-flex; align-items: center; gap: .6rem; padding: .45rem 1rem; border-radius: 999px; background: var(--vetro); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid var(--linea); font-size: .68rem; letter-spacing: .25em; text-transform: uppercase; font-weight: 600; color: #e4e4e7; margin: 0; }
.cda-punto { position: relative; width: 9px; height: 9px; border-radius: 50%; background: var(--rosso); flex: none; }
.cda-punto::after { content: ''; position: absolute; inset: 0; border-radius: 50%; background: var(--rosso); animation: cda-ping 1.6s cubic-bezier(0, 0, .2, 1) infinite; }
@keyframes cda-ping { 75%, 100% { transform: scale(2.4); opacity: 0; } }
.cda-vetro { background: var(--vetro); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid var(--linea); box-shadow: var(--ombra); border-radius: var(--raggio); }
.cda-sezione { position: relative; padding: clamp(4rem, 9vw, 7rem) clamp(1.1rem, 4vw, 2.2rem); box-sizing: border-box; }
.cda-sezione > .wp-block-group__inner-container, .cda-sezione > * { max-width: var(--largo); margin-left: auto; margin-right: auto; }
.cda-sezione.is-stretta > * { max-width: var(--stretto); }
.cda-sezione.is-scura { background: rgba(10, 10, 12, .72); border-top: 1px solid var(--linea); border-bottom: 1px solid var(--linea); }
.cda-sezione__testa { max-width: 760px; margin-bottom: clamp(2.2rem, 4vw, 3.4rem); }
.cda-sezione__testa.is-centro { text-align: center; margin-left: auto; margin-right: auto; }
.cda-sezione__testa.is-centro .cda-occhiello { justify-content: center; }
.cda-sezione__sotto { font-size: 1.02rem; color: var(--nebbia); max-width: 60ch; font-weight: 300; }
.cda-sezione__testa.is-centro .cda-sezione__sotto { margin-left: auto; margin-right: auto; }
.cda-azioni { display: flex; flex-wrap: wrap; gap: .9rem 1rem; align-items: center; margin-top: 1.8rem; }

/* pulsanti: pillole; rosso col bagliore, vetro, chiaro, contorno, oro */
.wp-element-button, .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: .6em; cursor: pointer; border: 1px solid transparent; border-radius: 999px; font-family: var(--titoli); font-weight: 700; letter-spacing: .2em; text-transform: uppercase; font-size: .72rem; line-height: 1.2; background: var(--rosso); color: #fff; box-shadow: var(--bagliore); transition: transform .25s, box-shadow .25s, background .25s, color .25s, border-color .25s; }
.wp-element-button:hover, .wp-block-button__link:hover { transform: translateY(-2px) scale(1.03); box-shadow: 0 0 50px rgba(228, 38, 46, .9); color: #fff; }
.wp-element-button.is-style-rosso, .is-style-rosso .wp-block-button__link { background: var(--rosso); color: #fff; }
.wp-element-button.is-style-vetro, .wp-element-button.is-style-contorno, .is-style-contorno .wp-block-button__link { background: rgba(255, 255, 255, .04); color: #fff; border-color: var(--linea-forte); box-shadow: none; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.wp-element-button.is-style-vetro:hover, .wp-element-button.is-style-contorno:hover, .is-style-contorno .wp-block-button__link:hover { border-color: var(--oro); color: #fff; box-shadow: var(--bagliore-oro); background: rgba(255, 255, 255, .07); }
.wp-element-button.is-style-vetro .cda-ico, .wp-element-button.is-style-contorno .cda-ico { color: var(--oro); }
.wp-element-button.is-style-chiaro, .is-style-chiaro .wp-block-button__link { background: #fff; color: var(--nero); box-shadow: 0 0 30px rgba(255, 255, 255, .18); }
.wp-element-button.is-style-chiaro:hover { color: var(--nero); box-shadow: 0 0 44px rgba(255, 255, 255, .35); }
.wp-element-button.is-style-oro, .is-style-oro .wp-block-button__link { background: var(--oro); color: var(--nero); box-shadow: var(--bagliore-oro); }
.wp-element-button.is-style-oro:hover { color: var(--nero); box-shadow: 0 0 50px rgba(201, 167, 105, .8); }
.cda-link-chiaro { color: #fff; font-family: var(--titoli); font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 700; display: inline-flex; gap: .5em; align-items: center; border-bottom: 1px solid var(--oro); padding-bottom: .25em; }
.cda-link-chiaro:hover { color: var(--oro); }
.cda-lista-spunte { list-style: none; padding: 0; margin: 1.4rem 0; display: grid; gap: .65rem; }
.cda-lista-spunte li { display: flex; gap: .7em; align-items: flex-start; color: #e4e4e7; font-size: .95rem; }
.cda-lista-spunte .cda-ico { color: var(--rosso); margin-top: .2em; }
.is-oro .cda-lista-spunte .cda-ico { color: var(--oro); }
.cda-briciole { font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--nebbia); margin-bottom: 1.2rem; }
.cda-briciole span { margin: 0 .5em; opacity: .5; }
.cda-briciole a:hover { color: #fff; }

/* stelle */
.cda-stelle { display: inline-flex; gap: 1px; vertical-align: middle; }
.cda-stelle i { position: relative; display: inline-block; width: 1.05em; height: 1.05em; color: #3a3a42; }
.cda-stelle i .cda-ico { width: 100%; height: 100%; }
.cda-stelle i::after { content: ''; position: absolute; inset: 0; width: var(--p, 0%); overflow: hidden; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4 6.1 20.5l1.2-6.5L2.5 9.4l6.6-.9z' fill='%23C9A769'/%3E%3C/svg%3E") left center / 1.05em 1.05em no-repeat; }
.cda-stelle__n { font-family: var(--titoli); font-weight: 800; color: #fff; font-size: 1.1em; margin-left: .4em; vertical-align: middle; }

/* ── intestazione di vetro ───────────────────────────────────── */
/* il vetro sta su uno strato a parte (::before): un backdrop-filter sull'intestazione stessa chiuderebbe dentro la barra il menu a tutto schermo del telefono */
.cda-header { position: sticky; top: 0; z-index: 60; isolation: isolate; border-bottom: 1px solid var(--linea); color: #fff; transition: box-shadow .3s; }
.cda-header::before { content: ''; position: absolute; inset: 0; z-index: -1; background: rgba(14, 14, 16, .55); backdrop-filter: blur(20px) saturate(1.2); -webkit-backdrop-filter: blur(20px) saturate(1.2); transition: background .3s; }
.cda-header.is-compatta { box-shadow: 0 16px 40px -20px rgba(0, 0, 0, .9); }
.cda-header.is-compatta::before { background: rgba(14, 14, 16, .82); }
.cda-header > .wp-block-group__inner-container, .cda-header > * { max-width: var(--largo); margin: 0 auto; }
.cda-header__riga { min-height: var(--header-h); align-items: center; }
.cda-logo img { width: auto; height: 48px; }
.cda-loghi { display: flex; align-items: center; gap: clamp(.75rem, 1.6vw, 1.3rem); }
.cda-logo--tr { padding-left: clamp(.75rem, 1.6vw, 1.3rem); border-left: 1px solid var(--linea-forte); }
.cda-logo.cda-logo--tr img { height: 42px; }
.cda-footer__tr { display: inline-block; margin: 0 0 .9rem; }
.cda-footer__tr img { height: 60px; width: auto; }
.cda-footer .cda-logo img { height: 60px; }
.cda-header__nav { align-items: center; gap: 1.4rem; }
.cda-header .wp-block-navigation-item__content { white-space: nowrap; }
.cda-header .wp-block-navigation__container { gap: clamp(1rem, 1.6vw, 1.8rem); }
@media (max-width: 1180px) {
	.cda-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.cda-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.cda-header .wp-block-navigation a { color: #d4d4d8; transition: color .2s; }
.cda-header .wp-block-navigation a:hover, .cda-header .wp-block-navigation .current-menu-item > a { color: var(--rosso); }
.cda-header .wp-block-navigation__submenu-container { background: rgba(14, 14, 16, .94) !important; backdrop-filter: blur(20px); color: #fff; border: 1px solid var(--linea) !important; border-radius: var(--raggio-s); min-width: 230px; padding: .5rem 0; box-shadow: var(--ombra); }
.cda-header .wp-block-navigation__submenu-container a { padding: .55rem 1.1rem; }
.cda-header .wp-block-navigation__submenu-icon { color: #d4d4d8; }
.cda-header__cta { padding: .78rem 1.35rem; font-size: .68rem; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { color: #fff; }
.wp-block-navigation__responsive-container.is-menu-open { background: rgba(10, 10, 12, .97) !important; color: #fff; padding: 2rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.1rem; font-family: var(--titoli); font-weight: 800; font-size: 1.5rem; letter-spacing: 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { position: static; background: transparent !important; border: 0 !important; box-shadow: none; padding-left: 1rem; font-size: 1rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a { font-family: var(--sans); font-weight: 500; font-size: .82rem; letter-spacing: .18em; color: var(--nebbia); padding: .3rem 0; }
.cda-header:has(.is-menu-open) .cda-header__cta { visibility: hidden; }

/* ── hero: titolo gigante, foto vere a destra che si alternano ─── */
.cda-hero { position: relative; min-height: min(94vh, 900px); display: grid; align-items: stretch; color: #fff; overflow: hidden; isolation: isolate; }
.cda-hero__foto { position: absolute; top: 0; bottom: 0; right: 0; width: min(64%, 1000px); margin: 0; z-index: -1; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .35) 22%, #000 55%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .35) 22%, #000 55%); }
.cda-hero__foto figure { position: absolute; inset: 0; margin: 0; }
.cda-hero__foto img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 45%; filter: contrast(1.12) saturate(1.05); opacity: .78; transform: scale(1.06); }
.cda-hero__foto.is-giro figure { opacity: 0; animation: cda-giro calc(var(--n) * 6s) infinite; animation-delay: calc(var(--i) * 6s); }
.cda-hero__foto.is-giro figure:first-child { opacity: 1; }
.cda-hero__foto.is-giro img { animation: cda-zoom calc(var(--n) * 6s) linear infinite; animation-delay: inherit; }
@keyframes cda-giro { 0% { opacity: 0; } 4% { opacity: 1; } 17% { opacity: 1; } 22% { opacity: 0; } 100% { opacity: 0; } }
@keyframes cda-zoom { from { transform: scale(1.12); } to { transform: scale(1); } }
.cda-hero__foto::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--nero) 0%, rgba(14, 14, 16, .7) 28%, rgba(14, 14, 16, .1) 60%, rgba(14, 14, 16, .35) 100%), linear-gradient(0deg, var(--nero) 0%, rgba(14, 14, 16, 0) 35%), linear-gradient(180deg, rgba(14, 14, 16, .92) 0%, rgba(14, 14, 16, .55) 14%, rgba(14, 14, 16, 0) 32%); }
.cda-hero__dentro { position: relative; box-sizing: border-box; width: 100%; display: flex; flex-direction: column; justify-content: space-between; gap: 2rem; padding: clamp(1.6rem, 4vw, 2.6rem) clamp(1.1rem, 4vw, 2.2rem) clamp(9rem, 15vw, 11rem); }
.cda-hero__riga { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; }
.cda-hero__google { display: inline-flex; align-items: center; gap: .5rem; margin: 0; font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 600; color: var(--oro); }
.cda-hero__google .cda-ico { color: var(--oro); }
.cda-hero__corpo { max-width: 1040px; margin: auto 0; }
.cda-hero h1 { font-size: clamp(3rem, 7.4vw, 6.8rem); line-height: .92; letter-spacing: -0.02em; margin: 0 0 .32em; filter: drop-shadow(0 12px 40px rgba(0, 0, 0, .9)); }
.cda-hero h1 .cda-sfuma { background-image: linear-gradient(90deg, #fff 0%, #e4e4e7 40%, var(--rosso) 100%); }
.cda-hero h1 .cda-sfuma.is-oro { background-image: linear-gradient(90deg, var(--rosso) 0%, var(--oro) 50%, #fff 100%); }
.cda-hero__sotto { max-width: 52ch; font-size: clamp(1rem, 1.5vw, 1.15rem); color: #d4d4d8; font-weight: 300; }
.cda-servizi__titolo { font-family: var(--titoli); font-size: .72rem; letter-spacing: .25em; text-transform: uppercase; font-weight: 700; color: #fff; margin: 2rem 0 .8rem; }
.cda-servizi { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.cda-servizi li { border: 1px solid var(--linea); background: var(--vetro-chiaro); padding: .45rem .9rem; border-radius: 999px; font-size: .78rem; color: #e4e4e7; }

/* numeri: lastra di vetro agganciata al fondo della hero */
.cda-numeri { position: relative; z-index: 2; margin-top: clamp(-8.5rem, -12vw, -7rem) !important; padding: 0 clamp(1.1rem, 4vw, 2.2rem); box-sizing: border-box; }
.cda-numeri ul { list-style: none; margin: 0 auto; padding: clamp(1.2rem, 2.4vw, 1.8rem) clamp(1.2rem, 3vw, 2.4rem); display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1.2rem 2rem; background: var(--vetro); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid var(--linea); border-radius: var(--raggio); box-shadow: var(--ombra); }
.cda-numeri li { display: grid; gap: .35rem; align-content: start; }
.cda-numeri strong { font-family: var(--titoli); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1; display: flex; align-items: baseline; gap: .35rem; }
.cda-numeri li.is-oro strong b { color: var(--oro); }
.cda-numeri strong small { font-family: var(--titoli); font-size: .42em; font-weight: 700; letter-spacing: .04em; color: var(--rosso); text-transform: uppercase; }
.cda-numeri li.is-oro strong small { color: var(--oro); }
.cda-numeri span { font-size: .64rem; color: var(--nebbia); letter-spacing: .18em; text-transform: uppercase; font-weight: 600; line-height: 1.5; }

/* nastro che scorre */
.cda-nastro { overflow: hidden; border-top: 1px solid var(--linea); border-bottom: 1px solid var(--linea); background: rgba(10, 10, 12, .7); margin-top: clamp(2.5rem, 5vw, 4rem) !important; }
.cda-nastro__pista { display: flex; width: max-content; animation: cda-nastro 38s linear infinite; }
.cda-nastro:hover .cda-nastro__pista { animation-play-state: paused; }
.cda-nastro__pista > div { display: flex; flex: none; }
.cda-nastro span { display: inline-flex; align-items: center; gap: 1.6rem; padding: 1.15rem 1.6rem; font-family: var(--titoli); font-weight: 700; font-size: .82rem; letter-spacing: .28em; text-transform: uppercase; color: #e4e4e7; white-space: nowrap; }
.cda-nastro span.is-oro { color: var(--oro); }
.cda-nastro span i { width: 6px; height: 6px; border-radius: 50%; background: var(--rosso); }
.cda-nastro span.is-oro i { background: var(--oro); }
@keyframes cda-nastro { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ── tessere dei saloni: foto vere in vetro ───────────────────── */
.cda-griglia-saloni { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 1.1rem; }
.cda-griglia-saloni.is-piccola { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .9rem; }
.cda-tessera { container-type: inline-size; position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--carbone); color: #fff; border-radius: var(--raggio); border: 1px solid var(--linea); box-shadow: var(--ombra); transition: border-color .3s, transform .4s, box-shadow .4s; }
.cda-griglia-saloni.is-piccola .cda-tessera { aspect-ratio: 1; }
.cda-tessera__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2, .7, .2, 1), filter .5s; filter: saturate(.92) contrast(1.05); }
.cda-tessera__foto.is-vuota { background: linear-gradient(135deg, #2a2930, #0e0e10); }
.cda-tessera:hover { transform: translateY(-6px) rotateX(2deg); border-color: rgba(228, 38, 46, .45); box-shadow: 0 24px 60px rgba(0, 0, 0, .8), 0 0 40px -10px rgba(228, 38, 46, .5); color: #fff; }
.cda-tessera.is-oro:hover { border-color: rgba(201, 167, 105, .55); box-shadow: 0 24px 60px rgba(0, 0, 0, .8), 0 0 40px -10px rgba(201, 167, 105, .5); }
.cda-tessera:hover .cda-tessera__foto { transform: scale(1.07); filter: saturate(1.05) contrast(1.08); }
.cda-tessera__velo { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 14, 16, .05) 25%, rgba(14, 14, 16, .55) 55%, rgba(14, 14, 16, .95) 100%); }
.cda-tessera__testo { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.4rem; display: grid; gap: .35rem; }
.cda-tessera__testo small { justify-self: start; font-size: .58rem; letter-spacing: .22em; text-transform: uppercase; color: var(--oro); font-weight: 700; padding: .3rem .65rem; border-radius: 999px; background: rgba(201, 167, 105, .16); border: 1px solid rgba(201, 167, 105, .35); }
.cda-tessera.is-rosso .cda-tessera__testo small { color: #ffb3b7; background: rgba(228, 38, 46, .16); border-color: rgba(228, 38, 46, .4); }
.cda-tessera__testo strong { font-family: var(--titoli); font-weight: 800; text-transform: uppercase; font-size: clamp(.95rem, 5.5cqi, 1.6rem); line-height: 1.05; letter-spacing: -0.01em; margin-top: .2rem; }
.cda-tessera__testo em { font-style: normal; color: #d4d4d8; font-size: .84rem; font-weight: 300; line-height: 1.45; }
/* tessere piccole («Siamo anche qui»): meno margine, e i nomi lunghi (Castelfiorentino) vanno a capo invece di uscire */
.cda-griglia-saloni.is-piccola .cda-tessera__testo { padding: 1rem .9rem; }
.cda-griglia-saloni.is-piccola .cda-tessera__testo strong { font-size: clamp(.8rem, 9cqi, 1.2rem); overflow-wrap: anywhere; }
.cda-griglia-saloni.is-piccola .cda-tessera__testo em, .cda-griglia-saloni.is-piccola .cda-tessera__testo small { display: none; }
.cda-tessera__voto { font-size: .74rem; color: #e4e4e7; display: inline-flex; align-items: center; gap: .3em; }
.cda-tessera__voto .cda-ico { color: var(--oro); }
.cda-tessera__scopri { margin-top: .5rem; padding-top: .7rem; border-top: 1px solid var(--linea); font-family: var(--titoli); font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 700; display: flex; align-items: center; justify-content: space-between; color: var(--rosso); transition: gap .2s; }
.cda-tessera.is-oro .cda-tessera__scopri { color: var(--oro); }

/* ── chi siamo / testo + foto ─────────────────────────────────── */
.cda-chi__griglia { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.cda-chi__griglia.is-inversa { direction: rtl; margin-top: clamp(3rem, 6vw, 5rem); }
.cda-chi__griglia.is-inversa > * { direction: ltr; }
.cda-chi__foto { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--raggio); border: 1px solid var(--linea); box-shadow: var(--ombra), 0 0 80px -30px rgba(228, 38, 46, .6); position: relative; }
.cda-chi__foto img { width: 100%; height: 100%; object-fit: cover; }
.cda-chi__intro { font-size: 1.15rem; line-height: 1.6; color: #fff; font-weight: 400; }
.cda-chi__testo p, .cda-chi__testo li { color: var(--testo); }
.cda-pilastri { list-style: none; padding: 0; margin: 1.8rem 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; counter-reset: pilastro; }
.cda-pilastri.is-quattro { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: clamp(2.5rem, 5vw, 4rem); }
.cda-pilastri.is-compatti { grid-template-columns: 1fr; }
.cda-pilastri li { counter-increment: pilastro; display: grid; grid-template-columns: 1fr auto; gap: .5rem; align-items: start; padding: 1.2rem 1.25rem 1.3rem; background: var(--vetro); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid var(--linea); border-radius: var(--raggio-s); transition: border-color .3s, transform .3s; }
.cda-pilastri li:hover { border-color: rgba(228, 38, 46, .4); transform: translateY(-3px); }
.cda-pilastri li::before { content: counter(pilastro, decimal-leading-zero); font-family: var(--titoli); font-weight: 800; font-size: 1.6rem; line-height: 1; color: var(--rosso); grid-column: 1; }
.cda-pilastri li:nth-child(even)::before, .is-oro .cda-pilastri li::before { color: var(--oro); }
.cda-pilastri .cda-ico { width: 1.3rem; height: 1.3rem; color: var(--nebbia); grid-column: 2; grid-row: 1; }
.cda-pilastri b { grid-column: 1 / -1; font-family: var(--titoli); font-weight: 700; text-transform: uppercase; font-size: .92rem; letter-spacing: .02em; color: #fff; margin-top: .3rem; }
.cda-pilastri span { grid-column: 1 / -1; font-size: .84rem; color: var(--nebbia); line-height: 1.55; }

/* titoli nelle colonne affiancate: più piccoli, così le parole lunghe (Compagnia, curriculum) non si spezzano */
.cda-chi__griglia h2, .cda-lavora__griglia h2, .cda-academy-teaser h2, .cda-salone__info h2 { font-size: clamp(1.9rem, 3.5vw, 3.1rem); overflow-wrap: normal; }
.cda-lavora__modulo h2, .cda-lavora__modulo h3 { font-size: clamp(1.4rem, 2.4vw, 2rem); overflow-wrap: normal; }

/* ── i due marchi: due lastre, una rossa e una oro ─────────────── */
.cda-marchi__griglia { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; }
.cda-marchio-card { position: relative; display: grid; min-height: 560px; overflow: hidden; border-radius: var(--raggio); background: var(--carbone); color: var(--testo); border: 1px solid var(--linea); box-shadow: var(--ombra); transition: border-color .4s, transform .4s; isolation: isolate; }
.cda-marchio-card:hover { transform: translateY(-4px); border-color: rgba(228, 38, 46, .45); }
.cda-marchio-card.is-oro:hover { border-color: rgba(201, 167, 105, .55); }
.cda-marchio-card figure { position: absolute; inset: 0; margin: 0; z-index: -2; }
.cda-marchio-card figure img { width: 100%; height: 100%; object-fit: cover; opacity: .5; transition: transform 1s cubic-bezier(.2, .7, .2, 1), opacity .5s; }
.cda-marchio-card:hover figure img { transform: scale(1.05); opacity: .62; }
.cda-marchio-card::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(120% 70% at 100% 0%, rgba(228, 38, 46, .35) 0%, transparent 55%), linear-gradient(180deg, rgba(14, 14, 16, .15) 0%, rgba(14, 14, 16, .94) 72%); }
.cda-marchio-card.is-oro::before { background: radial-gradient(120% 70% at 100% 0%, rgba(201, 167, 105, .32) 0%, transparent 55%), linear-gradient(180deg, rgba(14, 14, 16, .15) 0%, rgba(14, 14, 16, .94) 72%); }
.cda-marchio-card__testo { position: relative; align-self: end; padding: clamp(1.6rem, 3vw, 2.6rem); display: grid; gap: .7rem; }
.cda-marchio-card__logo { height: 54px; width: auto; }
.cda-marchio-card__claim { font-family: var(--titoli); font-weight: 800; text-transform: uppercase; font-size: clamp(1.4rem, 2.6vw, 2.1rem); line-height: 1; color: #fff; margin: .5rem 0 .2rem; }
.cda-marchio-card.is-oro .cda-marchio-card__claim { color: var(--oro-chiaro); }
.cda-marchio-card p { color: #d4d4d8; font-weight: 300; margin: 0; }
.cda-marchio-card__sedi { font-size: .66rem !important; letter-spacing: .2em; text-transform: uppercase; color: #ffb3b7 !important; font-weight: 600 !important; padding-top: .8rem; border-top: 1px solid var(--linea); }
.cda-marchio-card.is-oro .cda-marchio-card__sedi { color: var(--oro) !important; }
.cda-marchio-card .wp-element-button { justify-self: start; margin-top: .4rem; }

/* ── collezione teaser ────────────────────────────────────────── */
.cda-coll-teaser__griglia { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.cda-coll-teaser h2 { font-size: clamp(2.4rem, 4.8vw, 4.2rem); overflow-wrap: normal; }
.cda-coll-teaser__sotto { color: var(--nebbia); font-size: 1.02rem; font-weight: 300; }
.cda-coll-teaser__foto { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: minmax(120px, auto); gap: .8rem; }
.cda-coll-teaser__foto figure { margin: 0; overflow: hidden; border-radius: var(--raggio-s); aspect-ratio: 1; border: 1px solid var(--linea); }
.cda-coll-teaser__foto figure.is-grande { grid-column: span 2; grid-row: span 2; aspect-ratio: 4 / 5; border-radius: var(--raggio); }
.cda-coll-teaser__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2, .7, .2, 1); }
.cda-coll-teaser__foto figure:hover img { transform: scale(1.06); }

/* ── academy teaser: una grande lastra con il bagliore rosso ────── */
.cda-academy-teaser__griglia { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; padding: clamp(1.8rem, 5vw, 4rem); background: var(--vetro); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid var(--linea); border-radius: calc(var(--raggio) + 6px); box-shadow: var(--ombra); position: relative; overflow: hidden; }
.cda-academy-teaser__griglia::before { content: ''; position: absolute; width: 520px; height: 520px; right: -160px; bottom: -220px; border-radius: 50%; background: var(--rosso); filter: blur(140px); opacity: .28; pointer-events: none; }
.cda-academy-teaser__griglia > * { position: relative; }
.cda-academy-teaser__foto { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--raggio); border: 1px solid var(--linea); box-shadow: var(--ombra); }
.cda-academy-teaser__foto img { width: 100%; height: 100%; object-fit: cover; }

/* ── recensioni: lastre di vetro (in home scorrono) ─────────────── */
.cda-recensioni__griglia { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.1rem; }
.cda-recensioni__griglia.is-nastro { display: flex; width: max-content; gap: 1.1rem; animation: cda-nastro 70s linear infinite; }
.cda-recensioni__griglia.is-nastro:hover { animation-play-state: paused; }
.cda-recensioni__griglia.is-nastro .cda-recensione { width: min(380px, 82vw); flex: none; }
.cda-recensioni__fascia { overflow: hidden; max-width: none !important; margin-left: calc(-1 * clamp(1.1rem, 4vw, 2.2rem)) !important; margin-right: calc(-1 * clamp(1.1rem, 4vw, 2.2rem)) !important; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.cda-recensione { margin: 0; background: var(--vetro); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid var(--linea); border-radius: var(--raggio); padding: 1.5rem 1.5rem 1.4rem; display: grid; gap: .9rem; align-content: start; position: relative; box-shadow: var(--ombra); }
.cda-recensione figcaption { display: grid; grid-template-columns: auto 1fr; gap: .25rem .8rem; align-items: center; }
.cda-recensione__avatar { width: 42px; height: 42px; border-radius: 50%; background: var(--grafite); color: #fff; display: grid; place-items: center; font-family: var(--titoli); font-weight: 800; font-size: 1.1rem; overflow: hidden; grid-row: span 2; border: 1px solid var(--linea-forte); }
.cda-recensione__avatar img { width: 100%; height: 100%; object-fit: cover; }
.cda-recensione__chi { display: grid; line-height: 1.25; color: #fff; font-weight: 600; font-size: .9rem; }
.cda-recensione__chi small { color: var(--nebbia); font-size: .72rem; font-weight: 400; }
.cda-recensione .cda-stelle { grid-column: 2; }
.cda-recensione blockquote { margin: 0; font-size: .9rem; color: #d4d4d8; line-height: 1.65; font-weight: 300; }
.cda-recensione blockquote::before { content: '«'; color: var(--oro); margin-right: .1em; }
.cda-recensione blockquote::after { content: '»'; color: var(--oro); margin-left: .1em; }
.cda-recensione__salone { font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; color: var(--oro); display: inline-flex; gap: .4em; align-items: center; padding-top: .8rem; border-top: 1px solid var(--linea); }
.cda-salone__recensioni h2 { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.cda-salone__recensioni h2 span { font-family: var(--sans); font-size: 1rem; color: var(--nebbia); font-weight: 400; text-transform: none; }

/* ── video 9:16 ───────────────────────────────────────────────── */
.cda-video-griglia { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 1rem; }
.cda-video { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--raggio); background: var(--carbone); color: #fff; border: 1px solid var(--linea); box-shadow: var(--ombra); transition: transform .4s, border-color .3s; }
.cda-video.is-verticale, .cda-video-griglia .cda-video { aspect-ratio: 9 / 16; }
.cda-video:hover { transform: translateY(-5px); border-color: rgba(228, 38, 46, .45); color: #fff; }
.cda-video img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s; }
.cda-video:hover img { transform: scale(1.05); }
.cda-video::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .25) 0%, transparent 30%, transparent 50%, rgba(0, 0, 0, .88) 100%); }
.cda-video__play { position: absolute; top: .8rem; right: .8rem; width: 34px; height: 34px; z-index: 1; color: #fff; border-radius: 50%; background: rgba(22, 22, 27, .55); backdrop-filter: blur(10px); border: 1px solid var(--linea-forte); display: grid; place-items: center; transition: transform .2s, background .2s; }
.cda-video__play .cda-ico { width: 62%; height: 62%; }
.cda-video:hover .cda-video__play { transform: scale(1.1); background: var(--rosso); border-color: var(--rosso); }
.cda-video__t { position: absolute; left: .95rem; right: .95rem; bottom: .9rem; z-index: 1; font-size: .78rem; font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cda-video__fonte { position: absolute; top: .9rem; left: .9rem; z-index: 1; font-size: .58rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 700; display: inline-flex; gap: .4em; align-items: center; color: var(--rosso); background: rgba(14, 14, 16, .6); backdrop-filter: blur(8px); padding: .35em .7em; border-radius: 999px; border: 1px solid var(--linea); }
.cda-video-sez__link { display: flex; flex-wrap: wrap; gap: .6rem 1.6rem; margin-top: 2rem; font-size: .76rem; letter-spacing: .08em; }
.cda-video-sez__link a { display: inline-flex; gap: .4em; align-items: center; color: var(--oro); font-weight: 600; }
.cda-video-sez__link a:hover { color: #fff; }

/* ── instagram ────────────────────────────────────────────────── */
.cda-ig h2 a:hover { color: var(--rosso); }
.cda-sezione__testa h2 a[href*="instagram.com"] { overflow-wrap: anywhere; text-transform: none; }
.cda-ig__griglia { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.cda-ig__griglia.is-sei { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.cda-ig__griglia a { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: var(--raggio-s); background: var(--carbone); border: 1px solid var(--linea); }
.cda-ig__griglia img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s; }
.cda-ig__griglia a:hover img { transform: scale(1.06); }
.cda-ig__griglia .cda-ico { position: absolute; right: .7rem; top: .7rem; color: #fff; filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .6)); opacity: 0; transition: opacity .2s; }
.cda-ig__griglia a:hover .cda-ico { opacity: 1; }

/* ── lavora con noi: la lastra col bagliore ─────────────────────── */
.cda-lavora-cta { padding-top: clamp(1rem, 3vw, 2rem); }
.cda-lavora-cta__box { position: relative; overflow: hidden; background: var(--vetro); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(228, 38, 46, .3); border-radius: calc(var(--raggio) + 6px); padding: clamp(2rem, 5vw, 4rem); display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; box-shadow: 0 0 80px -20px rgba(228, 38, 46, .45), var(--ombra); }
.cda-lavora-cta__box::before { content: ''; position: absolute; width: 420px; height: 420px; left: -140px; top: -220px; border-radius: 50%; background: var(--oro); filter: blur(130px); opacity: .18; pointer-events: none; }
.cda-lavora-cta__box > * { position: relative; }
.cda-lavora-cta__box h2 { font-size: clamp(2rem, 5vw, 3.6rem); }
.cda-lavora-cta__box p { margin: 0; color: #d4d4d8; font-weight: 300; max-width: 60ch; }
.cda-lavora-cta__box .cda-occhiello { color: var(--rosso); }

/* ── piè di pagina ────────────────────────────────────────────── */
.cda-footer { background: rgba(10, 10, 12, .9); color: var(--nebbia); padding: clamp(3.5rem, 7vw, 5.5rem) 0 2rem; border-top: 1px solid var(--linea); }
.cda-footer > .wp-block-group__inner-container, .cda-footer > * { max-width: var(--largo); margin-left: auto; margin-right: auto; }
.cda-footer__griglia { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: 2.5rem; }
.cda-footer h4 { color: #fff; font-family: var(--titoli); font-weight: 700; font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; margin: 0 0 1.1rem; }
.cda-footer__h4b { margin-top: 1.6rem !important; }
.cda-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; font-size: .86rem; }
.cda-footer a:hover { color: var(--rosso); }
.cda-footer li small { color: var(--oro); font-size: .7rem; margin-left: .3em; }
.cda-footer__claim { font-family: var(--titoli); font-weight: 800; text-transform: uppercase; color: #fff; font-size: 1.15rem; line-height: 1.1; margin: 1.1rem 0 .5rem; }
.cda-footer__testo { font-size: .86rem; }
.cda-footer__social { display: flex; gap: .6rem; }
.cda-footer__social a { width: 40px; height: 40px; border: 1px solid var(--linea-forte); border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--vetro-chiaro); transition: border-color .2s, box-shadow .2s, color .2s; }
.cda-footer__social a:hover { border-color: var(--rosso); color: #fff; box-shadow: var(--bagliore); }
.cda-footer__contatti a { display: inline-flex; gap: .5em; align-items: center; }
.cda-footer__legale { border-top: 1px solid var(--linea); margin-top: 3rem; padding-top: 1.4rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem; font-size: .72rem; color: #71717a; }
.cda-footer__legale p { margin: 0; }
.cda-footer__legale a { color: var(--nebbia); }

/* ── WhatsApp fisso e scelta del salone ───────────────────────── */
.cda-wa { position: fixed; right: 1rem; bottom: 1rem; z-index: 70; display: inline-flex; align-items: center; gap: .55rem; background: #25D366; color: #fff; padding: .85rem 1.15rem; border-radius: 999px; font-weight: 700; font-size: .8rem; letter-spacing: .04em; box-shadow: 0 0 30px rgba(37, 211, 102, .35), 0 12px 30px -10px rgba(0, 0, 0, .6); transition: transform .2s, box-shadow .2s; }
.cda-wa:hover { transform: translateY(-2px); color: #fff; box-shadow: 0 0 44px rgba(37, 211, 102, .6); }
.cda-wa.is-tel { background: var(--rosso); box-shadow: var(--bagliore); }
.cda-scegli li.is-tel a > .cda-ico:first-child { color: var(--rosso); }
.cda-wa .cda-ico { width: 1.4em; height: 1.4em; }
.cda-scegli { position: fixed; inset: 0; z-index: 80; background: rgba(5, 5, 7, .72); display: grid; place-items: center; padding: 1rem; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.cda-scegli[hidden] { display: none; }
.cda-scegli__box { background: rgba(22, 22, 27, .92); border: 1px solid var(--linea); color: var(--testo); width: min(520px, 100%); max-height: 90vh; overflow: auto; border-radius: var(--raggio); padding: 1.8rem; position: relative; animation: cda-sale .25s ease-out; box-shadow: var(--ombra), 0 0 80px -30px rgba(228, 38, 46, .5); }
@keyframes cda-sale { from { transform: translateY(14px); opacity: 0; } to { transform: none; opacity: 1; } }
.cda-scegli__box h3 { margin-bottom: .4rem; font-size: 1.5rem; }
.cda-scegli__box > p { color: var(--nebbia); font-size: .9rem; }
.cda-scegli__chiudi { position: absolute; right: .8rem; top: .8rem; background: none; border: 0; cursor: pointer; color: var(--nebbia); padding: .4rem; }
.cda-scegli__chiudi:hover { color: #fff; }
.cda-scegli ul { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .45rem; }
.cda-scegli li a { display: grid; grid-template-columns: auto 1fr auto; gap: .8rem; align-items: center; padding: .75rem .95rem; background: rgba(255, 255, 255, .03); border: 1px solid var(--linea); border-radius: var(--raggio-s); color: #fff; transition: border-color .2s, background .2s; }
.cda-scegli li a:hover { border-color: rgba(37, 211, 102, .6); background: rgba(37, 211, 102, .06); color: #fff; }
.cda-scegli li a > .cda-ico:first-child { color: #25D366; width: 1.4em; height: 1.4em; }
.cda-scegli li span { display: grid; line-height: 1.25; font-weight: 600; }
.cda-scegli li small { color: var(--nebbia); font-size: .72rem; font-weight: 400; }

/* ── testata interna ──────────────────────────────────────────── */
.cda-testata { position: relative; overflow: hidden; color: #fff; border-bottom: 1px solid var(--linea); isolation: isolate; }
.cda-testata::before { content: ''; position: absolute; width: 60vw; height: 60vw; max-width: 760px; max-height: 760px; right: -12vw; top: -30vw; border-radius: 50%; background: var(--rosso); filter: blur(140px); opacity: .22; z-index: -1; pointer-events: none; }
.cda-testata.is-oro::before, .cda-tr .cda-testata::before { background: var(--oro); }
.cda-testata__foto { position: absolute; inset: 0; margin: 0; z-index: -2; }
.cda-testata__foto img { width: 100%; height: 100%; object-fit: cover; opacity: .38; filter: contrast(1.1); }
.cda-testata__foto::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--nero) 0%, rgba(14, 14, 16, .5) 60%, rgba(14, 14, 16, .3) 100%), linear-gradient(0deg, var(--nero) 0%, transparent 50%); }
.cda-testata__dentro { position: relative; box-sizing: border-box; max-width: var(--largo); margin: 0 auto; padding: clamp(4rem, 9vw, 7rem) clamp(1.1rem, 4vw, 2.2rem) clamp(3rem, 6vw, 5rem); }
.cda-testata h1 { color: #fff; font-size: clamp(2.6rem, 7vw, 5.8rem); line-height: .95; margin-bottom: .35em; }
.cda-testata__sotto { color: #d4d4d8; max-width: 60ch; font-size: 1.05rem; font-weight: 300; }
.cda-testata .cda-occhiello { color: var(--oro); }
.cda-pagina .cda-sezione.is-stretta { padding-top: clamp(2.5rem, 5vw, 4rem); }
.cda-pagina .cda-sezione.is-stretta h2 { margin-top: 1.6em; font-size: clamp(1.5rem, 3vw, 2.2rem); }
.cda-pagina .cda-sezione.is-stretta p, .cda-pagina .cda-sezione.is-stretta li { color: var(--testo); }
.cda-pagina .cda-sezione.is-stretta a { color: #fff; text-decoration: underline; text-decoration-color: var(--rosso); text-underline-offset: 3px; }

/* ── pagina del salone ────────────────────────────────────────── */
.cda-salone__hero { position: relative; min-height: min(76vh, 700px); display: grid; align-items: end; color: #fff; isolation: isolate; overflow: hidden; }
.cda-salone__foto { position: absolute; inset: 0; margin: 0; z-index: -1; }
.cda-salone__foto img { width: 100%; height: 100%; object-fit: cover; opacity: .62; filter: contrast(1.08); animation: cda-zoom 16s ease-out forwards; }
.cda-salone__hero::before { content: ''; position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, rgba(14, 14, 16, .85) 0%, rgba(14, 14, 16, .3) 65%), linear-gradient(0deg, var(--nero) 0%, rgba(14, 14, 16, 0) 55%); }
.cda-salone__hero-dentro { position: relative; z-index: 1; box-sizing: border-box; max-width: var(--largo); width: 100%; margin: 0 auto; padding: clamp(5rem, 10vw, 8rem) clamp(1.1rem, 4vw, 2.2rem) clamp(2.2rem, 5vw, 3.5rem); }
.cda-salone__hero h1 { color: #fff; font-size: clamp(2.6rem, 8vw, 6.4rem); line-height: .92; margin-bottom: .25em; }
.cda-salone__tagline { font-size: 1.1rem; color: #e4e4e7; font-weight: 300; max-width: 56ch; }
.cda-salone__voto { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; color: #d4d4d8; font-size: .86rem; margin: 0; }
.cda-salone__azioni { max-width: var(--largo); margin: 0 auto; padding: .9rem clamp(1.1rem, 4vw, 2.2rem); display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; position: sticky; top: var(--header-h); background: rgba(14, 14, 16, .72); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-bottom: 1px solid var(--linea); z-index: 40; }
.cda-azione { display: inline-flex; align-items: center; gap: .6rem; padding: .62rem 1rem; border: 1px solid var(--linea-forte); background: rgba(255, 255, 255, .04); border-radius: 999px; font-size: .8rem; font-weight: 600; line-height: 1.15; color: #fff; transition: border-color .2s, box-shadow .2s, background .2s; }
.cda-azione:hover { border-color: var(--rosso); color: #fff; box-shadow: 0 0 24px -6px rgba(228, 38, 46, .7); }
.is-oro .cda-azione:hover { border-color: var(--oro); box-shadow: 0 0 24px -6px rgba(201, 167, 105, .7); }
.cda-azione span { display: grid; }
.cda-azione small { font-size: .66rem; color: var(--nebbia); font-weight: 400; }
.cda-azione .cda-ico { width: 1.25em; height: 1.25em; color: var(--rosso); }
.is-oro .cda-azione .cda-ico { color: var(--oro); }
.cda-salone__info { max-width: var(--largo); margin: 0 auto; padding: clamp(3rem, 6vw, 5rem) clamp(1.1rem, 4vw, 2.2rem); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.cda-salone__testo p { color: var(--testo); }
.cda-salone__scheda { background: var(--vetro); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid var(--linea); border-radius: var(--raggio); padding: 1.7rem; position: sticky; top: calc(var(--header-h) + 80px); box-shadow: var(--ombra); }
.cda-salone__scheda h3 { font-family: var(--titoli); font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 700; display: flex; align-items: center; gap: .5em; margin: 1.5rem 0 .8rem; color: #fff; }
.cda-salone__scheda h3:first-child { margin-top: 0; }
.cda-salone__scheda h3 .cda-ico { color: var(--rosso); }
.is-oro .cda-salone__scheda h3 .cda-ico { color: var(--oro); }
.cda-orari { margin: 0; display: grid; gap: .2rem; font-size: .88rem; }
.cda-orari div { display: flex; justify-content: space-between; gap: 1rem; padding: .35rem 0; border-bottom: 1px dashed var(--linea); }
.cda-orari div.is-oggi { font-weight: 700; color: #fff; }
.cda-orari div.is-oggi dt::after { content: ' · oggi'; color: var(--rosso); font-weight: 600; font-size: .78em; }
.cda-orari dt { color: var(--nebbia); font-weight: inherit; }
.cda-orari dd { margin: 0; }
.cda-orari__nota { font-size: .8rem; color: var(--nebbia); margin: .6rem 0 0; }
.cda-salone__indirizzo { font-size: .92rem; margin-bottom: .6rem; }
.cda-salone__riga { margin: .3rem 0; font-size: .9rem; }
.cda-salone__riga a { display: inline-flex; gap: .5em; align-items: center; }
.cda-salone__riga.is-centro { text-align: center; margin-top: 2rem; }
.cda-mappa { aspect-ratio: 5 / 3; overflow: hidden; border-radius: var(--raggio-s); margin: 1rem 0; background: var(--carbone); border: 1px solid var(--linea); }
.cda-mappa iframe { width: 100%; height: 100%; border: 0; }
.cda-salone__staff, .cda-salone__galleria, .cda-salone__recensioni, .cda-salone__video, .cda-salone__altri { max-width: var(--largo); margin: 0 auto; padding: 0 clamp(1.1rem, 4vw, 2.2rem) clamp(3rem, 6vw, 5rem); }
.cda-salone__recensioni { background: rgba(10, 10, 12, .6); border-top: 1px solid var(--linea); border-bottom: 1px solid var(--linea); max-width: none; padding-top: clamp(3rem, 6vw, 5rem); }
.cda-salone__recensioni > * { max-width: var(--largo); margin-left: auto; margin-right: auto; }
.cda-salone__altri { padding-top: clamp(3rem, 6vw, 5rem); }
.cda-staff { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 1.6rem 1.2rem; }
.cda-staff li { display: grid; gap: .25rem; }
.cda-staff figure { margin: 0 0 .8rem; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--raggio); width: 100%; background: var(--carbone); border: 1px solid var(--linea); display: grid; place-items: center; font-family: var(--titoli); font-weight: 800; font-size: 3rem; color: var(--pietra); }
.cda-staff__gruppo { margin: 0 0 2.6rem; }
.cda-staff__gruppo img { width: 100%; height: auto; border-radius: var(--raggio); border: 1px solid var(--linea); box-shadow: var(--ombra); }
.cda-staff__gruppo figcaption { margin-top: .9rem; font-size: .95rem; color: var(--nebbia); font-weight: 300; }
.cda-staff figure img { width: 100%; height: 100%; object-fit: cover; }
.cda-staff b { font-family: var(--titoli); font-size: 1.05rem; font-weight: 800; text-transform: uppercase; }
.cda-staff small { font-size: .64rem; letter-spacing: .2em; text-transform: uppercase; color: var(--rosso); font-weight: 700; }
.is-oro .cda-staff small { color: var(--oro); }
.cda-staff p { font-size: .84rem; color: var(--nebbia); margin: .3rem 0 0; }
.cda-galleria { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .7rem; }
.cda-galleria.is-grande { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .9rem; }
.cda-galleria a { display: block; aspect-ratio: 1; overflow: hidden; border-radius: var(--raggio-s); background: var(--carbone); border: 1px solid var(--linea); }
.cda-galleria.is-grande a { aspect-ratio: 4 / 5; }
.cda-galleria img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s; }
.cda-galleria a:hover img { transform: scale(1.06); }

/* lightbox */
.cda-luce { position: fixed; inset: 0; z-index: 90; background: rgba(5, 5, 7, .95); backdrop-filter: blur(6px); display: grid; place-items: center; padding: 2rem; }
.cda-luce[hidden] { display: none; }
.cda-luce img { max-width: min(92vw, 1100px); max-height: 88vh; width: auto; height: auto; border-radius: var(--raggio-s); box-shadow: 0 30px 80px rgba(0, 0, 0, .6); }
.cda-luce button { position: absolute; background: none; border: 0; color: #fff; cursor: pointer; padding: 1rem; }
.cda-luce .is-chiudi { top: .6rem; right: .6rem; }
.cda-luce .is-prima { left: .4rem; top: 50%; transform: translateY(-50%); }
.cda-luce .is-dopo { right: .4rem; top: 50%; transform: translateY(-50%); }
.cda-luce .cda-ico { width: 2rem; height: 2rem; }
.cda-luce iframe { width: min(92vw, 1100px); aspect-ratio: 16 / 9; border: 0; border-radius: var(--raggio-s); }

/* ── archivio saloni ──────────────────────────────────────────── */
.cda-saloni-tutti__marchio + .cda-saloni-tutti__marchio { margin-top: clamp(3rem, 6vw, 5rem); padding-top: clamp(3rem, 6vw, 5rem); border-top: 1px solid var(--linea); }
.cda-elenco-saloni { display: grid; gap: 1.2rem; }
.cda-riga-salone { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 1.6rem; background: var(--vetro); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid var(--linea); border-radius: var(--raggio); overflow: hidden; box-shadow: var(--ombra); transition: border-color .3s; }
.cda-riga-salone:hover { border-color: rgba(228, 38, 46, .4); }
.is-oro .cda-riga-salone:hover { border-color: rgba(201, 167, 105, .5); }
.cda-riga-salone__foto { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--carbone); }
.cda-riga-salone__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s; }
.cda-riga-salone:hover .cda-riga-salone__foto img { transform: scale(1.05); }
.cda-riga-salone__testo { padding: 1.4rem 1.6rem 1.4rem 0; display: grid; gap: .4rem; align-content: center; }
.cda-riga-salone h3 { font-size: clamp(1.4rem, 2.6vw, 2rem); margin: 0; }
.cda-riga-salone__tagline { color: var(--nebbia); margin: 0; font-weight: 300; }
.cda-riga-salone__indirizzo { margin: 0; font-size: .88rem; display: flex; gap: .5em; align-items: center; }
.cda-riga-salone__indirizzo .cda-ico { color: var(--rosso); }
.is-oro .cda-riga-salone__indirizzo .cda-ico { color: var(--oro); }
.cda-riga-salone__voto { margin: 0; font-size: .82rem; color: var(--nebbia); }
.cda-riga-salone__azioni { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: .9rem; align-items: center; }

/* collezioni */
.cda-griglia-coll { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.1rem; }
.cda-card-coll { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--raggio); background: var(--carbone); color: #fff; border: 1px solid var(--linea); box-shadow: var(--ombra); transition: transform .4s, border-color .3s; }
.cda-card-coll:hover { transform: translateY(-5px); border-color: rgba(228, 38, 46, .45); color: #fff; }
.cda-card-coll img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s; }
.cda-card-coll:hover img { transform: scale(1.05); }
.cda-card-coll span { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.4rem; background: linear-gradient(180deg, transparent, rgba(14, 14, 16, .95)); display: grid; gap: .3rem; }
.cda-card-coll small { font-size: .6rem; letter-spacing: .22em; text-transform: uppercase; color: var(--rosso); font-weight: 700; }
.cda-card-coll strong { font-family: var(--titoli); font-weight: 800; text-transform: uppercase; font-size: 1.5rem; line-height: 1; }
.cda-coll__hero { position: relative; min-height: min(76vh, 700px); display: grid; align-items: end; color: #fff; isolation: isolate; overflow: hidden; }
.cda-coll__foto { position: absolute; inset: 0; margin: 0; z-index: -1; }
.cda-coll__foto img { width: 100%; height: 100%; object-fit: cover; opacity: .65; animation: cda-zoom 16s ease-out forwards; }
.cda-coll__hero::before { content: ''; position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, rgba(14, 14, 16, .8) 0%, rgba(14, 14, 16, .2) 65%), linear-gradient(0deg, var(--nero) 0%, transparent 55%); }
.cda-coll__hero-dentro { position: relative; z-index: 1; box-sizing: border-box; max-width: var(--largo); width: 100%; margin: 0 auto; padding: clamp(5rem, 10vw, 8rem) clamp(1.1rem, 4vw, 2.2rem) clamp(2.2rem, 5vw, 3.5rem); }
.cda-coll__hero h1 { color: #fff; font-size: clamp(3rem, 9vw, 7rem); line-height: .9; }
.cda-coll__sotto { color: #e4e4e7; font-size: 1.08rem; font-weight: 300; max-width: 60ch; }
.cda-coll__corpo { max-width: var(--largo); margin: 0 auto; padding: clamp(3rem, 6vw, 5rem) clamp(1.1rem, 4vw, 2.2rem); display: grid; gap: clamp(2.5rem, 5vw, 4rem); }
.cda-coll__testo { max-width: var(--stretto); font-size: 1.05rem; color: var(--testo); }
.cda-coll__cta { background: var(--vetro); backdrop-filter: blur(20px); border: 1px solid rgba(228, 38, 46, .3); color: #fff; border-radius: var(--raggio); padding: clamp(1.6rem, 3vw, 2.4rem); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; box-shadow: 0 0 60px -20px rgba(228, 38, 46, .45); }
.cda-coll__cta p { margin: 0; font-family: var(--titoli); font-weight: 800; text-transform: uppercase; font-size: 1.2rem; }

/* academy */
.cda-materie { list-style: none; margin: 0 0 clamp(3rem, 6vw, 5rem); padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.cda-materie li { background: var(--vetro); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid var(--linea); border-radius: var(--raggio); padding: 1.6rem; display: grid; gap: .5rem; align-content: start; box-shadow: var(--ombra); transition: border-color .3s, transform .3s; }
.cda-materie li:hover { border-color: rgba(228, 38, 46, .4); transform: translateY(-4px); }
.cda-materie__n { font-family: var(--titoli); font-weight: 800; color: var(--rosso); font-size: 1.7rem; line-height: 1; }
.cda-materie li:nth-child(even) .cda-materie__n { color: var(--oro); }
.cda-materie b { font-family: var(--titoli); font-weight: 700; text-transform: uppercase; font-size: 1rem; }
.cda-materie p { margin: 0; font-size: .86rem; color: var(--nebbia); }
.cda-academy__marchio { margin-top: clamp(3rem, 6vw, 5rem); padding-top: clamp(3rem, 6vw, 5rem); border-top: 1px solid var(--linea); display: grid; gap: 1.6rem; }
.cda-academy__marchio-testa { display: grid; grid-template-columns: 220px 1fr; gap: 2rem; align-items: center; }
.cda-academy__marchio-testa img { width: 100%; height: auto; }
.cda-academy__marchio-testa h3 { font-size: clamp(1.4rem, 3vw, 2rem); margin-bottom: .4em; }
.cda-academy__social { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; }
.cda-academy__social a { display: inline-flex; gap: .4em; align-items: center; color: var(--oro); }
.cda-academy__social a:hover { color: #fff; }

/* team ribelle */
.cda-tr__logo { width: min(320px, 70%); height: auto; margin-bottom: 1.4rem; }
.cda-tr .cda-chi__foto { box-shadow: var(--ombra), 0 0 80px -30px rgba(201, 167, 105, .6); }

/* lavora con noi, contatti, moduli */
.cda-lavora__griglia { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.cda-lavora__foto { margin: 2rem 0 0; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--raggio); border: 1px solid var(--linea); }
.cda-lavora__foto img { width: 100%; height: 100%; object-fit: cover; }
.cda-lavora__modulo { background: var(--vetro); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid var(--linea); border-radius: var(--raggio); padding: clamp(1.5rem, 3vw, 2.4rem); box-shadow: var(--ombra); }
.cda-contatti__griglia { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; }
.cda-contatto { background: var(--vetro); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid var(--linea); border-top: 2px solid var(--rosso); border-radius: var(--raggio); padding: 1.5rem; box-shadow: var(--ombra); }
.cda-contatto.is-oro { border-top-color: var(--oro); }
.cda-contatto h3 { font-size: 1.4rem; margin-bottom: .7rem; display: grid; gap: .3rem; }
.cda-contatto h3 small { font-family: var(--sans); font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--nebbia); font-weight: 600; }
.cda-contatto p { margin: .35rem 0; font-size: .88rem; display: flex; gap: .5em; align-items: flex-start; }
.cda-contatto p a { display: inline-flex; gap: .5em; align-items: center; }
.cda-contatto .cda-ico { color: var(--rosso); margin-top: .15em; }
.cda-contatto.is-oro .cda-ico { color: var(--oro); }
.cda-contatto .cda-orari { margin-top: .8rem; font-size: .8rem; }
.cda-contatti__modulo { margin-top: clamp(3rem, 6vw, 5rem); padding-top: clamp(3rem, 6vw, 5rem); border-top: 1px solid var(--linea); max-width: var(--stretto); }
.cda-form { display: grid; gap: 1rem; }
.cda-form__griglia { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.cda-form label { display: grid; gap: .4rem; font-size: .64rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: #d4d4d8; }
.cda-form label.is-larga { grid-column: 1 / -1; }
.cda-form input, .cda-form select, .cda-form textarea { font: inherit; font-size: .92rem; font-weight: 400; letter-spacing: 0; text-transform: none; padding: .85rem 1rem; border: 1px solid var(--linea-forte); border-radius: 12px; background: rgba(10, 10, 12, .7); color: #fff; width: 100%; box-sizing: border-box; transition: border-color .2s, box-shadow .2s; }
.cda-form select option { background: var(--carbone); }
.cda-form input::placeholder, .cda-form textarea::placeholder { color: #71717a; }
.cda-form input:focus, .cda-form select:focus, .cda-form textarea:focus { outline: none; border-color: var(--rosso); box-shadow: 0 0 0 3px rgba(228, 38, 46, .2); }
.cda-form input[type=file] { padding: .6rem; }
.cda-form button, .cda-form [type=submit] { width: 100%; padding-top: 1.05rem; padding-bottom: 1.05rem; }
.cda-form__consenso { display: flex !important; gap: .6rem; align-items: flex-start; font-weight: 400 !important; font-size: .8rem !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--nebbia) !important; }
.cda-form__consenso input { width: auto; margin-top: .2rem; accent-color: var(--rosso); }
.cda-form__consenso a { text-decoration: underline; color: #fff; }
.cda-hp { position: absolute; left: -9999px; }
.cda-form__esito { padding: 1rem 1.2rem; border-radius: 12px; font-size: .92rem; }
.cda-form__esito.is-ok { background: rgba(37, 211, 102, .1); color: #86efac; border: 1px solid rgba(37, 211, 102, .3); }
.cda-form__esito.is-errore { background: rgba(228, 38, 46, .12); color: #fca5a5; border: 1px solid rgba(228, 38, 46, .35); }
.cda-404 { text-align: center; padding: 4rem 0; }
.cda-404 .wp-block-buttons { justify-content: center; }

/* contenuti scritti dal pannello (pagine semplici, privacy…) */
.wp-block-post-content a { color: #fff; text-decoration: underline; text-decoration-color: var(--rosso); text-underline-offset: 3px; }
.wp-block-post-content :where(h2, h3) { margin-top: 1.6em; }
.wp-block-table td, .wp-block-table th { border-color: var(--linea) !important; }
hr, .wp-block-separator { border-color: var(--linea) !important; }

/* cursore della bozza 2 (solo col mouse) */
.cda-cursore, .cda-cursore-punto { position: fixed; left: 0; top: 0; pointer-events: none; border-radius: 50%; z-index: 9999; transform: translate(-50%, -50%); opacity: 0; transition: opacity .3s, width .2s, height .2s, background-color .2s, border-color .2s; }
.cda-cursore { width: 26px; height: 26px; border: 1.5px solid var(--rosso); }
.cda-cursore-punto { width: 5px; height: 5px; background: #fff; z-index: 10000; }
.has-cursore .cda-cursore, .has-cursore .cda-cursore-punto { opacity: 1; }
.cda-cursore.is-sopra { width: 46px; height: 46px; background: rgba(228, 38, 46, .12); border-color: var(--oro); }

/* comparsa morbida */
.js .cda-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
.js .cda-reveal.is-visibile { opacity: 1; transform: none; }

/* ── telefono ─────────────────────────────────────────────────── */
@media (max-width: 1000px) {
	.cda-footer__griglia { grid-template-columns: 1fr 1fr; }
	.cda-marchi__griglia { grid-template-columns: 1fr; }
	.cda-marchio-card { min-height: 480px; }
	.cda-materie { grid-template-columns: repeat(2, 1fr); }
	.cda-pilastri.is-quattro { grid-template-columns: repeat(2, 1fr); }
	.cda-hero__foto { width: 100%; -webkit-mask-image: none; mask-image: none; }
	.cda-hero__foto::after { background: linear-gradient(90deg, rgba(14, 14, 16, .85) 0%, rgba(14, 14, 16, .45) 100%), linear-gradient(0deg, var(--nero) 0%, rgba(14, 14, 16, 0) 45%), linear-gradient(180deg, rgba(14, 14, 16, .7) 0%, rgba(14, 14, 16, 0) 25%); }
}
@media (max-width: 820px) {
	:root { --header-h: 66px; --raggio: 18px; }
	.cda-logo img { height: 38px; }
	.cda-logo.cda-logo--tr img { height: 30px; }
	.cda-header__cta span { display: none; }
	.cda-header__cta { padding: .7rem .8rem; }
	.cda-hero { min-height: 88vh; }
	.cda-hero__google { display: none; }
	.cda-chi__griglia, .cda-chi__griglia.is-inversa, .cda-coll-teaser__griglia, .cda-academy-teaser__griglia, .cda-lavora__griglia, .cda-salone__info { grid-template-columns: 1fr; }
	.cda-chi__foto { max-width: 480px; }
	.cda-academy-teaser__foto { order: -1; }
	.cda-salone__scheda { position: static; }
	.cda-salone__azioni { position: static; overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
	.cda-salone__azioni > * { flex: none; }
	.cda-riga-salone { grid-template-columns: 1fr; }
	.cda-riga-salone__testo { padding: 1.2rem; }
	.cda-ig__griglia, .cda-ig__griglia.is-sei { grid-template-columns: repeat(3, 1fr); }
	.cda-lavora-cta__box { grid-template-columns: 1fr; }
	.cda-academy__marchio-testa { grid-template-columns: 1fr; }
	.cda-academy__marchio-testa img { max-width: 220px; }
	.cda-form__griglia { grid-template-columns: 1fr; }
	.cda-pilastri { grid-template-columns: 1fr; }
	.cda-wa span { display: none; }
	.cda-wa { padding: .95rem; }
	.cda-azioni .wp-element-button { flex: 1 1 100%; }
}
@media (max-width: 560px) {
	.cda-footer__griglia { grid-template-columns: 1fr; gap: 2rem; }
	.cda-materie { grid-template-columns: 1fr; }
	.cda-griglia-saloni.is-piccola { grid-template-columns: repeat(2, 1fr); }
	.cda-coll-teaser__foto { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cda-coll-teaser__foto figure.is-grande { grid-column: span 2; grid-row: auto; }
	.cda-numeri ul { grid-template-columns: repeat(2, 1fr); }
	.cda-staff { grid-template-columns: repeat(2, 1fr); gap: 1.4rem .9rem; }
	.cda-sezione__testa h2 a[href*="instagram.com"] { font-size: .62em; }
	.cda-logo img { height: 32px; }
	.cda-logo.cda-logo--tr img { height: 26px; }
	.cda-hero h1 { font-size: clamp(2.5rem, 12.5vw, 3.4rem); }
	.cda-pillola { font-size: .58rem; letter-spacing: .18em; }
}
@media (prefers-reduced-motion: reduce) {
	.cda-hero__foto img, .cda-salone__foto img, .cda-coll__foto img, .cda-atmosfera i, .cda-nastro__pista, .cda-recensioni__griglia.is-nastro, .cda-punto::after { animation: none !important; }
	.cda-hero__foto.is-giro figure { animation: none; }
	.js .cda-reveal { opacity: 1; transform: none; transition: none; }
}

/* ── 02/11/2026 (Fabrizio: «titoloni non responsive… su desktop anche la metà, basta che sia chiaro; footer appiccicato») ── */
/* titoli più piccoli e sempre dentro lo schermo */
h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }
.cda-hero h1 { font-size: clamp(2.2rem, 4.2vw, 3.9rem); }
.cda-testata h1 { font-size: clamp(2rem, 4vw, 3.4rem); }
.cda-salone__hero h1 { font-size: clamp(2rem, 4.4vw, 3.6rem); }
.cda-coll__hero h1 { font-size: clamp(2.2rem, 5vw, 4rem); }
.cda-coll-teaser h2 { font-size: clamp(1.8rem, 3.4vw, 2.8rem); }
.cda-lavora-cta__box h2 { font-size: clamp(1.6rem, 3.4vw, 2.6rem); }
.cda-chi__griglia h2, .cda-lavora__griglia h2, .cda-academy-teaser h2, .cda-salone__info h2 { font-size: clamp(1.6rem, 2.8vw, 2.4rem); }
/* le testate sono griglie: la colonna non si allarga oltre lo schermo per una parola lunga */
.cda-hero, .cda-salone__hero, .cda-coll__hero { grid-template-columns: minmax(0, 1fr); }
.cda-hero__dentro, .cda-hero__corpo, .cda-salone__hero-dentro, .cda-coll__hero-dentro, .cda-testata__dentro { min-width: 0; max-width: 100%; }
/* il footer con il suo margine ai lati, come il resto del sito */
.cda-footer { padding-left: clamp(1.1rem, 4vw, 2.2rem); padding-right: clamp(1.1rem, 4vw, 2.2rem); box-sizing: border-box; }
@media (max-width: 560px) {
	h2 { font-size: clamp(1.4rem, 6.4vw, 1.85rem); }
	.cda-hero h1 { font-size: clamp(1.9rem, 9vw, 2.4rem); }
	.cda-testata h1, .cda-salone__hero h1, .cda-coll__hero h1 { font-size: clamp(1.8rem, 8.5vw, 2.3rem); }
	.cda-coll-teaser h2, .cda-lavora-cta__box h2, .cda-chi__griglia h2, .cda-lavora__griglia h2, .cda-academy-teaser h2, .cda-salone__info h2 { font-size: clamp(1.4rem, 6.4vw, 1.85rem); }
}

/* ── 02/11/2026 (Fabrizio): da telefono loghi centrati e più grandi, menu a sinistra, Prenota a destra; saloni in carosello da scorrere ── */
@media (max-width: 820px) {
	.cda-header__riga { display: grid !important; grid-template-columns: 48px minmax(0, 1fr) 48px; align-items: center; gap: .5rem; }
	.cda-header__nav { display: contents !important; }
	.cda-header__nav > .wp-block-navigation { grid-column: 1; grid-row: 1; justify-self: start; }
	.cda-loghi { grid-column: 2; grid-row: 1; justify-self: center; gap: .7rem; }
	.cda-loghi .cda-logo--tr { padding-left: .7rem; }
	.cda-header__cta { grid-column: 3; grid-row: 1; justify-self: end; }
	.cda-logo img { height: 46px; }
	.cda-logo.cda-logo--tr img { height: 38px; }
	/* i saloni della home: carosello, la scheda dopo si vede a metà così si capisce che si scorre */
	.cda-griglia-saloni:not(.is-piccola) { display: flex; gap: .9rem; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
		-webkit-overflow-scrolling: touch; scrollbar-width: none; margin-inline: calc(-1 * clamp(1.1rem, 4vw, 2.2rem)); padding: .2rem clamp(1.1rem, 4vw, 2.2rem) .6rem;
		scroll-padding-inline: clamp(1.1rem, 4vw, 2.2rem); }
	.cda-griglia-saloni:not(.is-piccola)::-webkit-scrollbar { display: none; }
	.cda-griglia-saloni:not(.is-piccola) > .cda-tessera { flex: 0 0 min(78%, 340px); scroll-snap-align: start; }
}
@media (max-width: 560px) {
	.cda-logo img { height: 40px; }
	.cda-logo.cda-logo--tr img { height: 33px; }
}

/* ── 02/11/2026: tendine dei moduli nello stile del sito (cda.js costruisce .cda-scelta sopra la select vera) ── */
.cda-scelta { position: relative; }
.cda-scelta__vera { position: absolute !important; inset: 0; opacity: 0; pointer-events: none; }
.cda-scelta__bottone { font: inherit; font-size: .92rem; font-weight: 400; letter-spacing: 0; text-transform: none; text-align: left; width: 100%; box-sizing: border-box;
	padding: .85rem 2.6rem .85rem 1rem; border: 1px solid var(--linea-forte); border-radius: 12px; background: rgba(10, 10, 12, .7); color: #fff; cursor: pointer;
	position: relative; transition: border-color .2s, box-shadow .2s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cda-scelta__bottone::after { content: ''; position: absolute; right: 1.1rem; top: 50%; width: .5rem; height: .5rem; border-right: 2px solid var(--rosso); border-bottom: 2px solid var(--rosso);
	transform: translateY(-70%) rotate(45deg); transition: transform .2s; }
.cda-scelta.is-aperta .cda-scelta__bottone::after { transform: translateY(-30%) rotate(-135deg); }
.cda-scelta__bottone.is-vuota { color: #a1a1aa; }
.cda-scelta__bottone:focus-visible, .cda-scelta.is-aperta .cda-scelta__bottone { outline: none; border-color: var(--rosso); box-shadow: 0 0 0 3px rgba(228, 38, 46, .2); }
.cda-scelta__lista { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + .4rem); margin: 0; padding: .4rem; list-style: none; max-height: 18rem; overflow-y: auto;
	background: rgba(18, 18, 22, .97); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); border: 1px solid var(--linea-forte); border-radius: 14px; box-shadow: var(--ombra); }
.cda-scelta__lista li { padding: .62rem .8rem; border-radius: 9px; font-size: .9rem; letter-spacing: 0; text-transform: none; font-weight: 400; color: #e4e4e7; cursor: pointer; }
.cda-scelta__lista li.is-vuota { color: #a1a1aa; }
.cda-scelta__lista li:hover, .cda-scelta__lista li.is-attiva { background: rgba(228, 38, 46, .14); color: #fff; }
.cda-scelta__lista li[aria-selected="true"] { color: var(--rosso); font-weight: 600; }

/* ── 02/11/2026: pagina salone, foto del locale e lavori separate; da telefono caroselli da scorrere (come i saloni in home) ── */
.cda-salone__galleria.is-locale + .cda-salone__galleria { padding-top: 0; }
@media (max-width: 820px) {
	.cda-galleria.is-carosello { display: flex; gap: .7rem; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch;
		scrollbar-width: none; margin-inline: calc(-1 * clamp(1.1rem, 4vw, 2.2rem)); padding: .2rem clamp(1.1rem, 4vw, 2.2rem) .6rem; scroll-padding-inline: clamp(1.1rem, 4vw, 2.2rem); }
	.cda-galleria.is-carosello::-webkit-scrollbar { display: none; }
	.cda-galleria.is-carosello > a { flex: 0 0 72%; scroll-snap-align: start; }
	.cda-salone__galleria.is-locale .cda-galleria.is-carosello > a { flex-basis: 84%; aspect-ratio: 4 / 3; }
}

