/**
 * 07 - La Veillée — skin global du site
 * ==========================================================================
 * Aligne toutes les pages (boutique, produit, panier, checkout, blog, pages)
 * sur l'univers de la homepage « La Veillée » : nuit indigo, or/braise, crème,
 * typographies Yeseva One (display) + Alegreya Sans (texte).
 *
 * Chargée EN DERNIER (après 00→06) : elle gagne la cascade sur la couche claire.
 * La homepage (body.ug-veillee) est un template autonome déjà stylé : toutes
 * les règles de surface sont scopées body:not(.ug-veillee) pour ne pas la toucher.
 *
 * @package Ultimes_Griots_Child
 * @version 3.0.0
 */

/* ==========================================================================
   1. TOKENS — remap de la palette + typos vers La Veillée
   ========================================================================== */
:root {
    /* Or de la veillée (remplace l'or D4AF37) */
    --ug-gold-primary: #f2b23e;
    --ug-gold-light: #ffd98a;
    --ug-gold-dark: #d9982a;

    /* Nuit indigo (remplace les gris/noirs neutres froids) */
    --ug-indigo-deep: #241a3f;
    --ug-indigo-royal: #0f0d26;
    --ug-indigo-light: #2c2452;

    /* Braise */
    --ug-earth-terracotta: #ff7a3c;

    /* Neutres recalibrés pour fond nuit :
       - white  = crème (usages TEXTE sur fond sombre)
       - charcoal = crème (ex-texte sur fond clair)
       - light/medium = crème atténuée (texte secondaire, bordures)
       - black = brun nuit (texte sur boutons or — inchangé de rôle) */
    --ug-neutral-black: #221207;
    --ug-neutral-charcoal: #f6ecd9;
    --ug-neutral-medium: #b9ac93;
    --ug-neutral-light: #dfd5bd;
    --ug-neutral-white: #f6ecd9;

    /* Typographies de la Veillée */
    --font-display: 'Yeseva One', Georgia, serif;
    --font-body: 'Alegreya Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-editorial: 'Alegreya Sans', Georgia, serif;
    --font-display-weight-bold: 400; /* Yeseva One n'existe qu'en 400 */

    --shadow-gold: 0 8px 30px rgba(255, 122, 60, 0.35);

    /* Tokens propres à la skin (préfixe ugv pour éviter toute collision) */
    --ugv-nuit: #0b0a1a;
    --ugv-nuit2: #151233;
    --ugv-surface: linear-gradient(160deg, rgba(36, 29, 79, 0.62), rgba(21, 18, 51, 0.9));
    --ugv-surface-solid: #171340;
    --ugv-border: rgba(242, 178, 62, 0.16);
    --ugv-border-strong: rgba(242, 178, 62, 0.45);
    --ugv-creme: #f6ecd9;
    --ugv-creme-70: rgba(246, 236, 217, 0.7);
    --ugv-creme-50: rgba(246, 236, 217, 0.5);
    --ugv-or: #f2b23e;
    --ugv-or-pale: #ffd98a;
    --ugv-braise: #ff7a3c;
    --ugv-violet: #8a63c9;
    --ugv-grad-feu: linear-gradient(120deg, #ff7a3c, #f2b23e);
}

/* ==========================================================================
   2. FOND & TEXTE DE BASE (jamais sur la home autonome)
   ========================================================================== */
body:not(.ug-veillee) {
    background-color: var(--ugv-nuit) !important;
    background-image:
        radial-gradient(1100px 480px at 85% -80px, rgba(138, 99, 201, 0.14), transparent 70%),
        linear-gradient(180deg, #241a3f 0%, #141031 620px, #0b0a1a 1400px);
    background-repeat: no-repeat;
    background-attachment: fixed;
    color: var(--ugv-creme);
}

body:not(.ug-veillee) ::selection {
    background: var(--ugv-or);
    color: var(--ugv-nuit);
}

/* Wrappers Madara / gabarits : plus aucun aplat clair intermédiaire */
body:not(.ug-veillee) .c-page-content,
body:not(.ug-veillee) .content-area,
body:not(.ug-veillee) .main-col,
body:not(.ug-veillee) .main-col-inner,
body:not(.ug-veillee) #main-wrapper,
body:not(.ug-veillee) .site-content,
body:not(.ug-veillee) .site-main,
body:not(.ug-veillee) .body-wrap,
body:not(.ug-veillee) .page-container,
body:not(.ug-veillee) .woocommerce-wrapper,
body:not(.ug-veillee) .cart-content-wrapper,
body:not(.ug-veillee) .checkout-page-wrapper,
body:not(.ug-veillee) .ultimes-griots-cart-page,
body:not(.ug-veillee) .checkout-enhanced,
body:not(.ug-veillee) .woocommerce-page,
body:not(.ug-veillee) .ug-shop-page {
    background: transparent !important;
}

body:not(.ug-veillee) h1,
body:not(.ug-veillee) h2,
body:not(.ug-veillee) h3,
body:not(.ug-veillee) h4,
body:not(.ug-veillee) h5,
body:not(.ug-veillee) h6 {
    color: var(--ugv-creme);
    font-family: var(--font-display);
    font-weight: 400;
}

body:not(.ug-veillee) p,
body:not(.ug-veillee) li,
body:not(.ug-veillee) td,
body:not(.ug-veillee) dd,
body:not(.ug-veillee) dt {
    color: inherit;
}

body:not(.ug-veillee) a {
    color: var(--ugv-or);
}

body:not(.ug-veillee) a:hover {
    color: var(--ugv-or-pale);
}

/* Focus clavier visible partout (aligné home, WCAG 2.4.7) */
body:not(.ug-veillee) a:focus-visible,
body:not(.ug-veillee) button:focus-visible,
body:not(.ug-veillee) input:focus-visible,
body:not(.ug-veillee) select:focus-visible,
body:not(.ug-veillee) textarea:focus-visible,
body:not(.ug-veillee) [tabindex]:focus-visible {
    outline: 2px solid var(--ugv-or);
    outline-offset: 2px;
}

/* ==========================================================================
   3. HEADER — aligné sur la nav de la home (nuit translucide + or)
   ========================================================================== */
.ug-header-modern {
    background: rgba(11, 10, 26, 0.78);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(242, 178, 62, 0.14);
    box-shadow: none;
}

.ug-logo-img {
    filter: drop-shadow(0 0 6px rgba(242, 178, 62, 0.45));
}

.ug-nav-link {
    color: rgba(246, 236, 217, 0.85);
    font-weight: 500;
}

.ug-nav-link:hover,
.ug-nav-link.active {
    color: var(--ugv-or);
}

.ug-dropdown-menu,
.ug-search-results,
.ug-mini-cart,
.ug-account-dropdown,
.ug-mobile-menu {
    background: rgba(15, 13, 38, 0.97);
    border-color: rgba(242, 178, 62, 0.25);
}

.ug-action-btn {
    background: transparent;
    border: 1.5px solid rgba(246, 236, 217, 0.3);
    color: var(--ugv-creme);
}

.ug-action-btn:hover {
    background: transparent;
    border-color: var(--ugv-or);
    color: var(--ugv-or);
}

.ug-badge {
    background: var(--ugv-braise);
    color: var(--ug-neutral-black);
}

.ug-search-form {
    background: rgba(246, 236, 217, 0.06);
}

.ug-search-form.is-expanded {
    background: rgba(21, 18, 51, 0.95);
}

.ug-search-input {
    color: var(--ugv-creme);
    border-color: rgba(242, 178, 62, 0.3);
}

.ug-search-input::placeholder {
    color: var(--ugv-creme-50);
}

.ug-mobile-toggle span {
    background: var(--ugv-creme);
}

/* ==========================================================================
   4. FOOTER — nuit profonde + or (mêmes codes que la clôture de la home)
   ========================================================================== */
.site-footer {
    background: #0f0d26;
    border-top: 1px solid rgba(242, 178, 62, 0.14);
    color: rgba(246, 236, 217, 0.8);
}

.footer-section h3 {
    color: var(--ugv-or);
}

.footer-section a {
    color: rgba(246, 236, 217, 0.8);
}

.footer-section a:hover {
    color: var(--ugv-or-pale);
}

.footer-social a {
    background: rgba(246, 236, 217, 0.06);
    color: rgba(246, 236, 217, 0.8);
}

.footer-newsletter input[type="email"] {
    background: rgba(246, 236, 217, 0.06);
    border: 1px solid rgba(242, 178, 62, 0.25);
    color: var(--ugv-creme);
}

.footer-newsletter button {
    background: var(--ugv-grad-feu);
    color: var(--ug-neutral-black);
    font-weight: 800;
    border-radius: 999px;
}

.footer-newsletter button:hover {
    background: var(--ugv-grad-feu);
    box-shadow: var(--shadow-gold);
}

.footer-bottom {
    border-top: 1px solid rgba(246, 236, 217, 0.1);
    color: var(--ugv-creme-50);
}

/* ==========================================================================
   5. FORMULAIRES GÉNÉRIQUES (hors home)
   ========================================================================== */
body:not(.ug-veillee) input[type="text"],
body:not(.ug-veillee) input[type="email"],
body:not(.ug-veillee) input[type="tel"],
body:not(.ug-veillee) input[type="password"],
body:not(.ug-veillee) input[type="number"],
body:not(.ug-veillee) input[type="search"],
body:not(.ug-veillee) select,
body:not(.ug-veillee) textarea {
    background: rgba(246, 236, 217, 0.06);
    border: 1.5px solid rgba(242, 178, 62, 0.25);
    color: var(--ugv-creme);
    border-radius: 10px;
}

body:not(.ug-veillee) input::placeholder,
body:not(.ug-veillee) textarea::placeholder {
    color: var(--ugv-creme-50);
}

body:not(.ug-veillee) input:focus,
body:not(.ug-veillee) select:focus,
body:not(.ug-veillee) textarea:focus {
    border-color: var(--ugv-or);
    box-shadow: 0 0 0 3px rgba(242, 178, 62, 0.15);
}

body:not(.ug-veillee) select option {
    background: var(--ugv-nuit2);
    color: var(--ugv-creme);
}

body:not(.ug-veillee) label {
    color: var(--ugv-creme-70);
}

/* ==========================================================================
   6. BOUTONS — le bouton feu de la home devient LE bouton du site
   ========================================================================== */
body:not(.ug-veillee) .button,
body:not(.ug-veillee) button[type="submit"],
body:not(.ug-veillee) input[type="submit"],
body:not(.ug-veillee) .btn-primary,
body:not(.ug-veillee) .single_add_to_cart_button,
body:not(.ug-veillee) .checkout-button,
body:not(.ug-veillee) .add_to_cart_button,
body:not(.ug-veillee) #place_order {
    background: var(--ugv-grad-feu) !important;
    color: var(--ug-neutral-black) !important;
    border: 0;
    border-radius: 999px !important;
    font-family: var(--font-body);
    font-weight: 800;
    transition: transform 0.25s, box-shadow 0.25s;
}

body:not(.ug-veillee) .button:hover,
body:not(.ug-veillee) button[type="submit"]:hover,
body:not(.ug-veillee) input[type="submit"]:hover,
body:not(.ug-veillee) .single_add_to_cart_button:hover,
body:not(.ug-veillee) .checkout-button:hover,
body:not(.ug-veillee) .add_to_cart_button:hover,
body:not(.ug-veillee) #place_order:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-gold);
    color: var(--ug-neutral-black) !important;
}

