/*
Theme Name: Cilento's
Theme URI: https://cilentos.com
Author: Design Intelligence
Description: Restyling Cilento's — Child theme Divi. Palette terracotta/salvia, Playfair Display + DM Sans.
Template: Divi
Version: 2.0.0
Text Domain: cilentos-child
*/

/* ═══════════════════════════════════════════════
   1. CUSTOM PROPERTIES
   ═══════════════════════════════════════════════ */
:root {
  --cil-primary: #C96B3C;
  --cil-primary-dark: #A8532A;
  --cil-secondary: #7A9B5A;
  --cil-accent: #4A5C3A;
  --cil-bg: #FBF8F2;
  --cil-surface: #FFFFFF;
  --cil-sand: #EDE4D3;
  --cil-sage-light: #E8EDDD;
  --cil-warm-light: #F5DCC8;
  --cil-text: #2C2A25;
  --cil-muted: #6B6760;
  --cil-border: #D6CDC4;
  --cil-dark-bg: #2A241C;

  --cil-font-heading: 'Playfair Display', Georgia, serif;
  --cil-font-body: 'DM Sans', -apple-system, sans-serif;

  --cil-radius-card: 20px;
  --cil-radius-btn: 50px;

  --cil-shadow-card: 0 2px 12px rgba(120,80,40,0.08);
  --cil-shadow-card-hover: 0 8px 24px rgba(120,80,40,0.14);
}


/* ═══════════════════════════════════════════════
   2. BASE / RESET
   ═══════════════════════════════════════════════ */
body,
body.et-tb #page-container,
body #page-container {
  background-color: var(--cil-bg) !important;
  color: var(--cil-text) !important;
  font-family: var(--cil-font-body) !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

/* Container width gestito da Divi — no override */


/* ═══════════════════════════════════════════════
   3. TYPOGRAPHY — gerarchia uniforme
   ═══════════════════════════════════════════════ */
body #page-container h1,
body #page-container h2,
body #page-container h3,
body #page-container h4,
body #page-container h5 {
  font-family: var(--cil-font-heading) !important;
  color: var(--cil-text) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}

body #page-container h1 { font-size: 2.5rem !important; }
body #page-container h2 { font-size: 2rem !important; }
body #page-container h3 { font-size: 1.75rem !important; }
body #page-container h4 { font-size: 1.25rem !important; }

/* Titoli di sezione — tutti uguali indipendentemente dal tag */
body #page-container .et_pb_section > .et_pb_row .et_pb_text_inner > h1:first-child,
body #page-container .et_pb_section > .et_pb_row .et_pb_text_inner > h2:first-child,
body #page-container .et_pb_section > .et_pb_row .et_pb_text_inner > h3:first-child {
  font-size: 2.25rem !important;
  line-height: 1.25 !important;
  margin-bottom: 16px !important;
}

body #page-container p,
body #page-container .post-content p,
body #page-container .et_pb_text_inner p,
body #page-container .et_pb_post_content p {
  font-family: var(--cil-font-body) !important;
  color: var(--cil-muted) !important;
  font-size: 1rem !important;
  line-height: 1.75 !important;
}

/* Card excerpt — leggermente piu piccolo */
body #page-container .et_pb_blog_grid .et_pb_post .post-content p {
  font-size: 0.9375rem !important;
  line-height: 1.6 !important;
}

body #page-container a {
  color: var(--cil-primary) !important;
  text-decoration: none !important;
}

body #page-container a:hover {
  color: var(--cil-primary-dark) !important;
}


/* ═══════════════════════════════════════════════
   4. HEADER
   ═══════════════════════════════════════════════ */
#main-header {
  background: rgba(251,248,242,0.95) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: 0 1px 0 var(--cil-border) !important;
  position: fixed !important;
  width: 100% !important;
  z-index: 9999 !important;
}

#main-header .container {
  max-width: 1400px !important;
  margin: 0 auto !important;
}

#et-top-navigation .et-cart-info span::before,
#top-menu li a {
  font-family: var(--cil-font-body) !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: var(--cil-text) !important;
}

#top-menu li a:hover {
  color: var(--cil-primary) !important;
}

/* Mobile menu — icona hamburger e riga */
.mobile_menu_bar::before,
.mobile_menu_bar::after {
  color: var(--cil-text) !important;
}

.et_mobile_menu {
  background: var(--cil-bg) !important;
  border-top: 3px solid var(--cil-primary) !important;
}

.et_mobile_menu li a {
  font-family: var(--cil-font-body) !important;
  color: var(--cil-text) !important;
  border-bottom: 1px solid var(--cil-border) !important;
  font-size: 0.9375rem !important;
  padding: 12px 0 !important;
}

.et_mobile_menu li a:hover {
  color: var(--cil-primary) !important;
}

/* Override accent color Divi blu su tutto il sito */
#main-header .et_search_form_container input,
.et_search_form_container input {
  border-color: var(--cil-border) !important;
}

.et_search_form_container input:focus {
  border-color: var(--cil-primary) !important;
}

/* CTA header */
#top-menu > li:last-child > a {
  background: var(--cil-primary) !important;
  color: var(--cil-surface) !important;
  padding: 10px 28px !important;
  border-radius: var(--cil-radius-btn) !important;
  transition: background 0.3s ease !important;
}

