/*
Theme Name: Oa-Inaf Theme
Author: Biz
Description: Tema creato per il sito OA-Inaf Cagliari
Version: 1.1.3
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html F5F5F5
*/

:root {
  --primario: #0066CC;
  --secondario: #2F475E;
  --successo: #2F475E;
  --grigino: #F5F5F5;
  --grigiob: #D4D4D4; /* usato nei bordi*/
  --secondary: #5C6F82; /* usato come sfondo per le date scadenza */
  --secondary-light: #A3ADB7; /* usato come sfondo pulsante NON PASSA AA */
  --disabled: #D9DADB; /* pulsante disabilitato su filtri */
  --darker: #003366;
}

/* COLORI */
.text-primario {
    color: var(--primario) !important;
}

/* applicato al testo */
.text-secondario {
    color: #2F475E !important;
}
.text-successo {
    color: #008055 !important;
}
.text-darker{
    color: var(--darker);
}

/* applicato al testo */
.text-base {
    color: #1A1A1A !important;
}


/* badge (+ area riservata)*/
.bg-primario {
    background-color: var(--primario) !important;
}

/* badge -- chiamato "secondary" */
.bg-secondary {
    background-color: var(--secondary) !important;
}

/* usato come sfondo pulsante ---- NON PASSA AA */
.bg-secondary-light {
    background-color: var(--secondary-light);
}

/* bg data eventi */
.bg-97 {
    background-color: #F2F7FC !important;
}

/* bg-96*/
.bg-96 {
    background-color:var(--grigino) !important;
}

/* bg menu principale */
.bg-menu-principale {
    background-color: #0072BA !important;
}

/* bg TopBar stesso colore footer */
.bg-dark-biz {
    background-color: #004D99 !important;
   /*  background-color: hsl(210deg 100% 30%) !important; */
}

/* bg button Area riservata */
.bg-dark-bizNO {
    background-color: #0070B6 !important;
}

/* bg news Slider */
.bg-news-slider {
    background-color: #0070B6 !important;
}

.it-header-center-wrapper img.custom-logo{
    width: 90%;
    max-width: 100%;
}

#footer img.custom-logo{
    height: auto;
    max-width: 100%;
    width: 70%;
}

/* bg Footer bottom */
.bg-footer-bottom {
    background-color: var(--darker) !important;
}

.it-footer-small-prints ul.it-footer-small-prints-list {
    padding: 1.3rem 1rem !important;
}
.it-footer ul, .it-footer li {
    font-size: .9rem !important;
}

.social-footer{
    display: flex;
}

h2 a, h3 a, h4 a, h5 a{
    text-decoration: none !important;
}
h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover{
    text-decoration: underline !important;
}

.bordo-top-w30{
    border-top: 1px solid hsl(0deg 0% 100% / 30%) !important;
}

/* HOME */
#articoli-slider .it-card-taxonomy a.it-card-link{
    border: 2px solid #fff;
    border-radius: 5px;
    padding: .2rem .7rem;
    margin-left: 1rem;
    text-decoration: none;
}

.linea {
    height: 1px;
    width: 98px;
    border-top-width: 2px;
    border-top-style: solid;
    border-top-color: var(--primario);
    display: inline-block;
}

.bordo-top-contenuti{
    border-top: 1px solid var(--bs-border-color);
    margin-top: 1.5rem;
    padding-top: 2rem;
}

.section {
    padding: 48px 3px !important;
}

#main_container > .section{
    padding: 10px 3px !important; 
}

.it-card footer.it-card-related, article.it-card footer.it-card-related{
   justify-content: flex-start !important; 
}

a.read-more.notrasform {
    text-transform: inherit !important;
}

.bg-grigio {
    background-color: transparent;
    background-image: url('static/img/bg-sezione.png');
    background-repeat: no-repeat;
    background-position: top center;
    background-size: contain;
}

.bg-titoli-wrapper {
    padding-top: 1rem;
    padding-bottom: 1rem;
    background-size: cover !important;
}