body:not(.ug-veillee) .btn-secondary {
    background: transparent;
    border: 1.5px solid rgba(246, 236, 217, 0.35);
    color: var(--ugv-creme);
    border-radius: 999px;
}

body:not(.ug-veillee) .btn-secondary:hover {
    background: transparent;
    border-color: var(--ugv-or);
    color: var(--ugv-or-pale);
}

/* ==========================================================================
   7. NOTICES WOOCOMMERCE
   ========================================================================== */
body:not(.ug-veillee) .woocommerce-message,
body:not(.ug-veillee) .woocommerce-info,
body:not(.ug-veillee) .woocommerce-error,
body:not(.ug-veillee) .woocommerce-noreviews,
body:not(.ug-veillee) .wc-block-components-notice-banner {
    background: var(--ugv-surface-solid) !important;
    color: var(--ugv-creme) !important;
    border: 1px solid var(--ugv-border);
    border-top: 3px solid var(--ugv-or);
    border-radius: 14px;
}

body:not(.ug-veillee) .woocommerce-error {
    border-top-color: var(--ugv-braise);
}

body:not(.ug-veillee) .woocommerce-message a,
body:not(.ug-veillee) .woocommerce-info a,
body:not(.ug-veillee) .woocommerce-error a {
    color: var(--ugv-or);
}