#top-menu > li:last-child > a:hover {
  background: var(--cil-primary-dark) !important;
  color: var(--cil-surface) !important;
}


/* ═══════════════════════════════════════════════
   5. HERO (fullwidth header parallax)
   ═══════════════════════════════════════════════ */
/* Hero section (wrapper esterno con parallax) */
body #page-container .et_pb_fullwidth_section {
  position: relative !important;
}

/* Overlay scuro sulla SECTION — copre tutta l'immagine parallax */
body #page-container .et_pb_fullwidth_section::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: linear-gradient(180deg, rgba(42,36,28,0.45) 0%, rgba(42,36,28,0.65) 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Contenuto hero sopra l'overlay */
body #page-container .et_pb_fullwidth_section .et_pb_fullwidth_header {
  position: relative !important;
  z-index: 2 !important;
}

/* Rimuovi gradient di Divi dal fullwidth_header */
body #page-container .et_pb_fullwidth_header {
  background-image: none !important;
  background-color: transparent !important;
}

/* Hero homepage — grande */
body.home .et_pb_fullwidth_section {
  min-height: 85vh !important;
}
body.home .et_pb_fullwidth_header {
  min-height: 85vh !important;
  display: flex !important;
  align-items: center !important;
}

/* Hero pagine interne — altezza uniforme + centramento verticale */
body:not(.home) .et_pb_fullwidth_section {
  min-height: 50vh !important;
  max-height: 50vh !important;
  overflow: hidden !important;
}
body:not(.home) .et_pb_fullwidth_header {
  min-height: 50vh !important;
  height: 50vh !important;
  max-height: 50vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body:not(.home) .et_pb_fullwidth_header .et_pb_fullwidth_header_container {
  justify-content: center !important;
  align-items: center !important;
}

/* Interlinea sottotitolo hero — più compatta */
body #page-container .et_pb_fullwidth_header p,
body #page-container .et_pb_fullwidth_header .et_pb_fullwidth_header_subhead {
  line-height: 1.5 !important;
}

.et_pb_fullwidth_header .header-content {
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.et_pb_fullwidth_header h1,
body #page-container .et_pb_fullwidth_header h1,
body #page-container .et_pb_fullwidth_header h2,
body #page-container .et_pb_fullwidth_header .header-content h1 {
  font-size: clamp(2.5rem, 5vw, 4rem) !important;
  color: #FFFFFF !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
}

/* Titolo hero pagine interne — leggermente piu piccolo */
body:not(.home) #page-container .et_pb_fullwidth_header h1 {
  font-size: clamp(2rem, 4vw, 3rem) !important;
}

.et_pb_fullwidth_header .et_pb_header_content_wrapper .et_pb_fullwidth_header_subhead,
body #page-container .et_pb_fullwidth_header p,
body #page-container .et_pb_fullwidth_section .et_pb_fullwidth_header .header-content h3,
body #page-container .et_pb_fullwidth_section .et_pb_fullwidth_header .et_pb_header_content_wrapper h3,
body #page-container .et_pb_fullwidth_section .et_pb_fullwidth_header .header-content h3 em,
body #page-container .et_pb_fullwidth_section .et_pb_fullwidth_header h3 {
  font-family: var(--cil-font-heading) !important;
  font-style: italic !important;
  font-size: clamp(1.125rem, 2vw, 1.5rem) !important;
  color: #FFFFFF !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.35) !important;
}

/* Hero CTA buttons */
.et_pb_fullwidth_header .et_pb_button_one {
  background: var(--cil-primary) !important;
  color: var(--cil-surface) !important;
  border: none !important;
  border-radius: var(--cil-radius-btn) !important;
  padding: 14px 36px !important;
  font-family: var(--cil-font-body) !important;
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
  letter-spacing: 0.04em !important;
}

.et_pb_fullwidth_header .et_pb_button_one:hover {
  background: var(--cil-primary-dark) !important;
}

.et_pb_fullwidth_header .et_pb_button_two {
  background: transparent !important;
  color: var(--cil-surface) !important;
  border: 2px solid rgba(255,255,255,0.6) !important;
  border-radius: var(--cil-radius-btn) !important;
  padding: 12px 36px !important;
  font-family: var(--cil-font-body) !important;
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
}

.et_pb_fullwidth_header .et_pb_button_two:hover {
  border-color: var(--cil-surface) !important;
  background: rgba(255,255,255,0.1) !important;
}


/* ═══════════════════════════════════════════════
   6. SECTION SPACING & BG
   ═══════════════════════════════════════════════ */
body #page-container .et_pb_section {
  padding: 80px 0 !important;
}

/* Hero fullwidth section — no padding, full bleed */
body #page-container .et_pb_fullwidth_section {
  padding: 0 !important;
  overflow: hidden !important;
}

/* Section titles */
body #page-container .et_pb_section > .et_pb_row > .et_pb_column > .et_pb_text h2,
body #page-container .et_pb_section > .et_pb_row > .et_pb_column > .et_pb_text h3 {
  text-align: center !important;
}


/* ═══════════════════════════════════════════════
   7. CARD GRID — Blog Grid Divi
   ═══════════════════════════════════════════════ */

