/* ================================================
   TEAM GLAM — Footer
   ================================================ */

:root {
    --tg-footer-bg:            #ffffff;
    --tg-footer-heading-color: #000000;
    --tg-footer-link-color:    #C9A96E;
    --tg-footer-text-color:    #333333;
    --tg-footer-border-color:  rgba(0, 0, 0, 0.1);
    --tg-footer-btn-bg:        #1a1a1a;
    --tg-footer-btn-color:     #ffffff;
}

.tg-footer {
    background:  var(--tg-footer-bg);
    font-family: 'brandon-grotesque', sans-serif;
    color:       var(--tg-footer-text-color);
}

/* ── Logo row ──────────────────────────────────── */
.tg-footer-logo-row {
    text-align:    center;
    padding:       56px 40px;
    border-bottom: 1px solid var(--tg-footer-border-color);
}

.tg-footer-logo-link,
.tg-footer-logo-row .custom-logo-link {
    display: inline-block;
}

/* Dark logo — never invert, never filter */
.tg-footer-logo-img,
.tg-footer-logo-row .custom-logo {
    max-height: var(--tg-footer-logo-height, 100px);
    width:      auto;
    display:    block;
    filter:     none !important;
}

.tg-footer-site-name {
    font-family:    'beaufort-pro', serif;
    font-size:      28px;
    font-weight:    400;
    color:          var(--tg-footer-heading-color);
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

/* ── Main 3-column grid ─────────────────────────── */
.tg-footer-main {
    display:               grid;
    grid-template-columns: 2fr 1fr 1.5fr;
    gap:                   0 80px;
    max-width:             1200px;
    margin:                0 auto;
    padding:               56px 40px;
}

/* ── Column headings ────────────────────────────── */
.tg-footer-heading {
    font-family:   'beaufort-pro', serif;
    font-size:     clamp(22px, 2.2vw, 30px);
    font-weight:   400;
    color:         var(--tg-footer-heading-color);
    margin:        0 0 30px;
    line-height:   1.2;
}

/* ── Quick Links — 2-column nav ─────────────────── */
ul.tg-footer-nav {
    list-style:   none;
    padding:      0;
    margin:       0;
    column-count: 2;
    column-gap:   32px;
}

ul.tg-footer-nav > li {
    break-inside:  avoid;
    margin-bottom: 14px;
    padding:       0;
}

ul.tg-footer-nav > li > a {
    color:           var(--tg-footer-link-color);
    text-decoration: none;
    font-size:       15px;
    font-weight:     400;
    line-height:     1.3;
    display:         inline-block;
    transition:      opacity 0.22s ease;
}

ul.tg-footer-nav > li > a:hover {
    opacity: 0.65;
}

/* Hide sub-menu items in footer nav */
ul.tg-footer-nav .sub-menu {
    display: none;
}

/* ── Contact column ─────────────────────────────── */
.tg-footer-contact-item {
    margin:      0 0 14px;
    font-size:   var(--tg-body-font-size, 18px);
    line-height: 1.5;
    color:       var(--tg-footer-text-color);
}

.tg-footer-contact-item:last-child { margin-bottom: 0; }

.tg-footer-contact-item a {
    color:           inherit;
    text-decoration: none;
    transition:      opacity 0.22s ease;
}

.tg-footer-contact-item a:hover {
    opacity: 0.65;
}

.tg-footer-address {
    white-space: pre-line;
    margin-top:  6px;
}

/* ── Subscribe column ───────────────────────────── */
.tg-footer-subscribe-sub {
    font-size:     var(--tg-body-font-size, 18px);
    color:         var(--tg-footer-text-color);
    line-height:   1.6;
    margin:        0 0 22px;
}

.tg-footer-form-row {
    display: flex;
    gap:     0;
}

.tg-footer-form-row input[type="email"] {
    flex:        1;
    padding:     13px 16px;
    border:      1px solid rgba(0, 0, 0, 0.18);
    border-right: none;
    font-family: 'brandon-grotesque', sans-serif;
    font-size:   14px;
    color:       #333333;
    background:  #ffffff;
    outline:     none;
    min-width:   0;
    transition:  border-color 0.2s;
}

.tg-footer-form-row input[type="email"]:focus {
    border-color: rgba(0, 0, 0, 0.4);
}

.tg-footer-form-row input[type="email"]::placeholder {
    color: #aaaaaa;
}

.tg-footer-form-row button {
    flex-shrink:    0;
    padding:        13px 20px;
    background:     var(--tg-footer-btn-bg);
    color:          var(--tg-footer-btn-color);
    border:         none;
    font-family:    'brandon-grotesque', sans-serif;
    font-size:      11px;
    font-weight:    400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    cursor:         pointer;
    white-space:    nowrap;
    transition:     background 0.22s ease;
}

.tg-footer-form-row button:hover {
    background: #383838;
}

/* ── Bottom bar ─────────────────────────────────── */
.tg-footer-bar {
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    max-width:       1200px;
    margin:          0 auto;
    padding:         20px 40px;
    border-top:      1px solid var(--tg-footer-border-color);
    font-size:       12px;
    color:           var(--tg-footer-text-color);
    line-height:     1.5;
}

.tg-footer-bar p { margin: 0; }

.tg-footer-bar a {
    color:           var(--tg-footer-link-color);
    text-decoration: none;
    transition:      opacity 0.22s;
}

.tg-footer-bar a:hover { opacity: 0.7; }

/* ── Responsive: tablet ─────────────────────────── */
@media (max-width: 1024px) {
    .tg-footer-main {
        grid-template-columns: 1fr 1fr;
        gap:                   40px;
    }

    .tg-footer-col--subscribe {
        grid-column: 1 / -1;
    }
}

/* ── Responsive: mobile ─────────────────────────── */
@media (max-width: 767px) {
    .tg-footer-logo-row {
        padding: 40px 24px;
    }

    .tg-footer-main {
        grid-template-columns: 1fr;
        padding:               40px 24px;
        gap:                   40px;
    }

    .tg-footer-col--subscribe {
        grid-column: auto;
    }

    ul.tg-footer-nav {
        column-count: 2;
    }

    .tg-footer-bar {
        flex-direction: column;
        gap:            8px;
        text-align:     center;
        padding:        20px 24px 32px;
    }
}