/* ==========================================================================
   8. BOUTIQUE — cartes produits façon « livres de la veillée »
   ========================================================================== */
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) ul.products li.product {
    background: var(--ugv-surface);
    border: 1px solid var(--ugv-border);
    border-radius: 22px;
    box-shadow: none;
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) ul.products li.product:hover {
    border-color: rgba(242, 178, 62, 0.55);
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.5);
}

/* Couvertures de livres : entières (contain), sur coussin nuit */
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) ul.products li.product img {
    object-fit: contain;
    height: 280px;
    padding: 18px 18px 6px;
    background: transparent;
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) ul.products li.product h2,
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) ul.products li.product .woocommerce-loop-product__title {
    color: var(--ugv-creme);
    font-family: var(--font-display);
    font-weight: 400;
    padding: 0 var(--spacing-lg);
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) ul.products li.product .price {
    color: var(--ugv-or);
    font-family: var(--font-body);
    font-weight: 800;
    padding: 0 var(--spacing-lg);
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) ul.products li.product .price del {
    color: var(--ugv-creme-50);
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) ul.products li.product .price ins {
    text-decoration: none;
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) ul.products li.product .button {
    width: calc(100% - 2 * var(--spacing-lg));
    margin: 0 var(--spacing-lg) var(--spacing-lg);
}

/* Badge promo façon « tag » des livres de la home */
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) span.onsale {
    background: var(--ugv-braise);
    color: var(--ug-neutral-black);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-radius: 999px;
    padding: 0.3rem 0.8rem;
    min-width: 0;
    min-height: 0;
    line-height: 1.6;
}

/* Tri, compteur, fil d'ariane */
body:not(.ug-veillee) .woocommerce-result-count,
body:not(.ug-veillee) .woocommerce-breadcrumb {
    color: var(--ugv-creme-70) !important;
}

body:not(.ug-veillee) .woocommerce-breadcrumb a {
    color: var(--ugv-or);
}

body:not(.ug-veillee) .woocommerce-ordering select {
    background: rgba(246, 236, 217, 0.06);
    color: var(--ugv-creme);
}

/* Pagination */
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) nav.woocommerce-pagination ul.page-numbers li .page-numbers {
    background: transparent;
    border-color: rgba(242, 178, 62, 0.3);
    color: var(--ugv-creme-70);
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) nav.woocommerce-pagination ul.page-numbers li .page-numbers:hover,
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) nav.woocommerce-pagination ul.page-numbers li .page-numbers.current {
    background: var(--ugv-or);
    border-color: var(--ugv-or);
    color: var(--ug-neutral-black);
}

/* Étoiles d'avis */
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) .star-rating,
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) .star-rating span::before,
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) p.stars a {
    color: var(--ugv-or);
}

/* ==========================================================================
   9. FICHE PRODUIT
   ========================================================================== */