/* Override Salvattore masonry → CSS Grid */
body #page-container .et_pb_blog_grid .et_pb_salvattore_content {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px !important;
  margin-top: 16px !important;
}

/* Hide original column wrappers — let posts be direct grid children */
body #page-container .et_pb_blog_grid .et_pb_salvattore_content > .column {
  display: contents !important;
}

/* Card */
body #page-container .et_pb_blog_grid .et_pb_post {
  display: flex !important;
  flex-direction: column !important;
  background: var(--cil-surface) !important;
  border-radius: var(--cil-radius-card) !important;
  overflow: hidden !important;
  box-shadow: var(--cil-shadow-card) !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease !important;
  border: none !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

body #page-container .et_pb_blog_grid .et_pb_post:hover {
  box-shadow: var(--cil-shadow-card-hover) !important;
  transform: translateY(-4px) !important;
}

/* Card image */
body #page-container .et_pb_blog_grid .et_pb_post .et_pb_image_container {
  overflow: hidden !important;
  border-radius: 0 !important;
  flex-shrink: 0 !important;
  margin-bottom: 0 !important;
}

body #page-container .et_pb_blog_grid .et_pb_post .entry-featured-image-url {
  margin-bottom: 0 !important;
  display: block !important;
}

body #page-container .et_pb_blog_grid .et_pb_post .et_pb_image_container img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
}

body #page-container .et_pb_blog_grid .et_pb_post:hover .et_pb_image_container img {
  transform: scale(1.05) !important;
}

/* Card title — max 2 righe */
body #page-container .et_pb_blog_grid .et_pb_post h2.entry-title {
  font-size: 1.125rem !important;
  line-height: 1.35 !important;
  padding: 24px 24px 0 24px !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: calc(1.125rem * 1.35 * 2) !important;
}

body #page-container .et_pb_blog_grid .et_pb_post h2.entry-title a {
  color: var(--cil-text) !important;
}

body #page-container .et_pb_blog_grid .et_pb_post h2.entry-title a:hover {
  color: var(--cil-primary) !important;
}

/* Card content — stesso padding laterale del titolo */
body #page-container .et_pb_blog_grid .et_pb_post .post-content {
  padding: 12px 24px 24px 24px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

body #page-container .et_pb_blog_grid .et_pb_post .post-content p {
  margin-bottom: 12px !important;
  flex: 1 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Card meta (date) — hide */
body #page-container .et_pb_blog_grid .et_pb_post .post-meta {
  display: none !important;
}

/* Card "leggi tutto" link — dentro .post-content che ha gia padding */
body #page-container .et_pb_blog_grid .et_pb_post a.more-link {
  font-family: var(--cil-font-body) !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: var(--cil-primary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 0 0 0 0 !important;
  margin-top: auto !important;
  display: block !important;
}

body #page-container .et_pb_blog_grid .et_pb_post a.more-link:hover {
  color: var(--cil-primary-dark) !important;
}

/* Responsive grid */
@media (max-width: 980px) {
  body #page-container .et_pb_blog_grid .et_pb_salvattore_content {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }
}

@media (max-width: 767px) {
  body #page-container .et_pb_blog_grid .et_pb_salvattore_content {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

/* Responsive — colonne Divi stackano su tablet/mobile */
@media (max-width: 980px) {
  /* Row: forza flex-direction column per impilare */
  body #page-container .et_pb_row,
  body #page-container .et_pb_row_inner,
  body.et-pb #page-container .et_pb_row,
  #page-container .et_pb_row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Colonne: tutte full-width */
  body #page-container .et_pb_column,
  body #page-container .et_pb_row .et_pb_column,
  body #page-container .et_pb_column_1_2,
  body #page-container .et_pb_column_1_3,
  body #page-container .et_pb_column_2_3,
  body #page-container .et_pb_column_1_4,
  body #page-container .et_pb_column_3_4,
  #page-container .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 30px !important;
    float: none !important;
    flex: 0 0 100% !important;
  }
  body #page-container .et_pb_row .et_pb_column:last-child {
    margin-bottom: 0 !important;
  }
  /* Immagini e video responsive */
  body #page-container .et_pb_image img,
  body #page-container .et_pb_video_box,
  body #page-container .fluid-width-video-wrapper,
  body #page-container iframe {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Form contatti full-width */
  body #page-container .et_pb_contact_form_container {
    width: 100% !important;
  }
  /* Testo allineato a sinistra su mobile */
  body #page-container .et_pb_text,
  body #page-container .et_pb_cta {
    text-align: left !important;
  }
  /* Margini laterali uniformi 40px — come footer, ovunque */
  body #page-container .et_pb_row,
  body #page-container .et_pb_row_inner,
  body #page-container .et_pb_section > .et_pb_row,
  body #page-container #left-area,
  body #page-container .container,
  body #page-container .et_pb_fullwidth_header .header-content {
    padding-left: 40px !important;
    padding-right: 40px !important;
    box-sizing: border-box !important;
  }
  /* Header mobile — stessi margini del footer */
  body #main-header .container,
  body #main-header .container.clearfix {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 600px) {
  body #page-container .et_pb_section {
    padding: 40px 0 !important;
  }
  body #page-container .et_pb_row {
    padding: 0 40px !important;
  }
  /* Hero mobile — titolo più piccolo */
  body #page-container .et_pb_fullwidth_header h1 {
    font-size: 2rem !important;
  }
  body #page-container .et_pb_fullwidth_header p {
    font-size: 1rem !important;
  }
  /* Card grid 1 colonna */
  body #page-container .et_pb_blog_grid .et_pb_post {
    margin-bottom: 20px !important;
  }
}


