/* ==========================================================================
   PALM TREE WORKSHOPS — Footer CSS
   Reference: atipus.com footer aesthetic
   ========================================================================== */

/* ──────────────────────────────────────────────
   FOOTER WRAPPER
────────────────────────────────────────────── */
.elementor-location-footer,
#ptw-site-footer {
    background-color: var(--ptw-white);
    border-top: 1px solid var(--ptw-grey-200);
}


/* ──────────────────────────────────────────────
   NEWSLETTER BAND (sits above main footer)
────────────────────────────────────────────── */
.ptw-footer-newsletter {
    background-color: var(--ptw-grey-100);
    padding: var(--ptw-gap-lg) var(--ptw-gap-md);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--ptw-gap-lg);
    align-items: start;
    max-width: var(--ptw-max-width);
    margin-inline: auto;
    border-bottom: 1px solid var(--ptw-grey-200);
}

.ptw-footer-newsletter__heading {
    font-size: var(--ptw-text-lg);
    font-weight: 700;
    margin-bottom: 4px;
}

.ptw-footer-newsletter__sub {
    font-size: var(--ptw-text-xs);
    color: var(--ptw-grey-600);
}


/* ──────────────────────────────────────────────
   MAIN FOOTER GRID
────────────────────────────────────────────── */
.ptw-footer-main {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    gap: var(--ptw-gap-lg);
    align-items: start;
    padding: var(--ptw-gap-md);
    max-width: var(--ptw-max-width);
    margin-inline: auto;
}


/* ──────────────────────────────────────────────
   FOOTER LOGO
────────────────────────────────────────────── */
.ptw-footer-logo {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: var(--ptw-black);
}

.ptw-footer-logo img,
.ptw-footer-logo svg {
    width: 24px;
    height: 24px;
}

.ptw-footer-logo__text {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: var(--ptw-tracking-wide);
    text-transform: uppercase;
    line-height: 1.3;
}


/* ──────────────────────────────────────────────
   FOOTER NAV COLUMNS
────────────────────────────────────────────── */
.ptw-footer-nav {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ptw-footer-nav__heading {
    font-size: var(--ptw-text-xs);
    font-weight: 700;
    letter-spacing: var(--ptw-tracking-xwide);
    text-transform: uppercase;
    color: var(--ptw-grey-600);
    margin-bottom: 4px;
}

.ptw-footer-nav a {
    font-size: var(--ptw-text-xs);
    color: var(--ptw-grey-800);
    display: block;
}

.ptw-footer-nav a:hover {
    color: var(--ptw-black);
    opacity: 1;
}


/* ──────────────────────────────────────────────
   FOOTER CONTACT INFO
────────────────────────────────────────────── */
.ptw-footer-contact {
    display: flex;
    flex-direction: column;
    gap: var(--ptw-gap-xs);
}

.ptw-footer-contact__heading {
    font-size: var(--ptw-text-xs);
    font-weight: 700;
    letter-spacing: var(--ptw-tracking-xwide);
    text-transform: uppercase;
    color: var(--ptw-grey-600);
    margin-bottom: 4px;
}

.ptw-footer-contact__item {
    font-size: var(--ptw-text-xs);
    color: var(--ptw-grey-800);
    line-height: 1.6;
}

.ptw-footer-contact__address-label {
    font-size: var(--ptw-text-xs);
    font-weight: 700;
    letter-spacing: var(--ptw-tracking-xwide);
    text-transform: uppercase;
    color: var(--ptw-grey-600);
    margin-top: var(--ptw-gap-sm);
    margin-bottom: 2px;
}


/* ──────────────────────────────────────────────
   FOOTER BOTTOM BAR
────────────────────────────────────────────── */
.ptw-footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--ptw-gap-sm) var(--ptw-gap-md);
    border-top: 1px solid var(--ptw-grey-200);
    max-width: var(--ptw-max-width);
    margin-inline: auto;
    width: 100%;
}

.ptw-footer-copyright {
    font-size: 11px;
    color: var(--ptw-grey-600);
}

.ptw-footer-back-to-top {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ptw-grey-600);
    cursor: pointer;
    background: none;
    border: none;
    display: flex;
    align-items: center;
    gap: 6px;
}

.ptw-footer-back-to-top:hover {
    color: var(--ptw-black);
}


/* ──────────────────────────────────────────────
   RESPONSIVE
────────────────────────────────────────────── */
@media (max-width: 900px) {
    .ptw-footer-main {
        grid-template-columns: 1fr 1fr;
        gap: var(--ptw-gap-md);
    }
    .ptw-footer-newsletter {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .ptw-footer-main {
        grid-template-columns: 1fr;
    }
    .ptw-footer-bottom {
        flex-direction: column;
        gap: var(--ptw-gap-xs);
        text-align: center;
    }
}
