/*
 Theme Name:   Hello Elementor Child
 Theme URI:    https://elementor.com/
 Description:  Thème enfant de Hello Elementor — PDB (Peintures de Bordeaux)
 Author:       PDB
 Template:     hello-elementor
 Version:      1.1.5
 Text Domain:  pdb-theme
*/

/* ─────────────────────────────────────────────────────────────────────────────
   HEADER PDB — design éditorial blanc (toutes pages sauf front-page.php
   qui gère son propre inline CSS avec priorité)
───────────────────────────────────────────────────────────────────────────── */

/* ── Search overlay ── */
#pdb-search{position:fixed;inset:0;z-index:600;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);display:none;flex-direction:column;align-items:center;justify-content:center;padding:40px}
#pdb-search.open{display:flex}
#pdb-search input{width:100%;max-width:620px;font-size:26px;font-family:'DM Serif Display',serif;border:none;border-bottom:1.5px solid #1a1a1a;padding:14px 0;background:transparent;outline:none;color:#1a1a1a}
#pdb-search input::placeholder{color:#ccc}
#pdb-search-close{position:absolute;top:24px;right:28px;background:none;border:none;cursor:pointer;color:#999;font-size:28px;line-height:1}
#pdb-search-close:hover{color:#1a1a1a}

/* ── Mega menu ── */
.pdb-mega{position:fixed;left:0;right:0;background:#fff;border-top:1px solid #ebebeb;box-shadow:0 24px 56px rgba(0,0,0,.07);z-index:200;padding:28px 56px 32px;pointer-events:none;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s,transform .22s,visibility .22s}
.pdb-mega.open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}

