/*
Theme Name:   Ergotech Child
Theme URI:    https://ergotech.local
Description:  Thème enfant pour la boutique Ergotech – équipement ergonomique
Author:       Ergotech
Template:     storefront
Version:      2.0.0
Text Domain:  ergotech-child
*/

/* =========================================================
   IMPORTS — Bebas Neue (display) + Barlow (corps)
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow:ital,wght@0,300;0,400;0,500;0,600;1,300&display=swap');

/* =========================================================
   VARIABLES
   ========================================================= */
:root {
    --black: #000000;
    --white: #ffffff;
    --gray-light: #F0F0F0;
    --border: 1px solid #000;
    --font-display: 'Bebas Neue', 'Arial Narrow', Arial, sans-serif;
    --font-body:    'Barlow', 'Helvetica Neue', Arial, sans-serif;
    --marquee-speed: 30s;
}

/* =========================================================
   RESET STOREFRONT
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; }

/* Sticky footer — empêche le footer de se décoller sur les pages courtes */
#page.site {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
#content.site-content {
    flex: 1;
}

body,
.storefront-full-width-content .entry-content,
.woocommerce-page {
    font-family: var(--font-body);
    font-weight: 400;
    color: var(--black);
    background: var(--white);
    -webkit-font-smoothing: antialiased;
}

/* Supprimer box-shadow/radius Storefront — ciblé, pas global */
.woocommerce ul.products li.product,
.woocommerce div.product,
.woocommerce .button,
.woocommerce table.shop_table,
.site-header,
.storefront-primary-navigation-wrapper,
input[type="text"],
input[type="email"],
input[type="password"],
select,
textarea {
    box-shadow: none !important;
    border-radius: 0 !important;
}
/* Uniquement les éléments qui ne sont pas des dropdowns fonctionnels */
.woocommerce span.onsale,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    border-radius: 0 !important;
}

a {
    color: var(--black);
    text-decoration: none;
}
a:hover { text-decoration: underline; }

/* Éliminer le padding hentry/entry-content sur la homepage */
.home .hentry,
.home .entry-content {
    padding: 0 !important;
    margin: 0 !important;
}

/* Homepage : supprimer tout espace entre le contenu et la bande noire */
.home #primary.content-area,
.home #content.site-content,
.home #main.site-main {
    padding: 0 !important;
    margin: 0 !important;
}
.home .site-footer,
.home #colophon {
    margin-top: 0 !important;
}

/* =========================================================
   HEADER CUSTOM — 3 colonnes : nav | ERGOTECH centré | icônes
   ========================================================= */

/* Masquer le header Storefront d'origine */
.site-header .site-branding,
.site-header .col-full,
.storefront-primary-navigation-wrapper {
    display: none !important;
}
.site-header {
    padding: 0 !important;
    border-bottom: none !important;
    background: var(--white) !important;
}

.ergotech-header-wrap {
    background: var(--white);
    border-bottom: var(--border);
    position: sticky;
    top: 0;
    z-index: 200;
}

/* Rangée principale : grille 3 zones égales */
.ergotech-header-main {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: 0 40px;
    height: 64px;
    border-bottom: none;
}

/* NAV GAUCHE */
.ergotech-nav {
    display: flex;
    align-items: center;
    gap: 0;
}
.ergotech-nav a {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--black);
    text-decoration: none;
    padding: 8px 16px 8px 0;
    margin-right: 8px;
    opacity: 0.6;
    transition: opacity 0.15s ease;
}
.ergotech-nav a:hover,
.ergotech-nav a.active {
    opacity: 1;
    text-decoration: none;
}

/* TITRE CENTRÉ */
.ergotech-header-title {
    text-align: center;
}
.ergotech-header-title a {
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 400;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--black);
    text-decoration: none;
    display: block;
    line-height: 1;
}
.ergotech-header-title a:hover { text-decoration: none; opacity: 0.7; }

/* ICÔNES DROITE */
.ergotech-header-icons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
}

/* SÉLECTEUR DE LANGUE */
.ergotech-lang-switcher {
    display: flex;
    align-items: center;
    gap: 4px;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.15em;
}
.ergotech-lang-current {
    color: var(--black);
}
.ergotech-lang-sep {
    color: var(--black);
    opacity: 0.2;
}
.ergotech-lang-link {
    color: var(--black);
    opacity: 0.4;
    text-decoration: none !important;
    transition: opacity 0.15s ease;
}
.ergotech-lang-link:hover {
    opacity: 1;
    text-decoration: none !important;
}

.ergotech-search-toggle {
    background: none;
    border: none;
    padding: 6px;
    cursor: pointer;
    color: var(--black);
    display: flex;
    align-items: center;
    transition: opacity 0.15s ease;
}
.ergotech-search-toggle:hover { opacity: 0.5; }

.ergotech-cart-link {
    position: relative;
    display: flex;
    align-items: center;
    color: var(--black);
    text-decoration: none !important;
    padding: 6px;
    transition: opacity 0.15s ease;
}
.ergotech-cart-link:hover { opacity: 0.5; text-decoration: none; }

.ergotech-cart-count {
    position: absolute;
    top: -2px;
    right: -4px;
    background: var(--black);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 700;
    border-radius: 0 !important;
    padding: 1px 4px;
    line-height: 1.4;
}

/* BARRE DE RECHERCHE SLIDE-DOWN */
.ergotech-search-bar {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    border-top: none;
    background: var(--white);
}
.ergotech-search-bar.is-open {
    max-height: 80px;
    border-top: var(--border);
}
.ergotech-search-bar form {
    display: flex;
    align-items: center;
    padding: 0 40px;
    height: 56px;
    gap: 12px;
}
.ergotech-search-input {
    flex: 1;
    border: none;
    border-bottom: var(--border);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 300;
    letter-spacing: 0.05em;
    color: var(--black);
    background: transparent;
    padding: 8px 0;
    outline: none;
}
.ergotech-search-input::placeholder { color: #aaa; font-style: italic; }
.ergotech-search-bar form button[type="submit"] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--black);
    padding: 6px;
    opacity: 0.6;
    transition: opacity 0.15s;
}
.ergotech-search-bar form button[type="submit"]:hover { opacity: 1; }