body:not(.ug-veillee) .product-header-ug,
body:not(.ug-veillee) .product-title-ug,
body:not(.ug-veillee) .product-meta-ug {
    background: transparent;
    color: var(--ugv-creme);
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product .woocommerce-product-gallery img {
    border-radius: 18px;
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.55);
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product p.price,
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product span.price {
    color: var(--ugv-or);
    font-weight: 800;
    font-size: 1.5rem;
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product p.price del,
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product span.price del {
    color: var(--ugv-creme-50);
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product .woocommerce-product-details__short-description {
    color: var(--ugv-creme-70);
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product form.cart .quantity .qty {
    background: rgba(246, 236, 217, 0.06);
    color: var(--ugv-creme);
    border: 1.5px solid rgba(242, 178, 62, 0.25);
}

body:not(.ug-veillee) .product_meta,
body:not(.ug-veillee) .product-categories-ug {
    color: var(--ugv-creme-50) !important;
}

body:not(.ug-veillee) .product_meta a {
    color: var(--ugv-or);
}

/* Onglets description / avis */
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product .woocommerce-tabs ul.tabs {
    padding: 0;
    margin-bottom: 0;
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product .woocommerce-tabs ul.tabs::before,
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product .woocommerce-tabs ul.tabs li::before,
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product .woocommerce-tabs ul.tabs li::after {
    display: none;
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product .woocommerce-tabs ul.tabs li,
body:not(.ug-veillee) .wc-tabs li {
    background: transparent !important;
    border: 1.5px solid rgba(246, 236, 217, 0.25) !important;
    border-radius: 999px !important;
    margin: 0 0.5rem 0.6rem 0;
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product .woocommerce-tabs ul.tabs li a,
body:not(.ug-veillee) .wc-tabs li a {
    color: var(--ugv-creme-70) !important;
    background: transparent !important;
    font-weight: 600;
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product .woocommerce-tabs ul.tabs li.active,
body:not(.ug-veillee) .wc-tabs li.active {
    border-color: var(--ugv-or) !important;
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product .woocommerce-tabs ul.tabs li.active a,
body:not(.ug-veillee) .wc-tabs li.active a {
    color: var(--ugv-or) !important;
}

body:not(.ug-veillee) .woocommerce-Tabs-panel {
    background: transparent !important;
    color: var(--ugv-creme-70);
}

body:not(.ug-veillee) .woocommerce-Tabs-panel h2 {
    color: var(--ugv-creme);
}

/* Avis */
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) #reviews #comments ol.commentlist li .comment-text {
    background: var(--ugv-surface-solid);
    border: 1px solid var(--ugv-border);
    border-radius: 14px;
    color: var(--ugv-creme-70);
}

body:not(.ug-veillee) #review_form #respond,
body:not(.ug-veillee) .comment-respond {
    background: transparent;
    color: var(--ugv-creme-70);
}

/* Produits liés : mêmes cartes que la boutique (héritent de la section 8) */
body:not(.ug-veillee) section.related.products > h2 {
    color: var(--ugv-creme);
}

/* ==========================================================================
   10. PANIER
   ========================================================================== */
/* Barre de progression (partagée panier / checkout) */
body:not(.ug-veillee) .checkout-progress-bar {
    background: transparent !important;
    box-shadow: none !important;
    padding: 26px 20px 6px;
}

body:not(.ug-veillee) .checkout-progress-bar .progress-container {
    display: flex !important;
    max-width: 600px;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
}

body:not(.ug-veillee) .checkout-progress-bar .progress-step {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

body:not(.ug-veillee) .checkout-progress-bar .step-circle {
    display: flex !important;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: rgba(246, 236, 217, 0.08);
    border: 1.5px solid rgba(246, 236, 217, 0.25);
    color: var(--ugv-creme-70);
    font-weight: 700;
}

body:not(.ug-veillee) .checkout-progress-bar .progress-step.active .step-circle {
    background: var(--ugv-grad-feu);
    border-color: transparent;
    color: var(--ug-neutral-black);
}

body:not(.ug-veillee) .checkout-progress-bar .step-label {
    color: var(--ugv-creme-50);
    font-size: 0.85rem;
}

body:not(.ug-veillee) .checkout-progress-bar .progress-step.active .step-label {
    color: var(--ugv-creme);
    font-weight: 600;
}

body:not(.ug-veillee) .checkout-progress-bar .progress-connector {
    display: block !important;
    width: 70px;
    height: 2px;
    margin: 0 10px 24px;
    background: rgba(246, 236, 217, 0.15);
}

body:not(.ug-veillee) .checkout-progress-bar .progress-step.active + .progress-connector {
    background: var(--ugv-grad-feu);
}

/* En-tête et hero du panier */
body:not(.ug-veillee) .cart-page-header {
    background: transparent !important;
    color: var(--ugv-creme);
}

body:not(.ug-veillee) .cart-page-header .page-subtitle {
    color: var(--ugv-creme-70);
}

/* Tableau du panier — surcharge les blancs inline de cart.php */
body.woocommerce-cart:not(.ug-veillee) table.shop_table,
body.woocommerce-cart:not(.ug-veillee) .woocommerce-cart-form,
body.woocommerce-cart:not(.ug-veillee) .cart-collaterals .cart_totals {
    background: var(--ugv-surface-solid) !important;
    border: 1px solid var(--ugv-border) !important;
    border-radius: 18px !important;
    color: var(--ugv-creme) !important;
    box-shadow: none !important;
}

body.woocommerce-cart:not(.ug-veillee) table.shop_table th {
    background: rgba(36, 26, 63, 0.85) !important;
    color: var(--ugv-or-pale) !important;
    border-color: rgba(246, 236, 217, 0.08) !important;
}

body.woocommerce-cart:not(.ug-veillee) table.shop_table td {
    background: transparent !important;
    border-color: rgba(246, 236, 217, 0.08) !important;
    color: var(--ugv-creme) !important;
}

body.woocommerce-cart:not(.ug-veillee) table.shop_table td a {
    color: var(--ugv-creme);
}

body.woocommerce-cart:not(.ug-veillee) table.shop_table td.product-price,
body.woocommerce-cart:not(.ug-veillee) table.shop_table td.product-subtotal,
body.woocommerce-cart:not(.ug-veillee) .cart_totals .woocommerce-Price-amount {
    color: var(--ugv-or) !important;
    font-weight: 700;
}

body.woocommerce-cart:not(.ug-veillee) a.remove {
    color: var(--ugv-braise) !important;
    background: transparent;
}

body.woocommerce-cart:not(.ug-veillee) a.remove:hover {
    color: var(--ug-neutral-black) !important;
    background: var(--ugv-braise);
}

/* Panier vide */
body:not(.ug-veillee) .empty-cart-section {
    background: transparent !important;
    color: var(--ugv-creme);
}

body:not(.ug-veillee) .empty-cart-section .category-card {
    background: var(--ugv-surface);
    border: 1px solid var(--ugv-border);
    border-radius: 16px;
    color: var(--ugv-creme);
}

body:not(.ug-veillee) .empty-cart-section .category-card:hover {
    border-color: var(--ugv-border-strong);
}

body:not(.ug-veillee) .continue-shopping-btn {
    background: var(--ugv-grad-feu);
    color: var(--ug-neutral-black);
    border-radius: 999px;
    font-weight: 800;
}

/* Modal suppression article */
body:not(.ug-veillee) #remove-item-modal .modal-content {
    background: var(--ugv-surface-solid);
    border: 1px solid var(--ugv-border-strong);
    color: var(--ugv-creme);
    border-radius: 18px;
}

/* ==========================================================================
   11. CHECKOUT — surcharge les styles inline !important de form-checkout.php
   ========================================================================== */
body.woocommerce-checkout:not(.ug-veillee) .checkout-enhanced {
    background: transparent !important;
}

body.woocommerce-checkout:not(.ug-veillee) form.woocommerce-checkout {
    background: var(--ugv-surface-solid) !important;
    border: 1px solid var(--ugv-border) !important;
    border-radius: 22px !important;
    box-shadow: none !important;
}

body.woocommerce-checkout:not(.ug-veillee) .col2-set,
body.woocommerce-checkout:not(.ug-veillee) .woocommerce-checkout .col2-set {
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-checkout:not(.ug-veillee) form.woocommerce-checkout h2,
body.woocommerce-checkout:not(.ug-veillee) form.woocommerce-checkout h3,
body.woocommerce-checkout:not(.ug-veillee) #order_review_heading {
    color: var(--ugv-creme) !important;
}

body.woocommerce-checkout:not(.ug-veillee) form.woocommerce-checkout label {
    color: var(--ugv-creme-70) !important;
}

body.woocommerce-checkout:not(.ug-veillee) .woocommerce-checkout input[type="text"],
body.woocommerce-checkout:not(.ug-veillee) .woocommerce-checkout input[type="email"],
body.woocommerce-checkout:not(.ug-veillee) .woocommerce-checkout input[type="tel"],
body.woocommerce-checkout:not(.ug-veillee) .woocommerce-checkout select,
body.woocommerce-checkout:not(.ug-veillee) .woocommerce-checkout textarea,
body.woocommerce-checkout:not(.ug-veillee) .select2-container--default .select2-selection--single {
    background: rgba(246, 236, 217, 0.06) !important;
    border: 1.5px solid rgba(242, 178, 62, 0.25) !important;
    color: var(--ugv-creme) !important;
    border-radius: 10px !important;
}

body.woocommerce-checkout:not(.ug-veillee) .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--ugv-creme);
}

/* Récap commande + paiement */
body.woocommerce-checkout:not(.ug-veillee) #order_review,
body.woocommerce-checkout:not(.ug-veillee) .woocommerce-checkout-review-order {
    background: transparent !important;
    border: 0 !important;
}

body.woocommerce-checkout:not(.ug-veillee) table.shop_table {
    background: rgba(36, 26, 63, 0.5) !important;
    border: 1px solid var(--ugv-border) !important;
    border-radius: 14px !important;
    color: var(--ugv-creme) !important;
}

body.woocommerce-checkout:not(.ug-veillee) table.shop_table th,
body.woocommerce-checkout:not(.ug-veillee) table.shop_table td {
    background: transparent !important;
    border-color: rgba(246, 236, 217, 0.08) !important;
    color: var(--ugv-creme) !important;
}

body.woocommerce-checkout:not(.ug-veillee) table.shop_table .woocommerce-Price-amount {
    color: var(--ugv-or);
    font-weight: 700;
}

body.woocommerce-checkout:not(.ug-veillee) #payment,
body.woocommerce-checkout:not(.ug-veillee) .woocommerce-checkout #payment {
    background: rgba(36, 26, 63, 0.5) !important;
    border: 1px solid var(--ugv-border) !important;
    border-radius: 14px !important;
}

body.woocommerce-checkout:not(.ug-veillee) #payment div.payment_box,
body.woocommerce-checkout:not(.ug-veillee) .woocommerce-checkout #payment div.payment_box {
    background: rgba(246, 236, 217, 0.07) !important;
    color: var(--ugv-creme-70) !important;
}

body.woocommerce-checkout:not(.ug-veillee) #payment div.payment_box::before {
    border-bottom-color: rgba(246, 236, 217, 0.07) !important;
}

body.woocommerce-checkout:not(.ug-veillee) #payment .payment_methods li,
body.woocommerce-checkout:not(.ug-veillee) #payment label {
    color: var(--ugv-creme) !important;
}

/* Bandeau invité + progression livraison gratuite */
body.woocommerce-checkout:not(.ug-veillee) .guest-checkout-banner {
    background: linear-gradient(120deg, rgba(255, 122, 60, 0.1), rgba(138, 99, 201, 0.12)) !important;
    border: 1.5px dashed var(--ugv-border-strong) !important;
    border-radius: 20px !important;
    box-shadow: none !important;
}

body.woocommerce-checkout:not(.ug-veillee) .guest-checkout-text h3,
body.woocommerce-checkout:not(.ug-veillee) .guest-checkout-text p {
    color: var(--ugv-creme) !important;
}

body.woocommerce-checkout:not(.ug-veillee) .benefit-item {
    color: var(--ugv-or-pale) !important;
}

body.woocommerce-checkout:not(.ug-veillee) .free-shipping-progress {
    background: var(--ugv-surface-solid) !important;
    border: 1px solid var(--ugv-border-strong) !important;
    border-radius: 16px !important;
}

body.woocommerce-checkout:not(.ug-veillee) .shipping-message,
body.woocommerce-checkout:not(.ug-veillee) .shipping-progress-footer {
    color: var(--ugv-creme-70) !important;
}

body.woocommerce-checkout:not(.ug-veillee) .shipping-progress-bar {
    background: rgba(246, 236, 217, 0.12) !important;
}

body.woocommerce-checkout:not(.ug-veillee) .shipping-progress-fill {
    background: var(--ugv-grad-feu) !important;
}

body.woocommerce-checkout:not(.ug-veillee) .progress-percentage {
    color: var(--ug-neutral-black) !important;
}

/* ==========================================================================
   12. MON COMPTE / COMMANDES
   ========================================================================== */
body:not(.ug-veillee) .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

body:not(.ug-veillee) .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 0.7rem 1.1rem;
    border: 1px solid var(--ugv-border);
    border-radius: 12px;
    margin-bottom: 0.5rem;
    color: var(--ugv-creme-70);
    background: var(--ugv-surface);
}

