/* ==========================================================================
   Boutique Manager — Habillage « Les Chalets de Philippe »
   Charte du site principal : Marcellus (titres) + Jost (texte),
   vert forêt, beige doré, crème, terracotta pour les actions.
   Tout est préfixé par body.bmc-skin : désactiver l'option = retour à l'existant.
   ========================================================================== */

body.bmc-skin {
  --bmc-ink: #2E312D;
  --bmc-ink-soft: #5E625B;
  --bmc-forest: #3F4E3D;
  --bmc-forest-2: #53624E;
  --bmc-sand: #B99D75;
  --bmc-sand-dark: #8C7350;
  --bmc-sand-light: #E6D3B3;
  --bmc-cream: #F6F3EE;
  --bmc-cream-2: #EDE6DA;
  --bmc-line: #E4DCCD;
  --bmc-action: #A65A43;
  --bmc-action-hover: #8E4A36;
  --bmc-serif: Marcellus, Georgia, 'Times New Roman', serif;
  --bmc-sans: Jost, 'Trebuchet MS', 'Helvetica Neue', Arial, sans-serif;

  /* Couleurs et polices globales Elementor */
  --e-global-color-primary: var(--bmc-forest);
  --e-global-color-secondary: var(--bmc-sand-dark);
  --e-global-color-text: var(--bmc-ink);
  --e-global-color-accent: var(--bmc-action);
  --e-global-typography-primary-font-family: Marcellus;
  --e-global-typography-secondary-font-family: Marcellus;
  --e-global-typography-text-font-family: Jost;
  --e-global-typography-accent-font-family: Jost;

  background: var(--bmc-cream);
  color: var(--bmc-ink);
  font-family: var(--bmc-sans);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.bmc-skin #page, body.bmc-skin .site-content, body.bmc-skin .site-main { background: transparent; }

/* ---------- Typographie ---------- */
body.bmc-skin h1, body.bmc-skin h2, body.bmc-skin h3, body.bmc-skin h4,
body.bmc-skin .elementor-heading-title,
body.bmc-skin .product_title,
body.bmc-skin .woocommerce-loop-product__title,
body.bmc-skin .woocommerce-loop-category__title,
body.bmc-skin .entry-title {
  font-family: var(--bmc-serif) !important;
  font-weight: 400 !important;
  color: var(--bmc-ink);
  letter-spacing: 0;
  text-wrap: balance;
}
body.bmc-skin p, body.bmc-skin li, body.bmc-skin td, body.bmc-skin th,
body.bmc-skin input, body.bmc-skin select, body.bmc-skin textarea, body.bmc-skin button,
body.bmc-skin .elementor-widget-text-editor { font-family: var(--bmc-sans); }
/* Textes collés depuis Word : on neutralise leurs polices en dur (Georgia, Times, Arial…) */
body.bmc-skin .elementor-widget-text-editor [style*="font-family"],
body.bmc-skin .entry-content [style*="font-family"],
body.bmc-skin .woocommerce-product-details__short-description [style*="font-family"],
body.bmc-skin #colophon [style*="font-family"] { font-family: inherit !important; }
body.bmc-skin #colophon [style*="font-size"] { font-size: inherit !important; }
body.bmc-skin a { color: var(--bmc-ink); text-decoration-color: rgba(46,49,45,.35); text-underline-offset: 3px; transition: color .15s; }
body.bmc-skin a:hover { color: var(--bmc-action-hover); }
body.bmc-skin p:empty { display: none; }

/* ---------- Bandeau d'information (Simple Banner) ---------- */
body.bmc-skin .simple-banner { background: var(--bmc-forest) !important; }
body.bmc-skin .simple-banner .simple-banner-text,
body.bmc-skin .simple-banner .simple-banner-text span {
  color: #EDE6DA !important; font-family: var(--bmc-sans) !important; font-size: 13px !important;
  letter-spacing: .03em; line-height: 1.5; padding: 8px 16px !important;
}

/* ---------- Barre haute ---------- */
body.bmc-skin .overlay-topbar-default {
  background: #FFFFFF !important; color: var(--bmc-ink-soft) !important;
  border-bottom: 1px solid var(--bmc-line); font-size: 13px;
}
body.bmc-skin .overlay-topbar-default .site-bar-text, body.bmc-skin .overlay-topbar-default i { color: var(--bmc-ink-soft) !important; }
body.bmc-skin .header-search { color: var(--bmc-ink) !important; background: transparent !important; min-width: 44px; min-height: 36px; }

/* ---------- En-tête ---------- */
body.bmc-skin .site-header,
body.bmc-skin .site-header .site-header-inner { background: #FFFFFF !important; }
body.bmc-skin .site-header .site-header-inner { padding-top: 22px; padding-bottom: 14px; }
body.bmc-skin .site-title, body.bmc-skin .site-title a {
  font-family: var(--bmc-serif) !important; font-size: 30px !important; font-weight: 400 !important;
  color: var(--bmc-ink) !important; letter-spacing: 0 !important; text-transform: none !important; line-height: 1.15 !important; margin: 0;
}
body.bmc-skin .site-description {
  font-family: var(--bmc-sans) !important; font-size: 11px !important; font-weight: 500 !important;
  letter-spacing: .3em !important; text-transform: uppercase; color: var(--bmc-sand-dark) !important; margin-top: 4px !important;
}

/* ---------- Menu ---------- */
body.bmc-skin .main-navigation,
body.bmc-skin .main-navigation .site-container,
body.bmc-skin .main-navigation .main-menu-inner { background: #FFFFFF !important; }
body.bmc-skin .main-navigation { border-top: 1px solid var(--bmc-line); border-bottom: 1px solid var(--bmc-line); }
body.bmc-skin .main-navigation ul#overlay-main-menu > li > a,
body.bmc-skin .main-navigation ul#overlay-main-menu > li > a .nav-span-block {
  font-family: var(--bmc-sans) !important; font-size: 13px !important; font-weight: 500 !important;
  letter-spacing: .14em !important; text-transform: uppercase !important;
  color: var(--bmc-ink) !important; background: transparent !important;
}
body.bmc-skin .main-navigation ul#overlay-main-menu > li > a { padding-top: 16px !important; padding-bottom: 16px !important; border: 0 !important; }
body.bmc-skin .main-navigation ul#overlay-main-menu > li:hover > a,
body.bmc-skin .main-navigation ul#overlay-main-menu > li.current-menu-item > a,
body.bmc-skin .main-navigation ul#overlay-main-menu > li:hover > a .nav-span-block,
body.bmc-skin .main-navigation ul#overlay-main-menu > li.current-menu-item > a .nav-span-block { color: var(--bmc-action) !important; }
body.bmc-skin .main-navigation ul#overlay-main-menu > li.current-menu-item > a { box-shadow: inset 0 -2px 0 var(--bmc-sand); }
body.bmc-skin .main-navigation ul ul {
  background: #FFFFFF !important; border: 1px solid var(--bmc-line) !important; box-shadow: 0 18px 40px rgba(30,34,28,.10) !important; padding: 8px 0 !important;
}
body.bmc-skin .main-navigation ul ul a {
  font-family: var(--bmc-sans) !important; font-size: 14px !important; text-transform: none !important; letter-spacing: 0 !important;
  color: var(--bmc-ink) !important; background: transparent !important; padding: 10px 20px !important; border: 0 !important;
}
body.bmc-skin .main-navigation ul ul a:hover { color: var(--bmc-action) !important; background: var(--bmc-cream) !important; }
body.bmc-skin .menu-toggle { background: var(--bmc-forest) !important; color: #FFFFFF !important; border-radius: 0 !important; min-height: 44px; }
body.bmc-skin .menu-dropdown-btn { color: var(--bmc-ink) !important; background: transparent !important; }

/* ---------- Boutons ---------- */
body.bmc-skin .button,
body.bmc-skin button.button,
body.bmc-skin a.button,
body.bmc-skin input[type="submit"],
body.bmc-skin .elementor-button,
body.bmc-skin .single_add_to_cart_button,
body.bmc-skin .checkout-button,
body.bmc-skin #place_order,
body.bmc-skin .wc-block-components-button:not(.is-link),
body.bmc-skin .wp-element-button {
  background: var(--bmc-action) !important; color: #FFFFFF !important;
  border: 1px solid var(--bmc-action) !important; border-radius: 0 !important; box-shadow: none !important;
  font-family: var(--bmc-sans) !important; font-weight: 500 !important; font-size: 14px !important;
  letter-spacing: .14em !important; text-transform: uppercase !important; text-decoration: none !important;
  padding: 15px 28px !important; min-height: 48px; line-height: 1.2 !important;
  transition: background-color .15s, border-color .15s !important;
}
body.bmc-skin .button:hover, body.bmc-skin a.button:hover, body.bmc-skin input[type="submit"]:hover,
body.bmc-skin .elementor-button:hover, body.bmc-skin .single_add_to_cart_button:hover,
body.bmc-skin .checkout-button:hover, body.bmc-skin #place_order:hover,
body.bmc-skin .wc-block-components-button:not(.is-link):hover, body.bmc-skin .wp-element-button:hover {
  background: var(--bmc-action-hover) !important; border-color: var(--bmc-action-hover) !important; color: #FFFFFF !important;
}
/* Boutons secondaires */
body.bmc-skin .button.wc-backward, body.bmc-skin .woocommerce-cart button[name="update_cart"],
body.bmc-skin .button.alt-outline {
  background: transparent !important; color: var(--bmc-ink) !important; border-color: var(--bmc-ink) !important;
}
body.bmc-skin .button.wc-backward:hover, body.bmc-skin .woocommerce-cart button[name="update_cart"]:hover {
  background: var(--bmc-ink) !important; color: #FFFFFF !important;
}
body.bmc-skin .elementor-button .elementor-button-text { color: inherit !important; }

/* ---------- Formulaires ---------- */
body.bmc-skin input[type="text"], body.bmc-skin input[type="email"], body.bmc-skin input[type="tel"],
body.bmc-skin input[type="number"], body.bmc-skin input[type="password"], body.bmc-skin input[type="search"],
body.bmc-skin input[type="date"], body.bmc-skin select, body.bmc-skin textarea,
body.bmc-skin .select2-container .select2-selection {
  border: 1px solid #CFC5B2 !important; border-radius: 0 !important; background: #FFFFFF !important;
  color: var(--bmc-ink) !important; font-size: 16px !important; min-height: 46px; padding: 10px 14px; box-shadow: none !important;
}
body.bmc-skin input:focus, body.bmc-skin select:focus, body.bmc-skin textarea:focus {
  outline: none !important; border-color: var(--bmc-forest) !important; box-shadow: 0 0 0 3px rgba(63,78,61,.15) !important;
}
body.bmc-skin label { color: var(--bmc-ink); }
body.bmc-skin :focus-visible { outline: 2px solid var(--bmc-action); outline-offset: 2px; }

/* ---------- Messages WooCommerce ---------- */
body.bmc-skin .woocommerce-message, body.bmc-skin .woocommerce-info, body.bmc-skin .woocommerce-error,
body.bmc-skin .wc-block-components-notice-banner {
  background: #FFFFFF !important; color: var(--bmc-ink) !important; border: 1px solid var(--bmc-line) !important;
  border-left: 3px solid var(--bmc-forest) !important; border-radius: 0 !important; font-size: 15px;
}
body.bmc-skin .woocommerce-error, body.bmc-skin .wc-block-components-notice-banner.is-error { border-left-color: var(--bmc-action) !important; }
body.bmc-skin .woocommerce-message::before, body.bmc-skin .woocommerce-info::before { color: var(--bmc-forest) !important; }
body.bmc-skin .woocommerce-error::before { color: var(--bmc-action) !important; }

/* ---------- Pages produit : pleine largeur, sans barre latérale ---------- */
body.bmc-skin.single-product #secondary,
body.bmc-skin.woocommerce-cart #secondary,
body.bmc-skin.woocommerce-checkout #secondary { display: none !important; }
body.bmc-skin.single-product #primary,
body.bmc-skin.woocommerce-cart #primary,
body.bmc-skin.woocommerce-checkout #primary { width: 100% !important; float: none !important; max-width: 1200px; margin-left: auto; margin-right: auto; }
body.bmc-skin.single-product .site-main { padding-top: 24px; }
body.bmc-skin .woocommerce-breadcrumb { font-size: 13px; color: var(--bmc-ink-soft); margin-bottom: 24px !important; }
body.bmc-skin .woocommerce-breadcrumb a { color: var(--bmc-ink-soft); }

body.bmc-skin div.product .product_title { font-size: clamp(32px, 4vw, 46px) !important; line-height: 1.1 !important; margin: 0 0 14px !important; }
body.bmc-skin div.product p.price, body.bmc-skin div.product span.price,
body.bmc-skin .woocommerce-variation-price .price {
  font-family: var(--bmc-sans) !important; font-weight: 500 !important; font-size: 30px !important; color: var(--bmc-ink) !important;
  padding: 14px 0; margin: 4px 0 18px !important; border-top: 1px solid var(--bmc-line); border-bottom: 1px solid var(--bmc-line);
}
body.bmc-skin .woocommerce-variation-price .price { border: 0; padding: 0; font-size: 28px !important; }
body.bmc-skin div.product p.price del { opacity: .5; font-size: .7em; }
body.bmc-skin .bmc-price-note { font-family: var(--bmc-sans); font-size: 15px; color: var(--bmc-ink-soft); margin-left: 10px; }
body.bmc-skin .woocommerce-product-details__short-description { font-size: 16px; color: #4C504A; }
body.bmc-skin div.product .woocommerce-product-gallery img { border-radius: 0; }
body.bmc-skin div.product .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 10px !important; }
body.bmc-skin div.product .flex-control-thumbs li { width: auto !important; margin: 0 !important; float: none !important; }
body.bmc-skin div.product form.cart { margin-top: 10px; }
body.bmc-skin div.product form.cart .quantity input.qty { min-height: 56px; width: 72px; text-align: center; }
body.bmc-skin div.product form.cart .single_add_to_cart_button { min-height: 56px; flex-grow: 1; }
body.bmc-skin div.product form.cart:not(.variations_form), body.bmc-skin div.product .woocommerce-variation-add-to-cart { display: flex; gap: 12px; flex-wrap: wrap; align-items: stretch; }
body.bmc-skin div.product .product_meta { font-size: 13px; color: var(--bmc-ink-soft); }

/* Variations en boutons */
body.bmc-skin table.variations { border: 0; margin-bottom: 8px !important; }
body.bmc-skin table.variations th.label, body.bmc-skin table.variations td.label { padding: 0 0 8px !important; display: block; }
body.bmc-skin table.variations th.label label, body.bmc-skin table.variations td.label label {
  font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase;
}
body.bmc-skin table.variations td.value { padding: 0 0 18px !important; display: block; }
body.bmc-skin table.variations tr { display: block; }
body.bmc-skin .bmc-swatches { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; }
body.bmc-skin .bmc-swatch {
  font-family: var(--bmc-sans) !important; min-height: 60px; padding: 8px 10px !important; margin: 0 !important;
  background: #FFFFFF !important; color: var(--bmc-ink) !important; border: 1px solid #D5CBB8 !important; border-radius: 0 !important;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; cursor: pointer;
  text-transform: none !important; letter-spacing: 0 !important; font-size: 15px !important; line-height: 1.3 !important; box-shadow: none !important;
}
body.bmc-skin .bmc-swatch:hover { border-color: var(--bmc-forest) !important; }
body.bmc-skin .bmc-swatch small { font-size: 13px; color: var(--bmc-ink-soft); }
body.bmc-skin .bmc-swatch[aria-pressed="true"] { background: var(--bmc-ink) !important; border-color: var(--bmc-ink) !important; color: #FFFFFF !important; }
body.bmc-skin .bmc-swatch[aria-pressed="true"] small { color: var(--bmc-sand-light); }
body.bmc-skin .bmc-swatch[disabled] { opacity: .4; cursor: not-allowed; }
body.bmc-skin .bmc-swatches + select { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden; clip: rect(0 0 0 0); opacity: 0; }
body.bmc-skin .reset_variations { font-size: 13px; color: var(--bmc-ink-soft); }
body.bmc-skin .woocommerce-variation-description { font-size: 15px; color: #4C504A; background: #FFFFFF; border: 1px solid var(--bmc-line); padding: 12px 16px; margin-bottom: 14px; }
body.bmc-skin .woocommerce-variation-description p { margin: 0; }

/* Sections sous la fiche */
body.bmc-skin .bmc-product-details {
  clear: both; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 48px;
  border-top: 1px solid var(--bmc-line); margin: 56px 0 32px; padding-top: 44px;
}
body.bmc-skin .bmc-product-details h2 { font-size: 26px !important; margin: 0 0 14px !important; }
body.bmc-skin .bmc-product-details ul { margin: 0; padding-left: 20px; line-height: 1.9; color: #3E423C; }
body.bmc-skin .bmc-included-note { margin-top: 10px; font-size: 14px; opacity: .75; }
body.bmc-skin .bmc-product-details p { margin: 0; line-height: 1.7; color: #3E423C; }
body.bmc-skin.single-product .woocommerce-tabs { clear: both; margin-top: 8px; }
body.bmc-skin .woocommerce-tabs ul.tabs { padding: 0 !important; margin: 0 0 20px !important; border-bottom: 1px solid var(--bmc-line); }
body.bmc-skin .woocommerce-tabs ul.tabs::before { display: none !important; }
body.bmc-skin .woocommerce-tabs ul.tabs li { background: transparent !important; border: 0 !important; border-radius: 0 !important; margin: 0 24px 0 0 !important; padding: 0 !important; }
body.bmc-skin .woocommerce-tabs ul.tabs li::before, body.bmc-skin .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.bmc-skin .woocommerce-tabs ul.tabs li a { font-size: 13px; font-weight: 500 !important; letter-spacing: .14em; text-transform: uppercase; padding: 12px 0 !important; color: var(--bmc-ink-soft) !important; }
body.bmc-skin .woocommerce-tabs ul.tabs li.active a { color: var(--bmc-ink) !important; box-shadow: inset 0 -2px 0 var(--bmc-sand); }
body.bmc-skin .woocommerce-tabs .panel h2:first-child { display: none; }

/* ---------- Listes de produits ---------- */
body.bmc-skin ul.products li.product {
  background: #FFFFFF; padding: 0 0 22px !important; text-align: left !important; border: 0 !important; box-shadow: none !important;
}
body.bmc-skin ul.products li.product a img { margin: 0 0 18px !important; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
body.bmc-skin ul.products li.product .woocommerce-loop-product__title,
body.bmc-skin ul.products li.product .woocommerce-loop-category__title { font-size: 22px !important; padding: 0 20px !important; margin: 0 0 8px !important; }
body.bmc-skin ul.products li.product .price { display: block; padding: 0 20px; font-family: var(--bmc-sans); font-weight: 500; font-size: 19px !important; color: var(--bmc-ink) !important; margin-bottom: 14px !important; }
body.bmc-skin ul.products li.product .button { margin: 0 20px !important; }
body.bmc-skin span.onsale { background: var(--bmc-action) !important; border-radius: 0 !important; }

/* ---------- Panier / commande ---------- */
body.bmc-skin table.shop_table { border: 1px solid var(--bmc-line) !important; border-radius: 0 !important; background: #FFFFFF; border-collapse: collapse; }
body.bmc-skin table.shop_table th { font-family: var(--bmc-sans); font-size: 12px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--bmc-ink-soft); background: var(--bmc-cream); }
body.bmc-skin table.shop_table td, body.bmc-skin table.shop_table th { border-color: var(--bmc-line) !important; padding: 14px 16px !important; }
body.bmc-skin table.shop_table .product-name a { font-family: var(--bmc-serif); font-size: 18px; text-decoration: none; }
body.bmc-skin table.shop_table dl.variation { font-size: 14px; color: var(--bmc-ink-soft); }
body.bmc-skin table.shop_table td.product-thumbnail { width: 132px; }
body.bmc-skin table.shop_table td.product-thumbnail img { width: 110px !important; max-width: none !important; height: 82px !important; object-fit: cover; border-radius: 2px; display: block; }
@media (max-width: 768px) { body.bmc-skin table.shop_table td.product-thumbnail { display: block !important; width: auto; } body.bmc-skin table.shop_table td.product-thumbnail::before { display: none; } body.bmc-skin table.shop_table td.product-thumbnail img { width: 100% !important; height: 160px !important; } }
body.bmc-skin .cart_totals h2, body.bmc-skin #order_review_heading, body.bmc-skin .woocommerce-billing-fields h3 { font-size: 26px !important; }
body.bmc-skin .cart-collaterals .cart_totals, body.bmc-skin #order_review { background: #FFFFFF; padding: 22px; border: 1px solid var(--bmc-line); }
body.bmc-skin .woocommerce-checkout #payment { background: var(--bmc-cream) !important; border-radius: 0 !important; }
body.bmc-skin .woocommerce-checkout #payment div.payment_box { background: #FFFFFF !important; }
body.bmc-skin .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #FFFFFF !important; }
body.bmc-skin .wc-empty-cart-message { text-align: center; padding: 40px 0 8px; }

/* ---------- Pied de page ---------- */
body.bmc-skin #colophon, body.bmc-skin #colophon .site-footer-inner { background: var(--bmc-ink) !important; color: #CFC9BE !important; }
body.bmc-skin #colophon .site-footer-inner { padding: 56px 0 28px; }
body.bmc-skin #colophon, body.bmc-skin #colophon p, body.bmc-skin #colophon span, body.bmc-skin #colophon li { color: #CFC9BE !important; font-size: 14px; line-height: 1.75; }
body.bmc-skin #colophon strong { color: #FFFFFF !important; font-weight: 500; }
body.bmc-skin #colophon .widget-title {
  font-family: var(--bmc-sans) !important; font-size: 12px !important; font-weight: 500 !important;
  letter-spacing: .24em !important; text-transform: uppercase !important; color: var(--bmc-sand) !important; margin-bottom: 14px !important;
}
body.bmc-skin #colophon a { color: #CFC9BE !important; text-decoration: none; }
body.bmc-skin #colophon a:hover { color: #FFFFFF !important; }
body.bmc-skin #colophon img { filter: grayscale(1) brightness(1.6); opacity: .85; max-height: 32px; width: auto; }
body.bmc-skin .overlay-bottombar-default { display: none !important; } /* crédit du thème */
body.bmc-skin .bmc-legal { background: var(--bmc-ink); color: #A8A397; font-size: 12px; text-align: center; padding: 14px 16px 22px; border-top: 1px solid #45493F; }
body.bmc-skin .bmc-legal a { color: #A8A397; }

/* Onglet latéral « Contactez-nous » */
body.bmc-skin #rum_sst_tab { background: var(--bmc-forest) !important; color: #FFFFFF !important; font-family: var(--bmc-sans) !important; letter-spacing: .08em; }

/* ==========================================================================
   Vitrine (shortcodes [bmc_accueil] et blocs)
   ========================================================================== */
.bmc-v { font-family: var(--bmc-sans); color: var(--bmc-ink); }
.bmc-v *, .bmc-v *::before, .bmc-v *::after { box-sizing: border-box; }
.bmc-v .bmc-wrap { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.bmc-v .bmc-eyebrow { display: block; font-size: 12px; font-weight: 500; letter-spacing: .3em; text-transform: uppercase; color: var(--bmc-sand-dark); margin: 0 0 12px; }
.bmc-v h1, .bmc-v h2, .bmc-v h3 { font-family: var(--bmc-serif) !important; font-weight: 400 !important; margin: 0; line-height: 1.12; }
.bmc-v .bmc-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 15px 30px;
  background: var(--bmc-action); color: #FFFFFF !important; border: 1px solid var(--bmc-action);
  font-size: 14px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; text-decoration: none !important; transition: background-color .15s;
}
.bmc-v .bmc-btn:hover { background: var(--bmc-action-hover); border-color: var(--bmc-action-hover); }
.bmc-v .bmc-btn--ghost { background: transparent; border-color: currentColor; }
.bmc-v .bmc-btn--ghost:hover { background: rgba(255,255,255,.12); }
.bmc-v .bmc-btn--dark { background: var(--bmc-ink); border-color: var(--bmc-ink); }
.bmc-v .bmc-btn--line { background: transparent; color: var(--bmc-ink) !important; border-color: var(--bmc-ink); }
.bmc-v .bmc-btn--line:hover { background: var(--bmc-ink); color: #FFFFFF !important; }
.bmc-v .bmc-actions { display: flex; gap: 14px; flex-wrap: wrap; }

/* Héros */
.bmc-hero { position: relative; min-height: 620px; display: flex; align-items: flex-end; background: var(--bmc-forest-2); color: #FFFFFF; overflow: hidden; }
.bmc-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bmc-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,26,19,.25) 0%, rgba(20,26,19,0) 30%, rgba(20,26,19,.74) 100%); }
.bmc-hero__inner { position: relative; z-index: 1; width: 100%; padding-top: 120px; padding-bottom: 76px; display: flex; flex-direction: column; gap: 22px; }
.bmc-hero .bmc-eyebrow { color: var(--bmc-sand-light); margin: 0; }
.bmc-hero h1 { color: #FFFFFF !important; font-size: clamp(38px, 5.4vw, 64px); max-width: 800px; }
.bmc-hero p { margin: 0; max-width: 640px; font-size: clamp(17px, 1.6vw, 19px); font-weight: 300; line-height: 1.6; color: #FFFFFF; }
.bmc-hero .bmc-actions { margin-top: 6px; }
.bmc-hero .bmc-btn--ghost { color: #FFFFFF !important; }

/* Garanties */
.bmc-assure { background: #FFFFFF; border-bottom: 1px solid var(--bmc-line); }
.bmc-assure .bmc-wrap { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 28px; padding-top: 34px; padding-bottom: 34px; }
.bmc-assure__item { display: flex; gap: 16px; align-items: flex-start; }
.bmc-assure__item svg { flex: 0 0 auto; width: 30px; height: 30px; stroke: var(--bmc-sand-dark); }
.bmc-assure__item strong { display: block; font-weight: 500; font-size: 16px; }
.bmc-assure__item span { display: block; font-size: 14px; color: var(--bmc-ink-soft); margin-top: 4px; line-height: 1.5; }

/* Coffrets */
.bmc-cards { padding: 96px 0 40px; }
.bmc-cards__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 40px; }
.bmc-cards__head h2 { font-size: clamp(30px, 3.4vw, 42px); }
.bmc-cards__head p { margin: 0; max-width: 420px; color: var(--bmc-ink-soft); }
.bmc-cards__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 24px; }
.bmc-card { display: flex; flex-direction: column; background: #FFFFFF; color: var(--bmc-ink) !important; text-decoration: none !important; transition: transform .2s, box-shadow .2s; }
.bmc-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(30,34,28,.10); }
.bmc-card__img { aspect-ratio: 4 / 4.2; background: var(--bmc-forest-2); overflow: hidden; }
.bmc-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s; margin: 0 !important; }
.bmc-card:hover .bmc-card__img img { transform: scale(1.03); }
.bmc-card__body { padding: 24px; display: flex; flex-direction: column; gap: 10px; flex-grow: 1; }
.bmc-card__body .bmc-eyebrow { font-size: 11px; letter-spacing: .22em; margin: 0; }
.bmc-card__body h3 { font-size: 24px; color: var(--bmc-ink); }
.bmc-card__body p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--bmc-ink-soft); flex-grow: 1; }
.bmc-card__price { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; border-top: 1px solid #ECE5D8; padding-top: 14px; margin-top: 6px; }
.bmc-card__price span { font-size: 14px; color: var(--bmc-ink-soft); }
.bmc-card__price strong { font-family: var(--bmc-sans); font-weight: 500; font-size: 22px; letter-spacing: .01em; white-space: nowrap; }
.bmc-card__price strong .woocommerce-Price-amount { font-size: inherit; }

/* E-carte */
.bmc-ecard { padding: 56px 0 0; }
.bmc-ecard__box { background: var(--bmc-forest); color: #FFFFFF; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)); }
.bmc-ecard__text { padding: clamp(36px, 5vw, 64px) clamp(24px, 5vw, 56px); display: flex; flex-direction: column; gap: 20px; }
.bmc-ecard__text .bmc-eyebrow { color: var(--bmc-sand-light); margin: 0; }
.bmc-ecard__text h2 { color: #FFFFFF !important; font-size: clamp(30px, 3.2vw, 40px); }
.bmc-ecard__text p { margin: 0; font-size: 17px; font-weight: 300; line-height: 1.65; color: #E9E4DA; }
.bmc-ecard__chips { display: flex; gap: 10px; flex-wrap: wrap; }
.bmc-ecard__chips a {
  min-height: 46px; padding: 11px 20px; display: inline-flex; align-items: center; border: 1px solid #8E9A88;
  color: #FFFFFF !important; text-decoration: none !important; font-size: 16px; font-weight: 500; transition: all .15s;
}
.bmc-ecard__chips a:hover { background: var(--bmc-sand-light); border-color: var(--bmc-sand-light); color: var(--bmc-ink) !important; }
.bmc-ecard__visual { min-height: 400px; background: var(--bmc-forest-2) center / cover no-repeat; position: relative; display: flex; align-items: center; justify-content: center; padding: 40px; }
.bmc-ecard__visual::before { content: ""; position: absolute; inset: 0; background: rgba(32,42,31,.45); }
.bmc-mini { position: relative; width: 300px; max-width: 100%; background: #FFFFFF; box-shadow: 0 24px 60px rgba(10,16,10,.35); transform: rotate(-3deg); color: var(--bmc-ink); }
.bmc-mini__top { height: 150px; background: var(--bmc-forest); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: #FFFFFF; }
.bmc-mini__top small { font-size: 8px; letter-spacing: .3em; text-transform: uppercase; }
.bmc-mini__top b { font-family: var(--bmc-serif); font-weight: 400; font-size: 26px; }
.bmc-mini__top i { font-family: var(--bmc-sans); font-style: normal; font-size: 22px; color: var(--bmc-sand-light); }
.bmc-mini__rows { padding: 18px 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.bmc-mini__rows small { display: block; font-size: 7px; letter-spacing: .18em; text-transform: uppercase; color: var(--bmc-sand-dark); }
.bmc-mini__rows span { display: block; font-family: var(--bmc-serif); font-size: 13px; margin-top: 3px; }
.bmc-mini__msg { margin: 0 20px 20px; background: var(--bmc-cream); padding: 10px; font-family: var(--bmc-serif); font-size: 11px; text-align: center; }

/* Étapes */
.bmc-steps { padding: 104px 0 96px; }
.bmc-steps__head { text-align: center; margin-bottom: 56px; }
.bmc-steps__head h2 { font-size: clamp(30px, 3.2vw, 40px); }
.bmc-steps__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 40px; }
.bmc-step { display: flex; flex-direction: column; gap: 12px; align-items: center; text-align: center; }
.bmc-step__n { font-family: var(--bmc-serif); font-size: 46px; line-height: 1; color: var(--bmc-sand); }
.bmc-step h3 { font-family: var(--bmc-sans) !important; font-weight: 500 !important; font-size: 19px; }
.bmc-step p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--bmc-ink-soft); max-width: 300px; }

/* Sur mesure */
.bmc-custom { background: var(--bmc-cream-2); }
.bmc-custom .bmc-wrap { padding-top: 64px; padding-bottom: 64px; display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; }
.bmc-custom h2 { font-size: clamp(26px, 2.6vw, 32px); margin-bottom: 10px; }
.bmc-custom p { margin: 0; max-width: 620px; color: #4C504A; }
.bmc-custom .bmc-btn { text-transform: none; letter-spacing: .03em; font-size: 15px; }

@media (max-width: 640px) {
  .bmc-v .bmc-wrap { padding: 0 20px; }
  .bmc-hero { min-height: 520px; }
  .bmc-hero__inner { padding-bottom: 48px; }
  .bmc-v .bmc-actions .bmc-btn { width: 100%; }
  .bmc-cards { padding-top: 64px; }
  .bmc-steps { padding: 72px 0 64px; }
  body.bmc-skin .site-title, body.bmc-skin .site-title a { font-size: 24px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .bmc-card, .bmc-card__img img { transition: none; }
  .bmc-card:hover, .bmc-card:hover .bmc-card__img img { transform: none; }
}

/* Blocs pleine largeur même à l'intérieur d'un conteneur du thème ou d'Elementor */
body.bmc-skin #page { overflow-x: clip; }
.bmc-hero, .bmc-assure, .bmc-custom { width: 100vw; position: relative; left: 50%; margin-left: -50vw; }
body.bmc-skin .bmc-home-main + * { margin-top: 0; }

body.bmc-vitrine #content.site-content { padding-top: 0 !important; padding-bottom: 0 !important; }
body.bmc-vitrine .entry-header, body.bmc-vitrine .page-header { display: none; }
body.bmc-skin .product_meta a, body.bmc-skin .bmc-product-details a, body.bmc-skin .woocommerce-product-details__short-description a,
body.bmc-skin .woocommerce-breadcrumb a:hover { color: var(--bmc-action) !important; }

/* ---------- Menu sur une seule ligne (ordinateur) ----------
   Sélecteurs volontairement aussi précis que ceux de l'en-tête plus haut, pour l'emporter. */
@media (min-width: 981px) {
  body.bmc-skin .main-navigation ul#overlay-main-menu { display: flex !important; flex-wrap: wrap; justify-content: center; align-items: center; column-gap: 4px; }
  body.bmc-skin .main-navigation ul#overlay-main-menu > li { float: none !important; flex: 0 0 auto; }
  body.bmc-skin .main-navigation ul#overlay-main-menu > li > a { padding-left: 10px !important; padding-right: 10px !important; white-space: nowrap; }
  body.bmc-skin .main-navigation ul#overlay-main-menu > li > a .nav-span-block { padding: 0 !important; letter-spacing: .1em !important; }
  body.bmc-skin .main-navigation ul#overlay-main-menu > li.bmc-cart-item > a { display: flex !important; align-items: center; gap: 8px; position: relative; }
}
@media (min-width: 981px) and (max-width: 1239px) {
  body.bmc-skin .main-navigation ul#overlay-main-menu > li > a { padding-left: 7px !important; padding-right: 7px !important; }
  body.bmc-skin .main-navigation ul#overlay-main-menu > li > a,
  body.bmc-skin .main-navigation ul#overlay-main-menu > li > a .nav-span-block { font-size: 12px !important; letter-spacing: .06em !important; }
  body.bmc-skin .main-navigation ul#overlay-main-menu > li.bmc-cart-item .bmc-cart-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}
@media (min-width: 981px) and (max-width: 1099px) {
  body.bmc-skin .main-navigation ul#overlay-main-menu { column-gap: 0; }
  body.bmc-skin .main-navigation ul#overlay-main-menu > li > a { padding-left: 6px !important; padding-right: 6px !important; }
  body.bmc-skin .main-navigation ul#overlay-main-menu > li > a,
  body.bmc-skin .main-navigation ul#overlay-main-menu > li > a .nav-span-block { font-size: 11.5px !important; letter-spacing: .03em !important; }
}
.bmc-cart-icon { width: 20px; height: 20px; flex: 0 0 auto; vertical-align: middle; }
.bmc-cart-item > a { position: relative; }
.bmc-cart-dot { position: absolute; top: 12px; left: 22px; width: 8px; height: 8px; border-radius: 50%; background: #A65A43; }
.bmc-cart-dot[hidden] { display: none; }

/* [bmc_bons] : bons d'une catégorie en cartes */
.bmc-offers { padding: 56px 0; }
.bmc-offers .bmc-wrap { padding: 0; }
@media (min-width: 900px) { .bmc-offers__grid { grid-template-columns: repeat(var(--bmc-cols, 3), minmax(0, 1fr)); } }
.bmc-offer:hover { transform: none; }
.bmc-offer .bmc-card__img { display: block; aspect-ratio: 4 / 3.4; }
.bmc-v .bmc-offer h3 a { color: inherit !important; text-decoration: none; }
.bmc-offer h3 a:hover { color: var(--bmc-action-hover) !important; }
.bmc-v .bmc-offer p { flex-grow: 0 !important; font-style: italic; }
.bmc-v .bmc-offer__list { list-style: none !important; margin: 4px 0 0 !important; padding: 0 !important; flex-grow: 1; font-size: 15px; line-height: 1.5; color: var(--bmc-ink); }
.bmc-v .bmc-offer__list li { position: relative; padding: 0 0 6px 18px; }
.bmc-v .bmc-offer__list li::before { content: ""; position: absolute; left: 0; top: .62em; width: 7px; height: 1px; background: var(--bmc-sand-dark); }
.bmc-v .bmc-offer__btn { margin-top: 10px; justify-content: center; text-align: center; width: 100%; }

/* Titre des pages passé de h3 à h1 : même apparence qu'avant */
body.bmc-skin h1.overlay-h-title { font-size: 27px !important; line-height: 1.65 !important; font-weight: 400 !important; margin: 0 !important; letter-spacing: normal; text-transform: none; }

/* FAQ ([bmc_faq], vitrine) */
.bmc-faq { padding: 72px 0 88px; }
.bmc-faq h2 { text-align: center; font-size: clamp(28px, 3vw, 38px); margin: 0 0 36px; }
.bmc-faq__list { max-width: 820px; margin: 0 auto; border-top: 1px solid var(--bmc-line); }
.bmc-faq__item { border-bottom: 1px solid var(--bmc-line); }
.bmc-faq__item summary { list-style: none; cursor: pointer; padding: 20px 40px 20px 0; position: relative; font-family: var(--bmc-serif); font-size: 20px; color: var(--bmc-ink); }
.bmc-faq__item summary::-webkit-details-marker { display: none; }
.bmc-faq__item summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-family: var(--bmc-sans); font-size: 24px; font-weight: 300; color: var(--bmc-sand-dark); }
.bmc-faq__item[open] summary::after { content: "–"; }
.bmc-faq__item summary:focus-visible { outline: 2px solid var(--bmc-action); outline-offset: 4px; }
.bmc-faq__item p { margin: 0 0 22px; color: var(--bmc-ink-soft); line-height: 1.65; max-width: 720px; }

/* Bandeau de campagne saisonnière */
.bmc-campaign { background: var(--bmc-action); color: #FFFFFF; font-family: var(--bmc-sans); font-size: 14px; line-height: 1.5; position: relative; z-index: 50; }
.bmc-campaign__in { max-width: 1200px; margin: 0 auto; padding: 10px 24px; text-align: center; }
.bmc-campaign a { color: #FFFFFF !important; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; margin-left: 6px; }

/* Page « Vérifier mon bon » */
.bmc-check { padding: 48px 0 64px; }
.bmc-check .bmc-wrap { max-width: 720px; }
.bmc-check h2 { font-size: clamp(28px, 3vw, 36px); margin: 0 0 10px; }
.bmc-check__intro { color: var(--bmc-ink-soft); margin: 0 0 24px; }
.bmc-check__form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 14px; align-items: end; background: #FFFFFF; padding: 22px; border: 1px solid var(--bmc-line); }
.bmc-check__form label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--bmc-ink-soft); }
.bmc-check__form input { min-height: 50px; padding: 10px 14px; border: 1px solid var(--bmc-line); font-size: 16px; text-transform: none; letter-spacing: 0; color: var(--bmc-ink); background: #FFFFFF; }
.bmc-check__form input:focus { outline: 2px solid var(--bmc-action); outline-offset: 1px; }
.bmc-check__res { margin-top: 20px; padding: 18px 22px; background: #FFFFFF; border: 1px solid var(--bmc-line); border-left: 4px solid var(--bmc-sand-dark); }
.bmc-check__res strong { font-family: var(--bmc-serif); font-weight: 400; font-size: 22px; display: block; margin-bottom: 6px; }
.bmc-check__res p { margin: 6px 0 0; }
.bmc-check__res.is-ok { border-left-color: var(--bmc-forest); }
.bmc-check__res.is-warn { border-left-color: var(--bmc-action); }
.bmc-check__how { color: var(--bmc-ink-soft); font-size: 15px; }
@media (max-width: 700px) { .bmc-check__form { grid-template-columns: 1fr; } }
