/*
 Theme Name:   Astra Child - SNEP Trophées
 Template:     astra
 Description:  Thème enfant Astra pour la plateforme B2B Trophées SNEP
 Version:      1.0
*/

/* --- Couleurs & typographie SNEP --- */
:root {
    --snep-bleu-marine: #1B2430;
    --snep-dore: #C9A227;
    --snep-blanc-casse: #F5F5F3;
}

body {
    font-family: 'Inter', sans-serif;
    color: var(--snep-bleu-marine);
}

h1, h2, h3,
.snep-titre-section {
    font-family: 'Inter', sans-serif;
    font-weight: 800;
}

/* Header */
.site-header,
.ast-primary-header,
.main-header-bar {
    background-color: var(--snep-bleu-marine) !important;
}

/* Navigation */
.main-navigation a,
.ast-primary-header-bar .main-header-bar-navigation a {
    font-family: 'Inter', sans-serif !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    font-size: 12px !important;
    color: #FFFFFF !important;

}

/* Footer */
.site-footer,
.ast-small-footer {
    background-color: #FFFFFF !important;
    color: var(--snep-bleu-marine);
}

/* Soulignement rouge au survol des liens de navigation */
.main-navigation a,
.ast-primary-header-bar .main-header-bar-navigation a {
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    font-size: 14px !important;
    color: #FFFFFF !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 12px;
    margin-right: 12px;
}

.main-navigation a,
.ast-primary-header-bar .main-header-bar-navigation a {
    display: inline-block;
    line-height: 1;
    padding-bottom: 6px;
    background-image: linear-gradient(#C93043, #C93043);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 0% 1px;
    transition: background-size 0.3s ease;
}

.main-navigation a:hover,
.ast-primary-header-bar .main-header-bar-navigation a:hover {
    background-size: 100% 1px;
}

/* ============================================
   PAGE MON COMPTE (connexion / inscription)
   Charte SNEP — cartes, inputs, boutons
============================================ */

body.woocommerce-account {
    background-color: var(--snep-blanc-casse);
}

.woocommerce-account .col2-set,
.woocommerce-account .u-columns {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    max-width: 1080px;
    margin: 60px auto;
    align-items: flex-start;
}

.woocommerce-account .col-1,
.woocommerce-account .col-2 {
    flex: 1 1 380px;
    background: #FFFFFF;
    border: 1px solid #e6e3da;
    border-radius: 6px;
    padding: 40px 36px;
    box-shadow: 0 20px 40px -30px rgba(27, 36, 48, 0.25);
}

.woocommerce-account .col-1 h2,
.woocommerce-account .col-2 h2 {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-size: 26px;
    color: var(--snep-bleu-marine);
    margin-bottom: 24px;
    border-bottom: 2px solid var(--snep-dore);
    padding-bottom: 12px;
    display: inline-block;
}

.woocommerce-account form label {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--snep-bleu-marine);
    margin-bottom: 6px;
    display: block;
}

.woocommerce-account form .required {
    color: #C93043;
}

.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="password"],
.woocommerce-account form input[type="tel"],
.woocommerce-account form input[type="number"],
.woocommerce-account form select,
.woocommerce-account form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d8d5cc;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--snep-bleu-marine);
    background: #FAFAF8;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    margin-bottom: 18px;
}

.woocommerce-account form input:focus,
.woocommerce-account form select:focus,
.woocommerce-account form textarea:focus {
    outline: none;
    border-color: var(--snep-dore);
    box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15);
    background: #FFFFFF;
}

.woocommerce-account form .woocommerce-form-login__rememberme {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--snep-bleu-marine);
}

.woocommerce-account form button[type="submit"],
.woocommerce-account form input[type="submit"] {
    background-color: var(--snep-bleu-marine) !important;
    color: #FFFFFF !important;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 13px 28px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.15s ease;
}