body:not(.ug-veillee) .woocommerce-MyAccount-navigation li.is-active a,
body:not(.ug-veillee) .woocommerce-MyAccount-navigation li a:hover {
    color: var(--ugv-or);
    border-color: var(--ugv-border-strong);
}

body:not(.ug-veillee) .woocommerce-MyAccount-content table.shop_table {
    background: var(--ugv-surface-solid);
    border: 1px solid var(--ugv-border);
    border-radius: 14px;
    color: var(--ugv-creme);
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) form.login,
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) form.register,
body:not(.ug-veillee) .woocommerce-form-coupon {
    background: var(--ugv-surface-solid);
    border: 1px solid var(--ugv-border) !important;
    border-radius: 18px;
    color: var(--ugv-creme);
}

/* ==========================================================================
   13. BLOG & PAGES ÉDITORIALES (cartes « product-card-enhanced », heros)
   ========================================================================== */
body:not(.ug-veillee) .hero-banner {
    background: transparent;
    color: var(--ugv-creme);
}

body:not(.ug-veillee) .hero-banner .hero-quote,
body:not(.ug-veillee) .page-subtitle,
body:not(.ug-veillee) .section-header p,
body:not(.ug-veillee) .section-subtitle {
    color: var(--ugv-creme-70);
}

body:not(.ug-veillee) .product-card-enhanced {
    background: var(--ugv-surface) !important;
    border: 1px solid var(--ugv-border) !important;
    border-radius: 22px !important;
    box-shadow: none !important;
    color: var(--ugv-creme);
}

body:not(.ug-veillee) .product-card-enhanced:hover {
    border-color: rgba(242, 178, 62, 0.55) !important;
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.5) !important;
}

body:not(.ug-veillee) .product-card-enhanced h2,
body:not(.ug-veillee) .product-card-enhanced h3,
body:not(.ug-veillee) .product-title-enhanced,
body:not(.ug-veillee) .product-title-enhanced a {
    color: var(--ugv-creme) !important;
}

body:not(.ug-veillee) .product-title-enhanced a:hover {
    color: var(--ugv-or-pale) !important;
}

body:not(.ug-veillee) .product-meta-enhanced,
body:not(.ug-veillee) .product-specs-enhanced,
body:not(.ug-veillee) .product-content-enhanced p {
    color: var(--ugv-creme-70) !important;
}

body:not(.ug-veillee) .product-categories-enhanced a,
body:not(.ug-veillee) .product-categories-enhanced span {
    background: rgba(242, 178, 62, 0.12);
    color: var(--ugv-or-pale);
    border-radius: 999px;
}

