/* Generali */

.skip-link {
 position: absolute;
 left: -9999px;
 top: 4px;
 z-index: 9999;
 background: #2c200a;
 color: #e8ddd0;
 padding: 6px 14px;
 font-weight: bold;
 text-decoration: none;
 border-radius: 0 0 4px 0;
}
.skip-link:focus {
 left: 0;
}

body {
margin: 0px;
padding: 0px;
font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
font-size: 15px;
text-align: left;
color: #4a4a4a;
background: url(picss/bgcolor.jpg) repeat top left;
 }
 
 table, tr, td, p, img, a, h1 {
  margin: 0px;
  padding: 0px;
   }
 
 img {
 margin: 0px;
 padding: 0px;
 border:0px;
  }
  
 p {
 line-height: 1.7;
 text-align: left;
  }
 
 .bold {
 font-weight: bold;
  }
 
 .boldcolor {
 font-weight: bold;
 color: #990000;
  }
  
 .italic {
  font-style: italic;
   }

h1 {
color: #1e1811;
font-weight: 600;
text-align: left;
font-size: 1.35rem;
letter-spacing: 0.01em;
margin-bottom: 10px;
}

 a, a:hover {
 color: #333333;
 font-weight: bold;
 text-decoration: none;
 transition: color 0.15s ease;
  }

 a:hover {
 color: #666666;
 font-weight: bold;
 text-decoration: none;
  }
  
 fieldset {
margin: 0px;
padding: 0px;
border: 0px;
  }

/* Elementi */   
 .borderpic {
padding: 4px;
 border: solid #000000 1px;
  }
  
  .noborderpic {
 border: solid #000000 1px;
  } 

.maintext {
 text-align: left; /* niente justify: crea "fiumi" di spazi nelle colonne strette */
  }
  
.colfoto { 
width: 235px;
padding-bottom: 10px;
text-align: left;
 } 
 
 .anchormenu { 
 padding-left: 12px;
 height: 18px;
 text-align: left;
 background: url(picss/anchormenu.jpg) no-repeat top left;
  }
  
 .anchormenu a {
 font-weight: bold;
 color: #000000;
  }

/* MieSezioni */ 


  
 #sincol {
 padding: 24px 22px;
 width: 380px;
  }

   #monocol{
 padding: 26px 30px;
  }

.containermenu {
height: 18px;
}

 #dexcol{
 padding: 35px 22px 24px 22px;
  }

/* ── Layout container (sostituisce <center>) ───────────────────────────── */
.edc-container {
 margin: 0 auto;
 max-width: 704px;
}

/* ── Site header (sostituisce #maintabhead) ───────────────────────────── */
.edc-site-header {
 width: 100%;
 box-shadow: 0 8px 22px rgba(0,0,0,0.22);
}

/* ── Lightbox foto ────────────────────────────────────────────────────── */
#edc-lightbox {
 position: fixed;
 inset: 0;
 background: rgba(22,17,8,0.88);
 display: none;
 align-items: center;
 justify-content: center;
 z-index: 10000;
 cursor: zoom-out;
}
#edc-lightbox.is-open { display: flex; }
#edc-lightbox img {
 max-width: 92vw;
 max-height: 90vh;
 width: auto;
 height: auto;
 border: 5px solid #ffffff;
 border-radius: 4px;
 box-shadow: 0 24px 70px rgba(0,0,0,0.55);
}
#edc-lightbox button {
 position: absolute;
 top: 12px;
 right: 18px;
 font-size: 34px;
 line-height: 1;
 background: none;
 border: none;
 color: #ffffff;
 cursor: pointer;
 padding: 6px;
}
#edc-lightbox button:hover { color: #d9c58a; }

/* ── Top row: poggia sulla fascia dorata nativa delle immagini header ── */
.edc-top-row {
 display: flex;
 justify-content: space-between;
 align-items: center;
 width: 100%;
 height: 28px;
 box-sizing: border-box;
 padding: 0 6px;
}

.edc-date p {
 font-weight: bold;
 color: #000000;
 margin: 0;
 line-height: 1;
 text-align: left;
}

.edc-topmenu { white-space: nowrap; }

/* Pulsanti testo (sostituiscono links.jpg / contatti.jpg) */
.edc-toplink {
 display: inline-block;
 margin-right: 3px;
 padding: 2px 8px;
 color: #333333;
 font-size: 11px;
 font-weight: bold;
 text-transform: uppercase;
 letter-spacing: 0.07em;
 border: 1px solid #666666;
 text-decoration: none;
 background: rgba(255,255,255,0.72);
}
.edc-toplink:hover {
 background: rgba(255,255,255,0.95);
 color: #000000;
 font-weight: bold;
}
.edc-toplink-active {
 background: #333333;
 color: #e8ddd0;
 border-color: #333333;
 cursor: default;
}

