/* ==========================================================================
   Schola — livello "tema" sui contenuti di SP Page Builder
   Ridisegna sezioni, riquadri, icone, contatori, accordion, testimonianze
   senza toccare i contenuti. Le regole usano !important dove serve a
   prevalere sugli stili per-elemento che SP Page Builder scrive nella pagina.
   ========================================================================== */

:root {
  /* Oro più luminoso, con effetto metallico */
  --gold: #c9a13b;
  --gold-light: #ecd28a;
  --gold-bright: #f5e2a6;
  --gold-deep: #9c7a22;
  --gold-metal: linear-gradient(135deg, #a67c1a 0%, #e8c766 28%, #fff1c1 50%, #d9b04a 72%, #a67c1a 100%);
  --gold-line: linear-gradient(90deg, transparent, #c9a13b 18%, #f5e2a6 50%, #c9a13b 82%, transparent);
  --parchment: #f4ecdd;
  --parchment-deep: #ead9bc;
}

/* ---------- Cornice: oro più vivo ---------- */
.site-header { border-bottom: 0 !important; }
.site-header::after { bottom: -3px; height: 3px; background: var(--gold-metal); }
.main-nav .mod-menu > li.active > a, .main-nav .mod-menu > li.active > .mod-menu__heading { color: var(--gold-bright); }
.main-nav .mod-menu > li > a::after, .main-nav .mod-menu > li > .mod-menu__heading::after { background: var(--gold-metal); height: 2px; }
.main-nav .mod-menu__sub { border-top: 3px solid var(--gold); }
.site-footer { border-top: 0; position: relative; }
.site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--gold-metal); }
.site-footer .module-title, .site-footer .moduletable > h3, .site-footer section > h3 { color: var(--gold-light); }
.back-top { border-color: var(--gold-light); color: var(--gold-bright); }

/* ---------- Sezioni: niente più bianco/grigio piatto ---------- */
.sp-page-builder .sppb-section { background-color: transparent !important; }
.sp-page-builder .page-content > .sppb-section:nth-of-type(even):not(.sppb-row-have-ext-bg) { background-color: var(--parchment) !important; }
.sp-page-builder .page-content > .sppb-section { padding-top: 72px !important; padding-bottom: 72px !important; }
.sp-page-builder .sppb-section:has(.addon-root-js-slideshow),
.sp-page-builder .sppb-section:has(> .sppb-row-container > .sppb-row > div > .sppb-column > .sppb-column-addons > .addon-root-divider:only-child),
.sp-page-builder .sppb-section:has(.addon-root-divider):not(:has(.addon-root-text-block, .addon-root-heading, .addon-root-image, .addon-root-video)) {
  padding-top: 0 !important; padding-bottom: 0 !important; background: transparent !important;
}
/* Sezioni con immagine di sfondo: velatura bordeaux uniforme */
.sp-page-builder .sppb-row-overlay { background: linear-gradient(160deg, rgba(74, 16, 19, .88), rgba(46, 10, 12, .92)) !important; opacity: 1 !important; }
.sp-page-builder .sppb-section[style*="background-image"], .sp-page-builder .sppb-row-have-ext-bg { color: var(--ivory); }

/* ---------- Divisori: filetto d'oro con rombo ---------- */
.sp-page-builder .sppb-divider {
  border: 0 !important; height: 1px !important; background: var(--gold-line) !important;
  max-width: 420px; margin-left: auto !important; margin-right: auto !important; position: relative; overflow: visible;
}
.sp-page-builder .sppb-divider::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 9px; height: 9px;
  background: var(--gold-metal); transform: translate(-50%, -50%) rotate(45deg); box-shadow: 0 0 0 4px var(--ivory);
}
.sp-page-builder .sppb-section:nth-of-type(even) .sppb-divider::after { box-shadow: 0 0 0 4px var(--parchment); }