.woocommerce-account form button[type="submit"]:hover,
.woocommerce-account form input[type="submit"]:hover {
    background-color: var(--snep-dore) !important;
    color: var(--snep-bleu-marine) !important;
    transform: translateY(-1px);
}

.woocommerce-account form a,
.woocommerce-account .woocommerce-LostPassword a {
    color: var(--snep-bleu-marine);
    font-weight: 600;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s ease, color 0.2s ease;
}

.woocommerce-account form a:hover {
    color: #C93043;
    border-bottom-color: #C93043;
}

@media (max-width: 860px) {
    .woocommerce-account .col2-set,
    .woocommerce-account .u-columns {
        flex-direction: column;
        margin: 32px 20px;
    }
    .woocommerce-account .col-1,
    .woocommerce-account .col-2 {
        padding: 28px 24px;
    }
}

/* Bascule connexion / inscription sur la page Mon compte : un seul bloc visible à la fois */
.woocommerce-account .col2-set .col-2,
.woocommerce-account .u-columns .col-2 {
    display: none;
}
.woocommerce-account .col2-set.snep-mode-register .col-1,
.woocommerce-account .u-columns.snep-mode-register .col-1 {
    display: none;
}
.woocommerce-account .col2-set.snep-mode-register .col-2,
.woocommerce-account .u-columns.snep-mode-register .col-2 {
    display: block;
}

.snep-toggle-register {
    max-width: 1080px;
    margin: 0 auto 60px;
    padding: 0 16px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--snep-bleu-marine);
}
.snep-toggle-register a {
    color: var(--snep-dore);
    font-weight: 700;
    cursor: pointer;
    border-bottom: 1px solid var(--snep-dore);
}
.snep-toggle-register a:hover {
    color: #C93043;
    border-bottom-color: #C93043;
}

/* Espace entre la case à cocher et son libellé (ex. "adresse identique à la facturation") */
.woocommerce-account form input[type="checkbox"], 
.b2bking_checkbox_registration_field {
    margin-right: 8px !important;
}

/* ============================================
   FORMULAIRE DE DEMANDE DE DEVIS
============================================ */

.snep-devis-form {
    max-width: 640px;
    margin: 40px auto;
    padding: 40px 36px;
    background: #FFFFFF;
    border: 1px solid #e6e3da;
    border-radius: 6px;
    box-shadow: 0 20px 40px -30px rgba(27, 36, 48, 0.25);
}

.snep-devis-form label {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--snep-bleu-marine);
    margin-bottom: 6px;
    display: block;
}

.snep-devis-form input[type="text"],
.snep-devis-form input[type="number"],
.snep-devis-form input[type="email"],
.snep-devis-form input[type="tel"],
.snep-devis-form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d8d5cc;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--snep-bleu-marine);
    background: #FAFAF8;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    margin-bottom: 18px;
}

.snep-devis-form input:focus,
.snep-devis-form textarea:focus {
    outline: none;
    border-color: var(--snep-dore);
    box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15);
    background: #FFFFFF;
}

.snep-devis-form textarea {
    min-height: 100px;
    resize: vertical;
}

.snep-devis-form button[type="submit"] {
    background-color: var(--snep-bleu-marine);
    color: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 13px 28px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.15s ease;
}

.snep-devis-form button[type="submit"]:hover {
    background-color: var(--snep-dore);
    color: var(--snep-bleu-marine);
    transform: translateY(-1px);
}

.snep-devis-success {
    max-width: 640px;
    margin: 40px auto;
    padding: 24px 28px;
    background: #FFFFFF;
    border-left: 4px solid var(--snep-dore);
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: var(--snep-bleu-marine);
    box-shadow: 0 20px 40px -30px rgba(27, 36, 48, 0.25);
}

/* Liens "Demander un devis" sur fiche produit, panier, mon compte */
.snep-lien-devis,
.snep-lien-devis-panier,
.snep-lien-devis-compte {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--snep-bleu-marine);
    margin-top: 12px;
}

