/* =====================================================================
   Oh Para — thème enfant Salient
   Direction : pharmacie haut de gamme. Fond blanc, tuiles teintées,
   vert profond, titres Instrument Serif, texte Figtree.
   ===================================================================== */

:root {
	--ohp-ink: #0F2620;
	--ohp-ink-2: #4A5D56;
	--ohp-muted: #6B7C75;
	--ohp-line: #E3E8E3;
	--ohp-line-2: #D5DDD7;
	--ohp-mist: #F3F5F2;
	--ohp-mist-2: #F7F8F6;
	--ohp-mint: #E3F1EC;
	--ohp-mint-2: #C6E3D9;
	--ohp-green: #0B6B60;
	--ohp-green-d: #08524A;
	--ohp-sand: #F6EFE6;
	--ohp-sun: #EFD9BC;
	--ohp-warm: #8A5A2B;
	--ohp-white: #FFFFFF;
	--ohp-serif: "Instrument Serif", Georgia, "Times New Roman", serif;
	--ohp-sans: "Figtree", "Segoe UI", system-ui, -apple-system, sans-serif;
	--ohp-r-s: 14px;
	--ohp-r-m: 20px;
	--ohp-r-l: 28px;
	--ohp-wrap: 1360px;
	--ohp-gutter: 40px;
	--ohp-header-h: 172px;
}

@media (max-width: 1023px) {
	:root { --ohp-gutter: 24px; --ohp-header-h: 152px; }
}
@media (max-width: 639px) {
	:root { --ohp-gutter: 16px; --ohp-header-h: 152px; }
}

/* ---------- Habillage Salient masqué ---------- */
body.ohp-theme #header-outer,
body.ohp-theme #header-space,
body.ohp-theme #header-secondary-outer,
body.ohp-theme #search-outer,
body.ohp-theme #footer-outer,
body.ohp-theme #slide-out-widget-area,
body.ohp-theme #slide-out-widget-area-bg,
body.ohp-theme .nectar-quick-view-box,
body.ohp-theme .nectar-quick-view-box-backdrop,
body.ohp-theme #ohpara-header-wrap,
body.ohp-theme #ohpara-footer-wrap,
body.ohp-theme.ohp-is-cart #page-header-wrap,
body.ohp-theme.ohp-is-checkout #page-header-wrap {
	display: none !important;
}
body.ohp-theme #ajax-content-wrap { padding-top: 0 !important; }
body.ohp-theme { background: var(--ohp-white); color: var(--ohp-ink); font-family: var(--ohp-sans); -webkit-font-smoothing: antialiased; }
body.ohp-theme .container-wrap { background: var(--ohp-white); }
body.ohp-theme.ohp-is-cart .container-wrap,
body.ohp-theme.ohp-is-checkout .container-wrap { padding-top: 24px; }

