/* ============================================================
   BOXER CLUB D'ITALIA - TEMPLATE "bci_fullscreen"
   Layout a tutto schermo, responsive.
   Parte 1: struttura del sito (testata, menu, colonne, news, footer)
   Parte 2: stili dei contenuti delle pagine (conservati dal template precedente)
   ============================================================ */

@font-face {font-family: RobotoCondensed; font-style: normal; font-weight: 900; src:url("fonts/RobotoCondensed-Bold.ttf") format("truetype");}
@font-face {font-family: RobotoCondensed; font-style: normal; font-weight: 700; src:url("fonts/RobotoCondensed-Regular.ttf") format("truetype");}
@font-face {font-family: RobotoCondensed; font-style: normal; font-weight: 400; src:url("fonts/RobotoCondensed-Light.ttf") format("truetype");}
@font-face {font-family: SpecialElite; font-style: normal; font-weight: 400; src:url("fonts/SpecialElite-Regular.ttf") format("truetype");}

/* Famiglia usata dal menu (stessi file font, pesi regolari) */
@font-face {font-family: BCICond; font-style: normal; font-weight: 400; font-display: swap; src:url("fonts/RobotoCondensed-Regular.ttf") format("truetype");}
@font-face {font-family: BCICond; font-style: normal; font-weight: 700; font-display: swap; src:url("fonts/RobotoCondensed-Bold.ttf") format("truetype");}

/* ---------- Colori e misure: si cambiano qui ---------- */
:root {
  --bci-navy: #10283f;
  --bci-navy-deep: #0a1c2d;
  --bci-navy-soft: #1d4163;
  --bci-gold: #c6a45a;
  --bci-gold-dark: #8b6a22;
  --bci-gold-light: #e3d2a3;
  --bci-paper: #f6f5f1;
  --bci-ink: #1f2a33;
  --bci-muted: #5d6b77;
  --bci-line: #dcd6c6;
  --bci-verde: #2f8450;
  --bci-rosso: #c8372d;

  --bci-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --bci-sans: Arial, Helvetica, sans-serif;

  --bci-adm: 0px;          /* viene impostato dal template quando sei in modalita' amministrazione */
  --bci-nav-h: 54px;       /* altezza del menu */
  --bci-side-w: 290px;     /* larghezza colonna sinistra (indice) */
  --bci-news-w: 340px;     /* larghezza colonna destra (news) */
  --bci-misura: 88ch;      /* larghezza massima del testo corrente nelle pagine */
  --bci-hh: clamp(150px, 13vw, 230px);   /* altezza della testata */
  --bci-hx: clamp(6px, 1.4vw, 30px);     /* distanza dell'immagine di testata dal bordo destro */
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--bci-nav-h) + var(--bci-adm) + 14px); }
body, h1, h2, h3, h4, h5, h6, p, ul, ol, li, hr, blockquote { padding: 0; margin: 0; }
body, .body {
  background: var(--bci-paper);
  color: var(--bci-ink);
  font-family: var(--bci-sans);
  font-size: 17px;
  line-height: 1.6;
  text-align: left;
  -webkit-text-size-adjust: 100%;
}
#top { font-size: 0; line-height: 0; }
img { box-sizing: border-box; max-width: 100%; height: auto; }

