/*
Theme Name: WELOKO Brand V15.4 Sourcing Mode
Theme URI: https://weloko.com/
Author: WELOKO
Description: Base V15.4 stable avec mode sourcing fournisseurs : vitrine publique, prix et fonctions e-commerce masqués sans supprimer les données WooCommerce.
Version: 15.4.1
Text Domain: weloko-v14-zero
*/

/* ==========================================================
   01. VARIABLES
   ========================================================== */
:root {
    --wlx-black: #050505;
    --wlx-white: #ffffff;
    --wlx-ink: #171717;
    --wlx-muted: #6f6f6f;
    --wlx-soft: #f4f4f2;
    --wlx-line: #ddddda;
    --wlx-green: #1f7a4a;
    --wlx-max: 1440px;
    --wlx-radius: 22px;
    --wlx-gap: clamp(18px, 2vw, 32px);
}

/* ==========================================================
   02. RESET / BASE
   ========================================================== */
* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--wlx-white);
    color: var(--wlx-ink);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.5;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

.wlx-shell {
    width: min(calc(100% - 40px), var(--wlx-max));
    margin-inline: auto;
}

/* ==========================================================
   03. HEADER
   ========================================================== */
.wlx-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(5, 5, 5, 0.96);
    color: var(--wlx-white);
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.wlx-header__inner {
    min-height: 78px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 28px;
}

.wlx-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-weight: 900;
    letter-spacing: .04em;
    font-size: 1.15rem;
}

.wlx-brand__mark {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--wlx-white);
    position: relative;
}

.wlx-brand__mark::after {
    content: "W";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: var(--wlx-black);
    font-size: .72rem;
    font-weight: 900;
}

.wlx-nav {
    display: flex;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
}

.wlx-nav a {
    font-size: .82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    opacity: .92;
}

.wlx-nav a:hover {
    opacity: 1;
}

.wlx-header__actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.wlx-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.35);
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.wlx-menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.35);
    background: transparent;
    color: var(--wlx-white);
}

/* ==========================================================
   04. HERO HOME
   ========================================================== */
.wlx-hero {
    background: var(--wlx-black);
    color: var(--wlx-white);
    min-height: 78vh;
    display: grid;
    grid-template-columns: 1.02fr .98fr;
}

.wlx-hero__copy {
    padding: clamp(54px, 7vw, 110px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.wlx-kicker {
    margin: 0 0 14px;
    font-size: .76rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .16em;
    opacity: .72;
}

.wlx-hero h1 {
    margin: 0;
    max-width: 760px;
    font-size: clamp(3.8rem, 8vw, 8.3rem);
    line-height: .88;
    text-transform: uppercase;
    letter-spacing: -.055em;
}

.wlx-hero__lead {
    margin: 28px 0 0;
    max-width: 650px;
    font-size: clamp(1rem, 1.5vw, 1.35rem);
    color: rgba(255,255,255,.76);
}

.wlx-actions {
    margin-top: 34px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.wlx-button {
    min-height: 50px;
    padding: 0 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--wlx-white);
    color: var(--wlx-black);
    font-size: .8rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.wlx-button--ghost {
    background: transparent;
    color: var(--wlx-white);
    border: 1px solid rgba(255,255,255,.35);
}

.wlx-hero__media {
    min-height: 78vh;
    background: #111;
    overflow: hidden;
}

.wlx-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ==========================================================
   05. GENERIC SECTIONS
   ========================================================== */
.wlx-section {
    padding: clamp(70px, 8vw, 120px) 0;
}

.wlx-section--soft {
    background: var(--wlx-soft);
}

.wlx-section--dark {
    background: var(--wlx-black);
    color: var(--wlx-white);
}

.wlx-section__head {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 24px;
    margin-bottom: 34px;
}

.wlx-section__head h2 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 4.4rem);
    line-height: .95;
    letter-spacing: -.04em;
}

.wlx-section__head p {
    max-width: 620px;
    margin: 12px 0 0;
    color: var(--wlx-muted);
}

.wlx-link {
    font-size: .8rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    border-bottom: 1px solid currentColor;
}

/* ==========================================================
   06. CATEGORY GRID
   ========================================================== */
.wlx-category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--wlx-gap);
}

.wlx-category-card {
    position: relative;
    min-height: 440px;
    border-radius: var(--wlx-radius);
    overflow: hidden;
    background: #111;
    color: var(--wlx-white);
}

.wlx-category-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wlx-category-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.02) 35%, rgba(0,0,0,.78) 100%);
}

.wlx-category-card__copy {
    position: absolute;
    z-index: 2;
    left: 24px;
    right: 24px;
    bottom: 24px;
}

.wlx-category-card h3 {
    margin: 0;
    font-size: 1.55rem;
}

.wlx-category-card p {
    margin: 6px 0 0;
    color: rgba(255,255,255,.75);
    font-size: .92rem;
}

/* ==========================================================
   07. PRODUCT TEASERS
   ========================================================== */
.wlx-products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--wlx-gap);
}

.wlx-product {
    min-width: 0;
}

.wlx-product__media {
    aspect-ratio: 4 / 5;
    background: var(--wlx-soft);
    border-radius: var(--wlx-radius);
    overflow: hidden;
}

.wlx-product__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wlx-product__meta {
    padding-top: 14px;
}

.wlx-product__meta h3 {
    margin: 0;
    font-size: 1rem;
}

.wlx-product__meta p {
    margin: 5px 0 0;
    color: var(--wlx-muted);
    font-size: .88rem;
}

/* ==========================================================
   08. STORY STRIP
   ========================================================== */
.wlx-story {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 620px;
    background: var(--wlx-black);
    color: var(--wlx-white);
}