/* FOOTER LIENS */
.ergotech-footer-links {
    display: flex;
    gap: 32px;
    padding: 24px 40px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    flex-wrap: wrap;
}
.ergotech-footer-links a {
    font-family: var(--font-body);
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.6) !important;
    text-decoration: none;
    transition: color 0.15s ease;
}
.ergotech-footer-links a:hover { color: var(--white) !important; text-decoration: none; }

/* =========================================================
   NAV MOBILE — Hamburger + drawer
   ========================================================= */
.ergotech-menu-toggle {
    display: none;
    background: none;
    border: none;
    padding: 6px;
    cursor: pointer;
    color: var(--black);
    align-items: center;
    transition: opacity 0.15s ease;
}
.ergotech-menu-toggle:hover { opacity: 0.5; }

.ergotech-mobile-nav {
    display: flex;
    flex-direction: column;
    background: var(--white);
    border-bottom: var(--border);
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}
.ergotech-mobile-nav.is-open { max-height: 200px; }

.ergotech-mobile-nav a {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--black);
    text-decoration: none;
    padding: 18px 16px;
    border-bottom: var(--border);
    transition: background 0.15s ease;
}
.ergotech-mobile-nav a:last-child { border-bottom: none; }
.ergotech-mobile-nav a:hover,
.ergotech-mobile-nav a.active { background: #f7f7f7; }

@media (max-width: 768px) {
    .ergotech-menu-toggle { display: flex; }
}

/* Responsive header */
@media (max-width: 768px) {
    .ergotech-header-main { grid-template-columns: auto 1fr auto; padding: 0 16px; }
    .ergotech-nav { display: none; }
    .ergotech-header-title a { font-size: 1.3rem; letter-spacing: 0.08em; }
    .ergotech-search-bar form { padding: 0 16px; }
    .ergotech-header-icons { gap: 12px; }
    .ergotech-search-toggle,
    .ergotech-menu-toggle,
    .ergotech-cart-link { padding: 4px; }
}

/* =========================================================
   BANDEROLE DÉFILANTE (marquee)
   ========================================================= */
.ergotech-marquee-wrap {
    background: var(--black);
    color: var(--white);
    overflow: hidden;
    white-space: nowrap;
    padding: 10px 0;
    width: 100%;
    position: relative;
    z-index: 1000;
    border-bottom: var(--border);
}

.ergotech-marquee-track {
    display: inline-flex;
    animation: marquee var(--marquee-speed) linear infinite;
    will-change: transform;
}

.ergotech-marquee-track span {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    padding-right: 80px;
    color: var(--white);
}

@keyframes marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

.ergotech-marquee-wrap:hover .ergotech-marquee-track {
    animation-play-state: paused;
}

.ergotech-marquee-pause {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--white);
    cursor: pointer;
    opacity: 0.5;
    padding: 4px;
}
.ergotech-marquee-pause:hover { opacity: 1; }
.ergotech-marquee-wrap.is-paused .ergotech-marquee-track { animation-play-state: paused; }

/* =========================================================
   HEADER
   ========================================================= */
.site-header,
.storefront-primary-navigation-wrapper,
header.site-header {
    background: var(--white) !important;
    border-bottom: none !important;
    padding: 0 !important;
}

/* Logo / titre */
.site-branding,
.site-header .col-full {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 40px !important;
    flex-wrap: wrap;
    gap: 16px;
}

.site-title {
    display: block !important; /* override Storefront customizer header_textcolor:blank */
    font-family: var(--font-display) !important;
    font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
    font-weight: 400 !important;
    letter-spacing: 0.08em !important;
    color: var(--black) !important;
    text-transform: uppercase;
    line-height: 1;
    margin: 0 !important;
}
.site-title a {
    display: block !important;
    color: var(--black) !important;
    text-decoration: none !important;
}

.site-description { display: none !important; }

/* Menu principal */
.main-navigation,
nav.site-navigation {
    background: transparent !important;
}

.main-navigation ul li a,
.storefront-primary-navigation ul li a {
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    color: var(--black) !important;
    padding: 8px 14px !important;
    transition: opacity 0.15s ease;
}
.main-navigation ul li a:hover {
    opacity: 0.45;
    text-decoration: none !important;
}

/* Icône panier header */
.storefront-handheld-footer-bar,
.site-header-cart .widget_shopping_cart,
.site-header .site-header-cart a {
    color: var(--black) !important;
    background: var(--white) !important;
}

.site-header-cart .cart-contents {
    font-family: var(--font-body);
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--black) !important;
}

.site-header-cart .cart-contents .count {
    background: var(--black) !important;
    color: var(--white) !important;
    font-family: var(--font-body);
    font-size: 10px;
    border-radius: 0 !important;
    padding: 2px 6px !important;
}

/* =========================================================
   HERO PAGE BOUTIQUE
   ========================================================= */
.ergotech-hero {
    border-bottom: var(--border);
    padding: 100px 40px 80px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: end;
    gap: 40px;
}

.ergotech-hero h1 {
    font-family: var(--font-display);
    font-size: clamp(4rem, 10vw, 9rem);
    font-weight: 400;
    line-height: 0.92;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    color: var(--black);
    margin: 0;
}

.ergotech-hero-sub {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-bottom: 8px;
}

.ergotech-hero-sub p {
    font-size: 13px;
    font-weight: 300;
    line-height: 1.7;
    color: var(--black);
    margin: 0;
    max-width: 340px;
    letter-spacing: 0.02em;
}

.ergotech-hero-sub p,
.ergotech-home-hero-desc {
    color: #000000 !important;
}

.ergotech-hero-sub a.hero-cta {
    display: inline-block;
    background: var(--black);
    color: var(--white) !important;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding: 14px 32px;
    text-decoration: none !important;
    transition: opacity 0.15s ease;
    align-self: flex-start;
}
.ergotech-hero-sub a.hero-cta:hover { opacity: 0.65; }

/* =========================================================
   BARRE CATÉGORIES
   ========================================================= */
.ergotech-category-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border-bottom: var(--border);
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.ergotech-category-bar::-webkit-scrollbar { display: none; }

