/* ==========================================================
   Beljoux – styles principaux
   Palette : crème #FBF5F1 · blush #F6E4DC · nude #EBC9BC · rose #F3CFD6
             framboise #B0306A · vieux rose #9C5E50 · encre #2E2220
   ========================================================== */

:root {
	--bjx-bg: #FBF5F1;
	--bjx-blush: #F6E4DC;
	--bjx-nude: #EBC9BC;
	--bjx-pink: #F3CFD6;
	--bjx-accent: #B0306A;
	--bjx-accent-dark: #8E2455;
	--bjx-rose: #9C5E50;
	--bjx-ink: #2E2220;
	--bjx-text: #6B4F48;
	--bjx-muted: #7A5F57;
	--bjx-line: #EBC9BC;
	--bjx-gold: #B88A5A;
	--bjx-serif: 'Playfair Display', Georgia, serif;
	--bjx-sans: 'Jost', 'Helvetica Neue', Arial, sans-serif;
	--bjx-script: 'Jost', 'Helvetica Neue', Arial, sans-serif;
	--bjx-wrap: 1280px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.bjx {
	margin: 0;
	background: var(--bjx-bg);
	color: var(--bjx-ink);
	font-family: var(--bjx-sans);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.6;
	font-variant-numeric: lining-nums;
	overflow-x: hidden;
}
img { max-width: 100%; height: auto; }
a { color: var(--bjx-ink); text-decoration: none; transition: color .2s; }
a:hover { color: var(--bjx-rose); }
:focus-visible { outline: 2px solid var(--bjx-accent); outline-offset: 3px; }
h1, h2, h3, h4 { font-family: var(--bjx-serif); font-weight: 400; line-height: 1.15; }

.screen-reader-text, .bjx-hp {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}
.bjx-skip { position: absolute; left: -9999px; top: 8px; z-index: 100; background: #fff; padding: 10px 16px; border-radius: 999px; }
.bjx-skip:focus { left: 16px; }

.bjx-wrap { max-width: var(--bjx-wrap); margin: 0 auto; padding-left: 32px; padding-right: 32px; }

/* ---------- Typo ---------- */
.bjx-script { font-family: var(--bjx-sans); font-weight: 500; font-size: 13px; letter-spacing: 4px; text-transform: uppercase; color: var(--bjx-accent); line-height: 1.4; margin-bottom: 6px; }
.bjx-script--lg { font-size: 13px; }
.bjx-script--sm { font-size: 11px; letter-spacing: 3px; }
.bjx-script--light { color: #F8D7E2; }
.bjx-display { margin: 0; font-family: var(--bjx-serif); font-weight: 400; font-size: clamp(40px, 5.2vw, 72px); line-height: 1.08; letter-spacing: -0.5px; }
.bjx-display--md { font-size: clamp(36px, 4.4vw, 60px); }
.bjx-title { margin: 4px 0 0; font-family: var(--bjx-serif); font-weight: 400; font-size: clamp(32px, 3.8vw, 50px); line-height: 1.12; letter-spacing: -0.3px; }
.bjx-title--md { font-size: clamp(28px, 3.2vw, 42px); }
.bjx-title--light { color: #fff; }
.bjx-em { font-style: normal; font-weight: inherit; color: var(--bjx-accent); }
.bjx-em--accent { color: var(--bjx-accent); }
.bjx-title--light .bjx-em { color: #fff; }
.bjx-eyebrow { font-size: 11px; letter-spacing: 4px; text-transform: uppercase; color: var(--bjx-rose); margin-bottom: 6px; }
.bjx-lead { margin: 0; font-size: 17px; line-height: 1.8; color: var(--bjx-text); max-width: 480px; }
.bjx-text { margin: 0; font-size: 16px; line-height: 1.8; color: var(--bjx-text); }
.bjx-text--narrow { max-width: 420px; font-size: 15px; }
.bjx-center { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; margin-bottom: 48px; }
.bjx-heading { display: flex; flex-direction: column; }
.bjx-rule { width: 56px; height: 1px; background: var(--bjx-ink); }

/* ---------- Boutons, pastilles ---------- */
.bjx-btn, .bjx .button, .bjx button.button, .bjx input.button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 52px; padding: 0 34px; border-radius: 999px; border: 1px solid var(--bjx-accent);
	background: var(--bjx-accent); color: #fff; font-family: var(--bjx-sans); font-size: 12px; font-weight: 400;
	letter-spacing: 2.5px; text-transform: uppercase; cursor: pointer; transition: background .2s, color .2s, transform .2s;
	text-decoration: none; line-height: 1.2;
}
.bjx-btn:hover { background: var(--bjx-accent-dark); color: #fff; transform: translateY(-1px); }
.bjx-btn--outline { background: #fff; color: var(--bjx-accent); }
.bjx-btn--outline:hover { background: var(--bjx-accent); color: #fff; }
.bjx-btn--ghost { background: #fff; color: var(--bjx-ink); border-color: var(--bjx-line); }
.bjx-btn--ghost:hover { background: var(--bjx-blush); color: var(--bjx-ink); }
.bjx-btn--white { background: #fff; color: var(--bjx-accent); border-color: #fff; }
.bjx-btn--white:hover { background: var(--bjx-blush); color: var(--bjx-accent); }
.bjx-btn--block { width: 100%; min-height: 56px; }
.bjx-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.bjx-link { font-size: 12px; letter-spacing: 2.5px; text-transform: uppercase; border-bottom: 1px solid var(--bjx-accent); padding-bottom: 5px; }
.bjx-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.bjx-chip { background: var(--bjx-blush); border-radius: 999px; padding: 8px 16px; font-size: 13px; color: #4A2E28; }
.bjx-chip--pink { background: var(--bjx-pink); color: #6E1E42; }
.bjx-chip--white { background: #fff; }
.bjx-chip--line { background: transparent; border: 1px solid var(--bjx-line); font-size: 14px; padding: 10px 18px; }
.bjx-chip--label { align-self: flex-start; font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--bjx-accent); }
.bjx-dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; flex: none; }
.bjx-dot--lg { width: 18px; height: 18px; margin-top: 6px; }

/* ---------- Fonds et formes ---------- */
.bjx-bg-blush { background: var(--bjx-blush); }
.bjx-bg-nude { background: var(--bjx-nude); }
.bjx-bg-pink { background: var(--bjx-pink); }
.bjx-bg-white { background: #fff; }
.bjx-bg-cream { background: var(--bjx-bg); }
.bjx-arch { border-radius: 999px 999px 28px 28px; }
.bjx-rounded { border-radius: 26px; }
.bjx-shape-arch { border-radius: 999px 999px 24px 24px; }
.bjx-shape-round { border-radius: 24px; }
.bjx-shape-arch-down { border-radius: 24px 24px 999px 999px; }
.bjx-shape-corner { border-radius: 24px 160px 24px 24px; }
.bjx-arch, .bjx-rounded, [class*="bjx-shape-"] { overflow: hidden; display: flex; align-items: center; justify-content: center; }
.bjx-pack { width: 84%; height: 84%; object-fit: contain; mix-blend-mode: multiply; }
.bjx-photo { display: block; width: 100%; object-fit: cover; }
.bjx-photo--arch { height: 580px; border-radius: 999px 999px 32px 32px; }
.bjx-photo--corner { height: 470px; border-radius: 36px 240px 36px 36px; }
.bjx-photo--strip { height: 360px; border-radius: 32px; }
.bjx-photo--left-arch { height: 400px; border-radius: 240px 32px 32px 32px; }

@keyframes bjx-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes bjx-spin { to { transform: rotate(360deg); } }
@keyframes bjx-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@media (prefers-reduced-motion: no-preference) {
	.bjx-marquee__track { animation: bjx-marquee 34s linear infinite; }
	.bjx-spin { animation: bjx-spin 22s linear infinite; }
	.bjx-float { animation: bjx-float 6s ease-in-out infinite; }
}

/* ---------- Bandeau + en-tête ---------- */
.bjx-topbar {
	background: var(--bjx-accent); color: #fff; padding: 10px 20px; display: flex; flex-wrap: wrap; justify-content: center;
	gap: 6px 18px; font-size: 12px; font-weight: 400; letter-spacing: 2.5px; text-transform: uppercase; text-align: center;
}
.bjx-topbar a { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.bjx-topbar a:hover { color: var(--bjx-pink); }
.bjx-header { background: var(--bjx-bg); position: sticky; top: 0; z-index: 50; border-bottom: 1px solid transparent; }
.admin-bar .bjx-header { top: 32px; }
.bjx-header__inner { max-width: var(--bjx-wrap); margin: 0 auto; padding: 16px 32px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; }
.bjx-brand { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.bjx-wordmark { font-family: var(--bjx-serif); font-weight: 500; font-size: 17px; letter-spacing: 7px; text-transform: uppercase; color: var(--bjx-ink); line-height: 1; padding-left: 7px; }
.bjx-brand:hover .bjx-wordmark { color: var(--bjx-accent); }
.bjx-logo { height: 66px; width: auto; display: block; }
.bjx-brand img { max-height: 66px !important; width: auto !important; }
.bjx-logo--footer { height: 96px; margin-bottom: 8px; }
.bjx-logo--about { height: 150px; }
.bjx-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: nowrap; align-items: center; gap: 24px; font-size: 12px; font-weight: 400; letter-spacing: 2px; text-transform: uppercase; white-space: nowrap; }
@media (min-width: 901px) and (max-width: 1240px) { .bjx-menu { gap: 14px; font-size: 11px; letter-spacing: 1.2px; } .bjx-header__inner { padding-left: 20px; padding-right: 20px; } }
.bjx-menu a { padding-bottom: 3px; border-bottom: 1px solid transparent; }
.bjx-menu .current-menu-item > a, .bjx-menu a:hover { border-bottom-color: var(--bjx-ink); color: var(--bjx-ink); }
.bjx-menu .sub-menu { display: none; }
.bjx-actions { display: flex; justify-content: flex-end; align-items: center; gap: 4px; }
.bjx-iconbtn { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
.bjx-iconbtn:hover { background: var(--bjx-blush); color: var(--bjx-ink); }
.bjx-cart { height: 44px; padding: 0 16px; display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; background: var(--bjx-blush); font-size: 12px; font-weight: 400; }
.bjx-cart-count { min-width: 22px; height: 22px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; background: #fff; }
.bjx-cart-count.has-items { background: var(--bjx-accent); color: #fff; }
.bjx-burger { display: none; width: 44px; height: 44px; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0; cursor: pointer; color: var(--bjx-ink); -webkit-appearance: none; appearance: none; }

/* ---------- Hero ---------- */
.bjx-hero { padding-top: 24px; padding-bottom: 88px; display: flex; flex-wrap: wrap; align-items: center; gap: 48px; }
.bjx-hero--page { padding-top: 64px; }
.bjx-hero__text { flex: 1 1 440px; min-width: 0; display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
.bjx-hero__art { flex: 1 1 540px; min-width: 0; position: relative; height: 640px; }
.bjx-hero__art--photo { height: auto; flex-basis: 500px; }
.bjx-hero__main { position: absolute; right: 0; top: 0; width: 66%; height: 580px; align-items: flex-end; }
.bjx-hero__main img { width: 92%; height: 92%; }
.bjx-hero__small { position: absolute; left: 0; bottom: 0; width: 44%; height: 320px; border: 8px solid var(--bjx-bg); }
.bjx-hero__badge { position: absolute; left: calc(34% - 85px); top: 150px; z-index: 2; box-shadow: 0 12px 30px -16px rgba(110, 30, 66, .35); width: 170px; height: 170px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; }
.bjx-hero__badge svg { position: absolute; inset: 0; }
.bjx-hero__badge img { position: relative; width: 84px; height: 84px; object-fit: contain; }
.bjx-hero__pill { position: absolute; right: 16px; bottom: 30px; background: #fff; border-radius: 999px; padding: 8px 10px 8px 8px; display: flex; align-items: center; gap: 12px; }
.bjx-hero__pill img { width: 48px; height: 48px; border-radius: 50%; object-fit: contain; }
.bjx-hero__pill small { display: block; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--bjx-accent); }
.bjx-hero__pill span { font-family: var(--bjx-serif); font-size: 20px; font-weight: 500; line-height: 1.2; }
.bjx-hero__go { width: 44px; height: 44px; border-radius: 50%; background: var(--bjx-accent); color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.bjx-seal { position: absolute; left: -14px; bottom: 40px; width: 150px; height: 150px; border-radius: 50%; background: var(--bjx-accent); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; transform: rotate(-8deg); }
.bjx-seal strong { font-family: var(--bjx-serif); font-weight: 400; font-size: 40px; line-height: 1; }
.bjx-seal span { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; margin-top: 6px; }
.bjx-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--bjx-line); border-bottom: 1px solid var(--bjx-line); width: 100%; max-width: 520px; }
.bjx-stats div { padding: 20px 0 20px 20px; border-left: 1px solid var(--bjx-line); }
.bjx-stats div:first-child { padding-left: 0; border-left: 0; }
.bjx-stats strong { display: block; font-family: var(--bjx-serif); font-weight: 400; font-size: 34px; line-height: 1; }
.bjx-stats span { display: block; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--bjx-muted); margin-top: 8px; }

/* ---------- Bandeau défilant ---------- */
.bjx-marquee { background: var(--bjx-blush); overflow: hidden; padding: 18px 0; border-top: 1px solid var(--bjx-line); border-bottom: 1px solid var(--bjx-line); }
.bjx-marquee__track { display: flex; width: max-content; gap: 28px; align-items: center; font-family: var(--bjx-sans); font-size: 15px; font-weight: 500; letter-spacing: 4px; text-transform: uppercase; color: #4A2E28; white-space: nowrap; }
.bjx-star { color: var(--bjx-accent); font-style: normal; }

/* ---------- Sections ---------- */
.bjx-section { padding-top: 96px; padding-bottom: 96px; }
.bjx-section--tight { padding-bottom: 96px; }
.bjx-section--last { padding-top: 40px; padding-bottom: 104px; }
.bjx-section__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 36px; }
.bjx-band { width: 100%; }
.bjx-card { background: #fff; border-radius: 48px; padding: clamp(28px, 4vw, 56px); }
.bjx-panel { border-radius: 48px; padding: clamp(28px, 4vw, 52px); display: flex; flex-direction: column; gap: 28px; }
.bjx-split { display: flex; flex-wrap: wrap; align-items: center; gap: 56px; }
.bjx-band .bjx-split { padding-top: 96px; padding-bottom: 96px; }
.bjx-split--panel { flex-direction: row; gap: 44px; }
.bjx-split__text { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }
.bjx-split__art { flex: 1 1 440px; min-width: 0; position: relative; }

/* Grilles */
.bjx-grid { display: grid; gap: 18px; }
.bjx-grid--cats { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.bjx-grid--4 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.bjx-grid--3 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.bjx-grid--colors { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.bjx-grid--insta { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; padding-bottom: 24px; }
.bjx-grid--stones { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.bjx-grid--steps { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 28px; }
.bjx-grid--offers { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; max-width: 920px; margin: 0 auto; }

/* Collections */
.bjx-cat { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; }
.bjx-cat__img { width: 100%; height: 260px; border-radius: 999px 999px 22px 22px; transition: transform .3s; }
.bjx-cat:hover .bjx-cat__img { transform: translateY(-6px); }
.bjx-cat__name { font-family: var(--bjx-serif); font-size: 23px; font-weight: 500; }

/* Produits statiques (avant import WooCommerce) */
.bjx-prod { display: flex; flex-direction: column; gap: 12px; }
.bjx-prod__img { height: 270px; border-radius: 26px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.bjx-prod__row { display: flex; justify-content: space-between; align-items: baseline; padding: 0 6px; }
.bjx-prod__name { font-family: var(--bjx-serif); font-size: 23px; font-weight: 500; }

/* Couleurs */
.bjx-color { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.bjx-color--down { transform: translateY(28px); }
.bjx-color__img { width: 100%; aspect-ratio: 1; border-radius: 50%; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.bjx-color__img .bjx-pack { width: 76%; height: 76%; }
.bjx-color__name { display: flex; align-items: center; gap: 8px; font-family: var(--bjx-sans); font-size: 13px; font-weight: 500; letter-spacing: 2.5px; text-transform: uppercase; }

/* Taille unique */
.bjx-size-art { height: 520px; }
.bjx-size-art__main { position: absolute; inset: 0 14% 0 0; border-radius: 999px 999px 36px 36px; }
.bjx-size-art__main .bjx-pack { width: 88%; height: 70%; }
.bjx-size-art__ring { position: absolute; right: 0; bottom: 36px; width: 190px; height: 190px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.bjx-size-art__ring img { width: 74%; height: 74%; object-fit: contain; }
.bjx-tag { position: absolute; left: 18px; top: 34px; background: var(--bjx-accent); color: #fff; border-radius: 999px; padding: 10px 18px; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; }

/* Bloc ventes privées (framboise) */
.bjx-promo { background: var(--bjx-accent); color: #fff; border-radius: 48px; padding: clamp(32px, 4.5vw, 60px); display: flex; flex-wrap: wrap; align-items: center; gap: 44px; }
.bjx-promo__text { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.bjx-promo__text p { margin: 0; color: #FBE3EA; line-height: 1.8; max-width: 480px; }
.bjx-promo__art { flex: 1 1 380px; min-width: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.bjx-promo__art > span { height: 260px; }
.bjx-promo__down { margin-top: 40px; }

/* À propos */
.bjx-about { background: #fff; }
.bjx-about__inner { max-width: 920px; margin: 0 auto; padding: 104px 32px; text-align: center; display: flex; flex-direction: column; gap: 22px; align-items: center; }
.bjx-about__inner p { margin: 0; font-family: var(--bjx-serif); font-weight: 400; font-size: clamp(24px, 2.6vw, 34px); line-height: 1.45; }

/* Instagram */
.bjx-insta { aspect-ratio: 4 / 5; border-radius: 26px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.bjx-insta--down { transform: translateY(24px); }
.bjx-insta .bjx-pack { width: 80%; height: 80%; }

/* Newsletter */
.bjx-newsletter { background: var(--bjx-accent); color: #fff; border-radius: 48px; padding: clamp(32px, 5vw, 64px); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px; }
.bjx-newsletter > div { flex: 1 1 380px; min-width: 0; }
.bjx-newsletter p { margin: 8px 0 0; color: #FBE6EE; }
.bjx-newsletter__form { flex: 1 1 420px; min-width: 0; display: flex; gap: 8px; background: #fff; border-radius: 999px; padding: 6px; }
.bjx-newsletter__form input { flex: 1; min-width: 0; min-height: 50px; border: 0; background: transparent; padding: 0 18px; font-family: var(--bjx-sans); font-weight: 300; font-size: 16px; color: var(--bjx-ink); }
.bjx-newsletter__form input:focus { outline: none; }
.bjx-newsletter__form button { min-height: 50px; border-radius: 999px; border: 0; background: var(--bjx-ink); color: #fff; padding: 0 26px; font-family: var(--bjx-sans); font-size: 12px; letter-spacing: 2px; text-transform: uppercase; cursor: pointer; }
.bjx-newsletter__ok { font-family: var(--bjx-serif); font-size: 26px; }
.bjx-newsletter__err { flex-basis: 100%; }

/* ---------- Atelier ---------- */
.bjx-stone { background: #fff; border-radius: 24px; padding: 22px 24px; display: flex; gap: 14px; align-items: flex-start; }
.bjx-stone__name { font-family: var(--bjx-serif); font-size: 26px; }
.bjx-stone p { margin: 0; font-size: 14px; color: var(--bjx-text); line-height: 1.6; }
.bjx-stone--more { background: var(--bjx-accent); color: #fff; align-items: center; font-family: var(--bjx-serif); font-size: 20px; line-height: 1.3; }
.bjx-step, .bjx-vstep { display: flex; flex-direction: column; gap: 12px; }
.bjx-step__img { position: relative; aspect-ratio: 4 / 5; }
.bjx-step__img img { width: 100%; height: 100%; object-fit: cover; }
.bjx-step__num { position: absolute; left: 14px; top: 14px; width: 44px; height: 44px; border-radius: 50%; background: var(--bjx-accent); display: flex; align-items: center; justify-content: center; font-family: var(--bjx-sans); font-weight: 500; font-size: 18px; color: #fff; }
.bjx-step h3, .bjx-vstep h3 { margin: 6px 0 0; font-size: 28px; }
.bjx-step p, .bjx-vstep p { margin: 0; font-size: 15px; line-height: 1.75; color: var(--bjx-muted); }
.bjx-vstep { background: var(--bjx-bg); border-radius: 32px; padding: 34px 28px; }
.bjx-vstep__num { display: flex; align-items: baseline; gap: 10px; font-family: var(--bjx-serif); font-size: 44px; line-height: 1; color: var(--bjx-accent); padding-bottom: 14px; border-bottom: 1px solid var(--bjx-line); }
.bjx-vstep__num small { font-family: var(--bjx-sans); font-size: 11px; font-weight: 500; letter-spacing: 3px; text-transform: uppercase; color: var(--bjx-rose); }
.bjx-offer { background: #fff; border-radius: 32px; padding: 40px 34px; display: flex; flex-direction: column; gap: 16px; }
.bjx-offer--featured { background: var(--bjx-nude); }
.bjx-offer h3 { margin: 0; font-size: 30px; }
.bjx-offer__price { font-family: var(--bjx-serif); font-weight: 400; font-size: 44px; line-height: 1; }
.bjx-offer__price small { font-family: var(--bjx-sans); font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--bjx-muted); }
.bjx-offer hr { border: 0; height: 1px; background: var(--bjx-bg); margin: 0; width: 100%; }
.bjx-offer:not(.bjx-offer--featured) hr { background: var(--bjx-line); }
.bjx-offer__lead { margin: 0; font-family: var(--bjx-serif); font-size: 22px; line-height: 1.4; }
.bjx-offer ul { margin: 0; padding-left: 18px; font-size: 15px; line-height: 2; color: var(--bjx-text); }
.bjx-mini { background: #fff; border-radius: 24px; padding: 20px 22px; display: flex; gap: 16px; align-items: flex-start; width: 100%; }
.bjx-mini > span { flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--bjx-accent); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--bjx-serif); font-size: 22px; }
.bjx-mini strong { font-family: var(--bjx-serif); font-weight: 400; font-size: 24px; }
.bjx-mini p { margin: 0; font-size: 14px; color: var(--bjx-text); }

/* ---------- Ventes privées ---------- */
.bjx-vp-art { height: 600px; }
.bjx-vp-art > div { position: absolute; }
.bjx-vp-art__a { left: 0; top: 0; width: 62%; height: 100%; border-radius: 999px 999px 40px 40px; }
.bjx-vp-art__a .bjx-pack { width: 88%; height: 80%; }
.bjx-vp-art__b { right: 0; top: 40px; width: 42%; height: 250px; border-radius: 32px; }
.bjx-vp-art__c { right: 4%; bottom: 0; width: 38%; height: 250px; border-radius: 999px 999px 32px 32px; }
.bjx-occ { border-radius: 32px; padding: 36px 30px; display: flex; flex-direction: column; gap: 12px; }
.bjx-occ .bjx-script { font-size: 13px; }
.bjx-occ p { margin: 0; font-size: 15px; line-height: 1.75; color: var(--bjx-text); }
.bjx-coll { display: flex; flex-direction: column; gap: 10px; }
.bjx-coll__img { aspect-ratio: 4 / 5; }
.bjx-coll__name { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--bjx-muted); text-align: center; }

/* ---------- Formulaires ---------- */
.bjx-formwrap { max-width: 820px; margin: 0 auto; padding: 104px 32px; }
.bjx-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 24px; }
.bjx-form p { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.bjx-form label { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--bjx-muted); }
.bjx-form input:not([type="checkbox"]), .bjx-form select, .bjx-form textarea {
	min-height: 46px; border: 0; border-bottom: 1px solid #D9AE9F; background: transparent; padding: 0 2px;
	font-family: var(--bjx-sans); font-weight: 400; font-size: 17px; color: var(--bjx-ink); border-radius: 0; width: 100%;
}
.bjx-form textarea { padding: 10px 2px; resize: vertical; }
.bjx-form input:focus, .bjx-form select:focus, .bjx-form textarea:focus { outline: none; border-bottom-color: var(--bjx-accent); }
.bjx-form__full { grid-column: 1 / -1; }
.bjx-form .bjx-form__check { flex-direction: row; align-items: flex-start; gap: 10px; }
.bjx-form__check input { width: 18px; height: 18px; margin-top: 3px; accent-color: var(--bjx-accent); }
.bjx-form__check label { font-size: 14px; letter-spacing: 0; text-transform: none; line-height: 1.6; }
.bjx-form__alt { margin: 26px 0 0; text-align: center; font-size: 14px; color: var(--bjx-muted); }
.bjx-form__alt a { color: var(--bjx-accent); border-bottom: 1px solid var(--bjx-accent); }
.bjx-success { background: var(--bjx-blush); border-radius: 32px; padding: 56px 32px; text-align: center; }
.bjx-success p { color: var(--bjx-muted); }
.bjx-alert { background: #FBE3E3; color: #A32D2D; border-radius: 16px; padding: 14px 18px; margin: 0 0 24px; }

/* FAQ */
.bjx-faq { max-width: 860px; margin: 0 auto; padding: 104px 32px; }
.bjx-faq .bjx-title { margin-bottom: 32px; display: block; text-align: center; }
.bjx-faq details { border-top: 1px solid var(--bjx-line); padding: 24px 0; }
.bjx-faq details:last-child { border-bottom: 1px solid var(--bjx-line); }
.bjx-faq summary { cursor: pointer; font-family: var(--bjx-serif); font-size: 20px; font-weight: 400; }
.bjx-faq details p { margin: 12px 0 0; font-size: 15px; line-height: 1.8; color: var(--bjx-muted); }

/* ---------- Pages simples ---------- */
.bjx-page { max-width: 860px; margin: 0 auto; padding: 72px 32px 104px; }
.bjx-page__head { margin-bottom: 32px; }
.bjx-content { font-size: 16px; line-height: 1.8; color: var(--bjx-text); }
.bjx-content h2, .bjx-content h3 { color: var(--bjx-ink); }
.bjx-content a { color: var(--bjx-accent); text-decoration: underline; }
.bjx-entry { padding: 24px 0; border-bottom: 1px solid var(--bjx-line); }

/* ---------- Pied de page ---------- */
.bjx-footer { background: var(--bjx-blush); border-top: 1px solid var(--bjx-line); }
.bjx-footer .bjx-wrap { padding-top: 72px; padding-bottom: 28px; }
.bjx-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 40px; font-size: 14px; line-height: 2.1; color: #4A2E28; }
.bjx-footer__grid a { display: block; color: #4A2E28; }
.bjx-footer__grid p { margin: 10px 0 0; line-height: 1.7; }
.bjx-footer__title { font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: var(--bjx-accent); margin-bottom: 10px; }
.bjx-footer__menu { list-style: none; margin: 0; padding: 0; }
.bjx-footer__info span { display: block; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--bjx-accent); }
.bjx-socials { display: flex; gap: 8px; margin-top: 12px; }
.bjx-footer__grid .bjx-socials a { width: 44px; height: 44px; border-radius: 50%; background: #fff; display: inline-flex; align-items: center; justify-content: center; color: var(--bjx-accent); }
.bjx-footer__bottom { margin-top: 56px; padding-top: 22px; border-top: 1px solid var(--bjx-line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; font-size: 12px; letter-spacing: 1px; color: var(--bjx-text); }

/* ---------- Mobile ---------- */
@media (max-width: 900px) {
	.bjx-wrap { padding-left: 16px; padding-right: 16px; }
	.bjx-header__inner { padding: 10px 16px; grid-template-columns: auto 1fr auto; }
	.bjx-brand { justify-content: center; }
	.bjx-logo { height: 46px; }
	.bjx-brand img { max-height: 46px !important; }
	.bjx-wordmark { font-size: 13px; letter-spacing: 5px; padding-left: 5px; }
	.bjx-burger { display: inline-flex; align-items: center; justify-content: center; }
	.bjx-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--bjx-bg); border-bottom: 1px solid var(--bjx-line); padding: 12px 16px 20px; }
	.bjx-nav.is-open { display: block; }
	.bjx-nav .bjx-menu { flex-direction: column; align-items: stretch; gap: 0; font-size: 14px; white-space: normal; }
	.bjx-nav .bjx-menu a { display: block; padding: 12px 0; border-bottom: 1px solid var(--bjx-line); }
	.bjx-actions .bjx-account { display: none; }
	.bjx-topbar { font-size: 10px; letter-spacing: 1.5px; gap: 4px 12px; }
	.bjx-hero { padding-bottom: 56px; gap: 32px; }
	.bjx-hero__art { height: 440px; flex-basis: 100%; }
	.bjx-hero__art--photo { height: auto; }
	.bjx-hero__main { height: 400px; width: 72%; }
	.bjx-hero__small { height: 220px; width: 48%; }
	.bjx-hero__badge { width: 120px; height: 120px; left: calc(28% - 60px); top: 90px; }
	.bjx-hero__badge svg { width: 120px; height: 120px; }
	.bjx-hero__badge img { width: 58px; height: 58px; }
	.bjx-hero__pill { right: 0; bottom: 8px; }
	.bjx-hero__pill span { font-size: 16px; }
	.bjx-photo--arch { height: 420px; }
	.bjx-photo--corner, .bjx-photo--left-arch { height: 320px; }
	.bjx-photo--strip { height: 220px; }
	.bjx-seal { width: 110px; height: 110px; left: 0; }
	.bjx-seal strong { font-size: 30px; }
	.bjx-section { padding-top: 64px; padding-bottom: 64px; }
	.bjx-section--tight { padding-bottom: 64px; }
	.bjx-band .bjx-split { padding-top: 64px; padding-bottom: 64px; }
	.bjx-size-art { height: 380px; }
	.bjx-size-art__ring { width: 130px; height: 130px; }
	.bjx-vp-art { height: 420px; }
	.bjx-vp-art__b, .bjx-vp-art__c { height: 180px; }
	.bjx-promo__art > span { height: 180px; }
	.bjx-grid--cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bjx-cat__img { height: 200px; }
	.bjx-grid--colors, .bjx-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.bjx-prod__img { height: 190px; }
	.bjx-prod__row { flex-direction: column; gap: 2px; }
	.bjx-prod__name { font-size: 19px; }
	.bjx-color--down, .bjx-insta--down { transform: none; }
	.bjx-grid--insta { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-bottom: 0; }
	.bjx-form { grid-template-columns: 1fr; }
	.bjx-formwrap, .bjx-faq, .bjx-about__inner { padding-top: 64px; padding-bottom: 64px; padding-left: 16px; padding-right: 16px; }
	.bjx-card, .bjx-panel, .bjx-promo, .bjx-newsletter { border-radius: 32px; }
	.bjx-newsletter__form { flex-wrap: wrap; border-radius: 28px; }
	.bjx-newsletter__form button { width: 100%; }
	.bjx-stats strong { font-size: 30px; }
	.bjx-page { padding: 48px 16px 72px; }
}
@media (max-width: 782px) { .admin-bar .bjx-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .bjx-header { top: 0; } }
.bjx-shape-arch .bjx-step__num { top: auto; bottom: 14px; }

/* Accueil : collage harmonieux de 4 photos */
.bjx-hero__collage { display: grid; grid-template-columns: 1.15fr 1fr; grid-template-rows: 1fr 1fr 1fr; gap: 14px; height: 620px; }
.bjx-tile { position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; transition: transform .35s ease; }
.bjx-tile:hover { transform: translateY(-4px); }
.bjx-tile .bjx-pack { width: 82%; height: 82%; }
.bjx-tile--tall { grid-column: 1; grid-row: 1 / 4; border-radius: 999px 999px 32px 32px; }
.bjx-tile--tall .bjx-pack { height: 86%; }
.bjx-tile--top { grid-column: 2; grid-row: 1; border-radius: 28px 120px 28px 28px; }
.bjx-tile--mid { grid-column: 2; grid-row: 2; border-radius: 28px; }
.bjx-tile--bottom { grid-column: 2; grid-row: 3; border-radius: 28px 28px 120px 28px; }
.bjx-tile__label { position: absolute; left: 14px; bottom: 12px; background: rgba(255,255,255,.88); color: var(--bjx-ink); border-radius: 999px; padding: 6px 12px; font-size: 10px; font-weight: 500; letter-spacing: 2px; text-transform: uppercase; }
.bjx-tile--tall .bjx-tile__label { left: 50%; transform: translateX(-50%); bottom: 18px; }
.bjx-hero__collage .bjx-hero__badge { left: calc(53.5% - 85px); top: calc(50% - 85px); }
@media (max-width: 900px) {
	.bjx-hero__collage { height: 460px; gap: 10px; }
	.bjx-hero__collage .bjx-hero__badge { left: calc(53.5% - 60px); top: calc(50% - 60px); }
	.bjx-tile__label { font-size: 9px; letter-spacing: 1px; padding: 5px 9px; left: 8px; bottom: 8px; }
	.bjx-tile--top { border-radius: 20px 70px 20px 20px; }
	.bjx-tile--bottom { border-radius: 20px 20px 70px 20px; }
}
.bjx-tile--mid .bjx-tile__label { left: auto; right: 14px; }
@media (max-width: 900px) { .bjx-tile--mid .bjx-tile__label { right: 8px; } }

/* Illustration vente à domicile */
.bjx-illu { display: block; width: 100%; height: auto; border-radius: 32px; box-shadow: 0 24px 50px -30px rgba(110, 30, 66, .45); }
.bjx-promo__art--illu { display: block; }
.bjx-promo__art--illu .bjx-illu { border: 6px solid rgba(255, 255, 255, .9); }

.bjx-footer__insta{display:inline-flex!important;align-items:center;gap:8px}
.bjx-footer__insta svg{width:18px;height:18px;flex:none}

/* ---------- Mobile : barre de navigation du bas + en-tête compact ---------- */
.bjx-tabbar { display: none; }
@media (max-width: 900px) {
	body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
	.bjx-tabbar { display: grid; grid-template-columns: repeat(5, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: rgba(250, 244, 240, .96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-top: 1px solid var(--bjx-line); padding: 6px 4px calc(6px + env(safe-area-inset-bottom)); }
	.bjx-tabbar a { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 52px; color: var(--bjx-ink); font-size: 10.5px; letter-spacing: .3px; text-decoration: none; line-height: 1.1; text-align: center; }
	.bjx-tabbar .bjx-icon { width: 22px; height: 22px; }
	.bjx-tabbar a[aria-current="page"] { color: var(--bjx-accent); }
	.bjx-tabbar a[aria-current="page"]::before { content: ""; position: absolute; top: -6px; left: 30%; right: 30%; height: 2px; border-radius: 2px; background: var(--bjx-accent); }
	.bjx-tabbar .bjx-cart-count { position: absolute; top: 4px; left: calc(50% + 4px); min-width: 18px; height: 18px; font-size: 10px; padding: 0 4px; }
	.bjx-tabbar .bjx-cart-count:not(.has-items) { display: none; }
	.bjx-header, .bjx-logo, .bjx-brand img, .bjx-wordmark { transition: all .25s ease; }
	.bjx-scrolled .bjx-header { box-shadow: 0 6px 18px rgba(80, 30, 50, .07); }
	.bjx-scrolled .bjx-header__inner { padding-top: 6px; padding-bottom: 6px; }
	.bjx-scrolled .bjx-brand img { max-height: 34px !important; }
	.bjx-scrolled .bjx-wordmark { font-size: 11px; letter-spacing: 4px; }
	.bjx-burger, .bjx-iconbtn, .bjx-cart { min-width: 44px; min-height: 44px; }
	input, select, textarea { font-size: 16px !important; } /* évite le zoom automatique sur iPhone */
}

a.bjx-coll { color: inherit; text-decoration: none; }
a.bjx-coll:hover .bjx-coll__name { color: var(--bjx-accent); }
.bjx-card .bjx-section__head .bjx-text--narrow { margin: 10px 0 0; }

/* ---------- Recherche ---------- */
header .bjx-actions button.bjx-iconbtn, .bjx-search-toggle { border: 0 !important; border-style: none !important; background: transparent !important; background-image: none !important; color: var(--bjx-ink) !important; padding: 0 !important; margin: 0 !important; width: 44px !important; height: 44px !important; border-radius: 50% !important; box-shadow: none !important; outline: none; cursor: pointer; -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important; font: inherit; line-height: 1; }
header .bjx-actions button.bjx-iconbtn:hover, .bjx-search-toggle:hover { background: var(--bjx-blush) !important; }
.bjx-search-toggle:focus-visible { outline: 2px solid var(--bjx-accent) !important; outline-offset: 2px; }
.bjx-iconbtn:focus:not(:focus-visible) { outline: none; }
header .bjx-actions button.bjx-search-toggle[aria-expanded="true"] { background: var(--bjx-blush) !important; color: var(--bjx-accent) !important; }
.bjx-search { position: absolute; left: 0; right: 0; top: 100%; background: var(--bjx-bg); border-top: 1px solid var(--bjx-line); border-bottom: 1px solid var(--bjx-line); box-shadow: 0 18px 34px rgba(80, 30, 50, .08); }
.bjx-search[hidden] { display: none; }
.bjx-search__in { max-width: 720px; margin: 0 auto; padding: 28px 32px 26px; }
.bjx-search__label { font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: var(--bjx-accent); margin-bottom: 6px; }
.bjx-sf { display: flex; align-items: center; gap: 14px; border-bottom: 1px solid var(--bjx-ink); padding: 4px 0 8px; margin: 0; background: transparent; }
.bjx-sf:focus-within { border-bottom-color: var(--bjx-accent); }
.bjx-sf .bjx-sf__input { flex: 1; min-width: 0; border: 0 !important; border-radius: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent !important; font-family: var(--bjx-serif); font-size: 24px; line-height: 1.3; color: var(--bjx-ink); padding: 6px 0 !important; margin: 0; height: auto; -webkit-appearance: none; appearance: none; }
.bjx-sf .bjx-sf__input::placeholder { color: #b9a6a6; opacity: 1; }
.bjx-sf .bjx-sf__input::-webkit-search-cancel-button, .bjx-sf .bjx-sf__input::-webkit-search-decoration { -webkit-appearance: none; display: none; }
.bjx-sf .bjx-sf__btn { flex: none; width: 48px; height: 48px; padding: 0; margin: 0; border: 0; border-radius: 50%; background: var(--bjx-accent); color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: none; -webkit-appearance: none; appearance: none; transition: background .2s ease; }
.bjx-sf .bjx-sf__btn:hover { background: var(--bjx-ink); }
.bjx-sf .bjx-sf__btn .bjx-icon { width: 20px; height: 20px; stroke-width: 1.8; }
.bjx-search__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; font-size: 13px; }
.bjx-search__tags span { color: var(--bjx-text); margin-right: 2px; }
.bjx-search__tags a { padding: 6px 14px; border-radius: 999px; background: var(--bjx-blush); color: var(--bjx-ink); text-decoration: none; }
.bjx-search__tags a:hover { background: var(--bjx-accent); color: #fff; }
.bjx-shop__search { max-width: 520px; margin: 0 0 24px; }
.bjx-shop__search .bjx-sf__input { font-size: 19px; }
.bjx-shop__search .bjx-sf__btn { width: 42px; height: 42px; }
@media (max-width: 900px) {
	.bjx-search__in { padding: 18px 16px 18px; }
	.bjx-sf .bjx-sf__input { font-size: 19px !important; }
	.bjx-shop__search { max-width: none; }
}
.bjx-sf .bjx-sf__input, .bjx-display { font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }
.bjx-delivery-note { display: flex; align-items: flex-start; gap: 10px; margin: 18px 0 6px; padding: 12px 16px; border-radius: 16px; background: var(--bjx-blush); font-size: 14px; line-height: 1.5; color: var(--bjx-ink); }
.bjx-delivery-note .bjx-icon { flex: none; margin-top: 1px; color: var(--bjx-accent); }

.bjx-tile--tall .bjx-pack { width: 80%; object-position: 40% 50%; }
@media (max-width: 900px) { .bjx-tile--tall .bjx-pack { width: 76%; object-position: 30% 50%; } }

.bjx-cart-hint { margin: 10px 0 14px; padding: 12px 14px; border-radius: 14px; background: var(--bjx-blush); font-size: 13px; line-height: 1.5; color: var(--bjx-ink); }
.wp-block-woocommerce-proceed-to-checkout-block::before { content: "Livraison en point relais ou retrait gratuit en boutique : tu choisis à l\2019 étape suivante, en validant ta commande."; display: block; margin: 0 0 14px; padding: 12px 14px; border-radius: 14px; background: var(--bjx-blush); font-size: 13px; line-height: 1.5; color: var(--bjx-ink); }

/* ---------- Formulaire de demande en 3 parties ---------- */
.bjx-fs { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 24px; margin: 0; padding: 26px 26px 28px; border: 1px solid var(--bjx-line); border-radius: 26px; background: var(--bjx-bg); }
.bjx-fs legend { display: flex; align-items: center; gap: 10px; padding: 0 8px; font-family: var(--bjx-serif); font-size: 22px; color: var(--bjx-ink); }
.bjx-fs legend span { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--bjx-accent); color: #fff; font-family: var(--bjx-sans); font-size: 14px; }
.bjx-form .bjx-form__full { grid-column: 1 / -1; }
.bjx-form__note { font-size: 12px; color: var(--bjx-muted); text-align: center; }
.bjx-form select:invalid { color: var(--bjx-muted); }
@media (max-width: 900px) { .bjx-fs { grid-template-columns: 1fr; padding: 20px 16px 22px; border-radius: 22px; } .bjx-fs legend { font-size: 19px; } }

.bjx-cats-intro { margin: 10px 0 0; }

@media (min-width: 901px) { .bjx-grid--cats { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

.bjx-cat__name small { display: block; margin-top: 2px; font-family: var(--bjx-sans); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--bjx-accent); }

/* ---------- Bande des 3 garanties ---------- */
.bjx-promises-band { background: var(--bjx-blush); border-top: 1px solid var(--bjx-line); border-bottom: 1px solid var(--bjx-line); }
.bjx-promises-band__in { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding-top: 30px; padding-bottom: 30px; }
.bjx-pb { display: flex; align-items: center; gap: 16px; justify-content: center; }
.bjx-pb svg { flex: none; width: 46px; height: 46px; fill: none; stroke: var(--bjx-accent); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; padding: 9px; border-radius: 50%; background: #fff; box-sizing: content-box; }
.bjx-pb strong { display: block; font-family: var(--bjx-serif); font-weight: 500; font-size: 21px; color: var(--bjx-ink); line-height: 1.2; }
.bjx-pb span { display: block; font-size: 13px; color: var(--bjx-text); margin-top: 3px; }
@media (max-width: 900px) { .bjx-promises-band__in { grid-template-columns: 1fr; gap: 14px; padding-top: 22px; padding-bottom: 22px; } .bjx-pb { justify-content: flex-start; } .bjx-pb svg { width: 36px; height: 36px; padding: 7px; } .bjx-pb strong { font-size: 18px; } }

/* ---------- Ensembles sur l'accueil ---------- */
.bjx-looks__lead { margin: 10px auto 0; }
.bjx-looks__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 32px; }
.bjx-look { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 18px 18px 22px; border-radius: 30px; background: var(--bjx-blush); color: var(--bjx-ink); text-decoration: none; text-align: center; transition: transform .25s ease, box-shadow .25s ease; }
.bjx-look:hover { transform: translateY(-4px); box-shadow: 0 18px 34px -22px rgba(110, 30, 66, .45); }
.bjx-look__imgs { display: grid; gap: 8px; width: 100%; margin-bottom: 8px; }
.bjx-look__imgs--2 { grid-template-columns: 1fr 1fr; }
.bjx-look__imgs--3 { grid-template-columns: 1fr 1fr 1fr; }
.bjx-look__img { height: 210px; border-radius: 18px; background: #fff; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.bjx-look__img img { width: 100%; height: 100%; object-fit: contain; padding: 8%; box-sizing: border-box; }
.bjx-look__name { font-family: var(--bjx-serif); font-size: 21px; }
.bjx-look__meta { font-size: 14px; color: var(--bjx-accent); }
.bjx-look__cta { margin-top: 8px; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
@media (max-width: 900px) { .bjx-looks__grid { grid-template-columns: 1fr; gap: 14px; } .bjx-look__img { height: 150px; } }

.bjx-form .bjx-fs__help { margin: -6px 0 0; font-size: 14px; line-height: 1.6; color: var(--bjx-text); }

.bjx-swa-pill { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 8px 16px 8px 12px; border-radius: 999px; background: var(--bjx-accent); color: #fff; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; }
.bjx-swa-pill svg { width: 18px; height: 18px; fill: none; stroke: #fff; stroke-width: 1.6; stroke-linejoin: round; }

/* ---------- Beljoux s'invite chez toi (1.9.0) ---------- */
.bjx-center-block { margin-left: auto; margin-right: auto; }
.bjx-xp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 36px; }
.bjx-xp-grid--one { grid-template-columns: minmax(0, 640px); justify-content: center; }
.bjx-xp { background: #fff; border-radius: 32px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 14px 40px rgba(176, 48, 106, .08); }
.bjx-xp__img { position: relative; height: 260px; background: var(--bjx-blush); }
.bjx-xp__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bjx-xp__tag { position: absolute; left: 18px; top: 18px; background: var(--bjx-accent); color: #fff; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; padding: 8px 14px; border-radius: 999px; }
.bjx-xp__body { padding: 28px 30px 30px; display: flex; flex-direction: column; gap: 14px; flex: 1; }
.bjx-xp__body h3 { margin: 0; font-family: var(--bjx-serif); font-weight: 400; font-size: 30px; line-height: 1.15; color: var(--bjx-ink); }
.bjx-xp__body p { margin: 0; color: var(--bjx-text); line-height: 1.6; }
.bjx-xp__body strong { color: var(--bjx-ink); font-weight: 500; }
.bjx-xp__price { font-family: var(--bjx-serif); font-size: 38px; line-height: 1; color: var(--bjx-accent); }
.bjx-xp__price small { display: block; margin-top: 8px; font-family: var(--bjx-sans); font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--bjx-muted); }
.bjx-xp__gift { display: flex; align-items: center; gap: 10px; background: var(--bjx-blush); border-radius: 16px; padding: 12px 16px; font-size: 15px; }
.bjx-xp__gift svg { flex: none; width: 20px; height: 20px; color: var(--bjx-accent); }
.bjx-xp__btns { margin-top: auto; padding-top: 6px; display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.bjx-formula { margin: 18px auto 0; max-width: 640px; background: var(--bjx-blush); border-radius: 18px; padding: 14px 20px; font-size: 15px; line-height: 1.6; color: var(--bjx-text); }
.bjx-formula strong { color: var(--bjx-accent); font-weight: 600; }
.bjx-estimate { margin: 0; background: #fff; border: 1px dashed var(--bjx-accent); border-radius: 14px; padding: 12px 16px; font-size: 15px; color: var(--bjx-ink); }
.bjx-estimate strong { color: var(--bjx-accent); }
.bjx-next__box { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) auto; align-items: center; gap: 28px; border: 1px solid var(--bjx-line); border-radius: 28px; padding: 26px 30px; background: #fff; }
.bjx-next__box .bjx-text { margin: 8px 0 0; }
.bjx-next__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 15px; color: var(--bjx-ink); }
.bjx-next__list li { display: flex; align-items: center; gap: 10px; }
.bjx-next__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--bjx-accent); flex: none; }
@media (max-width: 860px) {
	.bjx-xp-grid { grid-template-columns: minmax(0, 1fr); }
	.bjx-xp__img { height: 210px; }
	.bjx-xp__body { padding: 22px 20px 24px; }
	.bjx-next__box { grid-template-columns: minmax(0, 1fr); padding: 22px 20px; }
}
.bjx-xp__price--soft { font-size: 30px; }
.bjx-xp-common { display: block; margin: 26px auto 0; max-width: 900px; text-align: center; color: var(--bjx-text); font-size: 15px; line-height: 1.6; }
.bjx-xp-common svg { width: 20px; height: 20px; color: var(--bjx-accent); vertical-align: -4px; margin-right: 6px; }
.bjx-xp-common strong { color: var(--bjx-ink); font-weight: 500; }
.bjx-xp__two { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; font-size: 15px; line-height: 1.5; color: var(--bjx-text); }
.bjx-xp__two li { position: relative; padding-left: 18px; }
.bjx-xp__two li::before { content: ""; position: absolute; left: 0; top: 9px; width: 8px; height: 8px; border-radius: 50%; background: var(--bjx-accent); }
.bjx-next__soon { margin: 0; font-size: 15px; line-height: 1.6; color: var(--bjx-text); }
.bjx-grid--offers + .bjx-center { margin-top: 26px; }

/* 1.11.0 : choix chez toi / chez nous dans le formulaire */
.bjx-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.bjx-choice__q { grid-column: 1 / -1; font-weight: 600; font-size: 14px; color: var(--bjx-ink); }
.bjx-choice__opt { position: relative; display: flex; gap: 12px; align-items: flex-start; padding: 16px 18px; border: 1.5px solid var(--bjx-line); border-radius: 18px; background: #fff; cursor: pointer; transition: border-color .2s, box-shadow .2s; }
.bjx-choice__opt input { margin-top: 4px; accent-color: var(--bjx-accent); width: 18px; height: 18px; flex: none; }
.bjx-choice__opt span { display: flex; flex-direction: column; gap: 4px; }
.bjx-choice__opt strong { font-family: var(--bjx-serif); font-size: 20px; color: var(--bjx-ink); }
.bjx-choice__opt small { font-size: 13.5px; line-height: 1.4; color: var(--bjx-muted, #6b5560); }
.bjx-choice__opt:has(input:checked) { border-color: var(--bjx-accent); box-shadow: 0 6px 18px rgba(176, 48, 106, .12); }
.bjx-next__list li { display: flex; align-items: center; gap: 10px; }
.bjx-next__list li a { margin-left: auto; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--bjx-accent); text-decoration: none; border-bottom: 1px solid currentColor; }
[hidden] { display: none !important; }
@media (max-width: 900px) { .bjx-choice { grid-template-columns: 1fr; } }
.bjx-form .bjx-choice__q { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--bjx-muted); font-weight: 400; }
.bjx-form .bjx-choice__opt { font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--bjx-ink); }
.bjx-form .bjx-choice__opt input[type="radio"] { width: 18px; height: 18px; min-width: 0; min-height: 0; padding: 0; margin: 4px 0 0; border: 0; background: none; appearance: auto; -webkit-appearance: radio; flex: none; }
.bjx-form .bjx-choice__opt span { min-width: 0; }
.bjx-form .bjx-choice__opt small { font-size: 13.5px; letter-spacing: 0; text-transform: none; }

/* 1.12.1 : deux prix côte à côte */
.bjx-xp__prices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.bjx-xp__pr { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border-radius: 18px; background: var(--bjx-bg); border: 1px solid var(--bjx-line); }
.bjx-xp__pr:last-child { background: #F9E6EC; border-color: #F0CCD8; }
.bjx-xp__pr-label { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--bjx-muted); }
.bjx-xp__pr strong { font-family: var(--bjx-serif); font-weight: 400; font-size: 36px; line-height: 1; color: var(--bjx-accent); }
.bjx-xp__pr small { font-size: 13px; line-height: 1.4; color: var(--bjx-muted); }
.bjx-xp__note { font-size: 14.5px; color: var(--bjx-muted); }
@media (max-width: 420px) { .bjx-xp__pr { padding: 14px; } .bjx-xp__pr strong { font-size: 30px; } }