/* ── Site footer (sostituisce #maintabfoot) ───────────────────────────── */
.edc-site-footer {
 height: 32px;
 display: flex;
 align-items: center;
}
.edc-footer-inner {
 display: flex;
 align-items: center;
 justify-content: space-between;
 width: 100%;
 height: 100%;
 gap: 8px;
 font-size: 12px;
 color: #000000;
}
.edc-footer-credits a { color: #000000; font-weight: normal; }
.edc-footer-credits a:hover { color: #333333; }
.edc-footer-photo { text-align: center; }
.edc-footer-photo a { color: #000000; font-weight: normal; }
.edc-footer-share { text-align: right; white-space: nowrap; }

/* ── Share panel ─────────────────────────────────────────────────────── */
#sharePanel {
 display: none;
 position: fixed;
 top: 50%; left: 50%;
 transform: translate(-50%,-50%);
 background: #fff;
 border: 1px solid #888;
 padding: 18px 22px;
 z-index: 9999;
 min-width: 260px;
 box-shadow: 0 4px 16px rgba(0,0,0,.25);
 font-family: Arial,sans-serif;
 font-size: 14px;
}
#sharePanel b { display: block; margin-bottom: 12px; }
#sharePanel a {
 display: block;
 margin: 8px 0;
 text-decoration: none;
 font-weight: normal;
}
#sharePanel #sh-wa { color: #25D366; }
#sharePanel #sh-fb { color: #1877F2; }
#sharePanel #sh-tw { color: #000; }
#sharePanel #sh-tg { color: #229ED9; }
#sharePanel #sh-li { color: #0A66C2; }
#sharePanel #sh-cp { color: #555; }
.edc-share-close { margin-top: 14px; font-size: 12px; color: #999; text-align: right; }

/* ── Cookie banner ───────────────────────────────────────────────────── */
#cookie-banner {
 position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999;
 background: rgba(62,51,39,.96); color: #f5f0e8;
 padding: 12px 20px;
 display: flex; align-items: center; justify-content: space-between; gap: 16px;
 font-family: Arial,Helvetica,sans-serif; font-size: 12px;
 box-shadow: 0 -2px 8px rgba(0,0,0,.30);
}
#cookie-banner p { margin: 0; line-height: 1.5; }
#cookie-banner a { color: #f5f0e8; text-decoration: underline; font-weight: bold; }
#cookie-banner button {
 background: linear-gradient(160deg,#8b5a2b,#6b4423);
 color: #f5f0e8; border: 1px solid #5a3718; border-radius: 6px;
 padding: 6px 20px; font-size: 12px; font-weight: bold;
 cursor: pointer; white-space: nowrap;
 box-shadow: 0 2px 4px rgba(0,0,0,.25);
}
#cookie-banner button:hover { background: linear-gradient(160deg,#a06830,#8b5a2b); }

#maintabbody {
width: 100%;
max-width: 704px;
border-spacing: 0;
margin-top: 0px;
 }

#backhome {
width: 100%;
max-width: 700px;
text-align: right;
 }
 
#maincontent {
width: 100%;
max-width: 700px;
min-height: 400px;
border: 1px solid rgba(0,0,0,0.30);
border-radius: 8px;
box-shadow: 0 12px 28px rgba(0,0,0,0.16), 0 2px 6px rgba(0,0,0,0.10);
overflow: hidden;
background: url(picss/colonna.jpg) #ffffff repeat-y top right;
 }

 #maincontent4 {
 border-top: solid #000000 1px;
background: url(picss/colonna.jpg) #ffffff repeat-y top right;
 }

 #maincontent2 {
width: 100%;
max-width: 700px;
min-height: 400px;
border: 1px solid rgba(0,0,0,0.30);
border-radius: 8px;
box-shadow: 0 12px 28px rgba(0,0,0,0.16), 0 2px 6px rgba(0,0,0,0.10);
overflow: hidden;
background: #ffffff;
 }

/* Le immagini header sono ritagliate (685px, senza bordi bianchi né fondo):
   conservano la fascia dorata nativa in alto, su cui poggia .edc-top-row */