.ergotech-cat-badge {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--black) !important;
    padding: 16px 28px;
    border-right: var(--border);
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease;
    white-space: nowrap;
}
.ergotech-cat-badge:last-child { border-right: none; }
.ergotech-cat-badge:hover,
.ergotech-cat-badge.active {
    background: var(--black);
    color: var(--white) !important;
}

/* =========================================================
   GRILLE PRODUITS
   ========================================================= */
/* Pleine largeur sur toutes les pages WooCommerce — sidebar retirée via PHP */
#primary.content-area,
.woocommerce-shop #primary,
.woocommerce-page #primary,
.woocommerce-shop .content-area,
.woocommerce-page .content-area {
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

/* col-full pleine largeur — sélecteurs doublés pour gagner la spécificité */
body.woocommerce #content .col-full,
body.woocommerce-page #content .col-full,
body.woocommerce-shop #content .col-full {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Supprime tout espace vertical entre la banderole et le premier élément WooCommerce.
   Le marquee est rendu AVANT #content (dans header.php), donc toute la chaîne
   #content > .col-full > #primary > #main doit être réinitialisée. */
body.woocommerce #content.site-content,
body.woocommerce-page #content.site-content,
body.woocommerce-shop #content.site-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
body.woocommerce #primary.content-area,
body.woocommerce-page #primary.content-area,
body.woocommerce-shop #primary.content-area {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
body.woocommerce #main.site-main,
body.woocommerce-page #main.site-main,
body.woocommerce-shop #main.site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
.woocommerce-notices-wrapper,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Barre de tri Storefront — reset complet */
.storefront-sorting-wrapper {
    display: flex;
    align-items: center;
    gap: 0;
    border-bottom: var(--border);
    background: var(--white) !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-ordering {
    padding: 14px 24px;
    margin: 0;
    border-right: var(--border);
    background: transparent;
}
.woocommerce-ordering select {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--black);
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 4px 0;
    appearance: none;
    -webkit-appearance: none;
}

.woocommerce-result-count {
    padding: 14px 24px;
    margin: 0;
    font-family: var(--font-body);
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--black);
}

/* Titre de page + lien "Modifier" — masqués sur la front page */
.home .entry-title,
.home .page-header,
.home .entry-footer,
.home .post-edit-link {
    display: none !important;
}

/* Breadcrumb — masqué sur la boutique (retiré via PHP), stylé ailleurs */
.woocommerce .woocommerce-breadcrumb {
    display: none;
}

/* Titre "Shop" résiduel — supprimé */
.woocommerce-products-header,
.woocommerce-products-header__title,
.page-title { display: none !important; }

.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    /* auto-fill + minmax : fluid sans breakpoints — adapté à toute largeur */
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)) !important;
    gap: clamp(12px, 1.5vw, 24px) !important;
    list-style: none !important;
    padding: clamp(16px, 3vw, 32px) clamp(16px, 3vw, 40px) !important;
    margin: 0 auto !important;
    max-width: 1440px;
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
/* Empêcher le pseudo-élément Storefront clear:both de devenir un grid item */
.woocommerce ul.products::after,
.woocommerce-page ul.products::after {
    content: none !important;
    display: none !important;
}

/* CARTE PRODUIT */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    background: var(--white);
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important; /* évite le débordement du contenu hors de la colonne grid */
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
    cursor: pointer;
    box-sizing: border-box !important;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.10);
    transform: translateY(-2px);
}

/* Image produit */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    filter: grayscale(20%);
    transition: filter 0.3s ease;
}
.woocommerce ul.products li.product:hover a img,
.woocommerce-page ul.products li.product:hover a img {
    filter: grayscale(0%);
}

/* Badge promo */
.woocommerce span.onsale {
    background: var(--black) !important;
    color: var(--white) !important;
    font-family: var(--font-body) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    padding: 5px 10px !important;
    top: 12px !important;
    left: 12px !important;
    min-height: auto !important;
    min-width: auto !important;
    line-height: 1.4 !important;
}

/* Infos produit */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--black) !important;
    padding: 16px 16px 4px !important;
    margin: 0 !important;
    line-height: 1.4;
    text-align: center !important;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    font-family: var(--font-display) !important;
    font-size: 1.3rem !important;
    font-weight: 400 !important;
    color: var(--black) !important;
    padding: 4px 16px 16px !important;
    margin: 0 !important;
    display: block;
    text-align: center !important;
}
.woocommerce ul.products li.product .price del {
    color: #999 !important;
    font-size: 1rem !important;
}

/* Boutons carte produit — Voir (outlined) + Panier (filled) */
.ergotech-view-btn {
    margin-top: auto !important;
    display: block !important;
    background: var(--white) !important;
    color: var(--black) !important;
    border: var(--border) !important;
    padding: 14px 20px !important;
    font-family: var(--font-body) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease;
    cursor: pointer;
    width: 100% !important;
}
.ergotech-view-btn:hover {
    background: var(--black) !important;
    color: var(--white) !important;
    text-decoration: none !important;
}

/* Bouton ajouter au panier — carte */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
    display: block !important;
    background: var(--black) !important;
    color: var(--white) !important;
    border: none !important;
    padding: 14px 20px !important;
    font-family: var(--font-body) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    transition: opacity 0.15s ease !important;
    cursor: pointer;
    width: 100% !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover {
    background: var(--black) !important;
    color: var(--white) !important;
    opacity: 0.65 !important;
    text-decoration: none !important;
}

/* =========================================================
   BREADCRUMB
   ========================================================= */
