/*
Theme Name:   RB or Guyane
Theme URI:    https://rborguyane.fr
Description:  Thème enfant de Storefront pour la boutique RB or Guyane — bijoux en or guyanais.
Author:       RB or Guyane
Template:     storefront
Version:      1.0.0
Text Domain:  rborguyane
*/

/* ============================================================
   RESET STOREFRONT LAYOUT
   ============================================================ */
#page {
    display: contents;
}

.site-header,
.site-footer,
.storefront-handheld-footer-bar {
    display: none !important;
}

/* ============================================================
   LOGO
   ============================================================ */
.logo-inner-ring {
    border: 1px solid rgba(212, 175, 55, 0.4);
    border-radius: 50%;
    position: absolute;
    top: 8px; left: 8px; right: 8px; bottom: 8px;
}

.logo-decor {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 80%; height: 80%;
    background-image:
        radial-gradient(circle, transparent 60%, rgba(212, 175, 55, 0.2) 61%, transparent 63%),
        linear-gradient(45deg, transparent 48%, rgba(212, 175, 55, 0.3) 49%, rgba(212, 175, 55, 0.3) 51%, transparent 52%),
        linear-gradient(-45deg, transparent 48%, rgba(212, 175, 55, 0.3) 49%, rgba(212, 175, 55, 0.3) 51%, transparent 52%);
    border-radius: 50%;
}

/* ============================================================
   SCROLLBAR
   ============================================================ */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #0a0a0a;
}
::-webkit-scrollbar-thumb {
    background: #333;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #d4af37;
}

/* ============================================================
   SEARCH INPUT PLACEHOLDER
   ============================================================ */
.search-input::placeholder,
#sidebar .search-field::placeholder {
    color: rgba(255, 255, 255, 0.6);
}

/* Override WP search form dans la sidebar */
#sidebar .search-form {
    position: relative;
    width: 100%;
    margin-bottom: 2rem;
}
#sidebar .search-field {
    width: 100%;
    background-color: #800000 !important;
    color: #fff !important;
    font-size: 0.875rem;
    border-radius: 9999px !important;
    padding: 0.625rem 2.5rem 0.625rem 1rem;
    border: none !important;
    outline: none;
    transition: box-shadow 0.2s;
}
#sidebar .search-field:focus {
    box-shadow: 0 0 0 1px #d4af37;
}
#sidebar .search-submit {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: rgba(255,255,255,0.8);
    cursor: pointer;
    padding: 0;
}
#sidebar .search-submit:hover {
    color: #fff;
}

/* ============================================================
   PAGINATION
   ============================================================ */
.rb-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid #404040;
    color: #9ca3af;
    font-size: 0.875rem;
    text-decoration: none;
    transition: all 0.2s;
}
.rb-pagination .page-numbers:hover {
    border-color: #d4af37;
    color: #d4af37;
}
.rb-pagination .page-numbers.current {
    border-color: #d4af37;
    background-color: #d4af37;
    color: #0a0a0a;
    font-weight: 700;
}
.rb-pagination .page-numbers.dots {
    border: none;
    color: #6b7280;
    width: auto;
}

/* ============================================================
   WOOCOMMERCE — RESET & SURCHARGES
   ============================================================ */

/* Wrapper neutre — panier, checkout et autres pages WC */
.rborguyane-wc-wrap {
    width: 100%;
    max-width: 80rem; /* max-w-7xl */
    margin-left: auto;
    margin-right: auto;
    padding: 1.5rem;
}
@media (min-width: 768px) {
    .rborguyane-wc-wrap { padding: 2rem; }
}
@media (min-width: 1024px) {
    .rborguyane-wc-wrap { padding: 2.5rem; }
}

/* Supprimer les styles WC qui entrent en conflit */
.woocommerce-page #content,
.woocommerce #content {
    width: 100% !important;
    float: none !important;
}

/* Reset layout float WooCommerce sur la fiche produit */
.woocommerce div.product {
    display: block;
    width: 100%;
}
.woocommerce div.product div.woocommerce-product-gallery,
.woocommerce div.product div.images {
    float: none !important;
    width: 100% !important;
    margin-bottom: 0 !important;
}
.woocommerce div.product div.summary {
    float: none !important;
    width: 100% !important;
    clear: none !important;
}
/* Masquer le flash de solde natif WC (on a nos badges custom) */
.woocommerce span.onsale {
    display: none !important;
}

/* Bouton Ajouter au panier (listing) */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product a.button {
    background-color: #a50808;
    color: #fff;
    border: none;
    border-radius: 0;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    transition: background-color 0.2s;
}
.woocommerce ul.products li.product .button.add_to_cart_button:hover,
.woocommerce ul.products li.product a.button:hover {
    background-color: #991b1b;
    color: #fff;
}

/* Bouton Ajouter au panier (fiche produit) */
.woocommerce .single_add_to_cart_button.button,
.woocommerce button.button.alt {
    background-color: #a50808;
    color: #fff;
    border-radius: 0.25rem;
    border: none;
    font-weight: 500;
    font-size: 0.875rem;
    transition: background-color 0.2s;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
.woocommerce .single_add_to_cart_button.button:hover,
.woocommerce button.button.alt:hover {
    background-color: #991b1b;
    color: #fff;
}

/* Champ quantité */
.woocommerce .quantity input.qty,
.woocommerce input.qty {
    background-color: #1a1a1a;
    color: #fff;
    border: 1px solid #404040;
    border-radius: 0.25rem;
    text-align: center;
    font-size: 1rem;
    font-weight: 500;
    height: 3rem;
    width: 4rem;
}
.woocommerce .quantity input.qty:focus {
    outline: none;
    border-color: #d4af37;
    box-shadow: none;
}

/* Masquer les spinners sur input number */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type=number] {
    -moz-appearance: textfield;
}

/* Notices WooCommerce */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info {
    background-color: #1a1a1a;
    color: #fff;
    border-top: 3px solid #d4af37;
    border-radius: 0;
    padding: 1rem 1.5rem;
    margin-bottom: 1rem;
    list-style: none;
}

/* Prix WooCommerce */
.woocommerce .price,
.woocommerce span.price,
.woocommerce .amount {
    color: #d4af37;
    font-weight: 600;
}

