/* TAG */
body { background: #fff!important }
iframe { height: 400px!important }
img { color:#212529!important }

/* ID */
#copyrights { background: #09577e!important; padding: 5px !important }
#divRecaptcha div { margin:auto; margin-bottom: 20px }
#footer { border: 0px!important; background: #fff !important }
#footer .section { background: #fff!important; color: #fff!important}
#footer h3 { color: #fff!important }
#footer .footer-widgets-wrap { padding: 40px 0!important }
#footer .table tr td { color: #212529!important }
#portfolio .portfolio-item .grid-inner { border: 1px solid #dee2e6!important; border-radius: 10px!important; padding-bottom: 20px!important }
#radius_top { border-radius: 10px 10px 0px 0px!important }

/* ═══════════════════════════════════════════
   HEADER & NAVIGATION REDESIGN
   ═══════════════════════════════════════════ */
#header-wrap {
    border: 0px!important;
    background: rgba(255,255,255,0.97)!important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 1px 20px rgba(0,0,0,0.06);
}
#logo img {
    padding-bottom: 5px!important;
    padding-top: 5px!important;
    height: 54px!important;
    transition: all 0.3s ease;
}

/* Menu link styling */
.is-expanded-menu .menu-container > .menu-item > .menu-link {
    text-transform: none!important;
    letter-spacing: 0!important;
    font-size: 14.5px!important;
    font-weight: 600!important;
    color: #2c3e50!important;
    padding: 10px 16px!important;
    transition: color 0.25s ease!important;
    font-family: 'Roboto', sans-serif!important;
    position: relative;
}
.is-expanded-menu .menu-container > .menu-item > .menu-link::after {
    content: '';
    position: absolute;
    bottom: 6px;
    left: 16px;
    right: 16px;
    height: 2px;
    background: #C89C36;
    border-radius: 1px;
    transform: scaleX(0);
    transition: transform 0.25s ease;
}
.is-expanded-menu .menu-container > .menu-item:hover > .menu-link::after,
.is-expanded-menu .menu-container > .menu-item.current > .menu-link::after {
    transform: scaleX(1);
}
.is-expanded-menu .menu-container > .menu-item:hover > .menu-link,
.is-expanded-menu .menu-container > .menu-item.current > .menu-link {
    color: #09577e!important;
}

/* Submenu styling */
.is-expanded-menu .sub-menu-container {
    border: none!important;
    border-radius: 10px!important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1)!important;
    padding: 8px 0!important;
    min-width: 220px!important;
    background: #fff!important;
    margin-top: 0!important;
}
.is-expanded-menu .sub-menu-container .menu-item .menu-link {
    font-size: 13.5px!important;
    font-weight: 500!important;
    color: #444!important;
    padding: 9px 22px!important;
    text-transform: none!important;
    letter-spacing: 0!important;
    transition: all 0.2s ease!important;
    border-left: 3px solid transparent;
}
.is-expanded-menu .sub-menu-container .menu-item .menu-link:hover {
    color: #09577e!important;
    background: #f8f9fa!important;
    border-left-color: #C89C36;
}

/* Last menu item (Accedi / Area riservata) as button */
.menu-container > .menu-item:last-child > .menu-link {
    background: #09577e!important;
    color: #fff!important;
    border-radius: 6px!important;
    padding: 8px 20px!important;
    margin-left: 8px!important;
    font-size: 13.5px!important;
    font-weight: 600!important;
    text-transform: none!important;
    letter-spacing: 0!important;
    transition: all 0.3s ease!important;
}
.menu-container > .menu-item:last-child > .menu-link:hover {
    background: #C89C36!important;
    color: #fff!important;
}
.is-expanded-menu .menu-container > .menu-item:last-child > .menu-link::after {
    display: none;
}

/* Sticky header shrink */
.sticky-header-shrink #logo img {
    height: 46px!important;
}
.sticky-header-shrink #header-wrap {
    box-shadow: 0 2px 24px rgba(0,0,0,0.08)!important;
}

/* ═══════════════════════════════════════════
   ROLE / ADMIN SIDEBAR (side-header layout)
   ═══════════════════════════════════════════ */
.is-expanded-menu.side-header #logo {
    margin: 1rem 0 0.5rem !important;
}
.is-expanded-menu.side-header #logo img {
    height: 46px !important;
}
.is-expanded-menu.side-header .primary-menu {
    margin-bottom: 10px !important;
}
.is-expanded-menu.side-header .primary-menu:not(.border-bottom-0)::after {
    margin-top: 10px !important;
}
.is-expanded-menu.side-header .menu-item:not(:first-child) {
    margin: 2px 0 0 !important;
}
.is-expanded-menu.side-header .menu-container > .menu-item > .menu-link {
    font-size: 13px !important;
    font-weight: 500 !important;
    padding: 6px 12px !important;
    border-radius: 4px;
}
.is-expanded-menu.side-header .menu-container > .menu-item > .menu-link::after {
    display: none !important;
}
.is-expanded-menu.side-header .menu-container > .menu-item:last-child > .menu-link {
    background: transparent !important;
    color: #2c3e50 !important;
    border-radius: 4px !important;
    padding: 6px 12px !important;
    margin-left: 0 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}