.woocommerce .woocommerce-breadcrumb {
    font-family: var(--font-body);
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #999 !important;
    padding: 16px 40px;
    border-bottom: var(--border);
    margin: 0 !important;
}
.woocommerce .woocommerce-breadcrumb a { color: #999 !important; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--black) !important; }

/* =========================================================
   TRUST BADGES
   ========================================================= */
.ergotech-trust-bar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: var(--border);
    border-bottom: var(--border);
    margin: 0;
    padding: 0;
    background: var(--white);
}
.ergotech-trust-item {
    padding: 40px 32px;
    border-right: var(--border);
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
}
.ergotech-trust-item:last-child { border-right: none; }
.ergotech-trust-item .trust-icon {
    display: flex;
    align-items: center;
    color: var(--black);
    opacity: 0.7;
}
.ergotech-trust-item h4 {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin: 0;
    color: var(--black);
}
.ergotech-trust-item p {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 300;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

/* =========================================================
   PANIER & CHECKOUT
   ========================================================= */
.woocommerce table.shop_table {
    border: var(--border) !important;
}
.woocommerce table.shop_table th {
    background: var(--black) !important;
    color: var(--white) !important;
    font-family: var(--font-body) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    padding: 14px 16px !important;
    border: none !important;
}
.woocommerce table.shop_table td {
    border-color: #eee !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #payment #place_order {
    background: var(--black) !important;
    color: var(--white) !important;
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    padding: 18px 40px !important;
}

/* =========================================================
   PAGINATION
   ========================================================= */
.woocommerce nav.woocommerce-pagination ul {
    border: none !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    font-family: var(--font-body);
    font-size: 11px;
    letter-spacing: 0.1em;
    border: var(--border) !important;
    color: var(--black) !important;
    padding: 10px 16px !important;
    margin: 2px !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: var(--black) !important;
    color: var(--white) !important;
}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer,
#colophon {
    background: var(--black) !important;
    color: var(--white) !important;
    border-top: var(--border);
    padding: 60px 40px 40px !important;
}
.site-footer a,
#colophon a {
    color: var(--white) !important;
    font-size: 11px;
    letter-spacing: 0.1em;
}
.site-footer .widget-title,
#colophon .widget-title {
    font-family: var(--font-display) !important;
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--white) !important;
    border-bottom: 1px solid rgba(255,255,255,0.15) !important;
    padding-bottom: 12px !important;
    margin-bottom: 20px !important;
}
.site-footer p,
#colophon p {
    font-family: var(--font-body);
    font-size: 11px;
    color: rgba(255,255,255,0.5);
    letter-spacing: 0.05em;
    line-height: 1.6;
}
.ast-footer-copyright {
    background: var(--black) !important;
    color: rgba(255,255,255,0.4) !important;
    font-size: 10px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    padding: 20px 40px !important;
    border-top: 1px solid rgba(255,255,255,0.1) !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1280px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        /* grid-template-columns géré par auto-fill — seul le padding change */
        padding: 28px 32px !important;
    }
}

@media (max-width: 1024px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        padding: 24px !important;
    }
    .ergotech-hero {
        grid-template-columns: 1fr;
        padding: 60px 24px 48px;
    }
    .ergotech-trust-bar {
        grid-template-columns: repeat(2, 1fr);
    }
    .ergotech-trust-item:nth-child(2) { border-right: none; }
    .ergotech-trust-item:nth-child(3) { border-top: var(--border); }
    .ergotech-trust-item:nth-child(4) { border-top: var(--border); }
    .site-branding,
    .site-header .col-full {
        padding: 20px 24px !important;
    }
}

/* 900px — grid-template-columns géré par auto-fill (minmax 260px → 2 cols naturellement) */

@media (max-width: 640px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        gap: 16px !important;
        padding: 16px !important;
    }
    .ergotech-category-bar {
        flex-wrap: nowrap;
    }
    .ergotech-trust-bar {
        grid-template-columns: 1fr;
    }
    .ergotech-trust-item { border-right: none; border-bottom: var(--border); }
    .ergotech-trust-item:last-child { border-bottom: none; }
    .woocommerce div.product {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 24px;
    }
}

/* 480px — 1 colonne automatique quand minmax(260px) ne tient plus */

/* =========================================================
   FRONT PAGE — Section "Produit du moment" (hook-based)
   ========================================================= */
.ergotech-front-featured {
    border-bottom: var(--border);
    padding: 0;
}

.ergotech-front-featured-label {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    text-align: center;
    color: var(--black);
    opacity: 0.4;
    margin: 0;
    padding: 24px 40px 0;
}

/* =========================================================
   FRONT PAGE — Hero Featured + Grille
   ========================================================= */
.ergotech-home {
    padding: 0;
}

/* Hero 2 colonnes : image gauche | infos droite */
.ergotech-home-hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 80vh;
    border-bottom: var(--border);
}

.ergotech-home-hero-image {
    overflow: hidden;
    border-right: var(--border);
}
.ergotech-home-hero-image a {
    display: block;
    height: 100%;
}
.ergotech-home-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(20%);
    transition: filter 0.4s ease;
}
.ergotech-home-hero-image:hover img {
    filter: grayscale(0%);
}

.ergotech-home-hero-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 64px 56px;
    gap: 20px;
}

.ergotech-home-hero-cat {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--black);
    opacity: 0.4;
    margin: 0;
}

.ergotech-home-hero-title {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 5vw, 5rem);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    margin: 0;
}
.ergotech-home-hero-title a {
    color: var(--black);
    text-decoration: none;
}
.ergotech-home-hero-title a:hover {
    text-decoration: none;
    opacity: 0.7;
}

.ergotech-home-hero-desc {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 300;
    line-height: 1.7;
    color: var(--black);
    max-width: 380px;
    margin: 0;
}

.ergotech-home-hero-price {
    font-family: var(--font-display);
    font-size: 2rem;
    color: var(--black);
}

.ergotech-home-hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.ergotech-home-btn-view {
    display: inline-block;
    background: var(--white);
    color: var(--black) !important;
    border: var(--border);
    padding: 14px 32px;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease;
    cursor: pointer;
}
.ergotech-home-btn-view:hover {
    background: var(--black);
    color: var(--white) !important;
}

.ergotech-home-btn-cart {
    display: inline-block;
    background: var(--black);
    color: var(--white) !important;
    border: var(--border);
    padding: 14px 32px;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: opacity 0.15s ease;
    cursor: pointer;
}
.ergotech-home-btn-cart:hover { opacity: 0.65; text-decoration: none !important; }

/* Section grille */
.ergotech-home-grid {
    padding: 0;
}

