/* Menu Comer SRL - Bootstrap 4.4.1
   Tutti i selettori partono da un ID (#comer-nav / #comer-topbar) per
   prevalere sugli stili di Bootstrap, style.css e home.css.
   Caricare dopo css/style.css */

:root {
    --comer-blue: #1a0a9f;
    --comer-blue-tint: rgba(26, 10, 159, .07);
    --comer-ink: #1f2328;
    --comer-gray: #c5c5c5;
    --comer-line: #e4e4e4;
    --comer-nav-h: 72px;
    --comer-font: 'Open Sans Condensed', 'Segoe UI', Arial, sans-serif;

    /* TRASPARENZA DEL MENU: 0 = trasparente, 1 = pieno */
    --comer-nav-alpha: .5;            /* menu in cima alla pagina */
    --comer-nav-alpha-scrolled: .92;  /* dopo aver scrollato (testo leggibile sul bianco) */
}

/* ---------- Barra superiore ---------- */
#comer-topbar {
    background: var(--comer-ink);
    color: var(--comer-gray);
    font-size: .82rem;
    line-height: 1;
}
#comer-topbar .comer-topbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 38px;
}
#comer-topbar a {
    color: var(--comer-gray);
    text-decoration: none;
    transition: color .2s ease;
}
#comer-topbar a:hover,
#comer-topbar a:focus { color: #fff; text-decoration: none; }
#comer-topbar .comer-topbar__contacts a {
    display: inline-flex;
    align-items: center;
    margin-right: 1.5rem;
    padding: .8rem 0;
}
#comer-topbar i { margin-right: .5rem; font-size: .75rem; color: #fff; opacity: .7; }
#comer-topbar .comer-lang a {
    display: inline-block;
    padding: .8rem .55rem;
    font-weight: 600;
    letter-spacing: .05em;
}
#comer-topbar .comer-lang a.is-active { color: #fff; box-shadow: inset 0 -2px 0 #fff; }

/* ---------- Menu principale (scuro, semitrasparente, logo bianco) ---------- */
#comer-nav {
    background: rgba(31, 35, 40, var(--comer-nav-alpha));
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    padding: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .15);
    box-shadow: none;
    z-index: 1030;
    transition: background .25s ease;
}
#comer-nav.is-scrolled { background: rgba(31, 35, 40, var(--comer-nav-alpha-scrolled)); }
#comer-nav.is-open     { background: rgba(31, 35, 40, .96); }

#comer-nav .container { align-items: center; min-height: var(--comer-nav-h); }
#comer-nav .navbar-brand { padding: .6rem 0; margin-right: 1.5rem; }
#comer-nav .navbar-brand img { display: block; height: 48px; width: auto; }

#comer-nav .navbar-nav { align-items: stretch; }
#comer-nav .navbar-nav .nav-link {
    position: relative;
    display: flex;
    align-items: center;
    font-family: var(--comer-font);
    font-weight: 700;
    font-size: 1.12rem;
    color: #fff;
    padding: 0 .95rem;
    text-decoration: none;
    transition: opacity .2s ease;
}
#comer-nav .navbar-nav .nav-link:hover,
#comer-nav .navbar-nav .nav-link:focus,
#comer-nav .navbar-nav .nav-item.active .nav-link { color: #fff; }

/* Pulsante Contatti */
#comer-nav .comer-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--comer-font);
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--comer-blue);
    background: #fff;
    border: 2px solid #fff;
    border-radius: 3px;
    padding: .35rem 1.3rem;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}
#comer-nav .comer-cta:hover,
#comer-nav .comer-cta:focus,
#comer-nav .comer-cta.is-active { background: transparent; color: #fff; text-decoration: none; }

/* Pulsante hamburger (solo mobile) */
#comer-nav .comer-toggle { display: none; }

/* ---------- Desktop ---------- */
@media (min-width: 992px) {
    #comer-nav .navbar-nav .nav-link { height: var(--comer-nav-h); opacity: .85; }
    #comer-nav .navbar-nav .nav-link:hover,
    #comer-nav .navbar-nav .nav-link:focus,
    #comer-nav .navbar-nav .nav-item.active .nav-link { opacity: 1; }
    #comer-nav .navbar-nav .nav-link::after {
        content: "";
        position: absolute;
        left: .95rem;
        right: .95rem;
        bottom: -1px;
        height: 3px;
        background: #fff;
        transform: scaleX(0);
        transform-origin: left center;
        transition: transform .25s ease;
    }
    #comer-nav .navbar-nav .nav-link:hover::after,
    #comer-nav .navbar-nav .nav-link:focus::after,
    #comer-nav .navbar-nav .nav-item.active .nav-link::after { transform: scaleX(1); }
    #comer-nav .comer-cta { margin-left: 1.25rem; }
}

/* ---------- Mobile e tablet ---------- */
@media (max-width: 991.98px) {
    #comer-nav .comer-toggle {
        display: inline-flex;
        flex-direction: column;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 0 10px;
        background: transparent;
        border: 1px solid rgba(255, 255, 255, .5);
        border-radius: 3px;
        cursor: pointer;
    }
    #comer-nav .comer-toggle span {
        display: block;
        height: 2px;
        background: #fff;
        transition: transform .2s ease, opacity .2s ease;
    }
    #comer-nav .comer-toggle span + span { margin-top: 5px; }
    #comer-nav .comer-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    #comer-nav .comer-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
    #comer-nav .comer-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    #comer-nav .navbar-collapse {
        border-top: 1px solid rgba(255, 255, 255, .15);
        padding: .25rem 0 1rem;
    }
    #comer-nav .navbar-collapse.show { animation: comerDrop .2s ease-out; }
    #comer-nav .navbar-nav .nav-link {
        padding: .85rem .75rem;
        font-size: 1.25rem;
        border-bottom: 1px solid rgba(255, 255, 255, .15);
    }
    #comer-nav .navbar-nav .nav-item.active .nav-link {
        background: rgba(255, 255, 255, .1);
        box-shadow: inset 3px 0 0 #fff;
    }
    #comer-nav .comer-cta { display: flex; margin-top: 1rem; padding: .6rem 1rem; }
}

@media (max-width: 575.98px) {
    #comer-topbar .comer-hide-xs { display: none !important; }
}

@keyframes comerDrop {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: none; }
}

/* Focus da tastiera */
#comer-nav a:focus-visible,
#comer-nav .comer-toggle:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
#comer-topbar a:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }

@media (prefers-reduced-motion: reduce) {
    #comer-nav *, #comer-topbar * { transition: none !important; animation: none !important; }
}