.snep-lien-devis a,
.snep-lien-devis-panier a,
.snep-lien-devis-compte a {
    color: var(--snep-dore);
    font-weight: 700;
    border-bottom: 1px solid var(--snep-dore);
}

.snep-lien-devis a:hover,
.snep-lien-devis-panier a:hover,
.snep-lien-devis-compte a:hover {
    color: #C93043;
    border-bottom-color: #C93043;
}

.snep-devis-header {
    max-width: 640px;
    margin: 40px auto 0;
    text-align: center;
}

.snep-devis-header h2 {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-size: 28px;
    color: var(--snep-bleu-marine);
}

.snep-devis-header p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: var(--snep-bleu-marine);
    opacity: 0.8;
}

/* ============================================
   PAGE BOUTIQUE — Grille de produits
   Charte SNEP : cartes propres, titres lisibles
============================================ */

.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 28px;
    margin: 0 !important;
}

.woocommerce ul.products li.product {
    background: #FFFFFF;
    border: 1px solid #e6e3da;
    border-radius: 6px;
    padding: 18px 18px 22px;
    box-shadow: 0 12px 28px -20px rgba(27, 36, 48, 0.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    text-align: left !important;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 36px -18px rgba(27, 36, 48, 0.32);
}

/* Image produit : cadrée, ratio fixe, pas de débordement */
.woocommerce ul.products li.product img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 14px !important;
    box-shadow: none !important;
}

/* Titre produit : le point corrigé.
   On sort les titres produits de la règle globale Playfair italique
   (pensée pour des titres courts, pas pour ces libellés longs et informatifs)
   et on force un retour à la ligne normal pour éviter le texte tronqué. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
    font-family: 'Inter', sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;
    font-size: 14.5px !important;
    line-height: 1.45 !important;
    color: var(--snep-bleu-marine) !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    margin-bottom: 10px !important;
}

/* Prix */
.woocommerce ul.products li.product .price {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    color: var(--snep-bleu-marine);
    font-size: 15px;
    margin-bottom: 14px;
    display: block;
}

/* Bouton "Ajouter au panier" harmonisé */
.woocommerce ul.products li.product .button {
    background-color: var(--snep-bleu-marine) !important;
    color: #FFFFFF !important;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    padding: 11px 20px;
    border-radius: 4px;
    border: none;
    width: 100%;
    text-align: center;
    transition: background-color 0.2s ease;
}

.woocommerce ul.products li.product .button:hover {
    background-color: var(--snep-dore) !important;
    color: var(--snep-bleu-marine) !important;
}

/* Titre de page "Boutique" : on garde le Playfair italique ici, ça reste un vrai titre de page */
.woocommerce-page .page-title,
.woocommerce-products-header__title {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    color: var(--snep-bleu-marine);
}

@media (max-width: 600px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr;
    }
}

/* ============================================
   PAGE PRODUIT (fiche individuelle)
   Charte SNEP : titre lisible, boutons harmonisés,
   masquage des catégories techniques de cloisonnement
============================================ */

/* Masque les catégories techniques (LABEL/EDITEUR/DISTRIBUTEUR)
   utilisées en back-office pour le filtrage catalogue par client —
   pas destinées à être visibles côté client */
.woocommerce div.product .product_meta,
.woocommerce div.product p.posted_in {
    display: none !important;
}

/* Titre produit : Inter au lieu de Playfair italique (même logique que sur la boutique,
   ces libellés longs et informatifs sont illisibles en italique) */
.woocommerce div.product .product_title {
    font-family: 'Inter', sans-serif !important;
    font-style: normal !important;
    font-weight: 700 !important;
    font-size: 24px !important;
    line-height: 1.4 !important;
    color: var(--snep-bleu-marine) !important;
    margin-bottom: 20px !important;
}

/* Prix */
.woocommerce div.product p.price,
.woocommerce div.product .price {
    font-family: 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--snep-bleu-marine);
    margin-bottom: 20px;
}

