/* ══════════════════════════════════════════════════════
   MODULE 4 — FEATURED BRANDS
══════════════════════════════════════════════════════ */

.brands-section {
    padding: 0 7px 7px;
    background: #0f0f0f;
    position: relative;
    z-index: 2;
}

.brands-container {
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--sp-xl);
}

/* ── Title ── */
.brands-title-wrapper {
    position: relative;
    width: 100%;
    margin-bottom: var(--sp-lg);
    z-index: 10;
}

.brands-massive-title {
    font-family: var(--font-sans), 'Inter', sans-serif;
    font-size: clamp(3rem, 7vw, 7.5rem);
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -0.04em;
    color: #f0f0f0;
    text-transform: uppercase;
    margin-bottom: 40px;
    padding: 0 40px;
}

.brands-title-line {
    overflow: hidden; /* For GSAP reveal */
    padding-bottom: 0.1em;
}

.brands-title-line:nth-child(2) {
    margin-left: 10vw;
    color: var(--clr-ivory); /* Contrast */
}

/* ── Showcase ── */
.brands-showcase {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
}

.brand-panel {
    width: 100%;
    display: flex;
}

/* Asymmetrical Layouts */
.brand-truly-bare {
    justify-content: flex-start;
}

.brand-theory-bloom {
    justify-content: flex-end;
    margin-top: -5vw;
}

.brand-paris {
    justify-content: center;
}

.brand-panel-inner {
    background: #f0f0f0;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    width: 100%;
    overflow: hidden;
    position: relative;
}

.brand-visual-area {
    flex: 1.2;
    position: relative;
    border-right: var(--border-thick);
    overflow: hidden;
}

.brand-theory-bloom .brand-visual-area {
    border-right: none;
    border-left: var(--border-thick);
}

.brand-img {
    width: 100%;
    height: 380px;
    object-fit: cover;
}

.brand-panel:hover .brand-img {
    transform: scale(1.01);
    filter: saturate(1.1) brightness(1.05);
}

.brand-visual-area::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(26,26,26,0.3) 0%, transparent 40%);
    opacity: 0;
    transition: opacity 0.8s var(--ease-luxury);
    pointer-events: none;
}

.brand-panel:hover .brand-visual-area::after { opacity: 1; }

.brand-tag {
    position: absolute;
    top: var(--sp-md);
    left: var(--sp-md);
    background: var(--clr-ivory);
    padding: 0.5rem 1.2rem;
    border-radius: var(--radius-pill);
    border: var(--border-main);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-sans);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--clr-black);
    z-index: 2;
    box-shadow: 3px 3px 0 var(--clr-black);
}

.brand-info-area {
    flex: 1;
    padding: var(--sp-lg);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: var(--clr-ivory);
    color: var(--clr-black);
}

.brand-name {
    font-family: var(--font-sans), 'Inter', sans-serif;
    font-size: clamp(1.5rem, 2.2vw, 2.2rem);
    font-weight: 800;
    line-height: 1.1;
    text-transform: uppercase;
    color: #0f0f0f;
    margin-bottom: 8px;
}

.brand-subtitle {
    font-family: var(--font-sans);
    font-size: 1.2rem;
    line-height: 1.6;
    color: var(--clr-black);
    opacity: 0.9;
    max-width: 400px;
}

.brand-action-btn {
    align-self: flex-end;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    border: var(--border-thick);
    background: transparent;
    color: var(--clr-black);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--tr-fast);
    margin-top: auto;
}

.brand-action-btn svg {
    width: 28px;
    height: 28px;
    transition: transform var(--tr-fast);
}

.brand-panel:hover .brand-action-btn {
    background: var(--clr-black);
    color: var(--clr-ivory);
}

.brand-panel:hover .brand-action-btn svg {
    transform: translateX(6px);
}

/* Transition Blocks */
.brand-transition-block {
    height: 10vh;
}

/* Responsive */
@media (max-width: 1024px) {
    .brand-panel-inner {
        flex-direction: column;
        width: 95%;
    }
    
    .brand-theory-bloom .brand-panel-inner {
        flex-direction: column-reverse;
    }

    .brand-visual-area {
        border-right: none;
        border-bottom: var(--border-thick);
    }
    
    .brand-theory-bloom .brand-visual-area {
        border-left: none;
        border-bottom: var(--border-thick);
    }

    .brand-info-area {
        padding: var(--sp-md);
        gap: var(--sp-md);
    }
    
    .brand-theory-bloom {
        margin-top: 0;
    }
}

@media (max-width: 768px) {
    .brands-massive-title {
        font-size: 15vw;
    }
    .brands-title-line:nth-child(2) {
        margin-left: 0;
    }
    .brand-panel-inner {
        width: 100%;
    }
}
