/**
 * PPSOLAR — Footer
 * Couleurs : variables de css/ppsolar-base.css
 */

.pp-footer {
    position: relative;
    overflow: hidden;
    margin-top: 60px;
    padding: 56px 0;
    background: linear-gradient(120deg, var(--ppsolar-navy) 0%, var(--ppsolar-navy-2) 100%);
    color: rgba(255, 255, 255, 0.75);
    font-family: var(--ppsolar-font);
    font-size: 14px;
    line-height: 1.6;
}

/* Décor solaire discret (comme le bandeau de titre) */
.pp-footer::before {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    right: -120px;
    top: -170px;
    border-radius: 50%;
    border: 30px solid rgba(244, 166, 34, 0.12);
    pointer-events: none;
}

.pp-footer-container {
    position: relative;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}

/* Titres de colonne avec trait orange (menu et widgets) */
.pp-footer-title,
.pp-footer-widgets .wp-block-heading,
.pp-footer-widgets .widget-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600;
    line-height: 1.6 !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.pp-footer-title::before,
.pp-footer-widgets .wp-block-heading::before,
.pp-footer-widgets .widget-title::before {
    content: "";
    width: 4px;
    height: 16px;
    border-radius: 2px;
    background: var(--ppsolar-accent);
}

/* Logo, slogan, devis */
.pp-footer a.pp-footer-logo {
    display: inline-block;
    margin-bottom: 16px;
    text-decoration: none !important;
}

.pp-footer-logo img {
    display: block;
    width: auto;
    max-height: 48px;
}

.pp-footer-logo-text {
    color: #ffffff;
    font-size: 26px;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.2;
}

.pp-footer-slogan {
    margin: 0 0 20px !important;
    max-width: 300px;
}

.pp-footer a.pp-footer-devis {
    display: inline-block;
    padding: 12px 20px;
    border-radius: var(--ppsolar-radius);
    background: var(--ppsolar-accent);
    color: var(--ppsolar-navy) !important;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pp-footer a.pp-footer-devis:hover,
.pp-footer a.pp-footer-devis:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(244, 166, 34, 0.35);
}

/* Menu Informations */
.pp-footer-menu,
.pp-footer-widgets ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.pp-footer-menu li,
.pp-footer-widgets li {
    margin: 0 0 10px !important;
    padding: 0 !important;
    list-style: none !important;
}

.pp-footer-menu li::before,
.pp-footer-widgets li::before {
    content: none !important;
}

/* Contenu des widgets */
.pp-footer-widgets,
.pp-footer-widgets p {
    color: rgba(255, 255, 255, 0.75);
}

.pp-footer-widgets p {
    margin: 0 0 10px !important;
}

.pp-footer-widgets {
    display: flex;
    flex-direction: column;
    gap: 24px; /* les widgets masqués ne créent pas d'espace */
}

.pp-footer-widgets > .pp-footer-widget {
    margin: 0 !important;
}

/* Le premier élément de la colonne Contact reste aligné sur les autres titres,
   quel que soit le bloc utilisé (HTML personnalisé, titre, paragraphe…) */
.pp-footer-widgets > .pp-footer-widget:first-child,
.pp-footer-widgets > .pp-footer-widget:first-child > :first-child,
.pp-footer-widgets .textwidget > :first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Paragraphes / titres vides ajoutés automatiquement par WordPress */
.pp-footer-widgets p:empty,
.pp-footer-widgets .wp-block-heading:empty,
.pp-footer-widgets .pp-footer-widget:empty,
.pp-footer-widgets .pp-footer-widget:has(> :is(p, .wp-block-heading):empty:only-child) {
    display: none !important;
}

.pp-footer-menu a,
.pp-footer-widgets a {
    color: rgba(255, 255, 255, 0.75) !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.pp-footer-menu a:hover,
.pp-footer-menu a:focus-visible,
.pp-footer-widgets a:hover,
.pp-footer-widgets a:focus-visible {
    color: var(--ppsolar-accent) !important;
}

/* Responsive */
@media (max-width: 1024px) {
    .pp-footer-container {
        grid-template-columns: 1fr 1fr;
    }

    .pp-footer-about {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .pp-footer {
        margin-top: 40px;
        padding: 40px 0;
    }

    .pp-footer-container {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .pp-footer::before {
        width: 220px;
        height: 220px;
        right: -90px;
        top: -110px;
        border-width: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pp-footer a.pp-footer-devis {
        transition: none;
    }
}
