﻿/*
========================================================================================
    CSS FOOTER - NonSoloFitness
========================================================================================
    Richiede: css_2026_Variabili_globali.css (caricato prima di questo file)
========================================================================================
*/


/* ===== FOOTER CONTAINER ===== */

footer {
    display: flex; flex-direction: column; padding: 20px; background-color: var(--nsf-white); }


/* ===== BARRA RICERCA CORSO ===== */

.footer_ricerca_corso {
    padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--nsf-gray-300); }

.footer_ricerca_corso_input {
    display: flex; align-items: center; gap: 12px; max-width: 600px; margin: 0 auto;
    padding: 12px 20px; border: 1px solid var(--nsf-gray-600); border-radius: 24px;
    cursor: pointer; background: var(--nsf-gray-100, --nsf-gray-300); transition: box-shadow 0.2s; }

.footer_ricerca_corso_input:hover {
    box-shadow: 0 1px 6px var(--nsf-black-10); }

.footer_ricerca_corso_input svg {
    width: 20px; height: 20px; flex-shrink: 0; }

.footer_ricerca_corso_input span {
    font-size: 15px; color: var(--nsf-gray-500, #9aa0a6); }


/* ===== CONTENUTO (social + link) ===== */

.footer_contenuto {
    display: flex; flex-wrap: nowrap; }


/* ===== COLONNA SOCIAL ===== */

.footer_colonna_social {
    flex: 0 0 60px; display: flex; flex-direction: column; gap: 15px;
    align-items: center; border-right: 1px solid var(--nsf-gray-300); padding-right: 10px; }

footer .social-icon {
    width: 40px !important; height: 40px !important; }

footer .social-icon i {
    font-size: 28px !important; }


/* ===== COLONNA LINK ===== */

.footer_colonna_link {
    flex: 1 1 auto; display: flex; flex-direction: column; padding-left: 15px; min-width: 0; }


/* ===== SELECT MOBILE ===== */

.footer_colonna_link_select_mobile {
    display: block; margin-bottom: 15px; }

.footer_colonna_link_select_mobile ul li {
    border-bottom: 1px solid var(--nsf-gray-300) !important; margin-bottom: 10px !important; }

.footer_colonna_link_select_mobile select {
    padding: 4px 0 !important; margin: 0 !important; width: 100% !important; max-width: unset !important;
    background-position: calc(100% - 15px) center; background-size: 10px 10px; }


/* ===== RIGA LINK (details) ===== */

.footer_colonna_link_riga_link {
    display: flex; flex-direction: column; gap: 15px; margin-bottom: 20px; }

.footer_colonna_link_riga_link details {
    width: 100%; }

.footer_colonna_link_riga_link ul li a {
    text-decoration: none; color: var(--nsf-black-pure); }

.footer_colonna_link_riga_link ul.footer_ul_data_from_json {
    padding-bottom: 15px; }


/* ===== LISTE E TIPOGRAFIA FOOTER ===== */

footer ul {
    list-style: none !important; padding-left: 0 !important; margin: 0 !important; font-size: 14px !important; }

footer ul li {
    list-style: none !important; padding: 5px 0 !important; margin: 0 !important;
    font-size: 14px !important; border-bottom: none !important; }

footer details b {
    font-weight: 500; font-size: 14px; }

footer summary {
    padding: 0 !important; font-weight: 500 !important; }

footer select {
    padding: 4px 0 4px 4px !important; margin: 0 0 0 -3px !important; width: 100% !important;
    max-width: 300px !important; font-size: 14px !important; cursor: pointer;
    border: none !important; border-radius: 0 !important;
    background: var(--nsf-white) url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3E%3Cpath%20d='M201.4%20374.6c12.5%2012.5%2032.8%2012.5%2045.3%200l160-160c12.5-12.5%2012.5-32.8%200-45.3s-32.8-12.5-45.3%200L224%20306.7%2086.6%20169.4c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3l160%20160z'/%3E%3C/svg%3E") no-repeat;
    background-position: calc(100% - 10px) center; background-size: 15px 15px; }


/* ===== LOGHI ===== */

.footer_colonna_link_riga_loghi {
    padding-bottom: 20px; font-size: 14px; border-bottom: 1px solid var(--nsf-gray-300); }

.footer_colonna_link_riga_loghi figure {
    display: block; }


/* ===== DISCLAIMER ===== */

.footer_colonna_link_riga_disclaimer {
    font-size: 14px; line-height: 1.6; padding: 20px 0 80px 0; }


/* ===== TRUSTPILOT ===== */

footer .trustpilot-widget {
    padding: 20px 0 10px 0; border-bottom: 1px solid var(--nsf-gray-300); }


/* ===== MOBILE SMALL (320px) ===== */

@media only screen and (max-width: 320px) {

    footer .social-icon {
        width: 40px !important; height: 40px !important; }

    footer .social-icon > i {
        font-size: 28px !important; }
}


/* ===== DESKTOP (768px+) ===== */

@media (min-width: 768px) {

    footer {
        padding: 20px 0 0 0; }

    footer summary {
        color: var(--nsf-red) !important; font-size: 18px !important; }

    .footer_colonna_link_riga_link {
        flex-direction: row; justify-content: space-between;
        border-bottom: 1px solid var(--nsf-gray-300); }

    .footer_colonna_link_riga_link details {
        width: 20%; }

    .footer_colonna_link_select_mobile {
        display: none; }

    footer details[data-locked="true"] > summary {
        cursor: default; pointer-events: none; }

    footer details[data-locked="true"] > summary::after {
        content: ''; }

    footer details {
        border-bottom: none !important; }

    footer select {
        border-bottom: 1px solid var(--nsf-gray-250) !important; }

    .footer_colonna_link_select_mobile select {
        border-bottom: 1px solid var(--nsf-gray-250) !important; }
}


/* ===== STICKY FOOTER ===== */

.sticky-footer {
    position: fixed; bottom: 0; left: 0; width: 100%; background-color: var(--nsf-white);
    border-top: 1px solid var(--nsf-gray-400); padding: 8px; z-index: 9999;
    display: flex; justify-content: center; box-shadow: 0 -2px 6px var(--nsf-black-10); }

.sticky-footer .sticky-footer-icon-container {
    display: flex; justify-content: space-evenly; align-items: center; gap: 10px;
    width: 100%; max-width: 600px; padding: 10px 0; }

.sticky-footer .sticky-footer-icon-container .btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    border-radius: 6px; padding: 12px; font-size: 14px; font-weight: 400;
    text-transform: uppercase; cursor: pointer; border: 1px solid transparent;
    text-decoration: none; background-color: var(--nsf-white); line-height: 1;
    width: 100%; box-sizing: border-box; }

.sticky-footer .sticky-footer-icon-container .btn svg {
    width: 20px; height: 20px; fill: currentColor; flex-shrink: 0; }

.sticky-footer .sticky-footer-icon-container .btn a {
    color: inherit; }

.sticky-footer .sticky-footer-icon-container .btn.whatsapp {
    width: 40%; background-color: var(--nsf-social-whatsapp);
    border-color: var(--nsf-social-whatsapp); color: var(--nsf-white); }

.sticky-footer .sticky-footer-icon-container .btn.phone,
.sticky-footer .sticky-footer-icon-container .btn.email {
    background-color: var(--nsf-white); border-color: var(--nsf-gray-400); color: var(--nsf-black-pure); }

.sticky-footer .sticky-footer-icon-container .btn.phone {
    width: 40%; }

.sticky-footer .sticky-footer-icon-container .btn.email {
    width: 20%; }

.sticky-footer .sticky-footer-icon-container .btn.whatsapp.pagina-corso {
    width: 15% !important; max-width: 50px !important; padding: 10px !important; }

.sticky-footer .sticky-footer-icon-container .btn.iscriviti-subito {
    width: 80%; background-color: var(--nsf-red); border-color: var(--nsf-red);
    color: var(--nsf-white); font-weight: 500; padding: 14px !important;
    border-radius: 0 !important; box-shadow: 0 12px 12px var(--nsf-black-20); font-size: 15px; }

@media (min-width: 768px) {
    .sticky-footer {
        display: none; visibility: hidden; }
}