/* === Officine Forgiarini - rifiniture template === */

/* Menu (principale e di sezione): statico ed ESPANSO come l'originale */
.mod-menu__sub { display: block !important; }
.mod-menu__toggle-sub { display: none !important; }
.visually-hidden, .sr-only {
    position: absolute !important; width: 1px; height: 1px;
    padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.art-BlockContent .mod-menu,
.art-BlockContent .mod-menu ul { list-style: none !important; margin: 0; }
.art-BlockContent .mod-menu { padding: 0; }
/* indentazione gerarchica progressiva (rientro ridotto) */
.art-BlockContent .mod-menu ul.mod-menu__sub { padding: 0 0 0 9px !important; }
.art-BlockContent .mod-menu li {
    margin: 0; padding: 2px 0 2px 11px;
    background: url('../images/PostBullets.png') no-repeat left 9px;
}
.art-BlockContent .mod-menu a { text-decoration: none; }
.art-BlockContent .mod-menu a:hover { text-decoration: underline; }
.art-BlockContent .mod-menu .active > a,
.art-BlockContent .mod-menu .current > a { font-weight: bold; }

/* Language switcher: solo bandiere, niente etichetta ne' bullet */
#art-main .mod-languages > p,
#art-main .mod-languages label,
#art-main .mod-languages .visually-hidden { display: none !important; }
#art-main .mod-languages ul,
#art-main .mod-languages ol { list-style: none !important; margin: 0; padding: 0; }
#art-main .mod-languages li {
    display: inline-block !important; margin: 0 3px; padding: 0 !important;
    background: none !important; list-style: none !important;
}
#art-main .mod-languages li::before,
#art-main .mod-languages li::marker { content: none !important; display: none !important; }

/* Banner menu alto (home): immagini affiancate, senza bordi */
.art-topmenu table { margin: 0 auto; }
.art-topmenu img { border: 0; display: block; }