/* Prix soldé dans les cartes produit : empilé verticalement */
.woocommerce ul.products li.product .price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    font-size: 1rem;
    font-weight: 600;
    white-space: nowrap;
}
.woocommerce ul.products li.product .price del {
    font-size: 0.75rem;
    font-weight: 400;
    color: #6b7280;
    text-decoration: line-through;
    opacity: 1;
}
.woocommerce ul.products li.product .price del .amount {
    color: #6b7280;
    font-weight: 400;
}
.woocommerce ul.products li.product .price ins {
    text-decoration: none;
    font-size: 1rem;
    font-weight: 600;
}
.woocommerce ul.products li.product .price ins .amount {
    color: #d4af37;
}

/* Forcer l'alignement gauche sur les titres de cartes */
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
    text-align: left !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    font-family: 'Inter', sans-serif !important;
}

/* Breadcrumb WooCommerce */
.woocommerce .woocommerce-breadcrumb {
    color: #6b7280;
    font-size: 0.8rem;
    margin-bottom: 2rem;
}
.woocommerce .woocommerce-breadcrumb a {
    color: #6b7280;
    text-decoration: none;
}
.woocommerce .woocommerce-breadcrumb a:hover {
    color: #d4af37;
}

/* Onglets / accordéons product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: none;
}
.woocommerce div.product .woocommerce-tabs .panel {
    padding: 0;
    border: none;
    background: transparent;
}
/* Supprimer l'écart entre accordéons CF et onglet Avis */
.woocommerce div.product .woocommerce-tabs,
.col-summary .woocommerce-tabs {
    margin: 0 !important;
    padding: 0 !important;
}
.col-summary .crb-accordeons {
    margin-bottom: 0 !important;
}

/* ============================================================
   SECTION AVIS — INTÉGRATION AU THÈME DARK
   ============================================================ */

/* Titre "Avis" masqué (l'accordéon fait déjà office de titre) */
.woocommerce-Reviews-title {
    display: none;
}

/* Message "pas encore d'avis" — suppression de la pastille bleue WC */
#reviews .woocommerce-noreviews,
.woocommerce-Reviews .woocommerce-noreviews {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    color: #6b7280 !important;
    font-size: 0.875rem;
    font-style: italic;
    margin: 0 0 1.5rem;
}
#reviews .woocommerce-noreviews::before,
.woocommerce-Reviews .woocommerce-noreviews::before {
    display: none !important;
}

/* Liste des avis existants */
.woocommerce #reviews #comments ol.commentlist {
    list-style: none;
    margin: 0 0 1.5rem;
    padding: 0;
}
.woocommerce #reviews #comments ol.commentlist li {
    border-bottom: 1px solid #262626;
    padding: 1.25rem 0;
    margin: 0;
    background: transparent;
}
.woocommerce #reviews #comments ol.commentlist li img.avatar {
    display: none;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text {
    margin: 0;
    border: none;
    padding: 0;
    border-radius: 0;
    background: transparent;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
    font-size: 0.75rem;
    color: #6b7280;
    margin-bottom: 0.5rem;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta strong {
    color: #d1d5db;
    font-weight: 500;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text .description p {
    color: #9ca3af;
    font-size: 0.875rem;
    line-height: 1.6;
    margin: 0;
}
/* Étoiles affichées sur un avis */
.woocommerce #reviews .star-rating {
    color: #d4af37;
    margin-bottom: 0.5rem;
}

/* ---- Formulaire d'avis ---- */
#review_form_wrapper {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #262626;
}
#review_form #respond {
    background: transparent;
    padding: 0;
}
#review_form #respond .comment-reply-title {
    display: block;
    font-family: 'Playfair Display', serif;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 1.25rem;
}
#review_form #respond .comment-reply-title small {
    display: none;
}

/* Note étoiles (sélecteur) */
#review_form .comment-form-rating label {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #9ca3af;
    margin-bottom: 0.5rem;
}
#review_form .comment-form-rating .stars {
    margin: 0 0 1rem;
    line-height: 1;
}
/* Tous les états des liens étoiles — forcer la couleur, annuler visited */
#review_form .comment-form-rating .stars a,
#review_form .comment-form-rating .stars a:link,
#review_form .comment-form-rating .stars a:visited,
#review_form .comment-form-rating .stars a:active {
    color: #404040 !important;
    font-size: 1.25rem;
    text-decoration: none;
    transition: color 0.15s;
}
#review_form .comment-form-rating .stars:hover a,
#review_form .comment-form-rating .stars:hover a:visited,
#review_form .comment-form-rating .stars a:hover,
#review_form .comment-form-rating .stars a.active,
#review_form .comment-form-rating .stars.selected a.active,
#review_form .comment-form-rating .stars.selected a.active:visited {
    color: #d4af37 !important;
}
#review_form .comment-form-rating .stars a:hover ~ a {
    color: #404040 !important;
}

/* Champ textarea */
#review_form .comment-form-comment label {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #9ca3af;
    margin-bottom: 0.5rem;
}
#review_form .comment-form-comment textarea {
    width: 100%;
    background: #1a1a1a;
    border: 1px solid #404040;
    color: #fff;
    font-size: 0.875rem;
    font-family: 'Inter', sans-serif;
    padding: 0.75rem 1rem;
    border-radius: 0.25rem;
    resize: vertical;
    min-height: 120px;
    outline: none;
    transition: border-color 0.2s;
}
#review_form .comment-form-comment textarea:focus {
    border-color: #d4af37;
}
#review_form .comment-form-comment textarea::placeholder {
    color: rgba(255,255,255,0.3);
}

/* ============================================================
   MON COMPTE — WOOCOMMERCE
   ============================================================ */

/* Wrapper contenu : reset marges WC */
.woocommerce-MyAccount-content {
    width: 100%;
}