/* ---------- Titoli ---------- */
.sp-page-builder .sppb-addon-title, .sp-page-builder .sppb-addon-text-block h2, .sp-page-builder .sppb-addon-text-block h1 {
  color: var(--bordeaux-ink) !important; font-weight: 600 !important; letter-spacing: .01em !important;
}
.sp-page-builder .addon-root-heading .sppb-addon-title,
.sp-page-builder .sppb-addon-text-block > .sppb-addon-content > h2:first-child,
.sp-page-builder .sppb-addon-text-block > .sppb-addon-content > h1:first-child {
  font-size: clamp(2rem, 1.5rem + 2vw, 3rem) !important; line-height: 1.1 !important;
}
.sp-page-builder .addon-root-heading .sppb-addon-title::after,
.sp-page-builder .sppb-addon-text-block > .sppb-addon-content > h2:first-child::after {
  content: ""; display: block; width: 110px; height: 2px; margin: .7em auto 0; background: var(--gold-line);
}
.sp-page-builder .sppb-text-left .sppb-addon-title::after,
.sp-page-builder [style*="text-align: left"] > h2:first-child::after { margin-left: 0; }
.sp-page-builder .sppb-row-have-ext-bg .sppb-addon-title,
.sp-page-builder .sppb-section[style*="background-image"] .sppb-addon-title,
.sp-page-builder .sppb-row-have-ext-bg :is(h1,h2,h3,h4,p),
.sp-page-builder .sppb-section:has(> .sppb-row-overlay) :is(h1,h2,h3,h4,p,.sppb-addon-title,.sppb-animated-number-title) { color: var(--ivory) !important; }

/* ---------- Testo ---------- */
.sp-page-builder .sppb-addon-text-block .sppb-addon-content,
.sp-page-builder .sppb-addon-text-block p { color: var(--ink) !important; font-size: 1.08rem !important; line-height: 1.75 !important; }
.sp-page-builder .sppb-section:has(> .sppb-row-overlay) .sppb-addon-text-block :is(p, .sppb-addon-content) { color: rgba(251,248,242,.92) !important; }
.sp-page-builder .sppb-addon-text-block a { color: var(--bordeaux) !important; font-weight: 600; }

/* ---------- Icone: medaglione bordeaux con anello d'oro ---------- */
.sp-page-builder .sppb-icon .sppb-icon-container,
.sp-page-builder .sppb-addon-feature .sppb-icon-container {
  display: inline-grid !important; place-items: center; width: 92px !important; height: 92px !important;
  border-radius: 50% !important; padding: 0 !important; border: 0 !important;
  background: radial-gradient(circle at 35% 30%, #8a2a2a, var(--bordeaux) 55%, var(--bordeaux-deep)) !important;
  box-shadow: 0 0 0 3px var(--ivory), 0 0 0 5px var(--gold), 0 14px 26px -14px rgba(46,10,12,.7) !important;
}
.sp-page-builder .sppb-icon .sppb-icon-container > i,
.sp-page-builder .sppb-icon .sppb-icon-container > span,
.sp-page-builder .sppb-addon-feature .sppb-icon-container > i {
  color: var(--gold-bright) !important; font-size: 36px !important; line-height: 1 !important; margin: 0 !important;
}
.sp-page-builder .sppb-section:has(> .sppb-row-overlay) .sppb-icon .sppb-icon-container {
  background: transparent !important; box-shadow: 0 0 0 2px var(--gold-light) !important;
}

/* ---------- Riquadri "I nostri brani / video / foto" e feature ---------- */
.sp-page-builder .sppb-section:has(.addon-root-icon):has(.addon-root-button) .sppb-column,
.sp-page-builder .sppb-addon-feature {
  background: #fff; border: 1px solid var(--line); border-radius: 4px;
  padding: 2.4rem 1.8rem 2rem !important; height: 100%;
  box-shadow: 0 18px 40px -28px rgba(46,10,12,.45);
  position: relative; transition: transform .3s ease, box-shadow .3s ease;
}
.sp-page-builder .sppb-section:has(.addon-root-icon):has(.addon-root-button) .sppb-column::before,
.sp-page-builder .sppb-addon-feature::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--gold-metal); border-radius: 4px 4px 0 0;
}
.sp-page-builder .sppb-section:has(.addon-root-icon):has(.addon-root-button) .sppb-column:hover,
.sp-page-builder .sppb-addon-feature:hover { transform: translateY(-4px); box-shadow: 0 26px 50px -28px rgba(46,10,12,.55); }
.sp-page-builder .sppb-section:has(.addon-root-icon):has(.addon-root-button) .sppb-row { row-gap: 28px; }
.sp-page-builder .sppb-section:has(.addon-root-icon):has(.addon-root-button) .sppb-row > div { padding-inline: 14px; }