/* Lightbox immagini articoli */
#art-main .art-PostContent img { cursor: zoom-in; }
.fg-lightbox {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,.82); display: flex; align-items: center; justify-content: center;
    z-index: 99999; opacity: 0; transition: opacity .25s ease; cursor: zoom-out;
}
.fg-lightbox.is-open { opacity: 1; }
.fg-lightbox img {
    max-width: 92%; max-height: 92%; border: 4px solid #fff; background: #fff;
    box-shadow: 0 0 40px rgba(0,0,0,.6); transform: scale(.9);
    transition: transform .25s ease; cursor: default;
}
.fg-lightbox.is-open img { transform: scale(1); }
.fg-lightbox__close {
    position: absolute; top: 14px; right: 24px; color: #fff; font-size: 42px;
    line-height: 1; cursor: pointer; font-family: Arial, sans-serif; z-index: 2;
}
/* video YouTube nel lightbox (16:9 responsive) */
.fg-lightbox__video { width: 80%; max-width: 900px; aspect-ratio: 16/9; background: #000; transform: scale(.9); transition: transform .25s ease; }
.fg-lightbox.is-open .fg-lightbox__video { transform: scale(1); }
.fg-lightbox__video iframe { width: 100%; height: 100%; border: 0; display: block; }

/* Social (Facebook + LinkedIn) */
.fg-social { margin: 12px 0 6px; padding-left: 6px; }
.fg-social a {
    display: inline-block; width: 30px; height: 30px; margin-right: 6px;
    vertical-align: middle; transition: transform .15s ease, opacity .15s ease; opacity: .92;
}
.fg-social a:hover { transform: translateY(-2px); opacity: 1; }
.fg-social a svg { width: 30px; height: 30px; display: block; }
.fg-social__fb { color: #1877f2; }
.fg-social__li { color: #0a66c2; }

/* ============== RESPONSIVE (desktop invariato) ============== */
@media (max-width: 920px) {
    .art-Sheet { width: auto !important; max-width: 100%; }
    div.art-Header, div.art-Header-jpeg, .art-contentLayout { width: auto !important; max-width: 100%; }
    div.art-Header-jpeg { background-size: cover !important; }
    .art-contentLayout .art-content,
    .art-contentLayout .art-content-wide,
    .art-contentLayout .art-content-sidebar1,
    .art-contentLayout .art-content-sidebar2 { width: auto !important; }
    #art-main img, .art-PostContent img, .art-Logo img { max-width: 100%; height: auto; }
    body { overflow-x: hidden; }
}
@media (max-width: 760px) {
    /* contenuto sopra, menu/sidebar sotto */
    .art-contentLayout { display: flex; flex-direction: column; }
    .art-contentLayout .art-sidebar1 { order: 2; float: none !important; width: auto !important; }
    .art-contentLayout .art-content,
    .art-contentLayout .art-content-wide { order: 1; float: none !important; width: auto !important; }
    /* menu-alto a 3 banner: impilati e scalati */
    .art-topmenu table, .art-topmenu tbody, .art-topmenu tr, .art-topmenu td { display: block !important; width: 100% !important; }
    .art-topmenu img { width: 100%; max-width: 320px; height: auto; margin: 3px auto; display: block; }
    /* banner di sezione: scala proporzionale (886x94) */
    #head_forg { display: block !important; width: 100% !important; max-width: 886px; height: 0 !important;
        padding-bottom: 10.6% !important; background-size: contain !important; background-repeat: no-repeat !important; margin: 0 auto; }
    /* tabelle posizioni a blocco */
    .position, .position tbody, .position tr, .position td { display: block !important; width: 100% !important; }
    /* header: logo e bandiere non affiancate forzate */
    .art-Logo > div { float: none !important; display: block; text-align: left; }
    .art-Logo > div[style*="right"] { margin-top: 4px; }
}
@media (max-width: 760px) {
    .art-Footer, .art-Footer-inner, .art-Footer-text, .art-Footer-text p {
        white-space: normal !important; word-break: break-word;
        font-size: 11px; line-height: 1.45; text-align: center; padding-left: 8px; padding-right: 8px;
    }
}

/* ===== Etichette menu alto: nascoste su desktop (solo immagini) ===== */
.fg-tm-label { display: none; }

/* ===== Rifiniture generali (desktop) ===== */
#art-main a { transition: color .15s ease, background-color .15s ease; }
.art-PostContent { line-height: 1.58; }
.art-PostContent p { margin: 0 0 .85em; }
.art-PostContent img { border-radius: 4px; }
.art-PostHeader { letter-spacing: .2px; }

/* ===== UX Mobile (<=760px) ===== */
@media (max-width: 760px) {
  /* banner-alto -> bottoni testuali colorati per pilastro */
  .art-topmenu .fg-tm img { display: none !important; }
  .art-topmenu .fg-tm { display: block; text-decoration: none; }
  .art-topmenu .fg-tm-label {
    display: block; padding: 15px 12px; margin: 6px 2px; color: #fff !important;
    font-weight: bold; text-align: center; border-radius: 10px; font-size: 16px;
    text-transform: uppercase; letter-spacing: .3px; box-shadow: 0 2px 6px rgba(0,0,0,.18);
  }
  .fg-tm--auto .fg-tm-label { background: #1f7fa8; }
  .fg-tm--abra .fg-tm-label { background: #e0851d; }
  .fg-tm--mecc .fg-tm-label { background: #2e8b57; }
  .fg-tm--auto .fg-tm-label:active { background: #195f7e; }
  .fg-tm--abra .fg-tm-label:active { background: #b96b15; }
  .fg-tm--mecc .fg-tm-label:active { background: #246e45; }

  /* menu laterale: tap target grandi, righe separate */
  .art-BlockContent .mod-menu li { padding: 0 !important; background: none !important; border-bottom: 1px solid #e6ebe0; }
  .art-BlockContent .mod-menu a { display: block; padding: 12px 10px; font-size: 15px; }
  .art-BlockContent .mod-menu ul.mod-menu__sub { padding-left: 12px !important; }
  .art-BlockContent .mod-menu ul.mod-menu__sub a { padding-left: 8px; }
  .art-BlockContent .mod-menu .active > a,
  .art-BlockContent .mod-menu .current > a,
  .art-BlockContent .mod-menu a:active { background: #eef3e8; }

  /* tipografia leggibile + respiro */
  .art-PostContent { font-size: 15px; line-height: 1.65; padding: 0 10px; }
  .art-BlockHeader .t { font-size: 16px; }
  .art-Block-body { padding-left: 4px; padding-right: 4px; }
}
@media (max-width: 760px) {
  /* header: logo+bandiere come da template; margine per separare dai bottoni */
  .art-topmenu, .art-secbanner { clear: both; margin-top: 22px; }
  #art-main .mod-languages img { max-width: 24px !important; height: auto !important; }
}

/* === Header menu di sezione: colore autentico dell'originale per ciascuna sezione ===
   auto=azzurro, abrasivi=oro, meccaniche=grigio (immagini estratte dalle varianti 1.5) */
body.section-auto .art-BlockHeader .l, body.section-auto .art-BlockHeader .r { background-image: url('../images/BlockHeader-auto.png'); }
body.section-abra .art-BlockHeader .l, body.section-abra .art-BlockHeader .r { background-image: url('../images/BlockHeader-abra.png'); }
body.section-mecc .art-BlockHeader .l, body.section-mecc .art-BlockHeader .r { background-image: url('../images/BlockHeader-mecc.png'); }

/* Voci del menu di sezione: colore testo + bullet del colore della sezione (come l'originale) */
body.section-auto .art-BlockContent .mod-menu a { color: #1F5F93; }
body.section-auto .art-BlockContent .mod-menu a:visited { color: #4E9BDA; }
body.section-auto .art-BlockContent .mod-menu a:hover { color: #318AB9; }
body.section-auto .art-BlockContent .mod-menu li { background-image: url('../images/PostBullets-auto.png'); }
body.section-abra .art-BlockContent .mod-menu a { color: #B14E02; }
body.section-abra .art-BlockContent .mod-menu a:visited { color: #FD862B; }
body.section-abra .art-BlockContent .mod-menu a:hover { color: #E6AA05; }
body.section-abra .art-BlockContent .mod-menu li { background-image: url('../images/PostBullets-abra.png'); }
body.section-mecc .art-BlockContent .mod-menu a { color: #595959; }
body.section-mecc .art-BlockContent .mod-menu a:visited { color: #949494; }
body.section-mecc .art-BlockContent .mod-menu a:hover { color: #757575; }
body.section-mecc .art-BlockContent .mod-menu li { background-image: url('../images/PostBullets-mecc.png'); }

/* === Paginazione blog/news: orizzontale, senza pallini, con frecce === */
.pagination{ list-style:none !important; display:flex; flex-wrap:wrap; gap:5px; justify-content:center; padding:0 !important; margin:18px 0 6px; }
.pagination li{ list-style:none !important; background:none !important; margin:0 !important; padding:0 !important; }
.pagination li::before, .pagination li::marker{ content:none !important; display:none !important; }
.pagination .page-link, .pagination li > a, .pagination li > span{ display:inline-block; min-width:38px; padding:8px 12px; text-align:center;
  border:1px solid #cdd8bf; border-radius:5px; color:#5a7722; text-decoration:none; background:#fff; line-height:1; }
.pagination li > a:hover{ background:#eef3e3; }
.pagination .active > a, .pagination .active > span{ background:#6b8e23; color:#fff; border-color:#6b8e23; }
.pagination .disabled > a, .pagination .disabled > span{ color:#c2c2bb; background:#f6f6f3; }
.com-content-category-blog__counter{ text-align:center; color:#777; margin-top:8px; }
/* frecce per i link icona vuoti (prima/prec/succ/ultima) */
.pagination [aria-label*="successiva"], .pagination [aria-label*="ultima"], .pagination [aria-label*="recedente"], .pagination [aria-label*="rima pagina"]{ font-size:0 !important; }
.pagination [aria-label*="recedente"]::after{ content:"\2039"; font-size:17px; }
.pagination [aria-label*="rima pagina"]::after{ content:"\00ab"; font-size:15px; }
.pagination [aria-label*="successiva"]::after{ content:"\203A"; font-size:17px; }
.pagination [aria-label*="ultima"]::after{ content:"\00bb"; font-size:15px; }

/* === Paginazione: frecce su tutte le voci icona (anche disabilitate) === */
.pagination [class*="icon-angle"]{ font-size:16px !important; line-height:1; font-style:normal; }
.pagination .icon-angle-double-left::before{ content:"\00ab"; }
.pagination .icon-angle-left::before{ content:"\2039"; }
.pagination .icon-angle-right::before{ content:"\203A"; }
.pagination .icon-angle-double-right::before{ content:"\00bb"; }
/* niente doppia freccia: annullo le ::after basate su aria-label e ripristino font-size */
.pagination a[aria-label*="successiva"]::after, .pagination a[aria-label*="ultima"]::after,
.pagination a[aria-label*="recedente"]::after, .pagination a[aria-label*="rima pagina"]::after{ content:none !important; }
.pagination a[aria-label*="successiva"], .pagination a[aria-label*="ultima"],
.pagination a[aria-label*="recedente"], .pagination a[aria-label*="rima pagina"]{ font-size:16px !important; }