#headerhome{
aspect-ratio: 685 / 382;
background: url(picss/header_home.jpg) no-repeat top left #2c200a;
background-size: 100% auto;
 }

 #headercontacts{
aspect-ratio: 685 / 382;
background: url(picss/header_contatti.jpg) no-repeat top left #2c200a;
background-size: 100% auto;
position: relative;
 }

 #headermain {
height: 148px;
background: url(picss/header_main.jpg) no-repeat top left #2c200a;
background-size: 100% auto;
position: relative;
overflow: hidden;
 }
 
 #footer {
height: 32px;
 }
#logo-link {
  position: absolute;
  top: 0; left: 0;
  width: 320px; height: 90px;
  display: block;
  z-index: 5;
  cursor: pointer;
}

/* ── Breadcrumb ────────────────────────────────────────────────────────────── */
.edc-breadcrumb {
 font-size: 0.8rem;
 padding: 5px 2px 4px;
 color: #3d3320;
 text-align: left;
}
.edc-breadcrumb a {
 color: #2c2214;
 font-weight: bold;
 text-decoration: none;
}
.edc-breadcrumb a:hover { color: #990000; }
.edc-breadcrumb .edc-bc-sep { color: #5c4f33; font-weight: normal; margin: 0 2px; }
.edc-breadcrumb span[aria-current="page"] { color: #4a3f28; font-weight: normal; }

/* ── Navigation menu ─────────────────────────────────────────────────────── */

.edc-nav-wrap {
  background: linear-gradient(180deg, #3e3327 0%, #2a2219 100%);
  border-top: 1px solid #5a4030;
  border-bottom: 2px solid #7a5a35;
  width: 100%;
  box-sizing: border-box;
}

/* Hamburger (hidden on desktop) */
.edc-nav-toggle {
  display: none;
  width: 100%;
  background: transparent;
  border: none;
  color: #e8ddd0;
  font-family: inherit;
  font-size: 11px;
  font-weight: bold;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  padding: 10px 14px;
  cursor: pointer;
  text-align: left;
}
.edc-nav-toggle:hover { color: #fff; }

/* Main list */
.edc-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: nowrap;
}

/* Top-level items — equal-width */
.edc-nav > li {
  position: relative;
  flex: 1;
}

.edc-nav > li > a {
  display: block;
  padding: 10px 4px;
  color: #e8ddd0;
  font-size: 10px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  text-decoration: none;
  text-align: center;
  border-right: 1px solid rgba(90,64,48,0.6);
  transition: background 0.18s, color 0.18s;
  white-space: nowrap;
}
.edc-nav > li:first-child > a { border-left: 1px solid rgba(90,64,48,0.6); }

/* Hover */
.edc-nav > li > a:hover {
  background: rgba(139,90,43,0.45);
  color: #fff;
}

/* Active page — golden bottom accent */
.edc-nav > li.current-menu-item > a,
.edc-nav > li.current-menu-ancestor > a,
.edc-nav > li.current-page-ancestor > a {
  background: linear-gradient(180deg, rgba(139,90,43,0.6) 0%, rgba(100,60,25,0.8) 100%);
  color: #fff;
  box-shadow: inset 0 -3px 0 #b8860b;
}

/* Dropdown indicator — CSS triangle (universally supported) */
.edc-nav > li.menu-item-has-children > a::after {
  content: '';
  display: inline-block;
  margin-left: 5px;
  vertical-align: middle;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid currentColor;
  opacity: 0.7;
}

/* Sub-menu */
.edc-nav .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 170px;
  background: #2a2219;
  border: 1px solid #5a4030;
  border-top: 2px solid #8b5a2b;
  z-index: 300;
  list-style: none;
  margin: 0;
  padding: 4px 0;
  box-shadow: 0 8px 20px rgba(0,0,0,0.50);
}

/* Keyboard + mouse open */
.edc-nav li:hover > .sub-menu,
.edc-nav li:focus-within > .sub-menu { display: block; }

.edc-nav .sub-menu li a {
  display: block;
  padding: 8px 16px;
  color: #ddd0c0;
  font-size: 10px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-align: left;
  border-bottom: 1px solid rgba(90,64,48,0.4);
  transition: background 0.15s, color 0.15s;
  white-space: nowrap;
}
.edc-nav .sub-menu li:last-child a { border-bottom: none; }

.edc-nav .sub-menu li a:hover,
.edc-nav .sub-menu li.current-menu-item a {
  background: rgba(139,90,43,0.5);
  color: #fff;
}

/* ── Responsive nav (≤ 720 px) ───────────────────────────────────────────── */
@media screen and (max-width: 720px) {
  .edc-nav-toggle { display: block; }

  .edc-nav { display: none; flex-direction: column; }
  .edc-nav-wrap.is-open .edc-nav { display: flex; }

  .edc-nav > li {
    flex: none;
    border-bottom: 1px solid rgba(90,64,48,0.5);
  }
  .edc-nav > li > a {
    border-right: none;
    border-left: none !important;
    text-align: left;
    padding: 11px 16px;
    font-size: 11px;
  }
  .edc-nav > li.menu-item-has-children > a::after { float: right; }

  .edc-nav .sub-menu {
    position: static;
    transform: none;
    border-top: none;
    border-left: 3px solid #8b5a2b;
    box-shadow: none;
    min-width: 0;
    width: 100%;
  }
  .edc-nav li:hover > .sub-menu,
  .edc-nav li:focus-within > .sub-menu { display: block; }

  .edc-nav .sub-menu li a { padding-left: 28px; }
}

/* ── Accessibilità ─────────────────────────────────────────────────────────── */
a:focus {
  outline: 2px solid #990000;
  outline-offset: 2px;
}

img {
  max-width: 100%;
  height: auto;
}

/* ── Responsive mobile (≤ 720 px) ─────────────────────────────────────────── */
/* Tablet (max 1024px) */
@media screen and (max-width: 1024px) {
  .edc-container {
    padding: 0 8px;
    box-sizing: border-box;
  }
}

@media screen and (max-width: 720px) {
  body {
    overflow-x: hidden;
  }

  .edc-container {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0;
    box-sizing: border-box;
  }

  .edc-top-row {
    flex-wrap: wrap;
    gap: 4px;
    background: #AA975F; /* su mobile la fascia nativa scala troppo: banda CSS */
    border-bottom: 1px solid #1a1408;
  }

  #backhome {
    text-align: center;
  }

  #maincontent4 {
    width: 100%;
  }

  /* Le immagini ritagliate scalano da sole (background-size 100%);
     #headermain riduce solo l'altezza del riempimento scuro */
  #headermain {
    height: 110px;
  }

  #sincol {
    width: auto !important;
    display: block;
  }

  #dexcol {
    display: block;
    padding: 18px;
  }

  h1 {
    font-size: 1.2rem;
  }

  .edc-footer-inner {
    flex-wrap: wrap;
    height: auto;
    padding: 4px 0;
  }

  .edc-footer-photo {
    display: none;
  }
}

