/* =================================================================
   BARBARA BERGONZONI — CSS COMPLETO PROPRIO TEMPLATE (REVISIONATO)
   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: 18px/1.85 '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;
}

/* ===== GERARCHIA TIPOGRAFICA FISSA — stessa su tutte le pagine ===== */
h1 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 40px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}

h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

h3 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 19px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.4 !important;
}

h4 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

p {
  font-family: 'EB Garamond', Palatino, Georgia, serif;
  font-size: 18px;
  line-height: 1.9;
}

/* ===== 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 ===== */
#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 ===== */
#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 ===== */
#sidebar {
  display: none;
}

/* ===== CONTENT — colonna centrale leggibile ===== */
#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 ===== */
.box-elegante {
  background: #FFFFFF;
  border: 1px solid #E8D5A3;
  box-shadow: 0 6px 28px rgba(26, 17, 16, 0.08);
  padding: 32px;
  margin-bottom: 24px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.box-elegante:hover {
  border-color: #C9A96E;
  box-shadow: 0 14px 40px rgba(201, 169, 110, 0.18);
  transform: translateY(-2px);
}

.box-scuro {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(201, 169, 110, 0.3);
  box-shadow: 0 6px 30px rgba(201, 169, 110, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.03);
  padding: 32px;
  margin-bottom: 24px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.box-scuro:hover {
  border-color: rgba(201, 169, 110, 0.6);
  box-shadow: 0 16px 44px rgba(201, 169, 110, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  transform: translateY(-2px);
}

/* ===== IMMAGINI ANATOMICHE — alone dorato discreto ===== */
img[alt*="anatomica"] {
  filter: drop-shadow(0 0 24px rgba(201, 169, 110, 0.22));
  transition: filter 0.4s ease;
}

img[alt*="anatomica"]:hover {
  filter: drop-shadow(0 0 32px rgba(201, 169, 110, 0.35));
}

/* ===== 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 ===== */
#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 SBLOCCHI ===== */
a.btn-oro, a.btn-oro:link, a.btn-oro:visited, a.btn-oro:hover,
a.btn-oro span {
  color: #1A1110 !important;
}

summary, details, .ans, .esempio p {
  font-family: 'EB Garamond', Palatino, Georgia, serif !important;
}

summary {
  font-weight: 500 !important;
}


/* =================================================================
   BLINDATURA MOBILE RESPONSIVE REALE (Sotto i 767px)
   Smantella i vincoli rigidi di Jimdo e adatta la leggibilità
   ================================================================= */
@media (max-width: 767px) {
  
  /* ABBATTIMENTO DELLE LARGHEZZE FISSE (Incluso il .gutter del tuo HTML) */
  html, body, #container, #header, #navigation, #content, #footer, .gutter,
  .cc-page, .main, #main-content, div[id*="cc-matrix"], .cc-content-parent, .j-matrix, .j-module {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    float: none !important;
    position: relative !important;
    left: 0 !important;
    right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  body, #container {
    overflow-x: hidden !important; /* Taglia l'effetto scivolamento laterale */
    background: #FAF8F5 !important;
  }

  /* --- Header proporzionato su smartphone --- */
  #header {
    padding: 22px 15px !important;
  }

  #header h1, #header a {
    font-size: 16px !important;
    letter-spacing: 2px !important;
    display: block !important;
    text-align: center !important;
  }

  /* --- NAV MOBILE: Striscia orizzontale pulita ed elegante, non si spezza mai --- */
  #navigation {
    overflow-x: auto !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  
  #navigation::-webkit-scrollbar {
    display: none !important; /* Nasconde la barra di scorrimento brutta */
  }

  ul.mainNav1, ul.mainNav2, ul.mainNav3 {
    display: flex !important;
    flex-wrap: nowrap !important; /* Evita il crollo verticale su 3 righe */
    justify-content: flex-start !important;
    padding: 0 10px !important;
    width: max-content !important; /* Crea lo spazio necessario ai link */
  }

  ul.mainNav1 li, ul.mainNav2 li, ul.mainNav3 li {
    display: block !important;
    float: none !important;
  }

  ul.mainNav1 li a, ul.mainNav2 li a, ul.mainNav3 li a {
    font-size: 12px !important; /* Leggermente più grande per facilitare il clic */
    letter-spacing: 1px !important;
    padding: 14px 16px !important;
    white-space: nowrap !important; /* Impedisce alle singole voci di andare a capo */
  }

  #sidebar {
    display: none !important;
  }

  /* --- TIPOGRAFIA DA SMARTPHONE (Leggibilità e Forza) --- */
  h1 {
    font-size: 28px !important;
    line-height: 1.3 !important;
    letter-spacing: 1px !important;
  }

  h2 {
    font-size: 21px !important;
    line-height: 1.3 !important;
    letter-spacing: 1.5px !important;
  }
  
  h3 {
    font-size: 18px !important;
  }

  /* Il Garamond ha bisogno di corpo su schermo piccolo: forzato a 17px */
  p, .ans p, .cc-matrix p, body {
    font-size: 17px !important;
    line-height: 1.75 !important;
  }

  /* --- Area Contenuto protetta dai bordi del vetro --- */
  #content {
    padding: 40px 20px !important;
  }

  /* --- Box delle Offerte e FAQ riproporzionati --- */
  .box-elegante, .box-scuro {
    padding: 24px 20px !important;
    margin-bottom: 20px !important;
    transform: none !important; /* Evita micro-scatti dovuti alla transizione PC */
  }
  
  .box-elegante:hover, .box-scuro:hover {
    transform: none !important;
  }

  /* --- BOTTONI MOBILE: Diventano blocchi interi solidi per il pollice --- */
  .btn-oro, a[class="btn-oro"], .cc-matrix .btn-oro {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    padding: 16px 20px !important;
    font-size: 12px !important;
    float: none !important;
  }

  /* --- Scomposizione delle tabelle e colonne native di Jimdo --- */
  #content table, #content tbody, #content tr, #content td,
  #footer table, #footer tbody, #footer tr, #footer td,
  .cc-matrix table, .cc-matrix td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border: none !important;
  }

  #content td, #footer td, .cc-matrix td {
    text-align: center !important;
    padding-bottom: 24px !important;
  }

  /* --- Controllo Immagini Anatomiche --- */
  img, .cc-matrix img {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto 24px !important;
    float: none !important;
  }

  /* --- Reset completo della gabbia .gutter nel Footer --- */
  #footer {
    padding: 50px 20px 30px !important;
  }
  
  #footer .gutter {
    padding: 0 !important;
    margin: 0 auto !important;
  }
  
  #footer td {
    padding-bottom: 28px !important;
  }
}