h1, h2, h3, h4, h5, h6 { color: var(--bci-navy); font-family: var(--bci-serif); font-weight: 700; line-height: 1.25; }
h1 { font-size: 30px; padding: 18px 0 10px; border-bottom: 2px solid var(--bci-gold); margin-bottom: 8px; overflow-wrap: break-word; }
h2 { font-size: 24px; padding: 20px 0 6px; }
h3 { font-size: 20px; padding: 16px 0 5px; }
h4 { font-size: 17px; padding: 14px 0 5px; }
h5, h6 { font-size: 16px; padding: 12px 0 5px; }
p { padding: 7px 0; }
ol { margin: 6px 0 6px 22px; }
ol li { line-height: 1.5; padding: 3px 0; }
ul { list-style: disc; margin: 6px 0 6px 22px; }
ul li { line-height: 1.5; padding: 3px 0; }
hr { height: 1px; clear: both; background: var(--bci-line); border: 0; margin: 20px 0; }
blockquote { background: #f5f1e6; color: #222; border-left: 5px solid var(--bci-gold); padding: 8px 20px; margin: 12px 0; }

a:link { color: #145d84; text-decoration: underline; text-underline-offset: 2px; }
a:visited { color: #5b4b70; }
a:hover, a:focus { color: var(--bci-gold-dark); }
:focus-visible { outline: 3px solid var(--bci-gold); outline-offset: 2px; }

.bci-skip { position: absolute; left: 8px; top: -60px; z-index: 10000; background: var(--bci-navy); color: #fff !important; padding: 10px 16px; border-radius: 0 0 4px 4px; }
.bci-skip:focus { top: var(--bci-adm); }

/* ============================================================
   TESTATA
   ============================================================ */
.bci-header {
  position: relative;
  min-height: var(--bci-hh);
  background-color: #f5f6f8;
  background-image:
    linear-gradient(to right, #f5f6f8 calc(100% - 3.265 * var(--bci-hh) - var(--bci-hx)), rgba(245,246,248,0) calc(100% - 2.5 * var(--bci-hh) - var(--bci-hx))),
    url("images/bgwebsite.jpg");
  background-repeat: no-repeat;
  background-position: 0 0, right var(--bci-hx) top;
  background-size: 100% 100%, auto 100%;
  display: flex;
  align-items: center;
}
.bci-header-in { width: 100%; max-width: 2400px; margin: 0 auto; padding: 18px clamp(16px, 2.4vw, 48px) 22px; box-sizing: border-box; }
.bci-brand { display: inline-flex; align-items: center; gap: clamp(14px, 1.8vw, 28px); text-decoration: none; }
.bci-brand:link, .bci-brand:visited, .bci-brand:hover { text-decoration: none; }
.bci-logo { display: block; height: calc(var(--bci-hh) - 40px); width: auto; filter: drop-shadow(0 3px 6px rgba(10,28,45,.25)); }
.bci-brand-text { display: flex; flex-direction: column; gap: 4px; }
.bci-brand-name { font-family: var(--bci-serif); font-weight: 700; font-size: clamp(26px, 3.2vw, 50px); line-height: 1.08; color: var(--bci-navy); text-shadow: 0 1px 0 rgba(255,255,255,.7); }
.bci-brand-sub { font-family: BCICond, Arial, sans-serif; font-size: clamp(16px, 1.3vw, 21px); letter-spacing: .06em; color: var(--bci-gold-dark); font-weight: 700; }

/* Linea tricolore sotto la testata (richiama il nastro dello stemma) */
.bci-tricolore { position: absolute; left: 0; right: 0; bottom: 0; height: 5px; display: flex; }
.bci-tricolore i { flex: 1; display: block; }
.bci-tricolore i:nth-child(1) { background: var(--bci-verde); }
.bci-tricolore i:nth-child(2) { background: #fff; }
.bci-tricolore i:nth-child(3) { background: var(--bci-rosso); }

/* ============================================================
   MENU PRINCIPALE (sempre visibile scorrendo la pagina)
   ============================================================ */
.bci-nav {
  position: sticky;
  top: var(--bci-adm);
  z-index: 900;
  background: var(--bci-navy);
  border-bottom: 3px solid var(--bci-gold);
  box-shadow: 0 4px 14px rgba(10, 28, 45, .18);
}
.bci-nav-in { max-width: 2400px; margin: 0 auto; padding: 0 clamp(8px, 2vw, 40px); display: flex; align-items: center; min-height: var(--bci-nav-h); box-sizing: border-box; }
.bci-links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: stretch; }
.bci-links li { padding: 0; margin: 0; line-height: 1; }
.bci-links a, .bci-links a:link, .bci-links a:visited {
  display: block;
  padding: 0 clamp(10px, 1.1vw, 20px);
  line-height: var(--bci-nav-h);
  color: #fff;
  font-family: BCICond, Arial, sans-serif;
  font-size: clamp(16px, 1.15vw, 19px);
  font-weight: 700;
  letter-spacing: .02em;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}
.bci-links a:hover, .bci-links a:focus-visible { background: var(--bci-gold); color: var(--bci-navy-deep); text-decoration: none; outline-offset: -3px; }
.bci-menu-btn, .bci-nav-brand { display: none; }

/* ============================================================
   GRIGLIA DELLA PAGINA: indice | contenuto | news
   ============================================================ */
.bci-layout {
  display: grid;
  grid-template-columns: var(--bci-side-w) minmax(0, 1fr) var(--bci-news-w);
  grid-template-areas: "side main news";
  max-width: 2400px;
  margin: 0 auto;
  align-items: start;
}

/* ---------- Colonna sinistra: indice del sito ---------- */
.bci-side {
  grid-area: side;
  position: sticky;
  top: calc(var(--bci-nav-h) + var(--bci-adm) + 3px + 18px);
  max-height: calc(100vh - var(--bci-nav-h) - var(--bci-adm) - 40px);
  overflow-y: auto;
  overscroll-behavior: contain;
  margin: 28px 0 40px clamp(16px, 2.4vw, 48px);
  background: #fff;
  border: 1px solid var(--bci-line);
  border-top: 3px solid var(--bci-gold);
  box-sizing: border-box;
  padding: 16px 14px 18px;
  scrollbar-width: thin;
}
.bci-side-close, .bci-side-links { display: none; }

.bci-side-search { margin: 0 0 14px; }
.bci-side .tplge_searchboxContainer { display: flex; border: 1px solid #b9c2c9; background: #fff; }
.bci-side .tplge_searchboxInput { flex: 1 1 auto; min-width: 0; width: 100%; box-sizing: border-box; border: 0; background: transparent; font: inherit; font-size: 16px; padding: 9px 10px; color: var(--bci-ink); }
.bci-side .tplge_searchboxInput:focus { outline: none; }
.bci-side .tplge_searchboxContainer:focus-within { border-color: var(--bci-navy); box-shadow: 0 0 0 2px var(--bci-gold); }
.bci-side .tplge_searchboxSubmit {
  flex: 0 0 42px; height: 42px; border: 0; padding: 0; margin: 0; cursor: pointer;
  background: var(--bci-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E") center/22px no-repeat;
}
.bci-side .tplge_searchboxSubmit:hover { background-color: var(--bci-navy-soft); }

/* Indice: voci (menulevel1...) */
.bci-toc ul { list-style: none; margin: 0; padding: 0; }
.bci-toc li { list-style: none; padding: 0; margin: 0; line-height: 1.3; }
.bci-toc li > a, .bci-toc li > span { display: block; padding: 8px 10px; }
.bci-toc a:link, .bci-toc a:visited { color: var(--bci-navy); text-decoration: none; }
.bci-toc a:hover, .bci-toc a:focus-visible { background: #f2ecdc; color: var(--bci-navy-deep); text-decoration: none; }
.bci-toc ul.menulevel1 > li > a, .bci-toc ul.menulevel1 > li > span { font-family: BCICond, Arial, sans-serif; font-weight: 700; font-size: 18px; border-left: 4px solid transparent; }
.bci-toc ul ul { display: none; margin: 0 0 6px 14px; border-left: 1px solid var(--bci-line); }
.bci-toc ul ul li > a, .bci-toc ul ul li > span { font-size: 15.5px; font-weight: 400; padding: 6px 10px; }
/* si apre il ramo della pagina corrente, oppure passando/tastiera sulla voce */
.bci-toc li.sdocs > ul,
.bci-toc li:has(li.sdoc, li.sdocs) > ul,
.bci-toc li:hover > ul,
.bci-toc li:focus-within > ul { display: block; }
/* pagina corrente */
.bci-toc li.sdoc > span, .bci-toc li.sdocs > span { background: #f6efd9; color: var(--bci-navy-deep); font-weight: 700; box-shadow: inset 4px 0 0 var(--bci-gold); }
.bci-toc ul.menulevel1 > li.sdoc > span, .bci-toc ul.menulevel1 > li.sdocs > span { border-left-color: transparent; }
/* segno + sulle voci che hanno sottopagine */
.bci-toc li.docs > a::after, .bci-toc li.sdocs > a::after, .bci-toc li.sdocs > span::after { content: "+"; font-family: Arial, sans-serif; color: var(--bci-gold-dark); font-weight: 700; margin-left: 6px; }
.bci-toc li.sdocs > span::after { content: "\2013"; }

.bci-tools { display: flex; justify-content: center; gap: 8px; margin: 18px 0 4px; padding-top: 14px; border-top: 1px solid var(--bci-line); }
.bci-tools a { display: block; line-height: 0; }
.bci-tools img { display: block; background: var(--bci-navy); border-radius: 4px; padding: 6px; }
.bci-tools a:hover img { background: var(--bci-gold-dark); }

.visit-counter { margin-top: 16px; padding: 12px 10px; text-align: center; background: var(--bci-paper); border: 1px solid var(--bci-line); }
.visit-counter .icon { font-size: 18px; line-height: 1; }
.visit-counter .number { font-family: var(--bci-serif); font-weight: 700; font-size: 28px; line-height: 1.2; color: var(--bci-navy); }
.visit-counter .label { font-size: 13px; color: var(--bci-muted); }

/* ---------- Colonna centrale: contenuto ---------- */
.bci-main { grid-area: main; min-width: 0; box-sizing: border-box; padding: 6px clamp(20px, 2.6vw, 56px) 56px; }

.bci-locator { font-size: 14px; color: var(--bci-muted); padding: 18px 0 2px; }
.bci-locator-text { font-weight: 700; margin-right: 6px; }
.bci-locator a:link, .bci-locator a:visited { color: var(--bci-navy-soft); text-decoration: none; }
.bci-locator a:hover { text-decoration: underline; }
.bci-locator-sep { color: var(--bci-gold-dark); font-weight: 700; padding: 0 3px; }
.bci-locator .cmsimpleLocatorElementLast { font-weight: 700; color: var(--bci-navy); }
.bci-sitename { font-size: 14px; color: var(--bci-muted); padding: 2px 0 0; }

.bci-article { font-size: clamp(17px, .3vw + 15.8px, 19px); line-height: 1.65; }
.bci-article h1, .bci-article h2, .bci-article h3, .bci-article h4, .bci-article h5, .bci-article h6 { overflow-wrap: break-word; }
.bci-article h1 { font-size: clamp(27px, 1.1vw + 22px, 38px); }
.bci-article h2 { font-size: clamp(22px, .6vw + 19px, 28px); }
.bci-article h3 { font-size: clamp(19px, .3vw + 17.5px, 22px); }
/* il testo corrente resta leggibile anche su schermi molto larghi; tabelle, immagini e blocchi usano tutta la larghezza */
.bci-article > p, .bci-article > ul, .bci-article > ol, .bci-article > blockquote,
.bci-article > h1, .bci-article > h2, .bci-article > h3, .bci-article > h4, .bci-article > h5, .bci-article > h6 { max-width: var(--bci-misura); }
.bci-article img { border-radius: 3px; }
.bci-article table { max-width: 100%; }
.bci-article input, .bci-article textarea, .bci-article select { max-width: 100%; box-sizing: border-box; font: inherit; background: #fff; border: 1px solid #b9c2c9; border-radius: 3px; padding: 8px; }
.bci-article input.text { width: 80%; }
.bci-article textarea { width: 94%; }
.bci-article input.submit, .bci-article input#submit { background: var(--bci-navy) !important; color: #fff; border: 1px solid var(--bci-gold); padding: 9px 18px; border-radius: 3px; cursor: pointer; }
.bci-article input.submit:hover, .bci-article input#submit:hover { background: var(--bci-navy-soft) !important; }
article p.cmsimple_editmodeLocator { background: #ffffff99; border-radius: 3px; padding: 2px 8px !important; }

.tplge_langmenu { text-align: right; }
.tplge_langmenu img { background: #fff; border: 1px solid #999; border-radius: 3px; padding: 3px; margin: 0 0 0 16px; }

/* sottopagine e pagine collegate */
.bci-subsib { clear: both; font-size: 17px; margin: 28px 0 0; max-width: var(--bci-misura); }
.bci-subsib:empty { display: none; }
.bci-subsib ul { margin: 6px 0 12px 22px; }
.bci-subsib p, .bci-subsib .heading { font-weight: 700; color: var(--bci-navy); }
.bci-subsib .parentLink { display: inline-block; font-weight: 700; padding: 6px 0; }

/* precedente / su / successiva */
.bci-prevtopnext { clear: both; display: flex; justify-content: center; gap: 16px; margin: 40px 0 8px; }
.bci-prevtopnext img { display: block; background: var(--bci-navy); border-radius: 50%; padding: 13px; margin: 0; }
.bci-prevtopnext a:hover img { background: var(--bci-gold-dark); }

/* ---------- Colonna destra: news ---------- */
.bci-news {
  grid-area: news;
  align-self: stretch;
  background: var(--bci-navy);
  color: #fff;
  border-left: 3px solid var(--bci-gold);
  box-sizing: border-box;
  padding: 10px clamp(18px, 1.6vw, 30px) 40px;
  font-size: 16.5px;
  line-height: 1.5;
}
.bci-newsbox { padding: 12px 0 20px; }
.bci-newsbox + .bci-newsbox { border-top: 1px solid rgba(227, 210, 163, .35); padding-top: 22px; }
.bci-news h1, .bci-news h2, .bci-news h3, .bci-news h4, .bci-news h5, .bci-news h6 { color: var(--bci-gold-light); border: 0; margin: 0; padding: 4px 0 8px; font-size: 22px; }
.bci-news h5, .bci-news h6 { font-size: 18px; }
.bci-news a:link, .bci-news a:visited { color: var(--bci-gold-light); text-decoration: underline; }
.bci-news a:hover, .bci-news a:focus { color: #fff; }
.bci-news img { max-width: 100%; height: auto; }
.bci-news:empty { display: none; }

/* ============================================================
   PIEDE DELLA PAGINA
   ============================================================ */
.bci-footer { background: var(--bci-navy-deep); border-top: 3px solid var(--bci-gold); color: #c9d3dc; font-size: 14px; text-align: center; }
.bci-footer p { padding: 20px 16px 24px; margin: 0; }
.bci-footer a:link, .bci-footer a:visited { color: var(--bci-gold-light); }
.bci-footer a:hover { color: #fff; }

/* pulsante "torna su" */
.bci-totop, .bci-totop:link, .bci-totop:visited {
  position: fixed; right: 18px; bottom: 18px; z-index: 1400;
  width: 46px; height: 46px; border-radius: 50%;
  background: var(--bci-navy); color: #fff; border: 2px solid var(--bci-gold);
  display: flex; align-items: center; justify-content: center;
  font: 700 22px/1 Arial, sans-serif; text-decoration: none;
  box-shadow: 0 4px 12px rgba(10, 28, 45, .3);
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s;
}
.bci-totop.bci-visibile { opacity: 1; visibility: visible; transform: none; }
.bci-totop:hover { background: var(--bci-gold-dark); color: #fff; }

.bci-scrim { position: fixed; inset: 0; z-index: 1900; background: rgba(10, 28, 45, .6); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s; }

/* ============================================================
   SCHERMI MEDI: la colonna news passa sotto il contenuto
   ============================================================ */
@media (max-width: 1359px) {
  .bci-layout { grid-template-columns: var(--bci-side-w) minmax(0, 1fr); grid-template-areas: "side main" "news news"; }
  .bci-news { border-left: 0; border-top: 3px solid var(--bci-gold); padding: 24px clamp(16px, 2.4vw, 48px) 36px; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); column-gap: clamp(20px, 3vw, 56px); align-items: start; }
  .bci-newsbox + .bci-newsbox { border-top: 0; padding-top: 12px; }
}

/* ============================================================
   TABLET E SMARTPHONE: l'indice diventa un menu a scomparsa
   ============================================================ */
@media (max-width: 1099px) {
  :root { --bci-nav-h: 52px; --bci-hh: clamp(120px, 24vw, 170px); }

  .bci-layout { display: block; }
  .bci-main { padding: 4px clamp(16px, 4vw, 40px) 40px; }

  .bci-logo { height: calc(var(--bci-hh) - 34px); }
  .bci-header-in { padding-top: 14px; padding-bottom: 18px; }

  /* barra del menu: pulsante + nome del sito */
  .bci-links { display: none; }
  .bci-nav-in { padding: 0 8px; gap: 10px; }
  .bci-menu-btn {
    display: inline-flex; align-items: center; gap: 10px; height: 44px; padding: 0 16px;
    background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .4); border-radius: 4px;
    font: 700 17px/1 BCICond, Arial, sans-serif; letter-spacing: .03em; cursor: pointer;
  }
  .bci-menu-btn:hover, .bci-menu-btn:focus-visible { background: var(--bci-gold); color: var(--bci-navy-deep); border-color: var(--bci-gold); }
  .bci-burger, .bci-burger::before, .bci-burger::after { display: block; width: 20px; height: 2px; background: currentColor; border-radius: 1px; content: ""; }
  .bci-burger { position: relative; }
  .bci-burger::before { position: absolute; top: -6px; }
  .bci-burger::after { position: absolute; top: 6px; }
  .bci-nav-brand, .bci-nav-brand:link, .bci-nav-brand:visited { display: block; margin-left: auto; margin-right: 6px; color: #fff; font-family: var(--bci-serif); font-weight: 700; font-size: 18px; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

  /* il pannello laterale esce da sinistra */
  .bci-side {
    position: fixed; top: 0; bottom: 0; left: 0; z-index: 2000;
    width: min(88vw, 360px); max-height: none; margin: 0;
    padding: 56px 16px 28px;
    border: 0; border-right: 3px solid var(--bci-gold);
    transform: translateX(-105%); visibility: hidden;
    transition: transform .28s ease, visibility .28s;
    box-shadow: 8px 0 30px rgba(0, 0, 0, .3);
  }
  .bci-menu-aperto .bci-side { transform: none; visibility: visible; }
  .bci-menu-aperto .bci-scrim { opacity: 1; visibility: visible; }
  .bci-menu-aperto { overflow: hidden; }
  .bci-side-close { display: block; position: absolute; top: 8px; right: 10px; width: 44px; height: 44px; background: transparent; border: 0; font-size: 34px; line-height: 44px; color: var(--bci-navy); cursor: pointer; }

  .bci-side-links { display: block; list-style: none; margin: 0 0 16px; padding: 0 0 12px; border-bottom: 2px solid var(--bci-gold); }
  .bci-side-links li { padding: 0; }
  .bci-side-links a:link, .bci-side-links a:visited { display: block; padding: 11px 6px; font-family: BCICond, Arial, sans-serif; font-weight: 700; font-size: 19px; color: var(--bci-navy); text-decoration: none; border-bottom: 1px solid var(--bci-line); }
  .bci-side-links a:hover { background: #f2ecdc; }

  /* sull'indice nel pannello i sottomenu restano aperti solo per il ramo corrente */
  .bci-toc li:hover > ul { display: none; }
  .bci-toc li.sdocs > ul, .bci-toc li:has(li.sdoc, li.sdocs) > ul, .bci-toc li:focus-within > ul { display: block; }

  .bci-news { grid-template-columns: 1fr; }
}

@media (max-width: 599px) {
  body, .body { font-size: 16px; }
  .bci-article { font-size: 16.5px; }
  .bci-brand-sub { letter-spacing: .03em; }
  .bci-tricolore { height: 4px; }
  .bci-prevtopnext img { padding: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ============================================================
   POPUP NEWSLETTER
   ============================================================ */
#bci-newsletter-modal { display: none; position: fixed; inset: 0; z-index: 999999; background: rgba(0,0,0,0.75); align-items: center; justify-content: center; padding: 10px; box-sizing: border-box; }
#bci-newsletter-modal.bci-open { display: flex; }
#bci-newsletter-box { position: relative; width: 100%; max-width: 600px; height: 90vh; background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 5px 30px rgba(0,0,0,0.4); }
#bci-newsletter-frame { position: absolute; top: 0; left: -430px; width: 1200px; height: 1500px; border: 0; transform: scale(0.75); transform-origin: top left; }
#bci-newsletter-close { position: absolute; top: 8px; right: 10px; z-index: 20; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #fff; color: #333; font-size: 28px; line-height: 36px; text-align: center; cursor: pointer; box-shadow: 0 1px 6px rgba(0,0,0,0.35); }
@media screen and (max-width: 600px) {
  #bci-newsletter-modal { padding: 5px; }
  #bci-newsletter-box { height: 96vh; border-radius: 5px; }
}

/* ============================================================
   PARTE 2 - STILI DEI CONTENUTI DELLE PAGINE
   (conservati dal template precedente, senza modifiche)
   ============================================================ */

/* --- Contenuti: immagini, tabelle, box, pedigree, scheda libro, slider ecc. --- */
/* ===============================
   IMMAGINE CON EFFETTO FULLSCREEN
   =============================== */
.immagine-evento img {
  max-width: 100%;
  height: auto;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border-radius: 8px;
}

.immagine-evento img:hover {
  transform: scale(1.03);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
}

/* ===============================
   PULSANTE USCITA FULLSCREEN
   =============================== */
.exit-fullscreen {
  display: none;
  position: fixed;
  top: 20px;
  right: 20px;
  background-color: #003366;
  color: #fff;
  border: none;
  padding: 10px 16px;
  font-size: 14px;
  border-radius: 6px;
  cursor: pointer;
  z-index: 9999;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.exit-fullscreen:hover {
  background-color: #005599;
}



/* 
##############################
 C O N T E N T  C L A S S E S 
##############################
*/

img.tplge_border {background: #fff; border: 1px solid #aaa; border-radius: 3px; padding: 6px;}
img.tplge_left_border {display: block; background: #fff; float: left; max-width: 44%; border: 1px solid #aaa; border-radius: 3px; padding: 6px; margin: 0 20px 16px 0;}
img.tplge_right_border {display: block; background: #fff; float: right; max-width: 44%; border: 1px solid #aaa; border-radius: 3px; padding: 6px; margin: 0 0 16px 20px;}
img.tplge_left_noborder {display: block; float: left; max-width: 44%; border: 0; margin: 0 20px 16px 0;}
img.tplge_right_noborder {display: block; float: right; max-width: 44%; border: 0; margin: 0 0 16px 20px;}
img.tplge_left {display: block; float: left; max-width: 44%; border: 0; margin: 0 20px 16px 0;}
img.tplge_right {display: block; float: right; max-width: 44%; border: 0; margin: 0 0 16px 20px;}
img.tplge_centered {display: block; border: 0; margin: 16px auto;}
img.tplge_centered_noborder {display: block; border: 0; margin: 16px auto;}
img.tplge_centered_border {display: block; background: #fff; border: 1px solid #aaa; border-radius: 3px; padding: 6px; margin: 16px auto;}


.tplge_clearLeft {clear: left;}
.tplge_clearRight {clear: right;}
.tplge_clearBoth {clear: both;}

/* Contentboxen */
div.tplge_contentboxleft {width: 47%; min-height: 60px; float: left; box-sizing: border-box; background: #d0d3d9; font-size: 17px; line-height: 1.3em; border: 0px solid #aaa; border-radius: 3px; padding: 12px 20px 10px 20px; margin: 12px 3% 12px 0;}
div.tplge_contentboxright {width: 47%; min-height: 60px; float: right; box-sizing: border-box; background: #d0d3d9; font-size: 17px; line-height: 1.3em; border: 0px solid #aaa; border-radius: 3px; padding: 12px 20px 10px 20px; margin: 12px 0 12px 3%;}
div.tplge_contentboxfullsize {clear: both; width: 100%; min-height: 60px; box-sizing: border-box; background: #d0d3d9; font-size: 17px; border: 0px solid #aaa; border-radius: 3px; padding: 12px 20px 10px 20px; margin: 12px 0 12px 0;}
.tplge_headlineContentBox {font-size: 20px; padding: 0; margin: 0;}
.tplge_contentboxesClear {clear: both; height: 1px; overflow: hidden;}

.tplge_code {clear: both; background: #eeeee6; color: #222; font-family: 'courier new', monospace; font-size: 15px; border: 2px solid #aaa; padding: 10px 16px; margin: 10px 0; overflow: scroll;}
.tplge_box01 {width: 75%; clear: both; background: #536; color: #fff; border: 9px solid #869; border-radius: 3px; padding: 12px 2%; margin: 5px auto 10px auto;}
.tplge_legal {padding: 6px 0;}

/* TinyMCE image descriptions */
figure.image {display: table; background: #fff; border: 1px solid #aaa; border-radius: 5px; padding: 9px; margin: 10px auto 20px auto;}
figure.align-left {max-width: 40%; float: left; margin: 10px 3% 20px 0;}
figure.align-right {max-width: 40%; float: right; margin: 10px 0 20px 3%;}
figure.align-center {float: none; margin: 20px auto;}
figure.image img {display: block; padding: 0; margin: 0 auto;}
figure.image figcaption {background: #fff; color: #222; text-align: center; font-size: 16px; line-height: 1.2em; padding: 9px 12px;}

/* table basic design */
table {border-collapse: collapse;}
td {min-width: 20px!important;}

/* table design grey */
table.grey {width: 100%; height: auto; background: #fff; border: 0; margin: 2px 0 16px 0; border-collapse: separate;}
table.grey td {width: auto; height: auto; vertical-align: top; background: #d0d6d9; color: #333; line-height: 1.3em; border: 0!important; padding: 8px 12px;}
table.grey td p {margin: 6px 0;} 

/* table design white */
table.white {width: 100%; height: auto; background: #fff; border: 0; border-collapse: collapse; margin: 2px 0 16px 0;}
table.white td {width: auto; height: auto; vertical-align: top; background: #fff; color: #333; line-height: 1.3em; border: 1px solid #aaa!important; padding: 8px 10px;}
table.white td p {margin: 6px 0;} 

/* unsichtbare Tabelle linksbündig / unvisible table align left */
table.transparent {width: 100%; height: auto; border: 0; border-collapse: collapse; margin: 2px 0 16px 0;}
table.transparent td {width: auto; height: auto; vertical-align: top; line-height: 1.3em; border: 0px solid!important; padding: 8px 24px 8px 0;}
table.transparent td p {margin: 6px 0;}

.slider-container {
  position: relative;
  max-width: 400px;
  margin: 30px auto;
  border: 4px solid limegreen;
  border-radius: 12px;
  padding: 10px;
  background-color: #f6fff6;
  box-shadow: 0 0 15px rgba(0, 255, 0, 0.3);
  overflow: hidden;
  text-align: center;
}

.slider-image {
  width: 100%;
  height: auto;
  display: block;
  transition: opacity 0.8s ease-in-out;
  opacity: 1;
}

.arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2rem;
  cursor: pointer;
  background-color: rgba(0,0,0,0.4);
  color: white;
  padding: 10px;
  border-radius: 50%;
  user-select: none;
  z-index: 10;
}

.arrow.left {
  left: 15px;
}

.arrow.right {
  right: 15px;
}

@media (max-width: 768px) {
.arrow {
    font-size: 1.5rem;
    padding: 8px;
}

.slider-container {
    max-width: 90%;
}
}

css
.stallone-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse; /* immagine a sinistra, testo a destra */
  border: 3px solid limegreen;
  border-radius: 10px;
  padding: 20px;
  background-color: #f9fff9;
  max-width: 600px;
  margin: 30px auto;
  box-shadow: 0 0 12px rgba(0, 255, 0, 0.2);
}

.stallone-image {
  flex: 0 1 200px;
  text-align: left;
}

.stallone-image img {
  max-width: 180px;
  height: auto;
  border-radius: 8px;
  border: 2px solid limegreen;
}

.stallone-info {
  flex: 1 1 300px;
  padding-left: 20px;
}

.stallone-info h2 {
  font-size: 1.5em;
  margin-bottom: 10px;
}

.stallone-info p {
  font-size: 1.1em;
  margin-bottom: 15px;
}

.stallone-button {
  display: inline-block;
  padding: 8px 16px;
  background-color: limegreen;
  color: white;
  text-decoration: none;
  font-weight: bold;
  border-radius: 6px;
  transition: background-color 0.3s;
}

.stallone-button:hover {
  background-color: darkgreen;
}

css
.scheda-stallone {
  width: 100%;
  max-width: 600px;
  margin: 30px auto;
  border-collapse: collapse;
  border: 3px solid limegreen;
  border-radius: 10px;
  overflow: hidden;
  background-color: #f9fff9;
  box-shadow: 0 0 12px rgba(0, 255, 0, 0.2);
}

.scheda-stallone td {
  vertical-align: middle;
  padding: 20px;
}

.miniatura img {
  max-width: 180px;
  height: auto;
  border-radius: 8px;
  border: 2px solid limegreen;
}

.info h2 {
  font-size: 1.5em;
  margin-bottom: 10px;
}

.info p {
  font-size: 1.1em;
  margin-bottom: 15px;
}

.scheda-button {
  display: inline-block;
  padding: 8px 16px;
  background-color: limegreen;
  color: white;
  text-decoration: none;
  font-weight: bold;
  border-radius: 6px;
  transition: background-color 0.3s;
}

.scheda-button:hover {
  background-color: darkgreen;
}
.pedigree-wrapper {
      display: flex;
      flex-direction: column;
      font-family: 'Verdana', sans-serif;
      font-size: 0.95em;
      gap: 6px;
}

.pedigree-row {
      display: flex;
      gap: 6px;
}

.pedigree-cell {
      border: 2px solid #708238; /* verde oliva */
      background-color: #ccff00; /* lime */
      padding: 8px;
      flex: 1;
      text-align: center;
      box-sizing: border-box;
}

.pedigree-text {
      background-color: #e0f5d0; /* verde chiaro */
      border: 1px solid #76a64d; /* cornice verde */
      padding: 6px;
      border-radius: 4px;
      font-weight: bold;
}

    /* Titolo iniziale più largo */
.pedigree-cell:first-child {
      flex: 2;
      background-color: #d8ddc1;
}


.pedigree-container {
  max-width: 1000px;
  margin: 40px auto;
  padding: 20px;
  background: linear-gradient(to bottom, #f9fff9, #e6ffe6);
  border: 3px solid limegreen;
  border-radius: 12px;
  box-shadow: 0 0 15px rgba(0, 255, 0, 0.2);
  font-family: 'Segoe UI', sans-serif;
  text-align: center;
}

.generation {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 20px 0;
  position: relative;
}

.generation div {
  font-size: 0.8em;
  background: white;
  border: 2px solid limegreen;
  padding: 10px 15px;
  margin: 10px;
  border-radius: 8px;
  min-width: 80px;
  font-weight: 500;
  box-shadow: 0 0 8px rgba(0, 200, 0, 0.1);
  position: relative;
}

.generation::after {
  content: '';
  position: absolute;
  top: -30px;
  left: 50%;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 12px solid limegreen;
  transform: translateX(-50%);
  z-index: 1;
}

.g1::after { display: none;} /* Niente freccia per il primo livello */

table.pedigree {
  width: 85%;
  max-width: 900px;
  margin: auto;
  border-collapse: collapse;
  font-family: 'Verdana', sans-serif;
  font-size: 0.88em;
  text-align: center;

  background-color: #f2f5ec; /* sfondo tabella */
}

.pedigree td {
  border: 2px solid #a6b09c; /* contorni tenui */
  padding: 6px;
  background-color: #dbe6d2; /* verde salvia delicato */
  vertical-align: top;
}

.pedigree td p {
  margin: 0;
  padding: 5px;
  background-color: #f2f5ec; /* sfondo del box interno */
  border: 1px solid #a6b09c; /* bordo tenue */
  border-radius: 4px;
  font-weight: bold;
  font-size: 0.9em;
  line-height: 1.2; /* interspazio più compatto */
}

.generation-title {
  font-weight: bold;
  background-color: #e2e8dd;
}


.salute-tabella {
  width: 100%;
  max-width: 700px;
  margin: 40px auto;
  border-collapse: collapse;
  border: 3px solid limegreen;
  box-shadow: 0 0 15px rgba(0, 255, 0, 0.2);
  background: #f9fff9;
  border-radius: 12px;
  overflow: hidden;
  font-family: 'Segoe UI', sans-serif;
}

.salute-tabella th {
  background-color: #d9ffd9;
  color: darkgreen;
  padding: 12px;
  font-size: 1.1em;
  text-align: left;
}

.salute-tabella td {
  padding: 12px;
  background-color: #ffffff;
  border-top: 1px solid #ccffcc;
}

.salute-tabella td.ok {
  color: green;
  font-weight: bold;
}

.salute-tabella td.medio {
  color: goldenrod;
  font-weight: bold;
}

.salute-tabella td.attenzione {
  color: red;
  font-weight: bold;
}

@media (max-width: 400px) {
.salute-tabella th,
.salute-tabella td {
    padding: 10px;
    font-size: 0.85em;
}
}
.scheda-proprietario {
  width: 100%;
  max-width: 600px;
  margin: 40px auto;
  border-collapse: collapse;
  border: 2px solid limegreen;
  box-shadow: 0 0 12px rgba(0, 255, 0, 0.15);
  background: #f9fff9;
  border-radius: 10px;
  overflow: hidden;
  font-family: 'Segoe UI', sans-serif;
}

.scheda-proprietario th {
  text-align: left;
  padding: 12px 16px;
  background-color: #d9ffd9;
  color: darkgreen;
  font-weight: bold;
  width: 35%;
  font-size: 1.05em;
}

.scheda-proprietario td {
  padding: 12px 16px;
  background-color: #ffffff;
  color: #333;
  font-size: 1em;
  border-top: 1px solid #ccffcc;
}

@media (max-width: 500px) {
.scheda-proprietario th,
.scheda-proprietario td {
    padding: 10px;
    font-size: 0.95em;
}
}

.rubrica-banner {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 25px 30px;
  background: linear-gradient(135deg, #d7ffd7, #aaffaa);
  border: 3px solid limegreen;
  border-radius: 16px;
  box-shadow: 0 0 20px rgba(0, 200, 0, 0.2);
  text-decoration: none;
  max-width: 950px;
  margin: 40px auto;
  transition: box-shadow 0.3s ease;
}

.rubrica-banner:hover {
  box-shadow: 0 0 30px rgba(0, 150, 0, 0.3);
  background: linear-gradient(135deg, #c0ffc0, #99ff99);
}

.banner-testo {
  text-align: center;
}

.banner-testo h2 {
  margin: 0;
  font-size: 2em;
  color: darkgreen;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
}

.banner-testo p {
  margin: 8px 0 0;
  font-size: 1.1em;
  color: #333;
}

/* Cornice intorno alla scritta */
.cornice {
  padding: 5px 15px;
  border: 2px solid darkgreen;
  border-radius: 10px;
  background-color: #ffffff;
  box-shadow: 0 0 6px rgba(0, 150, 0, 0.2);
}

/* Icona NEW lampeggiante */
.new-icon {
  font-size: 1em;
  color: #cc5500;
  animation: lampeggiaNew 1.5s infinite;
}

@keyframes lampeggiaNew {
  0%, 100% { opacity: 1; transform: scale(1);}
  50% { opacity: 0.5; transform: scale(1.15);}
}

@media (max-width: 600px) {
.banner-testo h2 {
    font-size: 1.6em;
}

.banner-testo p {
    font-size: 1em;
}
}

/* Badge lampeggiante */
.badge-nuovo {
  background-color: #ffeeaa;
  color: #885500;
  font-size: 0.75em;
  font-weight: bold;
  padding: 4px 10px;
  border-radius: 10px;
  box-shadow: 0 0 6px rgba(255, 200, 0, 0.5);
  animation: lampeggiaBadge 1.5s infinite;
  text-transform: uppercase;
}

@keyframes lampeggiaBadge {
  0%, 100% { opacity: 1;}
  50% { opacity: 0.4;}
}

@media (max-width: 600px) {
.rubrica-banner {
    flex-direction: column;
    text-align: center;
}

.banner-logo img {
    height: 70px;
}

.banner-testo h2 {
    font-size: 1.6em;
}

.banner-testo p {
    font-size: 1em;
}
}
/* pedigree_newstyle.css */

table.pedigree {
  border-collapse: collapse;
  margin: 40px auto;
  font-family: 'Segoe UI', sans-serif;
  font-size: 15px;
  background-color: #fff;
  box-shadow: 0 0 20px rgba(0,0,0,0.1);
  border-radius: 12px;
  overflow: hidden;
}

table.pedigree td {
  border: 1px solid #ccc;
  padding: 12px;
  text-align: center;
  vertical-align: middle;
  min-width: 180px;
  transition: background-color 0.3s ease;
}

/* Cane principale */
.pedigree-wrapper {
  background: linear-gradient(135deg, #ffe680, #ffd633);
  font-weight: bold;
  padding: 10px;
  display: inline-block;
  border-radius: 10px;
  border: 2px solid #e0c000;
  box-shadow: 0 0 8px rgba(0,0,0,0.1);
}

/* Maschi */
.maschio {
  background-color: #d0f0ff;
  border-left: 5px solid #3399cc;
}

/* Femmine */
.femmina {
  background-color: #ffd6e7;
  border-left: 5px solid #cc6699;
}

/* Hover effect */
table.pedigree td:hover {
  background-color: #f0f8ff;
}

/* Titoli */
td strong {
  color: #003366;
  font-size: 16px;
}

/* Responsive */
@media screen and (max-width: 768px) {
  table.pedigree td {
    font-size: 13px;
    min-width: 140px;
    padding: 8px;
}
}
/* pedigree_clean.css */
.pedigree-container {
  display: flex;
  flex-direction: row;
  gap: 20px;
  font-family: 'Segoe UI', sans-serif;
  font-size: 14px;
  margin: 40px;
}

.pedigree-column {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}

.pedigree-box {
  border: 1px solid #333;
  padding: 10px 14px;
  border-radius: 6px;
  background-color: #f9f9f9;
  min-width: 180px;
  text-align: center;
  box-shadow: 0 0 4px rgba(0,0,0,0.05);
}

.pedigree-title {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 10px;
}
css
.tplge_rightColumn {
  width: 300px;
  margin-left: 20px;
}

.tplge_rightColumnL2 {
  background-color: #f5f5f5;
  padding: 15px;
  border-radius: 8px;
  color: #333;
}

.tplge_rightColumn h2 {
  font-size: 18px;
  margin-bottom: 10px;
}

/* ============================================================
   PAGINA LETTURE (.bci-letture)
   Da incollare IN FONDO a stylesheet.css, dopo il blocco "BCI NUOVO".
   Usa i colori gia' definiti in :root (navy, oro, carta, inchiostro).
   Tutte le regole sono limitate a .bci-letture: il resto del sito
   non viene toccato.
   ============================================================ */

.bci-letture { margin: 0 0 24px 0; }

/* Testata della pagina */
.bci-letture .letture-testata {
  margin: 0 0 8px 0;
  padding: 0 0 14px 0;
  border-bottom: 2px solid var(--bci-gold);
}
.bci-letture .letture-testata h2 {
  margin: 0;
  padding: 0 0 6px 0;
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: .01em;
}
.bci-letture .letture-testata p {
  margin: 0;
  padding: 0;
  color: #5b6772;
  font-size: 17px;
}

/* Titoli di sezione */
.bci-letture .letture-sezione {
  margin: 44px 0 20px 0;
  padding: 10px 16px;
  background: var(--bci-navy);
  color: #fff;
  border-left: 5px solid var(--bci-gold);
  border-radius: 2px;
  font-size: 15px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.bci-letture .letture-gruppo:first-of-type .letture-sezione { margin-top: 28px; }

.bci-letture .letture-presentazione {
  margin: 0 0 22px 0;
  padding: 4px 0 4px 16px;
  color: #5b6772;
  font-style: italic;
  border-left: 3px solid var(--bci-gold-light);
}

/* Scheda libro */
.bci-letture .libro {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
  margin: 0 0 22px 0;
  padding: 22px;
  background: #fff;
  border: 1px solid #e0d7c2;
  border-top: 3px solid var(--bci-gold);
  border-radius: 3px;
  box-shadow: 0 2px 10px rgba(16, 40, 63, .06);
}

/* Il separatore non serve piu': le schede sono gia' distinte */
.bci-letture .libro hr { display: none; }

/* Copertine */
.bci-letture .libro-copertina img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #d9d9d9;
  border-radius: 2px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .18);
}

/* Scheda con due copertine affiancate */
.bci-letture .libro-doppio { grid-template-columns: 230px minmax(0, 1fr); }
.bci-letture .libro-doppio .libro-copertina {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.bci-letture .libro-doppio .libro-copertina img {
  flex: 1 1 0;
  min-width: 0;
  width: 50%;
}

/* Testi */
.bci-letture .libro-contenuto .libro-titolo {
  margin: 0;
  padding: 0 0 4px 0;
  font-size: 21px;
  line-height: 1.25;
  color: var(--bci-navy);
}
.bci-letture .libro-contenuto p.libro-dati {
  margin: 0 0 10px 0;
  padding: 0 0 10px 0;
  color: #8b6a22;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
  border-bottom: 1px solid #ece4d0;
}
.bci-letture .libro-contenuto p {
  margin: 0;
  padding: 5px 0;
  font-size: 16px;
  line-height: 1.6;
}

/* Smartphone: copertina sopra, testo sotto */
@media (max-width: 640px) {
  .bci-letture .libro,
  .bci-letture .libro-doppio {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 16px;
  }
  .bci-letture .libro-copertina {
    max-width: 180px;
    margin: 0 auto;
  }
  .bci-letture .libro-doppio .libro-copertina { max-width: 300px; }
  .bci-letture .libro-contenuto .libro-titolo { font-size: 19px; }
  .bci-letture .letture-testata h2 { font-size: 26px; }
}


/* --- Effetto zoom --- */
.hover-zoom {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hover-zoom:hover {
  transform: scale(1.10);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}

/* --- Mappa del sito e pulsanti --- */
/* sitemaplevel1 */
ul.sitemaplevel1 {list-style-type: none; padding: 0; margin: 16px 0;}
ul.sitemaplevel1 li {font-family: RobotoCondensed, arial, sans-serif; font-size: 18px; font-weight: 900; line-height: 1.2em; text-transform: uppercase; border: 0px solid #abc; border-radius: 0; padding: 0; margin: 20px 0;}

/* sitemaplevel2 */
ul.sitemaplevel2 {list-style-type: none; border: 0; padding: 0; margin: 0;}
ul.sitemaplevel2 li {font-family: RobotoCondensed, sans-serif; font-size: 18px; font-weight: 400; text-transform: none; border: 0; padding: 10px 0 0 0; margin: 0;}

/* sitemaplevel3 */
ul.sitemaplevel3 {list-style-type: none; padding: 0; margin: 0;}
ul.sitemaplevel3 li {font-size: 18px; font-weight: 400; padding: 10px 0 0 20px;}

/* sitemaplevel4-6 */
ul.sitemaplevel4 {list-style-type: none; margin: 0;}
ul.sitemaplevel5 {list-style-type: none; margin: 0;}
ul.sitemaplevel6 {list-style-type: none; margin: 0;}


.btn-pubblica,.btn-info {
  display: inline-block;
  background-color: #0077cc;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  padding: 12px 24px;
  margin: 12px 0;
  border-radius: 6px;
  transition: background 0.3s ease;
}

.btn-pubblica:hover,.btn-info:hover {
  background-color: #005fa3;
  cursor: pointer;

}
/* CONTENITORE SLIDER */

.swiper {
  width: 100%;
  max-width: 1200px;
  height: 450px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}

/* WRAPPER */

.swiper-wrapper {
  height: 100%;
}

/* SINGOLA SLIDE */

.swiper-slide {
  height: 100%;
  display: flex;
}

.swiper-slide a {
  display: block;
  width: 100%;
  height: 100%;
}

.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000; /* puoi cambiare colore */
}
/* PALLINI */

.swiper-pagination {
  position: absolute;
  bottom: 10px;
  text-align: center;
  width: 100%;
}

.swiper-pagination-bullet {
  background: #ffffff;
  opacity: 0.7;
}

.swiper-pagination-bullet-active {
  opacity: 1;
}

/* FRECCE */

.swiper-button-next,
.swiper-button-prev {
  color: #ffffff;
  background: rgba(0,0,0,0.4);
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  font-size: 18px;
  font-weight: bold;
}
.swiper-button-next,
.swiper-button-prev {
  color: #ffffff;
  background: rgba(0,0,0,0.5);
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
  background: rgba(0,0,0,0.7);
}
/* CONTENITORE RELATIVO (già lo hai, ma lo ribadiamo) */
.swiper-slide a {
  position: relative;
}

/* TITOLO */
.slide-title {
  position: absolute;
  bottom: 60px;
  left: 20px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  background: rgba(0,0,0,0.5);
  padding: 8px 12px;
  border-radius: 4px;
}

/* BOTTONE SCOPRI */
.slide-cta {
  position: absolute;
  bottom: 20px;
  left: 20px;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  background: rgba(0,0,0,0.7);
  padding: 6px 12px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* HOVER (piccola chicca) */
.swiper-slide a:hover .slide-cta {
  background: rgba(0,0,0,0.9);
}


/* MailForms Plugin */
div.ddfmwrap {font-family: RobotoCondensed, arial, sans-serif!important; font-size: 18px!important;}
div.ddfmwrap input.ddmf_text {width: 360px!important; min-width: 240px!important; max-width: 90%!important; background: #fff!important; color: #333!important; font-family: RobotoCondensed, arial, sans-serif!important; font-size: 18px!important; border: 1px solid #aaa!important; border-radius: 0; padding: 4px 6px!important;}
div.ddfmwrap input.ddmf_verify {min-width: 106px!important; background: #fff!important; color: #333!important; font-family: RobotoCondensed, arial, sans-serif!important; font-size: 18px!important; border: 1px solid #aaa!important; width: 106px!important;}
div.ddfmwrap textarea {width: 99%!important; background: #fff!important; color: #333!important; font-family: RobotoCondensed, arial, sans-serif!important; font-size: 18px!important; border: 1px solid #aaa!important; border-radius: 0; padding: 4px 6px!important;}
div.ddfmwrap div.submitButton {width: 116px!important;}
div.ddfmwrap div.submitButton input {width: 100%!important;}

/* CookieLaw Plugin */
.cookielawHinttop {display: block; padding-top: 50px!important;}

/* Agenda - versione mobile */
@media (max-width: 768px) {

  /* contenitore calendario */
  #calendarHome,
  .fc {
    font-size: 11px;
  }

  /* titolo mese */
  .fc-toolbar-title {
    font-size: 14px !important;
  }

  /* numeri dei giorni */
  .fc-daygrid-day-number {
    font-size: 11px;
  }

  /* altezza righe */
  .fc-daygrid-day-frame {
    min-height: 60px;
  }

  /* eventi */
  .fc-event-title {
    font-size: 10px;
    line-height: 1.2;
  }
}
@media (max-width: 600px) {

  .slide-title {
    font-size: 18px;
    bottom: 50px;
    left: 15px;
  }

  .slide-cta {
    font-size: 12px;
    bottom: 15px;
    left: 15px;
  }

  .swiper {
    height: 300px;
  }

}

/* ==================================================
   CAMPI DI ADDESTRAMENTO BOXER
   (stili locali – NON toccano il resto del sito)
   ================================================== */

.campi-boxer h2 {
  margin-top: 40px;
  border-bottom: 2px solid #573;
  padding-bottom: 6px;
}

.campi-boxer h3 {
  margin-top: 32px;
  color: #573;
}

/* scheda centro */
.campi-boxer h3 + p,
.campi-boxer h3 + p + ul,
.campi-boxer h3 + p + ul + p {
  background: #f5f5f5;
  border-left: 6px solid #573;
  padding: 14px 20px;
}

/* liste servizi */
.campi-boxer ul {
  list-style: none;
  margin-left: 0;
}

.campi-boxer ul li {
  position: relative;
  padding-left: 18px;
}

.campi-boxer ul li::before {
  content: "▸";
  position: absolute;
  left: 0;
  color: #573;
  font-weight: bold;
}

/* contatti */
.campi-boxer p a {
  font-weight: 700;
}


/* Zoom copertine Letture */
.bci-letture .libro-copertina img { cursor: zoom-in; transition: opacity .2s ease; }
.bci-letture .libro-copertina img:hover { opacity: .9; }

.bci-zoom {
  display: none;
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 10000;
  box-sizing: border-box;
  padding: 24px;
  background: rgba(10, 28, 45, .93);
  align-items: center;
  justify-content: center;
  cursor: zoom-out;
}
.bci-zoom.aperto { display: flex; }
.bci-zoom img {
  display: block;
  width: auto;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
}
.bci-zoom-chiudi {
  position: absolute;
  top: 12px; right: 18px;
  width: 44px; height: 44px;
  background: transparent;
  color: #fff;
  border: 0;
  font-size: 38px;
  line-height: 44px;
  cursor: pointer;
}
.bci-zoom-chiudi:hover { color: var(--bci-gold); }
body.bci-zoom-blocco { overflow: hidden; }
/* Riquadro chiaro per la sezione Sponsor */
.sidebar-logos .sidebar-title:last-of-type {
    background: #f2f4f5;
    color: #17334b;
    padding: 10px;
    border-radius: 5px;
}

.sidebar-logos .sidebar-title:last-of-type ~ a {
    background: #f2f4f5;
    display: inline-block;
    padding: 8px;
    border-radius: 5px;
}
.sidebar-logos {
    background-color: #f2f3f4;
    padding: 12px;
    border-radius: 6px;
}

/* ========================================
   BCI - PAGINA ASSOCIARSI
   ======================================== */

.bci-page {
    font-family: Arial, Helvetica, Verdana, sans-serif;
    color: #263442;
    line-height: 1.6;
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
    box-sizing: border-box;
}

/* Intestazione */

.bci-page .bci-hero {
    background: #263f32;
    color: #ffffff;
    padding: 35px 40px;
    margin-bottom: 28px;
    border-radius: 8px;
}

.bci-page .bci-hero h1 {
    color: #ffffff;
    font-size: 30px;
    line-height: 1.25;
    margin: 0 0 16px;
}

.bci-page .bci-hero p {
    color: #ffffff;
    font-size: 17px;
    margin: 0 0 20px;
}

.bci-page .bci-button {
    display: inline-block;
    background: #ffffff;
    color: #263f32;
    padding: 11px 20px;
    border-radius: 4px;
    font-weight: bold;
    text-decoration: none;
}

.bci-page .bci-button:hover {
    background: #e5eee8;
    text-decoration: none;
}

/* Griglia dei servizi */

.bci-page .bci-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.bci-page .bci-card {
    background: #f4f7f5;
    border: 1px solid #dce5df;
    border-top: 4px solid #54775d;
    border-radius: 6px;
    padding: 24px;
    box-sizing: border-box;
    min-width: 0;
}

.bci-page .bci-card h2 {
    color: #365b42;
    font-size: 21px;
    line-height: 1.3;
    margin: 0 0 14px;
}

.bci-page .bci-card p {
    margin: 0 0 14px;
}

.bci-page .bci-card p:last-child {
    margin-bottom: 0;
}

.bci-page .bci-card a {
    color: #087ca8;
    font-weight: bold;
}

/* Iscrizione e quota associativa */

.bci-page .bci-membership {
    background: #f1eadb;
    border: 1px solid #e0d3b9;
    border-radius: 6px;
    padding: 28px 32px;
    margin: 30px 0;
    box-sizing: border-box;
}

.bci-page .bci-membership h2 {
    color: #55452e;
    font-size: 24px;
    margin: 0 0 16px;
}

.bci-page .bci-membership h3 {
    color: #55452e;
    font-size: 18px;
    margin: 22px 0 8px;
}

.bci-page .bci-membership p {
    margin: 0 0 12px;
}

.bci-page .bci-bank {
    background: #ffffff;
    border-left: 4px solid #a58b5b;
    padding: 16px 20px;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}

.bci-page .bci-bank p {
    margin: 5px 0;
}

/* Contatti */

.bci-page .bci-contact {
    background: #263f32;
    color: #ffffff;
    padding: 26px 32px;
    border-radius: 6px;
    margin-top: 30px;
    box-sizing: border-box;
}

.bci-page .bci-contact h2 {
    color: #ffffff;
    font-size: 22px;
    margin: 0 0 12px;
}

.bci-page .bci-contact p {
    color: #ffffff;
    margin: 5px 0;
}

.bci-page .bci-contact a {
    color: #ffffff;
    text-decoration: underline;
}

/* Adattamento smartphone */

@media screen and (max-width: 650px) {
    .bci-page {
        padding: 10px;
    }

    .bci-page .bci-hero {
        padding: 24px 20px;
    }

    .bci-page .bci-hero h1 {
        font-size: 25px;
    }

    .bci-page .bci-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .bci-page .bci-card {
        padding: 20px;
    }

    .bci-page .bci-membership {
        padding: 22px 18px;
    }

    .bci-page .bci-contact {
        padding: 22px 20px;
    }
}

/* ============================================================
   PARTE 3 - ADATTAMENTO SMARTPHONE DEI CONTENUTI
   (in fondo al file di proposito: deve venire dopo gli stili dei contenuti)
   ============================================================ */
@media (max-width: 599px) {
  img.tplge_right_border, img.tplge_left_border, img.tplge_right_noborder, img.tplge_left_noborder, img.tplge_right, img.tplge_left { float: none; display: block; max-width: 100%; margin: 0 auto 16px; }
  figure.align-left, figure.align-right { float: none; max-width: 100%; margin: 14px auto; }
  div.tplge_contentboxleft, div.tplge_contentboxright { float: none; width: 100%; margin: 0 0 14px; }
}
