/* ==========================================================
   FOOTER
   Coerente con layout.css e header.css
   ========================================================== */

.site-footer {
    padding: 80px 24px 140px;
}

.site-footer .footer-inner {
    max-width: 1200px;
    margin: 0 auto;
}

/* ----------------------------------------------------------
   COLUMNS
   ---------------------------------------------------------- */

.footer-inner {
    display: flex;
    gap: 60px;
    flex-wrap: wrap;
}

.footer-col {
    flex: 1;
    min-width: 220px;
}

.footer-col h4 {
    margin-bottom: 16px;
    font-size: 16px;
    font-weight: 600;
}

/* ----------------------------------------------------------
   BRAND
   ---------------------------------------------------------- */

.footer-logo img {
    max-height: 60px;
    margin-bottom: 20px;
}

.footer-description {
    margin-top: 10px;
    opacity: 0.85;
}

/* ----------------------------------------------------------
   LISTS
   ---------------------------------------------------------- */

.footer-links ul,
.footer-legal ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li,
.footer-legal li {
    margin-bottom: 8px;
}

/* ----------------------------------------------------------
   LINKS
   Non forziamo colore globale,
   usiamo inherit per rispettare footer_text_color
   ---------------------------------------------------------- */

.site-footer a {
    color: inherit;
    text-decoration: none;
    opacity: 0.9;
    transition: opacity 0.2s ease;
}

.site-footer a:hover {
    opacity: 1;
}

/* ----------------------------------------------------------
   BOTTOM
   ---------------------------------------------------------- */

.footer-bottom {
    margin-top: 60px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.15);
    font-size: 14px;
    opacity: 0.8;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 768px) {

    .footer-inner {
        flex-direction: column;
        gap: 40px;
    }

    .footer-bottom {
        margin-top: 40px;
    }
}

/* ==========================================================
   COOKIE BANNER
   ========================================================== */

.cookie-banner{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    z-index:9999;
    display:none;
}

.cookie-banner.show{
    display:block;
}

.cookie-banner__inner{

    width:100%;
    max-width:none;

    margin:0;

    background:#111827;
    color:white;

    padding:18px 32px;

    display:flex;
    gap:24px;
    align-items:center;
    justify-content:center;

    box-shadow:0 -4px 20px rgba(0,0,0,0.15);

    position:relative;
}

.cookie-banner__text{
    font-size:15px;
    line-height:1.6;
}

.cookie-banner__text a{
    color:white;
    text-decoration:underline;
}

#cookie-accept{

    border:none;

    background:white;
    color:#111827;

    padding:12px 22px;

    border-radius:10px;

    font-weight:600;

    cursor:pointer;

    transition:0.2s;
}

#cookie-accept:hover{
    transform:translateY(-1px);
}

.cookie-banner__close{

    position:absolute;

    left:16px;
    top:50%;

    transform:translateY(-50%);

    background:none;
    border:none;

    color:white;

    font-size:26px;

    cursor:pointer;

    opacity:0.75;

    transition:0.2s;
}

.cookie-banner__close:hover{
    opacity:1;
}

/* ==========================================================
   COOKIE MINIMIZED
   ========================================================== */

.cookie-banner.minimized{

    left:20px;
    right:auto;
    bottom:20px;

    width:60px;
}

.cookie-banner.minimized .cookie-banner__inner{

    width:60px;
    height:60px;

    padding:0;

    border-radius:999px;

    display:flex;
    align-items:center;
    justify-content:center;
}

.cookie-banner.minimized .cookie-banner__text,
.cookie-banner.minimized #cookie-accept{

    display:none;
}

.cookie-banner.minimized .cookie-banner__close{

    position:static;

    transform:none;

    width:60px;
    height:60px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:28px;

    opacity:1;
}

@media (max-width:768px){

    .cookie-banner__inner{

        flex-direction:column;

        align-items:flex-start;

        padding:20px 20px 24px 20px;
    }

    #cookie-accept{
        width:100%;
    }

    .cookie-banner__close{

        top:14px;
        left:14px;

        transform:none;
    }

    .cookie-banner.minimized{

        left:12px;
        bottom:12px;
    }

}

/* ==========================================================
   SOCIAL
   ========================================================== */

.footer-social-links{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.footer-social-links a{
    color:inherit;
    text-decoration:none;
    opacity:0.9;
    transition:0.2s;
}

.footer-social-links a:hover{
    opacity:1;
    transform:translateX(2px);
}

.cookie-banner__inner{
    position:relative;
}

.cookie-banner__close{

    position:absolute;

    top:12px;
    left:14px;

    background:none;
    border:none;

    color:white;
    font-size:24px;
    line-height:1;

    cursor:pointer;
    opacity:0.7;
    transition:0.2s;

    z-index:10;
}

/* ==========================================================
   COOKIE MINIMIZED
   ========================================================== */

.cookie-banner.minimized .cookie-banner__inner{

    width:60px;
    height:60px;

    padding:0;

    border-radius:999px;

    display:flex;
    align-items:center;
    justify-content:center;
}

.cookie-banner.minimized .cookie-banner__text,
.cookie-banner.minimized #cookie-accept{

    display:none;
}

.cookie-banner.minimized .cookie-banner__close{

    position:static;

    width:60px;
    height:60px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:28px;

    opacity:1;
}

.cookie-banner.minimized{

    left:20px;
    right:auto;

    width:60px;
}

@media (max-width:768px){

    .cookie-banner.minimized{

        left:12px;
        right:auto;
    }

}