/* LOT Vanilla Structural CSS */
/* Nessun colore, nessun font, solo layout di base */

*, *::before, *::after {
    box-sizing: border-box;
}

:root {
    /* Scala tipografica fluida con base minima 16px su Mobile */
    --fs-xs: 0.6875rem;                                      /* 11px fisso */
    --fs-sm: 0.8125rem;                                      /* 13px fisso */
    --fs-14: 0.875rem;                                       /* 14px fisso */
    --fs-base: clamp(1rem, 0.95rem + 0.25vw, 1.0625rem);     /* ~16px -> 17px (Base Principale) */
    --fs-18: clamp(1.0625rem, 1rem + 0.35vw, 1.1875rem);     /* ~17px -> 19px */
    --fs-20: clamp(1.1875rem, 1.1rem + 0.4vw, 1.3125rem);    /* ~19px -> 21px */

    /* Colori del Tema */
    --color-text-main: #666666;
    --color-text-muted: #999999;
    --color-primary: #fe1400;
    --color-primary-hover: #c91000;
    --color-dark-bg: #000000;
    --color-light-bg: #dddddd;
    --color-white: #ffffff;
}

body, html {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}

ul, ol {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

iframe[src*="youtube.com"],
iframe[src*="youtube-nocookie.com"],
iframe[src*="vimeo.com"] {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    max-width: 100%;
}

/* Stile di base per l'icona della freccia */
span.btn-accordion i,
span.btn-accordion svg {
    transition: transform 0.3s ease;
    display: inline-block;
}

/* Quando l'accordion è CHIUSO (.collapsed) */
span.btn-accordion.collapsed i,
span.btn-accordion.collapsed svg {
    transform: rotate(0deg);
}

/* Quando l'accordion è APERTO (non ha più la classe .collapsed) */
span.btn-accordion:not(.collapsed) i,
span.btn-accordion:not(.collapsed) svg {
    transform: rotate(180deg);
}

#lot_message {}

#lot_container {
}

#lot_header {
    margin-top: 0.9375rem; /* 15px */
}

#lot_body {}

#lot_left, #lot_center, #lot_right {
}

#lot_left {}
#lot_left #lot_left1, #lot_left #lot_left2 {}
#lot_left #lot_left1 {}
#lot_left #lot_left2 {}

#lot_center {}

#lot_top {}

#lot_bottom {}
#lot_center-bottom {}

#lot_right {}
#lot_right #lot_right1, #lot_right #lot_right2 {}
#lot_right #lot_right1 {}
#lot_right #lot_right2 {}

#lot_footer {}

#lot_debug {}

iframe {
    width: 100%;
    max-width: 100%;
}

.note-txt {
    display: none;
}

div.modal-content {
    border-radius: 0;
}

button.close {
    position: absolute;
    right: 0.9375rem; /* 15px */
    top: 0.625rem;    /* 10px */
    z-index: 10;
}

#lot_right ul > li > ul {
    padding-left: 0.9375rem; /* 15px */
}

#lot_right .moduletable a .contatti{
    paddin: 1rem 0;
}
.navbar-default {
    background-color: transparent;
    border: none;
    margin-bottom: 1rem;
}

div.random-image a {
    height: 100%;
    width: 100%;
    padding: 0;
}

div.random-image a img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

header .header-banner {
    margin-top: 0.3125rem; /* 5px */
}

header .header-info {
    padding-top: 0.3125rem; /* 5px */
}

header .search label {
    display: none;
}

header .search form {
    background: var(--color-dark-bg);
    padding-bottom: 0.625rem;
}

header .search input {
    background: transparent !important;
    border: none;
    border-bottom: 0.0625rem var(--color-white);
    width: 100%;
    padding: 0.3125rem 0.9375rem;
}

.js-finder-search-query:focus {color: var(--color-white);}

div.blog img.cat-image {
    margin-bottom: 1.5625rem;
}

div.blog .blog-item {
    margin-top: 0.625rem; 
    margin-bottom: 2.5rem;
    border-bottom: 0.0625rem solid var(--color-text-muted); /* 1px */
}

div.blog .blog-item .item-image img, 
div.blog img, 
div.item-page .item-image img, 
div.article-body img, 
div.tag-category img {
    width: 100%;
    max-width: 100%;
    display: block;
    height: auto;
    margin-bottom: 0.9375rem; /* 15px */
}

div.blog img.pull-left {
    max-width: 50%;
    margin-right: 0.9375rem; /* 15px */
}

div.blog p.readmore a.btn {
    padding-left: 0;
    background-color: var(--color-white);
    border-color: var(--color-white);
}

div.autotoc {
    float: none;
    background: transparent;
    border: none;
}

div.items-more ol {
    padding-bottom: 0.9375rem; /* 15px */
}

div.items-more ol a {
    padding: 0;
}

ol.nav-stacked.blog-links > li > a {
    display: inline-block;
}

p.author {
    margin-bottom: 1.25rem; /* 20px */
}

ul.tags {
    margin-bottom: 1.25rem; /* 20px */
}

ul.tags.inline li {
    display: inline;
    margin-right: 0.3125rem; /* 5px */
}

ul.tags.list-inline li.list-inline-item a.btn-info {
    background-color: var(--color-light-bg);
    border-color: var(--color-light-bg);
    font-weight: 700;
    padding: 0.1rem 0.5rem;
}

div.tag-category button {
    margin-left: 0.3125rem; /* 5px */
}