.placeholder {
    display: inline-block;
    min-height: 1em;
    vertical-align: middle;
    cursor: inherit !important;
    opacity: 1 !important;
}

.figure-caption{
    padding-top: .9rem !important;
}

.back-to-top {
    bottom: 75px !important;
}
/* Gallerie richiate con shortcode*/
/* .gallerie_shortcode{
    padding: 1em 0 0 0;
    border-top: 1px solid var(--grigiob);
    border-bottom: 1px solid var(--grigiob);
} */

/* immagine in evidenza*/
#articolo_dettaglio_testo article > img.wp-post-image{
    border-bottom: 1px solid var(--bs-border-color);
    padding-bottom: 1.4rem;
    margin-bottom: 1.4rem;
}

#CookiebotWidget{
    left: auto !important;
    right: 10px !important;
} 
@media screen and (max-width: 600px){
    #CookiebotWidget:not(.CookiebotWidget-inactive) {
        bottom: 10px;
        left: auto !important;
        right: 10px !important;
    }
}

/***************
Sidebar generica */
.titolo-sidebar{
    color: var(--darker);
}
.sidebar-wrapper .titolo-sidebar, .sidebar-wrapper .h3{
    font-size: 1.10rem !important;
    text-transform: inherit !important;
    border-bottom: 1px solid #c5c7c9;
    padding-bottom: 2rem;
    padding-left: 24px;;
    margin-bottom: 0 !important;
}

.sidebar-wrapper .sidebar-linklist-wrapper .link-list-wrapper ul li a.active span,
.sidebar-wrapper .sidebar-linklist-wrapper .link-list-wrapper ul.link-sublist li a.active span{
    font-weight: bold;
    color: var(--primario) !important;
    text-decoration: none !important;
}
.link-list-wrapper .list-item-title, .link-list-wrapper .link-list-heading{
    font-size: 1rem !important;
}

.sidebar-wrapper.it-line-right-side .sidebar-linklist-wrapper .link-list-wrapper ul li a[data-bs-toggle=collapse].active{
    border-right: 0px solid #06c !important;
}

.sidebar-wrapper .sidebar-linklist-wrapper .link-list-wrapper ul.link-sublist li a.active:after{
    width: 0 !important;
}

/* CSS per bottom sheet sidebar - ZERO duplicazione */

/* Pulsante nel footer - visibile di default su mobile */
.mobile-sidebar-toggle {
    /* margin-top: 1rem; */
    /* border-top: 1px solid rgba(255, 255, 255, 0.1); */
    padding-top: .2rem;
    position: sticky;
    bottom: 0;
    z-index: 1050;
    /* Visibile di default, nascosto via JS se necessario */
}

.mobile-sidebar-toggle a.btn {
    display: flex;
    align-items: center;
    justify-content:flex-start;
    position: relative;
    transition: all 0.3s ease;
    border-radius: 0;
    width: 100%;
}

/* Transizione fluida per il cambio icona */
.mobile-sidebar-toggle a.btn svg:first-of-type {
    transition: opacity 0.2s ease;
}

/* Overlay per sfondo scuro */
.sidebar-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 1040;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.sidebar-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Su mobile: trasforma in bottom sheet */
@media (max-width: 991.98px) {
    #mobileSidebarTitolo{
        display: none;
    }
    .sidbar-bobile {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        background: white;
        border-radius: 16px 16px 0 0;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
        z-index: 1050;
        transform: translateY(100%);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        max-height: 80vh;
        display: flex;
        flex-direction: column;
    }

    .sidbar-bobile.active {
        transform: translateY(0);
    }

    /* Handle per trascinamento (solo mobile) */
    .bottom-sheet-handle {
        padding: 12px 0;
        display: flex !important;
        justify-content: center;
        cursor: grab;
        flex-shrink: 0;
    }

    .bottom-sheet-handle:active {
        cursor: grabbing;
    }

    .handle-bar {
        width: 40px;
        height: 4px;
        background-color: #dee2e6;
        border-radius: 2px;
        transition: background-color 0.2s ease;
    }

    .bottom-sheet-handle:hover .handle-bar {
        background-color: #adb5bd;
    }

    /* Contenuto sidebar su mobile */
    .sidebar-content {
        flex: 1;
        overflow-y: auto;
        padding: 0 1rem 1rem 1rem;
        /* Spazio per il pulsante che rimane visibile */
        padding-bottom: 80px;
    }

    /* Schermi piccoli */
    @media (max-width: 576px) {
        .sidbar-bobile {
            max-height: 85vh;
        }
    }
}