/* Image produit */
.woocommerce div.product .woocommerce-product-gallery img {
    border-radius: 6px;
    box-shadow: 0 20px 40px -24px rgba(27, 36, 48, 0.35);
}

/* Champ quantité */
.woocommerce div.product .quantity input.qty {
    width: 70px;
    padding: 12px 10px;
    border: 1px solid #d8d5cc;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: var(--snep-bleu-marine);
    text-align: center;
}

.woocommerce div.product .quantity input.qty:focus {
    outline: none;
    border-color: var(--snep-dore);
    box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15);
}

/* Bouton "Ajouter au panier" harmonisé */
.woocommerce div.product .single_add_to_cart_button {
    background-color: var(--snep-bleu-marine) !important;
    color: #FFFFFF !important;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    padding: 14px 30px;
    border-radius: 4px;
    border: none;
    transition: background-color 0.2s ease;
}

.woocommerce div.product .single_add_to_cart_button:hover {
    background-color: var(--snep-dore) !important;
    color: var(--snep-bleu-marine) !important;
}

/* Bloc "Demandez un devis personnalisé" : encadré doré au lieu d'un simple lien perdu dans la page */
.woocommerce div.product .snep-devis-lien,
.woocommerce div.product a[href*="demande-de-devis"] {
    display: inline-block;
    margin-top: 18px;
    padding: 12px 20px;
    background: rgba(201, 162, 39, 0.1);
    border: 1px solid var(--snep-dore);
    border-radius: 4px;
    color: var(--snep-bleu-marine) !important;
    font-weight: 700;
    font-size: 13.5px;
}

/* Titre "Produits similaires" : on garde Playfair italique, c'est un vrai titre de section */
.woocommerce div.product .related.products > h2 {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    color: var(--snep-bleu-marine);
    font-size: 26px;
    margin-bottom: 24px;
}


/* Header en fond bleu marine plein (retour au navy, décision SNEP) */
.site-header {
    background-image: none !important;
    background-color: var(--snep-bleu-marine) !important;
}

/* Les blocs internes (logo, nav...) redeviennent transparents pour laisser passer l'image du parent */
.ast-primary-header,
.ast-primary-header-bar,
.main-header-bar,
.ast-above-header,
.ast-above-header-wrap,
.ast-below-header,
.ast-below-header-wrap {
    background-color: transparent !important;
    background-image: none !important;
}

/* ============================================
   BADGE PROMO — Style ruban/étiquette
   Remplace le rond doré natif d'Astra
============================================ */

/* Nécessaire pour que le ruban se positionne correctement
   et reste bien découpé dans les limites de la carte */
.woocommerce ul.products li.product,
.woocommerce div.product .images,
.woocommerce div.product .woocommerce-product-gallery {
    position: relative;
    overflow: hidden;
}

.woocommerce span.onsale {
    position: absolute !important;
    top: 16px !important;
    left: -44px !important;
    width: 160px;
    padding: 3px 0 !important;
    margin: 0 !important;
    line-height: 1.5;
    text-align: center;
    background: var(--snep-dore) !important;
    color: var(--snep-bleu-marine) !important;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    white-space: normal;
    border-radius: 0 !important;
    transform: rotate(-42deg);
    box-shadow: 0 3px 8px rgba(27, 36, 48, 0.3);
    z-index: 5;
    min-height: 0 !important;
    height: auto !important;
}

/* Masquer le Chariot moderne sur la page de validation de commande */
body.woocommerce-checkout #moderncart-floating-cart,
body.woocommerce-checkout #moderncart-slide-out-modal {
    display: none !important;
}

/* ============================================
   PIMP MON COMPTE — cohérence avec les effets de la home
============================================ */