body:not(.ug-veillee) .product-price-enhanced {
    color: var(--ugv-or) !important;
    font-weight: 800;
}

/* Contenu d'article (single post) */
body:not(.ug-veillee) .entry-content,
body:not(.ug-veillee) .entry-content p,
body:not(.ug-veillee) .entry-content li {
    color: var(--ugv-creme);
}

body:not(.ug-veillee) .entry-content a {
    color: var(--ugv-or);
}

body:not(.ug-veillee) .entry-content blockquote {
    border-left: 3px solid var(--ugv-or);
    background: rgba(242, 178, 62, 0.07);
    color: var(--ugv-creme-70);
}

/* Les blocs à fond clair posés DANS le contenu gardent leur lisibilité */
body:not(.ug-veillee) .entry-content .has-white-background-color,
body:not(.ug-veillee) .entry-content .has-white-background-color p,
body:not(.ug-veillee) .entry-content .has-white-background-color li {
    color: #2d2d2d;
}

/* ==========================================================================
   14. WIDGETS TIERS — multi-devise, GTranslate
   ========================================================================== */
body:not(.ug-veillee) .woo-multi-currency .wmc-currency,
body:not(.ug-veillee) .woo-multi-currency .wmc-current-currency {
    background: rgba(15, 13, 38, 0.95) !important;
    color: var(--ugv-creme) !important;
    border: 1px solid rgba(242, 178, 62, 0.3) !important;
}

body:not(.ug-veillee) .woo-multi-currency .wmc-currency a {
    color: var(--ugv-creme) !important;
}

body:not(.ug-veillee) .woo-multi-currency .wmc-currency.wmc-active,
body:not(.ug-veillee) .woo-multi-currency .wmc-currency:hover {
    background: var(--ugv-grad-feu) !important;
}

body:not(.ug-veillee) .woo-multi-currency .wmc-currency.wmc-active a,
body:not(.ug-veillee) .woo-multi-currency .wmc-currency:hover a {
    color: var(--ug-neutral-black) !important;
}

body:not(.ug-veillee) .gt_selector,
body:not(.ug-veillee) select.gt_selector {
    background: rgba(246, 236, 217, 0.08);
    color: var(--ugv-creme);
    border: 1px solid rgba(242, 178, 62, 0.3);
    border-radius: 999px;
}

/* ==========================================================================
   15. DIVERS — heading Madara, cartes génériques, tables, 404
   ========================================================================== */
body:not(.ug-veillee) .c-blog__heading,
body:not(.ug-veillee) .c-blog__heading .h4 {
    color: var(--ugv-creme);
    background: transparent;
}

body:not(.ug-veillee) .card {
    background: var(--ugv-surface);
    border: 1px solid var(--ugv-border);
}

body:not(.ug-veillee) table {
    color: var(--ugv-creme);
}

body:not(.ug-veillee) .error-404,
body:not(.ug-veillee) .error-404 .entry-title {
    color: var(--ugv-creme);
}

/* Sécurité contraste : ne jamais laisser un aplat blanc Madara derrière le contenu */
body:not(.ug-veillee) .c-page,
body:not(.ug-veillee) .c-page__content,
body:not(.ug-veillee) .entry-header,
body:not(.ug-veillee) .read-container {
    background: transparent !important;
}

/* ==========================================================================
   16. CORRECTIFS QA (2e passe) — surcharges des styles inline des templates
   ========================================================================== */

/* --- Fiche produit : carte blanche inline #product-XXXX + entête marron --- */
body:not(.ug-veillee) div.product[id^="product-"] {
    background: var(--ugv-surface-solid) !important;
    border: 1px solid var(--ugv-border);
    box-shadow: none !important;
    font-family: var(--font-body) !important;
    color: var(--ugv-creme);
}

body:not(.ug-veillee) .product-header-ug {
    background: transparent !important;
    color: var(--ugv-creme) !important;
}

body:not(.ug-veillee) .product-header-ug .product-title-ug,
body:not(.ug-veillee) div.product .product_title {
    color: var(--ugv-creme) !important;
}

body:not(.ug-veillee) .product_meta {
    background: rgba(246, 236, 217, 0.05) !important;
    border: 1px solid var(--ugv-border);
    border-radius: 12px;
    color: var(--ugv-creme-50) !important;
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product p.price ins,
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product span.price ins {
    text-decoration: none;
}

/* Badge promo (texte « sale ») : pastille braise, y compris sur la fiche */
body:not(.ug-veillee) span.onsale {
    background: var(--ugv-braise) !important;
    color: var(--ug-neutral-black) !important;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-radius: 999px !important;
    padding: 0.3rem 0.8rem !important;
    min-width: 0 !important;
    min-height: 0 !important;
    line-height: 1.6 !important;
}

/* --- Panier : panneau clair .cart-enhanced + lignes blanches --- */
body.woocommerce-cart:not(.ug-veillee) .cart-enhanced {
    background: transparent !important;
}

body.woocommerce-cart:not(.ug-veillee) .woocommerce-cart-form__contents tbody tr {
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-cart:not(.ug-veillee) .woocommerce-cart-form__contents tbody tr:hover {
    background: rgba(242, 178, 62, 0.06) !important;
}

body.woocommerce-cart:not(.ug-veillee) .cart-actions {
    background: rgba(246, 236, 217, 0.04) !important;
}

body.woocommerce-cart:not(.ug-veillee) .cart-empty {
    background: var(--ugv-surface-solid) !important;
    border: 1px solid var(--ugv-border) !important;
    color: var(--ugv-creme);
}

/* Sélecteurs de quantité (panier + fiche produit) */
body:not(.ug-veillee) .quantity .qty,
body:not(.ug-veillee) .quantity input[type="number"],
body:not(.ug-veillee) .quantity button,
body:not(.ug-veillee) .quantity .plus,
body:not(.ug-veillee) .quantity .minus {
    background: rgba(246, 236, 217, 0.06) !important;
    color: var(--ugv-creme) !important;
    border: 1.5px solid rgba(242, 178, 62, 0.25) !important;
}

/* --- Checkout : cartes blanches des moyens de paiement + rangée commande --- */
body.woocommerce-checkout:not(.ug-veillee) #payment ul.payment_methods li,
body.woocommerce-checkout:not(.ug-veillee) #payment .wc_payment_method,
body.woocommerce-checkout:not(.ug-veillee) #payment li.wc_payment_method > label {
    background: rgba(246, 236, 217, 0.06) !important;
    color: var(--ugv-creme) !important;
    border-radius: 12px;
}

body.woocommerce-checkout:not(.ug-veillee) #payment ul.payment_methods li label,
body.woocommerce-checkout:not(.ug-veillee) #payment ul.payment_methods li p {
    color: var(--ugv-creme) !important;
}