.ergotech-home-grid ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
    padding: 32px 40px !important;
    border-bottom: var(--border);
}
@media (max-width: 900px) {
    .ergotech-home-grid ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 480px) {
    .ergotech-home-grid ul.products {
        grid-template-columns: 1fr !important;
    }
}

.ergotech-home-grid-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 40px;
    border-bottom: var(--border);
}
.ergotech-home-grid-header h2 {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin: 0;
    color: var(--black);
}
.ergotech-home-grid-header a {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--black);
    opacity: 0.5;
    text-decoration: none;
    transition: opacity 0.15s ease;
}
.ergotech-home-grid-header a:hover { opacity: 1; text-decoration: none; }

/* Responsive hero */
@media (max-width: 768px) {
    .ergotech-home-hero {
        grid-template-columns: 1fr;
        min-height: auto;
    }
    .ergotech-home-hero-image {
        border-right: none;
        border-bottom: var(--border);
        height: 60vw;
    }
    .ergotech-home-hero-info {
        padding: 40px 24px;
    }
    .ergotech-home-grid-header {
        padding: 16px 24px;
    }
}

/* =========================================================
   TOAST "AJOUTÉ AU PANIER"
   ========================================================= */
.ergotech-toast {
    position: fixed;
    top: 64px;
    left: 50%;
    transform: translateX(-50%) translateY(-16px);
    background: var(--black);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    padding: 14px 24px;
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0;
    transition: opacity 0.25s ease, transform 0.25s ease;
    z-index: 9999;
    pointer-events: none;
    white-space: nowrap;
}
.ergotech-toast.is-visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
@media (max-width: 480px) {
    .ergotech-toast {
        white-space: normal;
        width: calc(100% - 32px);
        text-align: center;
        justify-content: center;
    }
}

/* =========================================================
   PAGE PRODUIT UNIQUE — layout data-forward
   ========================================================= */

/* Outer grid: gallery left | summary right */
.woocommerce div.product {
    display: grid;
    grid-template-columns: clamp(260px, 38%, 420px) 1fr;
    gap: 0;
    align-items: start;
    padding: 0 40px;
    background: var(--white);
    overflow: visible; /* override Storefront overflow:hidden — needed for position:sticky */
    position: relative; /* containing block for .onsale badge */
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}
/* Kill Storefront clearfix pseudo-elements — they become grid items and break auto-placement */
.woocommerce div.product::before,
.woocommerce div.product::after {
    content: none !important;
    display: none !important;
}

/* Gallery column — sticky, separated by border */
.woocommerce div.product .woocommerce-product-gallery {
    grid-column: 1;
    grid-row: 1;
    border-right: var(--border);
    position: sticky;
    top: 64px;
    background: var(--white);
    float: none !important;   /* override Storefront float:left */
    width: 100% !important;   /* override Storefront width:41% */
    margin: 0 !important;
}
.woocommerce div.product .woocommerce-product-gallery__wrapper img {
    width: 100%;
    display: block;
    filter: grayscale(20%);
    transition: filter 0.4s ease;
}
.woocommerce div.product .woocommerce-product-gallery__wrapper:hover img {
    filter: grayscale(0%);
}

/* Thumbnails strip */
.woocommerce div.product .flex-control-thumbs {
    display: flex !important;
    gap: 0;
    list-style: none;
    padding: 0;
    margin: 0;
    border-top: var(--border);
}
.woocommerce div.product .flex-control-thumbs li {
    flex: 1;
    border-right: var(--border);
}
.woocommerce div.product .flex-control-thumbs li:last-child { border-right: none; }
.woocommerce div.product .flex-control-thumbs img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    opacity: 0.5;
    transition: opacity 0.15s ease;
    filter: none !important;
    cursor: pointer;
}
.woocommerce div.product .flex-control-thumbs .flex-active img,
.woocommerce div.product .flex-control-thumbs img:hover { opacity: 1; }

/* Summary column */
.woocommerce div.product .summary {
    grid-column: 2;
    grid-row: 1;
    padding: 28px 32px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    float: none !important;   /* override Storefront float:right */
    width: 100% !important;   /* override Storefront width:52% */
    margin: 0 !important;
}

/* SKU as top label */
.woocommerce div.product .sku_wrapper {
    font-family: var(--font-body);
    font-size: 9px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    opacity: 0.35;
    margin: 0;
}
.woocommerce div.product .sku_wrapper .sku { font-weight: 600; }

/* Product title */
.woocommerce div.product .product_title {
    font-family: var(--font-body) !important;
    font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
    margin: 0 !important;
    color: var(--black) !important;
}

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-family: var(--font-body) !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: var(--black) !important;
    border-top: var(--border) !important;
    border-bottom: var(--border) !important;
    padding: 12px 0 !important;
    margin: 4px 0 !important;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
    color: #999 !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
}

/* Short description */
.woocommerce div.product .woocommerce-product-details__short-description {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 300;
    line-height: 1.8;
    color: var(--black);
    opacity: 0.7;
    margin: 0;
    max-width: 380px;
}