/* Léger halo doré en fond de page, pour la profondeur */
body.woocommerce-account {
    background: radial-gradient(circle at 20% 10%, #232f40 0%, var(--snep-bleu-marine) 45%, #12161f 100%) !important;
    min-height: 100vh;
}

/* Titre "Mon compte" en blanc cassé, lisible sur le fond marine */
body.woocommerce-account .page-title,
body.woocommerce-account .entry-title,
body.woocommerce-account h1 {
    color: var(--snep-blanc-casse) !important;
}

/* Le lien "Nouveau par ici ?" / "Déjà inscrit ?" repasse en clair sur fond sombre */
body.woocommerce-account .snep-toggle-register {
    color: var(--snep-blanc-casse) !important;
}
body.woocommerce-account .snep-toggle-register a {
    color: var(--snep-dore) !important;
}

/* Les cartes ressortent davantage sur le fond sombre */
body.woocommerce-account .col-1,
body.woocommerce-account .col-2 {
    box-shadow: 0 30px 60px -20px rgba(0,0,0,0.6), 0 0 0 1px rgba(201,162,39,0.15) !important;
}

/* Entrée en fondu + léger glissement de la carte au chargement */
@keyframes snep-account-in {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
}
.woocommerce-account .col-1,
.woocommerce-account .col-2 {
    animation: snep-account-in 0.7s cubic-bezier(.16,.8,.24,1) both;
}
.woocommerce-account .col-2 { animation-delay: 0.12s; }

/* Le trait sous le titre devient un dégradé doré animé au lieu d'un trait fixe */
.woocommerce-account .col-1 h2,
.woocommerce-account .col-2 h2 {
    border-bottom: none !important;
    position: relative;
    padding-bottom: 14px !important;
}
.woocommerce-account .col-1 h2::after,
.woocommerce-account .col-2 h2::after {
    content: '';
    position: absolute;
    left: 0; bottom: 0;
    width: 64px; height: 2px;
    background: linear-gradient(90deg, var(--snep-dore), #e2c467, var(--snep-dore));
    background-size: 200% auto;
    animation: snep-shimmer 4s linear infinite;
}
@keyframes snep-shimmer {
    0%   { background-position: 0% center; }
    100% { background-position: 200% center; }
}

/* Reflet qui traverse le bouton au survol */
.woocommerce-account form button[type="submit"],
.woocommerce-account form input[type="submit"] {
    position: relative;
    overflow: hidden;
}
.woocommerce-account form button[type="submit"]::before,
.woocommerce-account form input[type="submit"]::before {
    content: '';
    position: absolute;
    top: 0; left: -60%;
    width: 40%; height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,0.45), transparent);
    transform: skewX(-20deg);
    transition: left 0.55s ease;
}
.woocommerce-account form button[type="submit"]:hover::before,
.woocommerce-account form input[type="submit"]:hover::before {
    left: 130%;
}

/* Petite flèche qui glisse au survol du lien de bascule connexion/inscription */
.snep-toggle-register a {
    position: relative;
}
.snep-toggle-register a::after {
    content: '→';
    display: inline-block;
    opacity: 0;
    margin-left: -8px;
    transition: opacity 0.2s ease, margin-left 0.2s ease;
}
.snep-toggle-register a:hover::after {
    opacity: 1;
    margin-left: 5px;
}

/* Légère élévation des champs au focus, pour un peu de vie */
.woocommerce-account form input:focus {
    transform: translateY(-1px);
}

