/* SILS – integrazioni J6 al CSS Artisteer originale (template.css / template.responsive.css) */

/* menu mobile: il vecchio script.js faceva show()/hide() */
.responsive .art-nav ul.art-hmenu.visible { display: block; }

/* logo cliccabile (prima era un div) */
a.art-object890035891 { text-indent: -9999px; overflow: hidden; }

/* slideshow home (sostituisce mod_ppc_simple_spotlight) */
.sils-slideshow { position: relative; max-width: 1000px; margin: 0 auto; aspect-ratio: 1000 / 516; overflow: hidden; }
.sils-slideshow img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .8s ease-in-out; border: 0; }
.sils-slideshow img.is-active { opacity: 1; }

/* PDF incorporati (plg_content_silspdf) */
.sils-pdf { margin: 0 auto 1em; max-width: 100%; }
.sils-pdf iframe { display: block; width: 100%; border: 0; background: #fff; }
.sils-pdf__link { margin: .4em 0 1em; font-size: 12px; }
.responsive.responsive-phone .sils-pdf iframe { height: 70vh !important; }

/* mappa / video responsive */
.sils-map iframe { display: block; width: 100%; }
.sils-video { position: relative; max-width: 560px; margin: 0 auto 1em; aspect-ratio: 16 / 9; }
.sils-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

/* navigazione articolo precedente/successivo (era .art-pager) */
.pagenavigation { margin-top: 1em; }
.pagenavigation .pagination { display: flex; gap: 8px; justify-content: space-between; padding: 0; margin: 0; }
.pagenavigation a { text-decoration: none; }
.pagenavigation .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Cassiopeia/Bootstrap: neutralizza margini che Artisteer non aveva */
.art-article .com-content-article__body > :first-child { margin-top: 0; }
.art-article .page-header { display: none; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }

/* messaggi di sistema */
#system-message-container { max-width: 1000px; margin: 0 auto; }

/* form contatti core */
.art-article .contact-form .control-group { margin-bottom: 10px; }
.art-article .contact-form label { display: block; margin-bottom: 3px; }
.art-article .contact-form input[type=text],
.art-article .contact-form input[type=email],
.art-article .contact-form textarea { width: 100%; max-width: 420px; box-sizing: border-box; padding: 4px 6px; border: 1px solid #a9ab9f; }
.art-article .contact-form textarea { min-height: 150px; }
.art-article .contact-form .btn { cursor: pointer; }

/* bandiere lingua affiancate, senza evidenziazione (come J3) */
#lingua .mod-languages ul.lang-inline { margin: 0; padding: 0; white-space: nowrap; }
#lingua .mod-languages ul.lang-inline li { display: inline-block; margin: 0; padding: 0; background: none; border: 0; }
#lingua .mod-languages ul.lang-inline li.lang-active { background: none; }
#lingua .mod-languages a { padding: 0; }
#lingua.art-positioncontrol-2014252211 { left: auto; right: 0; margin-left: 0; width: auto; }

/* pagina Contatti: form centrato all'80%, etichette a fianco (come Fox Contact) */
.sils-contact__form { width: 80%; margin: 0 auto 2em; }
.sils-contact__form .contact-form legend { display: none; }
.sils-contact__form fieldset { border: 0; padding: 0; margin: 0; }
.sils-contact__form .control-group { display: flex; flex-wrap: wrap; align-items: flex-start; margin-bottom: 12px; }
.sils-contact__form .control-label { flex: 0 0 230px; padding-right: 12px; box-sizing: border-box; }
.sils-contact__form .controls { flex: 1 1 260px; max-width: 420px; }
.sils-contact__form .control-label label { font-size: 16px; }
.sils-contact__form select { width: 100%; max-width: 420px; padding: 3px; }
.sils-contact__form .form-check, .sils-contact__form .checkboxes { display: flex; gap: 6px; align-items: flex-start; }
.sils-contact__form .btn-primary { font-size: 16px; padding: 4px 12px; }
.responsive.responsive-phone .sils-contact__form { width: 100%; }
.responsive.responsive-phone .sils-contact__form .control-label { flex-basis: 100%; }

/* modal Bootstrap (link "Nota sulla Privacy" del consenso): il template non carica bootstrap.css */
.modal { display: none; position: fixed; inset: 0; z-index: 1055; overflow-y: auto; background: rgba(0,0,0,.55); }
.modal.show { display: block; }
.modal-dialog { max-width: 900px; width: 92%; margin: 4vh auto; }
.modal-content { background: #fff; border-radius: 4px; overflow: hidden; }
.modal-header { display: flex; justify-content: space-between; align-items: center; padding: 8px 14px; border-bottom: 1px solid #ddd; }
.modal-header .modal-title { margin: 0; font-size: 18px; color: #4A4C42; text-shadow: none; }
.modal-body { height: 75vh; }
.modal-body iframe { display: block; width: 100%; height: 100%; border: 0; }
.btn-close { background: none; border: 0; font-size: 26px; line-height: 1; cursor: pointer; color: #555; }
.btn-close::before { content: "\00d7"; }
.modal-backdrop { display: none; }
body.modal-open { overflow: hidden; }
.sils-slideshow.no-fade img { transition: none; }