/* ═══════════════════════════════════════════════
   8. BUTTONS (generic Divi)
   ═══════════════════════════════════════════════ */
body #page-container .et_pb_button {
  font-family: var(--cil-font-body) !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.04em !important;
  border-radius: var(--cil-radius-btn) !important;
  padding: 12px 32px !important;
  transition: all 0.3s ease !important;
  color: var(--cil-primary) !important;
  border-color: var(--cil-primary) !important;
}

body #page-container .et_pb_button:hover {
  background: var(--cil-primary) !important;
  color: var(--cil-surface) !important;
  border-color: var(--cil-primary) !important;
}

body #page-container .et_pb_button:after {
  display: none !important;
}

/* Bottoni con sfondo pieno (CTA, dark bg) — forza terracotta */
body #page-container .et_pb_bg_layout_dark .et_pb_button,
body #page-container .et_pb_cta .et_pb_button {
  background-color: var(--cil-primary) !important;
  background: var(--cil-primary) !important;
  color: var(--cil-surface) !important;
  border: none !important;
}

body #page-container .et_pb_bg_layout_dark .et_pb_button:hover,
body #page-container .et_pb_cta .et_pb_button:hover {
  background-color: var(--cil-primary-dark) !important;
  background: var(--cil-primary-dark) !important;
}

/* Bottoni outline — hover mantiene border-radius */
body #page-container .et_pb_button:hover {
  border-radius: var(--cil-radius-btn) !important;
}


/* ═══════════════════════════════════════════════
   9. FOOTER
   ═══════════════════════════════════════════════ */
#main-footer {
  background: var(--cil-dark-bg) !important;
}

#main-footer,
#main-footer p,
#main-footer a,
#footer-info {
  font-family: var(--cil-font-body) !important;
  color: rgba(255,255,255,0.7) !important;
  font-size: 0.875rem !important;
}

#main-footer a:hover {
  color: var(--cil-primary) !important;
}

#footer-bottom {
  background: rgba(0,0,0,0.2) !important;
}

/* Footer custom Cilento's */
#cilentos-footer {
  background: var(--cil-dark-bg);
  color: rgba(255,255,255,0.8);
  padding: 60px 0 0;
  font-family: var(--cil-font-body);
}

#cilentos-footer .cilentos-footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 40px;
}

#cilentos-footer .cilentos-footer__logo {
  margin-bottom: 16px;
  filter: brightness(1.2);
}

#cilentos-footer .cilentos-footer__tagline {
  font-family: var(--cil-font-heading);
  font-style: italic;
  font-size: 0.9375rem;
  color: rgba(255,255,255,0.6);
  line-height: 1.5;
}

#cilentos-footer h4 {
  font-family: var(--cil-font-heading);
  font-size: 1.125rem;
  font-weight: 500;
  color: #FFFFFF;
  margin-bottom: 16px;
}

#cilentos-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#cilentos-footer ul li {
  margin-bottom: 8px;
}

#cilentos-footer ul li a {
  color: rgba(255,255,255,0.7);
  text-decoration: none;
  font-size: 0.9375rem;
  transition: color 0.2s ease;
}

#cilentos-footer ul li a:hover {
  color: var(--cil-primary);
}

#cilentos-footer .cilentos-footer__contact p {
  color: rgba(255,255,255,0.7);
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 8px;
}

#cilentos-footer .cilentos-footer__contact a {
  color: rgba(255,255,255,0.7);
  text-decoration: none;
}

#cilentos-footer .cilentos-footer__contact a:hover {
  color: var(--cil-primary);
}

#cilentos-footer .cilentos-footer__social-icons {
  display: flex;
  gap: 16px;
}

#cilentos-footer .cilentos-footer__social-icons a {
  color: rgba(255,255,255,0.6);
  transition: color 0.2s ease;
}

#cilentos-footer .cilentos-footer__social-icons a:hover {
  color: var(--cil-primary);
}

#cilentos-footer .cilentos-footer__bottom {
  margin-top: 40px;
  padding: 20px 40px;
  border-top: 1px solid rgba(255,255,255,0.1);
  text-align: center;
}

#cilentos-footer .cilentos-footer__bottom p {
  color: rgba(255,255,255,0.4);
  font-size: 0.8125rem;
  margin: 0;
}

/* Link legal nel footer bottom */
#cilentos-footer .cilentos-footer__bottom a {
  color: rgba(255,255,255,0.5);
  text-decoration: none;
}

#cilentos-footer .cilentos-footer__bottom a:hover {
  color: rgba(255,255,255,0.8);
}

/* Nascondi footer Divi default — usiamo il footer custom */
#main-footer {
  display: none !important;
}

