/* ──────────────────────────────────────────────────────────────
   [PLW] Footer — CSS (mu-plugins/plw/assets/css/footer.css)
   v2.0 — 2026-06-11
   ────────────────────────────────────────────────────────────── */

.plw-footer {
    background-color: var(--color-bg-dark, #2D2D2D);
    color: rgba(255, 255, 255, 0.7);
    font-family: var(--font-ui, 'Poppins', Arial, sans-serif);
}

.plw-footer__inner {
    max-width: var(--container-max-width, 1280px);
    margin: 0 auto;
    padding: clamp(50px, 7vw, 90px) clamp(20px, 5vw, 40px) clamp(40px, 5vw, 60px);
    display: grid;
    grid-template-columns: 1.4fr 2.6fr;
    gap: clamp(40px, 6vw, 80px);
}

/* BRAND */
.plw-footer__logo {
    display: inline-flex;
    flex-direction: column;
    line-height: 1;
    text-decoration: none;
    margin-bottom: 20px;
}
.plw-footer__logo-top {
    font-family: var(--font-heading, 'Playfair Display', Georgia, serif);
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 3px;
    color: var(--color-text-white, #FFFFFF);
}
.plw-footer__logo-accent { color: var(--color-gold, #C6A564); }
.plw-footer__logo-bottom {
    font-family: var(--font-heading, 'Playfair Display', Georgia, serif);
    font-size: 15px;
    font-style: italic;
    letter-spacing: 1px;
    color: rgba(255, 255, 255, 0.55);
    margin-top: 4px;
}
.plw-footer__tagline {
    font-size: 14px;
    line-height: 1.75;
    max-width: 38ch;
    margin: 0 0 26px;
    color: rgba(255, 255, 255, 0.6);
}
.plw-footer__social {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    font-size: 13px;
    letter-spacing: 0.5px;
    transition: color var(--transition-base, 0.4s ease);
}
.plw-footer__social:hover { color: var(--color-gold, #C6A564); }
.plw-footer__social svg { flex-shrink: 0; transition: transform var(--transition-base, 0.4s ease); }
.plw-footer__social:hover svg { transform: scale(1.08); }
.plw-footer__social:focus-visible {
    outline: 2px solid var(--color-gold, #C6A564);
    outline-offset: 3px;
    border-radius: 4px;
}

/* NAV COLONNE */
.plw-footer__nav {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(24px, 3vw, 40px);
}
.plw-footer__col-title {
    font-family: var(--font-display, 'Montserrat', Arial, sans-serif);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--color-gold, #C6A564);
    margin: 0 0 18px;
}
.plw-footer__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
}
.plw-footer__link {
    color: rgba(255, 255, 255, 0.68);
    text-decoration: none;
    font-size: 14px;
    line-height: 1.5;
    transition: color var(--transition-base, 0.4s ease), padding-left 0.25s ease;
}
.plw-footer__link:hover { color: var(--color-text-white, #FFFFFF); padding-left: 5px; }
.plw-footer__link:focus-visible {
    outline: 2px solid var(--color-gold, #C6A564);
    outline-offset: 3px;
    border-radius: 3px;
}

/* CONTATTI */
.plw-footer__contact {
    font-style: normal;
    display: flex;
    flex-direction: column;
    gap: 11px;
}
.plw-footer__contact-row {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.6);
}

/* BARRA LEGALE */
.plw-footer__bottom { border-top: 1px solid rgba(255, 255, 255, 0.1); }
.plw-footer__bottom-inner {
    max-width: var(--container-max-width, 1280px);
    margin: 0 auto;
    padding: 24px clamp(20px, 5vw, 40px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 24px;
}
.plw-footer__legal {
    font-size: 11.5px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.4);
    margin: 0;
    flex: 1 1 100%;
    order: 3;
}
.plw-footer__bottom-links { display: flex; align-items: center; gap: 10px; order: 1; }
.plw-footer__bottom-link {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.55);
    text-decoration: none;
    transition: color var(--transition-base, 0.4s ease);
}
.plw-footer__bottom-link:hover { color: var(--color-gold, #C6A564); }
.plw-footer__bottom-link:focus-visible {
    outline: 2px solid var(--color-gold, #C6A564);
    outline-offset: 3px;
    border-radius: 3px;
}
.plw-footer__sep { color: rgba(255, 255, 255, 0.3); }
.plw-footer__credit { font-size: 12px; color: rgba(255, 255, 255, 0.45); margin: 0; order: 2; }
.plw-footer__credit a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: color var(--transition-base, 0.4s ease);
}
.plw-footer__credit a:hover { color: var(--color-gold, #C6A564); }
.plw-footer__credit a:focus-visible {
    outline: 2px solid var(--color-gold, #C6A564);
    outline-offset: 3px;
    border-radius: 3px;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
    .plw-footer__inner { grid-template-columns: 1fr; gap: clamp(36px, 6vw, 50px); }
}
@media (max-width: 768px) {
    .plw-footer__nav { grid-template-columns: repeat(2, 1fr); gap: 32px 24px; }
    .plw-footer__bottom-inner { flex-direction: column; align-items: flex-start; }
    .plw-footer__bottom-links { order: 1; }
    .plw-footer__credit { order: 2; }
    .plw-footer__legal { order: 3; }
}
@media (max-width: 480px) {
    .plw-footer__nav { grid-template-columns: 1fr; gap: 28px; }
}

/* REVEAL (GSAP) */
.plw-footer.plw-reveal-ready .plw-footer__brand,
.plw-footer.plw-reveal-ready .plw-footer__col { opacity: 0; }

/* REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {
    .plw-footer__link,
    .plw-footer__social,
    .plw-footer__social svg,
    .plw-footer__bottom-link,
    .plw-footer__credit a { transition: none !important; }
    .plw-footer__link:hover { padding-left: 0; }
    .plw-footer.plw-reveal-ready .plw-footer__brand,
    .plw-footer.plw-reveal-ready .plw-footer__col { opacity: 1; }
}