/* Variations / swatches */
.woocommerce div.product .variations td,
.woocommerce div.product .variations th {
    padding: 0 0 8px;
    border: none;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.woocommerce div.product .variations select {
    border: var(--border);
    font-family: var(--font-body);
    font-size: 11px;
    padding: 8px 12px;
    appearance: none;
    background: var(--white);
    cursor: pointer;
}

/* Quantity + Add to cart */
.woocommerce div.product form.cart {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.woocommerce div.product form.cart .qty {
    border: var(--border) !important;
    font-family: var(--font-body);
    font-size: 13px;
    padding: 10px 12px;
    width: 70px;
    text-align: center;
    border-radius: 0 !important;
    background: var(--white);
    color: var(--black);
}
.woocommerce div.product form.cart .button {
    display: block !important;
    width: 100% !important;
    background: var(--black) !important;
    color: var(--white) !important;
    font-family: var(--font-body) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    padding: 14px 24px !important;
    border: var(--border) !important;
    cursor: pointer;
    transition: opacity 0.15s ease !important;
    border-radius: 0 !important;
}
.woocommerce div.product form.cart .button:hover { opacity: 0.7 !important; }

/* Trust signals row */
.ergotech-product-trust {
    display: flex;
    gap: 16px;
    padding-top: 12px;
    border-top: 1px solid #eee;
    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.08em;
    opacity: 0.5;
    flex-wrap: wrap;
}

/* ── EMPTY PRICE GUARD ───────────────────────────────────── */
/* Hide price borders when no price is configured */
.woocommerce div.product p.price:empty,
.woocommerce div.product p.price:not(:has(.woocommerce-Price-amount)) {
    border-top: none !important;
    border-bottom: none !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
}

/* ── PRODUCT META (catégorie / tags / SKU) ───────────────── */
.woocommerce div.product .product_meta {
    font-family: var(--font-body);
    font-size: 9px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.35;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.woocommerce div.product .product_meta a {
    color: var(--black) !important;
    text-decoration: none;
}
.woocommerce div.product .product_meta a:hover { text-decoration: underline; }

/* ── ADMIN EDIT LINK ─────────────────────────────────────── */
.woocommerce div.product .edit-link {
    font-family: var(--font-body);
    font-size: 8px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    opacity: 0.2;
    color: var(--black) !important;
}

/* ── GALLERY: override Storefront bottom margins ─────────── */
.woocommerce div.product .woocommerce-product-gallery {
    margin-bottom: 0 !important;
}
.woocommerce div.product .woocommerce-product-gallery .flex-viewport {
    margin-bottom: 0 !important;
}

/* ── SPECS TABLE ─────────────────────────────────────────── */
.ergotech-specs-table {
    grid-column: 1 / -1;
    border-top: var(--border);
}
.ergotech-specs-table-header {
    background: var(--black);
    color: var(--white);
    padding: 10px 24px;
    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}
.ergotech-specs-table table {
    width: 100%;
    border-collapse: collapse;
}
.ergotech-specs-table tr:nth-child(odd)  { background: var(--gray-light); }
.ergotech-specs-table tr:nth-child(even) { background: var(--white); }
.ergotech-specs-label,
.ergotech-specs-value {
    padding: 10px 24px;
    border-bottom: 1px solid #e0e0e0;
    font-family: var(--font-body);
    font-size: 11px;
    vertical-align: top;
}
.ergotech-specs-label {
    font-weight: 600;
    width: 35%;
}
.ergotech-specs-value { opacity: 0.7; }

/* ── DESCRIPTION 2-COL ───────────────────────────────────── */
.ergotech-product-desc-row {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: var(--border);
}
.ergotech-product-desc-row--full { grid-template-columns: 1fr; }
.ergotech-product-desc-col {
    padding: 28px 32px;
    border-right: var(--border);
}
.ergotech-product-desc-col:last-child { border-right: none; }
.ergotech-product-desc-label {
    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    opacity: 0.4;
    margin: 0 0 14px;
}
.ergotech-product-desc-body {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 300;
    line-height: 1.8;
    color: var(--black);
    opacity: 0.75;
}
.ergotech-product-desc-body p { margin: 0 0 12px; }
.ergotech-product-desc-body p:last-child { margin-bottom: 0; }

/* ── PRODUITS APPARENTÉS ─────────────────────────────────── */
.related.products {
    grid-column: 1 / -1;
    border-top: var(--border);
    padding: 28px 32px;
}
.related.products > h2 {
    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    opacity: 0.4;
    margin: 0 0 20px;
}
.woocommerce .related ul.products,
.woocommerce-page .related ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
    padding: 0 !important;
}

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 768px) {
    .woocommerce div.product {
        grid-template-columns: 1fr;
        padding: 0 24px;
    }
    .woocommerce div.product .woocommerce-product-gallery {
        border-right: none;
        border-bottom: var(--border);
        position: static;
    }
    .woocommerce div.product .summary { padding: 24px; }
    .ergotech-product-desc-row { grid-template-columns: 1fr; }
    .ergotech-product-desc-col { border-right: none; border-bottom: var(--border); }
    .ergotech-product-desc-col:last-child { border-bottom: none; }
    .ergotech-specs-label { width: 45%; }
    .woocommerce .related ul.products,
    .woocommerce-page .related ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 480px) {
    .woocommerce .related ul.products,
    .woocommerce-page .related ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   MAIN ROBOTIQUE 3D — section avant footer
   ========================================================= */
.ergotech-hand-section {
    background: var(--black);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    overflow: hidden;
}

.ergotech-hand-copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: clamp(40px, 6vw, 72px) 40px 0;
}

.ergotech-hand-label {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.35);
}

.ergotech-hand-title {
    font-family: var(--font-display);
    font-size: clamp(2.8rem, 7vw, 6rem);
    font-weight: 400;
    color: var(--white);
    text-align: center;
    margin: 0;
    line-height: 1;
    letter-spacing: 0.02em;
}

#ergotech-hand-canvas {
    display: block;
    width: 100%;
    max-width: 680px;
    height: clamp(340px, 42vw, 520px);
    cursor: none;
}

.ergotech-hand-sub {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.25);
    text-align: center;
    margin: 0;
    padding: 0 40px clamp(36px, 5vw, 64px);
}

@media (max-width: 640px) {
    .ergotech-hand-copy { padding: 56px 24px 0; }
    #ergotech-hand-canvas { height: 380px; }
    .ergotech-hand-sub { padding: 0 24px 48px; }
}

/* =========================================================
    PANIER
    ========================================================= */
.woocommerce-cart table.cart,
.woocommerce-cart-form table.cart {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-body);
    font-size: 13px;
}
.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td {
    padding: 20px 16px;
    border-bottom: var(--border);
    text-align: left;
    vertical-align: middle;
}
.woocommerce-cart table.cart th {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    opacity: 0.5;
}
.woocommerce-cart table.cart td.product-thumbnail img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    display: block;
}
.woocommerce-cart table.cart a.remove {
    color: var(--black) !important;
    font-size: 18px;
    opacity: 0.3;
    transition: opacity 0.15s ease;
    text-decoration: none;
}
.woocommerce-cart table.cart a.remove:hover { opacity: 1; }
.cart_totals h2 {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin: 0 0 24px;
}
.cart_totals table { width: 100%; border-collapse: collapse; }
.cart_totals table th,
.cart_totals table td {
    padding: 12px 0;
    border-bottom: var(--border);
    font-family: var(--font-body);
    font-size: 13px;
}
.cart_totals .wc-proceed-to-checkout .checkout-button {
    display: block;
    width: 100%;
    background: var(--black);
    color: var(--white) !important;
    border: none;
    padding: 16px 32px;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    transition: opacity 0.15s ease;
}
.cart_totals .wc-proceed-to-checkout .checkout-button:hover { opacity: 0.7; }