/* Responsive footer — stesso breakpoint del contenuto */
@media (max-width: 980px) {
  #cilentos-footer .cilentos-footer__inner {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}

@media (max-width: 767px) {
  #cilentos-footer .cilentos-footer__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}


/* ═══════════════════════════════════════════════
   10. SINGLE POST
   ═══════════════════════════════════════════════ */

/* Rimuovi colori custom Divi vecchi (verdino ecc.) e alterna crema/bianco */
body.single-post #page-container .et_pb_section {
  background-image: none !important;
}

/* Sezioni pari: crema (sfondo base) */
body.single-post #page-container .et_pb_section:nth-child(odd) {
  background-color: var(--cil-bg) !important;
}

/* Sezioni dispari: bianco */
body.single-post #page-container .et_pb_section:nth-child(even) {
  background-color: var(--cil-surface) !important;
}

/* Padding sezioni post — piu compatto che le pagine principali */
body.single-post #page-container .et_pb_section {
  padding: 48px 0 !important;
}

/* ── TIPOGRAFIA POST — Scala gerarchica chiara ── */

/* Titolo articolo (entry-title, fuori dal builder) */
body.single-post .entry-title {
  font-family: var(--cil-font-heading) !important;
  font-size: clamp(2rem, 4vw, 2.75rem) !important;
  font-weight: 500 !important;
  color: var(--cil-text) !important;
  line-height: 1.2 !important;
  margin-bottom: 8px !important;
}

/* H1 nel builder — titolo principale */
body.single-post #page-container h1 {
  font-family: var(--cil-font-heading) !important;
  font-size: clamp(1.75rem, 3.5vw, 2.5rem) !important;
  font-weight: 500 !important;
  color: var(--cil-text) !important;
  line-height: 1.2 !important;
  margin-bottom: 16px !important;
}

/* H2 — sottotitolo sezione (selettori ultra-specifici per battere Divi) */
body.single-post #page-container .et_pb_text h2,
body.single-post #page-container .et_pb_text_inner h2,
body.single-post #page-container .et_pb_module h2,
body.single-post #page-container .et_pb_post_content h2,
body.single-post #page-container #main-content h2 {
  font-family: var(--cil-font-heading) !important;
  font-size: clamp(1.5rem, 3vw, 2rem) !important;
  font-weight: 500 !important;
  color: var(--cil-text) !important;
  line-height: 1.25 !important;
  margin-top: 32px !important;
  margin-bottom: 12px !important;
}

/* H3 — sotto-sottotitolo */
body.single-post #page-container .et_pb_text h3,
body.single-post #page-container .et_pb_text_inner h3,
body.single-post #page-container .et_pb_module h3,
body.single-post #page-container .et_pb_post_content h3,
body.single-post #page-container #main-content h3 {
  font-family: var(--cil-font-heading) !important;
  font-size: clamp(1.25rem, 2.5vw, 1.5rem) !important;
  font-weight: 500 !important;
  font-style: italic !important;
  color: var(--cil-text) !important;
  line-height: 1.3 !important;
  margin-top: 24px !important;
  margin-bottom: 10px !important;
}

/* H4 — etichetta / domanda */
body.single-post #page-container .et_pb_text h4,
body.single-post #page-container .et_pb_text_inner h4,
body.single-post #page-container .et_pb_module h4,
body.single-post #page-container #main-content h4 {
  font-family: var(--cil-font-heading) !important;
  font-size: clamp(1.125rem, 2vw, 1.25rem) !important;
  font-weight: 600 !important;
  font-style: italic !important;
  color: var(--cil-text) !important;
  line-height: 1.35 !important;
  margin-top: 20px !important;
  margin-bottom: 8px !important;
}

/* Paragrafi — body text: peso 400, colore text (non muted) */
body.single-post #page-container p,
body.single-post .et_pb_post_content p,
body.single-post .et_pb_text p,
body.single-post .et_pb_cta_description p,
body.single-post .et_pb_promo_description p {
  font-family: var(--cil-font-body) !important;
  font-size: 1.0625rem !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  color: var(--cil-text) !important;
}

/* Liste */
body.single-post #page-container li {
  font-family: var(--cil-font-body) !important;
  font-size: 1.0625rem !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  color: var(--cil-text) !important;
  margin-bottom: 6px !important;
}

/* Meta post (data, autore) — muted e piccolo */
body.single-post .post-meta,
body.single-post .et_post_meta_wrapper .post-meta {
  font-family: var(--cil-font-body) !important;
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
  color: var(--cil-muted) !important;
  margin-bottom: 24px !important;
}

/* CTA usati come blocchi testo — rimuovi stile bottone */
body.single-post .et_pb_promo {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  text-align: left !important;
}

body.single-post .et_pb_promo .et_pb_promo_button {
  display: none !important;
}

/* Immagini nei post */
body.single-post .et_pb_post_content img,
body.single-post .et_pb_image img,
body.single-post .et_pb_gallery img {
  border-radius: 12px !important;
  margin: 16px 0 !important;
}

/* Divider Divi — sostituisci col colore terracotta */
body.single-post .et_pb_space,
body.single-post .et_pb_divider {
  border-color: var(--cil-primary) !important;
}
body.single-post .et_pb_divider .et_pb_divider_internal {
  border-color: var(--cil-primary) !important;
}