.wlx-story__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wlx-story__copy {
    padding: clamp(44px, 7vw, 110px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.wlx-story h2 {
    margin: 0;
    font-size: clamp(2.4rem, 5vw, 5.7rem);
    line-height: .95;
    letter-spacing: -.05em;
}

.wlx-story p {
    max-width: 620px;
    color: rgba(255,255,255,.72);
    font-size: 1.05rem;
}

/* ==========================================================
   09. PAGE HERO
   ========================================================== */
.wlx-page-hero {
    min-height: 58vh;
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--wlx-black);
    color: var(--wlx-white);
}

.wlx-page-hero__copy {
    padding: clamp(48px, 6vw, 96px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.wlx-page-hero h1 {
    margin: 0;
    font-size: clamp(3rem, 7vw, 7rem);
    line-height: .9;
    letter-spacing: -.05em;
    text-transform: uppercase;
}

.wlx-page-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ==========================================================
   10. CONTENT BLOCKS
   ========================================================== */
.wlx-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(30px, 5vw, 90px);
    align-items: center;
}

.wlx-copy h2 {
    margin: 0 0 18px;
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: .98;
    letter-spacing: -.04em;
}

.wlx-copy p {
    color: var(--wlx-muted);
}

.wlx-media-card {
    border-radius: var(--wlx-radius);
    overflow: hidden;
    background: var(--wlx-soft);
}

/* ==========================================================
   11. TEAMWEAR
   ========================================================== */
.wlx-pack-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--wlx-gap);
}

.wlx-pack {
    border: 1px solid var(--wlx-line);
    border-radius: var(--wlx-radius);
    padding: 28px;
    background: var(--wlx-white);
}

.wlx-pack h3 {
    margin: 0;
    font-size: 1.55rem;
}

.wlx-pack ul {
    margin: 22px 0 0;
    padding-left: 18px;
}

.wlx-pack li + li {
    margin-top: 8px;
}

/* ==========================================================
   12. WOO COMMERCE - SHOP
   ========================================================== */
.woocommerce .woocommerce-breadcrumb,
.woocommerce-result-count {
    color: var(--wlx-muted);
}

.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--wlx-gap);
    margin: 0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
}

.woocommerce ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
}

.woocommerce ul.products li.product a img {
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: var(--wlx-radius);
    background: var(--wlx-soft);
    margin-bottom: 14px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    padding: 0 !important;
    font-size: 1rem !important;
    font-weight: 800;
}

.woocommerce ul.products li.product .price {
    color: var(--wlx-ink) !important;
    font-weight: 800 !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    border-radius: 999px !important;
    min-height: 46px;
    padding: 0 20px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: var(--wlx-black) !important;
    color: var(--wlx-white) !important;
}

/* ==========================================================
   13. WOO COMMERCE - PRODUCT
   ========================================================== */
.woocommerce div.product {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    gap: clamp(30px, 5vw, 80px);
}

.woocommerce div.product .product_title {
    font-size: clamp(2.1rem, 4vw, 4.3rem);
    line-height: .98;
    letter-spacing: -.04em;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--wlx-ink) !important;
    font-size: 1.35rem !important;
    font-weight: 900;
}

.woocommerce div.product form.cart .variations select {
    min-height: 48px;
    border: 1px solid var(--wlx-line);
    border-radius: 12px;
    padding: 0 14px;
}

.woocommerce div.product .woocommerce-product-gallery__image img {
    border-radius: var(--wlx-radius);
}

.woocommerce-tabs {
    grid-column: 1 / -1;
}

.related.products {
    grid-column: 1 / -1;
}

/* ==========================================================
   14. FOOTER
   ========================================================== */
.wlx-footer {
    background: var(--wlx-black);
    color: var(--wlx-white);
    padding: 70px 0 28px;
}

.wlx-footer__grid {
    display: grid;
    grid-template-columns: 1.35fr repeat(3, 1fr);
    gap: 44px;
}

.wlx-footer h3,
.wlx-footer h4 {
    margin-top: 0;
}

.wlx-footer a {
    display: block;
    margin: 8px 0;
    color: rgba(255,255,255,.7);
}

.wlx-footer__bottom {
    margin-top: 54px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.12);
    color: rgba(255,255,255,.5);
    font-size: .84rem;
}

/* ==========================================================
   15. RESPONSIVE
   ========================================================== */
@media (max-width: 1100px) {
    .wlx-nav {
        display: none;
        position: absolute;
        left: 20px;
        right: 20px;
        top: 88px;
        padding: 24px;
        border-radius: 18px;
        background: var(--wlx-black);
        flex-direction: column;
        align-items: flex-start;
    }

    .wlx-nav.is-open {
        display: flex;
    }

    .wlx-menu-toggle {
        display: inline-grid;
        place-items: center;
    }

    .wlx-category-grid,
    .wlx-products,
    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .wlx-footer__grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 780px) {
    .wlx-shell {
        width: min(calc(100% - 28px), var(--wlx-max));
    }

    .wlx-header__inner {
        grid-template-columns: 1fr auto;
    }

    .wlx-header__actions .wlx-pill {
        display: none;
    }

    .wlx-hero,
    .wlx-page-hero,
    .wlx-story,
    .wlx-two-col,
    .woocommerce div.product {
        grid-template-columns: 1fr;
    }

    .wlx-hero {
        min-height: auto;
    }

    .wlx-hero__copy {
        padding: 54px 22px 40px;
    }

    .wlx-hero__media {
        min-height: 54vh;
    }

    .wlx-section__head {
        grid-template-columns: 1fr;
    }

    .wlx-category-grid,
    .wlx-products,
    .woocommerce ul.products,
    .wlx-pack-grid {
        grid-template-columns: 1fr !important;
    }

    .wlx-category-card {
        min-height: 390px;
    }

    .wlx-footer__grid {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   16. SHOWCASE GRIDS — FOOTBALL / TRAINING / EQUIPMENT
   ========================================================== */
.wlx-showcase-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.wlx-showcase-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--wlx-line);
    border-radius: var(--wlx-radius);
    background: var(--wlx-white);
    transition: transform .25s ease, box-shadow .25s ease;
}

.wlx-showcase-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 55px rgba(0,0,0,.09);
}

.wlx-showcase-card--wide {
    grid-column: span 2;
}

.wlx-showcase-card__media {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--wlx-soft);
}

