/* ============================================================
   Horbinor Elements — design « Maison joaillière B2B »
   Tout scopé sous .hbx, classes hbx-* (aucun conflit thème/Woo).
   ============================================================ */

/* --- Masquage du header/topbar/titre du thème onsus (remplacés par nos widgets) --- */
body.hbx-active #header,
body.hbx-active #header-fixed-wrap,
body.hbx-active .header-fixed-wrap,
body.hbx-active .themesflat-top{ display:none !important; }
body.hbx-shop .page-header{ display:none !important; }
.hbx-header-injected{ position:relative; z-index:999990; }
.hbx-shop-main{ display:block; }
.hbx{
  --hbx-bg:#ffffff;
  --hbx-ink:#1E1418; --hbx-ink-2:#4A3B42; --hbx-soft:#7A6B70;
  --hbx-accent:#46163A; --hbx-accent-2:#5E1C4D;
  --hbx-gold:#B0823F; --hbx-gold-2:#C9A86A; --hbx-gold-3:#E2C892;
  --hbx-wine:#2C0E24;
  --hbx-paper:#F2EBDF; --hbx-paper-2:#F8F2E8; --hbx-card:#ffffff;
  --hbx-line:rgba(30,20,24,.13); --hbx-line-2:rgba(30,20,24,.07);
  --hbx-line-gold:rgba(176,130,63,.45); --hbx-line-light:rgba(255,255,255,.16);
  --hbx-maxw:1280px;
  --hbx-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --hbx-sans:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --hbx-ease:cubic-bezier(.22,.61,.36,1);
  font-family:var(--hbx-sans); color:var(--hbx-ink); line-height:1.6; font-weight:350;
  -webkit-font-smoothing:antialiased;
}
.hbx *,.hbx *::before,.hbx *::after{ box-sizing:border-box; }
.hbx a{ color:inherit; text-decoration:none; }
.hbx ul{ margin:0; padding:0; list-style:none; }
.hbx li{ margin:0; }
.hbx button{ font-family:inherit; cursor:pointer; background:none; border:none; color:inherit; padding:0; }
.hbx img{ max-width:100%; display:block; height:auto; }
.hbx input,.hbx select{ font-family:inherit; }
.hbx h1,.hbx h2,.hbx h3,.hbx h4{ margin:0; font-weight:400; }
.hbx .hbx-i{ width:20px; height:20px; flex:0 0 auto; }
.hbx ::selection{ background:var(--hbx-accent); color:var(--hbx-gold-3); }
.hbx-wrap{ max-width:var(--hbx-maxw); margin-inline:auto; padding-inline:clamp(16px,4vw,48px); width:100%; }
.hbx-eyebrow{ font-size:11px; font-weight:500; letter-spacing:.32em; text-transform:uppercase; color:var(--hbx-gold); display:inline-flex; align-items:center; gap:.7em; }
.hbx-eyebrow::before{ content:""; width:24px; height:1px; background:var(--hbx-gold); opacity:.75; }