div.tag-category button, 
div.tag-category input, {
    border-radius: 0;
}

ul.search-results li {
    margin-bottom: 1.25rem; /* 20px */
}

div.mod-articles-category-group, 
ul.category-module .list-item {
    padding: 0.625rem 0; /* 10px */
}

.article-2col .list-item, .mod-articles-category-group {
    border-bottom: 0.0625rem solid var(--color-text-muted);
}

ul.category-module > li .list-item {
    page-break-inside: avoid;
}

div.module.rassegne, 
div.module.libri, 
div.module.contatti, 
div.module.festival, 
div.module.archivio {
    margin-bottom: 0.625rem; /* 10px */
}

#lot_right .categories-module ul.collapse {
    margin-bottom: 0.5rem;
}

#lot_right .list-item {padding-bottom: 0;}

#lot_right .module {margin-bottom: 2rem;}

div.custom-dati {
    padding-top: 1.25rem; /* 20px */
}

div.module.current-edition, 
div.module.current-edition-home {
    margin-bottom: 4.375rem; /* 70px */
}

.contatti ul.nav li a {
    margin: 0;
    padding: 0;
}

div.rassegne-programma ol {
    list-style-type: none;
}

div.rassegne-programma ol li {
    margin-bottom: 0.9375rem; /* 15px */
}

footer .footer-info {
    border-top: 1.875rem solid var(--color-dark-bg); /* 30px */
}

footer .footer-info p {
    margin-top: 0.5rem;
    font-size: var(--fs-14);

}

.pagination li.active a {
    background-color: var(--color-light-bg);
    border-color:var(--color-light-bg);
}

/* Forzatura larghezza 100% per i link/elementi del modulo current-edition-home */
div.module.current-edition-home ul li,
div.module.current-edition-home ul li a,
div.module.current-edition-home .list-item,
div.mod-articles-category-group,
div.module.current-edition ul li,
div.module.current-edition ul li a,
div.module.current-edition .list-item 
{
    display: block !important;
    width: 100% !important;
    box-sizing: border-box;
}
.list-item a:hover {
    text-decoration: underline;
}

@media (min-width: 64.0625rem) { /* 1025px */
    .article-2col {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
        -webkit-column-gap: 1.875rem; /* 30px */
        -moz-column-gap: 1.875rem;
        column-gap: 1.875rem;
    }
}

@media (max-width: 62rem) { /* 992px */
    div.search {
        margin-top: 0.3125rem; /* 5px */
    }
}

/* Utility classi (opzionali per layout senza Bootstrap) */
.lot-hidden {
    display: none !important;
}

/* ==========================================================================
   Sezione Tipografia (ex typography.css)
   ========================================================================== */

/* Stili Tipografici Generali */
body {
    font-family: 'Open Sans', system-ui, -apple-system, sans-serif;
    font-size: var(--fs-base);
    line-height: 1.5;
    color: var(--color-text-main);
}

#lot_right h4, 
#lot_right h5 {
    margin: 0.3125rem 0; /* 5px */
}

#lot_right, 
#lot_right h4 {
    font-size: var(--fs-base);
}	

/* Link e Elementi In Evidenza */
a, 
.item-page h2, 
div.items-more ol a, 
span.glyphicon-star {
    color: var(--color-primary);
    text-decoration: none;
}

a:hover {
    color: var(--color-primary-hover);
    text-decoration: none;
}

.nav > li > a:focus, 
.nav > li > a:hover {
    background-color: transparent;
}

div.awesomplete {width: 100%;}

header .search input, 
header .search input::placeholder {
    color: var(--color-white);
    background-color: var(--color-dark-bg)
}

/* Intestazioni con Sfondo Scuro */
.cat-title h2, 
#lot_right h3, 
div.contacts h1, 
div.current-edition h2, 
div.current-edition-home h2, 
div.item-page.credits h2, 
div.contacts h2 {
    font-weight: 700;
    color: var(--color-white);
    font-size: var(--fs-base);
    display: block;
    padding: 0.3125rem 0.625rem;
    margin: 0 0 1rem 0;
    background-color: var(--color-dark-bg);
}	

/* Titoli Articoli e Moduli */
div.blog h3, 
div.item-page h2 {
    margin-top: 0.625rem; /* 10px */
    font-size: var(--fs-20);
    font-weight: 700;
}

div.item-page h2 {
    margin-bottom: 1.25rem; /* 20px */
}

div.blog-item h3, 
div.items-more h2 {
    margin: 0 0 0.9375rem 0; /* 15px */
    font-weight: 700;
}

div.items-more h2 {
    font-size: var(--fs-base);
}

/* Titoli categorie nella pagina Contatti */
h3.page-header.item-title {margin-top: 2rem;}


/* Elenchi Categorie e Moduli */
div.mod-articles-category-group, 
a.mod-articles-category-title {
    font-size: var(--fs-base);
    font-weight: 700;
    color: var(--color-text-main);
}    
 
ul.category-module ul li p {
    font-size: var(--fs-14);
    margin: 0;
    color: var(--color-text-main);
    padding-top: 0.2rem;
}

ul.category-module li a, 
ul.category-module li p {
    padding: 0;
    margin: 0;
}

div.rassegne-programma h2, 
div.categories-list h3, {
    font-weight: 700;
    font-size: var(--fs-base);
    text-transform: uppercase;
}

span.autore {
    font-weight: bold;
}

div.cat-description span.autore {
    display: block;
}

p.query-for {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}