/* ---------- Pulsanti ---------- */
.sp-page-builder .sppb-btn,
.sp-page-builder a.sppb-btn,
.sp-page-builder .sppb-modal-selector.sppb-btn {
  background: var(--bordeaux) !important; color: var(--ivory) !important;
  border: 1px solid var(--gold) !important; border-radius: 2px !important;
  font-family: var(--font-sans) !important; font-size: .82rem !important; font-weight: 700 !important;
  letter-spacing: .14em !important; text-transform: uppercase !important;
  padding: .95em 2.1em !important; box-shadow: 0 10px 22px -14px rgba(46,10,12,.8) !important;
}
.sp-page-builder .sppb-btn:hover, .sp-page-builder .sppb-btn:focus-visible {
  background: var(--gold-metal) !important; color: var(--bordeaux-ink) !important; border-color: var(--gold-light) !important;
}

/* ---------- Contatori (concerti, cerimonie...) ---------- */
.sp-page-builder .sppb-animated-number {
  font-family: var(--font-serif) !important; font-weight: 600 !important; font-size: clamp(3rem, 2rem + 3vw, 4.5rem) !important;
  background: var(--gold-metal); -webkit-background-clip: text; background-clip: text; color: transparent !important;
  line-height: 1.05 !important;
}
.sp-page-builder .sppb-animated-number-title {
  font-family: var(--font-sans) !important; font-size: .82rem !important; font-weight: 700 !important;
  letter-spacing: .2em !important; text-transform: uppercase !important; color: var(--gold-bright) !important; margin-top: .4rem;
}

/* ---------- Accordion ("I nostri progetti") ---------- */
.sp-page-builder .sppb-panel-group .sppb-panel {
  border: 1px solid var(--line) !important; border-left: 3px solid var(--gold) !important; border-radius: 3px !important;
  background: #fff !important; margin-bottom: .8rem !important; box-shadow: 0 10px 24px -20px rgba(46,10,12,.5);
}
.sp-page-builder .sppb-panel-heading {
  background: transparent !important; color: var(--bordeaux-ink) !important; padding: 1rem 1.3rem !important; border: 0 !important;
}
.sp-page-builder .sppb-panel-heading .sppb-panel-title, .sp-page-builder .sppb-panel-heading * {
  font-family: var(--font-serif) !important; font-size: 1.35rem !important; font-weight: 600 !important; color: var(--bordeaux-ink) !important;
}
.sp-page-builder .sppb-panel-heading.active, .sp-page-builder .sppb-panel-heading[aria-expanded="true"] { background: var(--parchment) !important; }
.sp-page-builder .sppb-panel-body { color: var(--ink) !important; padding: .3rem 1.3rem 1.2rem !important; border: 0 !important; }

/* ---------- Loghi partner e riconoscimenti ---------- */
.sp-page-builder .sppb-section:has(.addon-root-image):has(.addon-root-heading) .addon-root-image .sppb-addon-single-image-container {
  background: #fff; border: 1px solid var(--line); border-radius: 4px; padding: 18px; display: inline-block;
  box-shadow: 0 12px 30px -24px rgba(46,10,12,.5); transition: transform .3s;
}
.sp-page-builder .sppb-section:has(.addon-root-image):has(.addon-root-heading) .addon-root-image .sppb-addon-single-image-container:hover { transform: translateY(-3px); }
.sp-page-builder .addon-root-modal .sppb-modal-selector img,
.sp-page-builder .sppb-addon-person .sppb-person-image img,
.is-builder .sp-page-builder .addon-root-image img[src*="/images/20"],
.is-builder .sp-page-builder .addon-root-image img[src*="/images/foto"] {
  border: 1px solid var(--gold); padding: 6px; background: #fff; box-shadow: 0 16px 34px -22px rgba(46,10,12,.6);
}