/* ---------- Boutons ---------- */
.hbx-btn{ --b:var(--hbx-ink); --f:#fff; display:inline-flex; align-items:center; gap:.6em; font-size:12px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; padding:13px 22px; border-radius:2px; background:var(--b); color:var(--f); border:1px solid var(--b); transition:.4s var(--hbx-ease); }
.hbx-btn:hover{ background:var(--hbx-accent); border-color:var(--hbx-accent); color:#fff; }
.hbx-btn--ghost{ --b:transparent; --f:var(--hbx-ink); border-color:var(--hbx-line); }
.hbx-btn--ghost:hover{ color:#fff; }

/* ============================================================
   HEADER
   ============================================================ */
.hbx-headwrap{ background:var(--hbx-bg); position:relative; z-index:999990; }
.hbx-topbar{ background:var(--hbx-wine); color:#f4ece0; font-size:12px; letter-spacing:.03em; }
.hbx-topbar .hbx-wrap{ display:flex; align-items:center; justify-content:space-between; min-height:38px; }
.hbx-tb-left{ color:rgba(255,255,255,.72); }
.hbx-tb-right{ color:var(--hbx-gold-2); }

.hbx-header{ background:var(--hbx-bg); border-bottom:1px solid var(--hbx-line); }
.hbx-headwrap.is-sticky .hbx-header{ position:sticky; top:0; z-index:999991; box-shadow:0 12px 40px -30px rgba(46,18,38,.5); }
.hbx-header-row{ display:flex; align-items:center; gap:clamp(14px,2.5vw,36px); min-height:84px; }
.hbx-brand{ flex:0 0 auto; display:flex; align-items:center; }
.hbx-brand img{ height:var(--hbx-logo-h,44px) !important; width:auto !important; max-width:none !important; }
.hbx-brand-text{ font-family:var(--hbx-display); font-size:30px; letter-spacing:.12em; color:var(--hbx-accent); }

.hbx-search{ flex:1 1 auto; max-width:560px; display:flex; align-items:center; border:1px solid var(--hbx-line); background:#fff; border-radius:2px; height:48px; padding:0 6px 0 16px; transition:border-color .3s, box-shadow .3s; }
.hbx-search:focus-within{ border-color:var(--hbx-line-gold); box-shadow:0 0 0 3px rgba(184,138,78,.18); }
.hbx-search input[type=search]{ flex:1; border:none; outline:none; background:none; font-size:14.5px; color:var(--hbx-ink); height:100%; }
.hbx-search input::placeholder{ color:var(--hbx-soft); }
.hbx-search-go{ width:38px; height:38px; border-radius:2px; background:var(--hbx-accent); color:var(--hbx-gold-3); display:grid; place-items:center; flex:0 0 auto; transition:background .3s; }
.hbx-search-go:hover{ background:var(--hbx-ink); }
.hbx-search-go .hbx-i{ width:17px; height:17px; }

.hbx-actions{ display:flex; align-items:center; gap:4px; flex:0 0 auto; margin-left:auto; }
.hbx-action{ position:relative; display:flex; flex-direction:column; align-items:center; gap:3px; padding:8px 12px; border-radius:3px; font-size:11px; letter-spacing:.05em; color:var(--hbx-ink-2); transition:.3s; }
.hbx-action .hbx-i{ width:21px; height:21px; stroke-width:1.4; }
.hbx-action:hover{ color:var(--hbx-accent); background:rgba(70,22,58,.05); }
.hbx-cart-count{ position:absolute; transform:translate(15px,-6px); min-width:16px; height:16px; padding:0 4px; border-radius:9px; background:var(--hbx-gold); color:#231012; font-size:9.5px; font-weight:600; display:grid; place-items:center; }
.hbx-burger{ display:none; width:44px; height:44px; place-items:center; }

/* Nav */
.hbx-nav{ background:var(--hbx-bg); border-bottom:1px solid var(--hbx-line); }
.hbx-nav-row{ display:flex; align-items:center; gap:8px; min-height:52px; }
.hbx-allcats{ position:relative; }
.hbx-allcats::after{ content:""; position:absolute; left:0; right:0; top:100%; height:14px; background:transparent; }
.hbx-allcats-btn{ display:flex; align-items:center; gap:9px; padding:8px 18px 8px 0; margin-right:10px; border-right:1px solid var(--hbx-line); color:var(--hbx-accent); font-weight:500; font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; }
.hbx-allcats-btn .hbx-i{ width:16px; height:16px; }
.hbx-mega{ position:absolute; top:calc(100% + 8px); left:0; min-width:620px; background:#fff; border:1px solid var(--hbx-line); border-radius:6px; box-shadow:0 30px 70px -40px rgba(46,18,38,.5); padding:22px 26px; display:none; z-index:999999; }
.hbx-allcats.open .hbx-mega, .hbx-allcats:hover .hbx-mega{ display:block; }
.hbx-mega-menu{ columns:3; column-gap:26px; }
.hbx-mega-menu > li{ break-inside:avoid; margin-bottom:4px; }
.hbx-mega-menu > li > a{ display:block; font-family:var(--hbx-display); font-size:16px; color:var(--hbx-ink); padding:6px 0; border-bottom:1px solid var(--hbx-line-2); }
.hbx-mega-menu > li > a:hover{ color:var(--hbx-accent); }
.hbx-mega-menu .sub-menu{ margin:4px 0 10px; }
.hbx-mega-menu .sub-menu a{ display:block; font-size:12.5px; color:var(--hbx-soft); padding:3px 0; }
.hbx-mega-menu .sub-menu a:hover{ color:var(--hbx-accent); }

.hbx-mainmenu{ display:flex; }
.hbx-menu{ display:flex; align-items:center; gap:2px; flex-wrap:wrap; }
.hbx-menu > li{ position:relative; }
.hbx-menu > li > a{ display:block; font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--hbx-ink-2); padding:8px 15px; position:relative; transition:color .3s; }
.hbx-menu > li > a::after{ content:""; position:absolute; left:15px; right:15px; bottom:3px; height:1px; background:var(--hbx-gold); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--hbx-ease); }
.hbx-menu > li:hover > a, .hbx-menu > li.current-menu-item > a{ color:var(--hbx-accent); }
.hbx-menu > li:hover > a::after, .hbx-menu > li.current-menu-item > a::after{ transform:scaleX(1); }
.hbx-menu .sub-menu{ position:absolute; top:100%; left:0; min-width:210px; background:#fff; border:1px solid var(--hbx-line); border-radius:4px; box-shadow:0 24px 50px -30px rgba(46,18,38,.45); padding:8px; display:none; z-index:60; }
.hbx-menu > li:hover .sub-menu{ display:block; }
.hbx-menu--drawer .sub-menu{ display:block; }
.hbx-menu .sub-menu a{ display:block; font-size:13px; padding:8px 12px; border-radius:3px; color:var(--hbx-ink-2); }
.hbx-menu .sub-menu a:hover{ background:var(--hbx-paper-2); color:var(--hbx-accent); }

/* Drawer mobile */
.hbx-drawer{ position:fixed; inset:0; z-index:1000000; visibility:hidden; }
.hbx-drawer.open{ visibility:visible; }
.hbx-drawer-scrim{ position:absolute; inset:0; background:rgba(28,14,22,.5); opacity:0; transition:opacity .4s; }
.hbx-drawer.open .hbx-drawer-scrim{ opacity:1; }
.hbx-drawer-panel{ position:absolute; top:0; right:0; height:100%; width:min(380px,88vw); background:var(--hbx-paper); transform:translateX(100%); transition:transform .45s var(--hbx-ease); padding:24px; overflow-y:auto; box-shadow:-20px 0 60px -30px rgba(46,18,38,.6); }
.hbx-drawer.open .hbx-drawer-panel{ transform:translateX(0); }
.hbx-drawer-close{ display:flex; align-items:center; gap:8px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--hbx-soft); margin-bottom:18px; }
.hbx-search--drawer{ display:flex; max-width:none; margin-bottom:18px; }
.hbx-menu--drawer{ flex-direction:column; align-items:stretch; gap:0; }
.hbx-menu--drawer > li > a{ font-family:var(--hbx-display); font-size:20px; text-transform:none; letter-spacing:0; padding:12px 0; border-bottom:1px solid var(--hbx-line); }
.hbx-menu--drawer > li > a::after{ display:none; }
.hbx-menu--drawer .sub-menu{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:none; padding:0 0 10px 12px; }
.hbx-drawer-cats{ margin-top:14px; }
.hbx-drawer-cats .hbx-menu--drawer > li > a{ font-size:15px; font-family:var(--hbx-sans); text-transform:uppercase; letter-spacing:.08em; padding:9px 0; }

/* ============================================================
   CATALOGUE
   ============================================================ */
.hbx-catalog{ background:var(--hbx-bg); }
.hbx-cat-hero{ border-bottom:1px solid var(--hbx-line); padding-block:clamp(28px,3.5vw,52px); }
.hbx-cat-hero-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.hbx-cat-hero .hbx-eyebrow{ margin-bottom:16px; }
.hbx-cat-title{ font-family:var(--hbx-display); font-size:clamp(38px,5vw,66px); line-height:1; color:var(--hbx-ink); }
.hbx-cat-intro{ color:var(--hbx-ink-2); max-width:54ch; margin-top:14px; font-size:15px; }
.hbx-cat-count{ font-family:var(--hbx-display); font-size:clamp(30px,3vw,46px); color:var(--hbx-accent); text-align:right; line-height:1; }
.hbx-cat-count small{ display:block; font-family:var(--hbx-sans); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--hbx-soft); margin-top:8px; }

.hbx-catalog-grid{ display:grid; grid-template-columns:266px 1fr; gap:clamp(22px,3vw,46px); align-items:start; padding-block:clamp(30px,4vw,52px); }
.hbx-catalog-grid--nofilters{ grid-template-columns:1fr; }

/* Filtres */
.hbx-filters{ position:sticky; top:120px; }
.hbx-filters-head{ display:none; align-items:center; justify-content:space-between; margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid var(--hbx-line); font-size:13px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; }
.hbx-fgroup{ border-bottom:1px solid var(--hbx-line); padding:18px 0; }
.hbx-fgroup:first-of-type{ padding-top:0; }
.hbx-fgroup > summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; font-size:12.5px; font-weight:500; letter-spacing:.13em; text-transform:uppercase; color:var(--hbx-ink); }
.hbx-fgroup > summary::-webkit-details-marker{ display:none; }
.hbx-fgroup > summary .hbx-i{ width:14px; height:14px; color:var(--hbx-soft); transition:transform .35s var(--hbx-ease); }
.hbx-fgroup[open] > summary .hbx-i{ transform:rotate(180deg); }
.hbx-fopts{ margin-top:14px; display:flex; flex-direction:column; gap:9px; }
.hbx-fopt{ display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--hbx-ink-2); cursor:pointer; transition:color .25s; }
.hbx-fopt:hover{ color:var(--hbx-accent); }
.hbx-fopt input{ display:none; }
.hbx-box,.hbx-radio{ width:17px; height:17px; border:1px solid var(--hbx-line); display:grid; place-items:center; flex:0 0 auto; transition:.25s; }
.hbx-box{ border-radius:3px; } .hbx-radio{ border-radius:50%; }
.hbx-fopt input:checked + .hbx-box{ background:var(--hbx-accent); border-color:var(--hbx-accent); }
.hbx-fopt input:checked + .hbx-box::after{ content:""; width:9px; height:5px; border-left:1.6px solid var(--hbx-gold-3); border-bottom:1.6px solid var(--hbx-gold-3); transform:rotate(-45deg) translateY(-1px); }
.hbx-fopt input:checked + .hbx-radio{ border-color:var(--hbx-accent); }
.hbx-fopt input:checked + .hbx-radio::after{ content:""; width:8px; height:8px; border-radius:50%; background:var(--hbx-accent); }
.hbx-ct{ margin-left:auto; font-size:11.5px; color:var(--hbx-soft); }
.hbx-cat-top{ font-weight:500; color:var(--hbx-ink); }
.hbx-cat-branch{ position:relative; }
.hbx-cat-row{ display:flex; align-items:center; gap:4px; min-width:0; }
.hbx-cat-row > .hbx-fopt{ flex:1 1 auto; min-width:0; }
.hbx-cat-expand{ width:26px !important; height:26px !important; min-width:26px !important; padding:0 !important; border:0 !important; border-radius:3px !important; background:transparent !important; color:var(--hbx-soft) !important; display:grid !important; place-items:center; box-shadow:none !important; }
.hbx-cat-expand:hover,.hbx-cat-expand:focus-visible{ color:var(--hbx-accent) !important; background:rgba(70,22,58,.06) !important; }
.hbx-cat-expand .hbx-i{ width:13px; height:13px; transition:transform .25s var(--hbx-ease); }
.hbx-cat-branch.is-open > .hbx-cat-row .hbx-cat-expand .hbx-i,
.hbx-cat-child-branch.is-open > .hbx-cat-row .hbx-cat-expand .hbx-i{ transform:rotate(180deg); }
.hbx-cat-children{ margin:6px 0 8px 26px; display:none; flex-direction:column; gap:7px; }
.hbx-cat-branch.is-open > .hbx-cat-children{ display:flex; }
.hbx-cat-children .hbx-fopt{ font-size:12.5px; }
.hbx-cat-child-branch{ position:relative; }
.hbx-cat-grandchildren{ margin:7px 0 9px 25px; display:none; flex-direction:column; gap:6px; }
.hbx-cat-child-branch.is-open > .hbx-cat-grandchildren{ display:flex; }
.hbx-cat-grandchildren .hbx-fopt{ font-size:11.8px; line-height:1.3; }
.hbx-cat-grandchildren .hbx-radio{ width:14px; height:14px; }
.hbx-cat-grandchildren .hbx-radio::after{ width:6px !important; height:6px !important; }
.hbx-fclear{ margin-top:22px; width:100%; justify-content:center; }

/* Toolbar */
.hbx-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-bottom:20px; margin-bottom:22px; border-bottom:1px solid var(--hbx-line); }
.hbx-showing{ font-size:13px; color:var(--hbx-soft); }
.hbx-showing b{ color:var(--hbx-ink); font-weight:500; }
.hbx-toolbar-r{ display:flex; align-items:center; gap:14px; }
.hbx-sort{ display:flex; align-items:center; gap:9px; font-size:12.5px; letter-spacing:.04em; border:1px solid var(--hbx-line); padding:8px 12px; border-radius:2px; color:var(--hbx-ink); background:#fff; }
.hbx-sort span{ color:var(--hbx-soft); }
.hbx-sort select{ border:none; background:none; outline:none; font-size:12.5px; color:var(--hbx-ink); cursor:pointer; }
.hbx-view{ display:flex; border:1px solid var(--hbx-line); border-radius:2px; overflow:hidden; }
.hbx-view button{ width:40px; height:40px; display:grid; place-items:center; color:var(--hbx-soft); transition:.25s; }
.hbx-view button.is-on{ background:var(--hbx-accent); color:var(--hbx-gold-3); }
.hbx-view .hbx-i{ width:17px; height:17px; }
.hbx-filter-toggle{ display:none; padding:9px 15px; }

/* Grille produits */
.hbx-pgrid{ display:grid; gap:clamp(14px,1.5vw,22px); }
.hbx-pgrid--3{ grid-template-columns:repeat(3,1fr); }
.hbx-pgrid--4{ grid-template-columns:repeat(4,1fr); }
.hbx-pgrid.is-loading{ opacity:.4; pointer-events:none; }

.hbx-pcard{ position:relative; background:var(--hbx-card); border:1px solid var(--hbx-line-2); border-radius:4px; overflow:hidden; display:flex; flex-direction:column; transition:transform .45s var(--hbx-ease), box-shadow .45s var(--hbx-ease), border-color .45s; }
.hbx-pcard:hover{ transform:translateY(-5px); box-shadow:0 20px 50px -28px rgba(46,18,38,.4); border-color:var(--hbx-line-gold); }
.hbx-media{ position:relative; aspect-ratio:1/1; background:linear-gradient(160deg,#FCF9F3,#EFE6D6); display:grid; place-items:center; overflow:hidden; }
.hbx-media img,.hbx-pimg{ max-width:80%!important; max-height:80%!important; width:auto!important; object-fit:contain; mix-blend-mode:multiply; transition:transform .6s var(--hbx-ease); }
.hbx-pcard:hover .hbx-media img{ transform:scale(1.06); }
.hbx-ill{ width:60%; height:60%; color:var(--hbx-accent); opacity:.8; }
.hbx-flag{ position:absolute; top:11px; left:11px; z-index:2; font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:5px 9px; border-radius:2px; background:var(--hbx-accent); color:var(--hbx-gold-3); }
.hbx-flag--new{ background:var(--hbx-ink); }
.hbx-flag--promo{ background:var(--hbx-gold); color:#231012; }
.hbx-wish{ position:absolute; top:10px; right:10px; z-index:3; width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.9); border:1px solid var(--hbx-line-2); display:grid; place-items:center; color:var(--hbx-ink-2); opacity:0; transform:translateY(-6px); transition:.35s; }
.hbx-pcard:hover .hbx-wish{ opacity:1; transform:translateY(0); }
.hbx-wish:hover{ color:var(--hbx-accent); }
.hbx-wish .hbx-i{ width:16px; height:16px; }
.hbx-pbody{ padding:15px 15px 17px; display:flex; flex-direction:column; gap:5px; flex:1; }
.hbx-pcat{ font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--hbx-gold); }
.hbx-pname{ font-family:var(--hbx-display); font-size:18px; line-height:1.18; }
.hbx-pname a{ color:var(--hbx-ink); }
.hbx-pname a:hover{ color:var(--hbx-accent); }
.hbx-pref{ font-size:11.5px; color:var(--hbx-soft); }
.hbx-pfoot{ margin-top:auto; padding-top:12px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.hbx-price{ font-size:13px; color:var(--hbx-accent); font-weight:500; }
.hbx-price .horbinor-price-on-demand,.hbx-price ins,.hbx-price del{ font-size:12.5px; }
.hbx-price del{ color:var(--hbx-soft); font-weight:350; margin-right:5px; }
.hbx-quote{ display:inline-flex; align-items:center; gap:6px; font-size:11px; letter-spacing:.09em; text-transform:uppercase; color:var(--hbx-ink-2); border:1px solid var(--hbx-line); padding:8px 12px; border-radius:2px; transition:.3s; white-space:nowrap; }
.hbx-quote .hbx-i{ width:14px; height:14px; }
.hbx-quote:hover{ background:var(--hbx-accent); color:var(--hbx-gold-3); border-color:var(--hbx-accent); }

.hbx-empty{ grid-column:1/-1; text-align:center; padding:60px 20px; color:var(--hbx-soft); font-family:var(--hbx-display); font-size:22px; }

/* Pagination */
.hbx-pagination{ display:flex; align-items:center; justify-content:center; gap:7px; margin-top:clamp(34px,4vw,56px); flex-wrap:wrap; }
.hbx-page{ min-width:44px; height:44px; padding:0 10px; display:grid; place-items:center; border:1px solid var(--hbx-line); border-radius:2px; font-size:13.5px; color:var(--hbx-ink-2); transition:.25s; }
.hbx-page:hover{ border-color:var(--hbx-accent); color:var(--hbx-accent); }
.hbx-page--on{ background:var(--hbx-accent); border-color:var(--hbx-accent); color:var(--hbx-gold-3); }
.hbx-page--dots{ border:none; pointer-events:none; }
.hbx-page--arrow .hbx-i{ width:16px; height:16px; }

/* Loading */
.hbx-loading{ display:none; justify-content:center; gap:8px; padding:30px 0; }
.hbx-loading.is-on{ display:flex; }
.hbx-loading span{ width:9px; height:9px; border-radius:50%; background:var(--hbx-gold); animation:hbxbnc 1s infinite ease-in-out; }
.hbx-loading span:nth-child(2){ animation-delay:.15s; } .hbx-loading span:nth-child(3){ animation-delay:.3s; }
@keyframes hbxbnc{ 0%,80%,100%{ transform:scale(.4); opacity:.4; } 40%{ transform:scale(1); opacity:1; } }

/* Vue liste */
.hbx-pgrid.is-list{ grid-template-columns:1fr!important; }
.hbx-pgrid.is-list .hbx-pcard{ flex-direction:row; align-items:stretch; }
.hbx-pgrid.is-list .hbx-media{ width:180px; aspect-ratio:auto; flex:0 0 180px; }
.hbx-pgrid.is-list .hbx-pbody{ justify-content:center; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .hbx-pgrid--4{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:900px){
  .hbx-catalog-grid{ grid-template-columns:1fr; }
  .hbx-filters{ display:none; position:fixed; inset:0; z-index:130; background:var(--hbx-paper); padding:24px; overflow-y:auto; top:0; }
  .hbx-filters.open{ display:block; }
  .hbx-filters-head{ display:flex; }
  .hbx-filter-toggle{ display:inline-flex; }
}
@media (max-width:860px){
  .hbx-search{ display:none; }
  .hbx-nav{ display:none; }
  .hbx-burger{ display:grid; }
  .hbx-header-row{ min-height:68px; }
  .hbx-action span{ display:none; }
  .hbx-action{ padding:8px; }
  .hbx-pgrid--3,.hbx-pgrid--4{ grid-template-columns:repeat(2,1fr); }
  .hbx-cat-hero-row{ flex-direction:column; align-items:flex-start; }
  .hbx-cat-count{ text-align:left; }
  .hbx-tb-right span{ display:none; }
}
@media (max-width:480px){
  .hbx-pgrid--3,.hbx-pgrid--4{ grid-template-columns:1fr 1fr; gap:12px; }
  .hbx-pname{ font-size:16px; }
  .hbx-toolbar-r{ width:100%; justify-content:space-between; }
  .hbx-pcard{ min-width:0; }
  .hbx-pcard:hover{ transform:none; box-shadow:none; }
  .hbx-media{ aspect-ratio:1/0.92; }
  .hbx-media img,.hbx-pimg{ max-width:86%!important; max-height:86%!important; }
  .hbx-wish{ opacity:1; transform:none; width:30px; height:30px; top:8px; right:8px; }
  .hbx-pbody{ padding:11px 10px 12px; gap:4px; min-width:0; }
  .hbx-pcat{ font-size:9.5px; letter-spacing:.08em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .hbx-pname{ min-height:38px; line-height:1.15; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .hbx-pref{ font-size:10.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .hbx-pfoot{ padding-top:9px; gap:7px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; }
  .hbx-price{ min-width:0; display:flex; align-items:center; }
  .hbx-price .horbinor-price-locked{ padding:.3em .52em; font-size:11px; max-width:100%; }
  .hbx-quote{ min-width:34px; height:34px; padding:0 9px; justify-content:center; gap:4px; font-size:10px; letter-spacing:.04em; }
  .hbx-quote .hbx-i{ width:13px; height:13px; flex:0 0 auto; }
}
@media (max-width:380px){
  .hbx-pgrid--3,.hbx-pgrid--4{ gap:10px; }
  .hbx-pbody{ padding-inline:9px; }
  .hbx-price .horbinor-price-locked{ font-size:10.5px; padding:.28em .45em; }
  .hbx-quote span{ display:none; }
  .hbx-quote{ width:32px; padding:0; }
}
@media (prefers-reduced-motion:reduce){ .hbx *{ transition:none!important; animation:none!important; } }

/* ============================================================
   BLINDAGE — sur les pages boutique, body.woocommerce applique
   des styles génériques aux <button>/<a.button> qui écrasaient
   nos boutons header/catalogue. On réaffirme avec !important.
   ============================================================ */
.hbx button{ text-transform:none; letter-spacing:normal; box-shadow:none; }
.hbx .hbx-search-go{ background:var(--hbx-accent) !important; color:var(--hbx-gold-3) !important; border:0 !important; }
.hbx .hbx-search-go:hover{ background:var(--hbx-ink) !important; }
.hbx .hbx-allcats-btn{ background:transparent !important; color:var(--hbx-accent) !important; text-transform:uppercase !important; letter-spacing:.1em !important; border:0 !important; box-shadow:none !important; }
.hbx .hbx-burger{ background:transparent !important; color:var(--hbx-ink) !important; border:0 !important; }
.hbx .hbx-menu > li > a{ text-transform:uppercase !important; }
.hbx .hbx-view button{ background:transparent !important; color:var(--hbx-soft) !important; border:0 !important; box-shadow:none !important; }
.hbx .hbx-view button.is-on{ background:var(--hbx-accent) !important; color:var(--hbx-gold-3) !important; }
.hbx .hbx-quote{ background:transparent !important; color:var(--hbx-ink-2) !important; }
.hbx .hbx-quote:hover{ background:var(--hbx-accent) !important; color:var(--hbx-gold-3) !important; border-color:var(--hbx-accent) !important; }
.hbx .hbx-page{ background:transparent !important; color:var(--hbx-ink-2) !important; box-shadow:none !important; }
.hbx .hbx-page--on{ background:var(--hbx-accent) !important; color:var(--hbx-gold-3) !important; }
.hbx .hbx-page:hover{ color:var(--hbx-accent) !important; }
.hbx .hbx-btn{ background:var(--hbx-ink) !important; color:#fff !important; text-transform:uppercase !important; box-shadow:none !important; }
.hbx .hbx-btn--ghost{ background:transparent !important; color:var(--hbx-ink) !important; }
.hbx .hbx-btn--ghost:hover, .hbx .hbx-btn:hover{ background:var(--hbx-accent) !important; color:#fff !important; }
.hbx .hbx-filters-close, .hbx .hbx-drawer-close{ background:transparent !important; box-shadow:none !important; }
.hbx .hbx-search-go:hover{ color:var(--hbx-gold-3) !important; }

/* ============================================================
   BLINDAGE HEADER COMPLET — immunise l'intégralité du header
   (topbar, recherche, nav, méga-menu, actions, drawer) contre
   tous les styles onsus / WooCommerce (body.woocommerce, etc.).
   ============================================================ */
.hbx-headwrap, .hbx-headwrap *{ box-sizing:border-box !important; }
.hbx-headwrap input, .hbx-headwrap select, .hbx-headwrap button{ font-family:var(--hbx-sans) !important; }
.hbx-headwrap a{ text-decoration:none !important; box-shadow:none !important; }
/* Listes : aucune puce/marge héritée */
.hbx-headwrap ul{ list-style:none !important; margin:0 !important; padding:0 !important; }
.hbx-headwrap li{ margin:0 !important; padding:0 !important; background:none !important; border:0 !important; }
.hbx-headwrap li::before, .hbx-headwrap li::marker{ content:none !important; }
/* Conteneurs & fonds */
.hbx-headwrap .hbx-topbar{ background:var(--hbx-wine) !important; }
.hbx-headwrap .hbx-header, .hbx-headwrap .hbx-nav{ background:var(--hbx-bg) !important; }
.hbx-headwrap .hbx-header{ border-bottom:1px solid var(--hbx-line) !important; }
.hbx-headwrap .hbx-nav{ border-bottom:1px solid var(--hbx-line) !important; }
.hbx-headwrap .hbx-tb-left{ color:rgba(255,255,255,.72) !important; }
.hbx-headwrap .hbx-tb-right{ color:var(--hbx-gold-2) !important; }
/* Recherche */
.hbx-headwrap .hbx-search{ background:#fff !important; border:1px solid var(--hbx-line) !important; box-shadow:none !important; height:48px !important; max-width:560px !important; }
.hbx-headwrap .hbx-search input[type=search]{ background:transparent !important; border:0 !important; box-shadow:none !important; color:var(--hbx-ink) !important; height:100% !important; margin:0 !important; min-height:0 !important; line-height:normal !important; }
/* Actions compte / sélection / panier (liens) */
.hbx-headwrap .hbx-action{ color:var(--hbx-ink-2) !important; background:transparent !important; }
.hbx-headwrap .hbx-action:hover{ color:var(--hbx-accent) !important; background:rgba(70,22,58,.05) !important; }
.hbx-headwrap .hbx-cart-count{ background:var(--hbx-gold) !important; color:#231012 !important; }
/* Nav principale (liens) */
.hbx-headwrap .hbx-menu > li > a{ color:var(--hbx-ink-2) !important; background:transparent !important; }
.hbx-headwrap .hbx-menu > li:hover > a,
.hbx-headwrap .hbx-menu > li.current-menu-item > a{ color:var(--hbx-accent) !important; }
/* Méga-menu & sous-menus */
.hbx-headwrap .hbx-mega, .hbx-headwrap .hbx-menu .sub-menu{ background:#fff !important; border:1px solid var(--hbx-line) !important; }
.hbx-headwrap .hbx-mega-menu > li > a{ color:var(--hbx-ink) !important; font-family:var(--hbx-display) !important; text-transform:none !important; }
.hbx-headwrap .hbx-mega-menu .sub-menu a,
.hbx-headwrap .hbx-menu .sub-menu a{ color:var(--hbx-soft) !important; }
.hbx-headwrap .hbx-mega-menu > li > a:hover,
.hbx-headwrap .hbx-menu .sub-menu a:hover{ color:var(--hbx-accent) !important; }
/* Drawer mobile (serif volontaire) */
.hbx-headwrap .hbx-menu--drawer > li > a{ font-family:var(--hbx-display) !important; text-transform:none !important; letter-spacing:0 !important; }
.hbx-headwrap .hbx-drawer-cats .hbx-menu--drawer > li > a{ font-family:var(--hbx-sans) !important; text-transform:uppercase !important; }

/* ============================================================
   BLINDAGE POLICE — onsus/digicoseo force "Outfit"/"Bodoni Moda"
   sur les pages boutique. On réimpose Jost (sans) + Cormorant
   (serif) sur les éléments concernés.
   ============================================================ */
body .hbx, body .hbx *{ font-family:var(--hbx-sans) !important; }
.hbx .hbx-brand-text,
.hbx .hbx-cat-title,
.hbx .hbx-cat-count,
.hbx .hbx-pname, .hbx .hbx-pname a,
.hbx .hbx-empty,
.hbx-headwrap .hbx-mega-menu > li > a,
.hbx-headwrap .hbx-menu--drawer > li > a{ font-family:var(--hbx-display) !important; }
.hbx-headwrap .hbx-drawer-cats .hbx-menu--drawer > li > a{ font-family:var(--hbx-sans) !important; }

/* ============================================================
   PAGES SUPPORT (contact / FAQ) — remplace la police Bodoni Moda
   (titres) + Outfit (corps) par Cormorant Garamond + Jost.
   On redéfinit les variables : la valeur change donc partout où
   var(--horbinor-font-*) est utilisée, y compris sous !important.
   ============================================================ */
.horbinor-support-page{
  --horbinor-font-display:"Cormorant Garamond",Georgia,"Times New Roman",serif !important;
  --horbinor-font-body:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  --horbinor-product-display:"Cormorant Garamond",Georgia,serif !important;
  --horbinor-product-body:"Jost",-apple-system,sans-serif !important;
}
.horbinor-support-page .hb-hero h1{ font-weight:600 !important; letter-spacing:.005em !important; }
.horbinor-support-page .hb-card h3,
.horbinor-support-page .hb-panel h2,
.horbinor-support-page .hb-panel h3{ font-weight:600 !important; }

/* ============================================================
   HARMONISATION TYPO SITE-WIDE — remplace les polices digicoseo
   (Bodoni Moda + Outfit) par Cormorant Garamond + Jost partout,
   pour une cohérence totale avec le header/catalogue refondus.
   ============================================================ */
:root{
  --horbinor-font-display:"Cormorant Garamond",Georgia,"Times New Roman",serif !important;
  --horbinor-font-body:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  --horbinor-product-display:"Cormorant Garamond",Georgia,"Times New Roman",serif !important;
  --horbinor-product-body:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}

/* ============================================================
   HARMONISATION COULEUR — menu catégories & icon-list Elementor
   de l'accueil : violet de marque figé -> aubergine #46163A.
   ============================================================ */
/* Barre/titre du menu catégories */
body .elementor-element-fd93f6e .tf-nav-menu .title,
body .elementor-element-fd93f6e .tf-nav-menu .title::before{ background:#46163A !important; background-color:#46163A !important; }
/* Liens, icônes, flèches */
body .elementor-element-fd93f6e .tf-nav-menu .menu-container > ul > li > a,
body .elementor-element-fd93f6e .tf-nav-menu .menu-container > ul > li > a i,
body .elementor-element-fd93f6e .tf-nav-menu .btn-submenu,
body .elementor-element-fd93f6e .tf-nav-menu .btn-submenu i{ color:#46163A !important; }
/* États actifs/hover */
body .elementor-element-fd93f6e .tf-nav-menu .menu-container > ul > li > a:hover,
body .elementor-element-fd93f6e .tf-nav-menu .menu-container > ul > li.current-menu-item > a,
body .elementor-element-fd93f6e .tf-nav-menu .menu-container > ul > li.current-menu-parent > a,
body .elementor-element-fd93f6e .tf-nav-menu .menu-container > ul > li.current-menu-ancestor > a,
body .elementor-element-fd93f6e .tf-nav-menu .menu-container > ul > li.current_page_item > a{ color:#46163A !important; background:rgba(70,22,58,.09) !important; }
/* Soulignés / puces générées */
body .elementor-element-fd93f6e .tf-nav-menu .menu-container > ul > li > a:before,
body .elementor-element-fd93f6e .tf-nav-menu .menu-container > ul > li.menu-item-has-children:hover > a::after{ background:#46163A !important; }
/* Icon-list de l'accueil */
body .elementor-element-49e7753d .elementor-icon-list-icon,
body .elementor-element-49e7753d .elementor-icon-list-icon i,
body .elementor-element-49e7753d .elementor-icon-list-icon svg,
body .elementor-element-49e7753d .elementor-icon-list-text{ color:#46163A !important; fill:#46163A !important; }

/* ============================================================
   PAGES SUPPORT (FAQ/Contact) — accent aubergine + nettoyage
   ============================================================ */
.horbinor-support-page{ --hb-accent:#46163A !important; --hb-accent-2:#5E1C4D !important; --hb-gold:#B0823F !important; }
/* Doublon brut « Questions pratiques » injecté par le mu-plugin : masqué (l'accordéon stylé au-dessus suffit) */
.horbinor-faq-grid{ display:none !important; }

/* ============================================================
   PANIER — bandeau d'aide pro propre (au lieu du texte brut)
   ============================================================ */
.horbinor-cart-help{
  display:block; max-width:1280px; margin:20px auto 28px; padding:20px 24px;
  background:#F8F2E8 !important; border:1px solid rgba(176,130,63,.35) !important;
  border-left:3px solid #46163A !important; border-radius:6px;
  font-family:"Jost",-apple-system,sans-serif !important; color:#4A3B42 !important; line-height:1.6;
}
.horbinor-cart-help strong{ display:block; font-family:"Cormorant Garamond",Georgia,serif !important; font-size:21px; color:#46163A !important; margin-bottom:5px; font-weight:600; }
.horbinor-cart-help span{ display:block; margin-bottom:12px; font-size:14px; color:#4A3B42; }
.horbinor-cart-help a{
  display:inline-flex; align-items:center; gap:.5em; font-size:12px; letter-spacing:.12em;
  text-transform:uppercase; color:#fff !important; background:#46163A !important; text-decoration:none !important;
  padding:11px 20px; border-radius:2px; transition:background .3s;
}
.horbinor-cart-help a:hover{ background:#2C0E24 !important; }
/* Panier vide : centrage + sobriété */
.woocommerce-cart .cart-empty.woocommerce-info{ text-align:center; font-family:"Jost",sans-serif; }

/* ============================================================
   FICHE PRODUIT — accent aubergine cohérent + CTA
   ============================================================ */
:root{ --horbinor-product-accent:#46163A !important; }
/* Badge promo natif du thème : texte anglais "Save" + symbole "$" incorrect pour Horbinor. */
.price-save{ display:none !important; }
/* Cartes produit ThemesFlat : masque les boutons d'action qui apparaissent au survol. */
body .tf-products .item .group-bt > .wrap-btn-action,
body .tf-products .item .group-bt > .wrap-btn-action.style-2,
body .tf-products .item .group-bt > .wrap-btn-action .tf-tooltip,
body .tf-products .item .group-bt > .wrap-btn-action .tooltiptext,
body .tf-products .item .group-bt > .wrap-btn-action .tooltiptext.tooltip-top,
body .tf-products .item .group-bt > .tf-tooltip,
body .tf-products .item .tf-tooltip,
body .tf-products .item .tooltiptext,
body .tf-products .item .tooltiptext.tooltip-top,
body .tf-products-single .item .group-bt > .wrap-btn-action,
body .tf-products-single .item .group-bt > .wrap-btn-action.style-2,
body .tf-products-single .item .group-bt > .wrap-btn-action .tf-tooltip,
body .tf-products-single .item .group-bt > .wrap-btn-action .tooltiptext,
body .tf-products-single .item .group-bt > .wrap-btn-action .tooltiptext.tooltip-top,
body .tf-products-single .item .group-bt > .tf-tooltip,
body .tf-products-single .item .tf-tooltip,
body .tf-products-single .item .tooltiptext,
body .tf-products-single .item .tooltiptext.tooltip-top,
body.home .tf-products .item .wrap-btn-action,
body.home .tf-products .item .tf-tooltip,
body.home .tf-products .item .tooltiptext,
body.home .tf-products-single .item .wrap-btn-action,
body.home .tf-products-single .item .tf-tooltip,
body.home .tf-products-single .item .tooltiptext,
body.elementor-page-4230 .tf-products .item .wrap-btn-action,
body.elementor-page-4230 .tf-products .item .tf-tooltip,
body.elementor-page-4230 .tf-products .item .tooltiptext,
body.elementor-page-4230 .tf-products-single .item .wrap-btn-action,
body.elementor-page-4230 .tf-products-single .item .tf-tooltip,
body.elementor-page-4230 .tf-products-single .item .tooltiptext{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
body .tf-products .item .inner:hover .group-bt > .price,
body .tf-products .item:hover .group-bt > .price,
body .tf-products-single .item .inner:hover .group-bt > .price,
body .tf-products-single .item:hover .group-bt > .price,
body.home .tf-products .item .inner:hover .group-bt > .price,
body.home .tf-products-single .item .inner:hover .group-bt > .price,
body.elementor-page-4230 .tf-products .item .inner:hover .group-bt > .price,
body.elementor-page-4230 .tf-products-single .item .inner:hover .group-bt > .price{
  display:flex !important;
  align-items:center !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  position:relative !important;
  z-index:3 !important;
  pointer-events:auto !important;
}
body .tf-products .item .wrap-btn-action .tf-btn-quickview,
body .tf-products .item .wrap-btn-action .tf-btn-wishlist,
body .tf-products .item .wrap-btn-action .tf-btn-wishlish,
body .tf-products .item .wrap-btn-action .compare-button,
body .tf-products .item .wrap-btn-action .btn-add-to-cart,
body .tf-products .item .wrap-btn-action .yith-wcwl-add-to-wishlist,
body .tf-products .item .wrap-btn-action .yith-add-to-wishlist-button-block,
body .tf-products-single .item .wrap-btn-action .tf-btn-quickview,
body .tf-products-single .item .wrap-btn-action .tf-btn-wishlist,
body .tf-products-single .item .wrap-btn-action .tf-btn-wishlish,
body .tf-products-single .item .wrap-btn-action .compare-button,
body .tf-products-single .item .wrap-btn-action .btn-add-to-cart,
body .tf-products-single .item .wrap-btn-action .yith-wcwl-add-to-wishlist,
body .tf-products-single .item .wrap-btn-action .yith-add-to-wishlist-button-block{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:none !important;
  pointer-events:none !important;
}
body.single-product .horbinor-single-cta{ background:#46163A !important; border-radius:4px !important; letter-spacing:.06em; font-weight:600 !important; }
body.single-product .horbinor-single-cta:hover{ background:#2C0E24 !important; }
/* Cadre image moins écrasant pour mieux voir le produit */
body.single-product .product .images{ background:linear-gradient(160deg,#FCF9F3,#EFE6D6) !important; }

/* Fiche produit MOBILE : image pleine largeur au-dessus du résumé */
@media (max-width:767px){
  body.single-product .product-wrap{ display:flex !important; flex-direction:column !important; gap:18px !important; }
  body.single-product .product-wrap > .sticky-sidebar,
  body.single-product .product .images{ width:100% !important; max-width:100% !important; float:none !important; margin:0 !important; }
  body.single-product .product .images .wp-post-image{ width:auto !important; max-width:78% !important; height:auto !important; margin:0 auto !important; }
  body.single-product .product .images::after,
  body.single-product .product .images::before{ display:none !important; }
}

/* Fiche produit : masque la barre de stock saumon (redondante avec « STOCK : X disponible(s) ») */
body.single-product .summary .progress,
body.single-product .entry-summary .progress{ display:none !important; }

/* ============================================================
   BON DE COMMANDE — fiche produit, panier, Mon compte
   ============================================================ */
/* Encart fiche produit */
body.single-product .hbx-bc-box .hbx-bc-price{ font-family:"Cormorant Garamond",serif; font-size:24px; color:#46163A; margin-bottom:14px; font-weight:600; }
body.single-product .hbx-bc-box .hbx-bc-price .horbinor-price-on-demand{ font-family:"Jost",sans-serif; font-size:14px; }
body.single-product .hbx-bc-box form.cart{ display:flex !important; gap:12px; align-items:stretch; margin:0 0 8px !important; flex-wrap:wrap; }
body.single-product .hbx-bc-box form.cart .quantity{ flex:0 0 auto; }
body.single-product .hbx-bc-box form.cart .quantity input.qty{ height:50px; width:74px; border:1px solid rgba(30,20,24,.18); border-radius:4px; text-align:center; font-family:"Jost",sans-serif; }
body.single-product .hbx-bc-box .single_add_to_cart_button{
  flex:1 1 auto; min-height:50px; padding:0 24px !important; border-radius:4px !important;
  background:#46163A !important; color:#fff !important; border:0 !important;
  font-family:"Jost",sans-serif !important; font-weight:600 !important; letter-spacing:.06em; text-transform:uppercase; font-size:13px !important;
  transition:background .3s !important;
}
body.single-product .hbx-bc-box .single_add_to_cart_button:hover{ background:#2C0E24 !important; }
body.single-product .hbx-bc-box .hbx-bc-note{ font-size:12.5px; color:#7A6B70; margin:10px 0 0; line-height:1.5; }
body.single-product .hbx-bc-box .hbx-ring-size-field{ display:grid; gap:7px; width:100%; max-width:100%; box-sizing:border-box; margin:0; font-family:"Jost",sans-serif; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#46163A; }
body.single-product .hbx-bc-box .hbx-ring-size-field select{ width:100%; max-width:100%; box-sizing:border-box; min-height:50px; border:1px solid rgba(30,20,24,.18); border-radius:4px; background:#fff; color:#1E1418; padding:0 14px; font-family:"Jost",sans-serif; font-size:14px; text-transform:none; letter-spacing:0; }
body.single-product .hbx-bc-box .hbx-ring-size-field select:focus{ outline:none; border-color:#46163A; box-shadow:0 0 0 3px rgba(70,22,58,.12); }
body.single-product .hbx-bc-box .hbx-marking-field{
  width:100%; max-width:100%; box-sizing:border-box; margin:0; padding:15px;
  border:1px solid rgba(30,20,24,.14); border-radius:5px; background:#FCFAF6;
  font-family:"Jost",sans-serif;
}
body.single-product .hbx-bc-box .hbx-marking-field legend{
  width:auto; margin:0; padding:0 6px; color:#46163A; font-size:12px;
  font-weight:700; letter-spacing:.08em; line-height:1.2; text-transform:uppercase;
}
body.single-product .hbx-bc-box .hbx-marking-choices{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
body.single-product .hbx-bc-box .hbx-marking-choices label{
  display:inline-flex; align-items:center; gap:7px; margin:0; color:#1E1418;
  font-size:14px; font-weight:500; cursor:pointer;
}
body.single-product .hbx-bc-box .hbx-marking-choices input{
  width:17px !important; height:17px !important; min-height:0 !important; margin:0 !important;
  padding:0 !important; accent-color:#46163A;
}
body.single-product .hbx-bc-box .hbx-marking-upload{ margin-top:14px; }
body.single-product .hbx-bc-box .hbx-marking-upload[hidden]{ display:none !important; }
body.single-product .hbx-bc-box .hbx-marking-upload label{
  display:block; margin:0 0 7px; color:#46163A; font-size:12px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase;
}
body.single-product .hbx-bc-box .hbx-marking-upload input[type=file]{
  display:block; width:100%; min-height:46px; box-sizing:border-box; margin:0;
  padding:7px; border:1px solid rgba(30,20,24,.18); border-radius:4px;
  background:#fff; color:#1E1418; font-family:"Jost",sans-serif; font-size:13px;
}
body.single-product .hbx-bc-box .hbx-marking-upload input[type=file]::file-selector-button{
  min-height:30px; margin-right:10px; padding:0 12px; border:0; border-radius:3px;
  background:#46163A; color:#fff; font-family:"Jost",sans-serif; font-size:12px; cursor:pointer;
}
body.single-product .hbx-bc-box .hbx-marking-upload small{ display:block; margin-top:6px; color:#7A6B70; font-size:11.5px; }
body.single-product .hbx-bc-box .hbx-photogravure-field{
  width:100%; max-width:100%; box-sizing:border-box; margin:0; padding:15px;
  border:1px solid rgba(30,20,24,.14); border-radius:5px; background:#FCFAF6;
  font-family:"Jost",sans-serif;
}
body.single-product .hbx-bc-box .hbx-photogravure-field legend{
  width:auto; margin:0; padding:0 6px; color:#46163A; font-size:12px;
  font-weight:700; letter-spacing:.08em; line-height:1.2; text-transform:uppercase;
}
body.single-product .hbx-bc-box .hbx-photogravure-field label{
  display:block; margin:0 0 7px; color:#46163A; font-size:12px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase;
}
body.single-product .hbx-bc-box .hbx-photogravure-choices{ display:grid; gap:12px; }
body.single-product .hbx-bc-box .hbx-photogravure-choice{
  display:block !important; position:relative; min-height:42px; box-sizing:border-box;
  margin:0; padding:11px 12px 11px 40px;
  border:1px solid rgba(30,20,24,.13); border-radius:4px; background:#fff;
  color:#1E1418; font-size:13px; font-weight:600; letter-spacing:0; text-transform:none; cursor:pointer;
}
body.single-product .hbx-bc-box .hbx-photogravure-choice input{
  position:absolute !important; top:50%; left:12px; transform:translateY(-50%);
  width:17px !important; height:17px !important; min-height:0 !important; margin:0 !important;
  padding:0 !important; accent-color:#46163A;
}
body.single-product .hbx-bc-box .hbx-photogravure-choice > span{
  display:block !important; width:auto !important; min-width:0; margin:0 !important; line-height:1.35;
}
body.single-product .hbx-bc-box .hbx-photogravure-control{ padding:0 2px 4px; }
body.single-product .hbx-bc-box .hbx-photogravure-control[hidden]{ display:none !important; }
body.single-product .hbx-bc-box .hbx-photogravure-control input[type=text]{
  display:block; width:100%; min-height:44px; box-sizing:border-box; margin:0; padding:8px 11px;
  border:1px solid rgba(30,20,24,.18); border-radius:4px; background:#fff; color:#1E1418;
  font-family:"Jost",sans-serif; font-size:14px;
}
body.single-product .hbx-bc-box .hbx-photogravure-control label:not(:first-child){ margin-top:12px; }
body.single-product .hbx-bc-box .hbx-photogravure-control select{
  display:block; width:100%; min-height:44px; box-sizing:border-box; margin:0; padding:8px 36px 8px 11px;
  border:1px solid rgba(30,20,24,.18); border-radius:4px; background-color:#fff; color:#1E1418;
  font-family:"Jost",sans-serif; font-size:14px; text-transform:none; letter-spacing:0;
}
@font-face{
  font-family:"HBX Exmouth";
  src:url("../fonts/exmouth.ttf") format("truetype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"HBX Amazone BT";
  src:url("../fonts/amazone-bt.ttf") format("truetype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

body.single-product .hbx-bc-box .hbx-photogravure-preview{
  display:grid; place-items:center; gap:6px; width:100%; min-height:106px; box-sizing:border-box;
  margin-top:12px; padding:14px 16px; overflow:hidden; border:1px solid rgba(70,22,58,.18);
  border-radius:4px; background:#fff; text-align:center;
}
body.single-product .hbx-bc-box .hbx-photogravure-preview > span{
  color:#7A6B70; font-family:"Jost",sans-serif; font-size:10px; font-weight:700;
  line-height:1; letter-spacing:.08em; text-transform:uppercase;
}
body.single-product .hbx-bc-box .hbx-photogravure-preview > strong{
  display:block; max-width:100%; overflow-wrap:anywhere; color:#1E1418; font-size:31px;
  font-style:normal; font-weight:400; line-height:1.35; letter-spacing:0; text-transform:none;
}
body.single-product .hbx-bc-box .hbx-photogravure-preview.is-empty > strong{ color:#9B9095; }
body.single-product .hbx-bc-box .hbx-photogravure-preview[data-font="arial"] > strong{ font-family:Arial,Helvetica,sans-serif !important; }
body.single-product .hbx-bc-box .hbx-photogravure-preview[data-font="times-new-roman"] > strong{ font-family:"Times New Roman",Times,serif !important; }
body.single-product .hbx-bc-box .hbx-photogravure-preview[data-font="exmouth"] > strong{ font-family:"HBX Exmouth",cursive !important; font-size:39px; }
body.single-product .hbx-bc-box .hbx-photogravure-preview[data-font="amazone-bt"] > strong{ font-family:"HBX Amazone BT",cursive !important; font-size:39px; }
body.single-product .hbx-bc-box .hbx-photogravure-field input[type=file]{
  display:block; width:100%; min-height:46px; box-sizing:border-box; margin:0;
  padding:7px; border:1px solid rgba(30,20,24,.18); border-radius:4px;
  background:#fff; color:#1E1418; font-family:"Jost",sans-serif; font-size:13px;
}
body.single-product .hbx-bc-box .hbx-photogravure-field input[type=file]::file-selector-button{
  min-height:30px; margin-right:10px; padding:0 12px; border:0; border-radius:3px;
  background:#46163A; color:#fff; font-family:"Jost",sans-serif; font-size:12px; cursor:pointer;
}
body.single-product .hbx-bc-box .hbx-photogravure-field small{ display:block; margin-top:6px; color:#7A6B70; font-size:11.5px; }
@media (max-width:767px){
  body.single-product .summary.entry-summary .hbx-bc-box{
    width:calc(100vw - 24px) !important;
    max-width:calc(100vw - 24px) !important;
    box-sizing:border-box !important;
    overflow:hidden;
  }
  body.single-product .hbx-bc-box form.cart,
  body.single-product .hbx-bc-box form.cart .single_add_to_cart_button,
  body.single-product .hbx-bc-box form.cart .hbx-bc-add{
    max-width:100% !important;
    box-sizing:border-box !important;
  }
}

/* Bandeau validité (compte / commande) */
.hbx-bc-validity{ margin:18px 0; padding:14px 18px; border-radius:6px; background:#F8F2E8; border-left:3px solid #46163A; font-family:"Jost",sans-serif; font-size:14px; color:#4A3B42; }
.hbx-bc-validity.is-expired{ background:#FBEEE7; border-left-color:#B0823F; }
.hbx-bc-validity .hbx-btn{ display:inline-block; margin-left:10px; }

/* Mon compte : tableau des bons de commande */
.hbx-bc-account .hbx-bc-table{ width:100%; border-collapse:collapse; font-family:"Jost",sans-serif; }
.hbx-bc-account .hbx-bc-table th{ text-align:left; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#7A6B70; padding:10px 12px; border-bottom:1px solid rgba(30,20,24,.12); }
.hbx-bc-account .hbx-bc-table td{ padding:14px 12px; border-bottom:1px solid rgba(30,20,24,.08); font-size:14px; color:#1E1418; vertical-align:middle; }
.hbx-bc-account .hbx-bc-badge{ display:inline-block; padding:5px 11px; border-radius:999px; background:rgba(70,22,58,.10); color:#46163A; font-size:11px; font-weight:600; letter-spacing:.04em; }
.hbx-bc-account .hbx-bc-badge.is-expired{ background:rgba(176,130,63,.16); color:#8a5a1e; }
.hbx-bc-account .hbx-bc-link{ color:#46163A; font-weight:500; font-size:13px; text-decoration:none; }
.hbx-bc-account .hbx-bc-link:hover{ text-decoration:underline; }
.hbx-bc-account .hbx-bc-resubmit{ color:#B0823F; }
.hbx-bc-account .hbx-btn{ display:inline-block; margin-top:12px; background:#46163A; color:#fff; padding:12px 22px; border-radius:2px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; }
@media (max-width:560px){
  .hbx-bc-account .hbx-bc-table thead{ display:none; }
  .hbx-bc-account .hbx-bc-table, .hbx-bc-account .hbx-bc-table tbody, .hbx-bc-account .hbx-bc-table tr, .hbx-bc-account .hbx-bc-table td{ display:block; width:100%; }
  .hbx-bc-account .hbx-bc-table tr{ border:1px solid rgba(30,20,24,.12); border-radius:8px; margin-bottom:12px; padding:6px 10px; }
  .hbx-bc-account .hbx-bc-table td{ border:0; padding:6px 2px; }
}

/* Ré-affiche l'ajout au panier (masqué par le mu-plugin) DANS l'encart bon de commande */
body.single-product .summary.entry-summary .hbx-bc-box .cart{ display:flex !important; }
body.single-product .summary.entry-summary .hbx-bc-box .quantity{ display:block !important; }
body.single-product .summary.entry-summary .hbx-bc-box .single_add_to_cart_button{ display:inline-flex !important; align-items:center; justify-content:center; }

/* Inscription pro */
.hbx-reg-intro{ font-family:"Jost",sans-serif; font-size:13.5px; color:#7A6B70; margin:0 0 14px; }
.woocommerce-account .woocommerce-form-register .hbx-reg-intro + .form-row{ margin-top:4px; }

/* Boutons WooCommerce du parcours BC (compte / panier / checkout) -> aubergine */
.woocommerce-account button.button, .woocommerce-account input.button,
.woocommerce-form-login__submit, .woocommerce-form-register__submit,
.woocommerce form.checkout button, .woocommerce #place_order,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart button[name="update_cart"]{
  background-color:#46163A !important; color:#fff !important; border-color:#46163A !important;
}
.woocommerce-account button.button:hover, .woocommerce-form-login__submit:hover,
.woocommerce-form-register__submit:hover, .woocommerce #place_order:hover,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover{
  background-color:#2C0E24 !important;
}

/* Mon compte (déconnecté) : formulaires Connexion + Créer un compte en PLEINE LARGEUR sur mobile */
@media (max-width:760px){
  .woocommerce-account #customer_login.u-columns.col2-set{ display:block !important; }
  .woocommerce-account #customer_login .u-column1.col-1,
  .woocommerce-account #customer_login .u-column2.col-2{
    width:100% !important; max-width:100% !important; float:none !important; margin:0 0 30px !important; padding:0 !important;
  }
  .woocommerce-account .woocommerce-form input.input-text,
  .woocommerce-account .woocommerce-form .form-row,
  .woocommerce-account .woocommerce-form-login,
  .woocommerce-account .woocommerce-form-register{ width:100% !important; box-sizing:border-box; }
}

/* Mobile : la barre de nav fixe en bas (.footer-shop onsus) recouvrait le bas des pages
   (boutons de formulaire « Créer un compte » / « Se connecter » non cliquables). On dégage. */
@media (max-width:767px){
  body.hbx-active{ padding-bottom:64px !important; }
  .footer-shop{ z-index:60; }
}

/* Cycle devis (Mon compte) */
.hbx-bc-devis{ margin:24px 0; padding:20px 22px; border:1px solid rgba(176,130,63,.35); border-left:3px solid #46163A; border-radius:6px; background:#F8F2E8; font-family:"Jost",-apple-system,sans-serif; }
.hbx-bc-devis h3{ font-family:"Cormorant Garamond",Georgia,serif; color:#46163A; font-size:23px; margin:0 0 8px; font-weight:600; }
.hbx-bc-devis p{ margin:8px 0; color:#4A3B42; }
.hbx-devis-table{ width:100%; max-width:460px; margin:14px 0; border-collapse:collapse; background:#fff; border:1px solid rgba(30,20,24,.08); border-radius:4px; }
.hbx-devis-table th{ text-align:left; width:150px; color:#7A6B70; font-weight:500; padding:9px 14px; font-size:13px; border-bottom:1px solid rgba(30,20,24,.06); }
.hbx-devis-table td{ padding:9px 14px; font-weight:500; color:#1E1418; border-bottom:1px solid rgba(30,20,24,.06); }
.hbx-bc-accepted{ color:#2e7d32; font-weight:600; }
.hbx-bc-devis .hbx-btn{ display:inline-block; background:#46163A; color:#fff !important; padding:12px 22px; border-radius:2px; text-decoration:none; font-size:12px; letter-spacing:.1em; text-transform:uppercase; margin-top:6px; }
.hbx-bc-devis .hbx-btn:hover{ background:#2C0E24; }

/* Filtres catalogue : masque la case NATIVE (double checkbox) — bat woo/variation-swatches */
.hbx .hbx-fopt input[type="checkbox"],
.hbx .hbx-fopt input[type="radio"],
.hbx-filters .hbx-fopt input,
.hbx-catalog .hbx-fopt input{ display:none !important; }

/* Icônes : extrémités arrondies (sinon les puces du picto « liste » = traits nuls ne s'affichent pas) */
.hbx .hbx-i{ stroke-linecap:round; stroke-linejoin:round; }
.hbx-view .hbx-i{ width:18px; height:18px; }
.hbx-view button{ flex:0 0 auto; }
/* Barre d'outils catalogue : pas de débordement des icônes vue en mobile */
@media (max-width:560px){
  .hbx-toolbar{ flex-wrap:wrap; }
  .hbx-toolbar-r{ width:100%; flex-wrap:wrap; gap:10px; justify-content:flex-start; }
}

/* Masque les images Elementor décoratives sans source (placeholders « [image] » cassés) */
img[src=""], img:not([src]){ display:none !important; }

/* ============================================================
   CORRECTIFS centrage icônes (le thème ajoute du padding aux <button>)
   ============================================================ */
.hbx .hbx-search-go{ display:flex !important; align-items:center !important; justify-content:center !important; padding:0 !important; width:38px !important; height:38px !important; flex:0 0 auto; }
.hbx .hbx-view button{ display:flex !important; align-items:center !important; justify-content:center !important; padding:0 !important; width:40px !important; height:40px !important; flex:0 0 auto; }
.hbx .hbx-burger{ display:none; }
@media (max-width:860px){ .hbx .hbx-burger{ display:flex !important; align-items:center; justify-content:center; padding:0 !important; } }
.hbx .hbx-search-go svg, .hbx .hbx-view button svg, .hbx .hbx-allcats-btn svg, .hbx .hbx-burger svg{ display:block !important; margin:0 !important; vertical-align:middle !important; flex:0 0 auto; }

/* ============================================================
   SÉLECTEUR DE QUANTITÉ (fiche produit — wrapper .inner-quantity onsus)
   ============================================================ */
.hbx-bc-box .quantity{ display:inline-flex !important; margin:0 !important; max-width:none !important; }
.hbx-bc-box .quantity .inner-quantity{ display:flex; align-items:stretch; border:1px solid var(--hbx-line); border-radius:4px; overflow:hidden; height:50px; }
.hbx-bc-box .inner-quantity .qty_button{ width:42px; min-height:0 !important; height:auto !important; border:0 !important; background:#F8F2E8 !important; color:#46163A !important; font-size:18px; font-weight:600; line-height:1; cursor:pointer; padding:0 !important; margin:0 !important; border-radius:0 !important; transition:background .2s; -webkit-appearance:none; appearance:none; }
.hbx-bc-box .inner-quantity .qty_button:hover{ background:#efe2cf !important; }
.hbx-bc-box .inner-quantity input.qty{ width:58px !important; height:auto !important; border:0 !important; border-left:1px solid var(--hbx-line) !important; border-right:1px solid var(--hbx-line) !important; border-radius:0 !important; text-align:center; background:#fff !important; font-family:"Jost",sans-serif !important; margin:0 !important; -moz-appearance:textfield; }
.hbx-bc-box .inner-quantity input.qty::-webkit-outer-spin-button,
.hbx-bc-box .inner-quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

/* force le flex du wrapper quantité (le thème le met en inline-block) */
.hbx-bc-box .quantity .inner-quantity{ display:flex !important; width:max-content !important; }

/* Masque proprement le label « Quantity: » (lecteur d'écran seulement) dans l'encart produit */
.hbx-bc-box .quantity .screen-reader-text,
.hbx-bc-box .screen-reader-text{ position:absolute !important; width:1px !important; height:1px !important; margin:-1px !important; padding:0 !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }

/* ============================================================
   QUANTITÉ — reconstruction propre (le thème met -/+ en ABSOLU
   par-dessus l'input ; on élargit l'input pour voir la valeur).
   Spécificité .hbx-bc-box .quantity .inner-quantity pour écraser
   les règles flex précédentes.
   ============================================================ */
.hbx-bc-box .quantity .inner-quantity{ display:inline-block !important; position:relative !important; width:auto !important; height:50px !important; border:1px solid var(--hbx-line) !important; border-radius:4px !important; overflow:hidden; vertical-align:middle; }
.hbx-bc-box .quantity .inner-quantity input.qty{ width:112px !important; height:50px !important; box-sizing:border-box !important; padding:0 38px !important; margin:0 !important; border:0 !important; border-radius:4px !important; text-align:center !important; background:#fff !important; color:#1E1418 !important; font-size:16px !important; font-family:"Jost",-apple-system,sans-serif !important; line-height:50px !important; -moz-appearance:textfield; }
.hbx-bc-box .quantity .inner-quantity .qty_button{ position:absolute !important; top:0 !important; bottom:0 !important; height:50px !important; width:38px !important; min-height:0 !important; border:0 !important; background:#F8F2E8 !important; color:#46163A !important; font-size:18px !important; font-weight:600 !important; line-height:50px !important; text-align:center !important; cursor:pointer; padding:0 !important; margin:0 !important; border-radius:0 !important; z-index:2; -webkit-appearance:none !important; appearance:none !important; }
.hbx-bc-box .quantity .inner-quantity .qty_button.minus{ left:0 !important; right:auto !important; border-right:1px solid var(--hbx-line) !important; }
.hbx-bc-box .quantity .inner-quantity .qty_button.plus{ right:0 !important; left:auto !important; border-left:1px solid var(--hbx-line) !important; }
.hbx-bc-box .quantity .inner-quantity .qty_button:hover{ background:#efe2cf !important; }
.hbx-bc-box .quantity .inner-quantity input.qty::-webkit-outer-spin-button,
.hbx-bc-box .quantity .inner-quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none !important; margin:0 !important; }

/* ============================================================
   ENCART PRODUIT — layout définitif : [quantité] [bouton] sur UNE ligne
   (écrase toutes les règles précédentes accumulées)
   ============================================================ */
.hbx-bc-box form.cart{ display:flex !important; flex-wrap:nowrap !important; align-items:center !important; gap:12px !important; margin:0 0 6px !important; }
.hbx-bc-box form.cart > .quantity{ flex:0 0 auto !important; width:auto !important; max-width:none !important; min-width:0 !important; margin:0 !important; display:inline-flex !important; }
.hbx-bc-box .quantity .inner-quantity{ width:124px !important; min-width:124px !important; height:50px !important; }
.hbx-bc-box .quantity .inner-quantity input.qty{ width:124px !important; min-width:124px !important; padding:0 40px !important; }
.hbx-bc-box form.cart .single_add_to_cart_button,
.hbx-bc-box form.cart .hbx-bc-add{ flex:1 1 auto !important; height:50px !important; min-height:50px !important; margin:0 !important; }

/* ============================================================
   BARRE DE CONNEXION RAPIDE (header, non connectés)
   ============================================================ */
.hbx-loginbar{ background:#1d0b18; border-bottom:1px solid rgba(255,255,255,.07); font-size:12.5px; }
.hbx-loginbar .hbx-wrap{ display:flex; align-items:center; gap:12px; min-height:42px; flex-wrap:wrap; }
.hbx-loginbar-txt{ color:var(--hbx-gold-2); font-weight:500; letter-spacing:.05em; white-space:nowrap; }
.hbx-loginbar-form{ display:flex; align-items:center; gap:8px; flex:1 1 auto; }
.hbx-loginbar-form input[type=text],
.hbx-loginbar-form input[type=password]{ height:30px !important; border:1px solid rgba(255,255,255,.18) !important; background:rgba(255,255,255,.06) !important; color:#fff !important; border-radius:3px !important; padding:0 10px !important; font-size:12.5px !important; width:190px !important; margin:0 !important; font-family:"Jost",sans-serif !important; }
.hbx-loginbar-form input::placeholder{ color:rgba(255,255,255,.5); }
.hbx-loginbar-form input:focus{ outline:none; border-color:var(--hbx-gold) !important; }
.hbx-loginbar-rm{ display:flex; align-items:center; gap:5px; color:rgba(255,255,255,.6); white-space:nowrap; cursor:pointer; }
.hbx-loginbar-rm input{ accent-color:var(--hbx-gold); width:auto !important; margin:0 !important; }
.hbx-loginbar-form button{ height:30px; padding:0 18px; background:var(--hbx-gold) !important; color:#231012 !important; border:0 !important; border-radius:3px !important; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; white-space:nowrap; transition:background .2s; }
.hbx-loginbar-form button:hover{ background:var(--hbx-gold-3) !important; }
.hbx-loginbar-reg{ color:var(--hbx-gold-2) !important; white-space:nowrap; font-weight:500; }
.hbx-loginbar-reg:hover{ color:#fff !important; }
.hbx-loginbar-err{ color:#ff9b9b; white-space:nowrap; }
@media (max-width:820px){
  .hbx-loginbar-txt, .hbx-loginbar-rm{ display:none; }
  .hbx-loginbar-form input[type=text], .hbx-loginbar-form input[type=password]{ width:auto !important; flex:1 1 90px; min-width:0; }
  .hbx-loginbar-reg{ display:none; }
}

/* Encart produit : bouton « Ajouter au bon de commande » EN DESSOUS du champ quantité */
.hbx-bc-box form.cart{ display:flex !important; flex-direction:column !important; align-items:stretch !important; flex-wrap:nowrap !important; gap:14px !important; }
.hbx-bc-box form.cart > .quantity{ align-self:flex-start !important; flex:0 0 auto !important; }
.hbx-bc-box form.cart .single_add_to_cart_button,
.hbx-bc-box form.cart .hbx-bc-add{ width:100% !important; flex:0 0 auto !important; }

/* Quantité collée à gauche (le label sr « Quantity: » occupait de la place) */
.hbx-bc-box .quantity > label.screen-reader-text,
.hbx-bc-box .quantity .screen-reader-text{ display:none !important; }
.hbx-bc-box form.cart > .quantity{ display:inline-flex !important; width:auto !important; max-width:none !important; justify-content:flex-start !important; align-self:flex-start !important; margin:0 !important; padding:0 !important; }
.hbx-bc-box .quantity .inner-quantity{ margin:0 !important; }

/* Barre de login : tient sur UNE ligne en mobile (inputs compressibles + bouton compact) */
@media (max-width:820px){
  .hbx-loginbar .hbx-wrap{ flex-wrap:nowrap !important; gap:7px !important; padding-inline:12px !important; }
  .hbx-loginbar-form{ min-width:0 !important; gap:6px !important; flex:1 1 auto !important; }
  .hbx-loginbar-form input[type=text],
  .hbx-loginbar-form input[type=password]{ width:auto !important; flex:1 1 0 !important; min-width:0 !important; padding:0 8px !important; }
  .hbx-loginbar-form button{ flex:0 0 auto !important; padding:0 12px !important; font-size:10px !important; letter-spacing:.04em; }
}

/* Bandeau « Bijoux précieux » (tf-products-banner.style3) : marge latérale en mobile (cohérent avec les cartes) */
@media (max-width:767px){
  .tf-products-banner.style3 .item-banner,
  .elementor-element-4b7476e5 .item-banner{ margin-left:12px !important; margin-right:12px !important; border-radius:10px !important; overflow:hidden !important; }
}

/* ── Recherche : autocomplétion (desktop + mobile) ───────────────────────── */
.hbx-search{ position:relative; }
.hbx-suggest{
  position:absolute; top:calc(100% + 8px); left:0; right:0; z-index:120;
  background:#fff; border:1px solid var(--hbx-line);
  border-radius:4px; box-shadow:0 18px 48px rgba(30,20,24,.16);
  overflow:hidden; max-height:min(70vh,460px); overflow-y:auto;
}
.hbx-suggest[hidden]{ display:none; }
.hbx-suggest-item{
  display:flex; align-items:center; gap:12px; padding:10px 14px;
  text-decoration:none; color:var(--hbx-ink); border-bottom:1px solid #f1ecee;
  transition:background .15s;
}
.hbx-suggest-item:last-of-type{ border-bottom:0; }
.hbx-suggest-item:hover,
.hbx-suggest-item.is-active{ background:#faf6f3; }
.hbx-suggest-item img,
.hbx-suggest-noimg{
  width:46px; height:46px; flex:0 0 auto; object-fit:cover;
  border-radius:3px; background:#f3eef0; border:1px solid #f1ecee;
}
.hbx-suggest-txt{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.hbx-suggest-name{
  font-size:13.5px; line-height:1.35; color:var(--hbx-ink);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.hbx-suggest-price{ font-size:12.5px; color:var(--hbx-accent); font-weight:600; }
.hbx-suggest-price del{ color:var(--hbx-soft); font-weight:400; margin-right:5px; }
.hbx-suggest-empty{ padding:16px 14px; font-size:13.5px; color:var(--hbx-soft); text-align:center; }
.hbx-suggest-all{
  display:block; width:100%; text-align:center; padding:11px 14px;
  background:var(--hbx-accent); color:#fff; border:0; cursor:pointer;
  font-size:12.5px; font-weight:600; letter-spacing:.03em;
}
.hbx-suggest-all:hover{ background:var(--hbx-ink); }

/* ── Carte « Mon compte / client professionnel » (style1) : trop tassée en mobile ── */
@media (max-width:767px){
  .elementor-element-7d6bcc0 .tf-products-banner.style1,
  .elementor-element-7d6bcc0 .item-banner{
    height:auto !important;
    min-height:210px !important;
  }
  .elementor-element-7d6bcc0 .item-banner{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    padding-top:26px !important;
    padding-bottom:26px !important;
  }
  .elementor-element-7d6bcc0 .item-banner .inner{
    width:100% !important;
    height:auto !important;
  }
  .elementor-element-7d6bcc0 .item-banner .button-banner{
    margin-top:14px !important;
  }
}

/* ── Toolbar « Tri » : le <select> du thème (padding 10px + margin-bottom 16px) gonflait la boîte ── */
.hbx .hbx-sort{ height:40px !important; padding:0 12px !important; align-items:center !important; line-height:1 !important; }
.hbx .hbx-sort span{ line-height:40px !important; display:inline-flex; align-items:center; }
.hbx .hbx-sort select{
  margin:0 !important; padding:0 !important;
  height:38px !important; min-height:0 !important; line-height:38px !important;
  background:none !important; border:0 !important; box-shadow:none !important;
  vertical-align:middle !important; max-width:none !important;
}

/* ── Méga-menu « Tous les univers » : pont de survol invisible sur l'espace bouton→panneau ──
   Sans ça, la souris traverse les 8px de gap (ni bouton ni panneau survolé) et le menu se ferme. */
.hbx-allcats .hbx-mega::before{
  content:""; position:absolute; left:0; right:0; top:-14px; height:16px; background:transparent;
}
/* zone tampon aussi sous le bouton pour fiabiliser l'entrée */
.hbx-allcats .hbx-allcats-btn{ position:relative; }

/* ── Effets de survol sur les termes du méga-menu « Tous les univers » ── */
/* Univers (titres) : teinte douce + glissement + couleur accent */
.hbx-headwrap .hbx-mega-menu > li > a{
  padding:6px 10px !important;
  border-radius:5px;
  transition:color .25s ease, background-color .25s ease, padding-left .28s var(--hbx-ease) !important;
}
.hbx-headwrap .hbx-mega-menu > li > a:hover{
  color:var(--hbx-accent) !important;
  background:var(--hbx-paper-2) !important;
  padding-left:16px !important;
}
/* Sous-catégories : chevron doré qui glisse + texte qui avance */
.hbx-headwrap .hbx-mega-menu .sub-menu a{
  position:relative;
  padding:3px 10px !important;
  border-radius:4px;
  transition:color .22s ease, background-color .22s ease, padding-left .24s var(--hbx-ease) !important;
}
.hbx-headwrap .hbx-mega-menu .sub-menu a::before{
  content:"\203A"; /* › */
  position:absolute; left:6px; top:50%;
  transform:translateY(-50%) translateX(-6px);
  color:var(--hbx-gold); font-size:14px; line-height:1; font-weight:700;
  opacity:0; transition:opacity .22s ease, transform .24s var(--hbx-ease);
}
.hbx-headwrap .hbx-mega-menu .sub-menu a:hover{
  color:var(--hbx-accent) !important;
  background:rgba(176,130,63,.07) !important;
  padding-left:20px !important;
}
.hbx-headwrap .hbx-mega-menu .sub-menu a:hover::before{
  opacity:1; transform:translateY(-50%) translateX(0);
}

/* Navigation catégories à trois niveaux. */
.hbx-cat-toggle{ display:none; }
@media (min-width:861px){
  .hbx-headwrap .hbx-mega{
    width:min(1040px,calc(100vw - 32px));
    min-width:760px;
    min-height:480px;
    padding:0 !important;
    overflow:hidden;
  }
  .hbx-headwrap .hbx-mega-menu{
    position:relative;
    columns:auto !important;
    width:100%;
    min-height:480px;
    padding:14px 0;
    margin:0;
  }
  .hbx-headwrap .hbx-mega-menu > li{
    position:static;
    width:25%;
    margin:0;
    padding:0 14px;
  }
  .hbx-headwrap .hbx-mega-menu > li > a{
    font-family:var(--hbx-sans) !important;
    font-size:14px !important;
    border-bottom:0 !important;
  }
  .hbx-headwrap .hbx-mega-menu > li.is-active > a{
    color:var(--hbx-accent) !important;
    background:var(--hbx-paper-2) !important;
    padding-left:16px !important;
  }
  .hbx-headwrap .hbx-category-level-2{
    display:none;
    position:absolute;
    left:25%;
    top:0;
    width:34%;
    height:100%;
    margin:0 !important;
    padding:14px;
    border-left:1px solid var(--hbx-line);
    background:#fff;
  }
  .hbx-headwrap .hbx-mega-menu > li.is-active > .hbx-category-level-2{ display:block; }
  .hbx-headwrap .hbx-category-level-2 > li{ position:static; margin:0; }
  .hbx-headwrap .hbx-category-level-2 > li > a{
    min-height:34px;
    padding:7px 28px 7px 10px !important;
    font-size:13px !important;
  }
  .hbx-headwrap .hbx-category-level-2 > li.menu-item-has-children > a::after{
    content:"\203A";
    position:absolute;
    right:14px;
    color:var(--hbx-gold);
    font-size:17px;
  }
  .hbx-headwrap .hbx-category-level-2 > li.is-active > a{
    color:var(--hbx-accent) !important;
    background:rgba(176,130,63,.08) !important;
    padding-left:16px !important;
  }
  .hbx-headwrap .hbx-category-level-3{
    display:none;
    position:absolute;
    left:100%;
    top:0;
    width:121%;
    height:100%;
    margin:0 !important;
    padding:14px 16px;
    overflow-y:auto;
    border-left:1px solid var(--hbx-line);
    background:#fff;
  }
  .hbx-headwrap .hbx-category-level-2 > li.is-active > .hbx-category-level-3{ display:block; }
  .hbx-headwrap .hbx-category-level-3 a{ padding:7px 10px !important; font-size:13px !important; }
}

.hbx-drawer-cats .hbx-menu--drawer li{ position:relative; }
.hbx-drawer-cats .hbx-menu--drawer .hbx-cat-toggle{
  display:grid;
  place-items:center;
  position:absolute;
  top:4px;
  right:0;
  width:36px;
  height:36px;
  padding:0;
  border:0;
  background:transparent !important;
  color:var(--hbx-accent);
  transition:transform .2s ease;
}
.hbx-drawer-cats .hbx-menu--drawer .hbx-cat-toggle .hbx-i{ width:15px; height:15px; }
.hbx-drawer-cats .hbx-menu--drawer li.is-expanded > .hbx-cat-toggle{ transform:rotate(180deg); }
.hbx-drawer-cats .hbx-menu--drawer .sub-menu{ display:none !important; }
.hbx-drawer-cats .hbx-menu--drawer li.is-expanded > .sub-menu{ display:block !important; }
.hbx-headwrap .hbx-drawer-cats .hbx-menu--drawer .sub-menu{
  position:static !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 0 8px 10px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.hbx-drawer-cats .hbx-category-level-2 > li > a{ padding:8px 42px 8px 10px !important; font-size:14px !important; }
.hbx-drawer-cats .hbx-category-level-3{ padding-left:14px !important; }
.hbx-drawer-cats .hbx-category-level-3 a{ padding:6px 8px !important; font-size:13px !important; }

/* Sélections commerciales de la page d'accueil. */
.hbx-home-heading{
  margin:0 0 30px;
  padding:0 0 11px;
  border-bottom:1px solid #ebebeb;
  color:#333e48;
  font-family:Inter,Arial,sans-serif;
  font-size:22px;
  font-weight:600;
  line-height:1.3;
  letter-spacing:0;
}
.hbx-home-products{ width:100%; }
.hbx-home-product-grid{ display:grid; gap:18px; align-items:stretch; }
.hbx-home-products--featured .hbx-home-product-grid{ grid-template-columns:repeat(6,minmax(0,1fr)); }
.hbx-home-products--compact .hbx-home-product-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.hbx-home-products .hbx-pcard{ min-width:0; height:100%; }
.hbx-home-products .hbx-media{ aspect-ratio:1/1; }
.hbx-home-products .hbx-pimg{ width:100%; height:100%; object-fit:contain; }
.hbx-home-products--compact .hbx-pname{ font-size:14px; }
.hbx-home-products--compact .hbx-pbody{ padding:12px; }
.hbx-home-products--compact .hbx-quote{ width:34px; min-width:34px; padding:0; }
.hbx-home-products--compact .hbx-quote span{ display:none; }
.hbx-home-products .hbx-quote--login{
  width:36px;
  min-width:36px;
  height:36px;
  padding:0;
  justify-content:center;
}
.hbx-home-products .hbx-quote--login span{ display:none; }
.hbx-home-products .hbx-quote--login .hbx-i{ width:15px; height:15px; margin:0; }

.hbx-home-banner{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(140px,.9fr);
  align-items:center;
  width:100%;
  min-height:260px;
  padding:32px;
  overflow:hidden;
  border:1px solid rgba(50,45,50,.09);
  border-radius:6px;
  color:#29252a;
  text-decoration:none !important;
}
.hbx-home-banner-copy{ position:relative; z-index:2; display:flex; flex-direction:column; align-items:flex-start; max-width:380px; }
.hbx-home-banner-eyebrow{ margin-bottom:9px; color:#754456; font:600 12px/1.2 Inter,Arial,sans-serif; letter-spacing:0; }
.hbx-home-banner strong{ color:inherit; font:600 clamp(27px,3vw,43px)/1.02 "Cormorant Garamond",Georgia,serif; letter-spacing:0; }
.hbx-home-banner-text{ max-width:310px; margin-top:10px; color:#585158; font:400 14px/1.5 Inter,Arial,sans-serif; }
.hbx-home-banner-link{ margin-top:20px; padding-bottom:3px; border-bottom:1px solid currentColor; color:#4f1531; font:600 13px/1.2 Inter,Arial,sans-serif; }
.hbx-home-banner-media{ position:absolute; z-index:1; top:12px; right:12px; bottom:12px; width:46%; display:flex; align-items:center; justify-content:center; }
.hbx-home-banner-image{ width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .3s ease; }
.hbx-home-banner:hover .hbx-home-banner-image{ transform:scale(1.035); }
.hbx-home-banner--compact{
  height:270px;
  min-height:270px;
  padding:26px 22px;
}
.hbx-home-banner--compact .hbx-home-banner-copy{ width:58%; }
.hbx-home-banner--compact .hbx-home-banner-media{ width:42%; }
.hbx-home-banner--compact strong{ font-size:34px; }
.hbx-home-banner--compact .hbx-home-banner-text{ font-size:13px; }
.elementor-element-1ed88844 .elementor-widget-container,
.elementor-element-44b217a1 .elementor-widget-container,
.elementor-element-3e9913e1 .elementor-widget-container,
.elementor-element-61d36c59 .elementor-widget-container{ height:270px; }
.hbx-home-banner--ivory{ background:#f7f5f1; }
.hbx-home-banner--red{ background:#f3e7e7; color:#56252a; }
.hbx-home-banner--forest{ background:#e8efea; color:#243b2e; }
.hbx-home-banner--rose{ background:#f2e9ee; color:#4c293b; }
.hbx-home-banner--steel{ background:#e9edef; color:#27363c; }

@media (max-width:1100px){
  .hbx-home-products--featured .hbx-home-product-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hbx-home-products--compact .hbx-home-product-grid{ grid-template-columns:1fr; }
  .hbx-home-banner{ min-height:230px; padding:24px; }
}
@media (max-width:767px){
  .hbx-home-heading{ margin-bottom:20px; font-size:19px; }
  .hbx-home-products--featured .hbx-home-product-grid,
  .hbx-home-products--compact .hbx-home-product-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .hbx-home-products--compact .hbx-pbody{ padding:10px; }
  .hbx-home-banner{
    grid-template-columns:1fr;
    grid-template-rows:auto 160px;
    gap:16px;
    min-height:0;
    padding:22px 20px 18px;
    align-items:start;
  }
  .hbx-home-banner strong{ font-size:30px; }
  .hbx-home-banner-text{ font-size:13px; }
  .hbx-home-banner-media{
    position:static;
    width:100%;
    height:160px;
    min-height:160px;
    overflow:hidden;
    border:1px solid rgba(50,45,50,.1);
    border-radius:4px;
    background:#fff;
  }
  .hbx-home-banner--compact{
    display:grid;
    grid-template-rows:minmax(146px,auto) 170px;
    gap:14px;
    height:370px;
    min-height:370px;
    padding:20px 18px 16px;
    align-items:flex-start;
  }
  .hbx-home-banner--compact .hbx-home-banner-copy{ width:100%; max-width:none; }
  .hbx-home-banner--compact .hbx-home-banner-media{
    position:static;
    width:100%;
    height:170px;
    min-height:170px;
    overflow:hidden;
    border:1px solid rgba(50,45,50,.1);
    border-radius:4px;
    background:#fff;
  }
  .hbx-home-banner--compact strong{ font-size:30px; }
  .hbx-home-banner--compact .hbx-home-banner-text{ max-width:none; margin-top:7px; }
  .hbx-home-banner--compact .hbx-home-banner-link{ margin-top:12px; }
  .elementor-element-1ed88844 .elementor-widget-container,
  .elementor-element-44b217a1 .elementor-widget-container,
  .elementor-element-3e9913e1 .elementor-widget-container,
  .elementor-element-61d36c59 .elementor-widget-container{ height:370px; }
}