.is-expanded-menu.side-header .menu-container > .menu-item:last-child > .menu-link:hover {
    background: rgba(9, 87, 126, 0.08) !important;
    color: #09577e !important;
}
.is-expanded-menu.side-header .menu-container > .menu-item.current > .menu-link,
.is-expanded-menu.side-header .menu-container > .menu-item:hover > .menu-link {
    color: #09577e !important;
    background: rgba(9, 87, 126, 0.08) !important;
}
.is-expanded-menu.side-header .menu-container .menu-item hr {
    margin: 6px 0 !important;
    border-color: #ddd !important;
    opacity: 0.5;
}

/* Sub-menu admin (role/base): font-size più contenuto */
.navbar.bg_pr .nav-link {
    font-size: 14px;
}

/* Tab nav (admin sheet): squadrate, no border-radius */
.canvas-alt-tabs .nav-link,
.canvas-alt-tabs .nav-item,
.canvas-alt-tabs .nav-item .nav-link,
.tabs.tabs-alt .nav-tabs .nav-link,
.tabs.tabs-alt .nav-tabs .nav-item .nav-link {
    border-radius: 0 !important;
}

/* Inline code (es. slug nella scheda): blu invece del rosa Bootstrap */
code {
    color: #09577e !important;
    background: rgba(9, 87, 126, 0.06);
    padding: 2px 6px;
    border-radius: 3px;
}

/* Pallino di stato clickable (scheda news) */
.status-dot-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none !important;
    cursor: pointer;
    transition: opacity 0.2s ease;
}
.status-dot-link:hover {
    opacity: 0.75;
}
.status-dot {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid transparent;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.status-dot--on {
    background-color: #21a042;
    box-shadow: 0 0 0 3px rgba(33, 160, 66, 0.18);
}
.status-dot--off {
    background-color: #C02942;
    box-shadow: 0 0 0 3px rgba(192, 41, 66, 0.18);
}
.status-dot-link:hover .status-dot {
    transform: scale(1.15);
}
.status-label {
    color: #2c3e50;
    font-weight: 500;
}

/* CLASSES */
.alert { z-index: 999!important }
.box { border: 2px solid #09577e!important; width: 210px!important; height: 210px!important; padding: 10px!important; border-radius: 5px!important; box-shadow: 10px 10px 5px #dedede!important }
.box:hover { box-shadow: none!important; background-color: #eeeeee!important }
.btn-outline-primary { color:#09577e!important; border-color: #09577e!important }
.btn-outline-primary:hover { color:#fff!important; background-color: #09577e!important }
.button-light { color: #fff!important; border-color: #09577e!important; background: rgba(33, 160, 66, 0.4)!important }
.button-light:hover { background: #09577e!important; color: #fff!important }
.heading-block::after { border-color: #C89C36!important }
.fs-1 { text-shadow: 2px 2px 4px #333!important }
.jf_font { margin-bottom: 10px!important }
.modal-content, .modal-header{ border-radius: 0px }
.modal-content { border: none }
.modal-header { border-bottom: 1px solid #09577e; background: #09577e }
.modal-header .modal-title { color: white; margin: auto }
.modal-body { padding: 20px }
.modal-footer { border-top: 1px solid #09577e; display: flow-root; text-align: center }
.owl-item, .active { backdrop-filter: blur(20px)!important; border-radius: 10px!important }
.our_divider { background-image:url('../../images/graphics_2024_02_27/divider.jpg')!important; background-size: cover!important }
.our_divider h2 { text-shadow: 2px 2px 4px #ddd!important }
.portfolio-desc { padding: 20px!important }
.portfolio-desc a { color:#C89C36!important }
.portfolio-desc span { color:#212529!important }
.portfolio-image img { border-radius: 10px 10px 0px 0px!important }
.social-icon { border-color: #fff!important }
.title-block h2 + span { font-size: 18px!important }

/* MEDIA QUERY */
@media (min-width: 992px){
    .fs-1 { font-size: 50px!important }
}

@media (max-width: 991px){
    #header_image { width: 50px!important }

    /* Mobile menu styling */
    .menu-container > .menu-item > .menu-link {
        font-size: 14px!important;
        font-weight: 600!important;
        text-transform: none!important;
        letter-spacing: 0!important;
        color: #2c3e50!important;
        padding: 12px 16px!important;
        border-bottom: 1px solid #f0f0f0;
    }
    .menu-container > .menu-item:last-child > .menu-link {
        background: #09577e!important;
        color: #fff!important;
        border-radius: 6px!important;
        text-align: center;
        margin: 12px 16px!important;
        padding: 12px 20px!important;
    }
    .sub-menu-container .menu-item .menu-link {
        font-size: 13.5px!important;
        font-weight: 500!important;
        text-transform: none!important;
        letter-spacing: 0!important;
        color: #555!important;
    }
}