.wlx-showcase-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wlx-showcase-card__copy {
    padding: 22px;
}

.wlx-showcase-card__copy > span {
    display: block;
    margin-bottom: 8px;
    color: var(--wlx-green);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.wlx-showcase-card__copy h3 {
    margin: 0;
    font-size: 1.35rem;
}

.wlx-showcase-card__copy p {
    margin: 6px 0 0;
    color: var(--wlx-muted);
}

.wlx-page-hero--equipment {
    min-height: 68vh;
}

.wlx-equipment-hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    min-height: 68vh;
    background: #f1f1ef;
}

.wlx-equipment-hero-grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 1px solid rgba(0,0,0,.06);
}

/* ==========================================================
   17. FOUNDERS / OUR STORY
   ========================================================== */
.wlx-founders-hero {
    padding: clamp(78px, 9vw, 150px) 0;
    background: var(--wlx-black);
    color: var(--wlx-white);
}

.wlx-founders-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 60px;
    align-items: end;
}

.wlx-founders-hero h1 {
    max-width: 900px;
    margin: 0;
    font-size: clamp(3.2rem, 7vw, 7.2rem);
    line-height: .9;
    letter-spacing: -.055em;
}

.wlx-founders-hero__lead {
    max-width: 720px;
    margin: 28px 0 0;
    color: rgba(255,255,255,.72);
    font-size: clamp(1rem, 1.45vw, 1.3rem);
}

.wlx-origin-stamp {
    display: grid;
    gap: 12px;
    padding: 28px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: var(--wlx-radius);
}

.wlx-origin-stamp span {
    font-size: .85rem;
    font-weight: 900;
    letter-spacing: .14em;
}

.wlx-origin-stamp strong {
    color: var(--wlx-green);
    font-size: 1.6rem;
}

.wlx-founders-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.wlx-founder-card {
    overflow: hidden;
    border-radius: var(--wlx-radius);
    background: var(--wlx-soft);
}

.wlx-founder-photo {
    aspect-ratio: 4 / 5;
}

.wlx-founder-photo--placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background:
        linear-gradient(135deg, rgba(31,122,74,.12), transparent 45%),
        #ecece8;
    color: var(--wlx-muted);
    text-align: center;
}

.wlx-founder-photo--placeholder span {
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .16em;
}

.wlx-founder-photo--placeholder strong {
    color: var(--wlx-ink);
    font-size: 1.3rem;
}

.wlx-founder-card__copy {
    padding: 24px 26px 28px;
}

.wlx-founder-card__copy h3 {
    margin: 0;
    font-size: 1.6rem;
}

.wlx-belief-section {
    padding: clamp(80px, 9vw, 140px) 0;
    background: #f3f1eb;
}

.wlx-belief-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: clamp(40px, 7vw, 110px);
}

.wlx-belief-grid h2 {
    margin: 0;
    font-size: clamp(2.4rem, 5vw, 5.2rem);
    line-height: .95;
    letter-spacing: -.045em;
}

.wlx-belief-copy p {
    margin: 0 0 20px;
    color: #4d4d4a;
    font-size: 1.05rem;
}

.wlx-belief-highlight {
    padding: 24px 0 0;
    border-top: 2px solid var(--wlx-green);
    color: var(--wlx-ink) !important;
    font-weight: 700;
}

.wlx-faith-banner {
    padding: 88px 0;
    background: var(--wlx-green);
    color: var(--wlx-white);
    text-align: center;
}

.wlx-faith-banner p {
    margin: 0 0 12px;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .18em;
}

.wlx-faith-banner h2 {
    margin: 0;
    font-size: clamp(3rem, 8vw, 8rem);
    line-height: .9;
    letter-spacing: -.05em;
}

.wlx-faith-banner span {
    display: block;
    margin-top: 18px;
    opacity: .82;
}

/* ==========================================================
   18. PREMIUM CONTACT FORM
   ========================================================== */
.wlx-contact-hero {
    padding: clamp(70px, 9vw, 130px) 0;
    background: #f4f4f1;
}

.wlx-contact-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(480px, 1.2fr);
    gap: clamp(40px, 7vw, 100px);
    align-items: start;
}

.wlx-contact-intro h1 {
    margin: 0;
    font-size: clamp(3rem, 6vw, 6.5rem);
    line-height: .92;
    letter-spacing: -.055em;
}

.wlx-contact-intro > p {
    max-width: 560px;
    color: var(--wlx-muted);
    font-size: 1.06rem;
}

.wlx-contact-details {
    margin-top: 52px;
    display: grid;
    gap: 22px;
}

.wlx-contact-details div {
    padding-top: 18px;
    border-top: 1px solid #d8d8d3;
}