/* Immagini articoli blog — border-radius come il resto del sito */
body.single-post .entry-content img,
body.single-post .et_pb_post_content img,
body.single-post #left-area img,
body.single-post .wp-post-image {
  border-radius: var(--cil-radius-card) !important;
}

/* Gallery Divi — griglia pulita */
body.single-post .et_pb_gallery .et_pb_gallery_items {
  gap: 12px !important;
}

body.single-post .et_pb_gallery .et_pb_gallery_image img {
  border-radius: 8px !important;
}

/* Titoli/caption gallery — piccoli e discreti (selettore ultra-specifico) */
body.single-post #page-container .et_pb_module.et_pb_gallery .et_pb_gallery_item h3.et_pb_gallery_title,
body.single-post #page-container #main-content .et_pb_gallery h3.et_pb_gallery_title,
body #page-container .et_pb_gallery h3.et_pb_gallery_title {
  font-size: 0.8125rem !important;
  font-family: var(--cil-font-body) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  color: var(--cil-muted) !important;
  margin-top: 6px !important;
  line-height: 1.3 !important;
}

/* Link nel contenuto */
body.single-post .et_pb_post_content a,
body.single-post .et_pb_text a,
body.single-post .et_pb_cta a {
  color: var(--cil-primary) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

body.single-post .et_pb_post_content a:hover,
body.single-post .et_pb_text a:hover {
  color: var(--cil-primary-dark) !important;
}

/* Meta post (data, autore) */
body.single-post .et_post_meta_wrapper .post-meta {
  font-family: var(--cil-font-body) !important;
  color: var(--cil-muted) !important;
  font-size: 0.875rem !important;
}

/* Navigazione post precedente/successivo */
body.single-post .et_pb_post_nav {
  margin-top: 48px !important;
  padding-top: 24px !important;
  border-top: 1px solid var(--cil-border) !important;
}


/* ═══════════════════════════════════════════════
   10b. BLURB ICONS (sezione contatti)
   ═══════════════════════════════════════════════ */
body #page-container .et_pb_blurb .et-pb-icon {
  font-size: 20px !important;
  color: var(--cil-primary) !important;
}

body #page-container .et_pb_blurb .et_pb_main_blurb_image {
  margin-bottom: 0 !important;
}

/* ═══════════════════════════════════════════════
   11. FORMS (contact section)
   ═══════════════════════════════════════════════ */
body #page-container .et_pb_contact_form .input,
body #page-container .et_pb_contact_form textarea {
  font-family: var(--cil-font-body) !important;
  border: 1px solid var(--cil-border) !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  background: var(--cil-surface) !important;
  font-size: 0.9375rem !important;
}

body #page-container .et_pb_contact_form .input:focus,
body #page-container .et_pb_contact_form textarea:focus {
  border-color: var(--cil-primary) !important;
  box-shadow: 0 0 0 3px rgba(201,107,60,0.12) !important;
  outline: none !important;
}

/* Checkbox privacy — visibile e stilizzato */
body #page-container .et_pb_contact_field_checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

/* Nasconde checkbox nativo — Divi usa il <i> custom dentro la label */
body #page-container .et_pb_contact_field_checkbox input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

/* Stilizza il checkbox custom Divi <i> */
body #page-container .et_pb_contact_field_checkbox label i {
  display: inline-block !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  border: 2px solid var(--cil-border) !important;
  border-radius: 4px !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  background: var(--cil-surface) !important;
  transition: all 0.2s ease !important;
}

/* Checkbox checked — terracotta con spunta bianca */
body #page-container .et_pb_contact_field_checkbox input[type="checkbox"]:checked + label i,
body #page-container .et_pb_contact_field_checkbox .input_checked + label i {
  background: var(--cil-primary) !important;
  border-color: var(--cil-primary) !important;
  color: #FFFFFF !important;
}

body #page-container .et_pb_contact_field_checkbox label i::before,
body #page-container .et_pb_contact_field_checkbox label i::after {
  color: #FFFFFF !important;
}

body #page-container .et_pb_contact_field_checkbox label,
body #page-container .et_pb_contact_field_checkbox .et_pb_contact_field_checkbox_label {
  color: var(--cil-text) !important;
  font-family: var(--cil-font-body) !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
}

/* Titolo "Privacy Policy" */
body #page-container .et_pb_contact_field_options_title {
  font-family: var(--cil-font-body) !important;
  font-weight: 600 !important;
  color: var(--cil-text) !important;
  font-size: 0.9375rem !important;
  margin-bottom: 8px !important;
}

/* Bottone Invia — terracotta, non blu Divi */
body #page-container .et_pb_contact_submit,
body #page-container .et_contact_bottom_container .et_pb_button {
  background: var(--cil-primary) !important;
  color: var(--cil-surface) !important;
  border: 2px solid var(--cil-primary) !important;
  border-radius: var(--cil-radius-btn) !important;
  padding: 14px 36px !important;
  font-family: var(--cil-font-body) !important;
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
  letter-spacing: 0.04em !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

body #page-container .et_pb_contact_submit:hover,
body #page-container .et_contact_bottom_container .et_pb_button:hover {
  background: var(--cil-primary-dark) !important;
  border-color: var(--cil-primary-dark) !important;
}


