/* ==========================================================================
   Famibio sur Kadence : en-tête et pied de page Famibio, pages WooCommerce
   ========================================================================== */

/* L'en-tête et le pied de page de Kadence sont remplacés par ceux de Famibio */
#masthead, #colophon, .site-footer, #mobile-drawer { display: none !important; }
.fb-head { display: contents; }
html:root {
  --global-palette1: #A5AA68; --global-palette2: #CA9746; --global-palette3: #2E2A22;
  --global-palette4: #2E2A22; --global-palette5: #77705F; --global-palette6: #9A927F;
  --global-palette7: #F3EEE2; --global-palette8: #FBF9F4; --global-palette9: #FFFFFF;
  --global-palette-btn-bg: #A5AA68; --global-palette-btn-bg-hover: #CA9746;
  --global-palette-btn: #2E2A22; --global-palette-btn-hover: #FFFFFF;
  --global-body-font-family: "Mulish", system-ui, sans-serif;
  --global-heading-font-family: "Cormorant Garamond", Georgia, serif;
}
body { margin: 0; background: var(--ivory); color: var(--ink); font-family: var(--body); }
body .site, body #wrapper, body .content-bg, body .site-container { background: transparent; }
body h1, body h2, body h3, body .entry-title, body .product_title { font-family: var(--serif); font-weight: 500; color: var(--ink); }

/* Liens et cartes de l'accueil (balises <a> au lieu de boutons) */
.fb a { color: inherit; }
.fb .card a.pic { display: grid; text-decoration: none; }
.fb a.linkish { text-decoration: none; }
.fb a.giftpic { text-decoration: none; }
.fb a.btn { text-decoration: none; }
.fb .card[hidden], .fb [hidden] { display: none !important; }
.fb .card .actions a.added_to_cart { display: none; }
.fb .fb-shoplink { text-align: center; margin: 46px 0 0; }
.fb .ribbon a { color: inherit; }
.fb .legal a { color: inherit; text-decoration: none; }
.fb .legal a:hover { color: var(--gold); }
.fb a.cart-btn { text-decoration: none; color: var(--ink); }
.fb a.cart-btn:hover { color: #fff; }
.fb .btn.ochre { background: var(--fami); border-color: var(--fami); color: #fff; }
.fb .btn.ochre:hover { background: var(--sage); border-color: var(--sage); color: var(--ink); }

/* Menu mobile */
.fb .fb-burger { display: none; background: none; border: 0; font-size: 24px; color: var(--ink); cursor: pointer; justify-self: start; padding: 6px 10px; }
@media (max-width: 1100px) {
  .fb .fb-burger { display: block; grid-column: 1; grid-row: 1; }
  .fb header.top .wrap { grid-template-columns: 1fr auto 1fr; }
  .fb header.top .logo { grid-column: 2; grid-row: 1; justify-self: center; }
  .fb header.top .cart-btn { grid-column: 3; grid-row: 1; justify-self: end; }
  .fb header.top nav.links { grid-column: 1; grid-row: 1; }
  .fb header.top nav.links.open { display: flex !important; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; gap: 0; background: var(--ivory); border-bottom: 1px solid var(--line); padding: 8px 0; z-index: 30; }
  .fb header.top nav.links.open a { padding: 14px 24px; font-size: 12px; }
  .fb header.top .fb-burger { grid-column: 1; grid-row: 1; }
  .fb header.top { position: sticky; }
  .fb header.top .wrap { position: relative; }
}

/* ---------- Pages WooCommerce (boutique, fiche produit, panier, commande) ---------- */
.woocommerce-page .site-main, .woocommerce .site-main { padding-top: 30px; }
.woocommerce .woocommerce-breadcrumb, .woocommerce-page .woocommerce-breadcrumb { font-family: var(--caps); text-transform: uppercase; letter-spacing: .16em; font-size: 11px; color: var(--muted); }
.woocommerce .woocommerce-breadcrumb a { color: var(--muted); }

/* Boutons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce .single_add_to_cart_button,
.wc-block-components-button, .wp-element-button, .woocommerce .checkout-button {
  background: var(--sage) !important; border: 1px solid var(--sage) !important; color: var(--ink) !important;
  font-family: var(--caps) !important; text-transform: uppercase; letter-spacing: .18em; font-size: 12px !important;
  border-radius: 0 !important; padding: 14px 26px !important; box-shadow: none !important; transition: background .25s, color .25s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce .single_add_to_cart_button:hover,
.wc-block-components-button:hover, .wp-element-button:hover, .woocommerce .checkout-button:hover {
  background: var(--fami) !important; border-color: var(--fami) !important; color: #fff !important;
}
.woocommerce a.added_to_cart { font-family: var(--caps); text-transform: uppercase; letter-spacing: .14em; font-size: 10.5px; color: var(--gold-deep); margin-left: 10px; }

/* Grille de la boutique */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { text-align: center; background: transparent; box-shadow: none; }
.woocommerce ul.products li.product a img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; background: var(--paper); padding: 0; transition: transform .5s ease; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.03); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--serif) !important; font-size: 22px !important; font-weight: 500; color: var(--ink); }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price {
  color: var(--gold-deep) !important; font-family: var(--serif); font-size: 22px; font-weight: 600;
}
.woocommerce ul.products li.product .price { font-size: 20px; }
.woocommerce span.onsale { background: var(--fami); color: #fff; border-radius: 0; font-family: var(--caps); }
.woocommerce .woocommerce-ordering select, .woocommerce .woocommerce-result-count { font-family: var(--body); color: var(--muted); }

/* Fiche produit */
.woocommerce div.product .product_title { font-size: clamp(34px, 4vw, 52px); line-height: 1.05; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--muted); font-size: 17px; }
.woocommerce div.product .woocommerce-product-details__short-description em { color: var(--gold-deep); font-style: italic; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations label {
  font-family: var(--caps); text-transform: uppercase; letter-spacing: .16em; font-size: 11px; font-weight: 400;
}
.woocommerce div.product form.cart .variations select {
  border: 1px solid var(--sage); background: var(--ivory); padding: 12px 14px; border-radius: 0; min-width: 220px; font-family: var(--body);
}
.woocommerce div.product form.cart .reset_variations { font-size: 12px; color: var(--muted); }
.woocommerce div.product form.cart .quantity input.qty { border: 1px solid var(--line); border-radius: 0; padding: 10px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-family: var(--caps); text-transform: uppercase; letter-spacing: .14em; font-size: 12px; }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { display: none; }
.woocommerce div.product .woocommerce-tabs .panel h3 { font-size: 24px; margin: 24px 0 8px; }
.woocommerce div.product .woocommerce-product-gallery__image img { border-radius: 4px; }
.woocommerce .fb-pickup { border-left: 2px solid var(--fami); background: var(--paper); padding: 10px 14px; font-size: 14px; color: var(--ochre); }
.fb-ask { font-family: var(--serif); font-style: italic; color: var(--muted); }
.woocommerce-message, .woocommerce-info { border-top-color: var(--sage) !important; background: var(--paper) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--sage-deep) !important; }
.woocommerce .stock.in-stock { color: var(--sage-deep); }
.woocommerce .stock.out-of-stock { color: var(--ochre); }