/* STYLE PAGE INSCRIPTION */
body.woocommerce-account,
body.page-id-92 {
    background: radial-gradient(circle at 20% 10%, #232f40 0%, var(--snep-bleu-marine) 45%, #12161f 100%) !important;
    min-height: 100vh;
}

body.woocommerce-account .page-title,
body.woocommerce-account .entry-title,
body.woocommerce-account h1,
body.page-id-92 .page-title,
body.page-id-92 .entry-title,
body.page-id-92 h1 {
    color: var(--snep-blanc-casse) !important;
}

/* Texte du formulaire d'inscription B2BKing en clair, pour rester lisible sur le fond marine */
body.page-id-92 label,
body.page-id-92 p,
body.page-id-92 span:not(.required),
body.page-id-92 legend {
    color: var(--snep-blanc-casse) !important;
}

/* Les astérisques rouges obligatoires restent visibles tels quels */
body.page-id-92 .required {
    color: #ff6b7a !important;
}

/* Le texte à l'intérieur des champs eux-mêmes reste sombre (fond blanc des inputs) */
body.page-id-92 input,
body.page-id-92 select,
body.page-id-92 textarea {
    color: var(--snep-bleu-marine) !important;
}

/* Carte blanche autour du formulaire d'inscription, même esprit que "Mon compte" */
body.page-id-92 .entry-content {
    background: #FFFFFF;
    max-width: 640px;
    margin: 60px auto !important;
    padding: 40px 36px;
    border-radius: 6px;
    box-shadow: 0 30px 60px -20px rgba(0,0,0,0.6), 0 0 0 1px rgba(201,162,39,0.15);
}

/* Les labels redeviennent sombres à l'intérieur de la carte blanche */
body.page-id-92 .entry-content label,
body.page-id-92 .entry-content p,
body.page-id-92 .entry-content span:not(.required),
body.page-id-92 .entry-content legend {
    color: var(--snep-bleu-marine) !important;
}

/* Champs stylés, comme sur Mon compte */
body.page-id-92 .entry-content input[type="text"],
body.page-id-92 .entry-content input[type="email"],
body.page-id-92 .entry-content input[type="tel"],
body.page-id-92 .entry-content input[type="number"],
body.page-id-92 .entry-content select,
body.page-id-92 .entry-content textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d8d5cc;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--snep-bleu-marine);
    background: #FAFAF8;
    margin-bottom: 18px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
body.page-id-92 .entry-content input:focus,
body.page-id-92 .entry-content select:focus {
    outline: none;
    border-color: var(--snep-dore);
    box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15);
}

/* Bouton de soumission harmonisé */
body.page-id-92 .entry-content button[type="submit"],
body.page-id-92 .entry-content input[type="submit"] {
    background-color: var(--snep-bleu-marine) !important;
    color: #FFFFFF !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    padding: 13px 28px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}
body.page-id-92 .entry-content button[type="submit"]:hover,
body.page-id-92 .entry-content input[type="submit"]:hover {
    background-color: var(--snep-dore) !important;
    color: var(--snep-bleu-marine) !important;
}

/* Texte du tableau de bord "Mon compte" en doré, pour rester bien visible sur le fond marine */
body.woocommerce-account .woocommerce-MyAccount-navigation a,
body.woocommerce-account .woocommerce-MyAccount-content p,
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
    color: var(--snep-dore) !important;
}

/* L'item de menu actif ("Tableau de bord" par exemple) ressort encore plus, en blanc cassé */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard.is-active a {
    color: var(--snep-blanc-casse) !important;
    font-weight: 700;
}

/* Texte du contenu (zone centrale) en blanc cassé */
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-MyAccount-content p {
    color: var(--snep-blanc-casse) !important;
}

/* Les liens dans ce contenu passent en doré */
body.woocommerce-account .woocommerce-MyAccount-content a {
    color: var(--snep-dore) !important;
}

/* L'item de menu actif (case blanche à gauche) : texte en bleu marine pour rester lisible sur fond clair */
body.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
    color: var(--snep-bleu-marine) !important;
}

/* ======================================================
   SNEP - Filtres catalogue
   ====================================================== */

.snep-filtres-catalogue {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 32px;
}

.snep-filtres-catalogue select {
    width: auto;
    min-width: 180px;
    height: 48px;
    padding: 0 42px 0 16px;
    border: 1px solid #d8d5cc;
    border-radius: 4px;
    background-color: #fff;
    font-size: 15px;
    color: #1B2430;
    cursor: pointer;
    margin: 0;
}