/* Su desktop: nasconde handle e stili normali */
@media (min-width: 992px) {
    .bottom-sheet-handle {
        display: none !important;
    }
}

/* Blocca scroll quando bottom sheet è aperto */
body.bottom-sheet-open {
    overflow: hidden;
}

/* Accessibilità - focus visibile */
.mobile-sidebar-toggle a.btn:focus,
.bottom-sheet-handle:focus {
    outline: 2px solid #0066cc;
    outline-offset: 2px;
}

/* Riduci movimento per utenti che preferiscono meno animazioni */
@media (prefers-reduced-motion: reduce) {
    .sidbar-bobile,
    .sidebar-overlay,
    #burgerIcon,
    .mobile-sidebar-toggle a {
        transition: none;
    }
}
/* fine gestione sidebar*/

/* Gare e affidamenti*/
#elenco-affidamenti .cella {
    border-bottom: 1px solid var(--grigiob);
    padding:1rem .8rem;
}
#elenco-affidamenti div:last-child.cella{
    border: 0;
}

#elenco-gare .cell-gara {
    min-width: 16%;
}

#elenco-gare .cell-gara-bordo-bottom {
    border-bottom: 1px solid #aaadb1;
}

.titoli-tabella .col{
    text-align: center;
    background-color:var(--grigino) !important;
    border-right: 2px solid #fff;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    font-weight:600 !important;
    display: block;
}

/* Amministrazione trasparente */
/* .at-sezioni-grid{
    gap:0;
}
.at-sezioni-block{
    margin-top: 1rem ;
    padding: 0;
}
.at-sezioni-plugin-style .at-sezioni-item{
    background: transparent !important;
    box-shadow: none;
    padding: .6rem .5rem !important;
}
.at-sezioni-group-title{
    font-size: 1.1rem !important;
    color: var(--primario);
} */

/* DML Download */
ul.dlm-downloads{
    list-style: none;
    padding-left: 0;
}

.breadcrumbs{
    padding-top:.6rem;
    padding-bottom:1.7rem;
}
/*nascondo il titolo nel breadcramb su single news*/
.single-post .breadcrumbs span.current-item {
    display: none !important;
}

/* Ultimate Member */
.um-field {
    margin-bottom: 1.3rem;
}
.um-req{
    color: red !important;
}
.um-account-main{
    width: 100% !important;
    padding-left: 0 !important;
}
.um-account-heading{
    display: none !important;
}
.um a.um-button, .um a.um-button.um-disabled:active, .um a.um-button.um-disabled:focus, .um a.um-button.um-disabled:hover, .um input[type="submit"].um-button, .um input[type="submit"].um-button:focus {
  background: var(--primario) !important;
}

.um .um-form input[type="password"], .um .um-form input[type="search"], .um .um-form input[type="tel"], .um .um-form input[type="text"], .um .um-form textarea{
    border: 0 !important;
    border-bottom: 1px solid #333 !important;
}

.oac-um-form input[type=number], .oac-um-form input[type=password], .oac-um-form input[type=tel], .oac-um-form input[type=text] {
    padding: 0 12px!important;
    width: 100%;
    display: block!important;
    outline: 0!important;
    cursor: text!important;
    font-size: 15px!important;
    height: 40px!important;
    box-sizing: border-box!important;
    box-shadow: none!important;
    margin: 0!important;
    position: static;
    
    border: 0 !important;
    border-bottom: 1px solid #999 !important;
}