/* ═══════════════════════════════════════════════
   12. OVERRIDE COMPLETO COLORI DIVI
   ═══════════════════════════════════════════════ */

/* --- A. BLU DIVI #2ea3f2 → TERRACOTTA (28+ occorrenze nei CSS dinamici) --- */

/* Links, accenti, focus states */
body #page-container .et-search-form input:focus,
body #page-container .et_overlay:before,
body #page-container .entry-summary a:hover,
body #page-container #et_search_icon:hover,
body #page-container .et_pb_sum,
body #page-container .et_pb_pricing li a,
body #page-container .et_pb_pricing_table_button,
body #page-container .comment-reply-link,
body #page-container .form-submit .et_pb_button,
body #page-container .et_pb_widget a:hover,
body #page-container .et_pb_filterable_portfolio .et_pb_portfolio_filters li a.active,
body #page-container .et_pb_tabs_controls li.et_pb_tab_active a,
body #page-container .et_pb_bg_layout_light .et_pb_more_button,
body #page-container .et_pb_toggle_title:hover,
body #page-container .et_pb_member_social_links a:hover,
body #page-container .et_pb_contact_submit,
body #page-container .woocommerce a.button,
body #page-container .et_pb_arrow_prev:hover,
body #page-container .et_pb_arrow_next:hover {
  color: var(--cil-primary) !important;
}

/* Focus/active borders — blu → terracotta */
body #page-container .et-search-form input:focus,
body #page-container input:focus,
body #page-container textarea:focus,
body #page-container select:focus {
  border-color: var(--cil-primary) !important;
  outline-color: var(--cil-primary) !important;
}

/* Backgrounds blu → terracotta */
body #page-container .et_pb_newsletter_button,
body #page-container .et_pb_promo_button,
body #page-container .woocommerce button.button.alt {
  background-color: var(--cil-primary) !important;
}

/* --- B. GRIGI FREDDI → GRIGI CALDI (brief) --- */

/* #666 → grigio caldo muted */
body #page-container .et_pb_module p,
body #page-container .et_pb_text p,
body #page-container .et_pb_post_content p,
body #page-container .entry-content p {
  color: var(--cil-text) !important;
}

/* #333 → carbone */
body #page-container h1, body #page-container h2,
body #page-container h3, body #page-container h4,
body #page-container h5, body #page-container h6 {
  color: var(--cil-text) !important;
}

/* #999, #bbb — meta info, date, categorie */
body #page-container .et_pb_post_meta,
body #page-container .post-meta,
body #page-container .published {
  color: var(--cil-muted) !important;
}

/* --- C. VERDE #15c39a (16 post inline) e #6eba01 → TERRACOTTA --- */
body #page-container .et_pb_button[style*="background-color:#15c39a"],
body #page-container .et_pb_button[style*="background-color: #15c39a"],
body #page-container .et_pb_button[style*="background:#15c39a"],
body #page-container .et_pb_button[style*="#6eba01"],
body #page-container .et_pb_button[style*="#7cda24"],
body #page-container .et_pb_cta[style*="#6eba01"] .et_pb_button,
body #page-container .et_pb_cta[style*="#15c39a"] .et_pb_button {
  background-color: var(--cil-primary) !important;
  background: var(--cil-primary) !important;
  border-color: var(--cil-primary) !important;
  color: var(--cil-surface) !important;
}

/* --- D. GRADIENT VIOLA/BLU sulle hero (28 post) → SCURO CALDO --- */
body #page-container .et_pb_fullwidth_header[style*="rgba(58,52,226"],
body #page-container .et_pb_fullwidth_header[style*="rgba(73,108,220"] {
  background-image: none !important;
}

/* --- E. LINK HOVER nel contenuto --- */
body #page-container .et_pb_text a:hover,
body #page-container .et_pb_post_content a:hover,
body #page-container .entry-content a:hover,
body #page-container .et_pb_blog_grid .et_pb_post h2 a:hover,
body #page-container .et_pb_blog_grid .more-link:hover {
  color: var(--cil-primary-dark) !important;
}

/* --- F. CHECKBOX/RADIO spunta — bianca, no blu --- */
body #page-container .et_pb_contact_field_checkbox label i,
body #page-container .et_pb_contact_field_radio label i {
  color: #FFFFFF !important;
}
body #page-container .et_pb_contact_field_checkbox label i::before,
body #page-container .et_pb_contact_field_checkbox label i::after,
body #page-container .et_pb_contact_field_radio label i::before,
body #page-container .et_pb_contact_field_radio label i::after {
  color: #FFFFFF !important;
}

/* --- G. MOBILE MENU icona e ricerca — no blu --- */
body .mobile_nav .mobile_menu_bar:before,
body .mobile_nav .mobile_menu_bar:after,
body #page-container .mobile_menu_bar:before,
body #page-container .mobile_menu_bar:after,
body #et_mobile_nav_menu .mobile_nav,
.mobile_menu_bar:before,
.mobile_menu_bar:after {
  color: var(--cil-text) !important;
}

/* Menu active/current — no blu */
#top-menu li.current-menu-ancestor > a,
#top-menu li.current-menu-item > a,
body #page-container #top-menu li.current-menu-ancestor > a,
body #page-container #top-menu li.current-menu-item > a {
  color: var(--cil-primary) !important;
}

