/* =====================================================
   TOPMODS BRANDS V2
===================================================== */

.tm-brands-v2-page{
    background:#f3f2ef;
}

/* HERO */

.tm-brands-hero{
    position:relative;
    min-height:420px;
    display:flex;
    align-items:center;
    padding:80px;
    overflow:hidden;

    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.88) 0%,
        rgba(0,0,0,.65) 40%,
        rgba(0,0,0,.25) 100%
    ),
    url('https://www.top-mods.gr/wp-content/uploads/2025/06/apr-golf-r-hero.jpg');

    background-size:cover;
    background-position:center;
}

.tm-brands-hero:after{
    content:"";
    position:absolute;
    inset:0;
    background:
    radial-gradient(circle at right center,
    rgba(227,6,19,.18),
    transparent 40%);
}

.tm-brands-hero-content{
    position:relative;
    z-index:2;
    max-width:700px;
}

.tm-brands-hero-content span{
    color:#e30613;
    font-size:12px;
    font-weight:900;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.tm-brands-hero-content h1{
    margin:14px 0;
    color:#fff;
    font-size:72px;
    line-height:.95;
    font-weight:900;
}

.tm-brands-hero-content strong{
    color:#e30613;
}

.tm-brands-hero-content p{
    color:rgba(255,255,255,.85);
    font-size:18px;
    max-width:600px;
    line-height:1.7;
}

.tm-brands-stats{
    display:flex;
    gap:20px;
    margin-top:40px;
}

.tm-brands-stats div{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(8px);
    border-radius:18px;
    padding:18px 24px;
    min-width:140px;
}

.tm-brands-stats strong{
    display:block;
    color:#fff;
    font-size:30px;
    font-weight:900;
}

.tm-brands-stats small{
    display:block;
    margin-top:4px;
    color:#cfcfcf;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

/* CONTENT */

.tm-brands-section{
    padding:70px;
}

.tm-brands-head{
    margin-bottom:40px;
}

.tm-brands-head span{
    color:#e30613;
    font-size:12px;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.tm-brands-head h2{
    margin:8px 0;
    font-size:54px;
    font-weight:900;
    color:#111;
}

.tm-brands-head p{
    color:#666;
    font-size:16px;
}

/* GRID */

.tm-brands-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:28px;
}

/* CARD */

.tm-brand-card{
    position:relative;

    background:#fff;
    border:1px solid rgba(0,0,0,.07);

    border-radius:22px;

    overflow:hidden;

    text-decoration:none;

    transition:.22s ease;

    box-shadow:
    0 18px 40px rgba(0,0,0,.06);
}

.tm-brand-card:hover{
    transform:translateY(-6px);

    border-color:#e30613;

    box-shadow:
    0 25px 50px rgba(0,0,0,.12);
}

/* LOGO AREA */

.tm-brand-logo-box{

    height:220px;

    background:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:35px;

    border-bottom:1px solid rgba(0,0,0,.06);

    position:relative;
}

.tm-brand-logo-box:before{

    content:"";

    position:absolute;

    inset:0;

    background:
    radial-gradient(
        circle at center,
        rgba(227,6,19,.04),
        transparent 65%
    );

    pointer-events:none;
}

.tm-brand-logo-box img{

    max-width:85%;
    max-height:120px;

    width:auto;
    height:auto;

    object-fit:contain;

    filter:none;

    transition:.25s ease;
}

.tm-brand-card:hover .tm-brand-logo-box img{

    transform:scale(1.05);
}

/* FALLBACK */

.tm-brand-logo-box strong{

    font-size:32px;
    font-weight:900;
    color:#111;
}

/* INFO */

.tm-brand-info{

    padding:24px;
}

.tm-brand-info h3{

    margin:0;

    color:#111;

    font-size:22px;

    font-weight:900;
}

.tm-brand-info span{

    display:block;

    margin-top:8px;

    color:#777;

    font-size:13px;
}

/* ARROW */

.tm-brand-card b{

    position:absolute;

    right:24px;
    bottom:24px;

    width:42px;
    height:42px;

    border-radius:12px;

    background:#111;

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:18px;

    transition:.2s ease;
}

.tm-brand-card:hover b{

    background:#e30613;

    transform:translateX(3px);
}

/* TRUST STRIP */

.tm-brands-trust{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    background:#fff;

    border-top:1px solid rgba(0,0,0,.08);
}

.tm-brands-trust div{

    padding:35px;

    text-align:center;

    border-right:1px solid rgba(0,0,0,.08);
}

.tm-brands-trust div:last-child{
    border-right:none;
}

.tm-brands-trust strong{

    display:block;

    color:#111;

    font-size:14px;

    font-weight:900;

    text-transform:uppercase;

    margin-bottom:10px;
}

.tm-brands-trust span{

    color:#666;

    font-size:13px;
}

/* MOBILE */

@media(max-width:1400px){

    .tm-brands-grid{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:1100px){

    .tm-brands-hero{
        min-height:auto;
        padding:50px 30px;
    }

    .tm-brands-hero-content h1{
        font-size:48px;
    }

    .tm-brands-section{
        padding:40px 25px;
    }

    .tm-brands-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .tm-brands-head h2{
        font-size:42px;
    }

    .tm-brands-trust{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:767px){

    .tm-brands-grid{
        grid-template-columns:1fr;
    }

    .tm-brands-stats{
        flex-direction:column;
    }

    .tm-brands-trust{
        grid-template-columns:1fr;
    }

    .tm-brands-trust div{
        border-right:none;
        border-bottom:1px solid rgba(0,0,0,.08);
    }

    .tm-brands-head h2{
        font-size:34px;
    }

    .tm-brand-logo-box{
        height:180px;
    }
}