.wlx-contact-details span {
    display: block;
    margin-bottom: 6px;
    color: var(--wlx-muted);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.wlx-contact-panel {
    padding: clamp(28px, 4vw, 52px);
    border-radius: 28px;
    background: var(--wlx-white);
    box-shadow: 0 28px 80px rgba(0,0,0,.08);
}

.wlx-contact-panel__head h2 {
    margin: 0;
    font-size: clamp(2rem, 3vw, 3.5rem);
}

.wlx-contact-panel__head > p:last-child {
    color: var(--wlx-muted);
}

.wlx-contact-form {
    margin-top: 34px;
    display: grid;
    gap: 20px;
}

.wlx-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.wlx-contact-form label > span {
    display: block;
    margin-bottom: 8px;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .05em;
}

.wlx-contact-form input,
.wlx-contact-form select,
.wlx-contact-form textarea {
    width: 100%;
    border: 1px solid #d8d8d3;
    border-radius: 14px;
    background: #fafaf8;
    color: var(--wlx-ink);
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.wlx-contact-form input,
.wlx-contact-form select {
    min-height: 54px;
    padding: 0 16px;
}

.wlx-contact-form textarea {
    padding: 15px 16px;
    resize: vertical;
}

.wlx-contact-form input:focus,
.wlx-contact-form select:focus,
.wlx-contact-form textarea:focus {
    border-color: var(--wlx-green);
    box-shadow: 0 0 0 4px rgba(31,122,74,.09);
}

.wlx-consent {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    color: var(--wlx-muted);
    font-size: .83rem;
}

.wlx-consent input {
    width: 18px;
    min-height: 18px;
    margin-top: 2px;
}

.wlx-consent span {
    margin: 0 !important;
    font-size: inherit !important;
    font-weight: 400 !important;
}

.wlx-submit {
    min-height: 58px;
    padding: 0 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 0;
    border-radius: 999px;
    background: var(--wlx-black);
    color: var(--wlx-white);
    font-weight: 900;
    cursor: pointer;
}

.wlx-submit span {
    font-size: 1.35rem;
}

.wlx-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* ==========================================================
   19. CHAMPIONNAT JEUNES — WELOKO SYSTEM
   ========================================================== */
.wlx-youth-hero {
    padding: clamp(75px, 9vw, 140px) 0;
    background: var(--wlx-black);
    color: var(--wlx-white);
    overflow: hidden;
}

.wlx-youth-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    gap: 50px;
    align-items: center;
}

.wlx-youth-hero h1 {
    max-width: 900px;
    margin: 0;
    font-size: clamp(3.4rem, 7vw, 7.5rem);
    line-height: .88;
    letter-spacing: -.06em;
    text-transform: uppercase;
}

.wlx-youth-hero p:not(.wlx-kicker) {
    max-width: 720px;
    color: rgba(255,255,255,.7);
    font-size: 1.05rem;
}

.wlx-youth-badge {
    aspect-ratio: 1;
    max-width: 460px;
    margin-left: auto;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
    background: radial-gradient(circle at 40% 30%, rgba(31,122,74,.34), transparent 58%);
    text-align: center;
}

.wlx-youth-badge span,
.wlx-youth-badge small {
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .16em;
}

.wlx-youth-badge strong {
    margin: 10px 0;
    font-size: clamp(2.5rem, 5vw, 5rem);
    line-height: .9;
}

.wlx-youth-strip {
    padding: 18px 0;
    background: var(--wlx-green);
    color: var(--wlx-white);
}

.wlx-youth-strip .wlx-shell {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    overflow: hidden;
}

.wlx-youth-strip span {
    white-space: nowrap;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .13em;
}

.wlx-youth-categories {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.wlx-youth-categories article {
    min-height: 340px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border-radius: var(--wlx-radius);
    background: var(--wlx-black);
    color: var(--wlx-white);
}

.wlx-youth-categories article > span {
    margin-bottom: auto;
    color: var(--wlx-green);
    font-weight: 900;
}

.wlx-youth-categories h3 {
    margin: 0;
    font-size: 3.2rem;
}

.wlx-youth-categories p {
    color: rgba(255,255,255,.65);
}

.wlx-youth-dashboard {
    padding: clamp(75px, 9vw, 130px) 0;
    background: #f1f1ed;
}

.wlx-youth-dashboard__head {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: end;
}

.wlx-youth-dashboard__head h2 {
    margin: 0;
    font-size: clamp(2.4rem, 5vw, 5rem);
    line-height: .95;
}

.wlx-status-dot {
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(31,122,74,.1);
    color: var(--wlx-green);
    font-size: .75rem;
    font-weight: 900;
}

.wlx-youth-dashboard__grid {
    margin-top: 36px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.wlx-youth-module {
    padding: 25px;
    border-radius: 18px;
    background: var(--wlx-white);
}

.wlx-youth-module > span {
    color: var(--wlx-green);
    font-weight: 900;
}

.wlx-youth-module h3 {
    margin: 32px 0 8px;
}

.wlx-youth-module p {
    margin: 0;
    color: var(--wlx-muted);
    font-size: .9rem;
}

.wlx-youth-app-slot {
    margin-top: 28px;
    min-height: 300px;
    padding: 38px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px dashed #aaa;
    border-radius: 22px;
    background: #e9e9e4;
    text-align: center;
}

.wlx-youth-app-slot span {
    color: var(--wlx-green);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .14em;
}

.wlx-youth-app-slot strong {
    margin-top: 8px;
    font-size: clamp(1.5rem, 3vw, 2.8rem);
}

.wlx-youth-app-slot p {
    color: var(--wlx-muted);
}

/* ==========================================================
   20. RESPONSIVE — NEWLY REBUILT PAGES
   ========================================================== */
@media (max-width: 980px) {
    .wlx-showcase-grid,
    .wlx-youth-dashboard__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wlx-founders-hero__grid,
    .wlx-belief-grid,
    .wlx-contact-hero__grid,
    .wlx-youth-hero__grid {
        grid-template-columns: 1fr;
    }

    .wlx-youth-badge {
        margin: 0;
    }
}

@media (max-width: 700px) {
    .wlx-showcase-grid,
    .wlx-youth-dashboard__grid,
    .wlx-founders-grid,
    .wlx-youth-categories,
    .wlx-form-row {
        grid-template-columns: 1fr;
    }

    .wlx-showcase-card--wide {
        grid-column: auto;
    }

    .wlx-equipment-hero-grid {
        min-height: 56vh;
    }

    .wlx-youth-strip .wlx-shell {
        overflow-x: auto;
    }

    .wlx-contact-panel {
        padding: 24px;
        border-radius: 20px;
    }
}


/* ==========================================================
   25. V15.1 — WOOCOMMERCE FINAL / SAFE PRODUCT ART
   ========================================================== */

/* Les planches catalogue WELOKO doivent rester visibles en entier. */
.wlx-hero__media,
.wlx-page-hero__media,
.wlx-showcase-card__media,
.wlx-product__media,
.wlx-equipment-hero-grid {
    background: #0a0a0a;
}

.wlx-hero__media img,
.wlx-page-hero__media img,
.wlx-showcase-card__media img,
.wlx-product__media img,
.wlx-equipment-hero-grid img {
    object-fit: contain !important;
}

/* Les photos narratives peuvent continuer à remplir leur cadre. */
.wlx-story__media img,
.wlx-media-card img,
.wlx-category-card img {
    object-fit: cover;
}

/* Catalogue WooCommerce : image entière, carte cliquable et prix lisible. */
.woocommerce ul.products li.product {
    position: relative;
    padding-bottom: 8px;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    display: block;
}

.woocommerce ul.products li.product a img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: contain !important;
    background: #f4f4f2;
    padding: 10px;
}

.woocommerce ul.products li.product .price {
    display: block;
    margin-top: 8px;
    font-size: 1rem !important;
}

.woocommerce ul.products li.product .button {
    margin-top: 12px !important;
}

/* Fiche produit premium. */
.single-product .wlx-section {
    padding-top: clamp(48px, 6vw, 90px);
}

.woocommerce div.product .woocommerce-product-gallery {
    min-width: 0;
}

.woocommerce div.product .woocommerce-product-gallery__wrapper {
    background: #f4f4f2;
    border-radius: var(--wlx-radius);
    overflow: hidden;
}

.woocommerce div.product .woocommerce-product-gallery__image img {
    width: 100%;
    max-height: 760px;
    object-fit: contain !important;
    background: #f4f4f2;
}

.woocommerce div.product .summary {
    align-self: start;
    position: sticky;
    top: 110px;
}

.woocommerce div.product form.cart {
    margin-top: 26px;
}

.woocommerce div.product form.cart .variations {
    margin-bottom: 18px;
}

.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td {
    display: block;
    width: 100%;
    text-align: left;
}

.woocommerce div.product form.cart .variations label {
    display: block;
    margin-bottom: 8px;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.woocommerce div.product form.cart .variations select {
    width: 100%;
    min-height: 50px;
    padding: 0 14px;
    border: 1px solid var(--wlx-line);
    border-radius: 10px;
    background: #fff;
}

.woocommerce div.product form.cart .quantity .qty {
    min-height: 46px;
    border: 1px solid var(--wlx-line);
    border-radius: 10px;
}

.woocommerce div.product .product_meta {
    margin-top: 26px;
    padding-top: 20px;
    border-top: 1px solid var(--wlx-line);
    color: var(--wlx-muted);
    font-size: .86rem;
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related.products {
    grid-column: 1 / -1;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border-bottom-color: var(--wlx-line) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: 0 !important;
    background: transparent !important;
}

/* Panier / checkout / compte */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
    max-width: 1180px;
    margin: 0 auto;
}

.woocommerce table.shop_table {
    border: 1px solid var(--wlx-line) !important;
    border-radius: 14px !important;
    overflow: hidden;
}

.woocommerce table.shop_table th {
    font-size: .75rem;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid var(--wlx-line);
    border-radius: 9px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    padding: 0 16px;
    border: 1px solid var(--wlx-line);
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 800;
}

.wlx-commerce-intro {
    margin-bottom: 34px;
}

.wlx-commerce-intro h1 {
    margin: 0;
    font-size: clamp(2.6rem, 5vw, 5.4rem);
    line-height: .92;
    letter-spacing: -.05em;
    text-transform: uppercase;
}

.wlx-commerce-intro p {
    max-width: 680px;
    color: var(--wlx-muted);
}

@media (max-width: 900px) {
    .woocommerce div.product .summary {
        position: static;
    }
}

@media (max-width: 640px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: .9rem !important;
    }

    .woocommerce div.product {
        display: block;
    }
}


/* ==========================================================
   26. V15.2 — DETAIL FIXES
   ========================================================== */

.wlx-product-catalogue-head {
    margin-bottom: 34px;
}

.wlx-product-catalogue-head h1 {
    margin: 0;
    font-size: clamp(3rem, 6vw, 6.5rem);
    line-height: .9;
    letter-spacing: -.055em;
    text-transform: uppercase;
}

.wlx-product-catalogue-head p {
    max-width: 720px;
    color: var(--wlx-muted);
}

.wlx-showcase-card {
    color: inherit;
    text-decoration: none;
}

.wlx-showcase-card__copy h3,
.wlx-showcase-card__copy p {
    color: inherit;
}

.wlx-showcase-card__media {
    min-height: 260px;
}

.wlx-showcase-card__media img {
    padding: 10px;
}

@media (max-width: 760px) {
    .wlx-showcase-card__media {
        min-height: 210px;
    }
}


/* ==========================================================
   27. V15.3 — CHAMPIONNAT JEUNES WELOKO
   ========================================================== */
.wlx-yc { background:#fff; color:#090909; }
.wlx-yc-hero { background:#050505; color:#fff; padding:clamp(80px,10vw,150px) 0 70px; }
.wlx-yc-hero__grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:50px; align-items:end; }
.wlx-yc-hero h1 { margin:10px 0 24px; font-size:clamp(3.2rem,7vw,7rem); line-height:.86; letter-spacing:-.06em; text-transform:uppercase; }
.wlx-yc-lead { max-width:820px; font-size:clamp(1rem,1.4vw,1.3rem); line-height:1.65; color:#cfcfcf; }
.wlx-yc-scoreboard { border:1px solid #343434; border-radius:18px; padding:28px; background:#0d0d0d; }
.wlx-yc-scoreboard > strong { display:block; font-size:clamp(2rem,4vw,4rem); line-height:1; margin:8px 0 24px; }
.wlx-yc-scoreboard__line { display:flex; justify-content:space-between; gap:20px; padding:13px 0; border-top:1px solid #282828; font-size:.9rem; }
.wlx-yc-nav { position:sticky; top:72px; z-index:20; background:#fff; border-bottom:1px solid #e6e6e6; overflow:auto; }
.wlx-yc-nav .wlx-shell { display:flex; gap:22px; white-space:nowrap; }
.wlx-yc-nav a { display:block; padding:16px 0; font-size:.73rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.wlx-yc-format-grid, .wlx-yc-data-grid, .wlx-yc-tracking { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.wlx-yc-format-grid article, .wlx-yc-data-grid article, .wlx-yc-tracking > div { border:1px solid #dedede; border-radius:16px; padding:24px; background:#fff; }
.wlx-yc-format-grid article > span { font-size:.72rem; font-weight:900; letter-spacing:.12em; }
.wlx-yc-format-grid h3, .wlx-yc-data-grid h3, .wlx-yc-tracking h3 { margin:20px 0 9px; font-size:1.15rem; }
.wlx-yc-format-grid p, .wlx-yc-data-grid p, .wlx-yc-tracking p { margin:0; color:#666; line-height:1.55; }
.wlx-yc-clubs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.wlx-yc-club { min-height:120px; display:flex; flex-direction:column; justify-content:flex-end; border:1px solid #ddd; border-radius:14px; padding:18px; background:#fff; }
.wlx-yc-club span { font-size:.7rem; font-weight:900; color:#777; }
.wlx-yc-club strong { margin-top:8px; font-size:1.05rem; }
.wlx-yc-club small { margin-top:5px; color:#777; }
.wlx-yc-category-head { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:28px; }
.wlx-yc-category-head h2 { margin:0; font-size:clamp(3.5rem,7vw,7rem); line-height:.86; letter-spacing:-.06em; }
.wlx-section--dark .wlx-yc-data-grid article { background:#111; border-color:#2a2a2a; color:#fff; }
.wlx-section--dark .wlx-yc-data-grid p { color:#aaa; }
.wlx-yc-note { margin-top:22px; padding:18px 20px; border-left:4px solid #111; background:#f2f2ef; line-height:1.55; }
.wlx-yc-stats-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.wlx-yc-stats-grid article { padding:22px; background:#fff; border:1px solid #ddd; border-radius:14px; }
.wlx-yc-stats-grid strong { display:block; font-size:1.05rem; }
.wlx-yc-stats-grid span { display:block; margin-top:7px; color:#777; line-height:1.5; }
.wlx-yc-awards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.wlx-yc-awards div { border:1px solid #333; border-radius:999px; padding:14px 18px; text-align:center; font-size:.8rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.wlx-yc-awards-note { margin-top:20px; color:#aaa; }
.wlx-yc-partners { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start; }
.wlx-yc-authorities { display:grid; gap:14px; }
.wlx-yc-authorities article { padding:24px; border:1px solid #ddd; border-radius:16px; }
.wlx-yc-authorities span { font-size:.68rem; font-weight:900; letter-spacing:.11em; }
.wlx-yc-authorities h3 { margin:9px 0; }
.wlx-yc-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; max-width:900px; }
.wlx-yc-form label { display:grid; gap:8px; font-size:.76rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.wlx-yc-form input { min-height:52px; border:1px solid #d5d5d5; border-radius:10px; padding:0 14px; font:inherit; background:#fff; }
.wlx-yc-required { grid-column:1/-1; display:flex; gap:10px; flex-wrap:wrap; }
.wlx-yc-required span { border:1px solid #111; border-radius:999px; padding:10px 14px; font-size:.72rem; font-weight:900; }
.wlx-yc-form .wlx-button { justify-self:start; }
.wlx-yc-form-note { grid-column:1/-1; margin:0; color:#777; font-size:.85rem; line-height:1.5; }
.wlx-yc-season { background:#050505; color:#fff; padding:70px 0; }
.wlx-yc-season h2 { margin:8px 0 14px; font-size:clamp(2.5rem,5vw,5rem); letter-spacing:-.05em; }
.wlx-yc-season p { max-width:840px; color:#bbb; line-height:1.65; }

@media (max-width:980px) {
    .wlx-yc-hero__grid,
    .wlx-yc-partners { grid-template-columns:1fr; }
    .wlx-yc-format-grid,
    .wlx-yc-data-grid,
    .wlx-yc-tracking { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .wlx-yc-clubs { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .wlx-yc-awards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:680px) {
    .wlx-yc-nav { top:62px; }
    .wlx-yc-format-grid,
    .wlx-yc-data-grid,
    .wlx-yc-tracking,
    .wlx-yc-stats-grid,
    .wlx-yc-clubs,
    .wlx-yc-awards,
    .wlx-yc-form { grid-template-columns:1fr; }
    .wlx-yc-category-head { display:block; }
    .wlx-yc-category-head > span { display:block; margin-top:12px; }
}


/* ==========================================================
   V15.4 — WELOKO SPORTSWEAR FOOTBALL JEUNES (SCOPED)
   ========================================================== */
#wlj-app{
    --wlj-black:#0b0b0c;
    --wlj-black2:#151517;
    --wlj-black3:#1d1d20;
    --wlj-bone:#f3f1ea;
    --wlj-gold:#d5ad22;
    --wlj-gold2:#ebc94a;
    --wlj-green:#198957;
    --wlj-red:#c54a38;
    --wlj-muted:#9d9990;
    --wlj-line:rgba(243,241,234,.13);
    background:var(--wlj-black);
    color:var(--wlj-bone);
    font-family:Arial,Helvetica,sans-serif;
}
#wlj-app *{box-sizing:border-box}
#wlj-app a{color:inherit;text-decoration:none}
#wlj-app .wlj-wrap{width:min(1240px,calc(100% - 48px));margin:0 auto}

#wlj-app .wlj-topbar{position:sticky;top:72px;z-index:40;background:rgba(11,11,12,.97);border-bottom:1px solid var(--wlj-line)}
#wlj-app .wlj-topbar__inner{min-height:72px;display:flex;align-items:center;gap:28px}
#wlj-app .wlj-brand{display:flex;align-items:center;gap:11px;flex:0 0 auto}
#wlj-app .wlj-brand img{width:52px;height:38px;object-fit:contain}
#wlj-app .wlj-brand span{line-height:1.05}
#wlj-app .wlj-brand strong{display:block;font-size:15px;letter-spacing:.01em}
#wlj-app .wlj-brand small{display:block;margin-top:4px;font-size:10px;letter-spacing:.14em;color:var(--wlj-muted)}
#wlj-app .wlj-mainnav{display:flex;align-items:center;justify-content:center;gap:25px;flex:1}
#wlj-app .wlj-mainnav a{font-size:13.5px;color:#d8d5cf;opacity:.78}
#wlj-app .wlj-mainnav a:hover{opacity:1}
#wlj-app .wlj-register{flex:0 0 auto;background:var(--wlj-gold);color:#111;padding:13px 18px;border-radius:9px;font-size:13px;font-weight:900}
#wlj-app .wlj-categorybar{background:var(--wlj-black3);border-top:1px solid var(--wlj-line)}
#wlj-app .wlj-categorybar__inner{min-height:59px;display:flex;align-items:center;gap:18px}
#wlj-app .wlj-category-label{font-family:monospace;font-size:10px;letter-spacing:.14em;color:var(--wlj-muted)}
#wlj-app .wlj-category-tabs{display:flex;gap:8px}
#wlj-app .wlj-cat{border:1px solid var(--wlj-line);background:#141416;color:var(--wlj-bone);padding:10px 17px;border-radius:999px;font-family:monospace;cursor:pointer}
#wlj-app .wlj-cat.active{background:var(--wlj-bone);color:#111}
#wlj-app .wlj-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px}
#wlj-app .wlj-dot--u10{background:var(--wlj-red)}
#wlj-app .wlj-dot--u13{background:var(--wlj-gold)}
#wlj-app .wlj-dot--u16{background:var(--wlj-green)}

#wlj-app .wlj-hero{padding:78px 0 62px;background:
radial-gradient(circle at 18% 5%,rgba(213,173,34,.15),transparent 28%),
radial-gradient(circle at 86% 20%,rgba(25,137,87,.12),transparent 30%),
var(--wlj-black)}
#wlj-app .wlj-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:end}
#wlj-app .wlj-eyebrow{font-family:monospace;font-size:11px;letter-spacing:.15em;color:var(--wlj-gold);text-transform:uppercase}
#wlj-app .wlj-hero h1{margin:15px 0 22px;font-size:clamp(42px,6.4vw,78px);line-height:.91;letter-spacing:-.055em;text-transform:uppercase}
#wlj-app .wlj-hero h1 em{font-style:normal;color:var(--wlj-gold2)}
#wlj-app .wlj-lead{max-width:680px;color:#aaa69e;font-size:16px;line-height:1.65}
#wlj-app .wlj-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}
#wlj-app .wlj-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:1px solid var(--wlj-line);border-radius:9px;background:transparent;color:var(--wlj-bone);font-weight:800;font-size:13px;cursor:pointer}
#wlj-app .wlj-btn--gold{background:var(--wlj-gold);border-color:var(--wlj-gold);color:#111}
#wlj-app .wlj-livecard{padding:24px;border:1px solid var(--wlj-line);border-radius:15px;background:#141416}
#wlj-app .wlj-livehead{display:flex;justify-content:space-between;gap:16px;padding-bottom:15px;border-bottom:1px solid var(--wlj-line);font-size:12px}
#wlj-app .wlj-livehead span{font-family:monospace;color:var(--wlj-green);font-size:10px}
#wlj-app .wlj-livehead i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--wlj-green);margin-right:6px}
#wlj-app .wlj-livegrid{display:grid;grid-template-columns:1fr 1fr;gap:0}
#wlj-app .wlj-livegrid div{padding:17px 0;border-bottom:1px solid var(--wlj-line)}
#wlj-app .wlj-livegrid div:nth-child(odd){padding-right:15px}
#wlj-app .wlj-livegrid div:nth-child(even){padding-left:15px;border-left:1px solid var(--wlj-line)}
#wlj-app .wlj-livegrid b{display:block;font-size:27px}
#wlj-app .wlj-livegrid span{font-size:11px;color:var(--wlj-muted)}

#wlj-app .wlj-section{padding:70px 0;border-top:1px solid var(--wlj-line)}
#wlj-app .wlj-section--alt{background:#111113}
#wlj-app .wlj-section--gold{background:linear-gradient(135deg,#1a1408,#0c0c0d 58%)}
#wlj-app .wlj-sectionhead{display:flex;justify-content:space-between;margin-bottom:32px}
#wlj-app .wlj-sectionhead span{font-family:monospace;color:var(--wlj-gold);font-size:11px;letter-spacing:.1em}
#wlj-app .wlj-sectionhead h2{margin:8px 0 7px;font-size:clamp(29px,3.6vw,44px);line-height:1.03;letter-spacing:-.035em}
#wlj-app .wlj-sectionhead p{max-width:720px;color:var(--wlj-muted);line-height:1.6}

#wlj-app .wlj-aboutgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:38px}
#wlj-app .wlj-aboutgrid p{color:#cbc8c1;line-height:1.7}
#wlj-app .wlj-mini-stats{display:grid;gap:12px}
#wlj-app .wlj-mini-stats div{padding:18px;border:1px solid var(--wlj-line);border-radius:12px;background:#151517}
#wlj-app .wlj-mini-stats b{display:block;color:var(--wlj-gold2);font-size:25px}
#wlj-app .wlj-mini-stats span{display:block;margin-top:3px;color:var(--wlj-muted);font-size:12px}

#wlj-app .wlj-teamgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
#wlj-app .wlj-team-card{min-height:115px;text-align:left;padding:16px;border:1px solid var(--wlj-line);border-radius:12px;background:#151517;color:var(--wlj-bone);cursor:pointer}
#wlj-app .wlj-team-card:hover{border-color:var(--wlj-gold)}
#wlj-app .wlj-team-number{display:block;font-family:monospace;color:var(--wlj-gold);font-size:11px}
#wlj-app .wlj-team-card strong{display:block;margin-top:22px}
#wlj-app .wlj-team-card small{display:block;margin-top:4px;color:var(--wlj-muted)}

#wlj-app .wlj-tablewrap{overflow:auto;border:1px solid var(--wlj-line);border-radius:12px;background:#151517}
#wlj-app .wlj-table{width:100%;min-width:780px;border-collapse:collapse}
#wlj-app .wlj-table th,#wlj-app .wlj-table td{padding:13px 12px;border-bottom:1px solid var(--wlj-line);text-align:center;font-size:13px}
#wlj-app .wlj-table th{font-family:monospace;color:var(--wlj-muted);font-size:10px;letter-spacing:.06em}
#wlj-app .wlj-table th:nth-child(2),#wlj-app .wlj-table td:nth-child(2){text-align:left}
#wlj-app .wlj-table td:last-child strong{color:var(--wlj-gold2)}

#wlj-app .wlj-statcards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
#wlj-app .wlj-statcards article{padding:21px;border:1px solid var(--wlj-line);border-radius:12px;background:#151517}
#wlj-app .wlj-statcards article>span{font-family:monospace;color:var(--wlj-gold);font-size:10px;letter-spacing:.08em}
#wlj-app .wlj-statcards h3{margin:17px 0 7px;font-size:17px}
#wlj-app .wlj-statcards p{margin:0;color:var(--wlj-muted);font-size:13px;line-height:1.55}
#wlj-app .wlj-u16-only{display:none}
#wlj-app.wlj-is-u16 .wlj-u16-only{display:block}
#wlj-app .wlj-privacy{margin-top:18px;padding:16px;border-left:3px solid var(--wlj-gold);background:#151517;color:var(--wlj-muted);font-size:12px;line-height:1.6}

#wlj-app .wlj-bracket{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
#wlj-app .wlj-bracket div{padding:23px;border:1px solid var(--wlj-line);border-radius:12px;background:#151517;text-align:center}
#wlj-app .wlj-bracket span{display:block;font-family:monospace;color:var(--wlj-gold);font-size:10px}
#wlj-app .wlj-bracket b{display:block;margin-top:14px;font-size:20px}
#wlj-app .wlj-bracket p{margin:5px 0 0;color:var(--wlj-muted);font-size:12px}

#wlj-app .wlj-awards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
#wlj-app .wlj-awards div{padding:15px;border:1px solid rgba(213,173,34,.3);border-radius:999px;text-align:center;font-size:12px;font-weight:900}
#wlj-app .wlj-awardnote{margin-top:22px;color:var(--wlj-muted);font-size:13px}

#wlj-app .wlj-sponsorgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#wlj-app .wlj-sponsor{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:14px;background:var(--wlj-bone);color:#111}
#wlj-app .wlj-sponsor strong{font-size:24px}
#wlj-app .wlj-sponsor span{margin-top:8px;font-family:monospace;color:#7c6613;font-size:10px;letter-spacing:.11em}

#wlj-app .wlj-partnergrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#wlj-app .wlj-partnergrid article{padding:23px;border:1px dashed var(--wlj-line);border-radius:12px}
#wlj-app .wlj-partnergrid span{font-family:monospace;color:var(--wlj-muted);font-size:10px}
#wlj-app .wlj-partnergrid h3{margin:12px 0 8px}
#wlj-app .wlj-partnergrid p{color:var(--wlj-muted);font-size:13px;line-height:1.55}

#wlj-app .wlj-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:900px}
#wlj-app .wlj-form label{display:grid;gap:7px;font-family:monospace;font-size:10px;letter-spacing:.08em}
#wlj-app .wlj-form input{min-height:50px;padding:0 13px;border:1px solid var(--wlj-line);border-radius:9px;background:#151517;color:var(--wlj-bone)}
#wlj-app .wlj-required{grid-column:1/-1;display:flex;gap:8px}
#wlj-app .wlj-required span{padding:9px 13px;border:1px solid var(--wlj-line);border-radius:999px;font-size:11px}
#wlj-app .wlj-formnote{grid-column:1/-1;color:var(--wlj-muted);font-size:11px}

@media(max-width:1100px){
    #wlj-app .wlj-mainnav{display:none}
    #wlj-app .wlj-topbar__inner{justify-content:space-between}
}
@media(max-width:900px){
    #wlj-app .wlj-topbar{top:62px}
    #wlj-app .wlj-hero__grid,#wlj-app .wlj-aboutgrid{grid-template-columns:1fr}
    #wlj-app .wlj-teamgrid,#wlj-app .wlj-statcards{grid-template-columns:repeat(2,1fr)}
    #wlj-app .wlj-bracket,#wlj-app .wlj-awards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
    #wlj-app .wlj-wrap{width:min(100% - 28px,1240px)}
    #wlj-app .wlj-register{display:none}
    #wlj-app .wlj-category-label{display:none}
    #wlj-app .wlj-teamgrid,#wlj-app .wlj-statcards,#wlj-app .wlj-bracket,#wlj-app .wlj-awards,#wlj-app .wlj-sponsorgrid,#wlj-app .wlj-partnergrid,#wlj-app .wlj-form{grid-template-columns:1fr}
    #wlj-app .wlj-required{grid-column:auto}
}


/* ==========================================================
   99. SOURCING MODE — supplier-facing public website
   ========================================================== */
body.wlx-sourcing-mode .woocommerce .price,
body.wlx-sourcing-mode .woocommerce-Price-amount,
body.wlx-sourcing-mode .wc-block-components-product-price,
body.wlx-sourcing-mode .wc-block-grid__product-price,
body.wlx-sourcing-mode .single_add_to_cart_button,
body.wlx-sourcing-mode .add_to_cart_button,
body.wlx-sourcing-mode .ajax_add_to_cart,
body.wlx-sourcing-mode .product_type_simple,
body.wlx-sourcing-mode .product_type_variable,
body.wlx-sourcing-mode .added_to_cart,
body.wlx-sourcing-mode .woocommerce div.product form.cart,
body.wlx-sourcing-mode .woocommerce-variation-add-to-cart {
    display: none !important;
}

.wlx-development-banner {
    margin: 0;
    padding: 12px 20px;
    text-align: center;
    background: #050505;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.wlx-development-banner span {
    opacity: .72;
    font-weight: 500;
    margin-left: 8px;
}

.wlx-dev-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--wlx-muted);
}

.wlx-dev-label::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--wlx-green);
}

.wlx-sourcing-note {
    max-width: 760px;
    margin-top: 18px;
    color: var(--wlx-muted);
}