/* ---------- Testimonianze ---------- */
.sp-page-builder .addon-root-testimonial-carousel { max-width: 860px; margin: 0 auto; }
.sp-page-builder .addon-root-testimonial-carousel :is(.sppb-testimonial-message, .sppb-testimonial-pro-message, .sppb-carousel-extended-content, p) {
  font-family: var(--font-serif) !important; font-style: italic !important; font-size: clamp(1.25rem, 1.05rem + .8vw, 1.6rem) !important;
  line-height: 1.5 !important; color: var(--ivory) !important;
}
.sp-page-builder .addon-root-testimonial-carousel::before {
  content: "\201C"; display: block; text-align: center; font-family: var(--font-serif); font-size: 7rem; line-height: .6;
  background: var(--gold-metal); -webkit-background-clip: text; background-clip: text; color: transparent; margin-bottom: .6rem;
}
.sp-page-builder .addon-root-testimonial-carousel :is(strong, .sppb-testimonial-client, .sppb-addon-testimonial-pro-client-name, h4, h5) {
  color: var(--gold-light) !important; font-family: var(--font-sans) !important; font-style: normal !important;
  letter-spacing: .14em; text-transform: uppercase; font-size: .85rem !important;
}
.sp-page-builder .addon-root-testimonial-carousel :is(.sppb-carousel-indicators li, .owl-dot span, button[class*="dot"]) { background: var(--gold) !important; }

/* ---------- Slideshow iniziale ---------- */
.sp-page-builder .sp-slider .sp-item::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(46,10,12,.15) 0%, rgba(46,10,12,0) 35%, rgba(46,10,12,.65) 100%);
}
.sp-page-builder .sp-slider .sp-item :is(h1,h2,h3,.sppb-slideshow-fullwidth-title,[class*="title"]) {
  font-family: var(--font-serif) !important; color: var(--ivory) !important; text-shadow: 0 2px 18px rgba(0,0,0,.45) !important; position: relative; z-index: 2;
}
.sp-page-builder .sp-slider .sp-item :is(p,[class*="subtitle"]) { position: relative; z-index: 2; }
.sp-page-builder .sp-slider .sp-dots li, .sp-page-builder .sp-slider .sp-dots ul li span { background: rgba(251,248,242,.5) !important; border-color: transparent !important; }
.sp-page-builder .sp-slider .sp-dots li.active, .sp-page-builder .sp-slider .sp-dots li.active span { background: var(--gold-light) !important; }

/* ---------- Video ---------- */
.sp-page-builder .sppb-addon-video .sppb-video-block, .sp-page-builder .sppb-addon-video iframe {
  border: 1px solid var(--gold); padding: 5px; background: #fff; box-shadow: 0 16px 34px -24px rgba(46,10,12,.6);
}

/* ---------- Pagine interne: un'intestazione elegante per il primo titolo ---------- */
.is-builder:not(.is-home) .sp-page-builder .page-content > .sppb-section:first-child { padding-top: 64px !important; }

/* ---------- Mobile ---------- */
@media (max-width: 767.98px) {
  .sp-page-builder .sppb-section { padding-top: 40px; padding-bottom: 40px; }
  .sp-page-builder .sppb-icon .sppb-icon-container, .sp-page-builder .sppb-addon-feature .sppb-icon-container { width: 78px !important; height: 78px !important; }
  .sp-page-builder .addon-root-testimonial-carousel::before { font-size: 5rem; }
}

/* ==========================================================================
   v1.2 — Area riservata e rifiniture (provate dal vivo)
   ========================================================================== */

/* Link più leggeri; nei titoli nessuna sottolineatura */
main a { text-decoration-thickness: 1px !important; text-decoration-color: rgba(201,161,59,.55) !important; }
.sp-page-builder .sppb-addon-text-block a { font-weight: 600 !important; }
:is(h1,h2,h3,h4) a, .page-header a { text-decoration: none !important; color: inherit !important; }

/* Cornici grigie impostate per-blocco in SP Page Builder (riquadri feature) */
.sp-page-builder .addon-root-feature > [id^="sppb-addon-"] {
  background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; height: 100%;
}
.sp-page-builder .sppb-column:has(.addon-root-feature),
.sp-page-builder .sppb-column:has(.addon-root-animated-heading) { background-color: transparent !important; border-color: transparent !important; box-shadow: none !important; }
.sp-page-builder .sppb-addon-feature .sppb-icon,
.sp-page-builder .sppb-addon-feature .sppb-icon-container { margin-bottom: 1.1rem !important; }
.sp-page-builder .sppb-addon-feature .sppb-feature-box-title { font-size: 1.5rem !important; margin-bottom: .4rem !important; }

/* Avvisi (es. "Nuovi spartiti", Requiem) */
.sp-page-builder .sppb-alert {
  background: var(--parchment) !important; color: var(--ink) !important;
  border: 1px solid var(--line) !important; border-left: 3px solid var(--gold) !important; border-radius: 4px !important;
}
.sp-page-builder .sppb-alert * { color: var(--ink) !important; }
.sp-page-builder .sppb-alert a { color: var(--bordeaux) !important; }