/* ---- Formulaires (edit-account, edit-address) ---- */
.woocommerce-MyAccount-content .woocommerce-form-row,
.woocommerce-MyAccount-content .form-row {
    margin-bottom: 1.25rem;
}
.woocommerce-MyAccount-content .woocommerce-form-row label,
.woocommerce-MyAccount-content .form-row label,
.woocommerce-MyAccount-content fieldset legend {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #9ca3af;
    margin-bottom: 0.5rem;
}
.woocommerce-MyAccount-content .woocommerce-Input,
.woocommerce-MyAccount-content .input-text,
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea {
    width: 100%;
    background-color: #1a1a1a;
    border: 1px solid #333;
    color: #fff;
    font-size: 0.875rem;
    font-family: 'Inter', sans-serif;
    padding: 0.625rem 1rem;
    border-radius: 0.25rem;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.woocommerce-MyAccount-content .woocommerce-Input:focus,
.woocommerce-MyAccount-content .input-text:focus,
.woocommerce-MyAccount-content input[type="text"]:focus,
.woocommerce-MyAccount-content input[type="email"]:focus,
.woocommerce-MyAccount-content input[type="password"]:focus,
.woocommerce-MyAccount-content select:focus,
.woocommerce-MyAccount-content textarea:focus {
    border-color: #d4af37;
    box-shadow: 0 0 0 1px #d4af37;
}
.woocommerce-MyAccount-content .woocommerce-Input::placeholder,
.woocommerce-MyAccount-content .input-text::placeholder {
    color: rgba(255,255,255,0.3);
}
/* Grille 2 colonnes pour prénom/nom */
.woocommerce-MyAccount-content .woocommerce-form-row--first,
.woocommerce-MyAccount-content .woocommerce-form-row--last {
    display: inline-block;
    width: calc(50% - 0.5rem);
}
.woocommerce-MyAccount-content .woocommerce-form-row--first { margin-right: 1rem; }
@media (max-width: 640px) {
    .woocommerce-MyAccount-content .woocommerce-form-row--first,
    .woocommerce-MyAccount-content .woocommerce-form-row--last {
        display: block;
        width: 100%;
    }
    .woocommerce-MyAccount-content .woocommerce-form-row--first { margin-right: 0; }
}
/* Fieldset mot de passe */
.woocommerce-MyAccount-content fieldset {
    border: none;
    border-top: 1px solid #262626;
    padding: 1.5rem 0 0;
    margin: 1.5rem 0 0;
}
/* em display_name helper */
.woocommerce-MyAccount-content .woocommerce-form-row em {
    font-size: 0.7rem;
    color: #6b7280;
    font-style: normal;
}
/* Bouton save (edit-account) */
.woocommerce-MyAccount-content .woocommerce-Button.button,
.woocommerce-MyAccount-content button[name="save_account_details"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 2.75rem;
    padding: 0 2rem;
    background-color: #d4af37;
    color: #0a0a0a;
    font-size: 0.875rem;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    border: none;
    border-radius: 0.25rem;
    cursor: pointer;
    transition: background-color 0.2s;
    text-transform: none;
    letter-spacing: 0;
}
.woocommerce-MyAccount-content .woocommerce-Button.button:hover,
.woocommerce-MyAccount-content button[name="save_account_details"]:hover {
    background-color: #b8952b;
    color: #0a0a0a;
}

/* Wrapping card pour edit-account et edit-address */
.woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.woocommerce-MyAccount-content .woocommerce-address-fields,
.woocommerce-MyAccount-content .woocommerce-Addresses {
    background: #151515;
    padding: 1.5rem 2rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(38,38,38,0.5);
}
/* Titre de section (h2 dans certaines pages) */
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 1.5rem;
}
.woocommerce-MyAccount-content h3 {
    font-size: 1rem;
}

/* ---- Tableau des commandes ---- */
.woocommerce-MyAccount-content .woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
    background: #151515;
    border-radius: 0.5rem;
    border: 1px solid rgba(38,38,38,0.5);
    overflow: hidden;
}
.woocommerce-MyAccount-content .woocommerce-orders-table thead tr {
    border-bottom: 1px solid #404040;
}
.woocommerce-MyAccount-content .woocommerce-orders-table thead th {
    padding: 0.75rem 1rem;
    font-size: 0.75rem;
    font-weight: 500;
    color: #9ca3af;
    text-align: left;
    background: transparent;
}
.woocommerce-MyAccount-content .woocommerce-orders-table tbody tr {
    border-bottom: 1px solid #262626;
    transition: background 0.15s;
}
.woocommerce-MyAccount-content .woocommerce-orders-table tbody tr:hover {
    background: rgba(38,38,38,0.3);
}
.woocommerce-MyAccount-content .woocommerce-orders-table tbody tr:last-child {
    border-bottom: none;
}
.woocommerce-MyAccount-content .woocommerce-orders-table td,
.woocommerce-MyAccount-content .woocommerce-orders-table th[scope="row"] {
    padding: 1rem;
    color: #d1d5db;
    vertical-align: middle;
}
.woocommerce-MyAccount-content .woocommerce-orders-table th[scope="row"] a {
    color: #fff;
    font-weight: 500;
    text-decoration: none;
}
.woocommerce-MyAccount-content .woocommerce-orders-table th[scope="row"] a:hover {
    color: #d4af37;
}
/* Bouton "Voir" dans le tableau */
.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-button,
.woocommerce-MyAccount-content .woocommerce-orders-table a.button,
.woocommerce-MyAccount-content .woocommerce-orders-table .view {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 500;
    border: 1px solid #d4af37;
    color: #d4af37;
    background: transparent;
    border-radius: 0.25rem;
    text-decoration: none;
    transition: all 0.2s;
}
.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-button:hover,
.woocommerce-MyAccount-content .woocommerce-orders-table a.button:hover,
.woocommerce-MyAccount-content .woocommerce-orders-table .view:hover {
    background-color: #d4af37;
    color: #0a0a0a;
}
/* Badges statut commande */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-status {
    white-space: nowrap;
}
.woocommerce-MyAccount-content mark.order-status {
    background: transparent;
    padding: 0.2rem 0.6rem;
    border-radius: 0.25rem;
    font-size: 0.75rem;
    font-weight: 500;
}
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-completed mark,
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status {
    color: #4ade80;
}
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-processing mark,
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status {
    color: #60a5fa;
}
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-on-hold mark,
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status {
    color: #fbbf24;
}
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-cancelled mark,
.woocommerce-MyAccount-content .woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status {
    color: #f87171;
}

/* ---- Notices (succès, erreur) dans My Account ---- */
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-error,
.woocommerce-MyAccount-content .woocommerce-info {
    background: #1a1a1a;
    border-top: 3px solid #d4af37;
    color: #d1d5db;
    padding: 1rem 1.5rem;
    margin-bottom: 1.5rem;
    list-style: none;
    border-radius: 0;
}
.woocommerce-MyAccount-content .woocommerce-error {
    border-top-color: #ef4444;
}
.woocommerce-MyAccount-content .woocommerce-message::before,
.woocommerce-MyAccount-content .woocommerce-info::before {
    display: none;
}