body.woocommerce-checkout:not(.ug-veillee) #payment .place-order,
body.woocommerce-checkout:not(.ug-veillee) .form-row.place-order,
body.woocommerce-checkout:not(.ug-veillee) .woocommerce-terms-and-conditions-wrapper {
    background: transparent !important;
}

/* --- Bandeau « Affichage des N résultats » (heading Madara style-2) --- */
body:not(.ug-veillee) .c-blog__heading.style-2 {
    background: transparent !important;
    border: 0 !important;
}

body:not(.ug-veillee) .c-blog__heading.style-2 h4 {
    color: var(--ugv-creme-70) !important;
    font-family: var(--font-body);
    font-weight: 500;
    letter-spacing: 0.06em;
}

body:not(.ug-veillee) .c-blog__heading.style-2 h4 .icon {
    background: transparent !important;
    color: var(--ugv-or) !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* --- Chips date/auteur du blog (pills blanches) --- */
body:not(.ug-veillee) .product-meta-enhanced span,
body:not(.ug-veillee) .blog-post-card .post-date,
body:not(.ug-veillee) .blog-post-card .post-author {
    background: rgba(246, 236, 217, 0.08);
    color: var(--ugv-creme-70);
    border-radius: 999px;
}

/* ==========================================================================
   17. CORRECTIFS QA (3e passe) — finitions
   ========================================================================== */

/* Meta d'article parasite sur les PAGES statiques (ex. « posted on 2018 » sur Mon compte) */
body.page:not(.ug-veillee) .entry-header .entry-meta {
    display: none;
}

/* Barre de navigation par catégories (Nos Créations) : passe en nuit */
body:not(.ug-veillee) .category-nav-container {
    background: rgba(15, 13, 38, 0.92) !important;
    border-bottom: 1px solid var(--ugv-border);
}

/* Bouton « Ajouter au panier » de la fiche produit : pilule confortable, pas de retour à la ligne */
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) div.product form.cart .single_add_to_cart_button {
    white-space: nowrap;
    padding: 1rem 1.8rem;
}

/* ==========================================================================
   18. CARTES COMPACTES & PRO (blog + boutique)
   ========================================================================== */

/* --- Boutique : cartes resserrées, titres apaisés --- */
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) ul.products {
    max-width: 1120px;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 1.6rem;
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) ul.products li.product img {
    height: 200px;
    padding: 14px 14px 4px;
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) ul.products li.product h2,
body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) ul.products li.product .woocommerce-loop-product__title {
    font-size: 1.02rem !important;
    line-height: 1.4;
    text-transform: none !important;
    letter-spacing: normal !important;
    margin: 0.9rem 0 0.35rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 0 !important;
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) ul.products li.product .price {
    font-size: 1.05rem !important;
    margin-bottom: 0.8rem;
}

body:not(.ug-veillee):is(.woocommerce,.woocommerce-page) ul.products li.product .button {
    padding: 0.6rem 1rem;
    font-size: 0.88rem;
    margin-bottom: 1rem;
}

/* --- Blog : vignettes uniformes, extraits clampés, chips discrets --- */
body:not(.ug-veillee) .products-grid.blog-grid {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    gap: 1.6rem !important;
    max-width: 1160px;
    margin-left: auto !important;
    margin-right: auto !important;
}

body:not(.ug-veillee) .blog-post-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

body:not(.ug-veillee) .blog-post-card .product-image-enhanced {
    height: 185px !important;
    min-height: 0 !important;
    max-height: 185px !important;
    overflow: hidden;
    border-radius: 0;
}

body:not(.ug-veillee) .blog-post-card .product-image-enhanced img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 25%;
}

body:not(.ug-veillee) .blog-post-card .product-content-enhanced {
    padding: 1.1rem 1.25rem 1.25rem !important;
    display: flex;
    flex-direction: column;
    flex: 1;
}