/* Comunicazioni a scorrimento (data + titolo) */
.sp-page-builder .sppb-articles-scroller-link {
  display: block !important; background: #fff !important; border: 1px solid var(--line) !important; border-top: 3px solid var(--gold) !important;
  border-radius: 4px; overflow: hidden; text-decoration: none !important; box-shadow: 0 18px 40px -28px rgba(46,10,12,.45);
}
.sp-page-builder .sppb-articles-scroller-date-left-date-container { display: flex !important; align-items: stretch; background: #fff !important; height: auto !important; }
.sp-page-builder .sppb-articles-scroller-date-left-date { background: var(--bordeaux) !important; display: flex; align-items: center; justify-content: center; min-width: 96px; padding: 1rem !important; }
.sp-page-builder .sppb-articles-scroller-date-left-date * { background: transparent !important; color: var(--gold-bright) !important; font-family: var(--font-serif) !important; border: 0 !important; }
.sp-page-builder .sppb-articles-scroller-day { font-size: 2.4rem !important; font-weight: 600 !important; line-height: 1 !important; display: block; text-align: center; }
.sp-page-builder .sppb-articles-scroller-month { font-family: var(--font-sans) !important; font-size: .75rem !important; letter-spacing: .2em; text-transform: uppercase; display: block; text-align: center; margin-top: .3rem; }
.sp-page-builder .sppb-articles-scroller-date-left-content { background: #fff !important; padding: 1.1rem 1.4rem !important; flex: 1; }
.sp-page-builder .sppb-addon-articles-scroller-title, .sp-page-builder .sppb-addon-articles-scroller-title * {
  color: var(--bordeaux-ink) !important; font-family: var(--font-serif) !important; font-size: 1.45rem !important; font-weight: 600 !important;
  line-height: 1.2 !important; text-decoration: none !important; margin-bottom: .4rem;
}
.sp-page-builder .sppb-articles-scroller-introtext, .sp-page-builder .sppb-articles-scroller-introtext * {
  color: var(--ink-soft) !important; font-family: var(--font-sans) !important; font-size: 1rem !important; font-weight: 400 !important; text-decoration: none !important;
}

/* Titolo animato ("Accesso alle prove/lezioni on line") */
.sp-page-builder .addon-root-animated-heading * { background-color: transparent !important; }
.sp-page-builder .addon-root-animated-heading .animated-text { color: var(--bordeaux) !important; font-style: italic; }
.sp-page-builder .addon-root-animated-heading [class*="cursor"] { border-color: var(--gold) !important; }

/* Pulsante "Modifica la pagina" (visibile solo agli amministratori) */
.sp-page-builder .sp-pagebuilder-page-edit, .sp-page-builder [class*="page-edit"] a {
  background: transparent !important; color: var(--ink-soft) !important; border: 1px solid var(--line) !important; font-size: .8rem !important;
}

/* v1.2.1 — Link leggibili anche su fondi scuri */
.sp-page-builder .sppb-section:has(> .sppb-row-overlay) a,
.sp-page-builder .sppb-row-have-ext-bg a,
.sp-page-builder .addon-root-testimonial-carousel a,
.sp-page-builder .sp-slider a:not(.sppb-btn),
.sp-page-builder .sppb-section:has(> .sppb-row-overlay) .sppb-addon-text-block a {
  color: var(--gold-bright) !important; text-decoration-color: rgba(245,226,166,.6) !important;
}
.sp-page-builder .sppb-section:has(> .sppb-row-overlay) a:hover,
.sp-page-builder .sppb-row-have-ext-bg a:hover { color: #fff !important; }

/* v1.3 — Icone personalizzate "mozart"/"nuovo" (i file del font sono andati persi):
   ricostruite dalle immagini in images/icone e colorate in bordeaux */
.sp-page-builder i.icon-accademia,
.sp-page-builder i.icon-icona-capodanno,
.sp-page-builder i.icon-mozart-1-svg {
  display: inline-block !important; width: 1.7em; height: 1.7em; vertical-align: middle; margin-right: .55em;
  background: center / contain no-repeat;
  filter: brightness(0) saturate(100%) invert(12%) sepia(45%) saturate(4200%) hue-rotate(340deg) brightness(88%) contrast(95%);
}
.sp-page-builder i.icon-accademia::before,
.sp-page-builder i.icon-icona-capodanno::before,
.sp-page-builder i.icon-mozart-1-svg::before { content: none !important; }
.sp-page-builder i.icon-accademia { background-image: url("/images/icone/accademia.png"); }
.sp-page-builder i.icon-icona-capodanno { background-image: url("/images/icone/icona-capodanno.png"); }
.sp-page-builder i.icon-mozart-1-svg { background-image: url("/images/icone/mozart-1-svg.png"); }

/* v1.3.1 — Sfondo della sezione Testimonianze (la foto originale "foto-coro.jpg" non esiste più) */
.sp-page-builder .page-content #section-id-M7-OxeSR7y5eFh9dTbwvE,
.sp-page-builder .page-content #section-id-M7-OxeSR7y5eFh9dTbwvE.sppb-element-loaded {
  background-image: url("/images/sfondi/spartito-nonno.png") !important;
  background-position: center !important; background-size: cover !important; background-attachment: scroll !important;
}

/* v1.4 — Copertine dei video (il lettore YouTube si carica al clic) */
.schola-video {
  position: absolute; inset: 0; width: 100%; height: 100%; border: 0; padding: 0; cursor: pointer;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .8rem;
  background-color: var(--bordeaux-ink); background-size: cover; background-position: center;
  background-image: radial-gradient(circle at 30% 20%, rgba(201,161,59,.22), transparent 60%), linear-gradient(160deg, var(--bordeaux), var(--bordeaux-ink));
  color: var(--ivory); text-align: center; font: inherit; overflow: hidden;
}
.schola-video.has-thumb::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(46,10,12,.25), rgba(46,10,12,.75)); }
.schola-video > * { position: relative; z-index: 1; }
.schola-video__play {
  display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%;
  background: var(--gold-metal); color: var(--bordeaux-ink);
  box-shadow: 0 0 0 6px rgba(251,248,242,.18), 0 12px 30px -10px rgba(0,0,0,.6); transition: transform .25s ease;
}
.schola-video__play svg { margin-left: 4px; }
.schola-video:hover .schola-video__play, .schola-video:focus-visible .schola-video__play { transform: scale(1.08); }
.schola-video__title { font-family: var(--font-serif); font-size: 1.35rem; font-weight: 600; line-height: 1.2; padding: 0 1.2rem; text-shadow: 0 2px 10px rgba(0,0,0,.5); }
.schola-video__note { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-light); opacity: .85; }
.sppb-video-block:has(.schola-video), .sppb-video-block.schola-played {
  position: relative !important; aspect-ratio: 16 / 9; height: auto !important; padding: 0 !important; overflow: hidden;
  border: 1px solid var(--gold); box-shadow: 0 16px 34px -24px rgba(46,10,12,.6);
}
.sppb-video-block.schola-played iframe { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; border: 0 !important; padding: 0 !important; }