/* ---- Formulaire de connexion (page /mon-compte non connecté) ---- */
.woocommerce-form-login,
.woocommerce-form-register {
    background: #151515;
    padding: 2rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(38,38,38,0.5);
    max-width: 480px;
}
.woocommerce-form-login h2,
.woocommerce-form-register h2 {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 1.5rem;
}
#customer_login {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
@media (min-width: 768px) {
    #customer_login { flex-direction: row; }
    .woocommerce-form-login,
    .woocommerce-form-register { flex: 1; max-width: none; }
}
.woocommerce-form-login .woocommerce-form-row label,
.woocommerce-form-register .woocommerce-form-row label {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #9ca3af;
    margin-bottom: 0.5rem;
}
.woocommerce-form-login .woocommerce-Input,
.woocommerce-form-register .woocommerce-Input {
    width: 100%;
    background-color: #1a1a1a;
    border: 1px solid #333;
    color: #fff;
    font-size: 0.875rem;
    padding: 0.625rem 1rem;
    border-radius: 0.25rem;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    margin-bottom: 1rem;
}
.woocommerce-form-login .woocommerce-Input:focus,
.woocommerce-form-register .woocommerce-Input:focus {
    border-color: #d4af37;
    box-shadow: 0 0 0 1px #d4af37;
}
/* "Se souvenir de moi" */
.woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: #9ca3af;
    margin-bottom: 1rem;
}
/* Bouton connexion / inscription */
.woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-form-register .woocommerce-form-register__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 2.75rem;
    padding: 0 2rem;
    background-color: #a50808;
    color: #fff;
    font-size: 0.875rem;
    font-weight: 500;
    font-family: 'Inter', sans-serif;
    border: none;
    border-radius: 0.25rem;
    cursor: pointer;
    transition: background-color 0.2s;
}
.woocommerce-form-login .woocommerce-form-login__submit:hover,
.woocommerce-form-register .woocommerce-form-register__submit:hover {
    background-color: #991b1b;
    color: #fff;
}
/* Lien mot de passe perdu */
.woocommerce-LostPassword a {
    font-size: 0.8rem;
    color: #6b7280;
    text-decoration: underline;
    transition: color 0.2s;
}
.woocommerce-LostPassword a:hover {
    color: #d4af37;
}

/* Bouton soumettre */
#review_form .form-submit {
    margin-top: 1rem;
}
#review_form .form-submit .submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 2.75rem;
    padding: 0 1.75rem;
    background-color: #a50808;
    color: #fff;
    font-size: 0.875rem;
    font-weight: 500;
    font-family: 'Inter', sans-serif;
    border: none;
    border-radius: 0.25rem;
    cursor: pointer;
    transition: background-color 0.2s;
    letter-spacing: 0;
    text-transform: none;
}
#review_form .form-submit .submit:hover {
    background-color: #991b1b;
}

/* ============================================================
   WISHLIST — TI WOOCOMMERCE WISHLIST
   ============================================================ */

/* ---- Bouton dans l'overlay des cartes produit ---- */

/* Le wrapper div du plugin disparaît du flux flex (la <a> devient l'enfant direct) */
.group .tinv-wishlist {
    display: contents;
}

/* Bouton cœur : même style que notre ancien bouton statique */
.tinvwl_add_to_wishlist_button {
    width: 2.5rem !important;
    height: 2.5rem !important;
    border-radius: 9999px !important;
    background: rgba(255,255,255,0.10) !important;
    backdrop-filter: blur(4px);
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
    padding: 0 !important;
    flex-shrink: 0;
}
.tinvwl_add_to_wishlist_button:hover {
    background: #9b0b0b !important;
    color: #fff !important;
}
/* Produit déjà en wishlist → cœur plein gold */
.tinvwl_add_to_wishlist_button.tinvwl-product-in-list {
    background: rgba(212,175,55,0.15) !important;
    color: #d4af37 !important;
}
.tinvwl_add_to_wishlist_button.tinvwl-product-in-list:hover {
    background: #9b0b0b !important;
    color: #fff !important;
}

/* Cacher l'icône plugin + texte, injecter FA heart */
.tinvwl_add_to_wishlist_button .ftinvwl,
.tinvwl_add_to_wishlist_button .tinvwl_add_to_wishlist-text,
.tinvwl_add_to_wishlist_button .tinvwl_remove_from_wishlist-text,
.tinvwl_add_to_wishlist_button .tinvwl_already_on_wishlist-text {
    display: none !important;
}
.tinvwl_add_to_wishlist_button::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 400; /* outline */
    content: "\f004";
    font-size: 0.9rem;
    line-height: 1;
}
.tinvwl_add_to_wishlist_button.tinvwl-product-in-list::before {
    font-weight: 900; /* solid */
}

/* Cacher le tooltip dans la carte (trop petit pour être utile) */
.group .tinvwl-tooltip { display: none !important; }

/* ---- Bouton sur la fiche produit (col-summary) ---- */
.col-summary .tinv-wishlist {
    display: block;
    margin-top: 0.75rem;
}

.col-summary .tinv-wishlist .tinvwl_add_to_wishlist_button {
    width: auto !important;
    height: 3rem !important;
    border-radius: 0.25rem !important;
    background: transparent !important;
    border: 1px solid #404040 !important;
    padding: 0 1.25rem !important;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: #9ca3af !important;
}
.col-summary .tinv-wishlist .tinvwl_add_to_wishlist_button:hover {
    border-color: #d4af37 !important;
    color: #d4af37 !important;
    background: transparent !important;
}
.col-summary .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list {
    border-color: #d4af37 !important;
    color: #d4af37 !important;
    background: rgba(212,175,55,0.08) !important;
}
/* Sur la fiche produit : afficher le texte et l'icône FA */
.col-summary .tinvwl_add_to_wishlist_button .tinvwl_add_to_wishlist-text,
.col-summary .tinvwl_add_to_wishlist_button .tinvwl_remove_from_wishlist-text,
.col-summary .tinvwl_add_to_wishlist_button .tinvwl_already_on_wishlist-text {
    display: inline !important;
    font-size: 0.875rem;
    font-family: 'Inter', sans-serif;
}