/* Small mobile (max 480px) */
@media screen and (max-width: 480px) {
  .edc-toplink {
    font-size: 10px;
    padding: 2px 5px;
  }

  .edc-date p {
    font-size: 12px;
  }

  #headermain {
    height: 90px;
  }

  h1 {
    font-size: 1.1rem;
  }

  #logo-link {
    width: 200px;
    height: 70px;
  }
}

/* ── Stampa: rimuovi header/footer, mostra solo contenuto ─────────────────── */
@media print {
  .edc-site-header,
  .edc-site-footer,
  #backhome,
  #cookie-banner,
  #sharePanel {
    display: none !important;
  }
  body {
    background: #fff;
    color: #000;
  }
}

/* ── Sito più largo sugli schermi grandi (03/10/2026) ─────────────────────
   Una sola variabile: per cambiare la larghezza basta modificare --edc-w. */
:root { --edc-w: 704px; }
@media screen and (min-width: 1100px) { :root { --edc-w: 960px; } }
.edc-container, #maintabbody { max-width: var(--edc-w); }
#backhome, #maincontent, #maincontent2 { max-width: calc(var(--edc-w) - 4px); }
@media screen and (min-width: 721px) {
  /* l'intestazione scala in proporzione invece di avere un'altezza fissa */
  #headermain { height: auto; aspect-ratio: 685 / 148; }
  #logo-link { width: 46%; height: 62%; }
}
@media screen and (min-width: 1100px) {
  body { font-size: 16px; }
  .edc-blocks { font-size: 17px; }
  .edc-card { padding: 34px 46px 44px; }
  .edc-date p { font-size: 15px; }
  .edc-toplink { font-size: 12px; padding: 3px 10px; }
  .edc-nav > li > a { font-size: 12.5px; }
  .edc-home .edc-home-box p { font-size: 1rem; }
  .edc-home .edc-home-box h2 { font-size: 1.05rem; }
  .edc-home > .wp-block-image img { width: 100%; }
}