/* Panier et commande */
.woocommerce table.shop_table { border-radius: 0; border-color: var(--line); }
.woocommerce table.shop_table th { font-family: var(--caps); text-transform: uppercase; letter-spacing: .14em; font-size: 11px; font-weight: 400; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border-radius: 0; border-color: var(--line); }

@media (max-width: 640px) {
  .fb header.top .cart-btn { padding: 9px 12px; }
  .fb header.top .cart-btn .lbl { display: none; }
}

/* Illustration à la place de la photo manquante */
.fb-ph { display: grid; place-items: center; aspect-ratio: 1; border-radius: 50%; background: var(--paper); margin: 0 auto 14px; width: 100%; }
.fb-ph .ill { width: 56%; height: 56%; }
.woocommerce div.product .fb-ph { border-radius: 4px; }
/* Liens, méta et conteneurs */
.woocommerce .product_meta a, .woocommerce-cart a, .woocommerce-checkout a, .woocommerce div.product .woocommerce-tabs a { color: var(--gold-deep); }
.woocommerce .product_meta { font-size: 13px; color: var(--muted); }
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .woocommerce-cart .entry-content, .woocommerce-checkout .entry-content { max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; }
.wc-block-components-product-name { color: var(--ink) !important; font-family: var(--serif); font-size: 20px; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--sage) !important; color: var(--ink) !important; }
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background: var(--fami) !important; color: #fff !important; }
/* Style des illustrations au trait, partout sur le site */
.ill{fill:none;stroke:#3B3528;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.ill .lf{fill:var(--sage);stroke:none;opacity:.9}
.ill .hn{fill:var(--honey);stroke:none;opacity:.7}
.ill .ac{stroke:var(--gold)}
.ill .acf{fill:var(--gold);stroke:none}
.ill .pp{fill:var(--ivory)}

/* Bouton « Ajouter au panier » : texte bien centré (Kadence) */
body.woocommerce div.product form.cart button.single_add_to_cart_button, body.woocommerce div.product form.cart .button, body.single-product form.cart button.single_add_to_cart_button {
  display: inline-flex !important; align-items: center; justify-content: center;
  line-height: 1 !important; min-height: 52px; height: auto !important; padding: 0 30px !important; vertical-align: middle;
}
.woocommerce div.product form.cart .quantity input.qty { height: 52px; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.woocommerce div.product form.cart.variations_form { display: block; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
/* Référence interne (UGS) masquée aux clients */
.woocommerce div.product .product_meta .sku_wrapper { display: none; }
