/* Aggiunte della landing statica sopra site.css (CSS portato dalla home approvata). */

/* `hidden` deve vincere sui display dichiarati dai componenti. */
.mobile-back-to-top[hidden],
.cookie-banner[hidden],
.video-guide-play[hidden] { display: none !important; }

/* ---- Domande frequenti: <details> nativi al posto di collapsible + accordion */
.faq { padding: 32px 28px; background: #fff; color: var(--ink); scroll-margin-top: 28px; }
.faq-inner { max-width: 1160px; margin: 0 auto; border: 1px solid #d4e1ef; border-radius: 14px; overflow: hidden; }
.faq summary { list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq-overview { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; background: #f1f6fc; color: #0a2038; cursor: pointer; }
.faq-overview h2 { margin: 0; font: inherit; }
.faq-title { display: block; font-size: 24px; font-weight: 700; line-height: 1.3; letter-spacing: -.025em; }
.faq-subtitle { display: block; margin-top: 6px; color: #52657b; font-size: 15px; font-weight: 400; line-height: 1.5; letter-spacing: normal; }
.faq-overview > svg, .faq-trigger > svg { flex-shrink: 0; color: #0d5fc7; transition: transform .2s ease; }
.faq-overview > svg { width: 24px; height: 24px; }
.faq-inner[open] > .faq-overview > svg, .faq-item[open] > .faq-trigger > svg { transform: rotate(180deg); }
.faq-overview:focus-visible, .faq-trigger:focus-visible { outline: 3px solid #0d5fc7; outline-offset: -3px; }
.faq-list { border-top: 1px solid #d4e1ef; }
.faq-item { margin: 0; border-bottom: 1px solid #d4e1ef; }
.faq-item:last-child { border-bottom: 0; }
.faq-trigger { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 20px 24px; background: #fff; color: #0a2038; cursor: pointer; }
.faq-trigger h3 { margin: 0; font: inherit; font-size: 16px; font-weight: 700; line-height: 1.5; }
.faq-trigger > svg { width: 20px; height: 20px; }
.faq-trigger:hover, .faq-item[open] > .faq-trigger { background: #f1f6fc; }
.faq-answer { padding: 0 24px 22px; background: #f1f6fc; }
.faq-answer p { max-width: 860px; margin: 0; color: #3e536b; font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) { .faq-overview > svg, .faq-trigger > svg { transition: none; } }
@media (max-width: 760px) {
  .faq { padding: 24px 20px; }
  .faq-overview { padding: 18px 16px; gap: 14px; }
  .faq-title { font-size: 21px; }
  .faq-subtitle { font-size: 14px; }
  .faq-trigger { min-height: 60px; padding: 18px 16px; gap: 14px; }
  .faq-trigger h3 { font-size: 15px; }
  .faq-answer { padding: 0 16px 18px; }
  .faq-answer p { font-size: 15px; line-height: 1.7; }
}

/* ---- Calendario senza backend */
.compact-calendar .calendar-note { margin: 12px 0; color: #52657b; font-size: 15px; line-height: 1.5; }

/* ---- Footer: quarta colonna "Informazioni legali" */
@media (min-width: 761px) {
  .site-footer-main { grid-template-columns: 1.2fr 1fr 1fr 1fr; }
}

/* ---- Pagine legali */
.context-header a.context-header-label { color: inherit; text-decoration: none; }
.context-header a.context-header-label:hover { text-decoration: underline; }
.legal-page { display: block; max-width: 820px; margin: 0 auto; padding: 32px 20px 56px; color: #0a2038; line-height: 1.7; }
.legal-page h1 { margin: 0 0 4px; font-size: 34px; line-height: 1.2; letter-spacing: -.02em; }
.legal-page h2 { margin: 32px 0 8px; font-size: 21px; line-height: 1.3; }
.legal-page p, .legal-page li { font-size: 16px; color: #3e536b; }
.legal-page ul { margin: 0; padding-left: 22px; }
.legal-page li + li { margin-top: 6px; }
.legal-page a { color: #0d5fc7; }
.legal-page code { font-size: .92em; }
.legal-updated { margin: 0 0 24px; font-size: 14px !important; color: #52657b; }
@media (max-width: 760px) { .legal-page h1 { font-size: 28px; } }