/* ── Topbar ── */
.pdb-topbar{background:#1B2A4A;color:#8fa8cc;padding:9px 32px;font-size:10.5px;letter-spacing:.05em;display:flex;align-items:center;justify-content:space-between;font-family:'Inter',system-ui,sans-serif}
.pdb-topbar-left{display:flex;align-items:center;gap:18px;min-width:0;overflow:hidden}
.pdb-topbar-right{display:flex;align-items:center;gap:14px}
.pdb-topbar-hours{display:flex;align-items:center;gap:6px;color:rgba(255,255,255,.9);font-size:10.5px;letter-spacing:.06em;font-weight:400}
.pdb-topbar-vsep{width:1px;height:12px;background:rgba(255,255,255,.12);display:inline-block;flex-shrink:0}
.pdb-topbar-vsep--mobile{display:none}
.pdb-topbar-badge{display:flex;align-items:center;gap:5px;font-size:10.5px;font-weight:500;letter-spacing:.04em;white-space:nowrap}
.pdb-topbar-badge.open{color:#4ade80}
.pdb-topbar-badge.closed{color:#f87171}
.pdb-topbar-badge--mobile{display:none}
.pdb-topbar-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block;position:relative}
.pdb-topbar-badge.open .pdb-topbar-dot{background:#4ade80}
.pdb-topbar-badge.open .pdb-topbar-dot::before{content:'';position:absolute;inset:-1px;border-radius:50%;background:#4ade80;opacity:.4;animation:pdb-ping 1.4s ease-in-out infinite}
.pdb-topbar-badge.closed .pdb-topbar-dot{background:#f87171}
.pdb-topbar-tel{display:flex;align-items:center;gap:7px;color:#fff;text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.05em;padding:4px 12px;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:rgba(255,255,255,.06);transition:background .15s}
.pdb-topbar-tel:hover{background:rgba(255,255,255,.12);color:#fff}

/* ── Header wrapper ── */
.pdb-header-wrap{position:sticky;top:0;z-index:300;background:#fff;border-bottom:1px solid #ebebeb}
.pdb-header-row1{display:flex;align-items:center;padding:0 32px;height:72px;border-bottom:1px solid #f0f0f0}
.pdb-logo-spacer{flex:1}
.pdb-logo{display:flex;justify-content:center;align-items:center}
.pdb-logo img{height:56px;width:auto;display:block}
.pdb-logo-text{font-family:'DM Serif Display',serif;font-size:20px;color:#1a1a1a}
.pdb-header-row2{display:flex;justify-content:center;height:44px}

/* ── Desktop nav ── */
.pdb-nav{display:flex;list-style:none;gap:0;align-items:center;margin:0;padding:0}
.pdb-nav-item{position:relative}
.pdb-nav-link{display:inline-flex;align-items:center;gap:3px;padding:0 13px;height:44px;font-size:12px;font-weight:400;color:#3a3a3a;letter-spacing:.02em;white-space:nowrap;position:relative;transition:color .15s;background:none;border:none;cursor:pointer;font-family:'Inter',sans-serif;text-decoration:none}
.pdb-nav-link:hover,.pdb-nav-link.active{color:#1a1a1a}
.pdb-nav-link.accent{color:#8B2635}
.pdb-nav-link .underline{position:absolute;bottom:0;left:13px;right:13px;height:1px;background:#1a1a1a;transform:scaleX(0);transform-origin:left;transition:transform .2s}
.pdb-nav-link.accent .underline{background:#8B2635}
.pdb-nav-item:hover .pdb-nav-link .underline,.pdb-nav-link.active .underline{transform:scaleX(1)}
.chev{display:inline-block;width:10px;height:10px;opacity:.35;transition:transform .18s}
.pdb-nav-item:hover .chev{transform:rotate(180deg)}

/* ── Right icons ── */
.pdb-icons{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:2px}
.pdb-icon-btn{background:none;border:none;cursor:pointer;color:#777;padding:9px;display:flex;align-items:center;transition:color .15s;font-family:inherit;text-decoration:none}
.pdb-icon-btn:hover{color:#1a1a1a}
.pdb-icon-btn.ig:hover{color:#E1306C}
.pdb-status{display:flex;align-items:center;gap:5px;margin-left:4px;font-size:11px;color:#888;border-left:1px solid #ebebeb;padding-left:12px;white-space:nowrap}
.pdb-status .dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}
.pdb-wa-btn{margin-left:10px;display:flex;align-items:center;gap:5px;border:1px solid #ebebeb;color:#555;padding:6px 12px;border-radius:3px;font-size:11px;font-weight:500;transition:border-color .15s,color .15s;white-space:nowrap;font-family:'Inter',sans-serif;text-decoration:none}
.pdb-wa-btn:hover{border-color:#25D366;color:#25D366}
.pdb-burger{background:none;border:none;cursor:pointer;color:#1a1a1a;padding:8px;display:none;align-items:center}

/* ── Mobile drawer ── */
.pdb-drawer{border-top:1px solid #ebebeb;background:#fff;padding:8px 0 20px;max-height:72vh;overflow-y:auto;display:none}
.pdb-drawer.open{display:block}
.pdb-drawer-item{border-bottom:1px solid #f7f7f5}
.pdb-drawer-row{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;cursor:pointer}
.pdb-drawer-row a{font-size:13px;font-weight:500;color:#1a1a1a;text-decoration:none}
.pdb-drawer-subs{background:#fafaf8;padding:4px 0;display:none}
.pdb-drawer-subs.open{display:block}
.pdb-drawer-toggle{background:none;border:none;cursor:pointer;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;color:#888;transition:color .15s}
.pdb-drawer-toggle.is-open{color:#1a1a1a}
.pdb-drawer-toggle.is-open svg{transform:rotate(180deg)}
.pdb-drawer-toggle svg{transition:transform .2s}
.pdb-drawer-subs a{display:block;padding:10px 40px;font-size:12.5px;color:#666;border-bottom:1px solid #f0f0f0;text-decoration:none}

/* ── Responsive header ── */
@media(max-width:1100px){
  .pdb-header-row2{display:none!important}
  .pdb-logo-spacer{display:none!important}
  .pdb-burger{display:flex!important}
  .pdb-wa-btn{display:none!important}
}
@media(min-width:1101px){.pdb-burger{display:none!important}}
@media(max-width:767px){
  .pdb-topbar{padding:7px 14px;justify-content:space-between;gap:8px;flex-wrap:nowrap}
  .pdb-topbar-left{display:flex;min-width:0;overflow:hidden}
  .pdb-topbar-badge:not(.pdb-topbar-badge--mobile){display:none}
  .pdb-topbar-vsep:not(.pdb-topbar-vsep--mobile){display:none}
  .pdb-topbar-hours{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pdb-topbar-badge--mobile{display:flex}
  .pdb-topbar-vsep--mobile{display:inline-block}
}
@media(max-width:720px){
  .pdb-header-row1{padding:0 16px!important;height:62px!important}
  .pdb-logo img{height:42px!important}
  .pdb-icon-btn.ig{display:none!important}
}

/* ── Ancienne classe .pdb-header conservée pour compatibilité ── */
.pdb-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: #fff;
    border-bottom: 1px solid #ebebeb;
}

.pdb-header__inner {
    display: flex;
    align-items: center;
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1.5rem;
    height: 80px;
}

/* Logo — centré en absolu */
.pdb-header__logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    flex-shrink: 0;
}

.pdb-header__logo-img {
    height: 40px;
    width: auto;
    display: block;
}

.pdb-header__logo-text {
    font-family: var(--pdb-font-serif);
    font-size: 1.375rem;
    font-weight: 700;
    color: #ffffff;
    white-space: nowrap;
    letter-spacing: -0.01em;
    line-height: 1;
}

.pdb-header__logo-sub {
    font-family: var(--pdb-font-sans);
    font-size: 0.625rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.6);
    letter-spacing: 0.25em;
    text-transform: uppercase;
    margin-top: 3px;
    white-space: nowrap;
}

/* Navigation desktop */
.pdb-header__nav {
    flex: 1;
    display: flex;
    justify-content: flex-start;
}

.pdb-nav__list {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pdb-nav__list li {
    margin: 0;
    padding: 0;
}

.pdb-nav__list a {
    display: inline-block;
    padding: 0.5rem 0.875rem;
    font-family: var(--pdb-font-sans);
    font-size: 0.9375rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    border-radius: var(--pdb-radius-md);
    transition: background-color 0.15s ease, color 0.15s ease;
}

.pdb-nav__list a:hover,
.pdb-nav__list a:focus {
    background-color: rgba(255, 255, 255, 0.1);
    color: #ffffff;
}

/* Actions (statut + WhatsApp) */
.pdb-header__actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
}

/* Statut magasin dans le header — pilule */
.pdb-header .pdb-store-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    padding: 5px 12px;
    background-color: rgba(255, 255, 255, 0.05);
    white-space: nowrap;
}

.pdb-header .pdb-status--open  { color: rgba(255, 255, 255, 0.9); }
.pdb-header .pdb-status--closed { color: rgba(255, 255, 255, 0.9); }

/* Dot pulsant via keyframes */
@keyframes pdb-ping {
    75%, 100% { transform: scale(2); opacity: 0; }
}

.pdb-header .pdb-status__dot {
    position: relative;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.pdb-header .pdb-status--open .pdb-status__dot  { background-color: #4ade80; }
.pdb-header .pdb-status--closed .pdb-status__dot { background-color: #f87171; }

.pdb-header .pdb-status--open .pdb-status__dot::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background-color: #4ade80;
    animation: pdb-ping 1.4s ease-in-out infinite;
}

/* Lien WhatsApp dans le header */
.pdb-header__wa {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0.4rem 0.875rem;
    background-color: #25D366;
    color: #ffffff;
    font-family: var(--pdb-font-sans);
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: var(--pdb-radius-md);
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.15s ease;
}

.pdb-header__wa:hover,
.pdb-header__wa:focus {
    background-color: #1da851;
    color: #ffffff;
}

/* Burger — caché sur desktop */
.pdb-header__burger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 40px;
    height: 40px;
    padding: 8px;
    background: none;
    border: none;
    cursor: pointer;
    flex-shrink: 0;
    border-radius: var(--pdb-radius-md);
    transition: background-color 0.15s ease;
}

.pdb-header__burger:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.pdb-header__burger span {
    display: block;
    width: 22px;
    height: 2px;
    background-color: #ffffff;
    border-radius: 2px;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

/* Menu mobile */
.pdb-header__mobile {
    background-color: var(--pdb-navy);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0.75rem 1.5rem;
}

.pdb-header__mobile[hidden] {
    display: none;
}

.pdb-nav__list--mobile {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}

.pdb-nav__list--mobile a {
    display: block;
    width: 100%;
    padding: 0.75rem 0.5rem;
    border-radius: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* ── Responsive header ≤ 768px ──────────────────────────────────────────── */

@media (max-width: 768px) {
    .pdb-header__inner {
        height: 60px;
        padding: 0 1rem;
    }
    .pdb-header__logo {
        position: static;
        transform: none;
        flex-direction: row;
        gap: 0.4rem;
    }
    .pdb-header__logo-sub { display: none; }

    .pdb-header__nav,
    .pdb-header__actions {
        display: none;
    }

    .pdb-header__burger {
        display: flex;
        margin-left: auto;
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   BADGE STATUT MAGASIN
───────────────────────────────────────────────────────────────────────────── */

.pdb-store-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1;
}

.pdb-status__dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.pdb-status--open .pdb-status__dot  { background-color: #22c55e; }
.pdb-status--open                   { color: #15803d; }
.pdb-status--closed .pdb-status__dot { background-color: #ef4444; }
.pdb-status--closed                  { color: #b91c1c; }

/* ─────────────────────────────────────────────────────────────────────────────
   BOUTON WHATSAPP
───────────────────────────────────────────────────────────────────────────── */

.pdb-whatsapp-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background-color: #25D366;
    color: #fff;
    font-weight: 600;
    font-size: 0.9375rem;
    border-radius: 6px;
    text-decoration: none;
    transition: background-color 0.2s ease;
    margin-top: 12px;
}

.pdb-whatsapp-btn:hover,
.pdb-whatsapp-btn:focus {
    background-color: #1da851;
    color: #fff;
}

/* ─────────────────────────────────────────────────────────────────────────────
   PRIX AU LITRE
───────────────────────────────────────────────────────────────────────────── */

.pdb-price-per-litre-label {
    font-size: 0.875rem;
    color: #6b7280;
    margin: 4px 0 12px;
}

.pdb-price-per-litre-label strong {
    color: #374151;
    font-weight: 600;
}

/* ─────────────────────────────────────────────────────────────────────────────
   BADGE OFFRE VOLUME (YITH + fallback PHP)
───────────────────────────────────────────────────────────────────────────── */

.pdb-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    line-height: 1.4;
}

.pdb-badge--volume {
    background-color: #1d4ed8;
    color: #fff;
}

.pdb-badge--loop {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
}

/* Position relative sur la vignette catalogue pour badge absolu */
.woocommerce ul.products li.product {
    position: relative;
}

/* ─────────────────────────────────────────────────────────────────────────────
   MODE CATALOGUE — Masquage bouton "Ajouter au panier" fiche produit (V1)
   Complète le hook PHP woocommerce_is_purchasable → __return_false
───────────────────────────────────────────────────────────────────────────── */

/* Fiche produit — masque uniquement l'achat, pas le sélecteur de variante */
.single-product .single_add_to_cart_button,
.single-product .wc-variation-is-unavailable,
.single-product .out-of-stock,
.single-product form.cart > .quantity,
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.single-product .woocommerce-variation-add-to-cart .quantity {
    display: none !important;
}

/* Archive produits — sécurité supplémentaire */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .added_to_cart {
    display: none !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   DESIGN SYSTEM V1 — DESIGN TOKENS (CSS Custom Properties)
   Vision : "Premium Accessible" — Expertise · Proximité · Confiance
───────────────────────────────────────────────────────────────────────────── */

:root {
    /* — Couleurs principales (issues du logo) — */
    --pdb-navy:         #1B2A4A;  /* Bleu Marine — titres, structure, header/footer */
    --pdb-bordeaux:     #8B1A2F;  /* Rouge Bordeaux — CTA principaux, PDF, actions clés */

    /* — Fonds (jamais de blanc pur #FFF) — */
    --pdb-bg-main:      #FAFAF8;  /* Blanc d'Albâtre — fond de page principal */
    --pdb-bg-card:      #F4F4F0;  /* Gris neutre chaud — cartes secondaires, zones de réassurance */
    --pdb-bg-input:     #FFFFFF;  /* Blanc pur — inputs uniquement */

    /* — Codes couleur catégories (pastilles, fonds de cartes) — */
    --pdb-cat-interieur:    #F6EFE4;  /* Ocre terreux très pâle — chaleur, intérieur */
    --pdb-cat-exterieur:    #EAF0EB;  /* Vert-de-gris désaturé — nature, résistance */
    --pdb-cat-accessoires:  #F0F0EF;  /* Gris perle — technique neutre */

    /* — Texte — */
    --pdb-text-primary:   #1B2A4A;  /* = navy, pour cohérence tokens */
    --pdb-text-secondary: #5A6478;  /* Gris bleuté — descriptions, labels */
    --pdb-text-muted:     #9CA3AF;  /* Gris clair — metadata, placeholders */

    /* — Bordures et ombres — */
    --pdb-border:      #E4E4DF;
    --pdb-shadow-sm:   0 1px 3px rgba(27, 42, 74, 0.06);
    --pdb-shadow-md:   0 2px 8px rgba(27, 42, 74, 0.10);

    /* — Typographie — */
    --pdb-font-serif:  'Playfair Display', Georgia, 'Times New Roman', serif;
    --pdb-font-sans:   'Inter', 'Open Sans', system-ui, -apple-system, sans-serif;

    /* — Rayons (conservatoires, pas de pill-buttons) — */
    --pdb-radius-sm:  3px;
    --pdb-radius-md:  6px;

    /* — Espacement (généreuses marges = anti hard-discount) — */
    --pdb-space-xs:   0.5rem;    /*  8px */
    --pdb-space-sm:   0.75rem;   /* 12px */
    --pdb-space-md:   1.5rem;    /* 24px */
    --pdb-space-lg:   2rem;      /* 32px */
    --pdb-space-xl:   3rem;      /* 48px */
}

/* ─────────────────────────────────────────────────────────────────────────────
   TYPOGRAPHIE — Application globale
───────────────────────────────────────────────────────────────────────────── */

body {
    font-family: var(--pdb-font-sans);
    font-size: 1rem;        /* 16px minimum — règle mobile */
    color: var(--pdb-text-primary);
    background-color: var(--pdb-bg-main);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3,
.pdb-heading {
    font-family: var(--pdb-font-serif);
    color: var(--pdb-navy);
    font-weight: 700;
    line-height: 1.2;
}

h4, h5, h6 {
    font-family: var(--pdb-font-sans);
    color: var(--pdb-navy);
    font-weight: 600;
}

/* Titre de fiche produit */
.pdb-product-title {
    font-family: var(--pdb-font-serif);
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    color: var(--pdb-navy);
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: var(--pdb-space-xs);
}

/* ─────────────────────────────────────────────────────────────────────────────
   PRIX — Affichage grand format fiche produit
───────────────────────────────────────────────────────────────────────────── */

.pdb-price-display {
    display: flex;
    align-items: baseline;
    gap: var(--pdb-space-sm);
    flex-wrap: wrap;
    margin: var(--pdb-space-sm) 0;
}

.pdb-price-main-value {
    font-family: var(--pdb-font-serif);
    font-size: 2rem;
    font-weight: 700;
    color: var(--pdb-navy);
    line-height: 1;
}

.pdb-price-per-litre-inline {
    font-family: var(--pdb-font-sans);
    font-size: 0.9rem;
    color: var(--pdb-text-secondary);
    font-weight: 500;
}

/* ─────────────────────────────────────────────────────────────────────────────
   SÉLECTEUR DE CONTENANT — Boutons [1L] [3L] [5L] [10L]…
───────────────────────────────────────────────────────────────────────────── */

/* Cacher le select WC natif quand nos pills sont actives */
.single-product .variations_form table.variations,
.single-product select[name="attribute_pa_contenant"] {
    display: none !important;
}

.pdb-variant-selector {
    display: flex;
    flex-direction: column;
    gap: var(--pdb-space-xs);
    margin: var(--pdb-space-sm) 0 var(--pdb-space-md);
}

.pdb-variant-selector__label {
    font-family: var(--pdb-font-sans);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--pdb-text-secondary);
    margin: 0 0 6px;
}

.pdb-variant-selector__btns {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pdb-variant-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    border: 1.5px solid var(--pdb-border);
    border-radius: var(--pdb-radius-md);
    background-color: var(--pdb-bg-input);
    color: var(--pdb-text-primary);
    font-family: var(--pdb-font-sans);
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
    text-decoration: none;
    white-space: nowrap;
}

.pdb-variant-btn:hover {
    border-color: var(--pdb-navy);
    color: var(--pdb-navy);
}

.pdb-variant-btn--active,
.pdb-variant-btn:focus {
    border-color: var(--pdb-navy);
    background-color: var(--pdb-navy);
    color: #ffffff;
    outline: none;
}

/* ─────────────────────────────────────────────────────────────────────────────
   GRILLE CARACTÉRISTIQUES TECHNIQUES
   Remplace les tableaux austères — icon + label + valeur en grid
───────────────────────────────────────────────────────────────────────────── */

.pdb-characteristics-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: var(--pdb-space-sm);
    margin: var(--pdb-space-md) 0;
}

.pdb-characteristic-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: var(--pdb-space-sm) var(--pdb-space-md);
    background-color: var(--pdb-bg-card);
    border-radius: var(--pdb-radius-md);
    border: 1px solid var(--pdb-border);
}

.pdb-characteristic-icon {
    width: 20px;
    height: 20px;
    color: var(--pdb-navy);
    opacity: 0.6;
    flex-shrink: 0;
}

.pdb-characteristic-label {
    font-family: var(--pdb-font-sans);
    font-size: 0.75rem;
    color: var(--pdb-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 500;
}

.pdb-characteristic-value {
    font-family: var(--pdb-font-sans);
    font-size: 0.9375rem;
    color: var(--pdb-navy);
    font-weight: 600;
}

/* Mobile : 2 colonnes fixes */
@media (max-width: 480px) {
    .pdb-characteristics-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   BLOC "L'AVIS DE L'EXPERT"
   Citation sur fond légèrement grisé, signée par l'équipe
───────────────────────────────────────────────────────────────────────────── */

.pdb-expert-quote {
    position: relative;
    padding: var(--pdb-space-lg) var(--pdb-space-xl);
    background-color: var(--pdb-bg-card);
    border-left: 3px solid var(--pdb-navy);
    border-radius: 0 var(--pdb-radius-md) var(--pdb-radius-md) 0;
    margin: var(--pdb-space-xl) 0;
    overflow: hidden;
}

/* Version avec photo N&B floutée en fond */
.pdb-expert-quote--photo {
    background-color: var(--pdb-navy);
    border-left: none;
    color: #ffffff;
}

.pdb-expert-quote--photo::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: var(--pdb-expert-photo, none);
    background-size: cover;
    background-position: center;
    filter: grayscale(1) blur(4px);
    opacity: 0.18;
}

.pdb-expert-quote__content {
    position: relative;
    z-index: 1;
}

.pdb-expert-quote__text {
    font-family: var(--pdb-font-serif);
    font-size: clamp(1rem, 2vw, 1.25rem);
    font-style: italic;
    line-height: 1.6;
    color: inherit;
    margin-bottom: var(--pdb-space-sm);
}

.pdb-expert-quote--photo .pdb-expert-quote__text {
    color: #ffffff;
}

.pdb-expert-quote__signature {
    font-family: var(--pdb-font-sans);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--pdb-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.pdb-expert-quote--photo .pdb-expert-quote__signature {
    color: rgba(255, 255, 255, 0.7);
}

/* ─────────────────────────────────────────────────────────────────────────────
   BADGES QUALITÉ (Sceaux graphiques)
   Utilise .pdb-badge existant comme base
───────────────────────────────────────────────────────────────────────────── */

/* Surcharge les badges existants avec le design system */
.pdb-badge {
    font-family: var(--pdb-font-sans);
    border-radius: var(--pdb-radius-sm);
}

.pdb-badge--top-vente {
    background-color: var(--pdb-bordeaux);
    color: #ffffff;
}

.pdb-badge--expert-choice {
    background-color: var(--pdb-navy);
    color: #ffffff;
}

.pdb-badge--eco {
    background-color: #2D6A4F;
    color: #ffffff;
}

.pdb-badge--sur-mesure {
    background-color: transparent;
    color: var(--pdb-navy);
    border: 1.5px solid var(--pdb-navy);
}

/* Badge volume (déjà défini, mise à jour vers design system) */
.pdb-badge--volume {
    background-color: var(--pdb-navy);
    color: #ffffff;
}

/* ─────────────────────────────────────────────────────────────────────────────
   ÉTIQUETTES CATÉGORIE (Intérieur / Extérieur / Accessoires)
───────────────────────────────────────────────────────────────────────────── */

.pdb-category-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: var(--pdb-radius-sm);
    font-family: var(--pdb-font-sans);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.02em;
}

.pdb-category-tag--interieur {
    background-color: var(--pdb-cat-interieur);
    color: #7C5A2A;
}

.pdb-category-tag--exterieur {
    background-color: var(--pdb-cat-exterieur);
    color: #2D5435;
}

.pdb-category-tag--accessoires {
    background-color: var(--pdb-cat-accessoires);
    color: #4A5568;
}

/* ─────────────────────────────────────────────────────────────────────────────
   BOUTON TÉLÉCHARGEMENT PDF
───────────────────────────────────────────────────────────────────────────── */

.pdb-pdf-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background-color: transparent;
    color: var(--pdb-bordeaux);
    border: 1.5px solid var(--pdb-bordeaux);
    border-radius: var(--pdb-radius-md);
    font-family: var(--pdb-font-sans);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.pdb-pdf-btn:hover,
.pdb-pdf-btn:focus {
    background-color: var(--pdb-bordeaux);
    color: #ffffff;
    outline: none;
}

/* ─────────────────────────────────────────────────────────────────────────────
   CARTES PRODUIT — Catalogue archive
───────────────────────────────────────────────────────────────────────────── */

.pdb-product-card {
    background-color: var(--pdb-bg-input);
    border: 1px solid var(--pdb-border);
    border-radius: var(--pdb-radius-md);
    overflow: hidden;
    box-shadow: var(--pdb-shadow-sm);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.pdb-product-card:hover {
    box-shadow: var(--pdb-shadow-md);
    transform: translateY(-2px);
}

.pdb-product-card__body {
    padding: var(--pdb-space-md);
}

.pdb-product-card__name {
    font-family: var(--pdb-font-serif);
    font-size: 1.0625rem;
    font-weight: 600;
    color: var(--pdb-navy);
    margin-bottom: 4px;
    line-height: 1.3;
}

.pdb-product-card__price {
    font-family: var(--pdb-font-sans);
    font-size: 1rem;
    font-weight: 600;
    color: var(--pdb-text-primary);
}

/* ─────────────────────────────────────────────────────────────────────────────
   COMPOSANT PRIX/LITRE — Mise à jour vers design tokens
───────────────────────────────────────────────────────────────────────────── */

.pdb-price-per-litre-label {
    font-family: var(--pdb-font-sans);
    font-size: 0.875rem;
    color: var(--pdb-text-secondary);
    margin: 4px 0 12px;
}

.pdb-price-per-litre-label strong {
    color: var(--pdb-navy);
    font-weight: 600;
}

/* ─────────────────────────────────────────────────────────────────────────────
   SEPARATEURS ET UTILITAIRES
───────────────────────────────────────────────────────────────────────────── */

.pdb-divider {
    border: none;
    border-top: 1px solid var(--pdb-border);
    margin: var(--pdb-space-lg) 0;
}

/* Section avec fond légèrement coloré */
.pdb-section-tinted {
    background-color: var(--pdb-bg-card);
    padding: var(--pdb-space-xl) 0;
}

/* ─────────────────────────────────────────────────────────────────────────────
   RESPONSIVE — Ajustements mobiles globaux (≤ 768px)
───────────────────────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    body {
        font-size: 1rem; /* Jamais en dessous de 16px */
    }

    .pdb-expert-quote {
        padding: var(--pdb-space-md);
    }

    .pdb-product-card__body {
        padding: var(--pdb-space-sm) var(--pdb-space-md);
    }

    .pdb-variant-selector {
        gap: 6px;
    }

    .pdb-variant-btn {
        padding: 8px 12px;
        font-size: 0.8125rem;
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   CARD PRODUIT ARCHIVE — Complément (image + sous-titre + prix À partir de)
───────────────────────────────────────────────────────────────────────────── */

.pdb-product-card__link {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%;
}

.pdb-product-card__image {
    padding: var(--pdb-space-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--pdb-bg-input);
    border-bottom: 1px solid var(--pdb-border);
    aspect-ratio: 1;
}

.pdb-product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    max-height: 200px;
    transition: transform 0.2s ease;
}

.pdb-product-card:hover .pdb-product-card__image img {
    transform: scale(1.03);
}

.pdb-product-card__subtitle {
    font-family: var(--pdb-font-sans);
    font-size: 0.8125rem;
    color: var(--pdb-text-secondary);
    line-height: 1.4;
    margin-bottom: var(--pdb-space-xs);
}

.pdb-product-card__price-from {
    display: block;
    font-family: var(--pdb-font-sans);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--pdb-navy);
    margin-top: var(--pdb-space-xs);
}

.pdb-product-card__price-from .woocommerce-Price-amount {
    font-weight: 700;
}

/* Grille archive */
.pdb-products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--pdb-space-md);
    transition: opacity 0.2s ease;
}

.pdb-products-grid--loading {
    opacity: 0.45;
    pointer-events: none;
}

.pdb-no-results {
    grid-column: 1 / -1;
    text-align: center;
    color: var(--pdb-text-secondary);
    padding: var(--pdb-space-xl) 0;
    font-size: 1rem;
}

@media (max-width: 1023px) {
    .pdb-products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .pdb-products-grid {
        grid-template-columns: 1fr;
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   FILTRES AJAX — Chips pills redessinés
───────────────────────────────────────────────────────────────────────────── */

.pdb-filters {
    margin-bottom: var(--pdb-space-lg);
    padding: var(--pdb-space-md);
    background-color: var(--pdb-bg-card);
    border-radius: var(--pdb-radius-md);
    border: 1px solid var(--pdb-border);
}

.pdb-filters__groups {
    display: flex;
    flex-direction: column;
    gap: var(--pdb-space-sm);
}

.pdb-filter-group {
    display: flex;
    align-items: center;
    gap: var(--pdb-space-sm);
    flex-wrap: wrap;
}

.pdb-filter-label {
    font-family: var(--pdb-font-sans);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--pdb-text-muted);
    min-width: 80px;
    flex-shrink: 0;
}

.pdb-filter-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.pdb-filter-btn {
    padding: 5px 14px;
    border: 1.5px solid var(--pdb-border);
    border-radius: 99px;
    background-color: var(--pdb-bg-input, #ffffff);
    color: var(--pdb-text-primary);
    font-family: var(--pdb-font-sans);
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
    white-space: nowrap;
}

.pdb-filter-btn:hover {
    border-color: var(--pdb-navy);
    color: var(--pdb-navy);
}

.pdb-filter-btn.is-active,
.pdb-filter-btn[aria-pressed="true"] {
    border-color: var(--pdb-navy);
    background-color: var(--pdb-navy);
    color: #ffffff;
}

.pdb-filter-group--reset {
    margin-top: var(--pdb-space-xs);
    border-top: 1px solid var(--pdb-border);
    padding-top: var(--pdb-space-xs);
}

.pdb-filter-reset {
    padding: 5px 14px;
    border: none;
    background: none;
    color: var(--pdb-text-muted);
    font-family: var(--pdb-font-sans);
    font-size: 0.8125rem;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.15s ease;
}

.pdb-filter-reset:hover { color: var(--pdb-navy); }

/* Load More button */
.pdb-load-more-wrap {
    text-align: center;
    margin-top: var(--pdb-space-lg);
}

.pdb-load-more-btn {
    padding: 0.75rem 2.5rem;
    border: 1.5px solid var(--pdb-navy);
    border-radius: var(--pdb-radius-md);
    background-color: transparent;
    color: var(--pdb-navy);
    font-family: var(--pdb-font-sans);
    font-size: 0.9375rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.pdb-load-more-btn:hover {
    background-color: var(--pdb-bordeaux);
    border-color: var(--pdb-bordeaux);
    color: #ffffff;
}

/* ─────────────────────────────────────────────────────────────────────────────
   FICHE PRODUIT — Layout split-screen desktop
   Image sticky gauche / Contenu scrollable droite
───────────────────────────────────────────────────────────────────────────── */

.pdb-product-splitscreen {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--pdb-space-xl);
    align-items: start;
    max-width: 1280px;
    margin: 0 auto;
    padding: var(--pdb-space-xl) var(--pdb-space-md);
}

.pdb-product-splitscreen__image {
    position: sticky;
    top: calc(64px + var(--pdb-space-md)); /* hauteur header + marge */
}

.pdb-product-splitscreen__image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--pdb-radius-md);
    border: 1px solid var(--pdb-border);
}

.pdb-product-splitscreen__gallery {
    display: flex;
    flex-direction: column;
    gap: var(--pdb-space-sm);
}

.pdb-product-splitscreen__gallery .pdb-gallery-thumb {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    margin-top: var(--pdb-space-xs);
}

.pdb-product-splitscreen__gallery .pdb-gallery-thumb img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: var(--pdb-radius-sm);
    border: 1.5px solid transparent;
    cursor: pointer;
    transition: border-color 0.15s;
}

.pdb-product-splitscreen__gallery .pdb-gallery-thumb img:hover,
.pdb-product-splitscreen__gallery .pdb-gallery-thumb img.active {
    border-color: var(--pdb-navy);
}

.pdb-product-splitscreen__content {
    padding-top: var(--pdb-space-sm);
}

/* Indicateur stock */
.pdb-stock-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--pdb-font-sans);
    font-size: 0.875rem;
    font-weight: 500;
    color: #15803d;
    margin: var(--pdb-space-sm) 0;
}

.pdb-stock-badge::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #22c55e;
    flex-shrink: 0;
}

/* Mobile / Tablette : empilement vertical */
@media (max-width: 1023px) {
    .pdb-product-splitscreen {
        grid-template-columns: 1fr;
        gap: var(--pdb-space-md);
        padding: var(--pdb-space-md) var(--pdb-space-sm);
    }

    .pdb-product-splitscreen__image {
        position: static;
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   CATALOGUE ARCHIVE — En-tête page (titre + description catégorie)
───────────────────────────────────────────────────────────────────────────── */

.pdb-catalogue-header {
    padding: var(--pdb-space-lg) 0 var(--pdb-space-md);
}

.pdb-catalogue-title {
    font-family: var(--pdb-font-serif);
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    color: var(--pdb-navy);
    margin: 0 0 var(--pdb-space-sm);
}

.pdb-catalogue-description {
    font-family: var(--pdb-font-sans);
    font-size: 1rem;
    color: var(--pdb-text-muted);
    max-width: 640px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   CATALOGUE — En-tête premium avec ligne d'accent
───────────────────────────────────────────────────────────────────────────── */

.pdb-catalogue-header {
    padding: var(--pdb-space-xl) 0 var(--pdb-space-lg);
    border-bottom: 1px solid var(--pdb-border);
    margin-bottom: var(--pdb-space-lg);
}

.pdb-catalogue-header::after {
    content: '';
    display: block;
    width: 48px;
    height: 3px;
    background-color: var(--pdb-bordeaux);
    margin-top: var(--pdb-space-sm);
    border-radius: 2px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   CATALOGUE — Cards produit : animations d'entrée décalées
───────────────────────────────────────────────────────────────────────────── */

@keyframes pdb-card-in {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.pdb-products-grid .pdb-product-card {
    animation: pdb-card-in 0.38s ease both;
}

.pdb-products-grid .pdb-product-card:nth-child(1)  { animation-delay: 0.04s; }
.pdb-products-grid .pdb-product-card:nth-child(2)  { animation-delay: 0.09s; }
.pdb-products-grid .pdb-product-card:nth-child(3)  { animation-delay: 0.14s; }
.pdb-products-grid .pdb-product-card:nth-child(4)  { animation-delay: 0.19s; }
.pdb-products-grid .pdb-product-card:nth-child(5)  { animation-delay: 0.22s; }
.pdb-products-grid .pdb-product-card:nth-child(6)  { animation-delay: 0.25s; }
.pdb-products-grid .pdb-product-card:nth-child(n+7){ animation-delay: 0.28s; }

/* Désactiver l'animation sur les cards chargées via Load More */
.pdb-products-grid--loaded .pdb-product-card {
    animation: none;
}

/* ─────────────────────────────────────────────────────────────────────────────
   CATALOGUE — Card produit : hover premium
───────────────────────────────────────────────────────────────────────────── */

.pdb-product-card {
    display: flex;
    flex-direction: column;
    background-color: var(--pdb-bg-input);
    border: 1px solid var(--pdb-border);
    border-radius: var(--pdb-radius-md);
    overflow: hidden;
    box-shadow: var(--pdb-shadow-sm);
    transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
    will-change: transform;
}

.pdb-product-card:hover {
    box-shadow: 0 6px 24px rgba(27, 42, 74, 0.13);
    transform: translateY(-3px);
    border-color: rgba(27, 42, 74, 0.15);
}

/* Zone image : fond légèrement teinté selon catégorie */
.pdb-product-card__image {
    padding: var(--pdb-space-lg);
    background: linear-gradient(145deg, var(--pdb-bg-card) 0%, var(--pdb-bg-input) 100%);
    border-bottom: 1px solid var(--pdb-border);
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.pdb-product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    max-height: 200px;
    transition: transform 0.3s ease;
}

.pdb-product-card:hover .pdb-product-card__image img {
    transform: scale(1.05);
}

/* Body : hiérarchie typographique claire */
.pdb-product-card__body {
    padding: var(--pdb-space-md);
    display: flex;
    flex-direction: column;
    flex: 1;
}

.pdb-product-card__name {
    font-family: var(--pdb-font-serif);
    font-size: 1.0625rem;
    font-weight: 600;
    color: var(--pdb-navy);
    margin-bottom: 6px;
    line-height: 1.3;
}

.pdb-product-card__subtitle {
    font-family: var(--pdb-font-sans);
    font-size: 0.8125rem;
    color: var(--pdb-text-secondary);
    line-height: 1.45;
    margin-bottom: var(--pdb-space-xs);
    flex: 1;
}

/* Prix "À partir de" — accent marine */
.pdb-product-card__price-from {
    display: block;
    font-family: var(--pdb-font-sans);
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--pdb-navy);
    margin-top: auto;
    padding-top: var(--pdb-space-sm);
    border-top: 1px solid var(--pdb-border);
}

.pdb-product-card__price-from .woocommerce-Price-amount {
    font-weight: 700;
    font-size: 1rem;
    color: var(--pdb-bordeaux);
}

/* Lien full-card sans soulignement */
.pdb-product-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

/* ─────────────────────────────────────────────────────────────────────────────
   CATALOGUE — Compteur résultats
───────────────────────────────────────────────────────────────────────────── */

.pdb-archive-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--pdb-space-md);
    font-family: var(--pdb-font-sans);
    font-size: 0.875rem;
    color: var(--pdb-text-secondary);
}

.pdb-archive-meta strong {
    color: var(--pdb-text-primary);
    font-weight: 600;
}

/* ─────────────────────────────────────────────────────────────────────────────
   CATALOGUE — Bouton Load More raffiné
───────────────────────────────────────────────────────────────────────────── */

.pdb-load-more-btn {
    position: relative;
    overflow: hidden;
}

.pdb-load-more-btn::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: var(--pdb-navy);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease;
    z-index: 0;
}

.pdb-load-more-btn span {
    position: relative;
    z-index: 1;
}

.pdb-load-more-btn:hover:not(:disabled)::after {
    transform: scaleX(1);
}

/* ─────────────────────────────────────────────────────────────────────────────
   CATALOGUE — Nuancier page Expertise Couleur
───────────────────────────────────────────────────────────────────────────── */

.pdb-nuancier {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    gap: var(--pdb-space-sm);
    margin: var(--pdb-space-lg) 0;
}

.pdb-nuancier__swatch {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.pdb-nuancier__color {
    width: 100%;
    aspect-ratio: 1;
    border-radius: var(--pdb-radius-md);
    border: 1.5px solid rgba(0,0,0,0.07);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.pdb-nuancier__swatch:hover .pdb-nuancier__color {
    transform: scale(1.08);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.pdb-nuancier__code {
    font-family: var(--pdb-font-sans);
    font-size: 0.6875rem;
    color: var(--pdb-text-muted);
    text-align: center;
    font-weight: 500;
    letter-spacing: 0.02em;
}

.pdb-nuancier__nom {
    font-family: var(--pdb-font-sans);
    font-size: 0.75rem;
    color: var(--pdb-text-secondary);
    text-align: center;
    line-height: 1.3;
}

@media (max-width: 480px) {
    .pdb-nuancier {
        grid-template-columns: repeat(auto-fill, minmax(64px, 1fr));
        gap: var(--pdb-space-xs);
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   CALCULATEUR — Formulaire surface
───────────────────────────────────────────────────────────────────────────── */

.pdb-calculateur {
    background-color: var(--pdb-bg-card);
    border: 1px solid var(--pdb-border);
    border-radius: var(--pdb-radius-md);
    padding: var(--pdb-space-lg);
    margin: var(--pdb-space-lg) 0;
}

.pdb-calculateur h3,
.pdb-calculateur__title {
    font-family: var(--pdb-font-serif);
    font-size: 1.1875rem;
    color: var(--pdb-navy);
    margin-bottom: var(--pdb-space-md);
    font-weight: 600;
}

.pdb-calculateur label {
    display: block;
    font-family: var(--pdb-font-sans);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--pdb-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 6px;
}

.pdb-calculateur input[type="number"] {
    width: 100%;
    padding: 10px 14px;
    border: 1.5px solid var(--pdb-border);
    border-radius: var(--pdb-radius-md);
    font-family: var(--pdb-font-sans);
    font-size: 1rem;
    color: var(--pdb-text-primary);
    background-color: var(--pdb-bg-input);
    transition: border-color 0.15s ease;
    margin-bottom: var(--pdb-space-sm);
    box-sizing: border-box;
}

.pdb-calculateur input[type="number"]:focus {
    outline: none;
    border-color: var(--pdb-navy);
}

.pdb-calculateur__result {
    margin-top: var(--pdb-space-md);
    padding: var(--pdb-space-md);
    background-color: var(--pdb-bg-input);
    border: 1.5px solid var(--pdb-navy);
    border-radius: var(--pdb-radius-md);
    font-family: var(--pdb-font-sans);
    font-size: 0.9375rem;
    color: var(--pdb-navy);
    font-weight: 600;
}

.pdb-calculateur__error {
    margin-top: var(--pdb-space-sm);
    color: var(--pdb-bordeaux);
    font-family: var(--pdb-font-sans);
    font-size: 0.875rem;
    font-weight: 500;
}

/* ─────────────────────────────────────────────────────────────────────────────
   FINITIONS LIÉES — Maillage inter-finitions
───────────────────────────────────────────────────────────────────────────── */

.pdb-finitions-liees {
    margin: var(--pdb-space-lg) 0;
    padding-top: var(--pdb-space-lg);
    border-top: 1px solid var(--pdb-border);
}

.pdb-finitions-liees__title {
    font-family: var(--pdb-font-sans);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--pdb-text-muted);
    margin-bottom: var(--pdb-space-sm);
}

.pdb-finitions-liees__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pdb-finitions-liees__list a {
    display: inline-flex;
    align-items: center;
    padding: 7px 16px;
    border: 1.5px solid var(--pdb-border);
    border-radius: var(--pdb-radius-md);
    background-color: var(--pdb-bg-input);
    font-family: var(--pdb-font-sans);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--pdb-navy);
    text-decoration: none;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.pdb-finitions-liees__list a:hover {
    border-color: var(--pdb-navy);
    background-color: var(--pdb-navy);
    color: #ffffff;
}

/* ─────────────────────────────────────────────────────────────────────────────
   UTILITAIRES SUPPLÉMENTAIRES
───────────────────────────────────────────────────────────────────────────── */

/* Wrapper catalogue responsive (Elementor override) */
.woocommerce-page .site-main,
.woocommerce .site-main {
    padding: 0 var(--pdb-space-md);
    max-width: 1280px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* Reset WC loop par défaut */
.woocommerce ul.products {
    display: block !important;
}

@media (max-width: 768px) {
    .pdb-filters {
        padding: var(--pdb-space-sm) var(--pdb-space-md);
    }

    .pdb-catalogue-header {
        padding: var(--pdb-space-lg) 0 var(--pdb-space-md);
    }

    .pdb-product-card__image {
        padding: var(--pdb-space-md);
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   WOOCOMMERCE PRIX — override couleur par défaut (rouge) vers navy
───────────────────────────────────────────────────────────────────────────── */

/* WooCommerce price — override couleur par défaut (rouge) vers navy */
.woocommerce .price,
.woocommerce-Price-amount,
.woocommerce .amount,
.single-product .price .woocommerce-Price-amount,
.pdb-product-card__price-from .woocommerce-Price-amount {
    color: var(--pdb-navy) !important;
}

.woocommerce del .woocommerce-Price-amount {
    color: var(--pdb-text-muted) !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   FOOTER PDB — navy sombre (toutes pages)
───────────────────────────────────────────────────────────────────────────── */

.pdb-footer{background:#1B2A4A;border-top:none;padding:52px 0 0;font-family:'Inter',sans-serif}
.pdb-footer-inner{max-width:1280px;margin:0 auto;padding:0 48px}
.pdb-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:48px;margin-bottom:40px}
.pdb-footer-logo img{height:28px;width:auto;margin-bottom:14px}
.pdb-footer-about{font-size:12.5px;font-weight:300;color:rgba(255,255,255,.55);line-height:1.8;max-width:240px;margin-bottom:16px;font-style:italic}
.pdb-footer-address{font-size:12.5px;font-style:normal;color:rgba(255,255,255,.7);line-height:1.8;margin-bottom:6px}
.pdb-footer-maps{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:rgba(255,255,255,.4);text-decoration:none;transition:color .15s;margin-bottom:14px}
.pdb-footer-maps:hover{color:rgba(255,255,255,.8)}
.pdb-footer-phone{display:block;font-size:15px;font-weight:600;color:#fff;text-decoration:none;margin-bottom:16px;transition:opacity .15s}
.pdb-footer-phone:hover{opacity:.8}
.pdb-footer-socials{display:flex;gap:8px}
.pdb-footer-social{width:32px;height:32px;border-radius:4px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);transition:color .15s,border-color .15s;text-decoration:none}
.pdb-footer-social:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.pdb-footer-col-title{font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:14px}
.pdb-footer-links{display:flex;flex-direction:column;gap:9px}
.pdb-footer-link{font-size:13px;font-weight:300;color:rgba(255,255,255,.65);transition:color .12s;text-decoration:none}
.pdb-footer-link:hover{color:#fff}
.pdb-footer-status-wrap{margin-bottom:14px}
.pdb-footer-status-wrap .pdb-store-status{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.04);color:rgba(255,255,255,.8);display:inline-flex;align-items:center;gap:6px}
.pdb-footer-status-wrap .pdb-status--open{color:#4ade80;border-color:rgba(74,222,128,.25);background:rgba(74,222,128,.08)}
.pdb-footer-status-wrap .pdb-status--closed{color:#f87171;border-color:rgba(248,113,113,.25);background:rgba(248,113,113,.08)}
.pdb-footer-hours{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pdb-footer-hours-row{display:flex;justify-content:space-between;font-size:11.5px;color:rgba(255,255,255,.65);padding:5px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.pdb-footer-hours-row:last-child{border-bottom:none}
.pdb-footer-hours-row.is-closed{color:rgba(255,255,255,.25)}
.pdb-footer-hours-day{font-weight:500}
.pdb-footer-hours-time{letter-spacing:.02em}
.pdb-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:16px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.pdb-footer-copy{font-size:10.5px;font-weight:300;color:rgba(255,255,255,.3)}
.pdb-footer-legal{display:flex;gap:20px}
.pdb-footer-legal-link{font-size:10.5px;font-weight:300;color:rgba(255,255,255,.3);text-decoration:none;transition:color .15s}
.pdb-footer-legal-link:hover{color:rgba(255,255,255,.7)}

@media(max-width:960px){
  .pdb-footer-grid{grid-template-columns:1fr 1fr!important;gap:32px!important}
}
@media(max-width:640px){
  .pdb-footer-grid{grid-template-columns:1fr!important;gap:28px!important}
  .pdb-footer-inner{padding:0 24px!important}
  .pdb-footer-bottom{flex-direction:column;text-align:center}
  .pdb-footer-legal{justify-content:center}
}

/* Anciens sélecteurs BEM conservés pour compatibilité — non utilisés par les nouveaux templates */
.pdb-footer__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 48px;
}

.pdb-footer__inner {
    display: grid;
    grid-template-columns: 2fr 1fr 1.5fr;
    gap: var(--pdb-space-xl);
    max-width: 1280px;
    margin: 0 auto;
    padding: var(--pdb-space-xl) var(--pdb-space-md);
}

.pdb-footer__col-title {
    font-family: var(--pdb-font-sans);
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: rgba(255, 255, 255, 0.35);
    margin: 0 0 var(--pdb-space-md);
}

.pdb-footer__logo {
    display: inline-block;
    text-decoration: none;
    margin-bottom: var(--pdb-space-sm);
}

.pdb-footer__logo-img {
    height: 36px;
    width: auto;
    filter: brightness(0) invert(1);
}

.pdb-footer__logo-text {
    font-family: var(--pdb-font-serif);
    font-size: 1.125rem;
    font-weight: 700;
    color: #ffffff;
}

.pdb-footer__tagline {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.6);
    margin: 0 0 var(--pdb-space-sm);
    font-style: italic;
}

.pdb-footer__address {
    font-style: normal;
    font-size: 0.875rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: var(--pdb-space-xs);
}

.pdb-footer__maps-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.8125rem;
    color: var(--pdb-bordeaux);
    text-decoration: none;
    margin-top: 0.375rem;
    margin-bottom: var(--pdb-space-sm);
    transition: color 0.15s ease;
}

.pdb-footer__maps-link:hover { color: #ffffff; }

.pdb-footer__phone {
    display: block;
    font-size: 1rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    margin: var(--pdb-space-sm) 0 var(--pdb-space-xs);
    transition: color 0.15s ease;
}

.pdb-footer__phone:hover { color: #ffffff; }

.pdb-footer__whatsapp {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0.5rem 1rem;
    background-color: #25D366;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: 0;
    text-decoration: none;
    transition: background-color 0.15s ease;
    margin-top: 0.25rem;
}

.pdb-footer__whatsapp:hover { background-color: #1da851; color: #ffffff; }

.pdb-footer__nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.pdb-footer__nav a {
    font-size: 0.9375rem;
    color: rgba(255, 255, 255, 0.65);
    text-decoration: none;
    transition: color 0.15s ease;
}

.pdb-footer__nav a:hover { color: #ffffff; }

/* Badge statut footer — pilule pulsante */
.pdb-footer__status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-bottom: var(--pdb-space-sm);
    padding: 4px 10px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 999px;
    background-color: rgba(255, 255, 255, 0.04);
    color: rgba(255, 255, 255, 0.8);
}

/* dot pulsant footer */
.pdb-footer__status .pdb-status__dot {
    position: relative;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}

.pdb-footer__status.pdb-status--open .pdb-status__dot  { background-color: #4ade80; }
.pdb-footer__status.pdb-status--closed .pdb-status__dot { background-color: #f87171; }

.pdb-footer__status.pdb-status--open .pdb-status__dot::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background-color: #4ade80;
    animation: pdb-ping 1.4s ease-in-out infinite;
}

.pdb-footer__hours-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.pdb-footer__hours-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.7);
    padding: 7px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.pdb-footer__hours-row:last-child { border-bottom: none; }
.pdb-footer__hours-row.is-closed { color: rgba(255, 255, 255, 0.3); }
.pdb-footer__hours-day { font-weight: 500; }
.pdb-footer__hours-time { font-family: var(--pdb-font-sans); letter-spacing: 0.02em; }
.pdb-footer__hours-time em { font-style: normal; color: rgba(255, 255, 255, 0.3); }

.pdb-footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: var(--pdb-space-sm) 0;
}

.pdb-footer__bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 var(--pdb-space-md);
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.4);
}

.pdb-footer__legal-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: var(--pdb-space-md);
}

.pdb-footer__legal-list a {
    color: rgba(255, 255, 255, 0.4);
    text-decoration: none;
    font-size: 0.75rem;
    transition: color 0.15s ease;
}

.pdb-footer__legal-list a:hover { color: rgba(255, 255, 255, 0.8); }

@media (max-width: 1023px) {
    .pdb-footer__inner {
        grid-template-columns: 1fr 1fr;
    }
    .pdb-footer__col--hours {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .pdb-footer__inner {
        grid-template-columns: 1fr;
        gap: var(--pdb-space-lg);
        padding: var(--pdb-space-lg) var(--pdb-space-md);
    }
    .pdb-footer__bottom-inner {
        flex-direction: column;
        gap: var(--pdb-space-xs);
        text-align: center;
    }
    .pdb-footer__legal-list {
        justify-content: center;
        flex-wrap: wrap;
        gap: var(--pdb-space-sm);
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   HOMEPAGE — Hero split-screen
───────────────────────────────────────────────────────────────────────────── */

.pdb-hero {
    overflow: hidden;
}

.pdb-hero__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: calc(100vh - 80px);
}

.pdb-hero__left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--pdb-space-xl) var(--pdb-space-xl) var(--pdb-space-xl) calc((100vw - 1280px) / 2 + var(--pdb-space-xl));
    background-color: var(--pdb-bg-main);
}

/* Trait accent bordeaux avant le titre */
.pdb-hero__left::before {
    content: '';
    display: block;
    width: 64px;
    height: 1px;
    background-color: var(--pdb-bordeaux);
    margin-bottom: 2rem;
    flex-shrink: 0;
}

.pdb-hero__title {
    font-family: var(--pdb-font-serif);
    font-size: clamp(2.25rem, 5vw, 4.25rem);
    color: var(--pdb-navy);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0 0 var(--pdb-space-md);
}

.pdb-hero__title em {
    font-style: italic;
    font-weight: 400;
}

.pdb-hero__subtitle {
    font-family: var(--pdb-font-sans);
    font-size: 1.0625rem;
    color: var(--pdb-text-secondary);
    line-height: 1.65;
    max-width: 480px;
    margin: 0 0 var(--pdb-space-lg);
    font-weight: 300;
}

.pdb-hero__cta {
    display: inline-flex;
    align-items: center;
    padding: 1rem 2.25rem;
    background-color: var(--pdb-bordeaux);
    color: #ffffff;
    font-family: var(--pdb-font-sans);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-radius: 0;
    text-decoration: none;
    align-self: flex-start;
    transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.pdb-hero__cta:hover {
    background-color: #6e1424;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(139, 26, 47, 0.25);
}

.pdb-hero__right {
    background-color: var(--pdb-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--pdb-space-xl);
    position: relative;
    overflow: hidden;
}

/* Grille de texture subtile */
.pdb-hero__right::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
    background-size: 80px 80px;
    pointer-events: none;
}

.pdb-hero__packshots {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--pdb-space-sm);
    width: 100%;
    max-width: 480px;
    position: relative;
    z-index: 1;
}

.pdb-hero__packshot {
    background-color: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: var(--pdb-space-md);
    display: flex;
    align-items: center;
    justify-content: center;
}

.pdb-hero__packshot:nth-child(2) {
    margin-top: var(--pdb-space-lg);
}

.pdb-hero__packshot img {
    width: 100%;
    height: auto;
    max-height: 140px;
    object-fit: contain;
    filter: drop-shadow(0 4px 16px rgba(0,0,0,0.35));
}

@media (max-width: 768px) {
    .pdb-hero__content {
        grid-template-columns: 1fr;
        min-height: auto;
    }
    .pdb-hero__left {
        padding: var(--pdb-space-xl) var(--pdb-space-md) var(--pdb-space-lg);
        order: 1;
    }
    .pdb-hero__left::before { margin-bottom: 1.25rem; }
    .pdb-hero__right {
        order: 2;
        padding: var(--pdb-space-lg) var(--pdb-space-md);
        min-height: 240px;
    }
    .pdb-hero__packshots {
        max-width: 300px;
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   HOMEPAGE — Titre de section commun
───────────────────────────────────────────────────────────────────────────── */

.pdb-section-title {
    font-family: var(--pdb-font-serif);
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    color: var(--pdb-navy);
    font-weight: 700;
    margin: 0 0 var(--pdb-space-lg);
}

.pdb-section-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: var(--pdb-space-lg);
}

.pdb-section-header .pdb-section-title { margin: 0; }

.pdb-section-link {
    font-family: var(--pdb-font-sans);
    font-size: 0.9375rem;
    color: var(--pdb-bordeaux);
    text-decoration: none;
    font-weight: 500;
    white-space: nowrap;
}

.pdb-section-link:hover { text-decoration: underline; }

/* ─────────────────────────────────────────────────────────────────────────────
   HOMEPAGE — Section Catégories
───────────────────────────────────────────────────────────────────────────── */

.pdb-categories-home {
    padding: var(--pdb-space-xl) 0;
    background-color: var(--pdb-bg-main);
}

.pdb-categories-home__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 var(--pdb-space-md);
}

.pdb-categories-home__header {
    display: flex;
    flex-direction: column;
    margin-bottom: var(--pdb-space-lg);
}

.pdb-categories-home__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

/* .pdb-category-card = alias server snippet, .pdb-cat-card = local functions.php */
.pdb-cat-card,
.pdb-category-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 500px;
    padding: var(--pdb-space-lg);
    border-radius: 0;
    text-decoration: none;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: none;
}

.pdb-cat-card:hover,
.pdb-category-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(27, 42, 74, 0.12);
}

.pdb-cat-card--interieur, .pdb-category-card--interieur   { background-color: var(--pdb-cat-interieur, #F6EFE4); }
.pdb-cat-card--exterieur, .pdb-category-card--exterieur   { background-color: var(--pdb-cat-exterieur, #EAF0EB); }
.pdb-cat-card--accessoires, .pdb-category-card--accessoires { background-color: var(--pdb-cat-accessoires, #F0F0EF); }

/* Emoji icon caché */
.pdb-cat-card__icon, .pdb-category-card__icon { display: none; }

/* Sous-label au-dessus du titre */
.pdb-cat-card__sublabel,
.pdb-category-card__sublabel {
    font-family: var(--pdb-font-sans);
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--pdb-text-secondary);
    margin-bottom: 0.5rem;
}

.pdb-cat-card__label,
.pdb-category-card__label {
    font-family: var(--pdb-font-serif);
    font-size: clamp(1.75rem, 2.5vw, 2.5rem);
    font-weight: 700;
    color: var(--pdb-navy);
    line-height: 1.1;
    position: relative;
    z-index: 2;
}

.pdb-cat-card--interieur  .pdb-cat-card__label,
.pdb-category-card--interieur .pdb-category-card__label { color: var(--pdb-navy); }
.pdb-cat-card--exterieur  .pdb-cat-card__label,
.pdb-category-card--exterieur .pdb-category-card__label { color: var(--pdb-navy); }
.pdb-cat-card--accessoires .pdb-cat-card__label,
.pdb-category-card--accessoires .pdb-category-card__label { color: var(--pdb-navy); }

.pdb-cat-card__desc,
.pdb-category-card__desc {
    font-family: var(--pdb-font-sans);
    font-size: 0.875rem;
    color: var(--pdb-text-secondary);
    line-height: 1.5;
    max-width: 200px;
    margin-top: 0.5rem;
    position: relative;
    z-index: 2;
}

.pdb-cat-card__link,
.pdb-category-card__link {
    display: none;
}

/* Photo débordante en bas à droite */
.pdb-cat-card__img,
.pdb-category-card__img {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 80%;
    height: 70%;
    object-fit: cover;
    object-position: left top;
    transition: transform 0.5s ease;
    z-index: 1;
}

.pdb-cat-card:hover .pdb-cat-card__img,
.pdb-category-card:hover .pdb-category-card__img {
    transform: scale(1.03);
}

/* ─────────────────────────────────────────────────────────────────────────────
   HOMEPAGE — Section Produits Vedettes
───────────────────────────────────────────────────────────────────────────── */

.pdb-vedettes {
    padding: var(--pdb-space-xl) 0;
    background-color: var(--pdb-bg-card);
}

.pdb-vedettes__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 var(--pdb-space-md);
}

.pdb-vedettes__eyebrow {
    display: block;
    font-family: var(--pdb-font-sans);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--pdb-bordeaux);
    margin-bottom: 0.5rem;
}

.pdb-vedettes__header {
    text-align: center;
    margin-bottom: var(--pdb-space-lg);
}

.pdb-vedettes__footer {
    text-align: center;
    margin-top: var(--pdb-space-lg);
}

.pdb-vedettes__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-family: var(--pdb-font-sans);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--pdb-navy);
    text-decoration: none;
    border-bottom: 1.5px solid var(--pdb-navy);
    padding-bottom: 2px;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.pdb-vedettes__cta:hover {
    color: var(--pdb-bordeaux);
    border-color: var(--pdb-bordeaux);
}

/* Responsive catégories */
@media (max-width: 1023px) {
    .pdb-categories-home__grid {
        grid-template-columns: 1fr 1fr;
    }
    .pdb-cat-card, .pdb-category-card {
        height: 380px;
    }
}

@media (max-width: 768px) {
    .pdb-categories-home__grid {
        grid-template-columns: 1fr;
    }
    .pdb-cat-card, .pdb-category-card {
        height: 300px;
    }
    .pdb-cat-card__img, .pdb-category-card__img {
        width: 65%;
        height: 65%;
    }
    .pdb-section-header {
        flex-direction: column;
        gap: var(--pdb-space-xs);
    }
    .pdb-reassurance__grid {
        grid-template-columns: 1fr;
    }
    .pdb-reassurance__item {
        border-right: none;
        border-bottom: 1px solid var(--pdb-border);
    }
    .pdb-reassurance__item:last-child {
        border-bottom: none;
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   HOMEPAGE — Section Réassurance
───────────────────────────────────────────────────────────────────────────── */

.pdb-reassurance {
    padding: var(--pdb-space-lg) 0;
    background-color: var(--pdb-bg-main);
    border-top: 1px solid var(--pdb-border);
    border-bottom: 1px solid var(--pdb-border);
}

/* Titre de section masqué dans la bande de réassurance */
.pdb-reassurance .pdb-section-title {
    display: none;
}

.pdb-reassurance__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 var(--pdb-space-md);
}

.pdb-reassurance__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    divide-x: 1px solid var(--pdb-border);
}

.pdb-reassurance__item {
    padding: var(--pdb-space-md) var(--pdb-space-lg);
    background-color: transparent;
    border-radius: 0;
    border: none;
    border-right: 1px solid var(--pdb-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.pdb-reassurance__item:last-child {
    border-right: none;
}

.pdb-reassurance__icon {
    color: var(--pdb-bordeaux);
    margin-bottom: 0.75rem;
}

.pdb-reassurance__title {
    font-family: var(--pdb-font-serif);
    font-size: 1rem;
    font-weight: 600;
    color: var(--pdb-navy);
    margin: 0 0 0.375rem;
}

.pdb-reassurance__desc {
    font-family: var(--pdb-font-sans);
    font-size: 0.875rem;
    color: var(--pdb-text-secondary);
    line-height: 1.5;
    margin: 0;
    max-width: 240px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   HOMEPAGE — Bloc Magasin (fond navy)
───────────────────────────────────────────────────────────────────────────── */

.pdb-bloc-magasin {
    background-color: var(--pdb-navy);
    color: rgba(255, 255, 255, 0.85);
}

.pdb-bloc-magasin__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 500px;
}

.pdb-bloc-magasin__left {
    padding: var(--pdb-space-xl) var(--pdb-space-xl) var(--pdb-space-xl) calc((100vw - 1280px) / 2 + var(--pdb-space-xl));
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.pdb-bloc-magasin__right {
    position: relative;
    overflow: hidden;
    background-color: rgba(255, 255, 255, 0.03);
    min-height: 400px;
}

.pdb-bloc-magasin__right-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.5;
    mix-blend-mode: luminosity;
    transition: opacity 0.3s ease;
}

.pdb-bloc-magasin__right-caption {
    position: absolute;
    bottom: var(--pdb-space-lg);
    left: var(--pdb-space-lg);
    z-index: 2;
}

.pdb-bloc-magasin__right-caption span {
    display: block;
    font-family: var(--pdb-font-serif);
    font-size: 1.5rem;
    color: #ffffff;
    font-weight: 600;
    line-height: 1.3;
}

.pdb-bloc-magasin__status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-bottom: var(--pdb-space-md);
    padding: 4px 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background-color: rgba(255, 255, 255, 0.04);
    color: rgba(255, 255, 255, 0.8);
    align-self: flex-start;
}

.pdb-bloc-magasin__status .pdb-status__dot {
    position: relative;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}

.pdb-bloc-magasin__status.pdb-status--open .pdb-status__dot  { background-color: #4ade80; }
.pdb-bloc-magasin__status.pdb-status--closed .pdb-status__dot { background-color: #f87171; }

.pdb-bloc-magasin__status.pdb-status--open .pdb-status__dot::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background-color: #4ade80;
    animation: pdb-ping 1.4s ease-in-out infinite;
}

.pdb-bloc-magasin__title {
    font-family: var(--pdb-font-serif);
    font-size: clamp(1.75rem, 3vw, 2.75rem);
    color: #ffffff;
    font-weight: 700;
    line-height: 1.15;
    margin: 0 0 var(--pdb-space-md);
}

.pdb-bloc-magasin__address {
    font-style: normal;
    font-size: 1.0625rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.85);
    font-weight: 500;
    margin-bottom: 0;
}

.pdb-bloc-magasin__phone {
    display: block;
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-size: 1.125rem;
    font-weight: 600;
    margin-top: var(--pdb-space-md);
    transition: color 0.15s ease;
}

.pdb-bloc-magasin__phone:hover { color: #ffffff; }

.pdb-bloc-magasin__maps {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.875rem;
    color: var(--pdb-bordeaux);
    text-decoration: none;
    margin-top: 0.5rem;
    margin-bottom: var(--pdb-space-lg);
    transition: color 0.15s ease;
}

.pdb-bloc-magasin__maps:hover { color: #ffffff; }

.pdb-bloc-magasin__wa {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0.875rem 1.75rem;
    background-color: #25D366;
    color: #ffffff;
    font-family: var(--pdb-font-sans);
    font-size: 0.9375rem;
    font-weight: 600;
    border-radius: 0;
    text-decoration: none;
    transition: background-color 0.2s ease, transform 0.2s ease;
    align-self: flex-start;
    margin-top: var(--pdb-space-sm);
}

.pdb-bloc-magasin__wa:hover {
    background-color: #1da851;
    color: #ffffff;
    transform: translateY(-1px);
}

.pdb-bloc-magasin__hours {
    list-style: none;
    margin: var(--pdb-space-sm) 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    max-width: 320px;
}

.pdb-bloc-magasin__hours li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.875rem;
    padding: 7px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.75);
}

.pdb-bloc-magasin__hours li:last-child { border-bottom: none; }
.pdb-bloc-magasin__hours li.is-closed { color: rgba(255, 255, 255, 0.3); }
.pdb-bloc-magasin__hours li em { font-style: normal; }
.pdb-bloc-magasin__hours li span:first-child { font-weight: 600; }

@media (max-width: 768px) {
    .pdb-bloc-magasin__inner { grid-template-columns: 1fr; }
    .pdb-bloc-magasin__left {
        padding: var(--pdb-space-xl) var(--pdb-space-md);
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }
    .pdb-bloc-magasin__right { min-height: 280px; }
}

/* ─────────────────────────────────────────────────────────────────────────────
   FICHE PRODUIT — Split-screen layout + améliorations
───────────────────────────────────────────────────────────────────────────── */

/* Conteneur principal WooCommerce single product */
.single-product .product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--pdb-space-xl);
    align-items: start;
    max-width: 1280px;
    margin: var(--pdb-space-lg) auto;
    padding: 0 var(--pdb-space-md);
}

/* Galerie image — colonne gauche sticky */
.single-product .woocommerce-product-gallery {
    position: sticky;
    top: calc(64px + var(--pdb-space-md));
}

.single-product .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    border-radius: var(--pdb-radius-md);
    border: 1px solid var(--pdb-border);
}

/* Résumé — colonne droite */
.single-product .entry-summary,
.single-product .summary {
    padding: 0;
}

/* Titre produit */
.single-product .product_title {
    font-family: var(--pdb-font-serif) !important;
    font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
    color: var(--pdb-navy) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    margin: 0 0 var(--pdb-space-xs) !important;
}

/* Description courte */
.single-product .woocommerce-product-details__short-description {
    font-family: var(--pdb-font-sans);
    font-size: 1rem;
    color: var(--pdb-text-secondary);
    line-height: 1.6;
    margin: var(--pdb-space-xs) 0 var(--pdb-space-sm);
    padding-bottom: var(--pdb-space-sm);
    border-bottom: 1px solid var(--pdb-border);
}

/* Prix */
.single-product .woocommerce-variation-price .price,
.single-product p.price {
    display: flex;
    align-items: baseline;
    gap: var(--pdb-space-sm);
    flex-wrap: wrap;
    margin: var(--pdb-space-sm) 0;
}

.single-product .price .woocommerce-Price-amount {
    font-family: var(--pdb-font-serif) !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: var(--pdb-navy) !important;
    line-height: 1 !important;
}

/* Sélecteur de variante (table .variations) */
.single-product .variations {
    width: 100%;
    margin: var(--pdb-space-sm) 0 var(--pdb-space-md);
    border-collapse: separate;
    border-spacing: 0 8px;
}

.single-product .variations td,
.single-product .variations th {
    padding: 0;
    vertical-align: middle;
}

.single-product .variations label {
    font-family: var(--pdb-font-sans);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--pdb-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    display: block;
    margin-bottom: 6px;
}

.single-product .variations select {
    width: 100%;
    padding: 8px 12px;
    border: 1.5px solid var(--pdb-border);
    border-radius: var(--pdb-radius-md);
    font-family: var(--pdb-font-sans);
    font-size: 0.9375rem;
    color: var(--pdb-text-primary);
    background-color: var(--pdb-bg-input, #ffffff);
    cursor: pointer;
}

.single-product .variations select:focus {
    outline: 2px solid var(--pdb-navy);
    outline-offset: 2px;
}

/* Reset variation link */
.single-product .reset_variations {
    font-size: 0.8125rem;
    color: var(--pdb-text-muted);
    margin-left: var(--pdb-space-xs);
}

/* Bloc mise à la teinte PDB */
.pdb-mise-a-la-teinte {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background-color: #F6EFE4;
    border: 1px solid #E8D5BB;
    border-radius: var(--pdb-radius-md);
    font-family: var(--pdb-font-sans);
    font-size: 0.875rem;
    font-weight: 500;
    color: #7C5A2A;
    margin: var(--pdb-space-sm) 0;
}

/* Onglets description */
.single-product .woocommerce-tabs {
    grid-column: 1 / -1;
    margin-top: var(--pdb-space-xl);
    border-top: 1px solid var(--pdb-border);
}

/* Calculateur — pleine largeur sous les onglets */
.pdb-calculateur {
    grid-column: 1 / -1;
    margin-top: var(--pdb-space-xl);
    padding: var(--pdb-space-lg);
    background-color: var(--pdb-bg-card);
    border-radius: var(--pdb-radius-md);
    border: 1px solid var(--pdb-border);
}

/* Produits similaires — pleine largeur */
.single-product .related.products {
    grid-column: 1 / -1;
    margin-top: var(--pdb-space-xl);
    padding-top: var(--pdb-space-xl);
    border-top: 1px solid var(--pdb-border);
}

.single-product .related.products h2 {
    font-family: var(--pdb-font-serif);
    font-size: 1.5rem;
    color: var(--pdb-navy);
    margin-bottom: var(--pdb-space-lg);
}

/* Fiche produit responsive */
@media (max-width: 768px) {
    .single-product .product {
        grid-template-columns: 1fr;
        margin: var(--pdb-space-md) auto;
    }
    .single-product .woocommerce-product-gallery {
        position: static;
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   FIL D'ARIANE (BREADCRUMB)
───────────────────────────────────────────────────────────────────────────── */

.pdb-breadcrumb {
    max-width: 1280px;
    margin: 0 auto;
    padding: var(--pdb-space-sm) var(--pdb-space-md);
}

.pdb-breadcrumb__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pdb-breadcrumb__item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--pdb-font-sans);
    font-size: 0.8125rem;
    color: var(--pdb-text-muted);
}

.pdb-breadcrumb__item a {
    color: var(--pdb-text-secondary);
    text-decoration: none;
    transition: color 0.15s ease;
}

.pdb-breadcrumb__item a:hover { color: var(--pdb-navy); }

.pdb-breadcrumb__item.is-current span {
    color: var(--pdb-text-primary);
    font-weight: 500;
}

.pdb-breadcrumb__sep {
    color: var(--pdb-border);
}

/* ═════════════════════════════════════════════════════════════════════════════
   PAGE CATÉGORIE v2 — Design "Commerce Local Premium"
   Container · Hero · Layout · Sidebar filtres · Cards · Toolbar · Conseils
═════════════════════════════════════════════════════════════════════════════ */

/* Container commun */
.pdb-cat-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 60px;
}
@media (max-width: 900px) { .pdb-cat-container { padding: 0 20px; } }

/* ── HERO ────────────────────────────────────────────────────────────────── */

.pdb-cat-hero {
    background: #F5F0E8;
    position: relative;
    overflow: hidden;
}

.pdb-cat-hero__texture {
    position: absolute;
    inset: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 38%;
    margin-left: auto;
    background: url('https://images.unsplash.com/photo-1562663474-6cbb3eaa4d14?fit=crop&w=900&q=80') center/cover no-repeat;
    opacity: .15;
}

.pdb-cat-hero__fade {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 44%;
    background: linear-gradient(to right, #F5F0E8 0%, transparent 100%);
}

.pdb-cat-hero__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 36px 60px 52px;
    position: relative;
    z-index: 1;
}

/* Fil d'Ariane */
.pdb-cat-bc {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 22px;
}
.pdb-cat-bc__link {
    font-family: var(--pdb-font-sans);
    font-size: 12px;
    font-weight: 500;
    color: #888;
    text-decoration: none;
    transition: color .15s;
}
.pdb-cat-bc__link:hover { color: #111; }
.pdb-cat-bc__sep { color: #ccc; font-size: 11px; }
.pdb-cat-bc__current {
    font-family: var(--pdb-font-sans);
    font-size: 12px;
    font-weight: 600;
    color: #111;
}

/* Hero body : texte + stats */
.pdb-cat-hero__body {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: flex-end;
    gap: 48px;
}

.pdb-cat-hero__eyebrow {
    font-family: var(--pdb-font-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--pdb-bordeaux, #8B2635);
    margin-bottom: 10px;
}

.pdb-cat-hero__title {
    font-family: 'Bebas Neue', var(--pdb-font-serif), sans-serif;
    font-size: clamp(52px, 6.5vw, 88px);
    font-weight: 400;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: #111;
    line-height: .92;
    margin: 0 0 18px;
}

.pdb-cat-hero__desc {
    font-family: var(--pdb-font-sans);
    font-size: 15px;
    font-weight: 300;
    color: #555;
    line-height: 1.75;
    max-width: 580px;
    margin: 0;
}

/* Stats rapides */
.pdb-cat-hero__stats {
    display: flex;
    flex-direction: column;
    gap: 0;
    flex-shrink: 0;
    align-self: flex-end;
    min-width: 120px;
}
.pdb-cat-hero__stat {
    text-align: right;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0,0,0,.07);
}
.pdb-cat-hero__stat:last-child { border-bottom: none; }
.pdb-cat-hero__stat-n {
    font-family: 'Bebas Neue', var(--pdb-font-serif), sans-serif;
    font-size: 28px;
    letter-spacing: .03em;
    color: #111;
    line-height: 1;
}
.pdb-cat-hero__stat-l {
    font-family: var(--pdb-font-sans);
    font-size: 9.5px;
    font-weight: 500;
    color: #aaa;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-top: 2px;
}

@media (max-width: 768px) {
    .pdb-cat-hero__inner { padding: 28px 20px 36px; }
    .pdb-cat-hero__body { grid-template-columns: 1fr; gap: 24px; }
    .pdb-cat-hero__stats { flex-direction: row; gap: 0; min-width: unset; justify-content: flex-start; }
    .pdb-cat-hero__stat { text-align: left; padding: 0 20px 0 0; border-bottom: none; border-right: 1px solid rgba(0,0,0,.07); }
    .pdb-cat-hero__stat:last-child { border-right: none; }
}

/* ── LAYOUT PRINCIPAL ─────────────────────────────────────────────────────── */

.pdb-cat-main {
    background: #fff;
    padding: 40px 0 80px;
}

.pdb-cat-layout {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 40px;
    align-items: start;
}

.pdb-cat-layout--no-sidebar {
    grid-template-columns: 1fr;
}

@media (max-width: 900px) {
    .pdb-cat-layout { grid-template-columns: 1fr; }
    .pdb-cat-sidebar { display: none; }
}

/* ── SIDEBAR FILTRES ─────────────────────────────────────────────────────── */

.pdb-cat-sidebar {
    position: sticky;
    top: 88px;
}

.pdb-cat-filters__title {
    font-family: var(--pdb-font-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #aaa;
    margin-bottom: 20px;
}

.pdb-cat-filter-section {
    margin-bottom: 24px;
}

.pdb-cat-filter-section__label {
    font-family: var(--pdb-font-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #aaa;
    margin-bottom: 10px;
}

.pdb-cat-filter-section__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

/* Chip générique */
.pdb-cat-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 11px;
    border-radius: 20px;
    font-family: var(--pdb-font-sans);
    font-size: 12px;
    font-weight: 500;
    border: 1.5px solid #e8e8e8;
    background: #fff;
    color: #555;
    cursor: pointer;
    transition: border-color .15s, background .15s, color .15s;
    white-space: nowrap;
    line-height: 1;
}
.pdb-cat-chip:hover { border-color: #111; color: #111; }

/* Chip actif (générique) */
.pdb-cat-chip.is-active {
    background: #111;
    color: #fff;
    border-color: #111;
}

/* Point finition */
.pdb-cat-chip__dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    border: 1px solid rgba(0,0,0,.08);
}

/* Chip composition — icône */
.pdb-cat-chip__comp-ico {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

/* Footer filtres (count + reset) */
.pdb-cat-filters__footer {
    border-top: 1px solid #f0f0f0;
    padding-top: 14px;
    margin-top: 4px;
}

.pdb-cat-filters__count {
    font-family: var(--pdb-font-sans);
    font-size: 12px;
    color: #999;
    margin-bottom: 8px;
}
.pdb-cat-filters__count strong { color: #111; font-weight: 700; }

.pdb-cat-filters__reset {
    font-family: var(--pdb-font-sans);
    font-size: 11px;
    font-weight: 600;
    color: var(--pdb-bordeaux, #8B2635);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.pdb-cat-filters__reset.is-hidden { display: none; }

/* ── TOOLBAR ─────────────────────────────────────────────────────────────── */

.pdb-cat-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 10px;
}

.pdb-cat-toolbar__left {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.pdb-cat-toolbar__count {
    font-family: var(--pdb-font-sans);
    font-size: 13px;
    color: #888;
}
.pdb-cat-toolbar__count strong { color: #111; font-weight: 700; }

/* Active filter tags */
.pdb-cat-active-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.pdb-cat-active-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 20px;
    font-family: var(--pdb-font-sans);
    font-size: 11px;
    font-weight: 600;
    background: #111;
    color: #fff;
    border: none;
    cursor: pointer;
    letter-spacing: .04em;
}
.pdb-cat-active-tag span { font-size: 14px; line-height: 1; }

.pdb-cat-toolbar__right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pdb-cat-sort {
    font-family: var(--pdb-font-sans);
    font-size: 12px;
    font-weight: 500;
    padding: 7px 10px;
    border: 1.5px solid #e8e8e8;
    border-radius: 7px;
    background: #fff;
    color: #555;
    cursor: pointer;
    outline: none;
}
.pdb-cat-sort:focus { border-color: #111; }

.pdb-cat-view-toggle {
    display: flex;
    border: 1.5px solid #e8e8e8;
    border-radius: 7px;
    overflow: hidden;
}

.pdb-cat-view-btn {
    padding: 7px 10px;
    border: none;
    cursor: pointer;
    background: #fff;
    color: #888;
    display: flex;
    align-items: center;
    transition: background .15s, color .15s;
}
.pdb-cat-view-btn.is-active { background: #111; color: #fff; }
.pdb-cat-view-btn:not(.is-active):hover { background: #f5f5f5; color: #333; }

/* ── GRILLE PRODUITS ─────────────────────────────────────────────────────── */

.pdb-cat-grid {
    transition: opacity .2s ease;
}
.pdb-cat-grid.is-loading { opacity: .45; pointer-events: none; }

/* Vue grille */
.pdb-cat-grid--grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

/* Vue liste */
.pdb-cat-grid--list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

@media (max-width: 1100px) { .pdb-cat-grid--grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 580px)  { .pdb-cat-grid--grid { grid-template-columns: 1fr; } }

/* Sans sidebar (enduits, accessoires) : 4 colonnes pour conserver la même taille de carte */
.pdb-cat-layout--no-sidebar .pdb-cat-grid--grid {
    grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1100px) { .pdb-cat-layout--no-sidebar .pdb-cat-grid--grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px)  { .pdb-cat-layout--no-sidebar .pdb-cat-grid--grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 580px)  { .pdb-cat-layout--no-sidebar .pdb-cat-grid--grid { grid-template-columns: 1fr; } }

/* ── CARD PRODUIT ────────────────────────────────────────────────────────── */

.pdb-cat-card {
    /* Réinitialise l'ancien composant catégorie (height:500px, padding:32px) */
    height: auto;
    padding: 0;
    display: block;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #efefef;
    transition: box-shadow .22s, transform .22s;
}
.pdb-cat-card:hover {
    box-shadow: 0 14px 44px rgba(0,0,0,.09);
    transform: translateY(-3px);
}
.pdb-cat-card__link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    height: 100%;
}

/* Image */
.pdb-cat-card__image-wrap {
    position: relative;
    background: linear-gradient(to bottom, #fff 0%, #F5F0E8 100%);
    height: 210px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 24px;
    overflow: hidden;
}

/* Spécificité 0,2,0 — bat .woocommerce img (0,1,1) qui impose height:auto;max-width:100% */
.pdb-cat-card__image-wrap .pdb-cat-card__img {
    position: static;
    display: block;
    width: auto;
    height: auto;
    max-width: 90%;
    max-height: 182px;
    object-fit: contain;
    object-position: center center;
    transition: transform .35s ease;
}
.pdb-cat-card:hover .pdb-cat-card__image-wrap .pdb-cat-card__img { transform: scale(1.06); }

/* Badges (top image) */
.pdb-cat-card__top-badges {
    position: absolute;
    top: 10px;
    left: 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pdb-cat-card__badge {
    font-family: var(--pdb-font-sans);
    font-size: 8.5px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 3px 9px;
    border-radius: 3px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.pdb-cat-card__badge--promo { background: var(--pdb-bordeaux, #8B2635); color: #fff; }
.pdb-cat-card__badge--eco   { background: #16a34a; color: #fff; }

/* Stock (body, sous les formats) */
.pdb-cat-card__stock {
    display: inline-flex;
    align-items: center;
    font-family: var(--pdb-font-sans);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 3px 9px;
    border-radius: 3px;
    margin-bottom: 8px;
}
.pdb-cat-card__stock--instock { background: #16a34a; color: #fff; }
.pdb-cat-card__stock--order   { background: rgba(234,179,8,.9);  color: #fff; }

/* Body */
.pdb-cat-card__body {
    padding: 14px 18px 18px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.pdb-cat-card__brand {
    font-family: var(--pdb-font-sans);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #bbb;
    margin-bottom: 6px;
}

/* Meta row : finition badge + composition icon */
.pdb-cat-card__meta-row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

/* Finition badge coloré */
.pdb-cat-card__fin-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--pdb-font-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 4px;
    border: 1px solid transparent;
}
.pdb-cat-card__fin-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    border: 1px solid rgba(0,0,0,.08);
}

/* Composition icon + label */
.pdb-cat-card__comp {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-family: var(--pdb-font-sans);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #888;
    background: #f7f7f5;
    border: 1px solid #eee;
    padding: 2px 7px 2px 5px;
    border-radius: 4px;
}
.pdb-cat-card__comp--acrylique { color: #1d6fad; border-color: #c5dff5; background: #f0f7ff; }
.pdb-cat-card__comp--glycero,
.pdb-cat-card__comp--glyc-ro   { color: #a14f18; border-color: #f5d9c5; background: #fff7f3; }

/* Nom produit */
.pdb-cat-card__name {
    font-family: var(--pdb-font-sans);
    font-size: 15px;
    font-weight: 600;
    color: #111;
    line-height: 1.25;
    margin: 0 0 8px;
}

/* Formats */
.pdb-cat-card__formats {
    margin-bottom: 8px;
}
.pdb-cat-card__formats-lbl {
    font-family: var(--pdb-font-sans);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #bbb;
    display: block;
    margin-bottom: 4px;
}
.pdb-cat-card__fmt-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.pdb-cat-card__fmt-pill {
    font-family: var(--pdb-font-sans);
    font-size: 10px;
    font-weight: 600;
    border: 1.5px solid #e8e8e8;
    color: #555;
    padding: 2px 7px;
    border-radius: 4px;
}

/* Propriétés */
.pdb-cat-card__props {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 10px;
}
.pdb-cat-card__prop-pill {
    font-family: var(--pdb-font-sans);
    font-size: 9px;
    font-weight: 500;
    background: #f5f5f5;
    color: #666;
    padding: 2px 7px;
    border-radius: 3px;
    text-transform: capitalize;
}

/* Footer card : prix + CTA */
.pdb-cat-card__footer {
    border-top: 1px solid #f5f5f5;
    padding-top: 12px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: auto;
}

.pdb-cat-card__price {
    line-height: 1;
}
.pdb-cat-card__price-from {
    display: block;
    font-family: var(--pdb-font-sans);
    font-size: 9px;
    color: #bbb;
    margin-bottom: 3px;
}
.pdb-cat-card__price .woocommerce-Price-amount {
    font-family: var(--pdb-font-sans);
    font-size: 20px;
    font-weight: 700;
    color: #111;
}
.pdb-cat-card__price-unit {
    font-family: var(--pdb-font-sans);
    font-size: 10px;
    font-weight: 400;
    color: #aaa;
}

.pdb-cat-card__cta {
    background: #111;
    color: #fff;
    padding: 10px 15px;
    border-radius: 6px;
    font-family: var(--pdb-font-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
    flex-shrink: 0;
    transition: background .15s;
}
.pdb-cat-card:hover .pdb-cat-card__cta { background: var(--pdb-bordeaux, #8B2635); }

/* ── VUE LISTE — adaptation horizontale ─────────────────────────────────── */

.pdb-cat-grid--list .pdb-cat-card { transform: none !important; }
.pdb-cat-grid--list .pdb-cat-card:hover { transform: none !important; box-shadow: 0 4px 20px rgba(0,0,0,.08); }

.pdb-cat-grid--list .pdb-cat-card__link {
    display: grid;
    grid-template-columns: 120px 1fr auto;
}

.pdb-cat-grid--list .pdb-cat-card__image-wrap {
    height: auto;
    min-height: 120px;
    padding: 12px;
    border-radius: 0;
}

.pdb-cat-grid--list .pdb-cat-card__image-wrap .pdb-cat-card__img { height: auto; max-height: 90px; max-width: 100%; }

.pdb-cat-grid--list .pdb-cat-card__body {
    border-left: 1px solid #f5f5f5;
    padding: 14px 18px;
}

.pdb-cat-grid--list .pdb-cat-card__footer {
    border-left: 1px solid #f5f5f5;
    border-top: none;
    padding: 14px 18px;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    min-width: 140px;
    gap: 12px;
}

.pdb-cat-grid--list .pdb-cat-card__price .woocommerce-Price-amount { font-size: 22px; }

.pdb-cat-grid--list .pdb-cat-card__top-badges { top: 8px; left: 8px; }
.pdb-cat-grid--list .pdb-cat-card__stock { margin-bottom: 6px; }

/* ── NO RESULTS ─────────────────────────────────────────────────────────── */

.pdb-cat-no-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 0;
    font-family: var(--pdb-font-sans);
    font-size: 15px;
    color: #aaa;
}
.pdb-cat-no-results button {
    display: block;
    margin: 12px auto 0;
    font-family: var(--pdb-font-sans);
    font-size: 12px;
    font-weight: 600;
    color: var(--pdb-bordeaux, #8B2635);
    background: none;
    border: none;
    cursor: pointer;
}

/* Load more */
.pdb-load-more-wrap.is-hidden { display: none; }

/* ── SECTION CONSEILS ────────────────────────────────────────────────────── */

.pdb-cat-advice {
    background: #fff;
    padding: 72px 0;
    border-top: 1px solid #f5f5f5;
}

.pdb-cat-advice__grid {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 64px;
    align-items: start;
}

@media (max-width: 1100px) { .pdb-cat-advice__grid { grid-template-columns: 1fr; gap: 48px; } }

.pdb-cat-advice__eyebrow {
    font-family: var(--pdb-font-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #aaa;
    margin-bottom: 12px;
}

.pdb-cat-advice__title {
    font-family: 'Bebas Neue', var(--pdb-font-serif), sans-serif;
    font-size: clamp(34px, 3.8vw, 52px);
    font-weight: 400;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: #111;
    margin: 0 0 28px;
    line-height: .95;
}

.pdb-cat-advice__intro {
    font-size: 14px;
    font-weight: 300;
    color: #555;
    line-height: 1.8;
    margin-bottom: 24px;
    max-width: 620px;
}

.pdb-cat-advice__item {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 0 16px;
    margin-bottom: 24px;
    padding-bottom: 24px;
}
.pdb-cat-advice__item--border { border-bottom: 1px solid #f5f5f5; }

.pdb-cat-advice__num {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--pdb-bordeaux, #8B2635);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 13px;
    color: #fff;
    flex-shrink: 0;
    margin-top: 2px;
}

.pdb-cat-advice__item-title {
    font-family: var(--pdb-font-sans);
    font-size: 15px;
    font-weight: 600;
    color: #111;
    margin-bottom: 6px;
}
.pdb-cat-advice__item-body {
    font-family: var(--pdb-font-sans);
    font-size: 13.5px;
    font-weight: 300;
    color: #666;
    line-height: 1.75;
    margin: 0;
}

/* ── CARTE SHOWROOM ─────────────────────────────────────────────────────── */

.pdb-showroom-card {
    border-radius: 12px;
    border: 1px solid #f0f0f0;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,.05);
}

.pdb-showroom-card__map {
    height: 180px;
    position: relative;
    background: #e8e4dc;
    overflow: hidden;
}

.pdb-showroom-card__map-status {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background: #fff;
    border-radius: 7px;
    padding: 6px 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--pdb-font-sans);
    font-size: 11px;
    font-weight: 600;
    color: #111;
}
.pdb-showroom-card__map-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
    display: inline-block;
}

.pdb-showroom-card__info {
    padding: 20px 20px 0;
}
.pdb-showroom-card__info-title {
    font-family: var(--pdb-font-sans);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #aaa;
    margin-bottom: 12px;
}

.pdb-showroom-card__row {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-bottom: 11px;
}
.pdb-showroom-card__ico { color: #aaa; margin-top: 1px; flex-shrink: 0; }
.pdb-showroom-card__row span:last-child {
    font-family: var(--pdb-font-sans);
    font-size: 13px;
    font-weight: 300;
    color: #555;
    line-height: 1.5;
}

.pdb-showroom-card__zones {
    margin: 14px 20px 0;
    padding: 14px 0 0;
    border-top: 1px solid #f5f5f5;
}
.pdb-showroom-card__zones-title {
    font-family: var(--pdb-font-sans);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #aaa;
    margin-bottom: 8px;
}
.pdb-showroom-card__zones-list { display: flex; flex-wrap: wrap; gap: 5px; }
.pdb-showroom-card__zone-pill {
    font-family: var(--pdb-font-sans);
    font-size: 10px;
    font-weight: 500;
    background: #f5f5f3;
    color: #666;
    padding: 3px 9px;
    border-radius: 4px;
}

.pdb-showroom-card__ctas {
    padding: 16px 20px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.pdb-showroom-card__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    border-radius: 8px;
    font-family: var(--pdb-font-sans);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background .15s, border-color .15s;
}
.pdb-showroom-card__cta--wa {
    background: #25D366;
    color: #fff;
}
.pdb-showroom-card__cta--wa:hover { background: #1da851; color: #fff; }
.pdb-showroom-card__cta--outline {
    background: transparent;
    color: #555;
    border: 1px solid #e8e8e8;
}
.pdb-showroom-card__cta--outline:hover { border-color: #111; color: #111; }

/* ── MOBILE DRAWER FILTRES ───────────────────────────────────────────────── */

.pdb-filter-drawer {
    position: fixed;
    inset: 0;
    z-index: 400;
    display: none;
}
.pdb-filter-drawer.is-open { display: block; }

.pdb-filter-drawer__bg {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.45);
}

.pdb-filter-drawer__panel {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 320px;
    max-width: 90vw;
    background: #fff;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.pdb-filter-drawer__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 20px 16px;
    border-bottom: 1px solid #f0f0f0;
    font-family: var(--pdb-font-sans);
    font-size: 14px;
    font-weight: 600;
    color: #111;
    flex-shrink: 0;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 1;
}

.pdb-filter-drawer__close {
    background: none;
    border: none;
    cursor: pointer;
    color: #888;
    padding: 4px;
    display: flex;
    align-items: center;
}
.pdb-filter-drawer__close:hover { color: #111; }

.pdb-filter-drawer__body {
    padding: 20px;
    flex: 1;
    overflow-y: auto;
}

/* ── FAB FILTRES (mobile) ────────────────────────────────────────────────── */

.pdb-filter-fab {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
    display: none;
}
@media (max-width: 900px) { .pdb-filter-fab { display: block; } }

.pdb-filter-fab__btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #111;
    color: #fff;
    border: none;
    cursor: pointer;
    padding: 13px 22px;
    border-radius: 24px;
    font-family: var(--pdb-font-sans);
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 8px 28px rgba(0,0,0,.2);
    letter-spacing: .04em;
    white-space: nowrap;
}

/* ── PRO BLOCK — conseil technique archive ───────────────────────────────── */

.pdb-cat-advice__pro-block {
    margin-top: 32px;
    padding: var(--pdb-space-md);
    background: var(--pdb-bg-card);
    border-left: 4px solid var(--pdb-bordeaux);
    border-radius: var(--pdb-radius-md);
}

.pdb-cat-advice__pro-title {
    color: var(--pdb-navy);
    font-family: var(--pdb-font-sans);
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin: 0 0 12px;
}

.pdb-cat-advice__pro-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pdb-cat-advice__pro-list li {
    font-family: var(--pdb-font-sans);
    font-size: 0.9rem;
    color: var(--pdb-navy);
    padding-left: 1.4em;
    position: relative;
}

.pdb-cat-advice__pro-list li::before {
    content: '\2192';
    position: absolute;
    left: 0;
    color: var(--pdb-bordeaux);
}

/* ═══════════════════════════════════════════════════════════════════════════
   MÉGA MENU V2 — 2 colonnes avec icônes
   ═══════════════════════════════════════════════════════════════════════════ */

.pdb-mega-v2 {
  padding: 0 !important;
}

.pdb-mega-v2__inner {
  max-width: 1360px;
  margin: 0 auto;
  display: flex;
  align-items: stretch;
  min-height: 320px;
}

/* ── Colonne gauche : catégories ── */
.pdb-mega-v2__cats {
  width: 230px;
  flex-shrink: 0;
  padding: 16px 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pdb-mega-v2__cat {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px 20px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #1B2A4A;
  border-radius: 6px;
  transition: background .1s;
}

.pdb-mega-v2__cat img {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  object-fit: contain;
  opacity: .75;
  transition: opacity .1s;
}

.pdb-mega-v2__cat:hover,
.pdb-mega-v2__cat.active {
  background: #F4F4F0;
  color: #1B2A4A;
}

.pdb-mega-v2__cat:hover img,
.pdb-mega-v2__cat.active img {
  opacity: 1;
}

.pdb-mega-v2__cat span {
  flex: 1;
}

.pdb-mega-v2__arrow {
  width: 10px;
  height: 10px;
  opacity: 0;
  transition: opacity .1s;
  flex-shrink: 0;
}

.pdb-mega-v2__cat:hover .pdb-mega-v2__arrow,
.pdb-mega-v2__cat.active .pdb-mega-v2__arrow {
  opacity: .5;
}

/* ── Séparateur vertical ── */
.pdb-mega-v2__sep {
  width: 1px;
  background: #E8E8E4;
  margin: 16px 0;
  flex-shrink: 0;
}

/* ── Zone droite : panneaux de sous-catégories ── */
.pdb-mega-v2__panels {
  flex: 1;
  padding: 20px 32px;
  overflow: hidden;
}

.pdb-mega-v2__panel {
  display: none;
}

.pdb-mega-v2__panel.active {
  display: block;
}

.pdb-mega-v2__see-all {
  display: inline-block;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #999;
  text-decoration: none;
  margin-bottom: 16px;
  transition: color .12s;
}

.pdb-mega-v2__see-all:hover {
  color: #1B2A4A;
}

/* Grille de sous-catégories */
.pdb-mega-v2__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 12px;
}

/* Carte sous-catégorie */
.pdb-mega-v2__sub {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 18px 10px 14px;
  border-radius: 8px;
  text-decoration: none;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #1B2A4A;
  text-align: center;
  line-height: 1.3;
  transition: background .1s;
}

.pdb-mega-v2__sub:hover {
  background: #F4F4F0;
}

.pdb-mega-v2__sub img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  opacity: .85;
  transition: opacity .1s;
}

.pdb-mega-v2__sub:hover img {
  opacity: 1;
}

/* Placeholder si icône manquante */
.pdb-mega-v2__sub-placeholder {
  display: block;
  width: 72px;
  height: 72px;
  background: #E8E8E4;
  border-radius: 6px;
}

/* ── Drawer mobile — icônes ── */
.pdb-drawer-row__link {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 500;
  color: #1a1a1a;
  text-decoration: none;
  flex: 1;
}

.pdb-drawer-row__icon {
  flex-shrink: 0;
  opacity: .7;
}

.pdb-drawer-sub__link {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 10px 40px !important;
  font-size: 12.5px;
  color: #666;
  border-bottom: 1px solid #f0f0f0;
  text-decoration: none;
}

.pdb-drawer-sub__icon {
  flex-shrink: 0;
  opacity: .65;
}

/* ── Responsive : cacher le mega v2 sur mobile ── */
@media (max-width: 768px) {
  .pdb-mega-v2 {
    display: none !important;
  }
}

@media (min-width: 769px) {
  /* auto-fit gère le nombre de colonnes dynamiquement — pas de règle fixe nécessaire */
}

/* Bebas Neue est enregistrée via pdb_enqueue_fonts() dans functions.php */

/* ── PAGE CONTACT ────────────────────────────────────────────────────────── */
.pdb-contact-hero{background:#1B2A4A;padding:40px 0 32px}
.pdb-contact-inner{max-width:1280px;margin:0 auto;padding:0 48px}
.pdb-contact-hero-title{font-family:'Playfair Display',serif;font-size:clamp(26px,4vw,38px);color:#fff;margin:0 0 6px;font-weight:700;line-height:1.2}
.pdb-contact-hero-sub{color:rgba(255,255,255,.55);font-size:13px;margin:0 0 24px}
.pdb-contact-infobar{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:16px 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pdb-contact-infobar-label{font-size:8.5px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.4);margin-bottom:5px}
.pdb-contact-infobar-value{color:#fff;font-size:13px;font-weight:500;line-height:1.6}
.pdb-contact-infobar-value a{color:#fff;text-decoration:none;transition:opacity .15s}
.pdb-contact-infobar-value a:hover{opacity:.8}
.pdb-contact-status-wrap .pdb-store-status{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:3px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:rgba(255,255,255,.8);display:inline-flex;align-items:center;gap:5px}
.pdb-contact-status-wrap .pdb-status--open{color:#4ade80;border-color:rgba(74,222,128,.3);background:rgba(74,222,128,.08)}
.pdb-contact-status-wrap .pdb-status--closed{color:#f87171;border-color:rgba(248,113,113,.3);background:rgba(248,113,113,.08)}
.pdb-contact-body{max-width:1280px;margin:0 auto;padding:40px 48px;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.pdb-contact-map{border-radius:8px;overflow:hidden;margin-bottom:16px;line-height:0}
.pdb-contact-map iframe{width:100%;height:220px;border:0;display:block}
.pdb-contact-card{background:#fff;border-radius:8px;border:1px solid #ebebeb;padding:20px;margin-bottom:16px}
.pdb-contact-card:last-child{margin-bottom:0}
.pdb-contact-card-title{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#1B2A4A;font-weight:600;margin-bottom:14px}
.pdb-contact-access-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid #f5f5f3;font-size:13px;color:#444;line-height:1.5}
.pdb-contact-access-row:last-child{border-bottom:none;padding-bottom:0}
.pdb-contact-access-icon{width:30px;height:30px;border-radius:6px;background:#f0f0ee;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;margin-top:2px}
.pdb-contact-access-strong{display:block;font-weight:600;color:#1B2A4A;font-size:12.5px;margin-bottom:2px}
.pdb-contact-access-sub{color:#888;font-size:11.5px}
.pdb-contact-hours-list{list-style:none;margin:0;padding:0}
.pdb-contact-hours-row{display:flex;justify-content:space-between;font-size:12px;padding:6px 0;border-bottom:1px solid #f5f5f3;color:#444}
.pdb-contact-hours-row:last-child{border-bottom:none}
.pdb-contact-hours-row.is-closed{color:#bbb}
.pdb-contact-hours-day{font-weight:500}
.pdb-contact-hours-time{letter-spacing:.02em}
.pdb-contact-form-card{background:#fff;border-radius:8px;border:1px solid #ebebeb;padding:24px}
.pdb-contact-form-title{font-family:'Playfair Display',serif;font-size:20px;color:#1B2A4A;margin:0 0 4px;font-weight:700}
.pdb-contact-form-sub{font-size:12px;color:#888;margin:0 0 20px}
.pdb-contact-form .pdb-contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.pdb-contact-form .pdb-contact-form-group{margin-bottom:12px}
.pdb-contact-form-label{display:block;font-size:11px;font-weight:500;color:#555;margin-bottom:4px}
.pdb-contact-form .wpcf7-form-control-wrap{display:block;width:100%}
.pdb-contact-form .wpcf7-text,
.pdb-contact-form .wpcf7-email,
.pdb-contact-form .wpcf7-tel,
.pdb-contact-form .wpcf7-select,
.pdb-contact-form .wpcf7-textarea{width:100%;background:#f7f7f5;border:1px solid #e2e2de;border-radius:5px;padding:9px 12px;font-size:13px;font-family:'Inter',sans-serif;color:#333;box-sizing:border-box;transition:border-color .15s;outline:none;-webkit-appearance:none;appearance:none}
.pdb-contact-form .wpcf7-text:focus,
.pdb-contact-form .wpcf7-email:focus,
.pdb-contact-form .wpcf7-tel:focus,
.pdb-contact-form .wpcf7-select:focus,
.pdb-contact-form .wpcf7-textarea:focus{border-color:#1B2A4A;box-shadow:0 0 0 2px rgba(27,42,74,.08)}
.pdb-contact-form .wpcf7-textarea{height:100px;resize:vertical}
.pdb-contact-form .wpcf7-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}
.pdb-contact-form .wpcf7-acceptance .wpcf7-list-item{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:#777;line-height:1.6;margin:0}
.pdb-contact-form .wpcf7-acceptance .wpcf7-list-item-label{cursor:pointer}
.pdb-contact-form .wpcf7-acceptance input[type=checkbox]{margin-top:2px;flex-shrink:0;accent-color:#1B2A4A}
.pdb-contact-form .wpcf7-acceptance a{color:#8B1A2F;text-decoration:underline}
.pdb-contact-form .wpcf7-submit{display:block;width:100%;background:#8B1A2F;color:#fff;border:none;border-radius:5px;padding:13px;font-size:13px;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;transition:background .15s;margin-top:14px;letter-spacing:.02em}
.pdb-contact-form .wpcf7-submit:hover{background:#701525}
.pdb-contact-form .wpcf7-not-valid-tip{font-size:10.5px;color:#dc2626;margin-top:3px;display:block}
.pdb-contact-form .wpcf7-response-output{border:1px solid;border-radius:5px;padding:10px 14px;font-size:12px;margin-top:12px!important;margin-bottom:0!important}
.pdb-contact-form .wpcf7-mail-sent-ok{border-color:rgba(74,222,128,.4)!important;background:rgba(74,222,128,.06)!important;color:#166534!important}
.pdb-contact-form .wpcf7-validation-errors,.pdb-contact-form .wpcf7-spam-blocked{border-color:rgba(251,146,60,.4)!important;background:rgba(251,146,60,.06)!important;color:#92400e!important}
.pdb-contact-divider{display:flex;align-items:center;gap:10px;margin:16px 0}
.pdb-contact-divider-line{flex:1;height:1px;background:#ebebeb}
.pdb-contact-divider-text{font-size:11px;color:#bbb;flex-shrink:0}
.pdb-contact-btn-wa{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1.5px solid #25D366;color:#1a9d4e;background:#fff;border-radius:5px;padding:11px;font-size:12.5px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;box-sizing:border-box}
.pdb-contact-btn-wa:hover{background:#f0fdf4;color:#16a34a}
.pdb-contact-secure{display:flex;align-items:center;justify-content:center;gap:5px;font-size:10.5px;color:#aaa;margin-top:10px;margin-bottom:0}

@media(max-width:960px){
  .pdb-contact-body{grid-template-columns:1fr!important;padding:32px!important}
}
@media(max-width:640px){
  .pdb-contact-inner{padding:0 20px!important}
  .pdb-contact-hero{padding:28px 0 24px}
  .pdb-contact-infobar{grid-template-columns:1fr 1fr!important;padding:12px 14px!important;gap:12px!important}
  .pdb-contact-body{padding:20px!important}
  .pdb-contact-form .pdb-contact-form-row{grid-template-columns:1fr!important}
}

/* ── Section partenaire Côté Sol ─────────────────────────────────────────── */
.pdb-partner-section{background:#F4F4F0}
.pdb-partner-inner{max-width:1200px;margin:0 auto}
.pdb-partner-header{text-align:center;padding:28px 24px 20px}
.pdb-partner-eyebrow{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#1B2A4A;opacity:.4;font-weight:600;margin-bottom:8px;font-family:'Inter',sans-serif}
.pdb-partner-title{font-family:'Playfair Display',Georgia,serif;font-size:28px;font-weight:700;color:#1B2A4A;margin:0;line-height:1.2}
.pdb-partner-image{position:relative;width:100%;height:150px;overflow:hidden}
.pdb-partner-image img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
.pdb-partner-image-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(244,244,240,.7) 100%)}
.pdb-partner-cols{display:grid;grid-template-columns:1fr auto 1fr;padding:20px 24px 28px;align-items:start}
.pdb-partner-col{background:#fff;border:1px solid #e0e0dc;border-radius:8px;padding:20px 18px 18px}
.pdb-partner-col--partner{border-color:#c8b49a;background:#fdf9f4}
.pdb-partner-col-logo{height:36px;display:flex;align-items:center;margin-bottom:12px}
.pdb-partner-col-logo img{max-height:30px;max-width:140px;object-fit:contain;object-position:left center;display:block}
.pdb-partner-col-logo img.pdb-logo-dark{filter:brightness(0) saturate(100%);opacity:.8}
.pdb-partner-col-tagline{font-size:10px;font-weight:600;color:#999;letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px;font-family:'Inter',sans-serif}
.pdb-partner-col-desc{font-size:14px;color:#555;line-height:1.65;margin-bottom:14px;font-family:'Inter',sans-serif}
.pdb-partner-col-badge{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:4px 10px;border-radius:99px;background:rgba(27,42,74,.08);color:#1B2A4A;font-family:'Inter',sans-serif}
.pdb-partner-col-badge-dot{width:5px;height:5px;border-radius:50%;background:#1B2A4A;flex-shrink:0}
.pdb-partner-col-cta{display:inline-flex;align-items:center;gap:6px;background:#1B2A4A;color:#fff;border-radius:5px;padding:9px 16px;font-size:12px;font-weight:600;text-decoration:none;font-family:'Inter',sans-serif;transition:background .15s}
.pdb-partner-col-cta:hover{background:#243d68}
.pdb-partner-divider{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 14px;gap:5px}
.pdb-partner-divider-line{width:1px;height:28px;background:#d5d5d0}
.pdb-partner-divider-plus{width:26px;height:26px;border-radius:50%;border:1px solid #d5d5d0;background:#F4F4F0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#bbb;font-family:'Inter',sans-serif}

@media(max-width:640px){
  .pdb-partner-header{padding:20px 16px 16px}
  .pdb-partner-title{font-size:22px}
  .pdb-partner-cols{grid-template-columns:1fr;padding:16px}
  .pdb-partner-divider{display:none}
  .pdb-partner-col{margin-bottom:12px}
  .pdb-partner-col:last-child{margin-bottom:0}
}
