/* =========================================================
   IMPOSTAZIONI GLOBALI
   ========================================================= */
@font-face {
  font-family: 'KdamThmorPro';
  src: url('/assets/fonts/KdamThmorPro-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap; /* migliora performance */
}

/* Applica come font di default */
body {
  font-family: 'KdamThmorPro', Arial, sans-serif;
}
.breadcrumb-item a{
  color:#e32d10!important;
  text-decoration: none!important;
}

/* =========================================================
   SIDEBAR CARTELLE
   ========================================================= */
aside ul.nav .nav-link{
  color:#444;background:transparent;border-radius:4px;padding:6px 10px;transition:all .2s;
}
aside ul.nav .nav-link:hover{ background:#f0f0f0; }
aside ul.nav .nav-link.fw-bold{ background:#e32d10!important;color:#fff!important; }

/* Mantieni sidebar a tutta altezza SOLO su desktop */
@media (min-width: 992px) {
  aside {
    height: 100vh !important;
  }
}

/* =========================================================
   GRID CARTELLE / TILE
   ========================================================= */
main .row .text-center img{ display:block;margin:0 auto; }

/* immagini e pdf (tile) */
.image-item a,.pdf-item a{ display:block;text-decoration:none;color:inherit;transition:transform .15s; }
.image-item a:hover,.pdf-item a:hover{ transform:translateY(-1px); will-change:transform; }

/* Folder tiles */
.folder-card{ text-align:center; }
.folder-thumb{
  width:100%;aspect-ratio:4/3;background:#fff;border:1px solid rgba(0,0,0,.08);
  border-radius:12px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 1px 4px rgba(0,0,0,.06);transition:transform .18s,box-shadow .18s;
}
.folder-thumb img{ max-width:68%;height:auto; }
.folder-card:hover .folder-thumb{ transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.08); }
.folder-name{
  margin-top:.5rem;font-size:.92rem;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
/* evidenziazioni opzionali */
.highlight-video .folder-thumb{ border-color:#00adef;box-shadow:0 0 0 2px rgba(0,173,239,.15) inset; }
.highlight-comunicati .folder-thumb{ border-color:#e03131;box-shadow:0 0 0 2px rgba(224,49,49,.15) inset; }
.special-folder .folder-thumb{ border-color:#ffc107;box-shadow:0 0 0 2px rgba(255,193,7,.18) inset; }

/* =========================================================
   BREADCRUMB
   ========================================================= */
.breadcrumb{ background:transparent;padding-left:0; }

/* =========================================================
   PULSANTI ANNI
   ========================================================= */
.btn-outline-secondary.active{ background:#e32d10;color:#fff;border-color:#e32d10; }

/* =========================================================
   LIGHTBOX / IMMAGINI
   ========================================================= */
.image-item{ position:relative; }
.image-item .position-relative{ border-radius:.375rem; overflow:hidden; }
.glightbox-play-overlay{
  position:absolute;inset:0;background:rgba(0,0,0,.3);display:flex;justify-content:center;align-items:center;
  opacity:0;transition:opacity .2s;
}
.image-item:hover .glightbox-play-overlay{ opacity:1; }
.glightbox-play-icon{
  font-size:2rem;color:#fff;background:rgba(0,0,0,.5);border-radius:50%;width:40px;height:40px;line-height:40px;text-align:center;
}

/* =========================================================
   PDF TILE
   ========================================================= */
.pdf-thumb{
  width:100%;aspect-ratio:4/3;background:#f8f9fa;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(0,0,0,.08);border-radius:.375rem;
}
.pdf-thumb i.bi-file-earmark-pdf{ font-size:3rem;color:#dc3545; }

/* =========================================================
   VIDEO TILE (coerenza overlay)
   ========================================================= */
.video-item .position-relative{ border-radius:.375rem; overflow:hidden; }
.video-item .glightbox-play-overlay{ opacity:0; }
.video-item:hover .glightbox-play-overlay{ opacity:1; }

/* =========================================================
   PAGINE INTERNE (immagine sx + testo dx)
   ========================================================= */
/* wrapper full width sempre presente */
.internal-wrapper{ width:100%; }

/* immagine di sinistra */
.internal-hero{
  background-size:cover;background-position:center center;background-repeat:no-repeat;
  min-height:55vh;
}
@media (min-width:992px){
  .internal-hero{ min-height:calc(100vh - 70px); }
}

/* testo a destra: più vicino e simmetrico */
.internal-body{ display:flex; align-items:center; }
.internal-body-inner{
  /* larghezza leggibile e margini simmetrici */
  max-width:660px;
  padding-inline: clamp(12px, 2vw, 24px);
  margin-left: clamp(8px, 1.6vw, 20px);   /* avvicina al bordo sinistro della colonna */
  margin-right: clamp(8px, 1.6vw, 20px);  /* simmetria a destra */
}
@media (max-width:991.98px){
  .internal-body{ align-items:flex-start; }
  .internal-body-inner{ max-width:100%; margin-left:0; margin-right:0; padding-inline:16px; }
}

/* spaziatura verticale desktop ampia e riutilizzabile */
.py-lg-6{ padding-top:4rem!important; padding-bottom:4rem!important; }

/* bottoni brand */
.btn-eicma-red{ background:#e03131;border-color:#e03131;color:#fff; }
.btn-eicma-red:hover,.btn-eicma-red:focus{ background:#c62828;border-color:#c62828;color:#fff; }

/* =========================================================
   CARRELLO (navbar + dropdown)
   ========================================================= */
.navbar{padding:18px;text-transform: uppercase;}
/* icona/badge */
.navbar .cart-toggle{ position:relative;width:2.25rem;height:2.25rem;border-radius:.5rem; }
.navbar .cart-toggle .bi-bag{ font-size:1.15rem;line-height:1; }
.navbar .cart-badge {
  position: absolute;
  right: -6px;
  top: -6px;
  font-size: .70rem;
  font-weight: 600;
  color: #fff;
  background: #dc3545;

  /* forma circolare per 1 cifra */
  min-width: 20px;
  height: 20px;
  border-radius: 50%;

  /* centratura del testo */
  display: flex;
  align-items: center;
  justify-content: center;

  /* bordo bianco attorno */
  box-shadow: 0 0 0 2px #fff;
  line-height: 1;
  padding: 0 4px; /* un po’ di respiro per due cifre */
}
.navbar .cart-toggle:active{ transform:translateY(1px); }
@media (min-width:992px){
  .navbar .cart-toggle{ width:2.4rem;height:2.4rem; }
  .navbar .cart-badge{ right:-8px;top:-8px; }
}

/* dropdown righe */
#cart-list .list-group-item{
  display:flex;align-items:flex-start;gap:.5rem;overflow:hidden;
  border:0;border-bottom:1px solid rgba(0,0,0,.06);padding:.6rem .5rem;
}
#cart-list .list-group-item:last-child{ border-bottom:0; }
#cart-list .cart-main,#cart-list .flex-grow-1{ min-width:0; overflow:hidden; }

/* nome: ellissi */
#cart-list .cart-name,#cart-list .fw-semibold,#cart-list strong{
  display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
/* path: ellissi (desktop/tablet) */
#cart-list .cart-path,#cart-list .text-muted{
  display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#6c757d;font-size:.875rem;
}
/* meta a destra */
#cart-list .cart-meta{ flex:0 0 auto;margin-left:.25rem;text-align:right; }

/* mobile: nasconde path e allarga dropdown */
@media (max-width:576px){
  .dropdown-menu{ width:92vw;max-width:420px; }
  #cart-list .cart-path,#cart-list .text-muted{ display:none!important; }
  #cart-list .cart-name,#cart-list .fw-semibold,#cart-list strong{ white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
}

/* ===== Navbar centrata (logo + menu) ===== */
.navbar-centered {
  /* rende la barra un pochino più “aria” */
  padding-top: .35rem;
  padding-bottom: .35rem;
}
.navbar-centered .navbar-brand {
  order: 0;                    /* il brand viene prima */
}
.navbar-centered .navbar-toggler {
  order: 1;                    /* toggler dopo il brand a destra */
}
.navbar-centered .navbar-collapse {
  order: 2;                    /* menu per ultimo, centrato */
}
.navbar-centered .navbar-nav .nav-link {
  text-transform: uppercase;
  letter-spacing: .02em;
}

/* Distanza verticale tra logo e menu su desktop: minima */
@media (min-width: 992px){
  .navbar-centered .navbar-brand { margin-bottom: .25rem; }
  .navbar-centered .navbar-collapse { margin-top: 0; }
}

/* Active state coerente */
.navbar-centered .nav-link.active {
  font-weight: 600;
}

/* (già presenti) sticky helper: padding top per non coprire il contenuto */
:root{
  --navbar-h-mobile: 56px;
  --navbar-h-desktop: 64px;
}


/* opzionale: ombra quando si scorre */
.navbar.sticky-top.scrolled{ box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35); }
.navbar.sticky-top {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

/* ===== Navbar: voci centrate su mobile ===== */
@media (max-width: 991.98px){ /* quando .navbar-expand-lg è collassata */
  /* il contenitore della collapse */
  .navbar .navbar-collapse{
    text-align: center;
  }

  /* la lista nav */
  .navbar .navbar-collapse .navbar-nav{
    width: 100%;
    justify-content: center;   /* centra orizzontalmente */
    align-items: center;       /* allinea verticalmente le voci */
    gap: .25rem;
  }

  /* ogni voce occupa la larghezza, ma il link è centrato */
  .navbar .navbar-collapse .nav-item{
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .navbar .navbar-collapse .nav-link{
    padding: .5rem 0;
  }

  /* icona carrello sotto le voci e centrata */
  .navbar .navbar-collapse .cart-toggle{
    margin: .25rem auto 0;
    display: inline-flex;
  }
}

.cart-badge{
    font-weight: 800;
    color:#fff;
}



/* =========================================================
   FOOTER (scuro)
   ========================================================= */
.site-footer{ background:#0f1113;color:#aab0b6;margin-top:0px!important; }
.site-footer .footer-sep{ border-color:rgba(255,255,255,.08); }
.site-footer .footer-title{
  color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.75rem;
}
.site-footer .footer-logo{ height:68px; width:auto; }
.site-footer .footer-link{
  color:#aab0b6;text-decoration:none;display:inline-block;padding:.15rem 0;
}
.site-footer .footer-link:hover{ color:#fff;text-decoration:underline; }
.site-footer .footer-social{
  display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
  border-radius:999px;background:#1a1d20;color:#fff;font-size:1.1rem;transition:background .2s,transform .1s;
}
.site-footer .footer-social:hover{ background:#e03131; transform:translateY(-1px); }

/* =========================================================
   PAGINE INTERNE: immagine a sinistra a filo footer
   ========================================================= */
.internal-wrapper .row.g-0 > .internal-hero {
  margin-bottom: 0 !important;   /* elimina gap */
  padding-bottom: 0 !important;
}

.internal-wrapper .row.g-0 {
  margin-bottom: 0 !important;
}

/* =========================
   SIDEBAR STICKY + OFFSET NAVBAR
   ========================= */

/* variabili: altezza navbar + gap */
:root{
  --nav-h: 72px;   /* fallback: desktop */
  --nav-gap: 12px; /* respiro tra navbar e sidebar */
}

/* mobile/tablet: navbar un po' più bassa (fallback) */
@media (max-width: 991.98px){
  :root{ --nav-h: 60px; }
}

/* rimuovi eventuali altezze fisse sull’aside */
aside{ height: auto; }

/* sidebar davvero sticky */
.sticky-sidebar{
  position: sticky;
  top: calc(var(--nav-h) + var(--nav-gap));
  max-height: calc(100vh - var(--nav-h) - var(--nav-gap) - 24px);
  overflow: auto;
}

/* opzionale: su telefoni puoi disattivare la sticky */
@media (max-width: 575.98px){
  .sticky-sidebar{
    position: static;
    max-height: none;
    overflow: visible;
  }
}

/* cosmesi: scrollbar discreta (WebKit) */
.sticky-sidebar::-webkit-scrollbar{ width: 8px; }
.sticky-sidebar::-webkit-scrollbar-thumb{ background: rgba(0,0,0,.15); border-radius: 8px; }
.sticky-sidebar::-webkit-scrollbar-track{ background: transparent; }

aside{
    text-transform: uppercase
}

/* =========================
   SLIDER HOME
   ========================= */
@media (max-width: 767.98px) {
  .cs-description {
    text-align: center;
  }
}
.btn-detail{
  background-color: #e32d10;
  color:#fff!important;
  border:solid 1px #e32d10;
  padding:17px!important;
  border-radius: 8px;
}


/* ====== News Ticker (Home) ====== */
.news-ticker{
  background:#000;
  color:#fff;
  overflow:hidden;
  width:100%;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.news-ticker .ticker-track{
  display:flex;
  align-items:center;
  gap:2rem;
  white-space:nowrap;
  will-change: transform;
  animation: nt-marquee 40s linear infinite;
  padding:.6rem 1rem;
}
.news-ticker:hover .ticker-track{
  animation-play-state: paused; /* pausa su hover */
}
.ticker-item{
  display:inline-flex;
  align-items:baseline;
  gap:.6rem;
  text-decoration:none;
  color:#fff;
}
.ticker-item .date{
  color:#9aa0a6;        /* grigio */
  font-size:.9rem;
  letter-spacing:.2px;
}
.ticker-item .title{
  color:#fff;           /* bianco */
  font-weight:600;
}

/* Mobile: leggermente più lento e con gap minore */
@media (max-width: 575.98px){
  .news-ticker .ticker-track{ gap:1.25rem; animation-duration: 55s; }
  .ticker-item .title{ font-weight:500; }
}

@keyframes nt-marquee{
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); } /* -50% perché abbiamo duplicato gli elementi */
}

/* =========================
   CEKBOX
   ========================= */

/* Nasconde lo stile nativo */
.form-check-input {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 42px;
  height: 28px;
  border-radius: 50px; /* pillola */
  background: #ddd;
  position: relative;
  cursor: pointer;
  transition: background 0.3s ease;
  border: none;
    margin-top:2px
}

/* Cerchietto interno */
.form-check-input::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  transition: transform 0.3s ease;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

/* Stato attivo */
.form-check-input:checked {
  background: #e03131; /* rosso EICMA */
}

/* Cerchietto spostato */
.form-check-input:checked::before {
  transform: translateX(18px);
}

/* Focus accessibilità */
.form-check-input:focus {
  outline: none;
  box-shadow: 0 0 4px rgba(46, 46, 46, 0.6);
}
/* =========================
  FIX WEGLOT MENù
   ========================= */

   /* --- Fix navbar items che diventano altissimi --- */
.navbar .navbar-nav {            /* centriamo verticalmente gli item */
  align-items: center;
}

.navbar .navbar-nav > .nav-item {
  display: inline-flex;          /* impedisce l'allungamento verticale */
  align-items: center;
  height: auto !important;       /* forza l'altezza naturale */
  align-self: auto !important;   /* niente stretch */
}

/* stile coerente dei link */
.navbar .navbar-nav .nav-link {
  display: inline-flex;
  align-items: center;
  padding: .5rem .9rem;
  line-height: 1.2;
}

/* Ancora Weglot: non deve “spingere” la riga */
#weglot-anchor {
  display: inline-flex;
  align-items: center;
  margin-left: .5rem;
}

/* --- Navbar: allinea gli item e preveni allungamenti --- */
.navbar .navbar-nav{ align-items:center; gap:.75rem; }
.navbar .navbar-nav > .nav-item{
  display:inline-flex; align-items:center;
  height:auto !important; align-self:auto !important;
}

/* --- Weglot: monta come "pill" a destra del carrello, niente colonna alta --- */
#weglot-anchor{
  display:inline-flex; align-items:center;
  margin-left:.5rem; /* distanzia dal carrello */
}
#weglot-anchor,
#weglot-anchor *{
  height:auto !important;
}
#weglot-anchor .weglot-container,
#weglot-anchor #weglot_here,
#weglot-anchor .wg-default,
#weglot-anchor .country-selector{
  display:inline-flex !important;
  align-items:center;
  width:auto !important;
  padding:0; margin:0;
}
/* evita dropdown “staccati” dal flusso */
#weglot-anchor .wg-drop{ position:static !important; }