/* ---- Popup "Ajouté à la wishlist" ---- */
.tinv-modal .tinv-overlay {
    background: rgba(0,0,0,0.7) !important;
    backdrop-filter: blur(2px);
}
.tinv-modal .tinv-modal-inner {
    background: #151515 !important;
    border: 1px solid #262626 !important;
    border-radius: 0.5rem !important;
    padding: 2rem !important;
    color: #fff !important;
    max-width: 420px;
    margin: 0 auto;
    box-shadow: 0 25px 50px rgba(0,0,0,0.8) !important;
}
.tinv-modal .tinv-modal-inner .ftinvwl {
    font-size: 2rem;
    color: #d4af37;
    display: block;
    margin-bottom: 1rem;
}
.tinv-modal .tinv-txt {
    color: #d1d5db !important;
    font-size: 0.9rem;
    margin-bottom: 1.5rem;
}
.tinv-modal .tinvwl-buttons-group {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    flex-wrap: wrap;
}
.tinv-modal .tinvwl-buttons-group .button {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    height: 2.5rem;
    padding: 0 1.25rem;
    border-radius: 0.25rem;
    font-size: 0.8rem;
    font-weight: 500;
    font-family: 'Inter', sans-serif;
    cursor: pointer;
    transition: all 0.2s;
    border: none;
}
.tinv-modal .tinvwl_button_view {
    background: #d4af37 !important;
    color: #0a0a0a !important;
}
.tinv-modal .tinvwl_button_view:hover {
    background: #b8952b !important;
}
.tinv-modal .tinvwl_button_close {
    background: transparent !important;
    border: 1px solid #404040 !important;
    color: #9ca3af !important;
}
.tinv-modal .tinvwl_button_close:hover {
    border-color: #6b7280 !important;
    color: #fff !important;
}
.tinv-modal .ftinvwl-times,
.tinv-modal .ftinvwl-heart-o,
.tinv-modal .ftinvwl-key {
    /* Les icônes du plugin dans les boutons */
}

