/* Eventi IT33 / EN44, sintesi v2 del pannello. CSS additivo, nessuna modifica DOM. */
html body.page-id-33,
html body.page-id-44 {
  background: #FAF6F0 !important;
  color: #50362A;
}
html body.page-id-33 :is(.intro, .split, .perche, .wedding-faq, .tdc-retrofit-explore),
html body.page-id-44 :is(.intro, .split, .perche, .wedding-faq, .tdc-retrofit-explore) {
  background: #FAF6F0 !important;
}
html body.page-id-33 :is(.container, .intro-inner),
html body.page-id-44 :is(.container, .intro-inner) {
  width: 100%; max-width: 1280px; margin-inline: auto; padding-inline: 48px;
}
html body.page-id-33 :is(.intro, .split, .spaces, .perche, .wedding-faq, .contatti-cta),
html body.page-id-44 :is(.intro, .split, .spaces, .perche, .wedding-faq, .contatti-cta) {
  padding-block: 96px;
  scroll-margin-top: 96px;
}
html body.page-id-33 :is(.split, .perche, .wedding-faq)::before,
html body.page-id-44 :is(.split, .perche, .wedding-faq)::before {
  background: none;
}
html body.page-id-33 .section-label,
html body.page-id-44 .section-label {
  font-family: 'Libre Franklin', 'Helvetica Neue', Arial, sans-serif;
  font-size: 12px; line-height: 1.5; font-weight: 600;
  letter-spacing: .16em; color: #7A6052; margin-bottom: 16px;
}
html body.page-id-33 .section-title,
html body.page-id-44 .section-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(34px, 3.65vw, 48px); line-height: 1.18; font-weight: 500;
  letter-spacing: -.018em; color: #50362A;
  text-wrap: balance;
}
html body.page-id-33 .section-text,
html body.page-id-44 .section-text {
  font-family: 'Libre Franklin', 'Helvetica Neue', Arial, sans-serif;
  font-size: 17px; font-weight: 400; line-height: 1.8; color: #50362A;
}
/* Il sommario esistente diventa un ingresso leggibile sotto la fotografia. */
html body.page-id-33 .snippet,
html body.page-id-44 .snippet {
  padding: 32px max(48px, calc((100vw - 1120px) / 2)) 0;
  font-size: 15px; line-height: 1.75; color: #7A6052; font-weight: 400;
  background: #FAF6F0;
}
/* Apertura editoriale: titolo e testo sono colonne, con identico ordine DOM. */
html body.page-id-33 .intro-inner,
html body.page-id-44 .intro-inner {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  grid-template-rows: auto auto 1fr; column-gap: 80px; text-align: left;
}
html body.page-id-33 .intro-inner > .section-label,
html body.page-id-44 .intro-inner > .section-label { grid-column: 1; grid-row: 1; }
html body.page-id-33 .intro-inner > .section-title,
html body.page-id-44 .intro-inner > .section-title { grid-column: 1; grid-row: 2; margin-bottom: 0; }
html body.page-id-33 .intro-inner > .section-text,
html body.page-id-44 .intro-inner > .section-text { grid-column: 2; grid-row: 1 / 4; margin: 0; }
html body.page-id-33 .intro-inner > .section-divider,
html body.page-id-44 .intro-inner > .section-divider {
  grid-column: 1; grid-row: 3; margin: 32px 0 0 !important;
  width: 56px; background: #B8963E;
}
/* Capitoli fotografici alternati: rapporto e crop restano quelli del live. */
html body.page-id-33 .split-grid,
html body.page-id-44 .split-grid { gap: 64px; }
html body.page-id-33 .split-content,
html body.page-id-44 .split-content { max-width: none; min-width: 0; }
html body.page-id-33 .split-content .section-title,
html body.page-id-44 .split-content .section-title { margin-bottom: 24px; }
html body.page-id-33 .split-content .section-text,
html body.page-id-44 .split-content .section-text { margin-bottom: 24px; }
html body.page-id-33 .split-grid.reverse,
html body.page-id-44 .split-grid.reverse { align-items: center; }
html body.page-id-33 .features-list,
html body.page-id-44 .features-list { gap: 8px; }
html body.page-id-33 .features-list li,
html body.page-id-44 .features-list li {
  font-size: 15px; line-height: 1.65; color: #50362A; align-items: baseline;
}
html body.page-id-33 .features-list li::before,
html body.page-id-44 .features-list li::before { width: 4px; height: 4px; }
/* Galleria di tre ambienti, mantenendo tutte le fotografie e i loro rapporti. */
html body.page-id-33 .spaces,
html body.page-id-44 .spaces { background: #F0E8DB; }
html body.page-id-33 :is(.spaces-header, .perche-header),
html body.page-id-44 :is(.spaces-header, .perche-header) { text-align: left; margin-bottom: 48px; }
html body.page-id-33 .space-card-overlay,
html body.page-id-44 .space-card-overlay {
  padding: 32px 24px;
  /* Gradiente fotografico originale preservato dalla cascata. */
}
html body.page-id-33 .space-card-title,
html body.page-id-44 .space-card-title { color: #FAF6F0; font-size: 28px; line-height: 1.25; font-weight: 500; }
html body.page-id-33 .space-card-text,
html body.page-id-44 .space-card-text { color: #FAF6F0; font-size: 15px; line-height: 1.65; font-weight: 400; }
/* Ragioni per scegliere la Residenza: lettura sinistra, senza nuove card. */
html body.page-id-33 .perche-grid,
html body.page-id-44 .perche-grid { gap: 48px; }
html body.page-id-33 .perche-item,
html body.page-id-44 .perche-item { text-align: left; }
html body.page-id-33 .perche-icon,
html body.page-id-44 .perche-icon { margin: 0 0 16px; width: 40px; height: 40px; }
html body.page-id-33 .perche-item-title,
html body.page-id-44 .perche-item-title { font-size: 24px; line-height: 1.3; }
html body.page-id-33 .perche-item-text,
html body.page-id-44 .perche-item-text { font-size: 16px; font-weight: 400; line-height: 1.7; color: #50362A; }
/* FAQ EN: gerarchia leggibile; nessuna validazione o riscrittura del contenuto. */
html body.page-id-44 .wedding-faq > .container {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 80px;
}
html body.page-id-44 .wedding-faq-header { text-align: left; margin: 0; }
html body.page-id-44 .wedding-faq-grid { max-width: none; margin: 0; gap: 32px; }
html body.page-id-44 .wfaq-item { border: 0; padding-bottom: 16px; }
html body.page-id-44 .wfaq-q { font-size: 25px; line-height: 1.35; color: #50362A; }
html body.page-id-44 .wfaq-a { font-size: 16px; line-height: 1.8; font-weight: 400; color: #50362A; }
/* Invito conclusivo e contatti: una CTA primaria, secondaria sobria. */
html body.page-id-33 .contatti-cta,
html body.page-id-44 .contatti-cta { background: #50362A; }
html body.page-id-33 .contatti-cta .section-text,
html body.page-id-44 .contatti-cta .section-text { max-width: 640px; margin-inline: auto; color: #FAF6F0 !important; }
html body.page-id-33 .contatti-cta .section-title,
html body.page-id-44 .contatti-cta .section-title { color: #FAF6F0 !important; }
html body.page-id-33 :is(.contatti-cta .section-label, .contatti-item-label),
html body.page-id-44 :is(.contatti-cta .section-label, .contatti-item-label) { color: #D4B87A; }
html body.page-id-33 .contatti-item-label,
html body.page-id-44 .contatti-item-label { font-size: 12px; line-height: 1.5; letter-spacing: .16em; }
html body.page-id-33 .contatti-item-value,
html body.page-id-44 .contatti-item-value { font-family: 'Libre Franklin', 'Helvetica Neue', Arial, sans-serif; font-size: 16px; }
html body.page-id-33 .contatti-item-value a,
html body.page-id-44 .contatti-item-value a {
  display: inline-flex; align-items: center; min-height: 44px; max-width: 100%;
  overflow-wrap: anywhere; color: #FAF6F0 !important; text-decoration: underline; text-underline-offset: 5px;
}
html body.page-id-33 :is(.btn-gold, .btn-ghost),
html body.page-id-44 :is(.btn-gold, .btn-ghost) {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 52px; padding: 16px 32px; font-size: 12px; line-height: 1.5;
  border-radius: 4px; transition: background-color .2s, border-color .2s, color .2s;
}
html body.page-id-33 .btn-gold,
html body.page-id-44 .btn-gold { background: #B8963E; color: #2C1810 !important; }
html body.page-id-33 .btn-gold:hover,
html body.page-id-44 .btn-gold:hover { background: #D4B87A; color: #2C1810 !important; transform: none; box-shadow: none; }
html body.page-id-33 .btn-ghost:hover,
html body.page-id-44 .btn-ghost:hover { border-color: #D4B87A; color: #FAF6F0 !important; background: #2C1810; }
html body.page-id-33 :is(a, button):focus-visible,
html body.page-id-44 :is(a, button):focus-visible { outline: 2px solid #B8963E; outline-offset: 5px; }
html body.page-id-33 .contatti-cta a:focus-visible,
html body.page-id-44 .contatti-cta a:focus-visible { outline-color: #FAF6F0; }
html body.page-id-33 :is(.tdc-nav-toggle, .tdc-mobile-menu-close),
html body.page-id-44 :is(.tdc-nav-toggle, .tdc-mobile-menu-close) { min-width: 44px; min-height: 44px; }
html body.page-id-33 .tdc-retrofit-explore,
html body.page-id-44 .tdc-retrofit-explore { margin-block: 0 !important; padding: 64px 48px !important; border: 0 !important; }
html body.page-id-33 .tdc-retrofit-explore > p:first-child,
html body.page-id-44 .tdc-retrofit-explore > p:first-child { color: #7A6052 !important; }
html body.page-id-33 .tdc-retrofit-explore a,
html body.page-id-44 .tdc-retrofit-explore a { display: inline-block; min-height: 44px; padding-block: 8px; }
/* Sintesi: leggibilità sulla fotografia tramite il testo, senza cambiare i veli. */
html body.page-id-33 :is(.hero-title, .hero-title em, .hero-subtitle, .space-card-title, .space-card-text),
html body.page-id-44 :is(.hero-title, .hero-title em, .hero-subtitle, .space-card-title, .space-card-text) {
  color: #FAF6F0 !important;
  text-shadow: 0 1px 2px rgba(44,24,16,.95), 0 2px 8px rgba(44,24,16,.8), 0 0 18px rgba(44,24,16,.45);
}
html body.page-id-33 .hero-badge,
html body.page-id-44 .hero-badge {
  font-size: 12px; letter-spacing: .16em; font-weight: 600;
  text-shadow: 0 1px 2px rgba(44,24,16,.95), 0 2px 8px rgba(44,24,16,.8);
}
html body.page-id-33 .hero-subtitle,
html body.page-id-44 .hero-subtitle { font-weight: 400; line-height: 1.75; }
html body.page-id-33 .contatti-cta::before,
html body.page-id-44 .contatti-cta::before { background: none; border: 0; }
html body.page-id-33 nav.tdc-nav.tdc-scrolled,
html body.page-id-44 nav.tdc-nav.tdc-scrolled {
  background: #FAF6F0 !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  box-shadow: none !important; border-bottom: 1px solid #E2D5C3 !important;
}
html body.page-id-33 :is(.tdc-nav-cta, .tdc-mobile-cta),
html body.page-id-44 :is(.tdc-nav-cta, .tdc-mobile-cta) {
  min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
}

/* Piede e avviso cookie: leggibilita locale alla pagina Eventi. */
html body.page-id-33 :is(.tdc-footer-brand-name, .tdc-footer-nav a, .tdc-footer-contact a, .tdc-footer-contact span, .tdc-footer-copy, .tdc-footer-legal a, .tdc-footer-codes),
html body.page-id-44 :is(.tdc-footer-brand-name, .tdc-footer-nav a, .tdc-footer-contact a, .tdc-footer-contact span, .tdc-footer-copy, .tdc-footer-legal a, .tdc-footer-codes) {
  color: #FAF6F0 !important; font-weight: 400;
}
html body.page-id-33 :is(.tdc-footer-nav a, .tdc-footer-contact a, .tdc-footer-legal a),
html body.page-id-44 :is(.tdc-footer-nav a, .tdc-footer-contact a, .tdc-footer-legal a) {
  display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; line-height: 1.6;
}
html body.page-id-33 :is(.tdc-footer-copy, .tdc-footer-codes),
html body.page-id-44 :is(.tdc-footer-copy, .tdc-footer-codes) { font-size: 12px; line-height: 1.7; }
html body.page-id-33 :is(.tdc-footer-nav a, .tdc-footer-contact a, .tdc-footer-legal a):hover,
html body.page-id-44 :is(.tdc-footer-nav a, .tdc-footer-contact a, .tdc-footer-legal a):hover { color: #D4B87A !important; }
html body.page-id-33 :is(.tdc-footer-nav a, .tdc-footer-contact a, .tdc-footer-legal a):focus-visible,
html body.page-id-44 :is(.tdc-footer-nav a, .tdc-footer-contact a, .tdc-footer-legal a):focus-visible { outline-color: #FAF6F0; }
html body.page-id-33 .tdc-cb-banner__links a,
html body.page-id-44 .tdc-cb-banner__links a { color: #50362A !important; }
html body.page-id-33 .tdc-cb-banner__links a:hover,
html body.page-id-44 .tdc-cb-banner__links a:hover { color: #2C1810 !important; }
html body.page-id-33 .tdc-cb-btn--primary,
html body.page-id-44 .tdc-cb-btn--primary { color: #2C1810 !important; }
html body.page-id-33 .tdc-cb-btn--primary:hover,
html body.page-id-44 .tdc-cb-btn--primary:hover { color: #2C1810 !important; background: #D4B87A !important; }
html body.page-id-33 :is(.hero-title, .hero-title em),
html body.page-id-44 :is(.hero-title, .hero-title em) { font-weight: 500; }

@media (max-width: 1100px) {
  html body.page-id-33 .intro-inner,
  html body.page-id-44 .intro-inner,
  html body.page-id-44 .wedding-faq > .container { column-gap: 48px; }
  html body.page-id-33 .split-grid,
  html body.page-id-44 .split-grid { gap: 48px; }
}
@media (max-width: 1024px) {
  html body.page-id-33 .spaces-grid .space-card:last-child,
  html body.page-id-44 .spaces-grid .space-card:last-child { width: 100%; }
  html body.page-id-33 :is(.container, .intro-inner),
  html body.page-id-44 :is(.container, .intro-inner) { padding-inline: 32px; }
  html body.page-id-33 :is(.intro, .split, .spaces, .perche, .wedding-faq, .contatti-cta),
  html body.page-id-44 :is(.intro, .split, .spaces, .perche, .wedding-faq, .contatti-cta) { padding-block: 72px; }
}
@media (max-width: 860px) {
  html body.page-id-33 .intro-inner,
  html body.page-id-44 .intro-inner,
  html body.page-id-44 .wedding-faq > .container { display: block; }
  html body.page-id-33 .intro-inner > .section-title,
  html body.page-id-44 .intro-inner > .section-title { margin-bottom: 24px; }
  html body.page-id-44 .wedding-faq-header { margin-bottom: 40px; }
}
@media (max-width: 680px) {
  html body.page-id-33 :is(.container, .intro-inner),
  html body.page-id-44 :is(.container, .intro-inner) { padding-inline: 24px; }
  html body.page-id-33 :is(.intro, .split, .spaces, .perche, .wedding-faq, .contatti-cta),
  html body.page-id-44 :is(.intro, .split, .spaces, .perche, .wedding-faq, .contatti-cta) { padding-block: 56px; }
  html body.page-id-33 .section-title,
  html body.page-id-44 .section-title { font-size: 34px; line-height: 1.2; }
  html body.page-id-33 .section-text,
  html body.page-id-44 .section-text { font-size: 16px; line-height: 1.8; }
  html body.page-id-33 .snippet,
  html body.page-id-44 .snippet { text-align: left; padding: 28px 24px 0; }
  html body.page-id-33 .split-grid,
  html body.page-id-44 .split-grid { gap: 32px; }
  html body.page-id-33 :is(.spaces-header, .perche-header),
  html body.page-id-44 :is(.spaces-header, .perche-header) { margin-bottom: 32px; }
  html body.page-id-33 .spaces-grid,
  html body.page-id-44 .spaces-grid { gap: 24px; }
  html body.page-id-33 .space-card-overlay,
  html body.page-id-44 .space-card-overlay { padding: 24px 20px; }
  html body.page-id-33 .space-card-title,
  html body.page-id-44 .space-card-title { font-size: 25px; }
  html body.page-id-33 .space-card-text,
  html body.page-id-44 .space-card-text { font-size: 16px; line-height: 1.6; }
  html body.page-id-33 .perche-grid,
  html body.page-id-44 .perche-grid { gap: 32px; }
  html body.page-id-33 .perche-item,
  html body.page-id-44 .perche-item { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 16px; }
  html body.page-id-33 .perche-icon,
  html body.page-id-44 .perche-icon { grid-column: 1; grid-row: 1 / 3; }
  html body.page-id-33 :is(.perche-item-title, .perche-item-text),
  html body.page-id-44 :is(.perche-item-title, .perche-item-text) { grid-column: 2; }
  html body.page-id-44 .wfaq-q { font-size: 24px; }
  html body.page-id-33 .contatti-info,
  html body.page-id-44 .contatti-info { margin-top: 32px; gap: 24px; }
  html body.page-id-33 .contatti-actions,
  html body.page-id-44 .contatti-actions { margin-top: 32px; }
  html body.page-id-33 .contatti-item-value,
  html body.page-id-44 .contatti-item-value { font-size: 16px; }
  html body.page-id-33 .tdc-retrofit-explore,
  html body.page-id-44 .tdc-retrofit-explore { padding: 48px 24px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html body.page-id-33 :is(.reveal, .hero-bg img, .hero-title, .hero-badge, .hero-subtitle, .split-image img, .space-card img),
  html body.page-id-44 :is(.reveal, .hero-bg img, .hero-title, .hero-badge, .hero-subtitle, .split-image img, .space-card img) {
    animation: none !important; transition: none !important; opacity: 1 !important; transform: none !important;
  }
}