/* v1.4 — Rifiniture home (provate dal vivo) */
.sp-page-builder span[style*="font-family"], .sp-page-builder font { font-family: inherit !important; }
.sp-page-builder .sppb-btn, .sp-page-builder a.sppb-btn { text-decoration: none !important; }

/* Icone segnaposto nella sezione numeri: logo Font Awesome -> edificio istituzionale; Impero Galattico -> maschere del teatro */
.sp-page-builder i.fa-font-awesome, .sp-page-builder i.fa-ge { font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important; }
.sp-page-builder i.fa-font-awesome::before { content: "\f66f" !important; }
.sp-page-builder i.fa-ge::before { content: "\f630" !important; }
#section-id-SI6HYTJDpvw3ZWcPvO2MO .sppb-icon-inner i { color: var(--gold-bright) !important; }

/* "Canta con NOI": scheda in stile, testo non giustificato */
#section-id-1629272628191 .sppb-column {
  background: #fff !important; border: 1px solid var(--line) !important; border-top: 3px solid var(--gold) !important;
  border-radius: 4px !important; box-shadow: 0 18px 40px -28px rgba(46,10,12,.45) !important;
}
#section-id-1629272628191 .sppb-addon-text-block, #section-id-1629272628191 .sppb-addon-text-block * { text-align: left !important; hyphens: auto; }

