/* Boutique Maison Julie Ferrez — effets seulement. Couleurs, typographies, espacements et images restent dans les réglages natifs Bricks. */

/* Cartes produit : léger zoom de la photo au survol, comme les cartes du site. */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .jb-carte-produit { transition: transform .28s ease, box-shadow .28s ease; }
  .jb-carte-produit:hover { transform: translateY(-4px); box-shadow: 0 14px 35px #51473315; }
  .jb-photo-produit img { transition: transform .5s ease; }
  .jb-carte-produit:hover .jb-photo-produit img { transform: scale(1.035); }
}
.jb-photo-produit:focus-visible { outline: 2px solid #1f1f1f; outline-offset: -4px; }
.jb-prix-carte del { opacity: .55; margin-right: .35em; }

/* Catégorie active. */
.jb-filtre[aria-current="page"], body.post-type-archive-product .jb-filtre[href$="/boutique/"],
body.term-vetements .jb-filtre[href*="/vetements/"], body.term-accessoires .jb-filtre[href*="/accessoires/"],
body.term-yoga-et-pilates .jb-filtre[href*="/yoga-et-pilates/"] { background: #1f1f1f; border-color: #1f1f1f; color: #fff; }

/* Fiche : colonne d'achat visible pendant le défilement de la galerie (bureau). */
@media (min-width: 992px) { .jb-colonne-achat { position: sticky; top: calc(108px + var(--wp-admin--admin-bar--height, 0px)); } }
.jb-galerie { border-radius: 24px; overflow: hidden; }
.jb-galerie .flex-control-thumbs img { border-radius: 10px; }

/* Mobile : bouton d'ajout toujours accessible en bas d'écran. */
@media (max-width: 767px) {
  .jb-ajout-panier form.cart .single_add_to_cart_button { position: sticky; bottom: 12px; z-index: 20; box-shadow: 0 8px 24px #1f1f1f26; }
}

/* Réassurance : coche olive devant chaque ligne. */
.jb-reassurance { list-style: none; margin: 0; }
.jb-reassurance li { position: relative; padding-left: 26px; }
.jb-reassurance li::before { content: ""; position: absolute; left: 2px; top: .45em; width: 12px; height: 7px; border-left: 2px solid #596653; border-bottom: 2px solid #596653; transform: rotate(-45deg); }

/* Textes produit importés : « Les + produit » et caractéristiques. */
.jb-texte-produit > :first-child { margin-top: 0; }
.jb-texte-produit p { margin: 0 0 1em; }
.jb-texte-produit .jf-produit-titre { font-family: inherit; font-size: 15px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #596653; margin: 1.4em 0 .6em; }
.jb-texte-produit ul { margin: 0 0 1em; padding-left: 1.2em; }
.jb-texte-produit li { margin: .35em 0; }
.jb-texte-produit .jf-produit-plus { list-style: none; padding: 0; }
.jb-texte-produit .jf-produit-plus li span { display: block; color: #515c4e; }

/* Guide des tailles. */
.jf-guide-tailles { border-collapse: collapse; width: 100%; font-size: 14px; }
.jf-guide-tailles th, .jf-guide-tailles td { padding: 10px 8px; border-bottom: 1px solid #e7dacf; text-align: left; white-space: nowrap; }
.jf-guide-tailles thead th { font-weight: 600; background: #f3ece2; }
.jb-texte-produit:has(.jf-guide-tailles) { overflow-x: auto; }

/* Panier latéral : jauge de livraison offerte. */
.jb-jauge { margin: 0 0 16px; padding: 14px 16px; background: #fffdf9; border: 1px solid #e7dacf; border-radius: 12px; }
.jb-jauge p { margin: 0 0 8px; font-size: 14px; }
.jb-jauge-barre { display: block; height: 6px; border-radius: 6px; background: #efe4d8; overflow: hidden; }
.jb-jauge-barre span { display: block; height: 100%; background: #596653; border-radius: 6px; transition: width .3s ease; }
@media (prefers-reduced-motion: reduce) { .jb-jauge-barre span, .jb-carte-produit, .jb-photo-produit img { transition: none !important; } }

/* Pilules de taille : toute la pilule est cliquable (le bouton natif ne couvrait que le texte). */
.jb-ajout-panier .bricks-swatch-label li { padding: 0 !important; }
.jb-ajout-panier .bricks-swatch-label .bricks-swatch-button { display: flex; align-items: center; justify-content: center; min-width: 48px; min-height: 42px; padding: 8px 14px; font: inherit; color: inherit; cursor: pointer; }
.jb-ajout-panier .bricks-swatch-color .bricks-swatch-button { min-width: 30px; min-height: 30px; cursor: pointer; }
.jb-ajout-panier .bricks-swatch-button:focus-visible { outline: 2px solid #1f1f1f; outline-offset: 2px; }

/* Prix « dès » et produit épuisé. */
.jb-des { font-weight: 400; color: #515c4e; }
.jb-epuise { display: inline-block; margin-left: .4em; padding: 2px 10px; border-radius: 999px; background: #f3ece2; color: #515c4e; font-size: .8em; font-weight: 600; }

/* Panier et commande (blocs WooCommerce) dans la charte : typographie du site, champs arrondis, bouton corail. */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { font-family: inherit; color: #1f1f1f; }
.woocommerce-cart #brx-content, .woocommerce-checkout #brx-content, .woocommerce-account #brx-content { box-sizing: border-box; width: 100%; max-width: 1240px; padding: 140px 24px 96px; margin: 0 auto; }
@media (max-width: 809px) { .woocommerce-cart #brx-content, .woocommerce-checkout #brx-content, .woocommerce-account #brx-content { padding: 108px 16px 64px; } }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea { border-radius: 10px !important; border-color: #d9cbbd !important; background: #fffdf9 !important; }
.wc-block-components-text-input.is-active input, .wc-block-components-text-input input:focus { border-color: #1f1f1f !important; box-shadow: 0 0 0 1px #1f1f1f !important; }
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
  background: #ec6c73 !important; color: #1f1f1f !important; border-radius: 10px !important; font-weight: 600 !important; min-height: 56px; border: 0 !important; }
.wc-block-components-button:not(.is-link):hover { background: #e55a62 !important; }
.wc-block-components-title, .wc-block-components-checkout-step__title { font-family: "DM Serif Display", serif; font-weight: 400 !important; }
.wc-block-components-totals-wrapper, .wc-block-components-order-summary, .wp-block-woocommerce-checkout-order-summary-block { border-color: #e7dacf !important; }
.wp-block-woocommerce-checkout-order-summary-block, .wc-block-components-sidebar .wc-block-components-panel { background: #fffdf9; border-radius: 16px; }
.wc-block-components-product-name { font-weight: 600; color: #1f1f1f !important; }
.jb-mentions-commande { margin: 14px 0 0; font-size: 14px; color: #515c4e; }

/* Confirmation : création de compte en un clic. */
.jb-creer-compte { margin: 28px 0; padding: 24px; border: 1px solid #e7dacf; border-radius: 16px; background: #fffdf9; }
.jb-creer-compte h2 { margin: 0 0 8px; font-family: "DM Serif Display", serif; font-weight: 400; font-size: 28px; }
.jb-creer-compte p { margin: 0 0 16px; }
.jb-bouton, .woocommerce-account .button, .woocommerce-order .button { background: #ec6c73; color: #1f1f1f; border: 0; border-radius: 10px; padding: 14px 24px; font-weight: 600; cursor: pointer; }
.jb-bouton:hover, .woocommerce-account .button:hover { background: #e55a62; }

/* Mon compte : navigation simple. */
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce-MyAccount-navigation a { display: inline-block; padding: 9px 16px; border: 1px solid #e7dacf; border-radius: 999px; background: #fffdf9; color: #1f1f1f; text-decoration: none; font-weight: 600; font-size: 15px; }
.woocommerce-MyAccount-navigation .is-active a { background: #1f1f1f; border-color: #1f1f1f; color: #fff; }
.woocommerce-account input.input-text { border-radius: 10px; border: 1px solid #d9cbbd; background: #fffdf9; padding: 12px 14px; }

/* Pages légales : encadré réglementaire des garanties. */
.jb-texte-legal p { margin: 0 0 .9em; } .jb-texte-legal ul { padding-left: 1.2em; }
.jb-encadre { margin: 16px 0 0; padding: 20px 22px; border: 2px solid #1f1f1f; border-radius: 12px; background: #fffdf9; color: #1f1f1f; font-size: 15px; }
.jb-encadre p { margin: 0 0 .7em; }

/* Mon compte et pages de commande : titres en DM Serif, menu compact sans fond hérité. */
.woocommerce-cart #brx-content h1, .woocommerce-checkout #brx-content h1, .woocommerce-account #brx-content h1 { font-family: "DM Serif Display", serif; font-weight: 400; }
.woocommerce-account .woocommerce-MyAccount-navigation { background: none !important; padding: 0 !important; border: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation a { padding: 8px 15px !important; line-height: 1.3 !important; font-size: 14px !important; }

/* Icône panier de l'en-tête : zone ronde de 44 px (doigt), survol discret, pastille posée sur l'icône. */
.jb-panier-entete .mini-cart-link { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; transition: background-color .2s ease; }
.jb-panier-entete .mini-cart-link:hover { background: #f3ece2; }
.jb-panier-entete .mini-cart-link:focus-visible { outline: 2px solid #1f1f1f; outline-offset: 2px; }
.jb-panier-entete .cart-icon { position: relative; display: inline-flex; line-height: 1; }