/* ---------- Base commune ---------- */
.ohp, .ohp-header, .ohp-footer, .ohp-drawer { font-family: var(--ohp-sans); color: var(--ohp-ink); font-size: 16px; line-height: 1.55; }
.ohp *, .ohp-header *, .ohp-footer *, .ohp-drawer * { box-sizing: border-box; }
.ohp h1, .ohp h2, .ohp h3, .ohp p, .ohp ul, .ohp ol, .ohp figure,
.ohp-header p, .ohp-header ul, .ohp-footer h2, .ohp-footer p, .ohp-footer ul, .ohp-drawer ul {
	margin: 0; padding: 0; letter-spacing: normal; text-transform: none; font-weight: inherit;
}
.ohp ul, .ohp ol, .ohp-header ul, .ohp-footer ul, .ohp-drawer ul { list-style: none; }
.ohp li, .ohp-header li, .ohp-footer li, .ohp-drawer li { margin: 0; padding: 0; }
.ohp a, .ohp-header a, .ohp-footer a, .ohp-drawer a { color: inherit; text-decoration: none; }
.ohp img, .ohp-header img, .ohp-footer img { max-width: 100%; height: auto; }
.ohp-icon { flex: none; vertical-align: middle; }
.ohp-sr, .ohp .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ohp-wrap { width: 100%; max-width: var(--ohp-wrap); margin-left: auto; margin-right: auto; padding-left: var(--ohp-gutter); padding-right: var(--ohp-gutter); }
.ohp :focus-visible, .ohp-header :focus-visible, .ohp-footer :focus-visible, .ohp-drawer :focus-visible { outline: 2px solid var(--ohp-green); outline-offset: 2px; }
.ohp-skip { position: absolute; left: 12px; top: -60px; z-index: 10001; padding: 10px 16px; border-radius: 999px; background: var(--ohp-ink); color: #fff; font: 600 14px var(--ohp-sans); }
.ohp-skip:focus { top: 12px; color: #fff; }

/* Typographie */
.ohp-display, body .ohp h1.ohp-display, body .ohp h2.ohp-display, body .ohp p.ohp-display {
	font-family: var(--ohp-serif) !important; font-weight: 400 !important; letter-spacing: -0.01em; line-height: 1; color: inherit; text-wrap: balance;
	font-size: clamp(44px, 5.4vw, 76px);
}
.ohp-display em { font-style: italic; color: var(--ohp-green); }
.ohp-display--xl { font-size: clamp(52px, 6.6vw, 92px); line-height: 0.94; }
.ohp-display--l { font-size: clamp(38px, 4.2vw, 58px); }
.ohp-display--m { font-size: clamp(32px, 3.6vw, 52px); }
.ohp-display--s { font-size: 26px; line-height: 1.05; }
.ohp-h2, body .ohp h2.ohp-h2 { font-family: var(--ohp-serif) !important; font-weight: 400 !important; font-size: clamp(34px, 3.4vw, 48px); line-height: 1.05; color: var(--ohp-ink); letter-spacing: normal; }
.ohp-eyebrow { font-size: 13px; font-weight: 600; letter-spacing: 0.14em !important; text-transform: uppercase !important; color: var(--ohp-green); }
.ohp-eyebrow--warm { color: var(--ohp-warm); }
.ohp-eyebrow--mint { color: #9FD4C8; }
.ohp-lead { font-size: clamp(17px, 1.4vw, 19px); line-height: 1.6; color: var(--ohp-ink-2); max-width: 48ch; }
.ohp-sub { margin-top: 8px !important; color: var(--ohp-ink-2); }
.ohp-link { font-weight: 600; font-size: 15px; color: var(--ohp-green) !important; white-space: nowrap; }
.ohp-link:hover { color: var(--ohp-green-d) !important; text-decoration: underline !important; }

/* Boutons */
.ohp-btn, body .ohp a.ohp-btn, body .ohp button.ohp-btn, body .ohp a.button.ohp-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	height: 54px; padding: 0 26px; border-radius: 999px !important; border: 1.5px solid transparent;
	font: 600 16px/1 var(--ohp-sans) !important; letter-spacing: normal !important; text-transform: none !important;
	cursor: pointer; transition: background .15s, color .15s, border-color .15s; white-space: nowrap; box-shadow: none !important;
}
.ohp-btn--dark, body .ohp .ohp-btn--dark { background: var(--ohp-ink) !important; color: #fff !important; }
.ohp-btn--dark:hover, body .ohp .ohp-btn--dark:hover { background: var(--ohp-green-d) !important; color: #fff !important; }
.ohp-btn--line, body .ohp .ohp-btn--line { background: #fff !important; color: var(--ohp-ink) !important; border-color: var(--ohp-ink) !important; }
.ohp-btn--line:hover { background: var(--ohp-mist) !important; }
.ohp-btn--light, body .ohp .ohp-btn--light { background: #fff !important; color: var(--ohp-ink) !important; }
.ohp-btn--ghost-light, body .ohp .ohp-btn--ghost-light { background: transparent !important; color: #fff !important; border-color: #fff !important; }
.ohp-btn--sm, body .ohp .ohp-btn--sm { height: 44px; padding: 0 18px; font-size: 14px !important; }
.ohp-btn--block, body .ohp .ohp-btn--block { display: flex; width: 100%; height: 48px; font-size: 15px !important; }
.ohp-btnrow { display: flex; flex-wrap: wrap; gap: 12px; }
.ohp-iconbtn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: 999px; background: transparent; color: var(--ohp-ink); cursor: pointer; padding: 0; }
.ohp-iconbtn:hover { background: var(--ohp-mist); }

/* Pastilles */
.ohp-chip { display: inline-flex; align-items: center; padding: 5px 10px; border-radius: 999px; background: #fff; font-size: 12px; font-weight: 700; line-height: 1.2; color: var(--ohp-green); }
.ohp-chip--warm { color: var(--ohp-warm); }
.ohp-chip--dark { background: var(--ohp-ink); color: #fff; font-weight: 600; }
.ohp-chip--muted { background: #fff; color: var(--ohp-muted); font-weight: 600; }

/* ---------- En-tête ---------- */
.ohp-header { position: fixed; top: var(--wp-admin--admin-bar--height, 0px); left: 0; right: 0; z-index: 9990; background: #fff; border-bottom: 1px solid var(--ohp-line); }
.ohp-header-spacer { height: var(--ohp-header-h); }
.ohp-topbar { background: var(--ohp-ink); color: #E4ECE8; font-size: 13px; }
.ohp-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 38px; }
.ohp-topbar__msg { display: flex; gap: 14px; white-space: nowrap; overflow: hidden; }
.ohp-topbar__sep { color: #9FB3AA; }
.ohp-topbar__phone { color: #fff !important; font-weight: 600; }
.ohp-header__main { display: flex; align-items: center; gap: 32px; height: 84px; }
.ohp-menu-toggle { display: none; }
.ohp-logo { display: flex; align-items: center; flex: none; }
.ohp-logo img { height: 52px; width: auto; display: block; }
.ohp-search { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 10px; height: 50px; padding: 0 6px 0 18px; border-radius: 999px; background: var(--ohp-mist); border: 1px solid var(--ohp-line); color: var(--ohp-ink-2); margin: 0; }
.ohp-search:focus-within { border-color: var(--ohp-green); background: #fff; }
body .ohp-search input[type="search"] { flex: 1; min-width: 0; height: 46px; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; font: 400 16px var(--ohp-sans) !important; color: var(--ohp-ink) !important; outline: none; }
body .ohp-search .ohp-search__btn { height: 38px; padding: 0 18px; border-radius: 999px; border: 0; background: var(--ohp-green); color: #fff; font: 600 14px var(--ohp-sans); cursor: pointer; }
.ohp-actions { display: flex; align-items: center; gap: 4px; flex: none; }
.ohp-action { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; min-width: 64px; padding: 6px; border-radius: 12px; font-size: 12px; font-weight: 500; color: var(--ohp-ink) !important; }
.ohp-action:hover { background: var(--ohp-mist); }
.ohp-cart-count { position: absolute; top: 0; right: 10px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--ohp-green); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }
.ohp-cart-count.is-empty { display: none; }
.ohp-nav__inner { display: flex; align-items: center; gap: 24px; height: 50px; }
.ohp-nav__list { display: flex; gap: 26px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.ohp-nav__list::-webkit-scrollbar { display: none; }
.ohp-nav__list a { display: block; padding: 13px 0; font-size: 15px; font-weight: 500; white-space: nowrap; color: var(--ohp-ink) !important; border-bottom: 2px solid transparent; }
.ohp-nav__list a:hover, .ohp-nav__list a[aria-current] { border-bottom-color: var(--ohp-green); }
.ohp-nav__deals { margin-left: auto; font-weight: 600; font-size: 15px; color: var(--ohp-green) !important; white-space: nowrap; }

@media (max-width: 1023px) {
	.ohp-hide-md { display: none; }
	.ohp-nav { display: none; }
	.ohp-menu-toggle { display: inline-flex; }
	.ohp-header__main { display: grid; grid-template-columns: 44px 1fr auto; grid-template-areas: "menu logo actions" "search search search"; gap: 8px 12px; height: auto; padding-top: 8px; padding-bottom: 10px; }
	.ohp-menu-toggle { grid-area: menu; }
	.ohp-logo { grid-area: logo; justify-content: center; }
	.ohp-logo img { height: 44px; }
	.ohp-actions { grid-area: actions; }
	.ohp-search { grid-area: search; height: 46px; }
	.ohp-search__btn { display: none; }
	.ohp-action { min-width: 44px; }
	.ohp-action__label { display: none; }
	.ohp-cart-count { right: 2px; }
	.ohp-topbar__inner { height: 34px; justify-content: center; }
}
@media (max-width: 639px) {
	.ohp-hide-sm { display: none; }
	.ohp-topbar__sep { display: none; }
}

/* Menu mobile */
.ohp-drawer { position: fixed; inset: 0; z-index: 9995; background: rgba(15, 38, 32, 0.45); }
.ohp-drawer[hidden] { display: none; }
.ohp-drawer__panel { position: absolute; top: 0; bottom: 0; left: 0; width: min(88vw, 380px); background: #fff; display: flex; flex-direction: column; overflow-y: auto; }
.ohp-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 12px 12px 12px 20px; border-bottom: 1px solid var(--ohp-line); }
.ohp-drawer__head img { height: 42px; width: auto; }
.ohp-drawer__list a { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--ohp-line); font-size: 17px; font-weight: 500; }
.ohp-drawer__list a.is-accent { color: var(--ohp-green); font-weight: 600; }
.ohp-drawer__foot { margin-top: auto; padding: 20px; display: flex; flex-direction: column; gap: 14px; background: var(--ohp-mist); }
.ohp-drawer__foot a { display: flex; align-items: center; gap: 10px; font-weight: 600; }
html.ohp-drawer-open, html.ohp-filters-open-state { overflow: hidden; }

/* ---------- Sections ---------- */
.ohp-section { padding-top: clamp(64px, 7vw, 96px); }
.ohp-section--last { padding-bottom: clamp(64px, 7vw, 96px); }
.ohp-section__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 28px; }

/* Accueil : grand bandeau */
.ohp-hero { display: flex; flex-wrap: wrap; gap: 32px; align-items: stretch; padding-top: 40px; }
.ohp-hero__text { flex: 1 1 480px; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 26px; padding: 24px 0; }
.ohp-hero__facts { display: flex; flex-wrap: wrap; gap: 28px; padding-top: 18px !important; border-top: 1px solid var(--ohp-line); }
.ohp-hero__facts li { display: flex; flex-direction: column; gap: 2px; font-size: 14px; color: var(--ohp-ink-2); }
.ohp-hero__facts strong { font-size: 15px; color: var(--ohp-ink); }
.ohp-hero__facts a { color: var(--ohp-ink-2) !important; }
.ohp-hero__media { flex: 1 1 520px; min-width: 0; min-height: 420px; max-height: 620px; border-radius: var(--ohp-r-l); overflow: hidden; background: var(--ohp-mint); }
.ohp-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 72% 50%; display: block; }
@media (max-width: 639px) {
	.ohp-hero { padding-top: 20px; flex-direction: column-reverse; gap: 8px; }
	.ohp-hero__media { min-height: 280px; flex-basis: auto; }
}

/* Accueil : mosaïque « par besoin » */
.ohp-bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 270px; gap: 16px; }
.ohp-tile { position: relative; display: block; border-radius: 24px; overflow: hidden; background: var(--ohp-mist); color: var(--ohp-ink) !important; isolation: isolate; }
.ohp-tile.is-tall { grid-row: span 2; }
.ohp-tile.is-wide { grid-column: span 2; }
.ohp-tile__photo { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; z-index: -2; transition: transform .5s ease; }
.ohp-tile:hover .ohp-tile__photo, .ohp-tile:hover .ohp-tile__pack { transform: scale(1.04); }
.ohp-tile__pack { position: absolute; right: -4%; bottom: -4%; height: 86% !important; width: 54% !important; max-width: none; object-fit: contain; object-position: 100% 100%; mix-blend-mode: multiply; z-index: -1; transition: transform .5s ease; }
.ohp-tile.is-wide .ohp-tile__pack { width: 30% !important; }
.ohp-tile.is-wide .ohp-tile__pack--0 { right: 28%; }
.ohp-tile.is-wide .ohp-tile__pack--1 { right: 2%; height: 84% !important; }
.ohp-tile__text { position: absolute; left: 24px; top: 22px; right: 48%; display: flex; flex-direction: column; gap: 6px; }
.ohp-tile.is-wide .ohp-tile__text { right: 52%; }
.ohp-tile__count { font-size: 13px; color: var(--ohp-ink-2); }
.ohp-tile__label { font-family: var(--ohp-serif); font-size: 32px; line-height: 1.02; }
.ohp-tile.is-tall .ohp-tile__label, .ohp-tile.is-wide .ohp-tile__label { font-size: 40px; }
.ohp-tile__go { position: absolute; left: 24px; bottom: 22px; display: inline-flex; align-items: center; gap: 8px; min-width: 44px; height: 44px; padding: 0 13px; border-radius: 999px; background: #fff; color: var(--ohp-ink); font-size: 15px; font-weight: 600; }
.ohp-tile.is-photo.is-dark { color: #fff !important; }
.ohp-tile.is-photo.is-dark::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(15,38,32,0) 40%, rgba(15,38,32,.72) 100%); }
.ohp-tile.is-photo.is-dark .ohp-tile__text { top: auto; bottom: 84px; right: 24px; }
.ohp-tile.is-photo.is-dark .ohp-tile__count { color: rgba(255,255,255,.9); }
.ohp-tile.is-photo.is-light::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(241,236,228,.95) 0%, rgba(241,236,228,0) 42%); }
.ohp-tile.is-photo .ohp-tile__text { right: 24px; }
@media (max-width: 1023px) {
	.ohp-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 220px; }
	.ohp-tile.is-wide { grid-column: span 2; }
	.ohp-tile__label { font-size: 26px; }
	.ohp-tile.is-tall .ohp-tile__label, .ohp-tile.is-wide .ohp-tile__label { font-size: 32px; }
}
@media (max-width: 639px) {
	.ohp-bento { gap: 10px; grid-auto-rows: 190px; }
	.ohp-tile__text { left: 16px; top: 16px; right: 16px; }
	.ohp-tile__pack { max-width: 62%; height: 70% !important; }
	.ohp-tile__go { left: 16px; bottom: 14px; }
	.ohp-tile__label { font-size: 22px; }
}

/* Bandeaux */
.ohp-band { display: flex; flex-wrap: wrap; border-radius: var(--ohp-r-l); overflow: hidden; }
.ohp-band--sand { background: var(--ohp-sand); }
.ohp-band__media { flex: 1 1 520px; min-width: 0; min-height: 420px; position: relative; }
.ohp-band__media img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; object-position: 60% 50%; }
.ohp-band__text { flex: 1 1 420px; min-width: 0; padding: clamp(32px, 5vw, 64px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 20px; }
.ohp-band__text p:not(.ohp-eyebrow) { color: #4F4436; font-size: 17px; max-width: 40ch; }
.ohp-band__text .ohp-display em { color: inherit; }
@media (max-width: 639px) { .ohp-band__media { min-height: 260px; } }

.ohp-brands { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid var(--ohp-line); border-left: 1px solid var(--ohp-line); }
.ohp-brands a { display: flex; align-items: center; justify-content: center; height: 108px; padding: 8px; text-align: center; border-right: 1px solid var(--ohp-line); border-bottom: 1px solid var(--ohp-line); font-size: 18px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; transition: background .15s; }
.ohp-brands a:hover { background: var(--ohp-mist); }
@media (max-width: 1023px) { .ohp-brands { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ohp-brands a { height: 84px; font-size: 15px; } }

.ohp-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px; padding: clamp(32px, 5vw, 56px) clamp(24px, 5vw, 64px); border-radius: var(--ohp-r-l); background: var(--ohp-ink); color: #fff; }
.ohp-cta > div:first-child { flex: 1 1 420px; display: flex; flex-direction: column; gap: 12px; }
.ohp-cta p { color: #C9D6D0; max-width: 52ch; font-size: 17px; }

/* ---------- Grilles et cartes produit ---------- */
body .ohp ul.products.ohp-grid { display: grid !important; gap: 36px 20px; margin: 0 !important; padding: 0 !important; width: auto !important; }
body .ohp ul.products.ohp-grid::before, body .ohp ul.products.ohp-grid::after { display: none !important; }
.ohp-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ohp-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ohp-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1199px) { .ohp-grid--5 { grid-template-columns: repeat(4, minmax(0, 1fr)); } .ohp-grid--5 > li:nth-child(5) { display: none !important; } }
@media (max-width: 1023px) { .ohp-grid--5, .ohp-grid--4, .ohp-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ohp-grid--5 > li:nth-child(5) { display: flex !important; } }
@media (max-width: 639px) { body .ohp ul.products.ohp-grid { gap: 28px 12px; } }

body .ohp ul.products li.ohp-card { display: flex; flex-direction: column; gap: 14px; width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; min-width: 0; background: none; box-shadow: none; text-align: left; }
.ohp-card__media { position: relative; display: block; aspect-ratio: 1 / 1.1; border-radius: 22px; overflow: hidden; background: var(--ohp-tint, var(--ohp-mist)); }
body .ohp .ohp-card__media img.ohp-card__img { position: absolute; inset: 11%; width: 78% !important; height: 78% !important; max-width: none; object-fit: contain; mix-blend-mode: multiply; margin: 0 !important; transition: transform .4s ease; }
.ohp-card:hover .ohp-card__img { transform: scale(1.04); }
.ohp-card__badges { position: absolute; top: 12px; left: 12px; right: 12px; display: flex; flex-wrap: wrap; gap: 6px; }
.ohp-card__body { display: flex; flex-direction: column; gap: 4px; }
.ohp-card__brand { font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ohp-ink-2); }
body .ohp h3.ohp-card__title { font-family: var(--ohp-sans) !important; font-size: 16px !important; font-weight: 500 !important; line-height: 1.35 !important; letter-spacing: normal !important; margin: 0 !important; color: var(--ohp-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ohp-card__title a:hover { color: var(--ohp-green) !important; }
.ohp-card__meta { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-top: 4px; }
.ohp-card__price { font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ohp-ink); }
.ohp-card__price del { color: var(--ohp-muted); font-weight: 500; font-size: 14px; margin-right: 6px; }
.ohp-card__price ins { text-decoration: none; }
.ohp-card__size { font-size: 14px; color: var(--ohp-muted); white-space: nowrap; }
.ohp-card__cta { margin-top: auto; }
body .ohp ul.products li.ohp-card .ohp-card__cta a.ohp-btn {
	display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px;
	width: 100%; height: 48px; margin: 0 !important; padding: 0 14px !important; line-height: 1 !important; float: none !important;
}
body .ohp ul.products li.ohp-card .ohp-card__cta a.ohp-btn span { display: inline; line-height: 1; }
.ohp-card__cta .added_to_cart { display: block; margin-top: 8px; text-align: center; font-size: 14px; font-weight: 600; color: var(--ohp-green) !important; }
.ohp-card__cta .ohp-btn.loading { opacity: .6; }
.ohp-card__cta .ohp-btn.added::after { display: none; }
@media (max-width: 639px) {
	body .ohp h3.ohp-card__title { font-size: 14px !important; }
	.ohp-card__price { font-size: 16px; }
	.ohp-card__size { display: none; }
	body .ohp .ohp-btn--block { height: 44px; font-size: 14px !important; gap: 6px; padding: 0 10px; }
	.ohp-card__badges .ohp-chip { font-size: 11px; padding: 4px 8px; }
}

/* Carte éditoriale glissée dans la grille */
body .ohp ul.products li.ohp-feature { grid-column: span 2; position: relative; min-height: 460px; border-radius: 22px; overflow: hidden; background: var(--ohp-ink); color: #fff; margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; }
.ohp-feature > img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; object-position: 75% 40%; }
.ohp-feature::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,38,32,.9) 0%, rgba(15,38,32,.55) 48%, rgba(15,38,32,0) 78%); }
.ohp-feature__text { position: absolute; z-index: 1; left: 36px; top: 36px; bottom: 36px; max-width: 54%; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; gap: 18px; }
.ohp-feature__text ul { display: flex; flex-direction: column; gap: 10px; font-size: 15px; color: #E4ECE8; }
.ohp-feature__text ul li::before { content: "— "; }
@media (max-width: 639px) {
	body .ohp ul.products li.ohp-feature { min-height: 380px; }
	.ohp-feature__text { left: 18px; top: 18px; bottom: 18px; max-width: 80%; }
}

/* ---------- Catégorie ---------- */
.ohp-plp { padding-top: 24px; }
.ohp-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--ohp-ink-2); }
.ohp-crumbs a { color: var(--ohp-ink-2) !important; }
.ohp-crumbs a:hover { color: var(--ohp-ink) !important; text-decoration: underline !important; }
.ohp-cathero { display: flex; flex-wrap: wrap; border-radius: 32px; overflow: hidden; background: var(--ohp-tint, var(--ohp-sand)); min-height: 400px; }
.ohp-cathero__text { flex: 1 1 480px; min-width: 0; padding: 36px clamp(24px, 4vw, 56px); display: flex; flex-direction: column; justify-content: space-between; gap: 28px; }
.ohp-cathero__titles { display: flex; flex-direction: column; gap: 14px; }
.ohp-cathero__titles .ohp-lead { color: #4F4436; }
.ohp-cathero__pills { display: flex; flex-wrap: wrap; gap: 10px; }
.ohp-cathero__pills li { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px; border-radius: 999px; background: rgba(255,255,255,.72); font-size: 14px; font-weight: 500; color: var(--ohp-ink); }
.ohp-cathero__pills .ohp-icon { color: var(--ohp-warm); }
.ohp-cathero__art { flex: 1 1 520px; min-width: 0; position: relative; min-height: 360px; overflow: hidden; }
.ohp-cathero__sun { position: absolute; left: 50%; top: 50%; width: 420px; height: 420px; margin: -230px 0 0 -210px; border-radius: 999px; background: rgba(255,255,255,.45); }
.ohp-cathero__sun::after { content: ""; position: absolute; inset: 80px; border-radius: 999px; background: rgba(255,255,255,.4); }
.ohp-cathero__pack { position: absolute; bottom: 7%; width: auto !important; object-fit: contain; mix-blend-mode: multiply; max-width: 34%; }
.ohp-cathero__pack--0 { left: 6%; height: 58% !important; transform: rotate(-6deg); }
.ohp-cathero__pack--1 { left: 28%; height: 74% !important; bottom: 5%; }
.ohp-cathero__pack--2 { right: 22%; height: 58% !important; }
.ohp-cathero__pack--3 { right: 2%; height: 64% !important; transform: rotate(5deg); bottom: 9%; }
@media (max-width: 1023px) { .ohp-cathero__art { min-height: 260px; } }
@media (max-width: 639px) { .ohp-cathero { border-radius: 24px; } .ohp-cathero__art { min-height: 220px; } .ohp-cathero__sun { width: 280px; height: 280px; margin: -150px 0 0 -140px; } }

.ohp-subcats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; margin-top: 32px !important; }
.ohp-subcats a { display: flex; flex-direction: column; gap: 10px; }
.ohp-subcats__img { position: relative; display: block; aspect-ratio: 1 / 1.05; border-radius: 22px; overflow: hidden; }
.ohp-subcats__img img { position: absolute; left: 14%; top: 10%; width: 72% !important; height: 88% !important; object-fit: contain; object-position: 50% 100%; mix-blend-mode: multiply; transition: transform .4s ease; }
.ohp-subcats a:hover img { transform: translateY(-4px); }
.ohp-subcats__name { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 16px; font-weight: 600; }
.ohp-subcats__name .ohp-icon { color: var(--ohp-green); }
@media (max-width: 1023px) { .ohp-subcats { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 639px) { .ohp-subcats { display: flex; overflow-x: auto; gap: 10px; margin-left: calc(-1 * var(--ohp-gutter)) !important; margin-right: calc(-1 * var(--ohp-gutter)) !important; padding: 0 var(--ohp-gutter) 4px !important; } .ohp-subcats li { flex: 0 0 132px; } .ohp-subcats__name { font-size: 14px; } }

.ohp-searchhead { padding-top: 16px; display: flex; flex-direction: column; gap: 10px; }
.ohp-plp__body { display: flex; align-items: flex-start; gap: 40px; padding-top: 44px; padding-bottom: 96px; }
.ohp-filters { flex: 0 0 280px; position: sticky; top: calc(var(--ohp-header-h) + 20px); padding: 4px 24px 8px; border-radius: 24px; background: var(--ohp-mist-2); }
.ohp-filters__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--ohp-line); }
body .ohp .ohp-filters__head h2 { font-family: var(--ohp-sans) !important; font-size: 18px !important; font-weight: 700 !important; }
.ohp-filters__head a { font-size: 14px; font-weight: 600; color: var(--ohp-green) !important; margin-left: auto; }
.ohp-filters__close { display: none; }
.ohp-filters__group { display: flex; flex-direction: column; gap: 12px; padding: 20px 0; border-bottom: 1px solid var(--ohp-line); margin: 0; }
.ohp-filters__group:last-child { border-bottom: 0; }
body .ohp .ohp-filters__group h3 { font-family: var(--ohp-sans) !important; font-size: 15px !important; font-weight: 700 !important; margin: 0 !important; }
.ohp-filters__cats a { display: flex; justify-content: space-between; gap: 8px; padding: 7px 0; font-size: 15px; }
.ohp-filters__cats a:hover, .ohp-filters__cats a[aria-current] { color: var(--ohp-green) !important; font-weight: 600; }
.ohp-filters__n { color: var(--ohp-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.ohp-filters__price { display: flex; align-items: center; gap: 8px; }
.ohp-filters__price label { flex: 1; }
body .ohp .ohp-filters__price input { width: 100%; height: 42px; padding: 0 12px !important; border-radius: 12px !important; border: 1px solid var(--ohp-line) !important; background: #fff !important; font: 400 15px var(--ohp-sans) !important; box-shadow: none !important; }
.ohp-switch { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 0; font-size: 15px; font-weight: 600; }
.ohp-switch__track { position: relative; flex: none; width: 44px; height: 26px; border-radius: 999px; background: var(--ohp-line-2); transition: background .15s; }
.ohp-switch__track::after { content: ""; position: absolute; left: 3px; top: 3px; width: 20px; height: 20px; border-radius: 999px; background: #fff; transition: transform .15s; }
.ohp-switch.is-on .ohp-switch__track { background: var(--ohp-green); }
.ohp-switch.is-on .ohp-switch__track::after { transform: translateX(18px); }
.ohp-plp__results { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.ohp-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
.ohp-toolbar__left { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 15px; }
.ohp-filters-open { display: none !important; }
.ohp-filterchip { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border-radius: 999px; background: var(--ohp-mint); color: var(--ohp-green-d) !important; font-size: 14px; font-weight: 500; }
.ohp-toolbar__right { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
@media (max-width: 600px) {
	.ohp-toolbar__right { flex-wrap: nowrap; width: 100%; }
	.ohp-toolbar__right .woocommerce-ordering { flex: 1 1 0; min-width: 0; }
	body .ohp .ohp-toolbar__right .woocommerce-ordering select,
	html body .ohp .ohp-toolbar__right .woocommerce-ordering .select2-container { width: 100% !important; }
}
body .ohp .woocommerce-ordering { margin: 0 !important; float: none !important; }
/* Salient remplace ces listes par select2 : même pastille que la liste native. */
html body .ohp .ohp-toolbar .woocommerce-ordering .select2-container { width: auto !important; }
html body .ohp .ohp-toolbar .woocommerce-ordering .select2-container .select2-selection--single { box-sizing: border-box !important; display: flex !important; align-items: center; height: 44px !important; padding: 0 38px 0 16px !important; border: 1px solid var(--ohp-line-2) !important; border-radius: 999px !important; background: #fff !important; }
html body .ohp .ohp-toolbar .woocommerce-ordering .select2-container .select2-selection__rendered { padding: 0 !important; line-height: 1.2 !important; font: 600 14px var(--ohp-sans) !important; color: var(--ohp-ink) !important; }
html body .ohp .ohp-toolbar .woocommerce-ordering .select2-container .select2-selection__arrow { top: 50% !important; right: 14px !important; transform: translateY(-50%); height: 20px !important; }
body .ohp .woocommerce-ordering select { height: 44px; padding: 0 40px 0 16px !important; border-radius: 999px !important; border: 1px solid var(--ohp-line-2) !important; background-color: #fff !important; font: 600 14px var(--ohp-sans) !important; color: var(--ohp-ink) !important; box-shadow: none !important; }
body .ohp .woocommerce-pagination { margin-top: 40px; text-align: center; }
body .ohp .woocommerce-pagination ul.page-numbers { display: inline-flex !important; flex-wrap: wrap; justify-content: center; max-width: 100%; gap: 6px; border: 0 !important; }
body .ohp .woocommerce-pagination ul.page-numbers li { border: 0 !important; float: none !important; }
body .ohp .woocommerce-pagination .page-numbers a, body .ohp .woocommerce-pagination .page-numbers span { display: inline-flex !important; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 10px !important; border-radius: 999px; border: 1px solid var(--ohp-line-2) !important; font-weight: 600; font-size: 15px; color: var(--ohp-ink) !important; background: #fff !important; }
body .ohp .woocommerce-pagination .page-numbers .current { background: var(--ohp-ink) !important; color: #fff !important; border-color: var(--ohp-ink) !important; }
.ohp-empty { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 48px; border-radius: 24px; background: var(--ohp-mist); }

@media (max-width: 1023px) {
	.ohp-plp__body { padding-top: 28px; }
	.ohp-filters-open { display: inline-flex !important; }
	.ohp-filters { display: none; position: fixed; inset: 0 0 0 auto; top: 0; z-index: 9996; width: min(92vw, 380px); border-radius: 0; overflow-y: auto; background: #fff; box-shadow: -20px 0 60px rgba(15,38,32,.18); }
	html.ohp-filters-open-state .ohp-filters { display: block; }
	.ohp-filters__close { display: inline-flex; }
}

/* ---------- Fiche produit ---------- */
.ohp-pdp { padding-top: 24px; }
.ohp-pdp__top { display: flex; flex-wrap: wrap; gap: clamp(28px, 4vw, 56px); align-items: flex-start; margin-top: 24px; }
.ohp-gallery { flex: 1 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 12px; position: sticky; top: calc(var(--ohp-header-h) + 20px); }
.ohp-gallery__main { position: relative; aspect-ratio: 1.15 / 1; border-radius: 30px; overflow: hidden; background: var(--ohp-tint, var(--ohp-mist)); }
.ohp-gallery__sun { position: absolute; left: 50%; top: 52%; width: 62%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 999px; background: var(--ohp-sun); }
body .ohp img.ohp-gallery__img { position: absolute; left: 18%; top: 8%; width: 64% !important; height: 84% !important; max-width: none; object-fit: contain; mix-blend-mode: multiply; }
.ohp-gallery__main .ohp-card__badges { top: 20px; left: 20px; }
.ohp-gallery__thumbs { display: flex; gap: 10px; flex-wrap: wrap; }
.ohp-gallery__thumb { width: 84px; height: 84px; padding: 6px; border-radius: 16px; border: 2px solid transparent; background: var(--ohp-mist); cursor: pointer; }
.ohp-gallery__thumb.is-active { border-color: var(--ohp-ink); }
.ohp-gallery__thumb img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.ohp-buy { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.ohp-buy__brand { display: flex; align-items: center; gap: 14px; align-self: flex-start; }
.ohp-buy__mark { display: flex; align-items: center; justify-content: center; min-width: 52px; height: 52px; padding: 0 10px; border-radius: 999px; background: var(--ohp-mist); font-size: 11px; font-weight: 700; letter-spacing: 0.06em; }
.ohp-buy__brand strong { display: block; font-size: 15px; }
.ohp-buy__brand small { display: block; font-size: 13px; color: var(--ohp-green); font-weight: 500; }
.ohp-buy__pricerow { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 14px; padding: 18px 0; border-top: 1px solid var(--ohp-line); border-bottom: 1px solid var(--ohp-line); }
.ohp-buy__price { font-size: 34px; font-weight: 700; font-variant-numeric: tabular-nums; }
.ohp-buy__price del { font-size: 20px; color: var(--ohp-muted); font-weight: 500; }
.ohp-buy__price ins { text-decoration: none; }
.ohp-buy__unit { font-size: 15px; color: var(--ohp-muted); }
.ohp-stock { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; }
.ohp-stock::before { content: ""; width: 9px; height: 9px; border-radius: 999px; background: currentColor; }
.ohp-stock.is-in { color: #1F7D5A; }
.ohp-stock.is-out { color: #A1442F; }
body .ohp .ohp-buy__form form.cart { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 !important; }
body .ohp .ohp-buy__form .stock { display: none; }
body .ohp .ohp-buy__form .quantity { display: flex !important; align-items: center; height: 58px; border: 1px solid var(--ohp-line-2); border-radius: 999px; margin: 0 !important; float: none !important; }
body .ohp .ohp-buy__form .quantity input.qty { width: 44px !important; height: 56px !important; border: 0 !important; background: transparent !important; text-align: center; font: 600 17px var(--ohp-sans) !important; color: var(--ohp-ink) !important; box-shadow: none !important; padding: 0 !important; -moz-appearance: textfield; }
body .ohp .ohp-buy__form .quantity input.qty::-webkit-inner-spin-button, body .ohp .ohp-buy__form .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ohp-qty,
html body .ohp .ohp-buy__form .quantity input.minus,
html body .ohp .ohp-buy__form .quantity input.plus {
	width: 48px !important; height: 56px !important; border: 0 !important; border-radius: 999px !important; background: transparent !important;
	font: 400 22px var(--ohp-sans) !important; color: var(--ohp-ink) !important; cursor: pointer; padding: 0 !important; margin: 0 !important; box-shadow: none !important; float: none !important;
}
html body .ohp .ohp-buy__form .quantity input.minus:hover,
html body .ohp .ohp-buy__form .quantity input.plus:hover { background: var(--ohp-mist) !important; }

/* Salient : listes, accent et majuscules forcées sur nos éléments */
html body .ohp-header li, html body .ohp-footer li, html body .ohp-drawer li, html body .ohp li { list-style: none !important; }
html body .ohp-header li::before, html body .ohp-header li::after, html body .ohp-footer li::before, html body .ohp-footer li::after { content: none !important; }
html body .ohp-search button.ohp-search__btn { background: var(--ohp-green) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; text-transform: none !important; letter-spacing: normal !important; }
html body .ohp-search button.ohp-search__btn:hover { background: var(--ohp-green-d) !important; }
html body .ohp .ohp-display em, html body .ohp .ohp-display i { font-family: var(--ohp-serif) !important; font-style: italic !important; font-weight: 400 !important; }
html body .ohp .ohp-buy__form form.cart button.single_add_to_cart_button.button,
html body .ohp a.button, html body .ohp button.button, html body .ohp .ohp-btn { text-transform: none !important; letter-spacing: normal !important; }
body .ohp .ohp-buy__form button.single_add_to_cart_button { flex: 1 1 220px; height: 58px !important; padding: 0 24px !important; border-radius: 999px !important; border: 0 !important; background: var(--ohp-ink) !important; color: #fff !important; font: 600 16px var(--ohp-sans) !important; letter-spacing: normal !important; text-transform: none !important; float: none !important; margin: 0 !important; box-shadow: none !important; }
body .ohp .ohp-buy__form button.single_add_to_cart_button:hover { background: var(--ohp-green-d) !important; }
.ohp-reassure { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; font-size: 13px; line-height: 1.35; color: var(--ohp-ink-2); }
.ohp-reassure li { display: flex; flex-direction: column; gap: 4px; }
.ohp-reassure strong { font-size: 14px; color: var(--ohp-ink); }
.ohp-accordion { border-top: 1px solid var(--ohp-line); }
.ohp-accordion details { border-bottom: 1px solid var(--ohp-line); }
.ohp-accordion summary { display: flex; justify-content: space-between; align-items: center; padding: 20px 0; cursor: pointer; font-size: 17px; font-weight: 600; list-style: none; }
.ohp-accordion summary::-webkit-details-marker { display: none; }
.ohp-accordion summary::after { content: "+"; font-size: 22px; font-weight: 400; }
.ohp-accordion details[open] summary::after { content: "−"; }
.ohp-accordion__body { padding: 0 0 20px; color: var(--ohp-ink-2); font-size: 16px; line-height: 1.7; display: flex; flex-direction: column; gap: 10px; }
@media (max-width: 1023px) { .ohp-gallery { position: static; } }
@media (max-width: 639px) {
	.ohp-reassure { grid-template-columns: 1fr; }
	.ohp-gallery__main { border-radius: 22px; }
	.ohp-buy__price { font-size: 28px; }
	.ohp-stock { margin-left: 0; }
}

/* ---------- Barre « livraison offerte » ---------- */
.ohp-ship { display: flex; align-items: center; gap: 16px; padding: 16px 18px; border-radius: 20px; background: var(--ohp-mint); color: var(--ohp-green-d); font-size: 15px; transition: background .2s; }
.ohp-ship.is-free { background: #D5EEE4; }
.ohp-ship__icon { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; flex: none; border-radius: 999px; background: #fff; color: var(--ohp-green); }
.ohp-ship__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.ohp-ship__bar { display: block; height: 6px; border-radius: 6px; background: var(--ohp-mint-2); overflow: hidden; }
.ohp-ship__bar > span { display: block; height: 100%; border-radius: 6px; background: var(--ohp-green); transition: width .3s ease; }

/* ---------- Panier et commande (blocs WooCommerce) ---------- */
.ohp-cartpage, .ohp-checkoutpage { max-width: var(--ohp-wrap); margin: 0 auto; display: flex; flex-direction: column; gap: 24px; padding-bottom: 72px; }
.ohp-flowhead { display: flex; flex-direction: column; gap: 18px; }
.ohp-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; max-width: 560px; font-size: 13px; font-weight: 600; color: #8A9993; }
.ohp-steps li { display: flex; flex-direction: column; gap: 8px; }
.ohp-steps li::before { content: ""; height: 4px; border-radius: 4px; background: #DCE3DD; }
.ohp-steps li.is-done { color: var(--ohp-green); }
.ohp-steps li.is-done::before { background: var(--ohp-green); }
.ohp-steps li.is-current { color: var(--ohp-ink); }
.ohp-steps li.is-current::before { background: var(--ohp-ink); }
.ohp-help { position: relative; display: block; height: 180px; border-radius: 22px; overflow: hidden; background: var(--ohp-ink); color: #fff !important; }
.ohp-help img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; object-position: 78% 35%; }
.ohp-help::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,38,32,.92) 0%, rgba(15,38,32,.6) 50%, rgba(15,38,32,.05) 100%); }
.ohp-help__text { position: absolute; z-index: 1; left: 24px; top: 22px; bottom: 22px; max-width: 60%; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; }

/* Composants des blocs */
body.ohp-theme .wc-block-cart, body.ohp-theme .wc-block-checkout { font-family: var(--ohp-sans); color: var(--ohp-ink); }
body.ohp-theme .wc-block-components-sidebar-layout { margin: 0 !important; }
body.ohp-theme .wc-block-components-main { padding-right: 32px !important; }
body.ohp-theme .wc-block-components-sidebar { padding-left: 0 !important; }
body.ohp-theme .wc-block-cart .wc-block-components-sidebar,
body.ohp-theme .wc-block-checkout__sidebar { background: var(--ohp-mist-2); border-radius: 24px; padding: 24px !important; align-self: flex-start; position: sticky; top: calc(var(--ohp-header-h) + 20px); }
body.ohp-theme .wc-block-cart-items { border: 0 !important; }
body.ohp-theme .wc-block-cart-items th { font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ohp-ink-2); font-weight: 600; }
body.ohp-theme .wc-block-cart-items .wc-block-cart-items__row { border-top: 1px solid var(--ohp-line) !important; }
body.ohp-theme .wc-block-cart-item__image img,
body.ohp-theme .wc-block-components-order-summary-item__image img { border-radius: 16px; background: var(--ohp-mist); mix-blend-mode: multiply; padding: 6px; }
body.ohp-theme .wc-block-cart-item__image a { display: block; border-radius: 16px; background: var(--ohp-mist); }
body.ohp-theme .wc-block-components-product-metadata__description { display: none; }
body.ohp-theme .wc-block-components-product-name { font-size: 16px !important; font-weight: 500 !important; color: var(--ohp-ink) !important; text-decoration: none !important; }
body.ohp-theme .wc-block-components-product-price, body.ohp-theme .wc-block-components-totals-item__value { font-weight: 700; font-variant-numeric: tabular-nums; }
body.ohp-theme .wc-block-components-quantity-selector { border-radius: 999px !important; border: 0 !important; background: var(--ohp-mist) !important; overflow: hidden; }
body.ohp-theme .wc-block-components-quantity-selector::after { border: 0 !important; }
body.ohp-theme .wc-block-components-quantity-selector input { background: transparent !important; font-weight: 700 !important; }
body.ohp-theme .wc-block-components-quantity-selector button { min-width: 40px; color: var(--ohp-ink) !important; }
body.ohp-theme .wc-block-cart-item__remove-link { color: var(--ohp-muted) !important; font-size: 13px !important; }
body.ohp-theme .wc-block-components-totals-wrapper { border-color: var(--ohp-line) !important; }
body.ohp-theme .wc-block-components-totals-footer-item { font-size: 19px !important; }
body.ohp-theme .wc-block-components-button:not(.is-link),
body.ohp-theme .wc-block-cart__submit-button,
body.ohp-theme .wc-block-components-checkout-place-order-button {
	min-height: 58px; border-radius: 999px !important; background: var(--ohp-ink) !important; color: #fff !important; border: 0 !important;
	font: 600 17px var(--ohp-sans) !important; letter-spacing: normal !important; text-transform: none !important; box-shadow: none !important;
}
body.ohp-theme .wc-block-components-button:not(.is-link):hover { background: var(--ohp-green-d) !important; }
body.ohp-theme .wc-block-components-text-input input,
body.ohp-theme .wc-block-components-combobox .components-combobox-control input,
body.ohp-theme .wc-block-components-select select,
body.ohp-theme .wc-blocks-components-select__select,
body.ohp-theme .wc-block-components-textarea {
	border-radius: 14px !important; border: 1px solid #C9D3CD !important; background: #fff !important; font-family: var(--ohp-sans) !important; box-shadow: none !important; color: var(--ohp-ink) !important;
}
body.ohp-theme .wc-block-components-text-input.is-active input,
body.ohp-theme .wc-block-components-text-input input:focus { border-color: var(--ohp-green) !important; box-shadow: 0 0 0 4px var(--ohp-mint) !important; }
body.ohp-theme .wc-block-components-checkout-step { background: #fff; border: 1px solid var(--ohp-line); border-radius: 22px; padding: 22px 22px 6px !important; margin-bottom: 16px !important; }
body.ohp-theme .wc-block-components-checkout-step::after { display: none !important; }
body.ohp-theme .wc-block-components-checkout-step__title { font-family: var(--ohp-sans) !important; font-size: 17px !important; font-weight: 700 !important; }
body.ohp-theme .wc-block-components-checkout-step__heading-container { margin-bottom: 14px; }
body.ohp-theme .wc-block-components-radio-control__option,
body.ohp-theme .wc-block-components-radio-control-accordion-option {
	border-radius: 16px !important; border: 1px solid var(--ohp-line-2) !important; margin-bottom: 10px !important; box-shadow: none !important;
}
body.ohp-theme .wc-block-components-radio-control__option-checked,
body.ohp-theme .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.ohp-theme .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted { border: 2px solid var(--ohp-green) !important; background: #F2F9F6 !important; }
body.ohp-theme .wc-block-components-radio-control__input:checked { border-color: var(--ohp-green) !important; }
body.ohp-theme .wc-block-components-radio-control__input:checked::before { background: var(--ohp-green) !important; }
body.ohp-theme .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--ohp-green) !important; border-color: var(--ohp-green) !important; }
body.ohp-theme .wc-block-components-panel__button, body.ohp-theme .wc-block-components-totals-coupon-link { color: var(--ohp-green) !important; font-weight: 600 !important; }
body.ohp-theme .wc-block-cart__empty-cart__title { font-family: var(--ohp-serif) !important; font-weight: 400 !important; font-size: 40px !important; }
body.ohp-theme .wp-block-woocommerce-empty-cart-block .wp-block-separator { display: none; }
@media (max-width: 781px) {
	body.ohp-theme .wc-block-components-main { padding-right: 0 !important; }
	body.ohp-theme .wc-block-cart .wc-block-components-sidebar, body.ohp-theme .wc-block-checkout__sidebar { position: static; padding: 18px !important; }
	.ohp-help__text { max-width: 80%; left: 18px; }
}

/* Notices WooCommerce */
body.ohp-theme .woocommerce-message, body.ohp-theme .woocommerce-info, body.ohp-theme .woocommerce-error {
	border: 0 !important; border-radius: 16px !important; background: var(--ohp-mint) !important; color: var(--ohp-green-d) !important; font-family: var(--ohp-sans); padding: 16px 20px !important; margin: 0 0 20px !important;
}
body.ohp-theme .woocommerce-error { background: #FBEAE7 !important; color: #8C2F22 !important; }
body.ohp-theme .woocommerce-message .button, body.ohp-theme .woocommerce-info .button { border-radius: 999px !important; background: var(--ohp-ink) !important; color: #fff !important; }

/* Mon compte */
body.ohp-theme.ohp-is-account .woocommerce { font-family: var(--ohp-sans); }
body.ohp-theme.ohp-is-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 12px; border-radius: 20px; background: var(--ohp-mist-2); }
body.ohp-theme.ohp-is-account .woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: 12px; color: var(--ohp-ink); font-weight: 500; }
body.ohp-theme.ohp-is-account .woocommerce-MyAccount-navigation .is-active a { background: #fff; font-weight: 700; }
body.ohp-theme.ohp-is-account .woocommerce .button, body.ohp-theme.ohp-is-account button.button { border-radius: 999px !important; background: var(--ohp-ink) !important; color: #fff !important; text-transform: none !important; letter-spacing: normal !important; }
body.ohp-theme.ohp-is-account .woocommerce input.input-text { border-radius: 14px !important; border: 1px solid #C9D3CD !important; }

/* ---------- Pied de page ---------- */
.ohp-footer { background: var(--ohp-mist); border-top: 1px solid var(--ohp-line); padding-top: 64px; }
.ohp-footer__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 40px; }
.ohp-footer__brand { display: flex; flex-direction: column; gap: 18px; }
.ohp-footer__brand img { height: 56px; width: auto; align-self: flex-start; }
.ohp-footer__brand p { color: var(--ohp-ink-2); font-size: 15px; max-width: 34ch; }
.ohp-footer__social { display: flex; gap: 10px; flex-wrap: wrap; }
.ohp-footer__social a { display: inline-flex; height: 38px; align-items: center; padding: 0 14px; border-radius: 999px; background: #fff; font-size: 14px; font-weight: 600; }
.ohp-footer__col { display: flex; flex-direction: column; gap: 12px; font-size: 15px; }
body .ohp-footer h2 { font-family: var(--ohp-sans) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; color: var(--ohp-ink-2) !important; margin: 0 0 4px !important; line-height: 1.4 !important; }
.ohp-footer__col ul { display: flex; flex-direction: column; gap: 12px; }
.ohp-footer__col a:hover { color: var(--ohp-green) !important; }
.ohp-footer__phone { font-family: var(--ohp-serif); font-size: 30px; line-height: 1.1; }
.ohp-footer__contact p { color: var(--ohp-ink-2); }
.ohp-footer__bottom { margin-top: 48px; padding-top: 22px; padding-bottom: 22px; border-top: 1px solid #DCE3DD; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--ohp-ink-2); }
@media (max-width: 1023px) { .ohp-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 639px) { .ohp-footer { padding-top: 44px; } .ohp-footer__grid { grid-template-columns: 1fr; gap: 32px; } }

@media (prefers-reduced-motion: reduce) {
	.ohp *, .ohp-header *, .ohp-drawer * { transition: none !important; }
}