/* =========================================================
   CHECKOUT
   ========================================================= */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin: 0 0 24px;
}
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    border: var(--border);
    border-radius: 0;
    font-family: var(--font-body);
    font-size: 13px;
    padding: 12px 16px;
    width: 100%;
    box-sizing: border-box;
    box-shadow: none;
}
.woocommerce-checkout #place_order {
    display: block;
    width: 100%;
    background: var(--black);
    color: var(--white) !important;
    border: none;
    padding: 16px 32px;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity 0.15s ease;
    border-radius: 0;
    box-shadow: none;
}
.woocommerce-checkout #place_order:hover { opacity: 0.7; }

/* =========================================================
   PANIER VIDE
   ========================================================= */
.ergotech-empty-cart {
    text-align: center;
    padding: 80px 24px;
    max-width: 480px;
    margin: 0 auto;
}
.ergotech-empty-cart-label {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    opacity: 0.4;
    margin: 0 0 16px;
}
.ergotech-empty-cart-title {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 6vw, 5rem);
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1;
    margin: 0 0 24px;
}
.ergotech-empty-cart-desc {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 300;
    line-height: 1.7;
    opacity: 0.6;
    margin: 0 0 40px;
}
.ergotech-empty-cart-cta {
    display: inline-block;
    background: var(--black);
    color: var(--white) !important;
    border: var(--border);
    padding: 14px 40px;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: opacity 0.15s ease;
}
.ergotech-empty-cart-cta:hover { opacity: 0.7; }

/* =========================================================
   PAGE 404
   ========================================================= */
.ergotech-404 {
    text-align: center;
    padding: 120px 24px;
    max-width: 520px;
    margin: 0 auto;
}
.ergotech-404-label {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    opacity: 0.4;
    margin: 0 0 16px;
}
.ergotech-404-title {
    font-family: var(--font-display);
    font-size: clamp(3.5rem, 10vw, 8rem);
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1;
    margin: 0 0 24px;
}
.ergotech-404-desc {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 300;
    line-height: 1.7;
    opacity: 0.6;
    margin: 0 0 40px;
}
.ergotech-404-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}
.ergotech-404-btn {
    display: inline-block;
    background: var(--black);
    color: var(--white) !important;
    border: var(--border);
    padding: 14px 40px;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: opacity 0.15s ease;
}
.ergotech-404-btn:hover { opacity: 0.7; }
.ergotech-404-btn-secondary {
    display: inline-block;
    background: var(--white);
    color: var(--black) !important;
    border: var(--border);
    padding: 14px 40px;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease;
}
.ergotech-404-btn-secondary:hover {
    background: var(--black);
    color: var(--white) !important;
}

/* =========================================================
   RÉSULTATS DE RECHERCHE
   ========================================================= */
.ergotech-search-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 24px 40px;
    border-bottom: var(--border);
}
.ergotech-search-query {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 300;
    margin: 0;
}
.ergotech-search-query strong { font-weight: 600; }
.ergotech-search-count {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    opacity: 0.4;
    margin: 0;
}
@media (max-width: 768px) {
    .ergotech-search-header {
        padding: 16px 24px;
        flex-direction: column;
        gap: 4px;
    }
}

/* =========================================================
   PAGINATION
   ========================================================= */
.woocommerce-pagination,
.woocommerce nav.woocommerce-pagination {
    display: flex;
    justify-content: center;
    padding: 40px;
    border-top: var(--border);
}
.woocommerce-pagination ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: var(--border);
    margin-left: -1px;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 500;
    color: var(--black);
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}
.woocommerce-pagination ul li a:hover {
    background: var(--black);
    color: var(--white);
}
.woocommerce-pagination ul li span.current {
    background: var(--black);
    color: var(--white);
}

/* =========================================================
   MINI-CART DRAWER
   ========================================================= */
body.cart-drawer-open { overflow: hidden; }

.ergotech-cart-drawer {
    position: fixed;
    inset: 0;
    z-index: 1000000;
    pointer-events: none;
}
.ergotech-cart-drawer.is-open { pointer-events: auto; }

.ergotech-cart-drawer-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.4);
    opacity: 0;
    transition: opacity 0.3s ease;
}
.ergotech-cart-drawer.is-open .ergotech-cart-drawer-overlay { opacity: 1; }

.ergotech-cart-drawer-panel {
    position: absolute;
    top: 0;
    right: 0;
    width: 400px;
    max-width: 100vw;
    height: 100%;
    background: var(--white);
    border-left: var(--border);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.3s ease;
}
.ergotech-cart-drawer.is-open .ergotech-cart-drawer-panel { transform: translateX(0); }

.ergotech-cart-drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: var(--border);
    flex-shrink: 0;
}
.ergotech-cart-drawer-title {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    margin: 0;
}
.ergotech-cart-drawer-close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    color: var(--black);
    display: flex;
    align-items: center;
}

.ergotech-cart-drawer-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px 24px;
}
.ergotech-cart-drawer-body .woocommerce-mini-cart__empty-message {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 300;
    opacity: 0.5;
    text-align: center;
    padding: 40px 0;
}
/* WC mini-cart: <li> contient <a.remove>, <a href>(img + nom)</a>, <span.quantity>
   L'image et le nom sont dans le MÊME <a> — on en fait un flex row */