/* ---- Page wishlist (/liste-denvies/) ---- */
.woocommerce .tinv-wishlist table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}
.woocommerce .tinv-wishlist table thead tr {
    border-bottom: 1px solid #404040;
}
.woocommerce .tinv-wishlist table thead th {
    padding: 0.75rem 1rem;
    font-size: 0.75rem;
    font-weight: 500;
    color: #9ca3af;
    text-align: left;
    background: transparent;
}
.woocommerce .tinv-wishlist table tbody tr {
    border-bottom: 1px solid #262626;
}
.woocommerce .tinv-wishlist table td {
    padding: 1rem;
    color: #d1d5db;
    vertical-align: middle;
}
.woocommerce .tinv-wishlist .product-thumbnail img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 0.25rem;
}
.woocommerce .tinv-wishlist .product-name a {
    color: #fff;
    font-weight: 500;
    text-decoration: none;
    font-size: 0.95rem;
}
.woocommerce .tinv-wishlist .product-name a:hover { color: #d4af37; }
.woocommerce .tinv-wishlist .product-price .amount { color: #d4af37; font-weight: 600; }

/* Bouton "Ajouter au panier" dans la wishlist */
.woocommerce .tinv-wishlist .button.alt,
.woocommerce .tinv-wishlist a.button {
    background-color: #a50808 !important;
    color: #fff !important;
    border-radius: 0.25rem;
    border: none;
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
    font-weight: 500;
    transition: background-color 0.2s;
}
.woocommerce .tinv-wishlist .button.alt:hover,
.woocommerce .tinv-wishlist a.button:hover {
    background-color: #991b1b !important;
}
/* Bouton supprimer (×) */
.woocommerce .tinv-wishlist .product-remove a {
    color: #6b7280;
    font-size: 1.1rem;
    text-decoration: none;
    transition: color 0.2s;
}
.woocommerce .tinv-wishlist .product-remove a:hover { color: #ef4444; }

/* Invitation à se connecter (invités) */
.woocommerce .tinv-wishlist .tinvwl-to-wishlist-already-have a,
.woocommerce .tinv-wishlist .tinv-login-needed {
    color: #d4af37;
    font-size: 0.85rem;
}

/* ============================================================
   PAGE LISTE D'ENVIES — wrapper + grille
   ============================================================ */
.rb-wishlist-page {
    color: #d1d5db;
}

/* Titre de la wishlist générée par le plugin */
.rb-wishlist-page .tinv-wishlist h3.tinv-wishlist-title {
    font-family: 'Playfair Display', serif !important;
    color: #fff !important;
    font-size: 1.25rem !important;
    margin-bottom: 1rem !important;
    border-bottom: 1px solid #262626;
    padding-bottom: 0.5rem;
}

/* Texte "votre wishlist est vide" */
.rb-wishlist-page .tinv-wishlist p {
    color: #9ca3af !important;
    font-size: 0.875rem;
}

/* Bouton "Ajouter tout au panier" */
.rb-wishlist-page .tinvwl-to-cart-form .button {
    background: #a50808 !important;
    color: #fff !important;
    border: none !important;
    padding: 0.625rem 1.25rem !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    transition: background 0.2s !important;
}
.rb-wishlist-page .tinvwl-to-cart-form .button:hover {
    background: #991b1b !important;
}

/* Fallback bouton statique (si plugin désactivé) */
.rb-wishlist-btn {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 9999px;
    background: rgba(255,255,255,0.10);
    backdrop-filter: blur(4px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s;
    flex-shrink: 0;
}
.rb-wishlist-btn:hover { background: #9b0b0b; }

/* ============================================================
   WISHLIST — NEUTRALISATION DES MARGES PAR DÉFAUT DU PLUGIN
   ============================================================ */

/* Supprimer le margin-top 1em imposé dans la boucle catalogue */
ul.products li.product .tinvwl_add_to_wishlist_button {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Supprimer les marges before/after-add-to-cart (positionnement auto du plugin) */
.tinv-wishlist.tinvwl-before-add-to-cart .tinvwl_add_to_wishlist_button,
.tinv-wishlist.tinvwl-after-add-to-cart .tinvwl_add_to_wishlist_button {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Neutraliser le display:inline-block par défaut dans notre overlay
   (notre CSS force déjà inline-flex, mais on s'assure qu'aucune marge auto ne s'ajoute) */
.group .tinvwl_add_to_wishlist_button {
    margin: 0 !important;
    vertical-align: unset !important;
    float: none !important;
}

/* Fiche produit : reset float du plugin */
.single-product div.product form.cart .tinvwl_add_to_wishlist_button,
div.product form.cart .tinvwl_add_to_wishlist_button {
    float: none !important;
    margin: 0 !important;
}

/* Inline style margin-top injecté par le plugin sur le wrapper — fiche produit */
.col-summary .tinv-wishlist[style],
.col-summary .tinv-wishlist {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Neutraliser le positionnement absolu du ::before sur le bouton no-txt (fiche produit)
   Le plugin centre son icône via position:absolute/margin négatif — on force flexbox à la place */
.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt::before,
.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart-plus.no-txt::before {
    position: static !important;
    top: auto !important;
    left: auto !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Neutraliser le margin-right: 5px du ::before sur l'icône cœur (plugin TI Wishlist) */
.tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart::before,
.woocommerce ul.products li.product a.tinvwl-button.tinvwl_add_to_wishlist_button.tinvwl-icon-heart::before,
.woocommerce-page ul.products li.product a.tinvwl-button.tinvwl-icon-heart.tinvwl_add_to_wishlist_button::before {
    margin-right: 0 !important;
}

/* Masquer le wrapper quantité quand le produit est vendu individuellement
   (WC remplace l'input visible par un input type="hidden") */
.col-summary .cart .quantity:has(input[type="hidden"]),
.woocommerce .quantity:has(input[type="hidden"]) {
    display: none !important;
}

/* ============================================================
   DARK BASELINE GLOBAL
   Neutralise les fonds blancs/clairs de Storefront sur tous
   les éléments WooCommerce et plugins — à garder en bas du
   fichier pour prendre le dessus sur tout le reste.
   ============================================================ */

/* ---- Storefront parasites : table rows pairs + fieldset ---- */
table:not(.has-background) tbody tr:nth-child(2n) td,
fieldset,
fieldset legend {
    background-color: transparent !important;
}

/* ---- Tables génériques WC (panier, commandes, wishlist...) ---- */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table,
.tinv-wishlist table {
    background: transparent !important;
    border: 1px solid #262626 !important;
    border-collapse: collapse;
    color: #d1d5db !important;
    width: 100%;
}
.woocommerce table.shop_table th,
.woocommerce-page table.shop_table th,
.tinv-wishlist table th {
    background: transparent !important;
    color: #9ca3af !important;
    border-bottom: 1px solid #404040 !important;
    font-size: 0.75rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.75rem 1rem !important;
}
.woocommerce table.shop_table td,
.woocommerce-page table.shop_table td,
.tinv-wishlist table td {
    background: transparent !important;
    color: #d1d5db !important;
    border-bottom: 1px solid #262626 !important;
    padding: 1rem !important;
    vertical-align: middle !important;
}
.woocommerce table.shop_table tr:last-child td,
.tinv-wishlist table tr:last-child td {
    border-bottom: none !important;
}
/* Supprimer les fonds alternés gris clair */
.woocommerce table.shop_table tbody tr:nth-child(odd) td,
.woocommerce table.shop_table tbody tr:nth-child(even) td,
.tinv-wishlist table tbody tr:nth-child(odd) td,
.tinv-wishlist table tbody tr:nth-child(even) td {
    background: transparent !important;
}
.woocommerce table.shop_table tbody tr:hover td,
.tinv-wishlist table tbody tr:hover td {
    background: rgba(255,255,255,0.03) !important;
}

/* ---- Inputs / selects globaux WC ---- */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="password"],
.woocommerce input[type="number"],
.woocommerce input[type="tel"],
.woocommerce input[type="search"],
.woocommerce select,
.woocommerce textarea,
.woocommerce-page input[type="text"],
.woocommerce-page input[type="email"],
.woocommerce-page input[type="password"],
.woocommerce-page input[type="number"],
.woocommerce-page select,
.tinv-wishlist select,
.tinv-wishlist input[type="text"] {
    background-color: #1a1a1a !important;
    border: 1px solid #333 !important;
    color: #fff !important;
    border-radius: 0.25rem !important;
    font-family: 'Inter', sans-serif !important;
}
.woocommerce input:focus,
.woocommerce select:focus,
.woocommerce textarea:focus,
.tinv-wishlist select:focus {
    border-color: #d4af37 !important;
    outline: none !important;
    box-shadow: 0 0 0 1px #d4af37 !important;
}

/* ---- Labels globaux WC ---- */
.woocommerce label,
.woocommerce-page label,
.tinv-wishlist label {
    color: #9ca3af !important;
    font-size: 0.8rem !important;
}

/* ---- Boutons génériques WC (outline neutre) ---- */
.woocommerce a.button:not(.add_to_cart_button):not(.single_add_to_cart_button):not(.checkout-button),
.woocommerce button.button:not(.single_add_to_cart_button):not([name="apply_coupon"]),
.woocommerce input.button,
.tinv-wishlist .button:not(.tinvwl_add_to_wishlist_button) {
    background: transparent !important;
    color: #d1d5db !important;
    border: 1px solid #404040 !important;
    border-radius: 0.25rem !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    transition: border-color 0.2s, color 0.2s !important;
    box-shadow: none !important;
    text-shadow: none !important;
}
.woocommerce a.button:not(.add_to_cart_button):not(.single_add_to_cart_button):not(.checkout-button):hover,
.woocommerce button.button:not(.single_add_to_cart_button):hover,
.tinv-wishlist .button:not(.tinvwl_add_to_wishlist_button):hover {
    background: rgba(255,255,255,0.05) !important;
    color: #fff !important;
    border-color: #6b7280 !important;
}

/* Bouton principal CTA (alt) → rouge */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background: #a50808 !important;
    color: #fff !important;
    border-color: transparent !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
    background: #991b1b !important;
    color: #fff !important;
}

/* ---- Supprimer la couleur violet/bleu WC partout ---- */
.woocommerce a,
.woocommerce-page a {
    color: inherit;
}
/* Pastilles de statut WC (processing, on-hold...) */
.woocommerce .wc-item-meta,
.woocommerce mark,
.woocommerce .order-status {
    background: transparent !important;
    color: inherit !important;
}
/* Cocher "En stock" en vert discret au lieu du vert WC flashy */
.woocommerce .in-stock {
    color: #4ade80 !important;
}
.woocommerce .out-of-stock {
    color: #f87171 !important;
}

/* ---- Notices WC (info = bleu par défaut → gold) ---- */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
    background: #1a1a1a !important;
    color: #d1d5db !important;
    border-top: 3px solid #d4af37 !important;
    box-shadow: none !important;
}
.woocommerce-error {
    border-top-color: #ef4444 !important;
}
/* Icône info bleue WC */
.woocommerce-info::before {
    color: #d4af37 !important;
}

/* ---- Fond blanc des containers génériques WC ---- */
.woocommerce .woocommerce-customer-details,
.woocommerce .woocommerce-column,
.woocommerce-account .woocommerce,
.woocommerce .cart-empty,
.woocommerce-cart-form,
.tinv-wishlist,
.tinv-wishlist .tinv-wishlist-main,
.tinv-wishlist .tinvwl-table-wrap,
.tinv-wishlist .tinvwl-form,
.tinv-wishlist .tinv-wishlist-clear {
    background: transparent !important;
    color: #d1d5db !important;
}
/* Modal popup fond sombre */
.tinv-wishlist .tinv-modal .tinv-modal-inner {
    background-color: #1a1a1a !important;
    border: 1px solid #404040 !important;
    color: #d1d5db !important;
}
/* Bouton de quantité +/- sur la page wishlist */
.tinv-wishlist .plus,
.tinv-wishlist .minus {
    background-color: #2a2a2a !important;
    color: #d1d5db !important;
    border: 1px solid #404040 !important;
}

/* ---- Titres de section ---- */
.woocommerce h2,
.woocommerce h3,
.woocommerce-page h2,
.tinv-wishlist h2,
.tinv-wishlist h3 {
    color: #fff !important;
    font-family: 'Playfair Display', serif !important;
}

/* ---- Totaux panier / commande ---- */
.woocommerce .cart_totals,
.woocommerce .order-total,
.woocommerce .shop_table tfoot tr th,
.woocommerce .shop_table tfoot tr td {
    background: transparent !important;
    color: #d1d5db !important;
    border-color: #262626 !important;
}
.woocommerce .cart_totals h2 {
    color: #fff !important;
}

/* ---- Checkout / Panier backgrounds ---- */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce #order_review,
.woocommerce #payment,
.woocommerce #payment ul.payment_methods,
.woocommerce #payment div.payment_box,
.woocommerce .woocommerce-checkout-review-order-table,
.woocommerce form.checkout,
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 {
    background: transparent !important;
    color: #d1d5db !important;
}
.woocommerce #payment ul.payment_methods {
    border-bottom: 1px solid #262626 !important;
}
.woocommerce #payment div.payment_box {
    background-color: #1a1a1a !important;
    border-radius: 0.25rem;
}
.woocommerce #payment div.payment_box::before {
    border-bottom-color: #1a1a1a !important;
}
/* Coupon / promo */
.woocommerce .coupon input[type="text"] {
    background: #1a1a1a !important;
    border: 1px solid #404040 !important;
    color: #fff !important;
}
/* Cross-sells */
.woocommerce .cross-sells h2,
.woocommerce .upsells h2,
.woocommerce .related h2 {
    color: #fff !important;
    font-family: 'Playfair Display', serif !important;
}

/* ============================================================
   PAGES GÉNÉRIQUES (404, search, single, archive, index)
   ============================================================ */

/* ---- Pagination WordPress ---- */
.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 2rem;
    padding: 0 0.5rem;
    font-size: 0.8rem;
    color: #9ca3af;
    border: 1px solid #404040;
    text-decoration: none;
    transition: color 0.2s, border-color 0.2s, background-color 0.2s;
    margin: 0 2px;
}
.page-numbers:hover {
    color: #fff;
    border-color: #6b7280;
    background: rgba(255,255,255,0.04);
}
.page-numbers.current {
    color: #d4af37;
    border-color: #d4af37;
    background: rgba(212,175,55,0.08);
}
.page-numbers.dots {
    border-color: transparent;
    background: transparent;
}

/* ---- Prose article (single.php) ---- */
.rb-prose {
    color: #d1d5db;
    font-size: 0.9375rem;
    line-height: 1.75;
    font-weight: 300;
}
.rb-prose h2, .rb-prose h3, .rb-prose h4 {
    font-family: 'Playfair Display', serif;
    color: #fff;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}
.rb-prose h2 { font-size: 1.5rem; }
.rb-prose h3 { font-size: 1.2rem; }
.rb-prose p { margin-bottom: 1.25rem; }
.rb-prose a { color: #d4af37; text-decoration: underline; text-underline-offset: 3px; }
.rb-prose a:hover { color: #e8c84a; }
.rb-prose strong { color: #fff; font-weight: 600; }
.rb-prose em { color: #e5e7eb; font-style: italic; }
.rb-prose ul, .rb-prose ol {
    padding-left: 1.5rem;
    margin-bottom: 1.25rem;
}
.rb-prose ul li { list-style: disc; margin-bottom: 0.4rem; }
.rb-prose ol li { list-style: decimal; margin-bottom: 0.4rem; }
.rb-prose blockquote {
    border-left: 3px solid #d4af37;
    padding-left: 1.25rem;
    margin-left: 0;
    color: #9ca3af;
    font-style: italic;
}
.rb-prose img {
    max-width: 100%;
    height: auto;
    margin: 1.5rem 0;
}
.rb-prose hr {
    border: none;
    border-top: 1px solid #262626;
    margin: 2rem 0;
}
.rb-prose table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
    margin-bottom: 1.5rem;
}
.rb-prose table th {
    background: transparent;
    color: #9ca3af;
    border-bottom: 1px solid #404040;
    padding: 0.5rem 0.75rem;
    text-align: left;
    font-weight: 500;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.rb-prose table td {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #262626;
    color: #d1d5db;
}

/* ---- 404 page ---- */
.page-numbers.prev, .page-numbers.next {
    font-size: 0.7rem;
}

/* ---- Select2 (WooCommerce dropdowns) — override fond blanc ---- */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    background-color: #1a1a1a !important;
    border: 1px solid #333 !important;
    border-radius: 0.25rem !important;
    color: #fff !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #fff !important;
    line-height: 2.5rem !important;
    padding-left: 0.75rem !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50% !important;
    transform: translateY(-50%) !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #9ca3af transparent transparent transparent !important;
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #9ca3af transparent !important;
}
.select2-container--default .select2-selection--single:focus,
.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #d4af37 !important;
    outline: none !important;
    box-shadow: 0 0 0 1px #d4af37 !important;
}
/* Dropdown list */
.select2-dropdown {
    background-color: #1a1a1a !important;
    border: 1px solid #333 !important;
    border-radius: 0.25rem !important;
}
.select2-container--default .select2-results__option {
    color: #d1d5db !important;
    padding: 0.5rem 0.75rem !important;
    font-size: 0.875rem !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: rgba(212,175,55,0.15) !important;
    color: #d4af37 !important;
}
.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[data-selected=true] {
    background-color: rgba(212,175,55,0.08) !important;
    color: #d4af37 !important;
}
.select2-search--dropdown .select2-search__field {
    background: #111 !important;
    border: 1px solid #333 !important;
    color: #fff !important;
    border-radius: 0.25rem !important;
}

/* ============================================================
   CONTENU ÉDITEUR WORDPRESS — hiérarchie des titres
   S'applique à .cgv-content (pages texte) et .rb-prose (articles)
   ============================================================ */
.cgv-content h1,
.cgv-content h2,
.cgv-content h3,
.cgv-content h4,
.cgv-content h5,
.cgv-content h6,
.rb-prose h1,
.rb-prose h2,
.rb-prose h3,
.rb-prose h4,
.rb-prose h5,
.rb-prose h6 {
    color: #fff !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 600;
    line-height: 1.3;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}
.cgv-content h1, .rb-prose h1 {
    font-size: 2rem;
    border-bottom: 1px solid #2a2a2a;
    padding-bottom: 0.5rem;
}
.cgv-content h2, .rb-prose h2 {
    font-size: 1.5rem;
    color: #f5f5f5 !important;
}
.cgv-content h3, .rb-prose h3 {
    font-size: 1.2rem;
    color: #e5e7eb !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600;
}
.cgv-content h4, .rb-prose h4 {
    font-size: 1rem;
    color: #d4af37 !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.cgv-content h5, .rb-prose h5 {
    font-size: 0.875rem;
    color: #9ca3af !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.cgv-content h6, .rb-prose h6 {
    font-size: 0.8rem;
    color: #6b7280 !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* Paragraphes et listes */
.cgv-content p,
.cgv-content li {
    color: #d1d5db !important;
}
.cgv-content a {
    color: #d4af37 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.cgv-content a:hover {
    color: #e8c84a !important;
}
.cgv-content strong, .cgv-content b {
    color: #fff !important;
    font-weight: 600;
}

/* Bloc Gutenberg : séparateur */
.cgv-content hr,
.rb-prose hr {
    border: none !important;
    border-top: 1px solid #262626 !important;
    margin: 2rem 0 !important;
}

/* Bloc Gutenberg : citation */
.cgv-content blockquote,
.rb-prose blockquote {
    border-left: 3px solid #d4af37 !important;
    background: rgba(212,175,55,0.05) !important;
    padding: 1rem 1.25rem !important;
    margin: 1.5rem 0 !important;
    color: #9ca3af !important;
    font-style: italic;
}
.cgv-content blockquote p,
.rb-prose blockquote p {
    color: #9ca3af !important;
    margin: 0 !important;
}

/* Bloc Gutenberg : code */
.cgv-content code,
.rb-prose code {
    background: #1a1a1a !important;
    color: #d4af37 !important;
    border: 1px solid #333 !important;
    padding: 0.1em 0.4em;
    border-radius: 3px;
    font-size: 0.85em;
}

/* ============================================================
   PANIER VIDE — bloc Gutenberg WooCommerce
   ============================================================ */

/* Conteneur du bloc panier vide */
.wp-block-woocommerce-empty-cart-block {
    text-align: center;
    padding: 4rem 1rem;
}

/* Titre "Votre panier est vide" */
.wc-block-cart__empty-cart__title {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.75rem !important;
    font-weight: 600 !important;
    color: #fff !important;
    margin-bottom: 0.75rem !important;
}
/* Séparateur */
.wp-block-woocommerce-empty-cart-block .wp-block-separator {
    border-color: #262626 !important;
    margin: 1.5rem auto !important;
    max-width: 4rem;
}
/* Titre "Nouveautés" */
.wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.25rem !important;
    color: #fff !important;
    margin-bottom: 1.5rem !important;
}
/* Grille produits dans le panier vide */
.wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new ul.products {
    gap: 1rem !important;
}
.wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new ul.products li.product {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}
/* Bouton "Retour à la boutique" */
.wc-block-cart__empty-cart__title ~ p a,
.wp-block-woocommerce-empty-cart-block .wc-block-components-button,
.wp-block-woocommerce-empty-cart-block a.button {
    background: #a50808 !important;
    color: #fff !important;
    border: none !important;
    padding: 0.75rem 2rem !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    display: inline-block !important;
    margin-top: 1rem !important;
    text-decoration: none !important;
    transition: background 0.2s !important;
}
.wp-block-woocommerce-empty-cart-block a.button:hover {
    background: #991b1b !important;
}

/* ============================================================
   PANIER VIDE — grille de suggestions
   ============================================================ */
.rb-empty-cart-suggestions {
    margin-top: 3rem;
    padding-top: 2.5rem;
    border-top: 1px solid #262626;
}
.rb-empty-cart-suggestions__title {
    font-family: 'Playfair Display', serif;
    font-size: 1.25rem;
    color: #fff;
    text-align: center;
    margin-bottom: 1.5rem;
}
.rb-empty-cart-suggestions__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    list-style: none;
    padding: 0;
    margin: 0;
}
@media (min-width: 768px) {
    .rb-empty-cart-suggestions__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
.rb-empty-cart-suggestions__item {
    display: flex;
    flex-direction: column;
}
.rb-empty-cart-suggestions__img-wrap {
    display: block;
    aspect-ratio: 4/5;
    overflow: hidden;
    background: #1a1a1a;
    border-radius: 2px;
    margin-bottom: 0.75rem;
}
.rb-empty-cart-suggestions__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.9;
    transition: transform 0.5s, opacity 0.3s;
}
.rb-empty-cart-suggestions__img-wrap:hover img {
    transform: scale(1.05);
    opacity: 1;
}
.rb-empty-cart-suggestions__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(212,175,55,0.2);
    font-size: 2rem;
}
.rb-empty-cart-suggestions__name {
    font-size: 0.875rem;
    font-weight: 500;
    color: #fff;
    text-decoration: none;
    line-height: 1.3;
    margin-bottom: 0.25rem;
    transition: color 0.2s;
}
.rb-empty-cart-suggestions__name:hover {
    color: #d4af37;
}
.rb-empty-cart-suggestions__price .amount {
    color: #d4af37;
    font-size: 0.875rem;
    font-weight: 500;
}

/* ============================================================
   GOOGLE SIGN-IN BUTTON — priorité en haut du formulaire
   ============================================================ */
.rb-google-signin-top {
    margin-bottom: 1.25rem;
}
/* Séparateur — ou — */
.rb-google-signin-divider {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}
.rb-google-signin-divider::before,
.rb-google-signin-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #404040;
}
.rb-google-signin-divider span {
    color: #6b7280;
    font-family: 'Inter', sans-serif;
    font-size: 0.65rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
}
/* 400px = max Google + centrage */
.googlesitekit-sign-in-with-google__frontend-output-button.rb-google-full-width {
    display: block !important;
    width: 400px !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