/* list delle categorie news */
.it-list-wrapper .it-list .list-item .it-right-zone{
 padding: 10px 0 5px 0 !important;
}
.it-list-wrapper .it-list .list-item .it-right-zone{
    margin-left: 0 !important;
}
.it-list-wrapper .it-list .list-item .it-rounded-icon{
    margin-right: 0 !important;
}

/********
*  it-search-wrapper 
*/
.it-search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* Pulsante toggle (solo mobile) */
.search-toggle {
    background: var(--bs-primary);
    border: none;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    flex-shrink: 0;
}

.search-toggle:hover {
    background: var(--bs-primary);
}

.search-toggle:focus {
    outline: 2px solid var(--bs-warning);
    outline-offset: 2px;
}

.search-toggle.active {
    background: var(--bs-primary);
}

.search-icon {
    transition: transform 0.3s ease;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Form container mobile - COMPLETAMENTE NASCOSTO di default */
.search-form-container-mobile {
    position: absolute;
    top: calc(100% + 5px);
    right: 0;
    z-index: 1050;
    display: none;
    opacity: 0;
    visibility: hidden;
    width: 0;
    height: 0;
    overflow: hidden;
    margin: 0;
    padding: 0;
    border: none;
    /* Stili che si applicano solo quando visibile */
    background: white;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
}

/* Quando il container si apre */
.search-form-container-mobile.show {
    display: block;
    opacity: 1;
    visibility: visible;
    width: auto;
    height: auto;
    overflow: visible;
    margin: 0;
    padding: .5rem;
    transform: translateY(0);
}

/* Form styling mobile */
.search-input-group-mobile {
    display: flex;
    /* flex-direction: column; */
    gap: 0.75rem;
}

.search-form-container-mobile .form-control {
    border: 1px solid var(--bs-border-color);
    font-size: 1rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    width: 100%;
}

.search-form-container-mobile .form-control:focus {
    border-color: var(--bs-primary);
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 115, 230, 0.25);
}
.search-form-container-mobile .form-control,
.search-form-container-mobile button.btn{
    padding: 0.4rem .5rem !important;
}
.search-form-container-mobile button.btn{
    font-size: .9rem !important;
    padding-left: .9rem !important;
    padding-right: .9rem !important;
}

/* Desktop: mostra form normale, nascondi toggle */
@media (min-width: 769px) {
    .search-toggle {
        display: none !important;
    }
    
    .search-form-container-mobile {
        display: none !important;
    }
    
    .search-form-desktop {
        display: flex !important;
        align-items: center;
        gap: 0.5rem;
    }
    .search-form-desktop button{
        border-radius: 50% !important;
        padding: .5rem;
    }
}

/* Mobile: mostra toggle, nascondi form normale */
@media (max-width: 768px) {
    .search-form-desktop {
        display: none !important;
    }
    
    .search-toggle {
        display: flex !important;
        margin: 0;
    }
    
    .search-form-container-mobile.show {
        left: 0 !important;
        right: auto !important;
        transform: translateX(-82%) translateY(0);
        min-width: 360px;
        max-width: calc(100vw - 2rem);
    }
}

/* Accessibilità */
@media (prefers-reduced-motion: reduce) {
    .search-toggle,
    .search-form-container-mobile,
    .search-icon {
        transition: none;
    }
}

/* Dark mode support */
[data-bs-theme="dark"] .search-form-container-mobile.show {
    background: var(--bs-dark);
    border-color: var(--bs-border-color-dark);
    color: var(--bs-light);
}

[data-bs-theme="dark"] .search-form-container-mobile.show::before {
    background: var(--bs-dark);
    border-color: var(--bs-border-color-dark);
}

