/* =================================================================
   BARBARA BERGONZONI — CSS COMPLETO PROPRIO TEMPLATE
   Palette: nero caldo #1A1110 · oro #C9A96E · crema #FAF8F5
   ================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=EB+Garamond:ital,wght@0,400;0,500;1,400&display=swap');

/* ===== RESET DI BASE ===== */
* {
  box-sizing: border-box;
}

body {
  background: #FAF8F5 !important;
  padding: 0 !important;
  margin: 0 !important;
  font: 16px/1.8 'EB Garamond', Palatino, Georgia, serif !important;
  color: #1A1110;
}

a:link, a:visited {
  text-decoration: none !important;
  color: #C9A96E !important;
  transition: color 0.25s ease;
}

a:hover {
  color: #8B6914 !important;
  text-decoration: none !important;
}

h1 {
  font: normal 42px/1.3 'Cormorant Garamond', Georgia, serif !important;
  letter-spacing: 1px;
  color: #1A1110;
}

h2 {
  font: 500 26px/1.3 'Cormorant Garamond', Georgia, serif !important;
  color: #C9A96E;
  text-transform: uppercase;
  letter-spacing: 2px;
}

p {
  font: 16px/1.85 'EB Garamond', Palatino, Georgia, serif !important;
  color: #3A3634;
}

/* ===== CONTAINER — layout a colonna unica, responsive ===== */
#container {
  margin: 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
  display: flex;
  flex-direction: column;
}

/* ===== HEADER — nome piccolo ed elegante, non il vecchio h1 grosso ===== */
#header {
  padding: 14px 40px !important;
  background: #1A1110;
  text-align: center;
}

#header h1,
#header a {
  padding: 0 !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  line-height: 1.3em !important;
  color: #FAF8F5 !important;
  text-align: center !important;
}

#header a:hover {
  color: #C9A96E !important;
}

/* ===== NAVIGATION — barra orizzontale in alto, sottile e di lusso ===== */
#navigation {
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
  background: #1A1110;
  border-top: 1px solid rgba(201, 169, 110, 0.2);
  border-bottom: 1px solid rgba(201, 169, 110, 0.2);
  text-align: center;
}

ul.mainNav1,
ul.mainNav2,
ul.mainNav3 {
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

ul.mainNav1 li,
ul.mainNav2 li,
ul.mainNav3 li {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
}

ul.mainNav1 li a,
ul.mainNav2 li a,
ul.mainNav3 li a {
  font: 500 11px/1.4 'EB Garamond', Georgia, serif !important;
  text-decoration: none !important;
  display: block !important;
  color: #E8D5A3 !important;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border-bottom: none !important;
  padding: 12px 16px !important;
  transition: color 0.25s ease, background-color 0.25s ease;
}

ul.mainNav1 li a:hover,
ul.mainNav2 li a:hover,
ul.mainNav3 li a:hover {
  background: rgba(201, 169, 110, 0.08) !important;
  color: #C9A96E !important;
}

ul.mainNav1 a.current,
ul.mainNav2 a.current {
  font-weight: 700 !important;
  color: #C9A96E !important;
  border-bottom: 1px solid #C9A96E !important;
}

/* ===== SIDEBAR — nascosta se non usata; rimuovi questa regola se ci metti contenuti ===== */
#sidebar {
  display: none;
}

/* ===== CONTENT — colonna centrale leggibile, non più a due colonne fisse ===== */
#content {
  float: none !important;
  width: 100% !important;
  max-width: 880px !important;
  margin: 0 auto !important;
  padding: 60px 24px !important;
  background: transparent !important;
}

/* ===== BOX GENERICI DI LUSSO (per card/box dentro il contenuto) ===== */
.box-elegante {
  background: #FFFFFF;
  border: 1px solid #E8D5A3;
  box-shadow: 0 4px 20px rgba(26, 17, 16, 0.06);
  padding: 32px;
  margin-bottom: 24px;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.box-elegante:hover {
  border-color: #C9A96E;
  box-shadow: 0 6px 28px rgba(201, 169, 110, 0.15);
}

.box-scuro {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(201, 169, 110, 0.3);
  box-shadow: 0 4px 24px rgba(201, 169, 110, 0.06);
  padding: 32px;
  margin-bottom: 24px;
}

/* ===== BOTTONI ===== */
.btn-oro {
  display: inline-block;
  background: #C9A96E !important;
  color: #1A1110 !important;
  font: 500 13px/1 'EB Garamond', Georgia, serif !important;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none !important;
  padding: 15px 36px;
  border: none;
  transition: background-color 0.25s ease;
}

.btn-oro:hover {
  background: #E8D5A3 !important;
  color: #1A1110 !important;
}

/* ===== FOOTER — scuro, elegante, con divisori dorati ===== */
#footer {
  clear: both !important;
  margin-top: 0 !important;
  background: #1A1110 !important;
  background-image: none !important;
  height: auto !important;
  padding: 70px 24px 40px !important;
}

#footer .gutter {
  height: auto !important;
  padding: 0 !important;
  max-width: 960px;
  margin: 0 auto;
}

#footer,
#footer p {
  font: 14px/1.8 'EB Garamond', Georgia, serif !important;
  color: #D8D2C8 !important;
}

#footer h2,
#footer h3 {
  font: 500 14px/1.4 'EB Garamond', Georgia, serif !important;
  color: #C9A96E !important;
  letter-spacing: 2px;
  text-transform: uppercase;
}

#footer a {
  color: #C9A96E !important;
}

#footer a:hover {
  color: #FAF8F5 !important;
}

#footer hr,
.footer-divider {
  border: none;
  height: 1px;
  background: rgba(201, 169, 110, 0.25);
  margin: 30px 0;
}

/* ===== FIX: testo dei bottoni oro deve restare scuro, non oro-su-oro ===== */
a.btn-oro, a.btn-oro:link, a.btn-oro:visited, a.btn-oro:hover,
a.btn-oro span {
  color: #1A1110 !important;
}

/* ===== CORREZIONE FONT DENTRO I BOX FAQ/ACCORDION ===== */
summary, details, .ans, .esempio p {
  font-family: 'EB Garamond', Palatino, Georgia, serif !important;
}

summary {
  font-weight: 500 !important;
}

/* ===== RESPONSIVE — MOBILE ===== */
@media (max-width: 767px) {
  #header {
    padding: 18px 20px !important;
  }

  #header h1,
  #header a {
    font-size: 18px !important;
    letter-spacing: 2px;
  }

  ul.mainNav1 li a,
  ul.mainNav2 li a,
  ul.mainNav3 li a {
    font-size: 11px !important;
    padding: 14px 12px !important;
  }

  h1 {
    font-size: 30px !important;
  }

  h2 {
    font-size: 21px !important;
  }

  #content {
    padding: 40px 18px !important;
  }

  .box-elegante,
  .box-scuro {
    padding: 22px !important;
  }

  #footer {
    padding: 50px 18px 30px !important;
  }
}