/* Nav dropdown/mobile border — no blu */
.nav li ul,
.et_mobile_menu,
body #page-container .nav li ul,
body #page-container .et_mobile_menu {
  border-color: var(--cil-primary) !important;
}

/* Sidebar widget links — no blu */
#sidebar .et_pb_widget a,
body #page-container #sidebar a {
  color: var(--cil-primary) !important;
}

/* Pagination — no blu */
body #page-container .pagination a,
body #page-container .wp-pagenavi a {
  color: var(--cil-primary) !important;
}
body #page-container .pagination a:hover,
body #page-container .wp-pagenavi a:hover {
  background: var(--cil-primary) !important;
  color: var(--cil-surface) !important;
}

/* --- H. SELECTION highlight --- */
::selection {
  background: var(--cil-primary) !important;
  color: var(--cil-surface) !important;
}

/* Nascondi sezioni Divi vuote (senza moduli) nei post */
body.single-post #page-container .et_pb_section:not(:has(.et_pb_module)) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
}

/* Main content sfondo crema come il resto del sito */
#main-content,
body #page-container #main-content,
body #page-container #et-main-area {
  background-color: var(--cil-bg) !important;
}

/* Riduci spazio tra ultimo contenuto e footer nei post */
body.single-post #page-container #et-main-area,
body.single-post #page-container #main-content {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

body.single-post #page-container #left-area {
  padding-bottom: 0 !important;
}

body.single-post #page-container #left-area > article {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.single-post #page-container .et_pb_section:last-of-type {
  padding-bottom: 24px !important;
  margin-bottom: 0 !important;
}

/* Spazio bianco sotto contenuto anche sulle pagine */
body.page #page-container #et-main-area,
body.page #page-container #main-content {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

body.page #page-container .et_pb_section:last-of-type {
  margin-bottom: 0 !important;
}

/* Fallback animazioni Divi — la classe viene aggiunta via JS dopo 2s se l'animazione non parte */
body #page-container .cil-anim-fallback {
  opacity: 1 !important;
  transition: opacity 0.6s ease !important;
}

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Selection */
::selection {
  background: var(--cil-warm-light);
  color: var(--cil-text);
}

/* Hide pagination solo sulla homepage — non sulle altre pagine/blog */
body.home #page-container .et_pb_blog_grid .pagination,
body.home #page-container .et_pb_blog_grid .pagination.clearfix {
  display: none !important;
}

/* Pagination visibile — spazio sopra per staccare dalle card */
body #page-container .et_pb_blog_grid .pagination.clearfix {
  margin-top: 40px !important;
  padding-top: 24px !important;
  border-top: 1px solid var(--cil-border) !important;
}

body #page-container .et_pb_blog_grid .pagination a {
  color: var(--cil-primary) !important;
  font-family: var(--cil-font-body) !important;
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
}

/* Sezione Contattaci — sfondo diverso (targetta la sezione che contiene il form) */
body #page-container .et_pb_section:has(.et_pb_contact_form) {
  background: var(--cil-surface) !important;
}

/* Hide Divi admin bar extras */
#et-boc .et-l .et_pb_section,
body.et-fb .section_has_divider {
  border: none !important;
}

/* Images general */
body #page-container .et_pb_image img {
  border-radius: 12px !important;
}

/* ── Sezione 1: Cilento da scoprire / Discovering Cilento ── */
body #page-container .et_pb_section_1 {
  background: var(--cil-surface) !important;
}

body #page-container .et_pb_section_1 .et_pb_text_0 h2 {
  font-size: 2.25rem !important;
  margin-bottom: 24px !important;
  text-align: left !important;
}

body #page-container .et_pb_row_0 {
  display: flex !important;
  align-items: center !important;
  gap: 48px !important;
}

/* Video YouTube embed — globale */
body #page-container .et_pb_code iframe,
body #page-container .et_pb_code .fluid-width-video-wrapper {
  border-radius: 16px !important;
  overflow: hidden !important;
}

body #page-container .et_pb_section_1 .et_pb_text_1 p {
  font-style: italic !important;
  font-size: 0.9375rem !important;
  color: var(--cil-muted) !important;
  margin-top: 12px !important;
}

/* ── Sezione 2: Il Cilento interno (fascia sabbia) ── */
body #page-container .et_pb_section_2 {
  background: var(--cil-sand) !important;
}

body #page-container .et_pb_row_1 {
  display: flex !important;
  align-items: center !important;
  gap: 48px !important;
}

body #page-container .et_pb_section_2 .et_pb_text_2 h2,
body #page-container .et_pb_section_2 .et_pb_text_2 h3 {
  font-style: italic !important;
  font-size: 2rem !important;
  line-height: 1.3 !important;
  color: var(--cil-text) !important;
  margin-bottom: 24px !important;
}

body #page-container .et_pb_section_2 .et_pb_code iframe,
body #page-container .et_pb_section_2 .et_pb_code .fluid-width-video-wrapper {
  border-radius: 16px !important;
  overflow: hidden !important;
}

/* ── Sezione 4: Storie (sabbia) ── */
body #page-container .et_pb_section_4 {
  background: var(--cil-sand) !important;
}

/* Testo descrittivo col destra — segue dimensione base */