.ergotech-cart-drawer-body .woocommerce-mini-cart-item {
    position: relative;
    padding: 16px 28px 16px 0;
    border-bottom: var(--border);
    list-style: none;
}
/* lien produit = flex row : image | nom */
.ergotech-cart-drawer-body .woocommerce-mini-cart-item > a:not(.remove) {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    text-decoration: none;
    color: var(--black);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 1.4;
}
/* image dans le lien — taille fixe, pas de crop */
.ergotech-cart-drawer-body .woocommerce-mini-cart-item > a:not(.remove) img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    background: #f7f7f7;
    flex-shrink: 0;
    display: block;
}
/* quantité — bloc indenté sous le nom (88 = image 72 + gap 16) */
.ergotech-cart-drawer-body .woocommerce-mini-cart-item .quantity {
    display: block;
    padding-left: 88px;
    margin-top: 6px;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 300;
    opacity: 0.6;
}
/* bouton × — absolu en haut à droite */
.ergotech-cart-drawer-body .woocommerce-mini-cart-item .remove {
    position: absolute;
    top: 16px;
    right: 0;
    color: var(--black) !important;
    opacity: 0.3;
    font-size: 18px;
    text-decoration: none;
    line-height: 1;
    transition: opacity 0.15s ease;
}
.ergotech-cart-drawer-body .woocommerce-mini-cart-item .remove:hover { opacity: 1; }
/* masquer les boutons WC natifs (doublon avec notre footer) */
.ergotech-cart-drawer-body .woocommerce-mini-cart__buttons { display: none; }
/* sous-total WC dans le body — masqué, affiché dans le footer */
.ergotech-cart-drawer-body .woocommerce-mini-cart__total { display: none; }

.ergotech-cart-drawer-foot {
    padding: 20px 24px;
    border-top: var(--border);
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-shrink: 0;
}
.ergotech-cart-drawer-subtotal {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin: 0 0 4px;
}
.ergotech-cart-drawer-btn {
    display: block;
    text-align: center;
    background: var(--black);
    color: var(--white) !important;
    border: var(--border);
    padding: 14px 24px;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: opacity 0.15s ease;
}
.ergotech-cart-drawer-btn:hover { opacity: 0.7; }
.ergotech-cart-drawer-btn-secondary {
    display: block;
    text-align: center;
    background: var(--white);
    color: var(--black) !important;
    border: var(--border);
    padding: 14px 24px;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease;
}
.ergotech-cart-drawer-btn-secondary:hover {
    background: var(--black);
    color: var(--white) !important;
}

@media (max-width: 480px) {
    .ergotech-cart-drawer-panel { width: 100vw; border-left: none; }
}

@media (prefers-reduced-motion: reduce) {
    .ergotech-cart-drawer-overlay,
    .ergotech-cart-drawer-panel { transition: none; }
}

/* =========================================================
   TRUST SIGNALS CHECKOUT
   ========================================================= */
.ergotech-checkout-trust {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
    padding: 16px;
    border: var(--border);
}
.ergotech-checkout-trust span {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.08em;
    color: var(--black);
    opacity: 0.7;
}

/* =========================================================
   PAGE COMPTE (MY ACCOUNT)
   ========================================================= */
.ergotech-account-wrap {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 0;
    min-height: 60vh;
    align-items: start;
}

.ergotech-account-sidebar {
    border-right: var(--border);
    padding: 40px 32px;
    position: sticky;
    top: 64px;
}

.ergotech-account-greeting {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 300;
    letter-spacing: 0.05em;
    margin: 0 0 32px;
    opacity: 0.6;
}
.ergotech-account-greeting strong { font-weight: 600; color: var(--black); opacity: 1; }

.ergotech-account-nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.ergotech-account-nav-link {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--black);
    text-decoration: none;
    padding: 10px 0;
    opacity: 0.4;
    border-bottom: 1px solid transparent;
    transition: opacity 0.15s ease;
}
.ergotech-account-nav-link:hover,
.ergotech-account-nav-link.active {
    opacity: 1;
}
.ergotech-account-nav-link.active {
    border-bottom-color: var(--black);
}
.ergotech-account-nav-ambassador {
    margin-top: 24px;
    opacity: 0.7;
    font-weight: 600;
}

.ergotech-account-content {
    padding: 40px 48px;
}
.ergotech-account-content h2,
.ergotech-account-content h3 {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin: 0 0 24px;
}
.ergotech-account-content table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-body);
    font-size: 13px;
}
.ergotech-account-content table th,
.ergotech-account-content table td {
    padding: 12px 16px;
    border-bottom: var(--border);
    text-align: left;
}
.ergotech-account-content table th {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.5;
}

@media (max-width: 768px) {
    .ergotech-account-wrap { grid-template-columns: 1fr; }
    .ergotech-account-sidebar {
        border-right: none;
        border-bottom: var(--border);
        position: static;
        padding: 24px;
    }
    .ergotech-account-nav { flex-direction: row; flex-wrap: wrap; gap: 8px; }
    .ergotech-account-nav-link { padding: 6px 12px; border: var(--border); border-bottom: var(--border); }
    .ergotech-account-content { padding: 24px; }
}

/* =========================================================
   PAGE THANK YOU
   ========================================================= */
.ergotech-thankyou {
    max-width: 600px;
    margin: 0 auto;
    padding: 80px 24px;
    text-align: center;
}
.ergotech-thankyou-label {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    opacity: 0.4;
    margin: 0 0 16px;
}
.ergotech-thankyou-title {
    font-family: var(--font-display);
    font-size: clamp(3rem, 8vw, 6rem);
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1;
    margin: 0 0 24px;
}
.ergotech-thankyou-desc {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 300;
    line-height: 1.7;
    opacity: 0.7;
    margin: 0 0 40px;
}
.ergotech-thankyou-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 48px;
}
.ergotech-thankyou-btn {
    display: inline-block;
    background: var(--black);
    color: var(--white) !important;
    border: var(--border);
    padding: 14px 32px;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: opacity 0.15s ease;
}
.ergotech-thankyou-btn:hover { opacity: 0.7; }
.ergotech-thankyou-btn-secondary {
    display: inline-block;
    background: var(--white);
    color: var(--black) !important;
    border: var(--border);
    padding: 14px 32px;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease;
}
.ergotech-thankyou-btn-secondary:hover {
    background: var(--black);
    color: var(--white) !important;
}
.ergotech-thankyou-details {
    border-top: var(--border);
    padding-top: 40px;
    text-align: left;
    font-family: var(--font-body);
    font-size: 13px;
}