body:not(.ug-veillee) .blog-post-card .product-title-enhanced,
body:not(.ug-veillee) .blog-post-card h3 {
    font-size: 1.12rem !important;
    line-height: 1.35 !important;
    margin: 0.5rem 0 0.4rem !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body:not(.ug-veillee) .blog-post-card .product-content-enhanced p {
    font-size: 0.92rem !important;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 0.8rem;
}

body:not(.ug-veillee) .blog-post-card .product-meta-enhanced {
    gap: 0.5rem;
}

body:not(.ug-veillee) .blog-post-card .product-meta-enhanced span {
    font-size: 0.74rem !important;
    padding: 0.15rem 0.6rem !important;
}

body:not(.ug-veillee) .blog-post-card .product-categories-enhanced a,
body:not(.ug-veillee) .blog-post-card .product-categories-enhanced span {
    font-size: 0.72rem !important;
    padding: 0.15rem 0.6rem !important;
}

body:not(.ug-veillee) .blog-post-card .product-footer-enhanced {
    margin-top: auto;
    padding-top: 0.4rem;
}

body:not(.ug-veillee) .blog-post-card .product-footer-enhanced a,
body:not(.ug-veillee) .blog-post-card .read-more-btn {
    font-size: 0.88rem !important;
    padding: 0.5rem 1.1rem !important;
}

/* ==========================================================================
   19. NOS CRÉATIONS (et grilles éditoriales hors blog) — cartes compactes
   ========================================================================== */

/* Grille : resserrée et centrée (48px de gouttière → 1.6rem, largeur bornée) */
body:not(.ug-veillee) .products-grid {
    gap: 1.6rem !important;
    max-width: 1160px;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Zone visuelle : 440px → 240px, couverture ENTIÈRE (contain, jamais recadrée) */
body:not(.ug-veillee) .product-card-enhanced:not(.blog-post-card) .product-image-enhanced {
    height: 240px !important;
    min-height: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 16px 6px;
    overflow: hidden;
}

body:not(.ug-veillee) .product-card-enhanced:not(.blog-post-card) .product-image-enhanced img {
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto;
}

body:not(.ug-veillee) .product-card-enhanced:not(.blog-post-card) .book-cover-3d {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: none !important;
}

/* Contenu : titres 30px → ~18px clampés, texte contenu, padding raisonnable */
body:not(.ug-veillee) .product-card-enhanced:not(.blog-post-card) .product-content-enhanced {
    padding: 1rem 1.25rem 1.25rem !important;
    display: flex;
    flex-direction: column;
    flex: 1;
}

body:not(.ug-veillee) .product-card-enhanced:not(.blog-post-card) h2,
body:not(.ug-veillee) .product-card-enhanced:not(.blog-post-card) h3,
body:not(.ug-veillee) .product-card-enhanced:not(.blog-post-card) .product-title-enhanced {
    font-size: 1.15rem !important;
    line-height: 1.35 !important;
    margin: 0.45rem 0 0.4rem !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body:not(.ug-veillee) .product-card-enhanced:not(.blog-post-card) .product-content-enhanced p {
    font-size: 0.92rem !important;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 0.7rem;
}

/* Chips, specs et meta : discrets */
body:not(.ug-veillee) .product-card-enhanced:not(.blog-post-card) .product-categories-enhanced a,
body:not(.ug-veillee) .product-card-enhanced:not(.blog-post-card) .product-categories-enhanced span,
body:not(.ug-veillee) .product-card-enhanced:not(.blog-post-card) .product-meta-enhanced span {
    font-size: 0.72rem !important;
    padding: 0.15rem 0.6rem !important;
}

body:not(.ug-veillee) .product-card-enhanced:not(.blog-post-card) .product-specs-enhanced {
    font-size: 0.82rem !important;
    gap: 0.4rem !important;
    margin: 0.3rem 0 !important;
}

/* Pied de carte : prix or lisible, boutons fins, collé en bas */
body:not(.ug-veillee) .product-card-enhanced:not(.blog-post-card) .product-footer-enhanced {
    margin-top: auto;
    padding-top: 0.5rem;
}

body:not(.ug-veillee) .product-card-enhanced:not(.blog-post-card) .product-price-enhanced {
    font-size: 1.1rem !important;
}

body:not(.ug-veillee) .product-card-enhanced:not(.blog-post-card) .product-actions-enhanced a,
body:not(.ug-veillee) .product-card-enhanced:not(.blog-post-card) .product-actions-enhanced .button {
    font-size: 0.88rem !important;
    padding: 0.55rem 1.1rem !important;
}

/* --- Nos Créations : fonds de sections clairs + cartes services blanches --- */
/* Les sections gardaient des dégradés blancs (inline) ; les cartes services étaient
   blanches avec le texte passé en crème par la skin = illisible. Tout passe en nuit. */
body:not(.ug-veillee) section.section {
    background: transparent !important;
}

body:not(.ug-veillee) .service-main-card-redesigned,
body:not(.ug-veillee) .service-card-numbered {
    background: var(--ugv-surface-solid) !important;
    border: 1px solid var(--ugv-border) !important;
    box-shadow: none !important;
    border-radius: 20px !important;
}

body:not(.ug-veillee) .service-hero-image,
body:not(.ug-veillee) .service-image-uniform {
    background: rgba(246, 236, 217, 0.06) !important;
    border-radius: 14px;
}

body:not(.ug-veillee) .service-premium-badge {
    background: var(--ugv-grad-feu) !important;
    color: var(--ug-neutral-black) !important;
}

body:not(.ug-veillee) .service-number-badge {
    background: var(--ugv-braise) !important;
    color: var(--ug-neutral-black) !important;
}

/* ==========================================================================
   20. SÉLECTEUR DE LANGUE TRANSLATEPRESS
   ==========================================================================
   Le sélecteur flottant du plugin était une pastille BLANCHE en bas de page,
   sur tout le site : la seule surface claire restante de la skin.

   Le plugin pose ses couleurs en variables CSS *inline* sur le <nav>
   (--bg, --text, --border…) et son propre CSS les consomme. On redéfinit donc
   ces variables plutôt que d'aller surcharger ses règles une par une — d'où
   les !important, seuls capables de battre un style inline.

   ⚠️ Volontairement NON scopé body:not(.ug-veillee) : le sélecteur est injecté
   sur toutes les pages, homepage « La Veillée » comprise, et elle est nuit
   indigo elle aussi. La scoper aurait laissé la pastille blanche sur l'accueil.
   ========================================================================== */

nav.trp-language-switcher.trp-floating-switcher {
    --bg: #171340 !important;
    --bg-hover: rgba(242, 178, 62, 0.18) !important;
    --text: #f6ecd9 !important;
    --text-hover: #f2b23e !important;
    --border: 1px solid rgba(242, 178, 62, 0.35) !important;

    /* L'ombre du plugin est un noir à 5 % pensé pour un fond clair : invisible
       sur la nuit. On la remplace par une ombre portée qui décolle réellement
       la pastille du fond. */
    box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.5) !important;
}

/* Le lien « English » héritait du `a { color: or }` global, l'élément courant
   du --text : les deux lignes du menu n'avaient pas la même couleur. On les
   aligne sur le crème, et c'est le survol qui passe à l'or. */
nav.trp-language-switcher.trp-floating-switcher a.trp-language-item,
nav.trp-language-switcher.trp-floating-switcher .trp-language-item a {
    color: var(--text) !important;
    text-decoration: none;
}

nav.trp-language-switcher.trp-floating-switcher a.trp-language-item:hover,
nav.trp-language-switcher.trp-floating-switcher a.trp-language-item:focus-visible,
nav.trp-language-switcher.trp-floating-switcher .trp-language-item:hover {
    color: var(--text-hover) !important;
}

/* Le focus clavier doit rester visible : l'élément courant est un div[role=button]
   sans contour par défaut, et il ouvre le menu. */
nav.trp-language-switcher.trp-floating-switcher .trp-language-item:focus-visible {
    outline: 2px solid var(--ugv-or, #f2b23e);
    outline-offset: -2px;
}

/* Le drapeau blanc sur fond nuit fait une tache dure : un liseré doux le pose. */
nav.trp-language-switcher.trp-floating-switcher .trp-flag-image {
    box-shadow: 0 0 0 1px rgba(246, 236, 217, 0.25);
}