@media (max-width: 575.98px) {
    header#mainheader{
        box-shadow: 5px 5px 5px #eee;
    }
    .home header#mainheader{
        box-shadow: none;
    }

    .it-header-wrapper .it-nav-wrapper .it-header-navbar-wrapper nav{
        padding-left: 5px !important;
        padding-top: 15px !important;
    }
}

.seleziona-anno{
    display: block;
}
.back-to-top.back-to-top-show{
    border: 2px solid #fff;
}

@media (min-width: 576px) {
    h1, .h1 {
        font-size: 2.5rem !important;
        line-height: 3rem !important;
        letter-spacing: inherit !important;
    }
    h2, .h2 {
        font-size: 2rem !important;
        line-height: 2.5rem !important;
    }
    h3, .h3 {
        font-size: 1.75rem !important;
        line-height: 2rem !important;
    }
    h4, .h4 {
        font-size: 1.5rem !important;
        line-height: 2rem !important;
    }
    h5, .h5 {
        font-size: 1.25rem !important;
        line-height: 1.5rem !important;
    }
    h6, .h6 {
        font-size: 1.1rem !important;
        line-height: 1.5rem !important;
    }
}

@media (min-width: 768px) {
    .box-contenuti-wrapper {
        padding-left: 20px;
    }
    li.dropdown a.submenu-top{
        padding-top: 13px !important;
    }
}

@media (min-width: 992px) {
    aside#sidebar-x{
        border-right: 1px solid var(--bs-light);
    }
    #main_container > .section,
    .section {
        padding: 48px 24px !important;
    }
    #articoli-slider{
        padding: 48px 24px !important;
        background-color: transparent;
        background-image: url('static/img/bg-sezione-home.png') !important;
        background-repeat: no-repeat;
        background-position: top center;
        background-size: contain;
    }

    /* Hero home */
    .it-hero-wrapper{
        min-height: 320px !important;
    }
    .it-hero-wrapper .it-hero-text-wrapper {
        padding: 60px 0 !important;
    }
    .it-header-center-wrapper img.custom-logo{
        width: 100%;
    }
    #footer img.custom-logo{
        width: 30%;
    }
    .it-carousel-wrapper .it-card.it-card-inline:not(.it-card-inline-mini).it-card-image .it-card-image-wrapper, .it-carousel-wrapper article.it-card.it-card-inline:not(.it-card-inline-mini).it-card-image .it-card-image-wrapper {
        width: 85% !important;
    }
    .box-contenuti-wrapper {
        padding-left: 3.125rem;
    }

    #elenco-affidamenti .cella {
        border-right: 1px solid var(--grigiob);
        text-align: center;
        padding-top: 1.2rem ;
        padding-bottom: 1.2rem ;
    }

    #elenco-affidamenti .cell-gara-bordo-bottom,
    #elenco-gare .cell-gara-bordo-bottom{
        border: 0;
    }
     #elenco-affidamenti .cell-gara-bordo-end,
    #elenco-gare .cell-gara-bordo-end {
        border-right: 1px solid #aaadb1;
    }

    .navbar .navbar-collapsable .navbar-nav li.nav-item a.nav-link, .navbar .navbar-collapsable .navbar-nav li.nav-item button.nav-link{
        font-weight: 700 !important;
    }
    .it-socials .list-inline-item:not(:last-child) {
        margin-right: 0 !important;
    }
    /* menu top bar */
    .it-header-slim-wrapper .nav-mobile .link-list-wrapper ul li:first-child a{
        padding-left: 0 !important;
    }
    .social-footer{
        display: block;
    }
    .alignleft {
        float: left;
        margin: 0.5em 1em 0.5em 0;
    }
    .alignright {
        float: right;
        margin: 0.5em 0 0.5em 1em;
    }

    /* List categorie news*/
    .it-list-wrapper .it-list .list-item .it-right-zone .text{
        font-size: 1rem !important;
    }
}

@media (min-width: 1200px) {
    .it-carousel-wrapper.it-carousel-landscape-abstract {
        max-width: 1320px !important;
    }
}

@media (min-width: 1400px) {}