/* Loghi dei partner: riquadri uniformi */
#section-id-OGDaqbkqUjg3mA3H8dc4h .addon-root-image .sppb-addon-single-image-container {
  display: flex !important; align-items: center; justify-content: center; width: 100%; max-width: 300px; height: 160px; margin: 0 auto 18px; padding: 20px !important;
}
#section-id-OGDaqbkqUjg3mA3H8dc4h .addon-root-image img { max-height: 110px !important; max-width: 100% !important; width: auto !important; height: auto !important; object-fit: contain; }

/* v1.5.1 — Niente "salti" al caricamento: lo slideshow a tutto schermo occupa subito il suo spazio
   (prima veniva dimensionato da uno script dopo che la pagina era già apparsa) */
.sp-page-builder .sp-slider[data-height-xs="full"] { min-height: 100vh; min-height: 100svh; }
@media (min-width: 576px) { .sp-page-builder .sp-slider[data-height-sm="full"] { min-height: 100vh; min-height: 100svh; } }
.sp-page-builder .sp-slider:not(:has(.sp-slider-outer-stage)) { background: var(--bordeaux-ink); }

/* v1.5.2 — Banner dei cookie di iubenda nei colori del sito e più compatto sul telefono.
   iubenda scrive i suoi colori in linea con priorità massima: lo sfondo si copre con un'ombra interna.
   Rifiuta e Accetta restano identici per evidenza (linee guida del Garante). */
html body #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-container {
  background: var(--bordeaux-ink) !important; border-top: 3px solid var(--gold) !important; box-shadow: 0 -12px 30px -12px rgba(0,0,0,.45) !important;
}
html body #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-container .iubenda-cs-content {
  background: var(--bordeaux-ink) !important; box-shadow: inset 0 0 0 2000px var(--bordeaux-ink) !important; font-family: var(--font-sans) !important;
}
html body #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-content #iubenda-cs-title {
  font-family: var(--font-serif) !important; font-size: 1.15rem !important; font-weight: 600 !important; line-height: 1.2 !important;
  color: var(--gold-bright) !important; box-shadow: inset 0 0 0 200px var(--bordeaux-ink) !important;
}
html body #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-content #iubenda-cs-paragraph,
html body #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-content #iubenda-cs-paragraph * {
  color: rgba(251,248,242,.9) !important; font-size: 12.5px !important; line-height: 1.45 !important; font-family: var(--font-sans) !important;
}
html body #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-content #iubenda-cs-paragraph a { color: var(--gold-light) !important; text-decoration: underline !important; }
html body #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-opt-group button.iubenda-cs-reject-btn,
html body #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-opt-group button.iubenda-cs-accept-btn {
  background: var(--bordeaux) !important; color: var(--ivory) !important; border: 1px solid var(--gold) !important; border-radius: 2px !important;
  font-family: var(--font-sans) !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; font-size: 12px !important; opacity: 1 !important;
}
html body #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-opt-group button.iubenda-cs-customize-btn {
  background: transparent !important; color: var(--gold-light) !important; border: 0 !important; text-decoration: underline !important; font-size: 12px !important; font-family: var(--font-sans) !important;
}
html body #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-rationale::before { height: 0 !important; }
@media (max-width: 767.98px) {
  html body #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-content #iubenda-cs-paragraph { max-height: 6.2em !important; overflow-y: auto !important; padding-right: 4px !important; }
  html body #iubenda-cs-banner.iubenda-cs-default .iubenda-banner-content { padding-top: 12px !important; padding-bottom: 4px !important; }
  html body #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-opt-group { margin-top: 6px !important; padding-bottom: 10px !important; }
}

/* v1.5.3 — Pagina di login: icona "Accedi con una passkey" a misura e pulsanti dei moduli Joomla */
.plg_system_webauthn_login_button { display: inline-flex !important; align-items: center; justify-content: center; gap: .6em; }
.plg_system_webauthn_login_button svg { width: 1.35em !important; height: 1.35em !important; flex: none; fill: currentColor; }
.input-password-toggle { min-width: 2.75rem; }
.com-users-login .btn-secondary, .com-users .btn-secondary { --bs-btn-color: var(--bordeaux); --bs-btn-bg: #fff; --bs-btn-border-color: var(--line); --bs-btn-hover-bg: var(--parchment); --bs-btn-hover-color: var(--bordeaux); --bs-btn-hover-border-color: var(--gold); }
.com-users-login { max-width: 480px; margin-inline: auto; }