.snep-filtres-catalogue button {
    width: auto;
    height: 48px;
    padding: 0 22px;
    margin: 0;
    border: 0;
    border-radius: 4px;
    background: #C9A227;
    color: #1B2430;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
}

.snep-reset-filtres {
    font-size: 14px;
    color: #1B2430;
    text-decoration: underline;
}

@media (max-width: 768px) {

    .snep-filtres-catalogue {
        flex-direction: column;
        align-items: stretch;
    }

    .snep-filtres-catalogue select,
    .snep-filtres-catalogue button {
        width: 100%;
    }
}

/* ======================================================
   SNEP - Bloc recherche + filtres catalogue
   ====================================================== */

.snep-recherche-produit,
.snep-filtres-catalogue {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

/* Recherche WooCommerce */
.snep-recherche-produit {
    margin-top: 12px;
    margin-bottom: 14px;
}

.snep-recherche-produit .woocommerce-product-search {
    display: flex;
    gap: 10px;
}

.snep-recherche-produit .search-field {
    flex: 1;
    height: 52px;
    padding: 0 18px;
    border: 1px solid #d8d5cc;
    border-radius: 6px;
    background: #fff;
    font-size: 15px;
    color: #1B2430;
}

.snep-recherche-produit button {
    width: auto;
    min-width: 150px;
    height: 52px;
    padding: 0 24px;
    border: 0;
    border-radius: 6px;
    background: #C9A227;
    color: #1B2430;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Filtres */
.snep-filtres-catalogue {
    display: grid;
    grid-template-columns: 1fr 1.5fr 1fr 1fr auto;
    gap: 12px;
    align-items: center;
    margin-bottom: 32px;
}

.snep-filtres-catalogue select {
    width: 100%;
    min-width: 0;
    height: 52px;
    padding: 0 42px 0 16px;
    border: 1px solid #d8d5cc;
    border-radius: 6px;
    background-color: #fff;
    font-size: 15px;
    color: #1B2430;
    margin: 0;
}

.snep-filtres-catalogue button {
    height: 52px;
    padding: 0 24px;
    border: 0;
    border-radius: 6px;
    background: #C9A227;
    color: #1B2430;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.snep-reset-filtres {
    grid-column: 1 / -1;
    font-size: 13px;
    color: #1B2430;
    text-decoration: underline;
}

@media (max-width: 768px) {

    .snep-recherche-produit {
        margin-bottom: 14px;
        padding: 0 14px;
    }

    .snep-recherche-produit .woocommerce-product-search {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 8px;
    }

    .snep-recherche-produit .search-field {
        min-width: 0;
        width: 100%;
        height: 46px;
        font-size: 14px;
    }

    .snep-recherche-produit button {
        min-width: auto;
        height: 46px;
        padding: 0 16px;
        font-size: 12px;
    }

    .snep-filtres-catalogue {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        padding: 0 14px;
        margin-bottom: 24px;
    }

    .snep-filtres-catalogue select {
        width: 100%;
        min-width: 0;
        height: 46px;
        padding: 0 34px 0 12px;
        font-size: 13px;
        border-radius: 4px;
    }

    .snep-filtres-catalogue button {
        grid-column: 1 / -1;
        width: 100%;
        height: 46px;
        font-size: 13px;
    }

    .snep-reset-filtres {
        grid-column: 1 / -1;
        text-align: center;
    }
}

/* DEJA ACHETE */
.snep-deja-achete {
    background: var(--snep-blanc-casse);
    border-left: 3px solid var(--snep-dore);
    padding: 10px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--snep-bleu-marine);
    margin: 16px 0;
}

/* profil page mon compte (statut) */
.snep-profil-inline {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    color: #FFFFFF;
    margin: 0 0 20px;
}
.snep-profil-role {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-weight: 700;
    color: var(--snep-dore);
}