/* ============================================
   CSS spécifique aux pages individuelles
   (extraits du 2e <style> de chaque HTML du zip)
   coming-soon.html / maintenance.html exclus
   car ils contiennent des règles 'body' globales
   qui cassent les autres pages.
   ============================================ */


/* ===== 404.html (lines 2271-2289 = 19) ===== */

.err-page { min-height: 70vh; display: flex; align-items: center; justify-content: center; padding: 64px 24px; text-align: center; }
.err-inner { max-width: 580px; }
.err-num { font-family: var(--font-display); font-size: clamp(120px, 18vw, 200px); letter-spacing: -0.05em; line-height: 0.9; color: var(--rose); font-style: italic; }
.err-num em { font-style: italic; }
.err-tag { font-family: var(--font-hand); font-size: 28px; color: var(--rose-deep); transform: rotate(-2deg); display: inline-block; margin-bottom: 12px; }
.err-title { font-family: var(--font-display); font-size: 32px; font-weight: 500; letter-spacing: -0.022em; margin: 0 0 14px; }
.err-title em { font-style: italic; color: var(--rose-deep); }
.err-text { font-size: 14.5px; color: var(--ink-soft); line-height: 1.65; margin: 0 0 28px; }
.err-search { display: flex; max-width: 460px; margin: 0 auto 22px; background: #fff; border: 1.5px solid var(--rose-soft); border-radius: 99px; padding: 4px 4px 4px 18px; }
.err-search input { flex: 1; border: none; background: none; outline: none; padding: 10px 0; font: inherit; font-size: 14px; }
.err-search button { background: var(--rose); color: #fff; border: none; border-radius: 99px; padding: 10px 18px; font: inherit; font-size: 13px; font-weight: 500; cursor: pointer; }
.err-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.err-actions a { display: inline-flex; align-items: center; gap: 8px; padding: 11px 22px; border-radius: 99px; font-size: 13.5px; font-weight: 500; text-decoration: none; transition: all 0.2s; }
.err-action-primary { background: var(--ink); color: #fff; }
.err-action-primary:hover { background: var(--rose); }
.err-action-ghost { background: transparent; color: var(--ink); border: 1.5px solid var(--rose-soft); }
.err-action-ghost:hover { border-color: var(--rose); color: var(--rose-deep); }


/* ===== archive.html (lines 2271-2302 = 32) ===== */

.bp-hero { padding: 48px 24px 24px; text-align: center; max-width: 720px; margin: 0 auto; }
.bp-hero .tag { font-family: var(--font-hand); font-size: 26px; color: var(--rose-deep); transform: rotate(-1.5deg); display: inline-block; margin-bottom: 4px; }
.bp-hero h1 { font-family: var(--font-display); font-size: 38px; font-weight: 500; letter-spacing: -0.025em; margin: 0 0 12px; }
.bp-hero h1 em { font-style: italic; color: var(--rose-deep); }
.bp-hero p { font-size: 14.5px; color: var(--ink-soft); margin: 0 0 22px; line-height: 1.6; }
.bp-cats { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.bp-cat { padding: 6px 14px; border: 1.5px solid var(--rose-soft); border-radius: 99px; font-size: 12.5px; color: var(--ink-soft); cursor: pointer; transition: all 0.2s; text-decoration: none; }
.bp-cat:hover { border-color: var(--rose); color: var(--rose-deep); }
.bp-cat.active { background: var(--rose); color: #fff; border-color: var(--rose); }
.bp-layout { max-width: var(--maxw, 1320px); margin: 0 auto; padding: 24px var(--gutter, 24px) 64px; }
.bp-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; background: var(--rose-mist); border-radius: 22px; padding: 32px; margin-bottom: 32px; }
.bp-feature-img { aspect-ratio: 4/3; border-radius: 16px; background-size: cover; background-position: center; box-shadow: 0 20px 40px -20px rgba(129,194,184,0.4); }
.bp-feature .badge { font-family: var(--font-hand); font-size: 22px; color: var(--rose-deep); transform: rotate(-2deg); display: inline-block; }
.bp-feature h2 { font-family: var(--font-display); font-size: 28px; font-weight: 500; letter-spacing: -0.022em; line-height: 1.1; margin: 6px 0 12px; }
.bp-feature h2 em { font-style: italic; color: var(--rose-deep); }
.bp-feature .meta { display: flex; gap: 14px; font-size: 12px; color: var(--ink-soft); margin-bottom: 10px; }
.bp-feature .meta span { display: inline-flex; align-items: center; gap: 4px; }
.bp-feature p { font-size: 14.5px; color: var(--ink-soft); line-height: 1.6; margin: 0 0 16px; }
.bp-feature .read { display: inline-flex; align-items: center; gap: 6px; color: var(--rose-deep); font-weight: 500; font-size: 13.5px; text-decoration: none; border-bottom: 1.5px solid var(--rose-deep); padding-bottom: 2px; }
.bp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.bp-card { display: flex; flex-direction: column; cursor: pointer; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); text-decoration: none; color: inherit; }
.bp-card:hover { transform: translateY(-4px); }
.bp-card-img { aspect-ratio: 4/3; border-radius: 14px; background-size: cover; background-position: center; background-color: var(--rose-mist); margin-bottom: 14px; }
.bp-card-cat { font-family: var(--font-hand); font-size: 16px; color: var(--rose-deep); margin-bottom: 2px; }
.bp-card h3 { font-family: var(--font-display); font-size: 18px; font-weight: 500; letter-spacing: -0.012em; line-height: 1.25; margin: 0 0 8px; }
.bp-card .meta { display: flex; gap: 12px; font-size: 11.5px; color: var(--ink-mute); margin-bottom: 8px; }
.bp-card p { font-size: 13.5px; color: var(--ink-soft); line-height: 1.55; margin: 0; }
.bp-pagination { display: flex; justify-content: center; gap: 6px; margin-top: 48px; }
.bp-pagination button { width: 36px; height: 36px; border-radius: 99px; background: #fff; border: 1px solid var(--rose-soft); cursor: pointer; font: inherit; font-size: 13px; }
.bp-pagination button.active { background: var(--rose); color: #fff; border-color: var(--rose); }


/* ===== author.html (lines 2271-2282 = 12) ===== */

.au-page { max-width: 1100px; margin: 0 auto; padding: 48px var(--gutter, 24px) 64px; }
.au-hero { background: var(--rose-mist); border-radius: 22px; padding: 40px 44px; display: grid; grid-template-columns: 140px 1fr; gap: 32px; align-items: center; margin-bottom: 40px; }
.au-avatar { width: 140px; height: 140px; border-radius: 99px; background: linear-gradient(180deg, var(--rose-soft), var(--rose-mist)); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-style: italic; font-size: 56px; color: var(--rose-deep); box-shadow: 0 16px 32px -16px rgba(129,194,184,0.45); }
.au-info .tag { font-family: var(--font-hand); font-size: 22px; color: var(--rose-deep); transform: rotate(-1.5deg); display: inline-block; }
.au-info h1 { font-family: var(--font-display); font-size: 34px; font-weight: 500; letter-spacing: -0.022em; margin: 2px 0 6px; }
.au-info h1 em { font-style: italic; color: var(--rose-deep); }
.au-info p { font-size: 14.5px; color: var(--ink); line-height: 1.6; margin: 0 0 12px; max-width: 540px; }
.au-stats { display: flex; gap: 20px; font-size: 13px; color: var(--ink-soft); }
.au-stats strong { color: var(--ink); font-family: var(--font-display); font-style: italic; font-size: 18px; }
.au-section h2 { font-family: var(--font-display); font-size: 24px; font-weight: 500; letter-spacing: -0.018em; margin: 0 0 22px; }


/* ===== blog.html (lines 2271-2302 = 32) ===== */

.bp-hero { padding: 48px 24px 24px; text-align: center; max-width: 720px; margin: 0 auto; }
.bp-hero .tag { font-family: var(--font-hand); font-size: 26px; color: var(--rose-deep); transform: rotate(-1.5deg); display: inline-block; margin-bottom: 4px; }
.bp-hero h1 { font-family: var(--font-display); font-size: 38px; font-weight: 500; letter-spacing: -0.025em; margin: 0 0 12px; }
.bp-hero h1 em { font-style: italic; color: var(--rose-deep); }
.bp-hero p { font-size: 14.5px; color: var(--ink-soft); margin: 0 0 22px; line-height: 1.6; }
.bp-cats { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.bp-cat { padding: 6px 14px; border: 1.5px solid var(--rose-soft); border-radius: 99px; font-size: 12.5px; color: var(--ink-soft); cursor: pointer; transition: all 0.2s; text-decoration: none; }
.bp-cat:hover { border-color: var(--rose); color: var(--rose-deep); }
.bp-cat.active { background: var(--rose); color: #fff; border-color: var(--rose); }
.bp-layout { max-width: var(--maxw, 1320px); margin: 0 auto; padding: 24px var(--gutter, 24px) 64px; }
.bp-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; background: var(--rose-mist); border-radius: 22px; padding: 32px; margin-bottom: 32px; }
.bp-feature-img { aspect-ratio: 4/3; border-radius: 16px; background-size: cover; background-position: center; box-shadow: 0 20px 40px -20px rgba(129,194,184,0.4); }
.bp-feature .badge { font-family: var(--font-hand); font-size: 22px; color: var(--rose-deep); transform: rotate(-2deg); display: inline-block; }
.bp-feature h2 { font-family: var(--font-display); font-size: 28px; font-weight: 500; letter-spacing: -0.022em; line-height: 1.1; margin: 6px 0 12px; }
.bp-feature h2 em { font-style: italic; color: var(--rose-deep); }
.bp-feature .meta { display: flex; gap: 14px; font-size: 12px; color: var(--ink-soft); margin-bottom: 10px; }
.bp-feature .meta span { display: inline-flex; align-items: center; gap: 4px; }
.bp-feature p { font-size: 14.5px; color: var(--ink-soft); line-height: 1.6; margin: 0 0 16px; }
.bp-feature .read { display: inline-flex; align-items: center; gap: 6px; color: var(--rose-deep); font-weight: 500; font-size: 13.5px; text-decoration: none; border-bottom: 1.5px solid var(--rose-deep); padding-bottom: 2px; }
.bp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.bp-card { display: flex; flex-direction: column; cursor: pointer; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); text-decoration: none; color: inherit; }
.bp-card:hover { transform: translateY(-4px); }
.bp-card-img { aspect-ratio: 4/3; border-radius: 14px; background-size: cover; background-position: center; background-color: var(--rose-mist); margin-bottom: 14px; }
.bp-card-cat { font-family: var(--font-hand); font-size: 16px; color: var(--rose-deep); margin-bottom: 2px; }
.bp-card h3 { font-family: var(--font-display); font-size: 18px; font-weight: 500; letter-spacing: -0.012em; line-height: 1.25; margin: 0 0 8px; }
.bp-card .meta { display: flex; gap: 12px; font-size: 11.5px; color: var(--ink-mute); margin-bottom: 8px; }
.bp-card p { font-size: 13.5px; color: var(--ink-soft); line-height: 1.55; margin: 0; }
.bp-pagination { display: flex; justify-content: center; gap: 6px; margin-top: 48px; }
.bp-pagination button { width: 36px; height: 36px; border-radius: 99px; background: #fff; border: 1px solid var(--rose-soft); cursor: pointer; font: inherit; font-size: 13px; }
.bp-pagination button.active { background: var(--rose); color: #fff; border-color: var(--rose); }


/* ===== cart-empty.html (lines 2271-2271 = 1) ===== */


/* ===== cart.html (lines 2271-2374 = 104) ===== */

.cart-page { max-width: var(--maxw, 1320px); margin: 0 auto; padding: 32px var(--gutter, 24px) 64px; }
.cart-header { display: flex; align-items: baseline; gap: 14px; margin-bottom: 28px; }
.cart-header h1 { font-family: var(--font-display); font-size: 36px; font-weight: 500; letter-spacing: -0.025em; margin: 0; }
.cart-header h1 em { font-style: italic; color: var(--rose-deep); font-variation-settings: "opsz" 144, "SOFT" 100; }
.cart-header-count { font-size: 13px; color: var(--ink-soft); font-style: italic; }
.cart-layout { display: grid; grid-template-columns: 1fr 380px; gap: 32px; align-items: flex-start; }
.cart-items { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; overflow: hidden; }
.cart-item { display: grid; grid-template-columns: 100px 1fr auto; gap: 20px; padding: 20px 22px; align-items: center; border-bottom: 1px dashed var(--rose-soft); }
.cart-item:last-child { border-bottom: none; }
.cart-item-img {
  aspect-ratio: 1 / 1;
  border-radius: 14px;
  background-color: var(--rose-mist);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.cart-item-info { display: flex; flex-direction: column; gap: 4px; }
.cart-item-brand { font-family: var(--font-display); font-style: italic; font-size: 12.5px; color: var(--rose-deep); }
.cart-item-name { font-family: var(--font-display); font-size: 16px; font-weight: 500; letter-spacing: -0.008em; line-height: 1.2; }
.cart-item-variant { font-size: 12px; color: var(--ink-mute); margin-top: 2px; }
.cart-item-bottom { display: flex; align-items: center; gap: 14px; margin-top: 6px; }
.cart-item-qty { display: inline-flex; align-items: center; background: var(--cream); border: 1px solid var(--rose-soft); border-radius: 99px; }
.cart-item-qty button { width: 30px; height: 30px; background: none; border: none; cursor: pointer; color: var(--ink); font-size: 14px; }
.cart-item-qty input { width: 30px; text-align: center; border: none; background: none; font: inherit; font-weight: 600; font-size: 13px; }
.cart-item-remove { background: none; border: none; color: var(--ink-mute); font-size: 12px; cursor: pointer; text-decoration: underline; font-family: var(--font-body); }
.cart-item-remove:hover { color: var(--rose-deep); }
.cart-item-price { text-align: right; }
.cart-item-price-now { font-family: var(--font-display); font-size: 22px; font-weight: 500; letter-spacing: -0.015em; line-height: 1; }
.cart-item-price-now small { font-size: 14px; color: var(--ink-soft); }
.cart-item-price-unit { font-size: 11.5px; color: var(--ink-mute); margin-top: 4px; }
.cart-empty { padding: 64px 32px; text-align: center; }
.cart-empty-icon { color: var(--rose-soft); margin-bottom: 18px; }
.cart-empty h3 { font-family: var(--font-display); font-size: 24px; font-weight: 500; margin: 0 0 8px; }
.cart-empty p { font-size: 14px; color: var(--ink-soft); margin: 0 0 24px; }

.cart-coupon { margin-top: 16px; display: flex; gap: 8px; }
.cart-coupon input {
  flex: 1;
  border: 1.5px solid var(--rose-soft);
  background: #fff;
  border-radius: 99px;
  padding: 11px 18px;
  font: inherit;
  font-size: 13px;
  outline: none;
}
.cart-coupon input:focus { border-color: var(--rose); }
.cart-coupon button {
  background: var(--ink);
  color: #fff;
  border: none;
  border-radius: 99px;
  padding: 11px 20px;
  font: inherit;
  font-weight: 500;
  font-size: 13px;
  cursor: pointer;
}

.cart-summary { background: var(--rose-mist); border-radius: 22px; padding: 28px; position: sticky; top: 20px; }
.cart-summary h3 { font-family: var(--font-display); font-size: 22px; font-weight: 500; margin: 0 0 18px; }
.cart-summary-row { display: flex; justify-content: space-between; padding: 8px 0; font-size: 14px; color: var(--ink-soft); }
.cart-summary-row strong { color: var(--ink); font-weight: 500; }
.cart-summary-row.discount { color: var(--rose-deep); }
.cart-summary-divider { height: 1px; background: var(--rose-soft); margin: 14px 0; }
.cart-summary-total { display: flex; justify-content: space-between; align-items: baseline; padding: 8px 0 18px; font-size: 14px; }
.cart-summary-total-num { font-family: var(--font-display); font-size: 28px; font-weight: 500; letter-spacing: -0.02em; }
.cart-summary-total-num small { font-size: 16px; color: var(--ink-soft); }
.cart-checkout-btn {
  display: block;
  width: 100%;
  background: var(--rose);
  color: #fff;
  border: none;
  border-radius: 14px;
  padding: 16px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: all 0.2s;
  box-shadow: 0 10px 24px -8px color-mix(in oklab, var(--rose) 70%, transparent);
}
.cart-checkout-btn:hover { background: var(--rose-deep); transform: translateY(-1px); }
.cart-continue {
  display: block;
  text-align: center;
  font-size: 13px;
  color: var(--ink-soft);
  text-decoration: underline;
  margin-top: 14px;
}
.cart-trust { margin-top: 20px; padding-top: 18px; border-top: 1px dashed var(--rose-soft); display: grid; gap: 10px; font-size: 12.5px; color: var(--ink-soft); }
.cart-trust div { display: flex; align-items: center; gap: 8px; }
.cart-trust svg { color: var(--rose); flex-shrink: 0; }

.cart-crosssell { margin-top: 56px; }
.cart-crosssell h3 { font-family: var(--font-display); font-size: 24px; font-weight: 500; letter-spacing: -0.022em; margin: 0 0 18px; }
.cart-crosssell-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }


/* ===== category.html (lines 2271-2302 = 32) ===== */

.bp-hero { padding: 48px 24px 24px; text-align: center; max-width: 720px; margin: 0 auto; }
.bp-hero .tag { font-family: var(--font-hand); font-size: 26px; color: var(--rose-deep); transform: rotate(-1.5deg); display: inline-block; margin-bottom: 4px; }
.bp-hero h1 { font-family: var(--font-display); font-size: 38px; font-weight: 500; letter-spacing: -0.025em; margin: 0 0 12px; }
.bp-hero h1 em { font-style: italic; color: var(--rose-deep); }
.bp-hero p { font-size: 14.5px; color: var(--ink-soft); margin: 0 0 22px; line-height: 1.6; }
.bp-cats { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.bp-cat { padding: 6px 14px; border: 1.5px solid var(--rose-soft); border-radius: 99px; font-size: 12.5px; color: var(--ink-soft); cursor: pointer; transition: all 0.2s; text-decoration: none; }
.bp-cat:hover { border-color: var(--rose); color: var(--rose-deep); }
.bp-cat.active { background: var(--rose); color: #fff; border-color: var(--rose); }
.bp-layout { max-width: var(--maxw, 1320px); margin: 0 auto; padding: 24px var(--gutter, 24px) 64px; }
.bp-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; background: var(--rose-mist); border-radius: 22px; padding: 32px; margin-bottom: 32px; }
.bp-feature-img { aspect-ratio: 4/3; border-radius: 16px; background-size: cover; background-position: center; box-shadow: 0 20px 40px -20px rgba(129,194,184,0.4); }
.bp-feature .badge { font-family: var(--font-hand); font-size: 22px; color: var(--rose-deep); transform: rotate(-2deg); display: inline-block; }
.bp-feature h2 { font-family: var(--font-display); font-size: 28px; font-weight: 500; letter-spacing: -0.022em; line-height: 1.1; margin: 6px 0 12px; }
.bp-feature h2 em { font-style: italic; color: var(--rose-deep); }
.bp-feature .meta { display: flex; gap: 14px; font-size: 12px; color: var(--ink-soft); margin-bottom: 10px; }
.bp-feature .meta span { display: inline-flex; align-items: center; gap: 4px; }
.bp-feature p { font-size: 14.5px; color: var(--ink-soft); line-height: 1.6; margin: 0 0 16px; }
.bp-feature .read { display: inline-flex; align-items: center; gap: 6px; color: var(--rose-deep); font-weight: 500; font-size: 13.5px; text-decoration: none; border-bottom: 1.5px solid var(--rose-deep); padding-bottom: 2px; }
.bp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.bp-card { display: flex; flex-direction: column; cursor: pointer; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); text-decoration: none; color: inherit; }
.bp-card:hover { transform: translateY(-4px); }
.bp-card-img { aspect-ratio: 4/3; border-radius: 14px; background-size: cover; background-position: center; background-color: var(--rose-mist); margin-bottom: 14px; }
.bp-card-cat { font-family: var(--font-hand); font-size: 16px; color: var(--rose-deep); margin-bottom: 2px; }
.bp-card h3 { font-family: var(--font-display); font-size: 18px; font-weight: 500; letter-spacing: -0.012em; line-height: 1.25; margin: 0 0 8px; }
.bp-card .meta { display: flex; gap: 12px; font-size: 11.5px; color: var(--ink-mute); margin-bottom: 8px; }
.bp-card p { font-size: 13.5px; color: var(--ink-soft); line-height: 1.55; margin: 0; }
.bp-pagination { display: flex; justify-content: center; gap: 6px; margin-top: 48px; }
.bp-pagination button { width: 36px; height: 36px; border-radius: 99px; background: #fff; border: 1px solid var(--rose-soft); cursor: pointer; font: inherit; font-size: 13px; }
.bp-pagination button.active { background: var(--rose); color: #fff; border-color: var(--rose); }


/* ===== category-product.html (lines 2271-2303 = 33) ===== */

.cat-banner {
  position: relative;
  background: linear-gradient(135deg, var(--rose-mist), color-mix(in oklab, var(--rose-soft) 50%, var(--cream)));
  padding: 56px 24px 32px;
  text-align: center;
  margin-bottom: 24px;
}
.cat-banner .tag { font-family: var(--font-hand); font-size: 24px; color: var(--rose-deep); transform: rotate(-2deg); display: inline-block; }
.cat-banner h1 { font-family: var(--font-display); font-size: 48px; font-weight: 500; letter-spacing: -0.028em; margin: 4px 0 14px; }
.cat-banner h1 em { font-style: italic; color: var(--rose-deep); }
.cat-banner p { font-size: 15px; color: var(--ink-soft); line-height: 1.6; margin: 0 auto; max-width: 620px; }
.cat-pill { display: inline-flex; align-items: center; gap: 8px; background: #fff; padding: 6px 16px; border-radius: 99px; font-size: 12.5px; color: var(--ink-soft); margin-top: 18px; border: 1px solid var(--rose-soft); }

.shop-layout { max-width: var(--maxw, 1320px); margin: 0 auto; padding: 0 var(--gutter, 24px) 64px; display: grid; grid-template-columns: 240px 1fr; gap: 32px; }
.shop-filters { background: #fff; border: 1px solid var(--rose-soft); border-radius: 16px; padding: 22px; align-self: flex-start; position: sticky; top: 20px; }
.shop-filter-group { padding: 14px 0; border-bottom: 1px dashed var(--rose-soft); }
.shop-filter-group:last-child { border: none; padding-bottom: 0; }
.shop-filter-group:first-child { padding-top: 0; }
.shop-filter-title { font-family: var(--font-display); font-size: 15px; font-weight: 600; margin: 0 0 12px; }
.shop-filter-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.shop-filter-item { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--ink-soft); cursor: pointer; }
.shop-filter-item input { appearance: none; width: 14px; height: 14px; border: 1.5px solid var(--rose-soft); border-radius: 4px; position: relative; cursor: pointer; }
.shop-filter-item input:checked { background: var(--rose); border-color: var(--rose); }
.shop-filter-item input:checked::after { content: "✓"; position: absolute; top: -3px; left: 1px; color: #fff; font-size: 11px; font-weight: 700; }
.shop-filter-item .shop-filter-count { margin-left: auto; color: var(--ink-mute); font-size: 11.5px; }
.shop-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; padding: 12px 18px; background: #fff; border: 1px solid var(--rose-soft); border-radius: 99px; }
.shop-count { font-size: 13px; color: var(--ink-soft); }
.shop-count strong { color: var(--ink); font-weight: 600; }
.shop-sort { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.shop-sort select { font: inherit; font-size: 13px; padding: 6px 10px; border: 1px solid var(--rose-soft); border-radius: 99px; background: var(--cream); cursor: pointer; }
.shop-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }


/* ===== checkout.html (lines 2271-2319 = 49) ===== */

.co-page { max-width: var(--maxw, 1320px); margin: 0 auto; padding: 32px var(--gutter, 24px) 64px; }
.co-header { text-align: center; margin-bottom: 32px; }
.co-header h1 { font-family: var(--font-display); font-size: 36px; font-weight: 500; letter-spacing: -0.025em; margin: 0; }
.co-header h1 em { font-style: italic; color: var(--rose-deep); }
.co-steps { display: flex; justify-content: center; gap: 4px; margin: 18px 0 0; font-size: 12.5px; color: var(--ink-mute); }
.co-step.active { color: var(--rose-deep); font-weight: 600; }
.co-step.done { color: var(--ink); }
.co-step-sep { opacity: 0.4; }
.co-layout { display: grid; grid-template-columns: 1fr 380px; gap: 32px; align-items: flex-start; }
.co-form { display: grid; gap: 24px; }
.co-card { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 24px 28px; }
.co-card h3 { font-family: var(--font-display); font-size: 18px; font-weight: 500; margin: 0 0 16px; display: flex; align-items: center; gap: 8px; }
.co-card h3 .co-num { background: var(--rose); color: #fff; width: 22px; height: 22px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; font-family: var(--font-body); }
.co-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.co-row.single { grid-template-columns: 1fr; }
.co-field { display: flex; flex-direction: column; gap: 4px; }
.co-field label { font-size: 12px; color: var(--ink-soft); font-weight: 500; }
.co-field input, .co-field select { font: inherit; padding: 11px 14px; border: 1.5px solid var(--rose-soft); border-radius: 10px; background: #fff; color: var(--ink); font-size: 14px; transition: border-color 0.2s; }
.co-field input:focus, .co-field select:focus { outline: none; border-color: var(--rose); }
.co-pay-options { display: grid; gap: 8px; }
.co-pay-option { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1.5px solid var(--rose-soft); border-radius: 12px; cursor: pointer; transition: all 0.2s; background: #fff; }
.co-pay-option.active { border-color: var(--rose); background: var(--rose-mist); }
.co-pay-option input { accureance: none; -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border: 2px solid var(--rose-soft); border-radius: 99px; position: relative; cursor: pointer; }
.co-pay-option input:checked { border-color: var(--rose); }
.co-pay-option input:checked::after { content: ""; position: absolute; inset: 3px; background: var(--rose); border-radius: 99px; }
.co-pay-option-icon { font-family: var(--font-display); font-style: italic; font-size: 14px; color: var(--rose-deep); margin-left: auto; }
.co-pay-name { font-size: 14px; font-weight: 500; }
.co-pay-sub { font-size: 12px; color: var(--ink-soft); display: block; margin-top: 2px; }
.co-summary { background: var(--rose-mist); border-radius: 22px; padding: 28px; position: sticky; top: 20px; }
.co-summary h3 { font-family: var(--font-display); font-size: 20px; font-weight: 500; margin: 0 0 16px; }
.co-mini-item { display: grid; grid-template-columns: 50px 1fr auto; gap: 12px; padding: 10px 0; align-items: center; }
.co-mini-img { width: 50px; height: 50px; border-radius: 10px; background: #fff; background-size: contain; background-repeat: no-repeat; background-position: center; position: relative; }
.co-mini-qty { position: absolute; top: -6px; right: -6px; background: var(--ink); color: #fff; font-size: 10px; font-weight: 600; width: 18px; height: 18px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; }
.co-mini-name { font-size: 12.5px; font-weight: 500; line-height: 1.3; }
.co-mini-variant { font-size: 11px; color: var(--ink-soft); }
.co-mini-price { font-family: var(--font-display); font-size: 14px; font-weight: 500; }
.co-summary-totals { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--rose-soft); display: grid; gap: 6px; font-size: 13px; }
.co-summary-totals .row { display: flex; justify-content: space-between; color: var(--ink-soft); }
.co-summary-totals .row strong { color: var(--ink); }
.co-summary-totals .discount { color: var(--rose-deep); }
.co-summary-total-row { display: flex; justify-content: space-between; align-items: baseline; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--rose-soft); }
.co-summary-total { font-family: var(--font-display); font-size: 24px; font-weight: 500; letter-spacing: -0.02em; }
.co-summary-total small { font-size: 14px; color: var(--ink-soft); }
.co-place-order { display: block; width: 100%; background: var(--rose); color: #fff; border: none; border-radius: 99px; padding: 16px; font: inherit; font-weight: 600; font-size: 14px; cursor: pointer; margin-top: 18px; text-align: center; text-decoration: none; box-shadow: 0 10px 24px -8px color-mix(in oklab, var(--rose) 70%, transparent); }
.co-place-order:hover { background: var(--rose-deep); }
.co-tos { font-size: 11.5px; color: var(--ink-mute); margin-top: 12px; text-align: center; line-height: 1.5; }
.co-tos a { color: var(--rose-deep); text-decoration: underline; }


/* ===== comments.html (lines 2271-2295 = 25) ===== */

.cm-page { max-width: 760px; margin: 0 auto; padding: 48px var(--gutter, 24px) 64px; }
.cm-page > .tag { font-family: var(--font-hand); font-size: 22px; color: var(--rose-deep); transform: rotate(-1.5deg); display: inline-block; }
.cm-page h1 { font-family: var(--font-display); font-size: 32px; font-weight: 500; letter-spacing: -0.022em; margin: 4px 0 32px; }
.cm-page h1 em { font-style: italic; color: var(--rose-deep); }
.cm-list { display: grid; gap: 22px; margin-bottom: 40px; }
.cm-item { display: grid; grid-template-columns: 44px 1fr; gap: 14px; padding: 18px 22px; background: #fff; border: 1px solid var(--rose-soft); border-radius: 14px; }
.cm-item.reply { margin-left: 40px; background: var(--rose-mist); }
.cm-avatar { width: 44px; height: 44px; border-radius: 99px; background: linear-gradient(180deg, var(--rose-soft), var(--rose-mist)); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-style: italic; color: var(--rose-deep); font-size: 18px; flex-shrink: 0; }
.cm-meta { display: flex; align-items: baseline; gap: 10px; margin-bottom: 6px; font-size: 12px; }
.cm-name { font-weight: 600; color: var(--ink); font-size: 14px; }
.cm-name .badge { display: inline-block; margin-left: 6px; background: var(--rose-mist); color: var(--rose-deep); font-size: 10.5px; font-weight: 600; padding: 2px 7px; border-radius: 99px; }
.cm-date { color: var(--ink-mute); }
.cm-text { font-size: 14px; color: var(--ink); line-height: 1.6; margin: 0 0 8px; }
.cm-actions { font-size: 12px; }
.cm-actions a { color: var(--rose-deep); text-decoration: underline; margin-right: 14px; }
.cm-form { background: var(--rose-mist); border-radius: 16px; padding: 28px 32px; }
.cm-form h3 { font-family: var(--font-display); font-size: 22px; font-weight: 500; margin: 0 0 6px; }
.cm-form p { font-size: 13px; color: var(--ink-soft); margin: 0 0 18px; }
.cm-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; }
.cm-field label { font-size: 12px; color: var(--ink-soft); font-weight: 500; }
.cm-field input, .cm-field textarea { font: inherit; padding: 11px 14px; border: 1.5px solid var(--rose-soft); border-radius: 10px; background: #fff; font-size: 14px; }
.cm-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cm-submit { background: var(--rose); color: #fff; border: none; border-radius: 99px; padding: 12px 26px; font: inherit; font-weight: 500; font-size: 14px; cursor: pointer; }


/* ===== contact.html (lines 2271-2297 = 27) ===== */

.ct-page { max-width: 1100px; margin: 0 auto; padding: 48px var(--gutter, 24px) 64px; }
.ct-header { text-align: center; margin-bottom: 32px; }
.ct-header .tag { font-family: var(--font-hand); font-size: 24px; color: var(--rose-deep); transform: rotate(-2deg); display: inline-block; }
.ct-header h1 { font-family: var(--font-display); font-size: 38px; font-weight: 500; letter-spacing: -0.025em; margin: 4px 0 12px; }
.ct-header h1 em { font-style: italic; color: var(--rose-deep); }
.ct-header p { font-size: 14.5px; color: var(--ink-soft); margin: 0; max-width: 540px; margin: 0 auto; line-height: 1.6; }
.ct-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 32px; }
.ct-info { background: var(--rose-mist); border-radius: 18px; padding: 32px 28px; }
.ct-info h3 { font-family: var(--font-display); font-size: 18px; font-weight: 500; margin: 0 0 18px; }
.ct-info-block { display: flex; gap: 14px; margin-bottom: 18px; }
.ct-info-icon { width: 36px; height: 36px; border-radius: 99px; background: var(--rose); color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ct-info-block h4 { font-size: 13.5px; font-weight: 600; margin: 0 0 2px; }
.ct-info-block p { font-size: 13px; color: var(--ink-soft); margin: 0; line-height: 1.5; }
.ct-info-block p a { color: var(--rose-deep); text-decoration: underline; }
.ct-form { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 32px 36px; }
.ct-form h3 { font-family: var(--font-display); font-size: 22px; font-weight: 500; margin: 0 0 18px; }
.ct-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ct-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; }
.ct-field label { font-size: 12px; color: var(--ink-soft); font-weight: 500; }
.ct-field input, .ct-field select, .ct-field textarea { font: inherit; padding: 11px 14px; border: 1.5px solid var(--rose-soft); border-radius: 10px; background: #fff; font-size: 14px; resize: vertical; }
.ct-field input:focus, .ct-field textarea:focus { outline: none; border-color: var(--rose); }
.ct-send { background: var(--rose); color: #fff; border: none; border-radius: 99px; padding: 13px 28px; font: inherit; font-weight: 500; font-size: 14px; cursor: pointer; box-shadow: 0 10px 24px -8px color-mix(in oklab, var(--rose) 70%, transparent); }
.ct-send:hover { background: var(--rose-deep); }
.ct-map { aspect-ratio: 21/9; border-radius: 18px; margin-top: 32px; background: linear-gradient(135deg, var(--rose-mist), var(--green-soft)); position: relative; overflow: hidden; }
.ct-map::after { content: "📍"; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 40px; }


/* ===== login-register.html (lines 2271-2299 = 29) ===== */

.log-page { max-width: 1100px; margin: 0 auto; padding: 48px var(--gutter, 24px) 64px; }
.log-header { text-align: center; margin-bottom: 32px; }
.log-header h1 { font-family: var(--font-display); font-size: 36px; font-weight: 500; letter-spacing: -0.025em; margin: 0 0 4px; }
.log-header h1 em { font-style: italic; color: var(--rose-deep); }
.log-header p { font-size: 14px; color: var(--ink-soft); margin: 0; }
.log-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.log-card { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 32px 36px; }
.log-card h2 { font-family: var(--font-display); font-size: 22px; font-weight: 500; margin: 0 0 6px; letter-spacing: -0.015em; }
.log-card p { font-size: 13.5px; color: var(--ink-soft); margin: 0 0 20px; }
.log-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 14px; }
.log-field label { font-size: 12px; color: var(--ink-soft); font-weight: 500; }
.log-field input { font: inherit; padding: 12px 16px; border: 1.5px solid var(--rose-soft); border-radius: 12px; background: #fff; font-size: 14px; }
.log-field input:focus { outline: none; border-color: var(--rose); }
.log-pwd { position: relative; }
.log-pwd button { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; color: var(--ink-mute); }
.log-row { display: flex; justify-content: space-between; align-items: center; margin: 8px 0 16px; font-size: 12.5px; }
.log-row label { display: flex; align-items: center; gap: 6px; color: var(--ink-soft); }
.log-row a { color: var(--rose-deep); text-decoration: underline; }
.log-submit { width: 100%; background: var(--rose); color: #fff; border: none; border-radius: 99px; padding: 13px; font: inherit; font-weight: 600; font-size: 14px; cursor: pointer; transition: background 0.2s; }
.log-submit:hover { background: var(--rose-deep); }
.log-or { display: flex; align-items: center; gap: 10px; margin: 18px 0; font-size: 11.5px; color: var(--ink-mute); text-transform: uppercase; letter-spacing: 0.1em; }
.log-or::before, .log-or::after { content: ""; flex: 1; height: 1px; background: var(--rose-soft); }
.log-social { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.log-social button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #fff; border: 1.5px solid var(--rose-soft); border-radius: 99px; padding: 11px; font: inherit; font-size: 13px; cursor: pointer; }
.log-social button:hover { border-color: var(--rose); }
.log-cgu { font-size: 11px; color: var(--ink-mute); margin-top: 14px; line-height: 1.5; }
.log-cgu a { color: var(--rose-deep); text-decoration: underline; }


/* ===== lost-password.html (lines 2271-2299 = 29) ===== */

.log-page { max-width: 1100px; margin: 0 auto; padding: 48px var(--gutter, 24px) 64px; }
.log-header { text-align: center; margin-bottom: 32px; }
.log-header h1 { font-family: var(--font-display); font-size: 36px; font-weight: 500; letter-spacing: -0.025em; margin: 0 0 4px; }
.log-header h1 em { font-style: italic; color: var(--rose-deep); }
.log-header p { font-size: 14px; color: var(--ink-soft); margin: 0; }
.log-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.log-card { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 32px 36px; }
.log-card h2 { font-family: var(--font-display); font-size: 22px; font-weight: 500; margin: 0 0 6px; letter-spacing: -0.015em; }
.log-card p { font-size: 13.5px; color: var(--ink-soft); margin: 0 0 20px; }
.log-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 14px; }
.log-field label { font-size: 12px; color: var(--ink-soft); font-weight: 500; }
.log-field input { font: inherit; padding: 12px 16px; border: 1.5px solid var(--rose-soft); border-radius: 12px; background: #fff; font-size: 14px; }
.log-field input:focus { outline: none; border-color: var(--rose); }
.log-pwd { position: relative; }
.log-pwd button { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; color: var(--ink-mute); }
.log-row { display: flex; justify-content: space-between; align-items: center; margin: 8px 0 16px; font-size: 12.5px; }
.log-row label { display: flex; align-items: center; gap: 6px; color: var(--ink-soft); }
.log-row a { color: var(--rose-deep); text-decoration: underline; }
.log-submit { width: 100%; background: var(--rose); color: #fff; border: none; border-radius: 99px; padding: 13px; font: inherit; font-weight: 600; font-size: 14px; cursor: pointer; transition: background 0.2s; }
.log-submit:hover { background: var(--rose-deep); }
.log-or { display: flex; align-items: center; gap: 10px; margin: 18px 0; font-size: 11.5px; color: var(--ink-mute); text-transform: uppercase; letter-spacing: 0.1em; }
.log-or::before, .log-or::after { content: ""; flex: 1; height: 1px; background: var(--rose-soft); }
.log-social { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.log-social button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #fff; border: 1.5px solid var(--rose-soft); border-radius: 99px; padding: 11px; font: inherit; font-size: 13px; cursor: pointer; }
.log-social button:hover { border-color: var(--rose); }
.log-cgu { font-size: 11px; color: var(--ink-mute); margin-top: 14px; line-height: 1.5; }
.log-cgu a { color: var(--rose-deep); text-decoration: underline; }


/* ===== my-account-addresses.html (lines 2271-2314 = 44) ===== */

.acc-page { max-width: var(--maxw, 1320px); margin: 0 auto; padding: 32px var(--gutter, 24px) 64px; }
.acc-header { margin-bottom: 28px; }
.acc-header h1 { font-family: var(--font-display); font-size: 36px; font-weight: 500; letter-spacing: -0.025em; margin: 0 0 4px; }
.acc-header h1 em { font-style: italic; color: var(--rose-deep); }
.acc-header p { font-size: 14px; color: var(--ink-soft); margin: 0; }
.acc-layout { display: grid; grid-template-columns: 240px 1fr; gap: 24px; align-items: flex-start; }
.acc-nav { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 14px; position: sticky; top: 20px; }
.acc-nav-user { display: flex; align-items: center; gap: 12px; padding: 8px 12px 16px; border-bottom: 1px dashed var(--rose-soft); margin-bottom: 12px; }
.acc-nav-avatar { width: 42px; height: 42px; border-radius: 99px; background: linear-gradient(180deg, var(--rose-soft), var(--rose-mist)); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-style: italic; font-size: 18px; color: var(--rose-deep); }
.acc-nav-info { display: flex; flex-direction: column; line-height: 1.2; }
.acc-nav-name { font-size: 14px; font-weight: 600; }
.acc-nav-role { font-size: 11.5px; color: var(--ink-soft); font-style: italic; }
.acc-nav a { display: flex; align-items: center; gap: 10px; padding: 9px 12px; font-size: 13px; color: var(--ink); border-radius: 99px; text-decoration: none; transition: all 0.2s; }
.acc-nav a:hover { background: var(--rose-mist); color: var(--rose-deep); }
.acc-nav a.active { background: var(--rose); color: #fff; }
.acc-nav svg { color: var(--rose-deep); opacity: 0.8; flex-shrink: 0; }
.acc-nav a.logout { color: var(--ink-mute); margin-top: 8px; padding-top: 12px; border-top: 1px dashed var(--rose-soft); border-radius: 0; }
.acc-section { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 24px 28px; margin-bottom: 18px; }
.acc-section h2 { font-family: var(--font-display); font-size: 20px; font-weight: 500; margin: 0 0 16px; }
.acc-table { display: grid; gap: 1px; background: var(--rose-soft); border: 1px solid var(--rose-soft); border-radius: 12px; overflow: hidden; }
.acc-table .row { display: grid; gap: 16px; padding: 14px 18px; background: #fff; align-items: center; font-size: 13px; }
.acc-table .row.head { background: var(--rose-mist); font-weight: 600; font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink-soft); }
.acc-status { font-size: 11.5px; font-weight: 600; padding: 3px 10px; border-radius: 99px; display: inline-block; }
.acc-status-delivered { background: #DCE7CC; color: #466b25; }
.acc-status-shipped { background: var(--rose-mist); color: var(--rose-deep); }
.acc-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; }
.acc-field label { font-size: 12px; color: var(--ink-soft); font-weight: 500; }
.acc-field input, .acc-field select, .acc-field textarea { font: inherit; padding: 11px 14px; border: 1.5px solid var(--rose-soft); border-radius: 10px; background: #fff; font-size: 14px; }
.acc-field input:focus { outline: none; border-color: var(--rose); }
.acc-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.acc-save { background: var(--rose); color: #fff; border: none; border-radius: 99px; padding: 11px 24px; font: inherit; font-weight: 500; font-size: 13.5px; cursor: pointer; margin-top: 8px; }
.acc-save:hover { background: var(--rose-deep); }
.acc-addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.acc-address-card { background: #fff; border: 1.5px solid var(--rose-soft); border-radius: 14px; padding: 18px 22px; position: relative; }
.acc-address-card.default { border-color: var(--rose); }
.acc-address-tag { position: absolute; top: -10px; left: 16px; background: var(--rose); color: #fff; font-family: var(--font-hand); font-size: 14px; padding: 2px 10px; border-radius: 99px; }
.acc-address-card h4 { font-family: var(--font-display); font-size: 15px; font-weight: 500; margin: 0 0 8px; }
.acc-address-card p { font-size: 13px; color: var(--ink-soft); line-height: 1.5; margin: 0 0 12px; }
.acc-address-actions { display: flex; gap: 12px; font-size: 12px; }
.acc-address-actions a { color: var(--rose-deep); text-decoration: underline; }
.acc-empty { text-align: center; padding: 40px; color: var(--ink-soft); }
.acc-empty h3 { font-family: var(--font-display); font-size: 22px; font-weight: 500; color: var(--ink); margin: 0 0 8px; }


/* ===== my-account-dashboard.html (lines 2271-2319 = 49) ===== */

.acc-page { max-width: var(--maxw, 1320px); margin: 0 auto; padding: 32px var(--gutter, 24px) 64px; }
.acc-header { margin-bottom: 28px; }
.acc-header h1 { font-family: var(--font-display); font-size: 36px; font-weight: 500; letter-spacing: -0.025em; margin: 0 0 4px; }
.acc-header h1 em { font-style: italic; color: var(--rose-deep); }
.acc-header p { font-size: 14px; color: var(--ink-soft); margin: 0; }
.acc-layout { display: grid; grid-template-columns: 240px 1fr; gap: 24px; align-items: flex-start; }
.acc-nav { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 14px; position: sticky; top: 20px; }
.acc-nav-user { display: flex; align-items: center; gap: 12px; padding: 8px 12px 16px; border-bottom: 1px dashed var(--rose-soft); margin-bottom: 12px; }
.acc-nav-avatar { width: 42px; height: 42px; border-radius: 99px; background: linear-gradient(180deg, var(--rose-soft), var(--rose-mist)); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-style: italic; font-size: 18px; color: var(--rose-deep); }
.acc-nav-info { display: flex; flex-direction: column; line-height: 1.2; }
.acc-nav-name { font-size: 14px; font-weight: 600; }
.acc-nav-role { font-size: 11.5px; color: var(--ink-soft); font-style: italic; }
.acc-nav a { display: flex; align-items: center; gap: 10px; padding: 9px 12px; font-size: 13px; color: var(--ink); border-radius: 99px; text-decoration: none; transition: all 0.2s; }
.acc-nav a:hover { background: var(--rose-mist); color: var(--rose-deep); }
.acc-nav a.active { background: var(--rose); color: #fff; }
.acc-nav a.active svg { color: #fff; }
.acc-nav svg { color: var(--rose-deep); opacity: 0.8; flex-shrink: 0; }
.acc-nav a.logout { color: var(--ink-mute); margin-top: 8px; padding-top: 12px; border-top: 1px dashed var(--rose-soft); border-radius: 0; }

.acc-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 24px; }
.acc-card { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 22px 24px; }
.acc-card-label { font-family: var(--font-hand); font-size: 18px; color: var(--rose-deep); transform: rotate(-1deg); display: inline-block; margin-bottom: 4px; }
.acc-card-value { font-family: var(--font-display); font-size: 32px; font-weight: 500; letter-spacing: -0.022em; line-height: 1; }
.acc-card-value small { font-size: 16px; color: var(--ink-soft); }
.acc-card-sub { font-size: 12.5px; color: var(--ink-soft); margin-top: 6px; }

.acc-section { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 24px; margin-bottom: 18px; }
.acc-section-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.acc-section-head h2 { font-family: var(--font-display); font-size: 20px; font-weight: 500; letter-spacing: -0.015em; margin: 0; }
.acc-section-head a { font-size: 13px; color: var(--rose-deep); text-decoration: underline; }

.acc-orders-table { display: grid; gap: 1px; background: var(--rose-soft); border: 1px solid var(--rose-soft); border-radius: 12px; overflow: hidden; }
.acc-order-row { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr auto; gap: 16px; padding: 14px 18px; background: #fff; align-items: center; }
.acc-order-id { font-family: var(--font-display); font-size: 14px; font-weight: 500; }
.acc-order-date, .acc-order-amount { font-size: 13px; color: var(--ink-soft); }
.acc-order-status { font-size: 11.5px; font-weight: 600; padding: 3px 10px; border-radius: 99px; display: inline-block; }
.acc-status-delivered { background: #DCE7CC; color: #466b25; }
.acc-status-shipped { background: var(--rose-mist); color: var(--rose-deep); }
.acc-status-pending { background: #fff4d6; color: #936a13; }
.acc-order-link { font-size: 13px; color: var(--rose-deep); text-decoration: underline; white-space: nowrap; }

.acc-welcome { background: var(--rose-mist); border: 1px solid var(--rose-soft); border-radius: 18px; padding: 28px; margin-bottom: 24px; display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; }
.acc-welcome h2 { font-family: var(--font-display); font-size: 26px; font-weight: 500; letter-spacing: -0.022em; margin: 0 0 4px; }
.acc-welcome h2 em { font-style: italic; color: var(--rose-deep); }
.acc-welcome p { font-size: 14px; color: var(--ink-soft); margin: 0; }
.acc-welcome-cta { background: var(--rose); color: #fff; border: none; border-radius: 14px; padding: 12px 22px; font: inherit; font-weight: 500; font-size: 13px; cursor: pointer; text-decoration: none; }
.acc-welcome-cta:hover { background: var(--rose-deep); }


/* ===== my-account-downloads.html (lines 2271-2314 = 44) ===== */

.acc-page { max-width: var(--maxw, 1320px); margin: 0 auto; padding: 32px var(--gutter, 24px) 64px; }
.acc-header { margin-bottom: 28px; }
.acc-header h1 { font-family: var(--font-display); font-size: 36px; font-weight: 500; letter-spacing: -0.025em; margin: 0 0 4px; }
.acc-header h1 em { font-style: italic; color: var(--rose-deep); }
.acc-header p { font-size: 14px; color: var(--ink-soft); margin: 0; }
.acc-layout { display: grid; grid-template-columns: 240px 1fr; gap: 24px; align-items: flex-start; }
.acc-nav { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 14px; position: sticky; top: 20px; }
.acc-nav-user { display: flex; align-items: center; gap: 12px; padding: 8px 12px 16px; border-bottom: 1px dashed var(--rose-soft); margin-bottom: 12px; }
.acc-nav-avatar { width: 42px; height: 42px; border-radius: 99px; background: linear-gradient(180deg, var(--rose-soft), var(--rose-mist)); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-style: italic; font-size: 18px; color: var(--rose-deep); }
.acc-nav-info { display: flex; flex-direction: column; line-height: 1.2; }
.acc-nav-name { font-size: 14px; font-weight: 600; }
.acc-nav-role { font-size: 11.5px; color: var(--ink-soft); font-style: italic; }
.acc-nav a { display: flex; align-items: center; gap: 10px; padding: 9px 12px; font-size: 13px; color: var(--ink); border-radius: 99px; text-decoration: none; transition: all 0.2s; }
.acc-nav a:hover { background: var(--rose-mist); color: var(--rose-deep); }
.acc-nav a.active { background: var(--rose); color: #fff; }
.acc-nav svg { color: var(--rose-deep); opacity: 0.8; flex-shrink: 0; }
.acc-nav a.logout { color: var(--ink-mute); margin-top: 8px; padding-top: 12px; border-top: 1px dashed var(--rose-soft); border-radius: 0; }
.acc-section { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 24px 28px; margin-bottom: 18px; }
.acc-section h2 { font-family: var(--font-display); font-size: 20px; font-weight: 500; margin: 0 0 16px; }
.acc-table { display: grid; gap: 1px; background: var(--rose-soft); border: 1px solid var(--rose-soft); border-radius: 12px; overflow: hidden; }
.acc-table .row { display: grid; gap: 16px; padding: 14px 18px; background: #fff; align-items: center; font-size: 13px; }
.acc-table .row.head { background: var(--rose-mist); font-weight: 600; font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink-soft); }
.acc-status { font-size: 11.5px; font-weight: 600; padding: 3px 10px; border-radius: 99px; display: inline-block; }
.acc-status-delivered { background: #DCE7CC; color: #466b25; }
.acc-status-shipped { background: var(--rose-mist); color: var(--rose-deep); }
.acc-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; }
.acc-field label { font-size: 12px; color: var(--ink-soft); font-weight: 500; }
.acc-field input, .acc-field select, .acc-field textarea { font: inherit; padding: 11px 14px; border: 1.5px solid var(--rose-soft); border-radius: 10px; background: #fff; font-size: 14px; }
.acc-field input:focus { outline: none; border-color: var(--rose); }
.acc-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.acc-save { background: var(--rose); color: #fff; border: none; border-radius: 99px; padding: 11px 24px; font: inherit; font-weight: 500; font-size: 13.5px; cursor: pointer; margin-top: 8px; }
.acc-save:hover { background: var(--rose-deep); }
.acc-addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.acc-address-card { background: #fff; border: 1.5px solid var(--rose-soft); border-radius: 14px; padding: 18px 22px; position: relative; }
.acc-address-card.default { border-color: var(--rose); }
.acc-address-tag { position: absolute; top: -10px; left: 16px; background: var(--rose); color: #fff; font-family: var(--font-hand); font-size: 14px; padding: 2px 10px; border-radius: 99px; }
.acc-address-card h4 { font-family: var(--font-display); font-size: 15px; font-weight: 500; margin: 0 0 8px; }
.acc-address-card p { font-size: 13px; color: var(--ink-soft); line-height: 1.5; margin: 0 0 12px; }
.acc-address-actions { display: flex; gap: 12px; font-size: 12px; }
.acc-address-actions a { color: var(--rose-deep); text-decoration: underline; }
.acc-empty { text-align: center; padding: 40px; color: var(--ink-soft); }
.acc-empty h3 { font-family: var(--font-display); font-size: 22px; font-weight: 500; color: var(--ink); margin: 0 0 8px; }


/* ===== my-account-edit-account.html (lines 2271-2314 = 44) ===== */

.acc-page { max-width: var(--maxw, 1320px); margin: 0 auto; padding: 32px var(--gutter, 24px) 64px; }
.acc-header { margin-bottom: 28px; }
.acc-header h1 { font-family: var(--font-display); font-size: 36px; font-weight: 500; letter-spacing: -0.025em; margin: 0 0 4px; }
.acc-header h1 em { font-style: italic; color: var(--rose-deep); }
.acc-header p { font-size: 14px; color: var(--ink-soft); margin: 0; }
.acc-layout { display: grid; grid-template-columns: 240px 1fr; gap: 24px; align-items: flex-start; }
.acc-nav { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 14px; position: sticky; top: 20px; }
.acc-nav-user { display: flex; align-items: center; gap: 12px; padding: 8px 12px 16px; border-bottom: 1px dashed var(--rose-soft); margin-bottom: 12px; }
.acc-nav-avatar { width: 42px; height: 42px; border-radius: 99px; background: linear-gradient(180deg, var(--rose-soft), var(--rose-mist)); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-style: italic; font-size: 18px; color: var(--rose-deep); }
.acc-nav-info { display: flex; flex-direction: column; line-height: 1.2; }
.acc-nav-name { font-size: 14px; font-weight: 600; }
.acc-nav-role { font-size: 11.5px; color: var(--ink-soft); font-style: italic; }
.acc-nav a { display: flex; align-items: center; gap: 10px; padding: 9px 12px; font-size: 13px; color: var(--ink); border-radius: 99px; text-decoration: none; transition: all 0.2s; }
.acc-nav a:hover { background: var(--rose-mist); color: var(--rose-deep); }
.acc-nav a.active { background: var(--rose); color: #fff; }
.acc-nav svg { color: var(--rose-deep); opacity: 0.8; flex-shrink: 0; }
.acc-nav a.logout { color: var(--ink-mute); margin-top: 8px; padding-top: 12px; border-top: 1px dashed var(--rose-soft); border-radius: 0; }
.acc-section { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 24px 28px; margin-bottom: 18px; }
.acc-section h2 { font-family: var(--font-display); font-size: 20px; font-weight: 500; margin: 0 0 16px; }
.acc-table { display: grid; gap: 1px; background: var(--rose-soft); border: 1px solid var(--rose-soft); border-radius: 12px; overflow: hidden; }
.acc-table .row { display: grid; gap: 16px; padding: 14px 18px; background: #fff; align-items: center; font-size: 13px; }
.acc-table .row.head { background: var(--rose-mist); font-weight: 600; font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink-soft); }
.acc-status { font-size: 11.5px; font-weight: 600; padding: 3px 10px; border-radius: 99px; display: inline-block; }
.acc-status-delivered { background: #DCE7CC; color: #466b25; }
.acc-status-shipped { background: var(--rose-mist); color: var(--rose-deep); }
.acc-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; }
.acc-field label { font-size: 12px; color: var(--ink-soft); font-weight: 500; }
.acc-field input, .acc-field select, .acc-field textarea { font: inherit; padding: 11px 14px; border: 1.5px solid var(--rose-soft); border-radius: 10px; background: #fff; font-size: 14px; }
.acc-field input:focus { outline: none; border-color: var(--rose); }
.acc-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.acc-save { background: var(--rose); color: #fff; border: none; border-radius: 99px; padding: 11px 24px; font: inherit; font-weight: 500; font-size: 13.5px; cursor: pointer; margin-top: 8px; }
.acc-save:hover { background: var(--rose-deep); }
.acc-addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.acc-address-card { background: #fff; border: 1.5px solid var(--rose-soft); border-radius: 14px; padding: 18px 22px; position: relative; }
.acc-address-card.default { border-color: var(--rose); }
.acc-address-tag { position: absolute; top: -10px; left: 16px; background: var(--rose); color: #fff; font-family: var(--font-hand); font-size: 14px; padding: 2px 10px; border-radius: 99px; }
.acc-address-card h4 { font-family: var(--font-display); font-size: 15px; font-weight: 500; margin: 0 0 8px; }
.acc-address-card p { font-size: 13px; color: var(--ink-soft); line-height: 1.5; margin: 0 0 12px; }
.acc-address-actions { display: flex; gap: 12px; font-size: 12px; }
.acc-address-actions a { color: var(--rose-deep); text-decoration: underline; }
.acc-empty { text-align: center; padding: 40px; color: var(--ink-soft); }
.acc-empty h3 { font-family: var(--font-display); font-size: 22px; font-weight: 500; color: var(--ink); margin: 0 0 8px; }


/* ===== my-account-orders.html (lines 2271-2314 = 44) ===== */

.acc-page { max-width: var(--maxw, 1320px); margin: 0 auto; padding: 32px var(--gutter, 24px) 64px; }
.acc-header { margin-bottom: 28px; }
.acc-header h1 { font-family: var(--font-display); font-size: 36px; font-weight: 500; letter-spacing: -0.025em; margin: 0 0 4px; }
.acc-header h1 em { font-style: italic; color: var(--rose-deep); }
.acc-header p { font-size: 14px; color: var(--ink-soft); margin: 0; }
.acc-layout { display: grid; grid-template-columns: 240px 1fr; gap: 24px; align-items: flex-start; }
.acc-nav { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 14px; position: sticky; top: 20px; }
.acc-nav-user { display: flex; align-items: center; gap: 12px; padding: 8px 12px 16px; border-bottom: 1px dashed var(--rose-soft); margin-bottom: 12px; }
.acc-nav-avatar { width: 42px; height: 42px; border-radius: 99px; background: linear-gradient(180deg, var(--rose-soft), var(--rose-mist)); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-style: italic; font-size: 18px; color: var(--rose-deep); }
.acc-nav-info { display: flex; flex-direction: column; line-height: 1.2; }
.acc-nav-name { font-size: 14px; font-weight: 600; }
.acc-nav-role { font-size: 11.5px; color: var(--ink-soft); font-style: italic; }
.acc-nav a { display: flex; align-items: center; gap: 10px; padding: 9px 12px; font-size: 13px; color: var(--ink); border-radius: 99px; text-decoration: none; transition: all 0.2s; }
.acc-nav a:hover { background: var(--rose-mist); color: var(--rose-deep); }
.acc-nav a.active { background: var(--rose); color: #fff; }
.acc-nav svg { color: var(--rose-deep); opacity: 0.8; flex-shrink: 0; }
.acc-nav a.logout { color: var(--ink-mute); margin-top: 8px; padding-top: 12px; border-top: 1px dashed var(--rose-soft); border-radius: 0; }
.acc-section { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 24px 28px; margin-bottom: 18px; }
.acc-section h2 { font-family: var(--font-display); font-size: 20px; font-weight: 500; margin: 0 0 16px; }
.acc-table { display: grid; gap: 1px; background: var(--rose-soft); border: 1px solid var(--rose-soft); border-radius: 12px; overflow: hidden; }
.acc-table .row { display: grid; gap: 16px; padding: 14px 18px; background: #fff; align-items: center; font-size: 13px; }
.acc-table .row.head { background: var(--rose-mist); font-weight: 600; font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink-soft); }
.acc-status { font-size: 11.5px; font-weight: 600; padding: 3px 10px; border-radius: 99px; display: inline-block; }
.acc-status-delivered { background: #DCE7CC; color: #466b25; }
.acc-status-shipped { background: var(--rose-mist); color: var(--rose-deep); }
.acc-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; }
.acc-field label { font-size: 12px; color: var(--ink-soft); font-weight: 500; }
.acc-field input, .acc-field select, .acc-field textarea { font: inherit; padding: 11px 14px; border: 1.5px solid var(--rose-soft); border-radius: 10px; background: #fff; font-size: 14px; }
.acc-field input:focus { outline: none; border-color: var(--rose); }
.acc-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.acc-save { background: var(--rose); color: #fff; border: none; border-radius: 99px; padding: 11px 24px; font: inherit; font-weight: 500; font-size: 13.5px; cursor: pointer; margin-top: 8px; }
.acc-save:hover { background: var(--rose-deep); }
.acc-addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.acc-address-card { background: #fff; border: 1.5px solid var(--rose-soft); border-radius: 14px; padding: 18px 22px; position: relative; }
.acc-address-card.default { border-color: var(--rose); }
.acc-address-tag { position: absolute; top: -10px; left: 16px; background: var(--rose); color: #fff; font-family: var(--font-hand); font-size: 14px; padding: 2px 10px; border-radius: 99px; }
.acc-address-card h4 { font-family: var(--font-display); font-size: 15px; font-weight: 500; margin: 0 0 8px; }
.acc-address-card p { font-size: 13px; color: var(--ink-soft); line-height: 1.5; margin: 0 0 12px; }
.acc-address-actions { display: flex; gap: 12px; font-size: 12px; }
.acc-address-actions a { color: var(--rose-deep); text-decoration: underline; }
.acc-empty { text-align: center; padding: 40px; color: var(--ink-soft); }
.acc-empty h3 { font-family: var(--font-display); font-size: 22px; font-weight: 500; color: var(--ink); margin: 0 0 8px; }


/* ===== my-account-view-order.html (lines 2271-2314 = 44) ===== */

.acc-page { max-width: var(--maxw, 1320px); margin: 0 auto; padding: 32px var(--gutter, 24px) 64px; }
.acc-header { margin-bottom: 28px; }
.acc-header h1 { font-family: var(--font-display); font-size: 36px; font-weight: 500; letter-spacing: -0.025em; margin: 0 0 4px; }
.acc-header h1 em { font-style: italic; color: var(--rose-deep); }
.acc-header p { font-size: 14px; color: var(--ink-soft); margin: 0; }
.acc-layout { display: grid; grid-template-columns: 240px 1fr; gap: 24px; align-items: flex-start; }
.acc-nav { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 14px; position: sticky; top: 20px; }
.acc-nav-user { display: flex; align-items: center; gap: 12px; padding: 8px 12px 16px; border-bottom: 1px dashed var(--rose-soft); margin-bottom: 12px; }
.acc-nav-avatar { width: 42px; height: 42px; border-radius: 99px; background: linear-gradient(180deg, var(--rose-soft), var(--rose-mist)); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-style: italic; font-size: 18px; color: var(--rose-deep); }
.acc-nav-info { display: flex; flex-direction: column; line-height: 1.2; }
.acc-nav-name { font-size: 14px; font-weight: 600; }
.acc-nav-role { font-size: 11.5px; color: var(--ink-soft); font-style: italic; }
.acc-nav a { display: flex; align-items: center; gap: 10px; padding: 9px 12px; font-size: 13px; color: var(--ink); border-radius: 99px; text-decoration: none; transition: all 0.2s; }
.acc-nav a:hover { background: var(--rose-mist); color: var(--rose-deep); }
.acc-nav a.active { background: var(--rose); color: #fff; }
.acc-nav svg { color: var(--rose-deep); opacity: 0.8; flex-shrink: 0; }
.acc-nav a.logout { color: var(--ink-mute); margin-top: 8px; padding-top: 12px; border-top: 1px dashed var(--rose-soft); border-radius: 0; }
.acc-section { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 24px 28px; margin-bottom: 18px; }
.acc-section h2 { font-family: var(--font-display); font-size: 20px; font-weight: 500; margin: 0 0 16px; }
.acc-table { display: grid; gap: 1px; background: var(--rose-soft); border: 1px solid var(--rose-soft); border-radius: 12px; overflow: hidden; }
.acc-table .row { display: grid; gap: 16px; padding: 14px 18px; background: #fff; align-items: center; font-size: 13px; }
.acc-table .row.head { background: var(--rose-mist); font-weight: 600; font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink-soft); }
.acc-status { font-size: 11.5px; font-weight: 600; padding: 3px 10px; border-radius: 99px; display: inline-block; }
.acc-status-delivered { background: #DCE7CC; color: #466b25; }
.acc-status-shipped { background: var(--rose-mist); color: var(--rose-deep); }
.acc-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; }
.acc-field label { font-size: 12px; color: var(--ink-soft); font-weight: 500; }
.acc-field input, .acc-field select, .acc-field textarea { font: inherit; padding: 11px 14px; border: 1.5px solid var(--rose-soft); border-radius: 10px; background: #fff; font-size: 14px; }
.acc-field input:focus { outline: none; border-color: var(--rose); }
.acc-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.acc-save { background: var(--rose); color: #fff; border: none; border-radius: 99px; padding: 11px 24px; font: inherit; font-weight: 500; font-size: 13.5px; cursor: pointer; margin-top: 8px; }
.acc-save:hover { background: var(--rose-deep); }
.acc-addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.acc-address-card { background: #fff; border: 1.5px solid var(--rose-soft); border-radius: 14px; padding: 18px 22px; position: relative; }
.acc-address-card.default { border-color: var(--rose); }
.acc-address-tag { position: absolute; top: -10px; left: 16px; background: var(--rose); color: #fff; font-family: var(--font-hand); font-size: 14px; padding: 2px 10px; border-radius: 99px; }
.acc-address-card h4 { font-family: var(--font-display); font-size: 15px; font-weight: 500; margin: 0 0 8px; }
.acc-address-card p { font-size: 13px; color: var(--ink-soft); line-height: 1.5; margin: 0 0 12px; }
.acc-address-actions { display: flex; gap: 12px; font-size: 12px; }
.acc-address-actions a { color: var(--rose-deep); text-decoration: underline; }
.acc-empty { text-align: center; padding: 40px; color: var(--ink-soft); }
.acc-empty h3 { font-family: var(--font-display); font-size: 22px; font-weight: 500; color: var(--ink); margin: 0 0 8px; }


/* ===== order-received.html (lines 2271-2301 = 31) ===== */

.or-page { max-width: 920px; margin: 0 auto; padding: 48px var(--gutter, 24px) 64px; }
.or-hero { background: var(--rose-mist); border-radius: 22px; padding: 40px 36px; text-align: center; margin-bottom: 24px; position: relative; overflow: hidden; }
.or-check { width: 64px; height: 64px; border-radius: 99px; background: var(--rose); color: #fff; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.or-tag { font-family: var(--font-hand); font-size: 22px; color: var(--rose-deep); transform: rotate(-2deg); display: inline-block; margin-bottom: 4px; }
.or-hero h1 { font-family: var(--font-display); font-size: 32px; font-weight: 500; letter-spacing: -0.022em; margin: 4px 0 12px; }
.or-hero h1 em { font-style: italic; color: var(--rose-deep); }
.or-hero p { font-size: 14.5px; color: var(--ink-soft); margin: 0; max-width: 540px; margin: 0 auto; line-height: 1.6; }
.or-card { background: #fff; border: 1px solid var(--rose-soft); border-radius: 18px; padding: 24px 28px; margin-bottom: 16px; }
.or-card h3 { font-family: var(--font-display); font-size: 18px; font-weight: 500; margin: 0 0 14px; }
.or-meta { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.or-meta-item label { font-size: 11.5px; color: var(--ink-mute); text-transform: uppercase; letter-spacing: 0.04em; display: block; margin-bottom: 4px; }
.or-meta-item div { font-size: 14px; font-weight: 500; }
.or-items { display: grid; gap: 12px; }
.or-item { display: grid; grid-template-columns: 60px 1fr auto; gap: 14px; align-items: center; padding: 10px 0; border-bottom: 1px dashed var(--rose-soft); }
.or-item:last-child { border: none; }
.or-item-img { width: 60px; height: 60px; border-radius: 10px; background-size: contain; background-repeat: no-repeat; background-position: center; background-color: var(--rose-mist); }
.or-item-name { font-size: 14px; font-weight: 500; line-height: 1.3; }
.or-item-meta { font-size: 12px; color: var(--ink-soft); }
.or-item-price { font-family: var(--font-display); font-size: 16px; font-weight: 500; }
.or-totals { display: grid; gap: 6px; font-size: 13px; color: var(--ink-soft); }
.or-totals .row { display: flex; justify-content: space-between; }
.or-totals .row strong { color: var(--ink); }
.or-totals .total { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--rose-soft); font-size: 16px; }
.or-totals .total strong { font-family: var(--font-display); font-size: 20px; }
.or-cta { display: flex; gap: 10px; margin-top: 24px; justify-content: center; flex-wrap: wrap; }
.or-cta a { padding: 12px 24px; border-radius: 14px; font-size: 13.5px; font-weight: 500; text-decoration: none; }
.or-cta a.primary { background: var(--ink); color: #fff; }
.or-cta a.primary:hover { background: var(--rose); }
.or-cta a.ghost { color: var(--ink); border: 1.5px solid var(--rose-soft); }


/* ===== page.html (lines 2271-2288 = 18) ===== */

.lg-page { max-width: 760px; margin: 0 auto; padding: 48px var(--gutter, 24px) 64px; }
.lg-page > .tag { font-family: var(--font-hand); font-size: 22px; color: var(--rose-deep); transform: rotate(-1.5deg); display: inline-block; }
.lg-page h1 { font-family: var(--font-display); font-size: 38px; font-weight: 500; letter-spacing: -0.025em; line-height: 1.05; margin: 4px 0 24px; }
.lg-page h1 em { font-style: italic; color: var(--rose-deep); }
.lg-updated { font-size: 12px; color: var(--ink-mute); margin-bottom: 32px; }
.lg-content { font-size: 15px; line-height: 1.7; color: var(--ink); }
.lg-content h2 { font-family: var(--font-display); font-size: 22px; font-weight: 500; letter-spacing: -0.015em; margin: 32px 0 12px; }
.lg-content p { margin: 0 0 16px; color: var(--ink-soft); }
.lg-content ul { margin: 0 0 16px; padding-left: 22px; color: var(--ink-soft); }
.lg-content li { margin-bottom: 6px; }
.lg-content strong { color: var(--ink); font-weight: 600; }
.lg-toc { background: var(--rose-mist); border-radius: 14px; padding: 18px 22px; margin-bottom: 32px; }
.lg-toc-title { font-family: var(--font-display); font-style: italic; color: var(--rose-deep); font-size: 14px; margin-bottom: 8px; }
.lg-toc ol { margin: 0; padding-left: 22px; font-size: 13.5px; }
.lg-toc ol a { color: var(--ink); text-decoration: none; }
.lg-toc ol a:hover { color: var(--rose-deep); text-decoration: underline; }


/* ===== privacy-policy.html (lines 2271-2288 = 18) ===== */

.lg-page { max-width: 760px; margin: 0 auto; padding: 48px var(--gutter, 24px) 64px; }
.lg-page > .tag { font-family: var(--font-hand); font-size: 22px; color: var(--rose-deep); transform: rotate(-1.5deg); display: inline-block; }
.lg-page h1 { font-family: var(--font-display); font-size: 38px; font-weight: 500; letter-spacing: -0.025em; line-height: 1.05; margin: 4px 0 24px; }
.lg-page h1 em { font-style: italic; color: var(--rose-deep); }
.lg-updated { font-size: 12px; color: var(--ink-mute); margin-bottom: 32px; }
.lg-content { font-size: 15px; line-height: 1.7; color: var(--ink); }
.lg-content h2 { font-family: var(--font-display); font-size: 22px; font-weight: 500; letter-spacing: -0.015em; margin: 32px 0 12px; }
.lg-content p { margin: 0 0 16px; color: var(--ink-soft); }
.lg-content ul { margin: 0 0 16px; padding-left: 22px; color: var(--ink-soft); }
.lg-content li { margin-bottom: 6px; }
.lg-content strong { color: var(--ink); font-weight: 600; }
.lg-toc { background: var(--rose-mist); border-radius: 14px; padding: 18px 22px; margin-bottom: 32px; }
.lg-toc-title { font-family: var(--font-display); font-style: italic; color: var(--rose-deep); font-size: 14px; margin-bottom: 8px; }
.lg-toc ol { margin: 0; padding-left: 22px; font-size: 13.5px; }
.lg-toc ol a { color: var(--ink); text-decoration: none; }
.lg-toc ol a:hover { color: var(--rose-deep); text-decoration: underline; }


/* ===== search-empty.html (lines 2271-2286 = 16) ===== */

.sr-page { max-width: var(--maxw, 1320px); margin: 0 auto; padding: 32px var(--gutter, 24px) 64px; }
.sr-hero { text-align: center; margin-bottom: 32px; }
.sr-tag { font-family: var(--font-hand); font-size: 22px; color: var(--rose-deep); transform: rotate(-1.5deg); display: inline-block; }
.sr-hero h1 { font-family: var(--font-display); font-size: 32px; font-weight: 500; letter-spacing: -0.022em; margin: 4px 0 12px; }
.sr-hero h1 em { font-style: italic; color: var(--rose-deep); }
.sr-bar { display: flex; max-width: 540px; margin: 0 auto; background: #fff; border: 1.5px solid var(--rose-soft); border-radius: 99px; padding: 4px 4px 4px 22px; }
.sr-bar input { flex: 1; border: none; background: none; outline: none; padding: 12px 0; font: inherit; font-size: 14px; }
.sr-bar button { background: var(--rose); color: #fff; border: none; border-radius: 99px; padding: 11px 22px; font: inherit; font-size: 13.5px; font-weight: 500; cursor: pointer; }
.sr-tabs { display: flex; gap: 4px; justify-content: center; margin: 22px 0 0; font-size: 12.5px; color: var(--ink-soft); }
.sr-tab { padding: 6px 14px; border-radius: 99px; cursor: pointer; }
.sr-tab.active { background: var(--rose); color: #fff; }
.sr-empty { text-align: center; padding: 60px 24px; max-width: 540px; margin: 0 auto; }
.sr-empty h2 { font-family: var(--font-display); font-size: 24px; font-weight: 500; margin: 0 0 8px; }
.sr-empty p { color: var(--ink-soft); font-size: 14px; margin: 0 0 22px; }


/* ===== search.html (lines 2271-2286 = 16) ===== */

.sr-page { max-width: var(--maxw, 1320px); margin: 0 auto; padding: 32px var(--gutter, 24px) 64px; }
.sr-hero { text-align: center; margin-bottom: 32px; }
.sr-tag { font-family: var(--font-hand); font-size: 22px; color: var(--rose-deep); transform: rotate(-1.5deg); display: inline-block; }
.sr-hero h1 { font-family: var(--font-display); font-size: 32px; font-weight: 500; letter-spacing: -0.022em; margin: 4px 0 12px; }
.sr-hero h1 em { font-style: italic; color: var(--rose-deep); }
.sr-bar { display: flex; max-width: 540px; margin: 0 auto; background: #fff; border: 1.5px solid var(--rose-soft); border-radius: 99px; padding: 4px 4px 4px 22px; }
.sr-bar input { flex: 1; border: none; background: none; outline: none; padding: 12px 0; font: inherit; font-size: 14px; }
.sr-bar button { background: var(--rose); color: #fff; border: none; border-radius: 99px; padding: 11px 22px; font: inherit; font-size: 13.5px; font-weight: 500; cursor: pointer; }
.sr-tabs { display: flex; gap: 4px; justify-content: center; margin: 22px 0 0; font-size: 12.5px; color: var(--ink-soft); }
.sr-tab { padding: 6px 14px; border-radius: 99px; cursor: pointer; }
.sr-tab.active { background: var(--rose); color: #fff; }
.sr-empty { text-align: center; padding: 60px 24px; max-width: 540px; margin: 0 auto; }
.sr-empty h2 { font-family: var(--font-display); font-size: 24px; font-weight: 500; margin: 0 0 8px; }
.sr-empty p { color: var(--ink-soft); font-size: 14px; margin: 0 0 22px; }


/* ===== shop.html (lines 2271-2313 = 43) ===== */

.shop-hero {
  padding: 48px 24px 24px;
  text-align: center;
}
.shop-breadcrumb {
  max-width: var(--maxw, 1320px);
  margin: 0 auto 12px;
  font-size: 12px;
  color: var(--ink-mute);
  display: flex;
  justify-content: center;
  gap: 8px;
}
.shop-breadcrumb a { color: var(--ink-soft); }
.shop-breadcrumb span { opacity: 0.5; }
.shop-title { font-family: var(--font-display); font-size: 44px; letter-spacing: -0.025em; font-weight: 500; margin: 0 0 8px; }
.shop-title em { font-style: italic; color: var(--rose-deep); font-variation-settings: "opsz" 144, "SOFT" 100; }
.shop-sub { font-size: 14px; color: var(--ink-soft); font-style: italic; }
.shop-layout { max-width: var(--maxw, 1320px); margin: 0 auto; padding: 24px var(--gutter, 24px) 64px; display: grid; grid-template-columns: 240px 1fr; gap: 32px; }
.shop-filters { background: #fff; border: 1px solid var(--rose-soft); border-radius: 16px; padding: 22px 22px; align-self: flex-start; position: sticky; top: 20px; }
.shop-filter-group { padding: 14px 0; border-bottom: 1px dashed var(--rose-soft); }
.shop-filter-group:last-child { border: none; padding-bottom: 0; }
.shop-filter-group:first-child { padding-top: 0; }
.shop-filter-title { font-family: var(--font-display); font-size: 15px; font-weight: 600; margin: 0 0 12px; display: flex; justify-content: space-between; align-items: center; }
.shop-filter-title svg { color: var(--ink-mute); }
.shop-filter-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.shop-filter-item { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--ink-soft); cursor: pointer; }
.shop-filter-item input { appearance: none; width: 14px; height: 14px; border: 1.5px solid var(--rose-soft); border-radius: 4px; position: relative; cursor: pointer; }
.shop-filter-item input:checked { background: var(--rose); border-color: var(--rose); }
.shop-filter-item input:checked::after { content: "✓"; position: absolute; top: -3px; left: 1px; color: #fff; font-size: 11px; font-weight: 700; }
.shop-filter-item .shop-filter-count { margin-left: auto; color: var(--ink-mute); font-size: 11.5px; }
.shop-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; padding: 12px 18px; background: #fff; border: 1px solid var(--rose-soft); border-radius: 99px; }
.shop-count { font-size: 13px; color: var(--ink-soft); }
.shop-count strong { color: var(--ink); font-weight: 600; }
.shop-sort { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.shop-sort select { font: inherit; font-size: 13px; padding: 6px 10px; border: 1px solid var(--rose-soft); border-radius: 99px; background: var(--cream); cursor: pointer; }
.shop-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.shop-pagination { display: flex; justify-content: center; gap: 6px; margin-top: 48px; }
.shop-page { width: 36px; height: 36px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--rose-soft); color: var(--ink); font-size: 13px; cursor: pointer; transition: all 0.2s; }
.shop-page:hover, .shop-page.active { background: var(--rose); color: #fff; border-color: var(--rose); }
.shop-page.disabled { opacity: 0.4; cursor: default; }


/* ===== single.html (lines 2271-2329 = 59) ===== */

.sp-page { max-width: 760px; margin: 0 auto; padding: 32px var(--gutter, 24px) 64px; }
.sp-breadcrumb { font-size: 12px; color: var(--ink-mute); margin-bottom: 14px; display: flex; gap: 8px; }
.sp-breadcrumb a { color: var(--ink-soft); }
.sp-cat { font-family: var(--font-hand); font-size: 22px; color: var(--rose-deep); transform: rotate(-1.5deg); display: inline-block; margin-bottom: 4px; }
.sp-title { font-family: var(--font-display); font-size: 42px; font-weight: 500; letter-spacing: -0.028em; line-height: 1.05; margin: 4px 0 16px; }
.sp-title em { font-style: italic; color: var(--rose-deep); }
.sp-meta { display: flex; gap: 14px; align-items: center; font-size: 13px; color: var(--ink-soft); margin-bottom: 28px; padding-bottom: 20px; border-bottom: 1px dashed var(--rose-soft); }
.sp-author { display: flex; align-items: center; gap: 8px; }
.sp-author-avatar { width: 32px; height: 32px; border-radius: 99px; background: linear-gradient(180deg, var(--rose-soft), var(--rose-mist)); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-style: italic; color: var(--rose-deep); font-size: 14px; }
.sp-cover { aspect-ratio: 16/9; border-radius: 18px; background-size: cover; background-position: center; margin-bottom: 32px; box-shadow: 0 24px 48px -24px rgba(0,0,0,0.18); }
.sp-content { font-size: 16px; line-height: 1.75; color: var(--ink); }
.sp-content p { margin: 0 0 18px; }
.sp-content h2 { font-family: var(--font-display); font-size: 26px; font-weight: 500; letter-spacing: -0.018em; margin: 32px 0 12px; }
.sp-content h2 em { font-style: italic; color: var(--rose-deep); }
.sp-content h3 { font-family: var(--font-display); font-size: 20px; font-weight: 500; margin: 28px 0 10px; }
.sp-content blockquote { border-left: 3px solid var(--rose); padding: 8px 0 8px 20px; margin: 24px 0; font-family: var(--font-display); font-style: italic; font-size: 18px; color: var(--rose-deep); }
.sp-content ul { padding-left: 22px; margin: 0 0 18px; }
.sp-content ul li { margin-bottom: 6px; }
.sp-content strong { color: var(--ink); font-weight: 600; }
.sp-share { margin: 40px 0; padding: 18px 22px; background: var(--rose-mist); border-radius: 14px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.sp-share-label { font-family: var(--font-hand); font-size: 18px; color: var(--rose-deep); }
.sp-share-buttons { display: flex; gap: 8px; }
.sp-share-buttons a { width: 32px; height: 32px; border-radius: 99px; background: #fff; display: inline-flex; align-items: center; justify-content: center; color: var(--rose-deep); }
.sp-related { margin-top: 56px; }
.sp-related h3 { font-family: var(--font-display); font-size: 22px; font-weight: 500; margin: 0 0 18px; }
.sp-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }

.bp-hero { padding: 48px 24px 24px; text-align: center; max-width: 720px; margin: 0 auto; }
.bp-hero .tag { font-family: var(--font-hand); font-size: 26px; color: var(--rose-deep); transform: rotate(-1.5deg); display: inline-block; margin-bottom: 4px; }
.bp-hero h1 { font-family: var(--font-display); font-size: 38px; font-weight: 500; letter-spacing: -0.025em; margin: 0 0 12px; }
.bp-hero h1 em { font-style: italic; color: var(--rose-deep); }
.bp-hero p { font-size: 14.5px; color: var(--ink-soft); margin: 0 0 22px; line-height: 1.6; }
.bp-cats { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.bp-cat { padding: 6px 14px; border: 1.5px solid var(--rose-soft); border-radius: 99px; font-size: 12.5px; color: var(--ink-soft); cursor: pointer; transition: all 0.2s; text-decoration: none; }
.bp-cat:hover { border-color: var(--rose); color: var(--rose-deep); }
.bp-cat.active { background: var(--rose); color: #fff; border-color: var(--rose); }
.bp-layout { max-width: var(--maxw, 1320px); margin: 0 auto; padding: 24px var(--gutter, 24px) 64px; }
.bp-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; background: var(--rose-mist); border-radius: 22px; padding: 32px; margin-bottom: 32px; }
.bp-feature-img { aspect-ratio: 4/3; border-radius: 16px; background-size: cover; background-position: center; box-shadow: 0 20px 40px -20px rgba(129,194,184,0.4); }
.bp-feature .badge { font-family: var(--font-hand); font-size: 22px; color: var(--rose-deep); transform: rotate(-2deg); display: inline-block; }
.bp-feature h2 { font-family: var(--font-display); font-size: 28px; font-weight: 500; letter-spacing: -0.022em; line-height: 1.1; margin: 6px 0 12px; }
.bp-feature h2 em { font-style: italic; color: var(--rose-deep); }
.bp-feature .meta { display: flex; gap: 14px; font-size: 12px; color: var(--ink-soft); margin-bottom: 10px; }
.bp-feature .meta span { display: inline-flex; align-items: center; gap: 4px; }
.bp-feature p { font-size: 14.5px; color: var(--ink-soft); line-height: 1.6; margin: 0 0 16px; }
.bp-feature .read { display: inline-flex; align-items: center; gap: 6px; color: var(--rose-deep); font-weight: 500; font-size: 13.5px; text-decoration: none; border-bottom: 1.5px solid var(--rose-deep); padding-bottom: 2px; }
.bp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.bp-card { display: flex; flex-direction: column; cursor: pointer; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); text-decoration: none; color: inherit; }
.bp-card:hover { transform: translateY(-4px); }
.bp-card-img { aspect-ratio: 4/3; border-radius: 14px; background-size: cover; background-position: center; background-color: var(--rose-mist); margin-bottom: 14px; }
.bp-card-cat { font-family: var(--font-hand); font-size: 16px; color: var(--rose-deep); margin-bottom: 2px; }
.bp-card h3 { font-family: var(--font-display); font-size: 18px; font-weight: 500; letter-spacing: -0.012em; line-height: 1.25; margin: 0 0 8px; }
.bp-card .meta { display: flex; gap: 12px; font-size: 11.5px; color: var(--ink-mute); margin-bottom: 8px; }
.bp-card p { font-size: 13.5px; color: var(--ink-soft); line-height: 1.55; margin: 0; }
.bp-pagination { display: flex; justify-content: center; gap: 6px; margin-top: 48px; }
.bp-pagination button { width: 36px; height: 36px; border-radius: 99px; background: #fff; border: 1px solid var(--rose-soft); cursor: pointer; font: inherit; font-size: 13px; }
.bp-pagination button.active { background: var(--rose); color: #fff; border-color: var(--rose); }


/* ===== single-product.html (lines 2271-2332 = 62) ===== */

.product-page { padding: clamp(6px, 1vw, 12px) 0 36px; }
.product-breadcrumb { font-size: 12px; color: var(--ink-mute); margin-bottom: 20px; display: flex; gap: 8px; }
.product-breadcrumb a { color: var(--ink-soft); }
.product-breadcrumb span { opacity: 0.5; }
.product-layout { display: grid; grid-template-columns: 1fr 1.08fr; gap: 40px; align-items: flex-start; }
.product-gallery { position: sticky; top: 20px; }
.product-gallery-main {
  aspect-ratio: 1 / 1;
  background: #fff;
  border: 1px solid #e5e4df;
  border-radius: 18px;
  position: relative;
  overflow: hidden;
  margin-bottom: 12px;
}
.product-gallery-img { position: absolute; inset: 0; background-size: contain; background-position: center; background-repeat: no-repeat; }
.product-gallery-badge { position: absolute; top: 20px; left: 20px; font-family: var(--font-hand); font-size: 22px; color: var(--rose-deep); font-weight: 700; transform: rotate(-6deg); text-shadow: 0 2px 4px rgba(255,255,255,0.8); }
.product-gallery-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.product-thumb { aspect-ratio: 1 / 1; border-radius: 12px; background-color: #fff; border: 1.5px solid #e5e4df; cursor: pointer; overflow: hidden; background-size: contain; background-position: center; background-repeat: no-repeat; transition: border-color 0.2s; }
.product-thumb.active, .product-thumb:hover { border-color: var(--rose); }

.product-detail-brand { font-family: var(--font-hand); font-size: 24px; color: var(--rose-deep); font-weight: 600; transform: rotate(-1deg); display: inline-block; margin-bottom: 4px; }
.product-detail-name { font-family: var(--font-display); font-size: 26px; font-weight: 500; letter-spacing: -0.02em; line-height: 1.15; margin: 4px 0 14px; }
.product-detail-rating { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.product-detail-stars { color: var(--rose); display: inline-flex; gap: 2px; }
.product-detail-rating-text { font-size: 13.5px; color: var(--ink-soft); }
.product-detail-rating-text a { color: var(--rose-deep); text-decoration: underline; }
.product-detail-price-row { display: flex; align-items: baseline; gap: 14px; padding: 18px 0; border-top: 1px solid var(--rose-soft); border-bottom: 1px solid var(--rose-soft); }
.product-detail-price { font-family: var(--font-display); font-size: 26px; font-weight: 600; letter-spacing: -0.02em; line-height: 1; }
.product-detail-price small { font-size: 15px; color: var(--ink-soft); }
.product-detail-was { text-decoration: line-through; color: var(--ink-mute); font-size: 15px; }
.product-detail-save { background: var(--rose-mist); color: var(--rose-deep); padding: 4px 10px; border-radius: 99px; font-size: 11.5px; font-weight: 600; }
.product-detail-stock { margin: 18px 0; display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--ink); }
.product-detail-stock-dot { width: 8px; height: 8px; border-radius: 99px; background: #6b9333; }
.product-detail-variant { margin: 18px 0; }
.product-detail-variant-label { font-size: 12.5px; font-weight: 600; margin-bottom: 8px; }
.product-detail-variant-label span { color: var(--ink-soft); font-weight: 400; }
.product-detail-variant-options { display: flex; gap: 8px; flex-wrap: wrap; }
.product-detail-variant-options button { background: #fff; border: 1.5px solid var(--rose-soft); border-radius: 99px; padding: 8px 16px; font-size: 13px; cursor: pointer; font-family: var(--font-body); transition: all 0.2s; }
.product-detail-variant-options button.active { background: var(--ink); color: #fff; border-color: var(--ink); }
.product-detail-variant-options button:hover:not(.active) { border-color: var(--rose); color: var(--rose-deep); }
.product-detail-actions { display: flex; gap: 10px; margin: 22px 0 14px; }
.product-detail-qty { display: inline-flex; align-items: center; height: 46px; background: #fff; border: 1.5px solid var(--rose-soft); border-radius: 10px; overflow: hidden; }
.product-detail-qty button { width: 34px; height: 100%; background: none; border: none; cursor: pointer; font-size: 16px; }
.product-detail-qty input { width: 40px; height: 100%; text-align: center; border: none; background: none; font: inherit; font-size: 13px; font-weight: 600; -moz-appearance: textfield; appearance: textfield; padding: 0; margin: 0; }
.product-detail-qty input::-webkit-inner-spin-button, .product-detail-qty input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.product-detail-add { flex: 1; height: 46px; background: var(--rose); color: #fff; border: none; border-radius: 10px; padding: 0 24px; font: inherit; font-weight: 600; font-size: 14px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 8px 20px -8px color-mix(in oklab, var(--rose) 60%, transparent); }
.product-detail-add:hover { background: var(--rose-deep); }
.product-detail-fav { width: 48px; height: 48px; background: #fff; border: 1.5px solid var(--rose-soft); border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; color: var(--rose-deep); cursor: pointer; }

/* Zone variation WooCommerce (produits variables) : layout vertical aéré (sinon le flex parent écrase Alma + le menu taille). */
.product-detail-actions--wc { display: block; margin: 18px 0 14px; }
/* Widget Alma natif masqué sur la fiche (remplacé par une ligne sobre). */
.product-page .alma-product-eligibility { display: none !important; }
.product-detail-alma { display: flex; align-items: center; gap: 9px; margin: 12px 0; font-size: 13.5px; color: #444; }
.product-detail-alma__badge { background: #fa5022; color: #fff; font-weight: 700; font-size: 12px; padding: 3px 9px; border-radius: 6px; letter-spacing: 0.02em; }

/* === Fiche produit — rythme vertical propre, simple et aéré === */
.product-detail-brand { margin-bottom: 6px; }
.product-detail-name { margin: 2px 0 14px; }
.product-detail-ag { margin: 0 0 14px; }
.product-detail-rating { margin: 0 0 14px; }
.product-detail-price-row { margin: 0 0 16px; padding: 16px 0; }
.product-detail-alma { margin: 0 0 18px; }
.product-detail-actions--wc .variations { margin: 0 0 4px; }
.sxs-swatches { margin: 14px 0 20px; }
.product-detail-actions, .product-detail-actions--wc { margin: 0 0 16px; }
.sxs-delivery-est { margin: 0 0 14px; }
.product-detail-pay { margin: 0 0 6px; }
.product-detail-pay .sxs-payments { display: flex; gap: 7px; flex-wrap: wrap; align-items: center; }
.product-detail-pay .sxs-pay__svg, .product-detail-pay .sxs-pay img { height: 23px; width: auto; }
.product-detail-bullet { margin: 20px 0 0; padding-top: 18px; border-top: 1px solid var(--rose-soft); display: grid; gap: 11px; }

/* Supprime le "gros trou" entre les box de taille et le bouton Ajouter au panier */
.product-detail-actions--wc .reset_variations { display: none !important; }
.product-detail-actions--wc table.variations { margin: 0 !important; }
.product-detail-actions--wc table.variations tr:last-child td, .product-detail-actions--wc table.variations tr:last-child th { padding-bottom: 0 !important; }
.sxs-swatches { margin: 12px 0 10px !important; }
.product-detail-actions--wc .single_variation_wrap { margin-top: 0; }
.product-detail-actions--wc .woocommerce-variation:empty, .product-detail-actions--wc .single_variation:empty { display: none !important; margin: 0 !important; padding: 0 !important; }
.product-detail-actions--wc .woocommerce-variation { margin: 0 !important; }
.product-detail-actions--wc .woocommerce-variation-add-to-cart { margin-top: 0 !important; }
.product-detail-actions--wc .single_variation { margin: 0 !important; }
.product-detail-actions--wc .single_variation_wrap { margin: 0 !important; }
/* "En stock" WooCommerce masqué : on n'affiche que le stock faible via .sxs-stock-urgency */
.product-detail-actions--wc .woocommerce-variation-availability { display: none !important; }
/* Prix de variation masqué (déjà affiché en haut) → pas d'espace vide au clic d'une taille */
.product-detail-actions--wc .woocommerce-variation-price { display: none !important; }
.product-detail-actions--wc .woocommerce-variation-description { margin: 0 !important; }
.sxs-stock-urgency { margin: -6px 0 18px; font-size: 15px; font-weight: 700; color: #c0392b; }

/* === Fiche produit : typo standardisée + plus d'air (passe finale) === */
/* Marque : plus de manuscrit/rotation → label sobre uniforme */
.product-detail-brand { font-family: var(--font-body) !important; font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; color: var(--rose-deep) !important; transform: none !important; display: inline-block; margin: 0 0 12px !important; }
.product-detail-name { font-size: 25px !important; line-height: 1.25 !important; margin: 0 0 18px !important; }
.product-detail-rating { margin: 0 0 18px !important; }
.product-detail-price-row { margin: 0 0 22px !important; padding: 18px 0 !important; }
.product-detail-price { font-size: 27px !important; }
.product-detail-alma { margin: 0 0 24px !important; font-family: var(--font-body); font-size: 13.5px; }
/* Tous les libellés de section : même style sobre */
.product-detail-actions--wc .variations th, .product-detail-variant-label { font-family: var(--font-body) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; color: var(--ink) !important; margin-bottom: 12px !important; }
.sxs-swatches { margin: 14px 0 24px !important; }
.product-detail-actions, .product-detail-actions--wc { margin: 0 0 22px !important; }
.sxs-delivery-est { margin: 0 0 18px !important; font-family: var(--font-body); font-size: 13px; }
.product-detail-pay { margin: 0 0 4px !important; }
.product-detail-bullet { margin: 28px 0 0 !important; padding-top: 24px !important; gap: 15px !important; font-family: var(--font-body); font-size: 13.5px; }
.product-detail-bullet li { display: flex; align-items: center; gap: 11px; line-height: 1.5; }
.product-detail-bullet li svg { flex: 0 0 auto; }
/* Réassurance en 3 box à icônes */
.product-detail-reassure { margin: 26px 0 0; padding-top: 22px; border-top: 1px solid var(--rose-soft); display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.pdr-box { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; gap: 8px; padding: 15px 8px; border: 1px solid #e9e8e3; border-radius: 12px; font-family: var(--font-body); font-size: 11.5px; line-height: 1.35; color: #6a6a6a; }
.pdr-box svg { width: 25px; height: 25px; color: var(--rose); flex: 0 0 auto; }
.pdr-box strong { display: block; color: var(--ink); font-weight: 600; font-size: 12.5px; margin-bottom: 1px; }
@media (max-width: 480px) { .product-detail-reassure { gap: 6px; } .pdr-box { padding: 11px 5px; font-size: 10px; } .pdr-box strong { font-size: 11px; } }

/* Bloc symbolique de la pierre sur la fiche produit (sous les logos de paiement). */
.sxs-stone-virtues { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; max-width: 100%; box-sizing: border-box; margin: 24px 0 0; padding: 11px 14px; border: 1px solid #ebeae5; border-radius: 12px; background: color-mix(in srgb, var(--stone, #81C2B8) 7%, #fff); }
.sxs-stone-virtues__head { display: flex; align-items: center; gap: 9px; margin-bottom: 0; flex: 0 0 auto; }
.sxs-stone-virtues__dot { width: 13px; height: 13px; border-radius: 50%; background: var(--stone, #81C2B8); flex: 0 0 auto; box-shadow: 0 0 0 3px color-mix(in srgb, var(--stone, #81C2B8) 22%, transparent); }
.sxs-stone-virtues__name { font-family: var(--font-display, 'Jost', sans-serif); font-size: 15px; font-weight: 600; color: var(--ink, #20302d); text-transform: uppercase; letter-spacing: .03em; }
.sxs-stone-virtues__list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 7px; }
.sxs-stone-virtues__list li { font-size: .82rem; line-height: 1; padding: 7px 12px; border-radius: 10px; background: color-mix(in srgb, var(--stone, #81C2B8) 13%, #fff); color: #3c4a47; border: 1px solid color-mix(in srgb, var(--stone, #81C2B8) 28%, transparent); }

/* ===== Case « Emballer ce bijou » (paquet cadeau lié au produit) ===== */
.sxs-giftwrap { display: flex; align-items: center; gap: 12px; margin: 18px 0 0; padding: 12px 15px; border: 1px solid #e6e1d6; border-radius: 12px; background: #fff; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.sxs-giftwrap:hover { border-color: var(--turquoise, #81C2B8); }
.sxs-giftwrap.is-on { border-color: var(--turquoise-d, #5FA39A); background: color-mix(in srgb, var(--turquoise, #81C2B8) 8%, #fff); }
.sxs-giftwrap__cb { position: absolute; opacity: 0; width: 0; height: 0; }
.sxs-giftwrap__box { flex: 0 0 auto; width: 22px; height: 22px; border: 1.5px solid #cfd3d6; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: #fff; transition: background .15s ease, border-color .15s ease; }
.sxs-giftwrap__box svg { opacity: 0; }
.sxs-giftwrap.is-on .sxs-giftwrap__box { background: var(--turquoise-d, #5FA39A); border-color: var(--turquoise-d, #5FA39A); }
.sxs-giftwrap.is-on .sxs-giftwrap__box svg { opacity: 1; }
.sxs-giftwrap__ico { flex: 0 0 auto; color: var(--turquoise-d, #5FA39A); display: inline-flex; }
.sxs-giftwrap__txt { display: flex; flex-direction: column; line-height: 1.3; flex: 1 1 auto; min-width: 0; }
.sxs-giftwrap__txt strong { font-size: 14px; color: var(--ink, #1f1f1d); font-weight: 600; }
.sxs-giftwrap__sub { font-size: 12.5px; color: var(--ink-soft, #6b6f76); }
.sxs-giftwrap__price { flex: 0 0 auto; margin-left: auto; font-size: 13px; font-weight: 700; color: #fff; -webkit-text-fill-color: #fff; background: var(--turquoise-d, #5FA39A); border-radius: 999px; padding: 4px 11px; white-space: nowrap; }
.sxs-giftwrap__price .amount, .sxs-giftwrap__price bdi { color: #fff !important; -webkit-text-fill-color: #fff; }
.sxs-giftwrap__spin { flex: 0 0 auto; width: 16px; height: 16px; margin-left: 8px; border: 2px solid #e0dccf; border-top-color: var(--turquoise-d, #5FA39A); border-radius: 50%; animation: sxsGwSpin .7s linear infinite; }
@keyframes sxsGwSpin { to { transform: rotate(360deg); } }

/* Bande défilante d'avis (Avis Garantis site) */
.sxs-reviews-band { margin: 48px 0; }
.sxs-reviews-band__head { display: flex; align-items: center; justify-content: center; gap: 12px 22px; flex-wrap: wrap; margin: 0 0 22px; }
.sxs-reviews-band__title { text-align: center; font-family: var(--font-display); font-size: 22px; font-weight: 500; margin: 0; }
.sxs-reviews-band__ag { display: inline-flex; align-items: center; }
.sxs-reviews-band__ag img, .sxs-reviews-band__ag svg { max-height: 26px; width: auto; }
.sxs-reviews-band__viewport { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.sxs-reviews-band__track { display: flex; gap: 16px; width: max-content; animation: sxs-marquee 70s linear infinite; }
.sxs-reviews-band:hover .sxs-reviews-band__track { animation-play-state: paused; }
.sxs-rev { flex: 0 0 290px; width: 290px; box-sizing: border-box; background: #fff; border: 1px solid #e9e8e3; border-radius: 14px; padding: 18px 20px; }
.sxs-rev__stars { color: var(--rose); margin-bottom: 9px; display: flex; gap: 1px; }
.sxs-rev__txt { font-family: var(--font-body); font-size: 13.5px; line-height: 1.55; color: #444; margin: 0 0 12px; }
.sxs-rev__who { font-family: var(--font-body); font-size: 12px; font-weight: 600; color: var(--ink); }
@keyframes sxs-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Carrousel "Produits similaires" — mêmes cartes .product que la catégorie, relié aux réglages sp_related. */
.sxs-related { margin: 56px 0 0; }
.sxs-related.shop-wide { max-width: none; padding: 0; margin: 56px 0 0; }

/* Description fiche produit (onglets supprimés) — classes dédiées, AUCUN héritage .cat-description (pas de barre turquoise ni centrage). Alignée à gauche, sans cadre, fondue dans la page, avec voir plus/voir moins. */
.product-desc { margin: 48px 0 0; text-align: left; background: none; border: 0; padding: 0; }
.product-desc__title { font-family: var(--font-display); font-size: 22px; font-weight: 500; margin: 0 0 18px; text-align: left; }
.product-desc__body { position: relative; max-height: 11em; overflow: hidden; text-align: left; font-size: 14.5px; line-height: 1.7; color: var(--ink-soft, #4f4f4f); }
.product-desc__body > :first-child { margin-top: 0; }
.product-desc__body h2 { font-family: var(--font-display); font-size: 18px; font-weight: 500; color: var(--ink); margin: 22px 0 8px; line-height: 1.3; text-align: left; }
.product-desc__body h3 { font-size: 15.5px; font-weight: 600; color: var(--ink); margin: 18px 0 6px; text-align: left; }
.product-desc__body p { margin: 0 0 12px; text-align: left; }
.product-desc__body ul, .product-desc__body ol { margin: 0 0 12px; padding-left: 20px; text-align: left; }
.product-desc__body li { margin: 4px 0; }
.product-desc__body strong { color: var(--ink); font-weight: 600; }
.product-desc__body::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3em; background: linear-gradient(transparent, #fff); pointer-events: none; }
.product-desc__toggle-in:checked ~ .product-desc__body { max-height: none; }
.product-desc__toggle-in:checked ~ .product-desc__body::after { display: none; }
.product-desc__toggle { display: inline-block; margin-top: 14px; color: var(--turquoise-d, #5FA39A); font-weight: 600; font-size: 13.5px; text-decoration: underline; cursor: pointer; }
.product-desc__toggle .less { display: none; }
.product-desc__toggle-in:checked ~ .product-desc__toggle .more { display: none; }
.product-desc__toggle-in:checked ~ .product-desc__toggle .less { display: inline; }

/* ===== HOME : HERO SLIDER (~600px, auto-rotatif) ===== */
.hero-slider { position: relative; width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); height: clamp(560px, 74vh, 720px); overflow: hidden; isolation: isolate; background: var(--sand, #e9ddc7); }
.hero-slider__track { position: absolute; inset: 0; }
.hero-slide { position: absolute; inset: 0; background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transform: scale(1.04); transition: opacity .9s ease, transform 6s ease; pointer-events: none; }
.hero-slide.is-active { opacity: 1; visibility: visible; transform: scale(1); pointer-events: auto; }
.hero-slide--brand { background-color: #cdbf9c; background-image: radial-gradient(120% 120% at 80% 18%, rgba(129,194,184,.9), transparent 56%), radial-gradient(130% 130% at 12% 95%, rgba(150,120,80,.55), transparent 58%); }
.hero-slide__scrim { position: absolute; inset: 0; z-index: 1; background: radial-gradient(120% 90% at 50% 50%, rgba(20,18,14,.32) 0%, rgba(20,18,14,.52) 100%); }
.hero-slide--brand .hero-slide__scrim { background: radial-gradient(120% 90% at 50% 50%, rgba(20,18,14,.12) 0%, rgba(20,18,14,.26) 100%); }
.hero-slide__inner { position: relative; z-index: 2; color: #fff; text-align: center; max-width: 620px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; }
.hero-slide__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; font-weight: 600; margin-bottom: 14px; opacity: .95; }
.hero-slide__eyebrow::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--turquoise, #81C2B8); }
.hero-slide__title { font-family: var(--font-display); font-weight: 500; font-size: clamp(25px, 3.1vw, 38px); line-height: 1.12; letter-spacing: -.01em; margin: 0 0 14px; }
.hero-slide__sub { font-size: clamp(13px, 1vw, 15px); line-height: 1.55; max-width: 40ch; margin: 0 0 24px; color: rgba(255,255,255,.9); }
.hero-slide__cta { display: inline-flex; align-items: center; gap: 9px; background: rgba(255,255,255,.08); color: #fff; border: 1.5px solid rgba(255,255,255,.55); padding: 12px 26px; border-radius: 10px; font-weight: 500; font-size: 13.5px; letter-spacing: .01em; text-decoration: none; backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); transition: background .25s ease, color .25s ease, border-color .25s ease; }
.hero-slide__cta:hover { background: #fff; color: var(--ink, #1f1f1d); border-color: #fff; }
.hero-slide__cta .arrow { transition: transform .25s ease; }
.hero-slide__cta:hover .arrow { transform: translateX(3px); }
.hero-slider__dots { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); z-index: 6; display: flex; gap: 9px; }
.hero-dot { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.5); cursor: pointer; transition: width .3s ease, background .3s ease; }
.hero-dot.is-active { width: 28px; background: #fff; }
/* Hero : vidéo de fond (globale ou par diapo) + voile sombre réglable (--hero-ov) */
.hero-slider__track { z-index: 1; }
.hero-bgvideo, .hero-slide__bgvideo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; border: 0; }
.hero-slide__scrim { background: rgba(20, 18, 14, var(--hero-ov, .45)) !important; }
.hero-slide--brand .hero-slide__scrim { background: rgba(20, 18, 14, calc(var(--hero-ov, .45) / 2)) !important; }
/* HOME : marges verticales IDENTIQUES sur tous les blocs (haut = bas, partout) */
.cats, .featured, .home-reviews, .story, .deals { padding-top: clamp(34px, 4vw, 52px) !important; padding-bottom: clamp(34px, 4vw, 52px) !important; }
.hero-slider + .cats { padding-top: clamp(34px, 4vw, 52px) !important; }
.cats { padding-bottom: clamp(18px, 2.2vw, 30px) !important; }

/* HOME : section "Notre histoire" — propre, dans la largeur de contenu standard. Texte gauche, image droite. */
.story { padding: clamp(34px, 4.5vw, 60px) 0 !important; overflow: visible; background: #f6f4ef !important; border-top: 1px solid #ece8df; border-bottom: 1px solid #ece8df; }
.story > .wrap { max-width: var(--maxw, 1480px) !important; margin: 0 auto !important; padding: 0 var(--gutter, 24px) !important; }
.story-grid { grid-template-columns: 0.85fr 1.15fr !important; gap: clamp(28px, 4vw, 56px) !important; align-items: stretch !important; }
.story-media { background-size: cover !important; }
.story-text { display: block !important; padding: 0 !important; }
.story-text h2 { font-size: clamp(20px, 2.3vw, 29px) !important; line-height: 1.15 !important; margin: 0 !important; }
.story-text p { font-size: 14.5px !important; line-height: 1.6 !important; margin-top: 14px !important; max-width: none !important; }
.story-text .story-cta { display: inline-flex !important; align-items: center; gap: 8px; margin-top: 22px !important; padding: 12px 22px !important; border-radius: 10px !important; background: var(--turquoise, #81C2B8) !important; color: #fff !important; border: 0 !important; font-family: var(--font-body) !important; font-weight: 600 !important; font-size: 13.5px !important; text-decoration: none !important; transition: background .2s ease; }
.story-text .story-cta:hover { background: var(--turquoise-d, #5FA39A) !important; }
/* image produit (détourée) : entière, centrée sur un panneau doux, hauteur mesurée */
.story-media { aspect-ratio: auto !important; height: 100% !important; max-height: none !important; min-height: 260px; margin: 0 !important; border-radius: 16px !important; background-color: #efe9dd !important; background-size: cover !important; background-repeat: no-repeat !important; background-position: center !important; }
@media (max-width: 860px) {
	.story-grid { grid-template-columns: 1fr !important; align-items: stretch !important; }
	.story-media { height: auto !important; aspect-ratio: 4 / 3 !important; }
}

/* HOME : Catégories en carrousel (4 visibles, auto-rotatif), images en cover */
.cats .section-head, .featured .section-head, .home-reviews .section-head, .deals .section-head { margin-bottom: clamp(16px, 2.2vw, 28px); }
.cats-slider { position: relative; }
.cats-slider__viewport { overflow: hidden; }
.cats-slider__track { display: flex; gap: 16px; transition: transform .6s cubic-bezier(.16, 1, .3, 1); will-change: transform; }
.cats-slider__track > .cat-card { flex: 0 0 calc((100% - 3 * 16px) / 4); border-radius: 16px; overflow: hidden; }
.cats-slider__track > .product-card { flex: 0 0 calc((100% - 3 * 16px) / 4); }
@media (max-width: 900px) { .cats-slider__track > .product-card { flex-basis: calc((100% - 16px) / 2); } }
@media (max-width: 560px) { .cats-slider__track > .product-card { flex-basis: calc((100% - 12px) / 1.35); } }
.cats-slider .cat-art { position: absolute; inset: 0; }
/* Survol : pastille blanche "Découvrir" (lisible meme sur video claire) */
.cats-slider .cat-cta { left: 18px; right: auto; bottom: 18px; background: #fff; color: var(--ink); padding: 9px 15px; border-radius: 10px; box-shadow: 0 4px 16px rgba(0,0,0,.18); font-family: var(--font-body); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; gap: 7px; z-index: 3; }
.cats-slider .cat-cta .arrow { transition: transform .3s var(--easing, ease); }
.cats-slider .cat-card:hover .cat-cta .arrow { transform: translateX(5px); }
.cats-slider .cat-art img, .cats-slider .cat-art__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 900px) { .cats-slider__track > .cat-card { flex-basis: calc((100% - 16px) / 2); } }
@media (max-width: 560px) { .cats-slider__track { gap: 12px; } .cats-slider__track > .cat-card { flex-basis: calc((100% - 12px) / 1.35); } }

/* HOME : grilles produits = MÊMES cartes que la catégorie (.shop-wide .product-card), sans le wrapper de page */
.products-grid.shop-wide, .deals-grid.shop-wide, .prod-slider.shop-wide { max-width: none !important; margin: 0 !important; padding: 0 !important; }

/* HOME : icônes SVG des bandes de réassurance (remplacent les ◆) */
.trust-cell .ic, .reassure .r-cell .ic { display: inline-flex; align-items: center; justify-content: center; color: var(--turquoise-d, #5FA39A); }
.trust-cell .ic svg { width: 22px; height: 22px; }
.reassure .r-cell .ic svg { width: 26px; height: 26px; }

/* HOME : bande réassurance du bas = fine + beige + horizontale (mêmes infos que la barre du header) */
.reassure { background: #f6f4ef !important; border-top: 1px solid #ece8df; border-bottom: 1px solid #ece8df; padding: 13px 0 !important; }
.reassure .reassure-inner { display: flex !important; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px clamp(18px, 4vw, 54px) !important; }
.reassure .r-cell { display: inline-flex !important; flex-direction: row !important; align-items: center !important; gap: 8px !important; padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; text-align: left !important; }
.reassure .r-cell .ic svg { width: 17px !important; height: 17px !important; }
.reassure .r-cell > span:last-child { font-family: var(--font-body); font-size: 13px !important; font-weight: 500 !important; color: var(--ink) !important; white-space: nowrap; }

/* Menu principal : rendu VERROUILLÉ et identique sur toutes les pages
   (police + taille + poids + interlettrage) — supprime toute différence home / pages WooCommerce. */
.header .nav-primary .nav-item:not(.nav-item-quiz) > a {
	font-family: 'Jost', 'Inter', system-ui, sans-serif !important;
	font-size: 16.5px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1.2 !important;
	padding: 5px 20px !important;
	border-radius: 8px !important;
}

/* ===== HOME : hero capé (fallback ancien hero-editorial s'il reste) ===== */
.hero-editorial { height: clamp(480px, 64vh, 600px) !important; min-height: 0 !important; }

/* ===== HOME : bloc Avis clients (mêmes polices/cartes que fiche & catégorie) ===== */
.home-reviews { padding: clamp(40px, 5vw, 72px) 0; background: #f6f4ef; border-top: 1px solid #ece8df; border-bottom: 1px solid #ece8df; }
.home-reviews .home-reviews__score { text-align: right; line-height: 1.05; }
.home-reviews__num { display: block; font-family: var(--font-display); font-size: clamp(18px, 2vw, 23px); font-weight: 500; color: var(--ink); }
.home-reviews__num small { font-size: .46em; font-weight: 400; color: var(--ink-soft); }
.home-reviews__count { font-size: 12.5px; color: var(--ink-soft); }
.home-reviews__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 14px; }
.home-review { display: flex; flex-direction: column; background: #fff; border: 1px solid #ececea; border-radius: 16px; padding: 24px 26px; box-shadow: 0 14px 34px -26px rgba(0,0,0,.2); }
.home-review__stars { color: var(--turquoise-d, #5FA39A); margin-bottom: 12px; display: flex; gap: 1px; }
.home-review__txt { font-family: var(--font-body); font-size: 14.5px; line-height: 1.6; color: #444; margin: 0 0 16px; flex: 1; }
.home-review__foot { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.home-review__who { font-family: var(--font-body); font-weight: 600; font-size: 13.5px; color: var(--ink); }
.home-review__date { font-size: 12px; color: var(--ink-soft); }
.home-reviews__ag { display: flex; justify-content: center; margin-top: 30px; }
@media (max-width: 880px) { .home-reviews__grid { grid-template-columns: 1fr; } .home-reviews .home-reviews__score { text-align: left; margin-top: 8px; } }
.sxs-related__title { font-family: var(--font-display); font-size: 22px; font-weight: 500; margin: 0 0 22px; }
.sxs-related__viewport { overflow: hidden; }
.sxs-related__track { display: flex; gap: clamp(16px, 1.8vw, 24px); transition: transform .6s cubic-bezier(.16, 1, .3, 1); will-change: transform; }
.sxs-related__track > .product-card { flex: 0 0 calc((100% - (var(--sxs-per, 4) - 1) * clamp(16px, 1.8vw, 24px)) / var(--sxs-per, 4)); width: auto; }
@media (max-width: 900px) { .sxs-related__track > .product-card { flex-basis: calc((100% - 16px) / 2); } }
@media (max-width: 560px) { .sxs-related__track { gap: 12px; } .sxs-related__track > .product-card { flex-basis: calc((100% - 12px) / 2); } }
.product-detail-actions--wc .variations { width: 100%; margin: 0 0 14px; border: 0; }
.product-detail-actions--wc .variations td, .product-detail-actions--wc .variations th { display: block; width: 100%; padding: 0; text-align: left; }
.product-detail-actions--wc .variations th { font-size: 12.5px; font-weight: 600; margin-bottom: 6px; }
.product-detail-actions--wc .variations select { width: 100%; padding: 12px 16px; border: 1.5px solid var(--rose-soft); border-radius: 99px; background: #fff; font: inherit; font-size: 14px; cursor: pointer; margin-bottom: 6px; }
.product-detail-actions--wc .reset_variations { font-size: 12px; }
.product-detail-actions--wc .woocommerce-variation-price { margin: 8px 0 14px; }
.product-detail-actions--wc .woocommerce-variation-price .price { font-family: var(--font-display); font-size: 24px; font-weight: 600; }
.product-detail-actions--wc .woocommerce-variation-availability { margin: 6px 0; font-size: 13.5px; }
.product-detail-actions--wc .woocommerce-variation-add-to-cart { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.product-detail-actions--wc .quantity { display: inline-flex; align-items: center; height: 46px; background: #fff; border: 1.5px solid var(--rose-soft); border-radius: 10px; overflow: hidden; }
.product-detail-actions--wc .quantity input { width: 34px; height: 100%; text-align: center; border: 0; background: none; font: inherit; font-size: 13px; font-weight: 600; -moz-appearance: textfield; appearance: textfield; }
.product-detail-actions--wc .quantity input::-webkit-inner-spin-button, .product-detail-actions--wc .quantity input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.sxs-qbtn { width: 34px; height: 100%; background: none; border: 0; cursor: pointer; font-size: 16px; line-height: 1; color: var(--ink); transition: color .15s; }
.sxs-qbtn:hover { color: var(--rose-deep); }
.product-detail-actions--wc .single_add_to_cart_button { flex: 1; height: 46px; min-width: 200px; background: var(--rose); color: #fff; border: 0; border-radius: 10px; padding: 0 24px; font: inherit; font-weight: 600; font-size: 14px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 8px 20px -8px color-mix(in oklab, var(--rose) 60%, transparent); }
.product-detail-actions--wc .single_add_to_cart_button:hover { background: var(--rose-deep); }
/* Taille en boutons (boxes) au lieu du menu déroulant */
.product-detail-actions--wc .variations select.sxs-has-swatch { display: none !important; }
.sxs-swatches { display: flex; gap: 10px; flex-wrap: wrap; margin: 2px 0 16px; }
.sxs-swatch { min-width: 46px; text-align: center; background: #fff; border: 1.5px solid #e5e4df; border-radius: 12px; padding: 10px 13px; font-size: 13px; font-weight: 600; line-height: 1.1; cursor: pointer; font-family: var(--font-body); color: var(--ink); transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease; box-shadow: 0 1px 2px rgba(0,0,0,0.03); }
.sxs-swatch:hover { border-color: var(--rose); color: var(--rose-deep); transform: translateY(-1px); box-shadow: 0 6px 14px -7px color-mix(in oklab, var(--rose) 55%, transparent); }
.sxs-swatch.active { background: var(--rose); border-color: var(--rose); color: #fff; box-shadow: 0 8px 18px -7px color-mix(in oklab, var(--rose) 70%, transparent); }
.product-detail-actions--wc .variations th { font-size: 12px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink); margin-bottom: 10px; }
/* Box taille en rupture : grisée + "Rupture", non cliquable */
.sxs-swatch.is-oos { position: relative; cursor: not-allowed; background: #f5f5f3; color: #b3b3b3; border-color: #e9e8e3; box-shadow: none; }
.sxs-swatch.is-oos:hover { transform: none; box-shadow: none; border-color: #e9e8e3; color: #b3b3b3; }
.sxs-swatch.is-oos > span:first-child { text-decoration: line-through; }
.sxs-swatch__oos { position: absolute; top: -9px; left: 50%; transform: translateX(-50%); background: #c0392b; color: #fff; padding: 1px 6px; border-radius: 5px; font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; white-space: nowrap; line-height: 1.45; text-decoration: none; }
.sxs-swatches { margin-top: 12px; }
/* Quantité + Ajouter au panier : largeur bornée (pas pleine largeur) */
.product-detail-actions, .product-detail-actions--wc .woocommerce-variation-add-to-cart { max-width: 430px; }
.product-detail-actions--wc .single_add_to_cart_button { flex: 1; min-width: 0; }
.product-detail-add { flex: 1; min-width: 0; }
.product-detail-bullet { margin: 18px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.product-detail-bullet li { display: flex; align-items: flex-start; gap: 10px; font-size: 13.5px; color: var(--ink-soft); }
.product-detail-bullet li svg { color: var(--rose); flex-shrink: 0; margin-top: 2px; }

.product-tabs { margin: 56px 0 0; }
.product-tabs-nav { display: flex; gap: 4px; border-bottom: 1px solid var(--rose-soft); margin-bottom: 32px; }
.product-tabs-btn { background: none; border: none; padding: 14px 22px; font: inherit; font-weight: 500; color: var(--ink-soft); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.product-tabs-btn.active { color: var(--ink); border-bottom-color: var(--rose); }
.product-tabs-panel { display: none; max-width: 760px; font-size: 14.5px; line-height: 1.7; }
.product-tabs-panel.active { display: block; }
.product-tabs-panel h4 { font-family: var(--font-display); font-size: 18px; font-weight: 500; margin: 0 0 8px; }
.product-tabs-panel p { margin: 0 0 14px; color: var(--ink-soft); }
.product-tabs-panel ul { padding-left: 18px; color: var(--ink-soft); }


/* ===== terms.html (lines 2271-2288 = 18) ===== */

.lg-page { max-width: 760px; margin: 0 auto; padding: 48px var(--gutter, 24px) 64px; }
.lg-page > .tag { font-family: var(--font-hand); font-size: 22px; color: var(--rose-deep); transform: rotate(-1.5deg); display: inline-block; }
.lg-page h1 { font-family: var(--font-display); font-size: 38px; font-weight: 500; letter-spacing: -0.025em; line-height: 1.05; margin: 4px 0 24px; }
.lg-page h1 em { font-style: italic; color: var(--rose-deep); }
.lg-updated { font-size: 12px; color: var(--ink-mute); margin-bottom: 32px; }
.lg-content { font-size: 15px; line-height: 1.7; color: var(--ink); }
.lg-content h2 { font-family: var(--font-display); font-size: 22px; font-weight: 500; letter-spacing: -0.015em; margin: 32px 0 12px; }
.lg-content p { margin: 0 0 16px; color: var(--ink-soft); }
.lg-content ul { margin: 0 0 16px; padding-left: 22px; color: var(--ink-soft); }
.lg-content li { margin-bottom: 6px; }
.lg-content strong { color: var(--ink); font-weight: 600; }
.lg-toc { background: var(--rose-mist); border-radius: 14px; padding: 18px 22px; margin-bottom: 32px; }
.lg-toc-title { font-family: var(--font-display); font-style: italic; color: var(--rose-deep); font-size: 14px; margin-bottom: 8px; }
.lg-toc ol { margin: 0; padding-left: 22px; font-size: 13.5px; }
.lg-toc ol a { color: var(--ink); text-decoration: none; }
.lg-toc ol a:hover { color: var(--rose-deep); text-decoration: underline; }


/* ============ CAT-BANNER : background hero-like (override) ============ */
.cat-banner {
	position: relative;
	background:
		radial-gradient(ellipse 80% 60% at 20% 30%, color-mix(in oklab, var(--rose-mist) 60%, transparent) 0%, transparent 100%),
		radial-gradient(ellipse 70% 60% at 85% 70%, color-mix(in oklab, var(--green-soft) 40%, transparent) 0%, transparent 100%),
		linear-gradient(180deg, var(--cream) 0%, color-mix(in oklab, var(--rose-mist) 25%, var(--cream)) 60%, var(--cream) 100%);
	padding: 52px 24px 52px;
	text-align: center;
	margin-bottom: 20px;
	overflow: hidden;
}
.cat-banner .brush-divider { height: 28px !important; }
.cat-banner::after { height: 22px; }
.cat-banner { text-align: left; }
.cat-banner__inner {
	max-width: var(--maxw, 1320px);
	margin: 0 auto;
	padding: 0 24px;
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 36px;
}
.cat-banner { padding-left: 0; padding-right: 0; }
.cat-banner__content { min-width: 0; }

/* Breadcrumb */
.cat-breadcrumb {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-body);
	font-size: 12px;
	color: var(--ink-soft);
	letter-spacing: 0.02em;
	margin-bottom: 14px;
	padding: 4px 12px;
	background: rgba(255, 255, 255, 0.55);
	border: 1px solid var(--rose-soft);
	border-radius: 99px;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}
.cat-breadcrumb a {
	color: var(--ink-soft);
	text-decoration: none;
	transition: color 0.16s;
}
.cat-breadcrumb a:hover { color: var(--rose-deep); }
.cat-breadcrumb [aria-current="page"] { color: var(--ink); font-weight: 500; }
.cat-breadcrumb__sep { color: var(--rose-soft); }

/* H1 + lead */
.cat-banner h1 {
	font-family: var(--font-display);
	font-size: 26px;
	font-weight: 500;
	letter-spacing: -0.022em;
	line-height: 1.15;
	margin: 0 0 8px;
	color: var(--ink);
}
.cat-banner h1 em { font-style: italic; color: var(--rose-deep); }
.cat-banner h1 .cat-title-accent { color: var(--rose-deep); font-style: italic; }
.cat-banner .cat-banner__lead {
	font-size: 14.5px;
	color: var(--ink-soft);
	line-height: 1.55;
	max-width: 520px;
	margin: 0;
}
.cat-lead-wrap.is-long .cat-banner__lead {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cat-lead-wrap.is-long .cat-lead-toggle__input:checked ~ .cat-banner__lead {
	display: block;
	-webkit-line-clamp: unset;
	overflow: visible;
}
.cat-lead-toggle__btn {
	display: inline-block;
	margin-top: 6px;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--rose-deep);
	cursor: pointer;
	background: none;
	border: none;
	padding: 0;
	user-select: none;
}
.cat-lead-toggle__btn:hover { color: var(--ink); }
.cat-lead-toggle__less { display: none; }
.cat-lead-toggle__input:checked ~ .cat-lead-toggle__btn .cat-lead-toggle__more { display: none; }
.cat-lead-toggle__input:checked ~ .cat-lead-toggle__btn .cat-lead-toggle__less { display: inline; }

/* Bloc stat à droite — slim */
.cat-stat {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex-shrink: 0;
	min-width: 0;
}
.cat-stat__num {
	display: inline-flex;
	align-items: baseline;
	gap: 5px;
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 500;
	color: var(--ink-soft);
	background: rgba(255, 255, 255, 0.65);
	border: 1px solid var(--rose-soft);
	border-radius: 99px;
	padding: 5px 12px;
	line-height: 1;
	align-self: flex-start;
}
.cat-stat__num strong {
	font-family: var(--font-display);
	font-size: 16px;
	color: var(--rose-deep);
	font-weight: 500;
}
.cat-stat__label { display: none; }
.cat-stat__divider { display: none; }
.cat-stat__trust {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.cat-stat__trust li {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--ink-soft);
	line-height: 1.3;
}
.cat-stat__trust svg { color: var(--rose-deep); flex-shrink: 0; width: 12px; height: 12px; }

@media (max-width: 860px) {
	.cat-banner { text-align: center; }
	.cat-banner__inner { grid-template-columns: 1fr; gap: 18px; }
	.cat-banner__content { display: flex; flex-direction: column; align-items: center; }
	.cat-banner__lead { margin: 0 auto; }
	.cat-stat { justify-self: center; min-width: 180px; }
	.cat-stat__trust { text-align: center; }
	.cat-stat__trust li { justify-content: center; }
	.cat-banner h1 { font-size: 28px; }
}
@media (max-width: 480px) {
	.cat-banner { padding: 28px 16px 36px; }
	.cat-banner h1 { font-size: 24px; }
	.cat-stat__num { font-size: 40px; }
}
.cat-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle, color-mix(in oklab, var(--rose) 25%, transparent) 1px, transparent 1.5px);
	background-size: 28px 28px;
	opacity: 0.4;
	pointer-events: none;
}
.cat-banner > * { position: relative; z-index: 1; }

/* Fondu doux vers cream en bas */
.cat-banner::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 80px;
	background: linear-gradient(180deg, transparent 0%, color-mix(in oklab, var(--cream) 60%, transparent) 55%, var(--cream) 100%);
	pointer-events: none;
}

/* ============ NAV : icônes (images depuis meta _menu_item_icon-id) ============ */
.eden-legacy-nav-item--unused { }
.nav-item .nav-icon {
	width: 24px;
	height: 24px;
	object-fit: contain;
	vertical-align: middle;
	flex-shrink: 0;
}
/* Si une icône image est présente, on désactive l'emoji ::before */
.nav-item:has(.nav-icon)::before { content: none !important; }

/* ============ NAV : sous-menus mega-bar pleine largeur ============ */
.nav { position: relative; }
.nav .nav-inner { display: flex; justify-content: stretch; align-items: stretch; gap: 4px; flex-wrap: nowrap; }
.nav-item-wrap { position: static; flex: 1 1 auto; min-width: 0; display: flex; }
.nav-item-wrap > .nav-item { flex: 1 1 auto; justify-content: center; min-width: 0; }

.nav-submenu {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	width: 100%;
	background: var(--cream);
	border-bottom: 1px solid var(--rose-soft);
	box-shadow: 0 8px 18px -14px rgba(95,163,154, 0.18);
	padding: 11px 24px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-3px);
	transition: opacity 0.16s ease, transform 0.16s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.16s;
	z-index: 50;
}
.nav-submenu::before {
	content: "";
	position: absolute;
	top: -8px; left: 0; right: 0; height: 10px;
}
.nav-item-wrap:hover > .nav-submenu,
.nav-item-wrap:focus-within > .nav-submenu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.nav-submenu-inner {
	max-width: 1232px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: stretch;
	gap: 7px;
}
.nav-submenu-inner .nav-pill {
	flex: 1 1 auto;
	justify-content: center;
	min-width: 0;
}

.nav-pill {
	--pill-color: #81C2B8;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 13px;
	border-radius: 10px;
	background: #fff;
	border: 1.25px solid var(--rose-soft, #B3DAD5);
	color: var(--ink, #1A1A1A);
	text-decoration: none;
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.005em;
	transition: background 0.16s, border-color 0.16s, color 0.16s;
}
.nav-pill:hover {
	background: color-mix(in srgb, var(--pill-color) 12%, #fff);
	border-color: var(--pill-color);
	color: var(--pill-color);
}
.nav-pill.is-active {
	background: var(--pill-color);
	border-color: var(--pill-color);
	color: #fff;
}
.nav-pill__emoji { display: none; }
.nav-pill__name { white-space: nowrap; }

@supports not (background: color-mix(in srgb, red, blue)) {
	.nav-pill:hover { background: var(--rose-mist, #E6F3F1); }
}

@supports not (background: color-mix(in srgb, red, blue)) {
	.nav-pill { background: rgba(129,194,184, 0.08); border-color: rgba(129,194,184, 0.45); }
	.nav-pill:hover { background: rgba(129,194,184, 0.18); }
}

/* Indicateur visuel des items à enfants — SVG centré, pivote en place */
.nav-item-wrap.has-children > .nav-item::after {
	content: "";
	width: 10px; height: 10px;
	margin-left: 5px;
	display: inline-block;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'><path d='M2 4 L5 7 L8 4' stroke='currentColor' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: 0.55;
	transform: rotate(0deg);
	transform-origin: center center;
	transition: transform 0.2s, opacity 0.2s;
	vertical-align: middle;
}
.nav-item-wrap.has-children:hover > .nav-item::after {
	transform: rotate(180deg);
	opacity: 1;
}

/* ============ NAV : sizes (override) ============ */
.nav { padding: 10px 0 4px; }
.nav .nav-inner { gap: 6px; }
.sxs-legacy-navitem--unused {
	gap: 8px;
}

/* (Anciens overrides compact du sous-menu retirés : la mega-bar pleine largeur les
   remplace, définie plus haut dans le bloc "NAV : sous-menus mega-bar".) */


/* ============================================================
   CATÉGORIE PRODUITS — REDESIGN V2 (no sidebar, top filters)
   ============================================================ */

/* Strip horizontal sous-catégories */
.shop-subcats {
	max-width: var(--maxw, 1320px);
	margin: 0 auto 18px;
	padding: 0 24px;
}
.shop-subcats__inner {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding: 4px 0 8px;
	scrollbar-width: thin;
	scrollbar-color: var(--rose-soft) transparent;
}
.shop-subcats__inner::-webkit-scrollbar { height: 4px; }
.shop-subcats__inner::-webkit-scrollbar-thumb { background: var(--rose-soft); border-radius: 4px; }
.subcat-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px 8px 16px;
	background: #fff;
	border: 1px solid var(--rose-soft);
	border-radius: 99px;
	color: var(--ink);
	text-decoration: none;
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
	transition: background 0.16s, border-color 0.16s, color 0.16s, transform 0.16s;
	flex-shrink: 0;
}
.subcat-chip:hover {
	border-color: var(--rose);
	color: var(--rose-deep);
	transform: translateY(-1px);
}
.subcat-chip.is-active {
	background: var(--rose);
	border-color: var(--rose);
	color: #fff;
}
.subcat-chip__count {
	font-size: 11.5px;
	font-weight: 500;
	padding: 2px 7px;
	border-radius: 99px;
	background: color-mix(in oklab, var(--rose-soft) 60%, transparent);
	color: var(--rose-deep);
}
.subcat-chip.is-active .subcat-chip__count {
	background: rgba(255, 255, 255, 0.25);
	color: #fff;
}

/* Layout principal sans sidebar */
.shop-wide {
	max-width: var(--maxw, 1320px);
	margin: 0 auto;
	padding: 0 var(--gutter, 24px) 64px;
}

/* Toolbar V2 — filtres + meta */
.shop-toolbar-v2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-bottom: 22px;
	padding: 12px 16px;
	background: #fff;
	border: 1px solid var(--rose-soft);
	border-radius: 16px;
	box-shadow: 0 6px 16px -10px rgba(95,163,154, 0.18);
	position: relative;
	z-index: 20;
}
.shop-toolbar-v2__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.shop-toolbar-v2__meta {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-shrink: 0;
}
.shop-toolbar-v2__count {
	font-size: 12.5px;
	color: var(--ink-soft);
	white-space: nowrap;
}
.shop-toolbar-v2__count strong { color: var(--ink); font-weight: 600; }

/* Éléments propres au drawer mobile : masqués sur desktop. */
.shop-mobilebar, .shop-drawer__head, .shop-drawer__foot, .shop-filter-backdrop { display: none; }

/* Filter popover (details/summary) */
.shop-fpop { position: relative; }
.shop-fpop > summary {
	list-style: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 13px;
	background: var(--cream);
	border: 1px solid var(--rose-soft);
	border-radius: 10px;
	font-size: 13px;
	font-weight: 500;
	color: var(--ink);
	transition: background 0.16s, border-color 0.16s;
	white-space: nowrap;
}
.shop-fpop > summary::-webkit-details-marker { display: none; }
.shop-fpop > summary:hover {
	background: var(--rose-mist);
	border-color: var(--rose);
}
.shop-fpop[open] > summary {
	background: var(--rose-mist);
	border-color: var(--rose);
	color: var(--rose-deep);
}
.shop-fpop > summary.has-active {
	border-color: var(--rose) !important;
	color: var(--turquoise-d, #5FA39A) !important;
	font-weight: 600;
	box-shadow: inset 0 0 0 1px var(--rose);
}
.shop-fpop > summary.has-active svg { color: var(--turquoise-d, #5FA39A); }
.shop-fpop__pill {
	background: var(--rose);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	padding: 1px 7px;
	border-radius: 99px;
}
.shop-fpop__chev {
	margin-left: 2px;
	transition: transform 0.18s;
	opacity: 0.7;
}
.shop-fpop[open] > summary .shop-fpop__chev {
	transform: rotate(180deg);
}

.shop-fpop__panel {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	min-width: 240px;
	max-width: 360px;
	background: #fff;
	border: 1px solid var(--rose-soft);
	border-radius: 14px;
	box-shadow: 0 14px 32px -16px rgba(95,163,154, 0.32);
	padding: 12px;
	z-index: 30;
	animation: shop-fpop-in 0.16s cubic-bezier(0.16, 1, 0.3, 1);
}
.shop-fpop__panel--narrow { min-width: 220px; }
@keyframes shop-fpop-in {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: translateY(0); }
}
.shop-fpop__list {
	display: flex;
	flex-direction: column;
	gap: 2px;
	max-height: 320px;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--rose-soft) transparent;
}
.shop-fpop__opt {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 10px;
	border-radius: 8px;
	font-size: 13px;
	color: var(--ink);
	cursor: pointer;
	transition: background 0.16s;
}
.shop-fpop__opt:hover { background: var(--rose-mist); }
.shop-fpop__opt input {
	appearance: none;
	width: 16px; height: 16px;
	border: 1.5px solid var(--rose-soft);
	border-radius: 4px;
	cursor: pointer;
	position: relative;
	flex-shrink: 0;
	transition: background 0.16s, border-color 0.16s;
}
.shop-fpop__opt input:checked {
	background: var(--rose);
	border-color: var(--rose);
}
.shop-fpop__opt input:checked::after {
	content: "";
	position: absolute;
	top: 2px; left: 4px;
	width: 4px; height: 8px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(45deg);
}
.shop-fpop__opt-label { flex: 1; line-height: 1.2; }
.shop-fpop__opt-count {
	font-size: 11.5px;
	color: var(--ink-soft);
	background: var(--cream);
	padding: 2px 7px;
	border-radius: 99px;
}

.shop-fpop__price {
	display: flex;
	gap: 8px;
	margin-bottom: 12px;
}
.shop-fpop__price label {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--ink-soft);
}
.shop-fpop__price label span {
	font-weight: 500;
	color: var(--ink);
}
.shop-fpop__price input {
	width: 100%;
	font: inherit;
	font-size: 13px;
	padding: 7px 10px;
	border: 1px solid var(--rose-soft);
	border-radius: 8px;
	background: var(--cream);
	color: var(--ink);
}
.shop-fpop__price input:focus { outline: 2px solid var(--rose); outline-offset: -1px; }
.shop-fpop__apply {
	width: 100%;
	padding: 9px 12px;
	background: var(--rose);
	border: none;
	border-radius: 10px;
	color: #fff;
	font-weight: 500;
	font-size: 13px;
	cursor: pointer;
	transition: background 0.16s;
}
.shop-fpop__apply:hover { background: var(--rose-deep); }

.shop-fpop__reset {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 6px 12px;
	font-size: 12.5px;
	color: var(--ink-soft);
	text-decoration: none;
	border-radius: 10px;
	transition: color 0.16s, background 0.16s;
}
.shop-fpop__reset:hover {
	background: var(--rose-mist);
	color: var(--rose-deep);
}

/* Toggle pills (En stock / Promo) */
.shop-toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 13px;
	background: var(--cream);
	border: 1px solid var(--rose-soft);
	border-radius: 10px;
	font-size: 13px;
	font-weight: 500;
	color: var(--ink);
	cursor: pointer;
	transition: background 0.16s, border-color 0.16s, color 0.16s;
	white-space: nowrap;
}
.shop-toggle:hover { border-color: var(--rose); }
.shop-toggle input {
	position: absolute;
	width: 1px; height: 1px;
	opacity: 0; pointer-events: none;
}
.shop-toggle.is-on {
	background: var(--rose);
	border-color: var(--rose);
	color: #fff;
}
.shop-toggle.is-on svg { color: #fff; }

/* Sort V2 */
.shop-sort-v2 {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 10px 7px 13px;
	background: var(--cream);
	border: 1px solid var(--rose-soft);
	border-radius: 99px;
	font-size: 13px;
	cursor: pointer;
	transition: border-color 0.16s;
	position: relative;
}
.shop-sort-v2:hover { border-color: var(--rose); }
.shop-sort-v2 > span {
	color: var(--ink-soft);
	font-weight: 500;
}
.shop-sort-v2 select {
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	border: none;
	font: inherit;
	font-size: 13px;
	color: var(--ink);
	font-weight: 500;
	cursor: pointer;
	padding-right: 14px;
}
.shop-sort-v2 select:focus { outline: none; }
.shop-sort-v2 svg {
	position: absolute;
	right: 12px;
	pointer-events: none;
	opacity: 0.7;
}

/* Grid plus large car pas de sidebar — 4 colonnes */
.shop-wide .shop-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

/* ============================================================
   PRODUCT CARD — clean white avec image bien centrée
   ============================================================ */

.shop-wide .product-card {
	background: #fff;
	border: 1px solid var(--rose-soft);
	border-radius: 18px;
	overflow: hidden;
	position: relative;
	display: flex;
	flex-direction: column;
	transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.32s, border-color 0.22s;
	box-shadow: 0 1px 0 rgba(95,163,154, 0.04);
}
.shop-wide .product-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 48px -24px rgba(95,163,154, 0.34);
	border-color: var(--rose);
}

/* Image wrapper — ratio carré, fond crème */
.shop-wide .product-img-wrap {
	position: relative;
	aspect-ratio: 1 / 1;
	background:
		radial-gradient(ellipse at 50% 35%, #fff 0%, transparent 60%),
		linear-gradient(180deg, color-mix(in oklab, var(--rose-mist) 35%, var(--cream)) 0%, var(--cream) 100%);
	overflow: hidden;
	border-bottom: 1px solid color-mix(in oklab, var(--rose-soft) 50%, transparent);
}
.shop-wide .product-img {
	position: absolute !important;
	inset: 18px !important;
	background-size: contain !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
	aspect-ratio: auto !important;
	display: block !important;
	border-radius: 0 !important;
}
.shop-wide .product-card:hover .product-img { transform: scale(1.06); }

/* Badges en haut à gauche */
.shop-wide .product-badges {
	position: absolute;
	top: 12px;
	left: 12px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	z-index: 2;
	align-items: flex-start;
}
.shop-wide .badge-sale {
	background: var(--rose-deep);
	color: #fff;
	border-radius: 99px;
	padding: 4px 10px;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1;
	box-shadow: 0 4px 10px -4px rgba(95,163,154, 0.5);
}
.shop-wide .badge-new {
	background: none;
	color: var(--rose-deep);
	font-family: var(--font-hand);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.02em;
	transform: rotate(-6deg);
	padding: 0;
	text-shadow: 0 2px 6px rgba(255,255,255,0.9);
	line-height: 1;
}

/* Favori en haut à droite */
.shop-wide .product-fav {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 34px;
	height: 34px;
	border-radius: 99px;
	background: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--rose-deep);
	z-index: 2;
	border: 1px solid var(--rose-soft);
	cursor: pointer;
	transition: background 0.16s, color 0.16s, transform 0.16s, border-color 0.16s;
	box-shadow: 0 4px 12px -6px rgba(95,163,154, 0.25);
}
.shop-wide .product-fav:hover {
	background: var(--rose);
	color: #fff;
	border-color: var(--rose);
	transform: scale(1.06);
}

/* Bloc info — sur fond blanc du color-block */
.shop-wide .product-info {
	position: relative;
	z-index: 2;
	background: transparent;
	padding: 14px 18px 18px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
}
.shop-wide .product-name {
	font-family: var(--font-display);
	font-size: 16px;
	font-weight: 500;
	color: var(--ink);
	line-height: 1.3;
	letter-spacing: -0.01em;
	margin: 0;
	min-height: 2.6em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.shop-wide .product-name a { color: inherit; text-decoration: none; transition: color 0.16s; }
.shop-wide .product-name a:hover { color: var(--rose-deep); }

.shop-wide .product-rating {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	color: var(--rose-deep);
	font-size: 11.5px;
}
.shop-wide .product-rating svg { width: 11px; height: 11px; }
.shop-wide .product-rating-num {
	color: var(--ink);
	font-weight: 600;
	margin-left: 4px;
	font-family: var(--font-body);
	font-size: 11.5px;
}
.shop-wide .product-rating-count {
	color: var(--ink-soft);
	margin-left: 2px;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 11px;
}

/* Bottom : prix + bouton plus */
.shop-wide .product-bottom {
	margin-top: auto;
	padding-top: 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	border-top: none;
}
.shop-wide .product-price {
	font-family: var(--font-display);
	font-size: 24px;
	font-weight: 500;
	color: var(--rose-deep);
	letter-spacing: -0.02em;
	line-height: 1;
	display: inline-flex;
	align-items: baseline;
}
.shop-wide .product-price-cents {
	font-size: 14px;
	font-weight: 500;
	color: var(--rose-deep);
}
.shop-wide .product-price small {
	font-size: 14px;
	color: var(--rose-deep);
	margin-left: 2px;
	font-weight: 500;
}

/* Bouton + à droite du prix */
.shop-wide .product-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 99px;
	background: var(--rose-deep);
	color: #fff;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: background 0.18s, transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.22s;
	flex-shrink: 0;
	box-shadow: 0 6px 14px -8px rgba(95,163,154, 0.6);
}
.shop-wide .product-cta svg {
	width: 18px;
	height: 18px;
	stroke: currentColor;
	transition: transform 0.22s;
}
.shop-wide .product-cta:hover {
	background: var(--ink);
	transform: scale(1.08) rotate(90deg);
	box-shadow: 0 10px 22px -10px rgba(0, 0, 0, 0.35);
}
.shop-wide .product-cta:focus-visible {
	outline: 2px solid var(--rose-deep);
	outline-offset: 2px;
}

/* ============================================================
   PAGINATION — refonte refined
   ============================================================ */
.shop-wide .shop-pagination {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 56px;
	padding: 0;
	list-style: none;
}
.shop-wide .shop-pagination ul {
	display: inline-flex;
	gap: 6px;
	list-style: none;
	padding: 0;
	margin: 0;
	background: #fff;
	border: 1px solid var(--rose-soft);
	border-radius: 99px;
	padding: 6px;
	box-shadow: 0 6px 16px -10px rgba(95,163,154, 0.22);
}
.shop-wide .shop-pagination li { list-style: none; }
.shop-wide .shop-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border-radius: 99px;
	background: transparent;
	color: var(--ink-soft);
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
	border: none;
	transition: background 0.18s, color 0.18s, transform 0.18s;
	cursor: pointer;
}
.shop-wide .shop-pagination .page-numbers:hover {
	background: var(--rose-mist);
	color: var(--rose-deep);
}
.shop-wide .shop-pagination .page-numbers.current {
	background: var(--rose);
	color: #fff;
	font-weight: 600;
}
.shop-wide .shop-pagination .page-numbers.dots {
	background: transparent;
	color: var(--ink-soft);
	cursor: default;
	pointer-events: none;
}
.shop-wide .shop-pagination .page-numbers.prev,
.shop-wide .shop-pagination .page-numbers.next {
	color: var(--rose-deep);
	font-size: 16px;
	font-weight: 600;
}
.shop-wide .shop-pagination .page-numbers.prev:hover,
.shop-wide .shop-pagination .page-numbers.next:hover {
	background: var(--rose-deep);
	color: #fff;
	transform: scale(1.05);
}

/* ============================================================
   CAT-DESCRIPTION — refonte card éditoriale
   ============================================================ */
.cat-description {
	max-width: var(--maxw, 1320px);
	margin: 64px auto 0;
	padding: 0 24px 80px;
}
.cat-description-inner {
	background: #fff;
	border: 1px solid var(--rose-soft);
	border-radius: 22px;
	padding: 44px 56px;
	box-shadow: 0 16px 40px -24px rgba(95,163,154, 0.22);
	position: relative;
}
.cat-description-inner::before {
	content: "";
	position: absolute;
	top: 0; left: 32px;
	width: 80px; height: 4px;
	background: linear-gradient(90deg, var(--rose), var(--rose-soft));
	border-radius: 0 0 4px 4px;
}
.cat-description-inner h1,
.cat-description-inner h2 {
	font-family: var(--font-display);
	font-size: 24px;
	font-weight: 500;
	color: var(--ink);
	letter-spacing: -0.02em;
	margin: 32px 0 14px;
	line-height: 1.2;
}
.cat-description-inner h1:first-child,
.cat-description-inner h2:first-child {
	margin-top: 0;
}
.cat-description-inner h3 {
	font-family: var(--font-display);
	font-size: 18px;
	font-weight: 500;
	color: var(--rose-deep);
	margin: 24px 0 10px;
	letter-spacing: -0.015em;
}
.cat-description-inner p {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.7;
	color: var(--ink-soft);
	margin: 0 0 16px;
}
.cat-description-inner p strong {
	color: var(--ink);
	font-weight: 600;
}
.cat-description-inner a {
	color: var(--rose-deep);
	text-decoration: none;
	border-bottom: 1px solid color-mix(in oklab, var(--rose-soft) 70%, transparent);
	transition: color 0.16s, border-color 0.16s;
}
.cat-description-inner a:hover {
	color: var(--ink);
	border-bottom-color: var(--rose-deep);
}
.cat-description-inner ul,
.cat-description-inner ol {
	font-size: 15px;
	line-height: 1.7;
	color: var(--ink-soft);
	padding-left: 22px;
	margin: 0 0 18px;
}
.cat-description-inner li {
	margin-bottom: 6px;
}
.cat-description-inner ul li::marker {
	color: var(--rose-deep);
}
.cat-description-inner blockquote {
	border-left: 3px solid var(--rose);
	padding: 4px 0 4px 20px;
	margin: 20px 0;
	font-style: italic;
	color: var(--ink);
	font-family: var(--font-display);
	font-size: 16px;
	line-height: 1.6;
}
.cat-description-inner img {
	max-width: 100%;
	height: auto;
	border-radius: 14px;
	margin: 16px 0;
}

@media (max-width: 720px) {
	.cat-description { margin-top: 40px; padding: 0 16px 56px; }
	.cat-description-inner { padding: 28px 22px; border-radius: 18px; }
	.cat-description-inner h2 { font-size: 20px; }
	.cat-description-inner p, .cat-description-inner ul, .cat-description-inner ol { font-size: 14px; }
}

/* Responsive */
@media (max-width: 860px) {
	.shop-wide .shop-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }

	/* ===== Filtres mobile : bouton « Filtrer & trier » + drawer plein écran ===== */
	.shop-mobilebar {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		margin-top: 15px;
		margin-bottom: 18px;
	}
	.shop-mobilebar__btn {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		font: inherit;
		font-size: 14px;
		font-weight: 600;
		color: var(--ink, #1f1f1d);
		background: #fff;
		border: 1px solid var(--rose-soft);
		border-radius: 12px;
		padding: 11px 18px;
		cursor: pointer;
		box-shadow: 0 6px 16px -10px rgba(95,163,154,.25);
	}
	.shop-mobilebar__btn svg { color: var(--turquoise-d, #5FA39A); }
	.shop-mobilebar__count {
		display: inline-flex; align-items: center; justify-content: center;
		min-width: 20px; height: 20px; padding: 0 6px;
		background: var(--turquoise, #81C2B8); color: #fff;
		border-radius: 999px; font-size: 12px; font-weight: 700;
	}
	.shop-mobilebar__results { font-size: 13px; color: var(--ink-soft, #6b6f76); white-space: nowrap; }

	/* La barre devient un panneau coulissant depuis la droite.
	   NB : sélecteur `.shop-wide .shop-toolbar-v2` pour battre en spécificité
	   la règle `.shop-wide .shop-toolbar-v2{position:relative}` de sixtystones.css. */
	.shop-wide .shop-toolbar-v2 {
		position: fixed !important;
		top: 0 !important; right: 0; bottom: 0;
		left: auto !important;
		width: min(420px, 100vw);
		max-width: none;
		margin: 0 !important;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 0;
		border: none;
		border-radius: 0;
		box-shadow: -20px 0 60px -20px rgba(0,0,0,.4);
		z-index: 1000;
		transform: translateX(100%);
		transition: transform .4s cubic-bezier(.16,1,.3,1);
		overflow-y: auto;
		overscroll-behavior: contain;
	}
	body.sxs-filters-open .shop-wide .shop-toolbar-v2 { transform: translateX(0); }
	body.sxs-filters-open { overflow: hidden; }

	/* Le voile n'apparaît QUE quand le drawer est ouvert (sinon il bloque la page). */
	body.sxs-filters-open .shop-filter-backdrop {
		display: block;
		position: fixed; inset: 0;
		background: rgba(20,28,27,.45);
		z-index: 999;
		animation: shop-bd-in .2s ease;
	}
	@keyframes shop-bd-in { from { opacity: 0; } to { opacity: 1; } }

	/* Header identique au panier : barre turquoise pleine, titre serif blanc. */
	.shop-drawer__head {
		display: flex; align-items: center; justify-content: space-between;
		position: sticky; top: 0; z-index: 2;
		padding: 15px 22px;
		background: var(--rose, #81C2B8);
		color: #fff;
		border-bottom: 1px solid var(--rose-deep, #5FA39A);
	}
	.shop-drawer__title {
		font-family: var(--font-display, "Fraunces", serif);
		font-size: 18px; font-weight: 500; letter-spacing: -0.014em; color: #fff;
	}
	.shop-drawer__close {
		display: inline-flex; align-items: center; justify-content: center;
		width: 30px; height: 30px; border-radius: 50%;
		background: transparent; border: 1px solid rgba(255,255,255,0.45);
		color: #fff; cursor: pointer; transition: background .18s, border-color .18s;
	}
	.shop-drawer__close:hover { background: rgba(255,255,255,0.18); border-color: #fff; }

	/* Les groupes de filtres : empilés, pleine largeur (accordéons inline). */
	.shop-toolbar-v2__filters {
		flex-direction: column;
		align-items: stretch;
		flex-wrap: nowrap;
		overflow: visible;
		gap: 0;
		padding: 8px 0 0;
	}
	.shop-toolbar-v2__meta {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 0;
	}
	.shop-toolbar-v2 .shop-fpop,
	.shop-toolbar-v2 .shop-toggle { border-bottom: 1px solid #f0eee9; }
	.shop-toolbar-v2 .shop-fpop > summary,
	.shop-toolbar-v2 .shop-toggle {
		border: none !important;
		border-radius: 0 !important;
		background: transparent !important;
		padding: 16px 18px !important;
		width: 100%;
		justify-content: flex-start;
		font-size: 15px;
	}
	.shop-fpop__chev { margin-left: auto; }
	/* Panneau déroulant rendu inline (plus de pop-over absolu qui déborde). */
	.shop-toolbar-v2 .shop-fpop__panel {
		position: static;
		min-width: 0;
		width: auto;
		margin: 0;
		border: none;
		border-radius: 0;
		box-shadow: none;
		background: #faf9f6;
		animation: none;
		padding: 4px 18px 14px;
	}
	.shop-toolbar-v2 .shop-fpop__panel--narrow { min-width: 0; }
	.shop-toolbar-v2 .shop-fpop__list { max-height: 260px; }
	.shop-toggle { padding: 16px 18px; }

	/* Pied collant identique au panier : bouton bloc turquoise. */
	.shop-drawer__foot {
		display: block;
		position: sticky; bottom: 0; z-index: 2;
		padding: 18px 24px calc(22px + env(safe-area-inset-bottom));
		background: #fff;
		border-top: 1px solid var(--rose-soft);
		margin-top: auto;
	}
	.shop-drawer__apply {
		display: flex; align-items: center; justify-content: center; gap: 8px;
		width: 100%;
		font: inherit; font-size: 13.5px; font-weight: 500; letter-spacing: -0.005em;
		color: #fff; background: var(--turquoise, #81C2B8);
		border: none; border-radius: 14px; padding: 13px 26px;
		cursor: pointer; transition: background .2s, transform .2s;
	}
	.shop-drawer__apply:hover { background: var(--turquoise-d, #5FA39A); transform: translateY(-2px); }
	.shop-drawer__apply:active { transform: translateY(0); }
}
@media (max-width: 480px) {
	.shop-wide .shop-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* ===== Cartes produit — style épuré (image carrée plein cadre + survol 2e photo) ===== */
.shop-wide .product-card { border: none !important; box-shadow: none !important; background: transparent !important; border-radius: 0 !important; }
.shop-wide .product-card:hover { transform: none !important; }
.shop-wide .product-img-wrap { aspect-ratio: 1 / 1; background: #f5f5f2 !important; border: none !important; border-bottom: none !important; border-radius: 12px; overflow: hidden; }
.shop-wide .product-img { position: absolute !important; inset: 0 !important; background: none !important; transform: none !important; }
.shop-wide .product-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .4s ease, transform .6s cubic-bezier(.16,1,.3,1); }
.shop-wide .product-img__hover { opacity: 0; }
.shop-wide .product-card.has-hover:hover .product-img__hover { opacity: 1; }
.shop-wide .product-card:hover .product-img img { transform: scale(1.04); }
.shop-wide .product-info { text-align: left; padding: 12px 2px 4px; }
.shop-wide .product-brand { display: block; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #9a9a93; margin-bottom: 3px; }
.shop-wide .product-name { font-size: 14px; font-weight: 500; line-height: 1.35; margin: 0 0 5px; text-align: left; }
.shop-wide .product-name a { color: var(--ink, #1f1f1d); text-decoration: none; }
.shop-wide .product-name a:hover { color: var(--turquoise-d, #5FA39A); }
.shop-wide .product-rating { justify-content: flex-start; margin-bottom: 4px; }
.shop-wide .product-price { font-weight: 700; font-size: 15.5px; color: var(--ink, #1f1f1d); text-align: left; }
.shop-wide .product-price-cents { font-size: .82em; }
.shop-wide .product-bottom { display: flex !important; align-items: center; justify-content: space-between; gap: 8px; margin-top: 2px; }
.shop-wide .product-cta { display: inline-flex !important; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50% !important; background: var(--turquoise, #81C2B8) !important; color: #fff !important; flex-shrink: 0; transition: background .18s, transform .18s; }
.shop-wide .product-cta:hover { background: var(--turquoise-d, #5FA39A) !important; transform: translateY(-1px); }
.shop-wide .product-cta svg { width: 22px !important; height: 22px !important; }
.shop-wide .product-sizes { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.shop-wide .product-size { font-size: 11.5px; padding: 3px 9px; border: 1px solid var(--turquoise-l, #cfe6df); border-radius: 6px; color: var(--ink, #1f1f1d); text-decoration: none; line-height: 1.4; transition: background .15s, color .15s, border-color .15s; }
.shop-wide .product-size:hover { background: var(--turquoise, #81C2B8); color: #fff; border-color: var(--turquoise, #81C2B8); }
.shop-wide .product-quickadd { position: relative; }
.shop-wide .product-sizes-pop { position: absolute; bottom: calc(100% + 10px); right: 0; min-width: 190px; background: #fff; border: 1px solid var(--turquoise-l, #cfe6df); border-radius: 12px; box-shadow: 0 18px 40px -20px rgba(0,0,0,.35); padding: 12px; z-index: 60; }
.shop-wide .product-sizes-pop[hidden] { display: none; }
.shop-wide .product-sizes-pop::after { content: ''; position: absolute; top: 100%; right: 20px; width: 0; height: 0; border: 7px solid transparent; border-top-color: #fff; }
.shop-wide .product-sizes-pop__h { display: block; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #7a8a86; font-weight: 600; margin-bottom: 9px; text-align: center; }
.shop-wide .product-sizes-pop__list { display: flex; flex-direction: column; gap: 5px; }
.shop-wide .product-sizes-pop .product-size { display: block; width: 100%; text-align: center; padding: 9px 12px; font-size: 13px; font-weight: 500; border: 1px solid var(--turquoise-l, #cfe6df); border-radius: 9px; color: var(--ink, #1f1f1d); }
.shop-wide .product-sizes-pop .product-size:hover { background: var(--turquoise, #81C2B8); color: #fff; border-color: var(--turquoise, #81C2B8); }
.shop-wide .product-sizes-hint { display: inline-block; font-size: 11px; font-weight: 500; color: var(--turquoise-d, #5FA39A); background: var(--turquoise-l, #e7f2f0); border-radius: 999px; padding: 2px 10px; margin: 2px 0 6px; }

/* ===== Cartes produit — finition soignée ===== */
.shop-wide .shop-grid { gap: 26px 20px; }
.shop-wide .product-img-wrap { border-radius: 14px; background: #faf9f7 !important; box-shadow: inset 0 0 0 1px rgba(0,0,0,.045); transition: box-shadow .28s ease, transform .28s ease; }
.shop-wide .product-card:hover .product-img-wrap { box-shadow: 0 18px 40px -22px rgba(31,31,29,.28); }
.shop-wide .product-info { padding: 14px 3px 6px; }
.shop-wide .product-name { font-size: 14.5px; line-height: 1.4; font-weight: 500; }
.shop-wide .product-price { font-size: 16px; }
.shop-wide .product-brand { font-size: 10.5px; }
/* Badges raffinés (pilule, uppercase) */
.shop-wide .product-badges { top: 10px; left: 10px; gap: 5px; z-index: 4; }
.shop-wide .product-badges span { display: inline-flex; align-items: center; font-size: 10px !important; font-weight: 600 !important; letter-spacing: .05em; text-transform: uppercase; padding: 4px 10px !important; border-radius: 999px !important; line-height: 1 !important; box-shadow: 0 2px 8px -3px rgba(0,0,0,.25); }
.shop-wide .badge-sale { background: #c0392b !important; color: #fff !important; }
.shop-wide .badge-new { background: var(--ink, #1f1f1d) !important; color: #fff !important; }
.shop-wide .badge-sizes { background: rgba(255,255,255,.92) !important; color: var(--turquoise-d, #5FA39A) !important; box-shadow: inset 0 0 0 1px var(--turquoise-l, #cfe6df), 0 2px 8px -4px rgba(0,0,0,.2); }
/* Bouton favori plus discret */
.shop-wide .product-fav { top: 10px; right: 10px; background: rgba(255,255,255,.9) !important; }

/* ===== Cartes produit délimitées (box) ===== */
.shop-wide .shop-grid { gap: 28px 24px; }
.shop-wide .product-card { background: #fff !important; border: 1px solid #ececea !important; border-radius: 16px !important; padding: 10px 10px 14px !important; transition: box-shadow .25s ease, border-color .25s ease, transform .25s ease; }
.shop-wide .product-card:hover { box-shadow: 0 20px 44px -26px rgba(31,31,29,.30) !important; border-color: #e2e2df !important; transform: none !important; }
.shop-wide .product-img-wrap { border-radius: 11px; background: #faf9f7 !important; box-shadow: none; }
.shop-wide .product-card:hover .product-img-wrap { box-shadow: none; }
.shop-wide .product-info { padding: 12px 4px 2px; }

/* ===== Bas de carte : titre + prix raffinés ===== */
.shop-wide .product-info { padding: 13px 5px 3px; text-align: left; }
.shop-wide .product-brand { display: block; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: #b0aea8; margin-bottom: 4px; }
.shop-wide .product-name { font-size: 13.5px; font-weight: 500; line-height: 1.4; color: var(--ink, #1f1f1d); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.8em; margin: 0 0 9px; }
.shop-wide .product-name a { color: inherit; }
.shop-wide .product-rating { justify-content: flex-start; margin: 0 0 7px; opacity: .85; }
.shop-wide .product-bottom { display: flex !important; align-items: center; justify-content: space-between; gap: 8px; }
.shop-wide .product-price { font-family: var(--font-serif, "Cormorant Garamond", serif); font-size: 21px; font-weight: 600; color: var(--ink, #1f1f1d); line-height: 1; letter-spacing: 0; }
.shop-wide .product-price-cents { font-size: .62em; opacity: .8; }
.shop-wide .product-cta { width: 40px; height: 40px; }
.shop-wide .product-cta svg { width: 19px !important; height: 19px !important; }

/* ===== Carte produit — version finale épurée ===== */
.shop-wide .product-add { position: absolute; left: 10px; right: 10px; bottom: 10px; z-index: 5; opacity: 0; transform: translateY(8px); transition: opacity .22s ease, transform .22s ease; }
.shop-wide .product-card:hover .product-add { opacity: 1; transform: none; }
.shop-wide .product-quickadd { position: relative; }
.shop-wide .product-add-btn { display: flex; align-items: center; justify-content: center; gap: 7px; width: 100%; padding: 11px 12px; background: #fff; color: var(--ink, #1f1f1d); border: none; border-radius: 11px; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; text-decoration: none; box-shadow: 0 8px 22px -10px rgba(0,0,0,.35); transition: background .16s, color .16s; }
.shop-wide .product-add-btn:hover { background: var(--turquoise, #81C2B8); color: #fff; }
.shop-wide .product-add .product-sizes-pop { bottom: calc(100% + 10px); left: 0; right: 0; min-width: 0; }
.shop-wide .product-info { padding: 13px 2px 2px; text-align: left; }
.shop-wide .product-brand { display: block; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: #b0aea8; margin: 0 0 4px; }
.shop-wide .product-name { font-family: inherit; font-size: 13.5px; font-weight: 500; line-height: 1.4; color: var(--ink, #1f1f1d); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.8em; margin: 0 0 6px; }
.shop-wide .product-name a { color: inherit; }
.shop-wide .product-price { font-family: inherit; font-size: 15px; font-weight: 600; color: var(--ink, #1f1f1d); letter-spacing: 0; }
.shop-wide .product-price-cents { font-size: .82em; opacity: .85; }
@media (max-width: 768px) { .shop-wide .product-add { opacity: 1; transform: none; } }

/* ===== Bouton ajout : toujours visible sous le prix ===== */
.shop-wide .product-add { position: static !important; opacity: 1 !important; transform: none !important; left: auto; right: auto; bottom: auto; margin-top: 11px; }
.shop-wide .product-card:hover .product-add { transform: none !important; }
.shop-wide .product-add-btn { box-shadow: none; background: #fff; color: var(--turquoise-d, #5FA39A); border: 1.5px solid var(--turquoise-l, #cfe6df); border-radius: 10px; padding: 10px 12px; font-size: 11.5px; letter-spacing: .05em; }
.shop-wide .product-add-btn:hover { background: var(--turquoise, #81C2B8); color: #fff; border-color: var(--turquoise, #81C2B8); }
.shop-wide .product-add .product-sizes-pop { bottom: calc(100% + 8px); top: auto; left: 0; right: 0; }
.shop-wide .product-price { font-weight: 600; color: var(--ink, #1f1f1d); }
.shop-wide .product-rating { display: flex; align-items: center; gap: 1px; color: #f5b301; margin: 0 0 8px; }
.shop-wide .product-rating-count { color: #9a9a93; font-size: 11px; margin-left: 5px; }

/* ===== Carte : titre mis en avant, contenu centré ===== */
.shop-wide .product-info { text-align: center; }
.shop-wide .product-brand { text-align: center; }
.shop-wide .product-name { font-size: 14.5px; font-weight: 600; line-height: 1.35; min-height: 2.7em; text-align: center; margin: 0 0 7px; }
.shop-wide .product-rating { justify-content: center; }
.shop-wide .product-price { text-align: center; font-size: 16px; font-weight: 600; }
.shop-wide .product-info .product-price { text-align: center !important; display: block; width: 100%; }

/* ===== Description catégorie : UN SEUL box propre (corrige double bloc) ===== */
.cat-description { background: transparent !important; border: none !important; box-shadow: none !important; margin: 30px auto !important; padding: 0 var(--gutter, 24px) 40px !important; }
.cat-description .cat-description-inner { background: #fff !important; border: 1px solid #ececea !important; border-radius: 16px !important; padding: clamp(24px,3vw,40px) clamp(24px,4vw,48px) !important; box-shadow: 0 16px 40px -28px rgba(0,0,0,.16) !important; max-width: none !important; margin: 0 !important; position: relative; }
.cat-description .cat-description-inner::before { background: linear-gradient(90deg, var(--turquoise, #81C2B8), var(--turquoise-l, #B3DAD5)) !important; }
.cat-description .cat-description-inner h3 { color: var(--turquoise-d, #5FA39A) !important; }
.cat-description__body { color: #4a4a46; }
.cat-description__body::after { background: linear-gradient(transparent, #fff) !important; }
.cat-description__body a { color: var(--turquoise-d, #5FA39A); }

/* Description : police comme les avis, sans ombre, bordure comme les cartes */
.cat-description .cat-description-inner { box-shadow: none !important; border: 1px solid #ececea !important; border-radius: 16px !important; }
.cat-description__body, .cat-description .cat-description-inner p, .cat-description .cat-description-inner li, .cat-description .cat-description-inner { font-size: 13.5px !important; line-height: 1.6 !important; }
.cat-description .cat-description-inner h2 { font-size: 18px !important; }
.cat-description .cat-description-inner h3 { font-size: 15px !important; }
.cat-description .cat-description-inner::before { display: none !important; }
.cat-description .cat-description-inner { padding: 20px 24px !important; }
.cat-description .cat-description__toggle { margin-top: 14px !important; display: inline-block; }
.cat-description .cat-description__toggle { display: block !important; margin-top: 16px !important; font-weight: 400 !important; text-decoration: none !important; color: var(--turquoise-d, #5FA39A) !important; }
.cat-description .cat-description__toggle:hover { text-decoration: none !important; opacity: .8; }
.cat-description .cat-description__toggle { margin-top: 22px !important; }
.cat-description__body { margin-bottom: 4px; }
.cat-description__body::after { height: 2.6em !important; }
.cat-description .cat-description__toggle { margin-top: 6px !important; }
.cat-description .cat-description__toggle { margin-top: -2px !important; }
.cat-description__body::after { display: none !important; }
.cat-description__body { margin-bottom: 0 !important; }
.cat-description .cat-description__toggle { margin-top: 8px !important; }
.cat-description__body { max-height: 4.8em !important; }
.cat-description .cat-description__toggle { margin-top: 6px !important; }
.cat-description__toggle-in:checked ~ .cat-description__body { max-height: none !important; }

/* ===== Pagination — propre, turquoise ===== */
.shop-wide .shop-pagination { display: flex; justify-content: center; margin-top: 40px !important; }
.shop-wide .shop-pagination ul { display: flex; align-items: center; gap: 6px; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; background: none; border: none; }
.shop-wide .shop-pagination li { list-style: none; margin: 0; }
.shop-wide .shop-pagination .page-numbers { display: inline-flex !important; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 10px !important; border: none !important; background: transparent !important; color: var(--ink, #1f1f1d) !important; font-size: 14px; font-weight: 500; text-decoration: none; box-shadow: none !important; transition: background .15s, color .15s, border-color .15s; }
.shop-wide .shop-pagination .page-numbers:hover { border-color: var(--turquoise, #81C2B8) !important; color: var(--turquoise-d, #5FA39A) !important; background: #fff !important; }
.shop-wide .shop-pagination .page-numbers.current { background: var(--turquoise, #81C2B8) !important; color: #fff !important; border-color: var(--turquoise, #81C2B8) !important; }
.shop-wide .shop-pagination .page-numbers.dots { border: none !important; background: transparent !important; min-width: 24px; }
.shop-wide .shop-pagination .page-numbers.prev, .shop-wide .shop-pagination .page-numbers.next { font-size: 17px; }
.shop-wide .shop-pagination ul { background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; }

/* Pagination — fond transparent partout (global) */
.shop-pagination, .shop-pagination ul, .shop-pagination li { background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; }
.shop-pagination ul { display: flex !important; gap: 6px; justify-content: center; flex-wrap: wrap; }
.shop-pagination .page-numbers { background: #fff !important; border: 1px solid #ececea !important; border-radius: 10px !important; box-shadow: none !important; }
.shop-pagination .page-numbers.current { background: var(--turquoise, #81C2B8) !important; color: #fff !important; border-color: var(--turquoise, #81C2B8) !important; }
.shop-pagination .page-numbers.dots { background: transparent !important; border: none !important; }

/* Pagination — boutons transparents (sans bordure/fond/ombre) */
.shop-pagination .page-numbers { background: transparent !important; border: none !important; box-shadow: none !important; }
.shop-pagination .page-numbers:hover { background: transparent !important; color: var(--turquoise-d, #5FA39A) !important; }
.shop-pagination .page-numbers.current { background: var(--turquoise, #81C2B8) !important; color: #fff !important; }

/* ===== Carte avis dans la grille (rotative) ===== */
.shop-wide .review-card { background: var(--turquoise, #81C2B8) !important; border: none !important; box-shadow: none !important; color: #fff; display: flex; flex-direction: column; justify-content: center; padding: 24px 22px !important; min-height: 220px; }
.shop-wide .review-card:hover { box-shadow: none !important; }
.review-card__verified { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: #fff; opacity: .92; margin-bottom: 14px; }
.review-card__stage { position: relative; flex: 1; display: flex; align-items: center; }
.review-card__slide { display: none; flex-direction: column; width: 100%; }
.review-card__slide.is-active { display: flex; animation: sxs-rev-fade .5s ease; }
.review-card__stars { display: flex; gap: 1px; color: #fff; margin-bottom: 12px; }
.review-card__txt { font-size: 14px; line-height: 1.55; color: #fff; margin: 0 0 14px; font-style: italic; }
.review-card__author { font-weight: 600; font-size: 13px; color: #fff; }
@keyframes sxs-rev-fade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* Carte avis : fond blanc (comme les produits), accents turquoise/or */
.shop-wide .review-card { background: #fff !important; border: 1px solid #ececea !important; color: var(--ink, #1f1f1d); }
.review-card__verified { color: var(--turquoise-d, #5FA39A); opacity: 1; }
.review-card__stars { color: #f5b301; }
.review-card__txt { color: #4a4a46; }
.review-card__author { color: var(--ink, #1f1f1d); }

/* Carte avis : en-tête rassurant (logo Avis Garantis + note globale) */
.review-card__top { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid #f0efea; }
.review-card__logo { height: 26px; width: auto; display: block; }
.review-card__global { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.review-card__global .sxs-ag-stars { display: inline-flex; gap: 1px; color: #f5b301; }
.review-card__global-txt { font-size: 12.5px; color: #4a4a46; }
.review-card__global-txt strong { color: var(--ink, #1f1f1d); font-weight: 700; }

/* FIX pagination : le <ul> porte .page-numbers → conteneur transparent, style uniquement sur les liens */
.shop-pagination ul.page-numbers { background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; display: flex !important; gap: 6px; justify-content: center; flex-wrap: wrap; margin: 0; }
.shop-pagination li .page-numbers { background: transparent !important; border: none !important; box-shadow: none !important; min-width: 38px; height: 38px; }
.shop-pagination li .page-numbers:hover { background: transparent !important; color: var(--turquoise-d, #5FA39A) !important; }
.shop-pagination li .page-numbers.current { background: var(--turquoise, #81C2B8) !important; color: #fff !important; }

/* Carte avis : meta auteur + date, texte plus présent */
.shop-wide .review-card { justify-content: flex-start; }
.review-card__stage { align-items: flex-start; }
.review-card__txt { font-size: 14.5px !important; line-height: 1.6 !important; }
.review-card__meta { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.review-card__date { font-size: 11.5px; color: #9a9a93; }

/* Badge pierre sur les cartes : pastille couleur + nom */
.shop-wide .stone-badge { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 8px; font-size: 11.5px; color: #6b6f76; }
.shop-wide .stone-dot { width: 11px; height: 11px; border-radius: 50%; display: inline-block; border: 1px solid rgba(0,0,0,.14); flex: 0 0 auto; }
.shop-wide .stone-badge__label { letter-spacing: .01em; }

/* Badge type de pierre : overlay bas-gauche sur la photo */
.shop-wide .product-img-wrap { position: relative; }
.shop-wide .product-stone { position: absolute; left: 8px; bottom: 8px; z-index: 4; }
.shop-wide .product-stone .stone-badge { display: inline-block; background: rgba(255,255,255,.92); color: var(--ink, #1f1f1d); font-size: 11px; font-weight: 600; letter-spacing: .02em; padding: 5px 10px; border-radius: 999px; box-shadow: 0 4px 14px -6px rgba(0,0,0,.3); backdrop-filter: blur(2px); }

/* Badge type de pierre coloré : pastille + nom */
.shop-wide .product-stone .stone-badge { display: inline-flex; align-items: center; gap: 6px; }
.shop-wide .product-stone .stone-dot { width: 10px; height: 10px; border-radius: 50%; border: 1px solid rgba(0,0,0,.18); flex: 0 0 auto; display: inline-block; }

/* Badge type de pierre : pilule entièrement colorée */
.shop-wide .product-stone .stone-badge--color { background: none; box-shadow: 0 4px 14px -6px rgba(0,0,0,.35); border: 1px solid rgba(0,0,0,.08); backdrop-filter: none; }

/* Badge pierre discret : fond teinté léger + petite pastille + texte foncé */
.shop-wide .product-stone .stone-badge--color { background: rgba(255,255,255,.9); color: #2f2f2c; box-shadow: 0 3px 10px -6px rgba(0,0,0,.3); border: 1px solid rgba(0,0,0,.08); backdrop-filter: blur(2px); font-size: 10.5px; font-weight: 600; padding: 4px 9px; display: inline-flex; align-items: center; gap: 6px; }
.shop-wide .product-stone .stone-badge--color .stone-dot { width: 9px; height: 9px; border-radius: 50%; border: 1px solid rgba(0,0,0,.15); flex: 0 0 auto; }

/* À l'hover de la carte : tous les badges disparaissent */
.shop-wide .product-badges, .shop-wide .product-stone { transition: opacity .2s ease; }
.shop-wide .product-card:hover .product-badges, .shop-wide .product-card:hover .product-stone { opacity: 0; pointer-events: none; }

/* Bouton "Ajouter" : fond coloré, hover plus foncé */
.shop-wide .product-add-btn { background: var(--turquoise, #81C2B8) !important; color: #fff !important; border: 1.5px solid var(--turquoise, #81C2B8) !important; }
.shop-wide .product-add-btn:hover { background: var(--turquoise-d, #5FA39A) !important; border-color: var(--turquoise-d, #5FA39A) !important; color: #fff !important; }
.shop-wide .product-add-btn svg { stroke: #fff; }
/* Bouton "Ajouter au panier" : texte seul, sans l'icône panier */
.shop-wide .product-add-btn svg { display: none !important; }

/* Prix en promo sur les cartes : prix barré + remise */
.shop-wide .product-price.is-sale { display: inline-flex; align-items: baseline; gap: 7px; justify-content: center; flex-wrap: wrap; }
.shop-wide .product-price-now { color: #c0392b; font-weight: 700; }
.shop-wide .product-price-was { color: #9a9a93; text-decoration: line-through; font-weight: 400; font-size: .85em; }
/* Le pourcentage de remise est désormais affiché dans le badge sur l'image
   (.badge-sale) → on masque le doublon inline dans le prix (évite les décalages de ligne). */
.shop-wide .product-price-off { display: none !important; }

/* Déroulant "Trier" : même style que les filtres (vars rose eden mortes) */
.shop-sort-v2 { background: #fff !important; border: 1px solid #ececea !important; border-radius: 10px !important; padding: 8px 12px !important; }
.shop-sort-v2:hover { border-color: var(--turquoise, #81C2B8) !important; }
.shop-sort-v2 > span { color: #6b6f76 !important; }

/* Popup "Choisir la taille" : passe au-dessus du badge pierre */
.shop-wide .product-info { position: relative; z-index: 5; }
.shop-wide .product-quickadd { position: relative; }
.shop-wide .product-sizes-pop { z-index: 60; }

/* Description catégorie : marges ajustées (demande client) */
.cat-description .cat-description-inner { padding: 20px 24px !important; margin-top: -61px !important; margin-bottom: -36px !important; }

/* Déroulant Trier stylé (remplace le select natif) */
.shop-sort-pop .shop-sort-opt { display: block; padding: 9px 12px; border-radius: 8px; font-size: 13.5px; color: var(--ink, #1f1f1d); text-decoration: none; white-space: nowrap; transition: background .12s; }
.shop-sort-pop .shop-sort-opt:hover { background: #f3f6f5; }
.shop-sort-pop .shop-sort-opt.is-active { background: var(--turquoise-l, #e7f2f0); color: var(--turquoise-d, #5FA39A); font-weight: 600; }
.shop-sort-pop .shop-sort-pop__lbl strong { font-weight: 600; }
.shop-sort-pop .shop-sort-opt.is-active { background: var(--turquoise, #81C2B8) !important; color: #fff !important; }

/* Pagination : bordure sur les numéros non actifs, fond transparent, actif turquoise */
.shop-wide .shop-pagination .page-numbers { border: 1px solid #e2ddd5 !important; background: transparent !important; }
.shop-wide .shop-pagination .page-numbers:hover { border-color: var(--turquoise, #81C2B8) !important; color: var(--turquoise-d, #5FA39A) !important; }
.shop-wide .shop-pagination .page-numbers.current { background: var(--turquoise, #81C2B8) !important; color: #fff !important; border-color: var(--turquoise, #81C2B8) !important; }
.shop-wide .shop-pagination .page-numbers.dots { border: none !important; }

/* Pagination : flèches sans bordure (chiffres gardent le contour) */
.shop-wide .shop-pagination .page-numbers.prev,
.shop-wide .shop-pagination .page-numbers.next { border: none !important; }
.shop-wide .shop-pagination .page-numbers.prev:hover,
.shop-wide .shop-pagination .page-numbers.next:hover { border: none !important; }

/* FIX : le <ul> porte .page-numbers → contour seulement sur les liens dans les <li>, pas le conteneur */
.shop-wide .shop-pagination ul.page-numbers { border: none !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; }
.shop-wide .shop-pagination li .page-numbers { border: 1px solid #e2ddd5 !important; }
.shop-wide .shop-pagination li .page-numbers.prev,
.shop-wide .shop-pagination li .page-numbers.next,
.shop-wide .shop-pagination li .page-numbers.dots { border: none !important; }
.shop-wide .shop-pagination li .page-numbers.current { background: var(--turquoise, #81C2B8) !important; color: #fff !important; border-color: var(--turquoise, #81C2B8) !important; }

/* Description catégorie : marges (maj client) */
.cat-description .cat-description-inner { padding: 20px 24px !important; margin-top: -61px !important; margin-bottom: -40px !important; }

/* État vide (aucun produit) */
.shop-wide .shop-empty { text-align: center; padding: 8px 20px 6px; max-width: 460px; margin: 0 auto; border: 0; }
.shop-empty__icon { width: 74px; height: 74px; border-radius: 50%; background: #faf9f7; display: inline-flex; align-items: center; justify-content: center; color: var(--turquoise-d, #5FA39A); margin-bottom: 18px; }
.shop-empty__title { font-family: var(--font-serif); font-size: 24px; font-weight: 500; margin: 0 0 8px; color: var(--ink, #1f1f1d); }
.shop-empty__txt { color: #6b6f76; font-size: 14px; line-height: 1.6; margin: 0 0 22px; }
.shop-empty__btn { display: inline-block; background: var(--turquoise, #81C2B8); color: #fff; padding: 12px 24px; border-radius: 10px; font-weight: 600; text-decoration: none; transition: background .15s; }
.shop-empty__btn:hover { background: var(--turquoise-d, #5FA39A); }

/* ============================================================
   Espace membre (Mon compte) — couleurs du site
   ============================================================ */
.woocommerce-account .woocommerce { max-width: var(--maxw, 1480px); margin: 32px auto 64px; padding: 0 var(--gutter, 24px); }
.woocommerce-account .woocommerce::after { content: ''; display: table; clear: both; }

/* Menu latéral */
.woocommerce-account .woocommerce-MyAccount-navigation { width: 250px; float: left; }
.woocommerce-account .woocommerce-MyAccount-content { width: calc(100% - 290px); float: right; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation li { margin: 0 0 6px; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 11px 16px; border-radius: 10px; color: var(--ink, #1f1f1d); text-decoration: none; font-weight: 500; font-size: 14px; border: 1px solid #ececea; transition: background .15s, color .15s, border-color .15s; }
.woocommerce-MyAccount-navigation li a:hover { background: var(--turquoise-l, #e7f2f0); color: var(--turquoise-d, #5FA39A); border-color: var(--turquoise-l, #cfe6df); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--turquoise, #81C2B8); color: #fff; border-color: var(--turquoise, #81C2B8); }

/* Boutons */
.woocommerce-account .button, .woocommerce-account button[type=submit], .woocommerce-account .woocommerce-Button { background: var(--turquoise, #81C2B8) !important; color: #fff !important; border: none !important; border-radius: 10px !important; padding: 12px 24px !important; font-weight: 600 !important; cursor: pointer; transition: background .15s; }
.woocommerce-account .button:hover, .woocommerce-account button[type=submit]:hover { background: var(--turquoise-d, #5FA39A) !important; }

/* Champs */
.woocommerce-account input[type=text], .woocommerce-account input[type=email], .woocommerce-account input[type=password], .woocommerce-account input[type=tel], .woocommerce-account select, .woocommerce-account textarea { border: 1px solid #ddd9d2 !important; border-radius: 10px !important; padding: 11px 14px !important; font: inherit; }
.woocommerce-account input:focus, .woocommerce-account select:focus, .woocommerce-account textarea:focus { outline: none; border-color: var(--turquoise, #81C2B8) !important; box-shadow: 0 0 0 3px rgba(129,194,184,.15); }

/* Liens + tableaux */
.woocommerce-account .woocommerce a:not(.button) { color: var(--turquoise-d, #5FA39A); }
.woocommerce-account .woocommerce-orders-table thead th, .woocommerce-account table.shop_table thead th { background: #faf9f7; }
.woocommerce-account .woocommerce-orders-table, .woocommerce-account table.shop_table { border-radius: 12px; overflow: hidden; }

@media (max-width: 768px) {
	.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
	.woocommerce-account .woocommerce-MyAccount-content { margin-top: 24px; }
}

/* ===== Mon compte : largeur pleine du contenu (pas de double contrainte) ===== */
.woocommerce-account .woocommerce { max-width: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; float: none !important; }

/* Login + Register en 2 cartes côte à côte */
.woocommerce-account .u-columns, .woocommerce-account .col2-set { display: grid !important; grid-template-columns: 1fr 1fr; gap: 26px; width: 100%; margin: 0; }
.woocommerce-account .u-columns::before, .woocommerce-account .u-columns::after, .woocommerce-account .col2-set::before, .woocommerce-account .col2-set::after { display: none !important; }
.woocommerce-account .u-column1, .woocommerce-account .u-column2, .woocommerce-account .col-1, .woocommerce-account .col-2 { width: 100% !important; float: none !important; background: #fff; border: 1px solid #ececea; border-radius: 16px; padding: 28px 30px; }
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register { margin: 0; border: none; padding: 0; }
.woocommerce-account h2 { font-family: var(--font-serif); font-weight: 500; font-size: 22px; margin: 0 0 18px; color: var(--ink, #1f1f1d); }
.woocommerce-account .woocommerce-form-row { margin-bottom: 14px; }
.woocommerce-account label { font-size: 13.5px; font-weight: 500; }
.woocommerce-account .woocommerce-Input, .woocommerce-account input.input-text { width: 100% !important; box-sizing: border-box; }
.woocommerce-account .lost_password a { font-size: 13px; }
@media (max-width: 700px) { .woocommerce-account .u-columns, .woocommerce-account .col2-set { grid-template-columns: 1fr; } }

/* FIX : liens du menu compte en foncé (comme le reste), pas tout vert */
.woocommerce-account .woocommerce-MyAccount-navigation li a { color: var(--ink, #1f1f1d) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { color: var(--turquoise-d, #5FA39A) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: #fff !important; }
/* le coloriage turquoise des liens ne s'applique qu'au CONTENU, pas au menu */
.woocommerce-account .woocommerce-MyAccount-navigation a { text-decoration: none; }

/* RESET : liens du compte = couleur normale (foncée), fini le tout-vert */
.woocommerce-account .woocommerce a:not(.button) { color: inherit !important; }
.woocommerce-account .woocommerce-MyAccount-navigation a,
.woocommerce-account .woocommerce-MyAccount-navigation-link a { color: var(--ink, #1f1f1d) !important; text-decoration: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { color: var(--turquoise-d, #5FA39A) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: #fff !important; }

/* ===== Menu compte — version propre finale ===== */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0 !important; border: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block !important; padding: 12px 16px !important; border-radius: 10px !important; color: var(--ink, #1f1f1d) !important; font-weight: 500 !important; font-size: 14px !important; text-decoration: none !important; border: none !important; background: transparent !important; transition: background .15s, color .15s; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--turquoise-l, #e7f2f0) !important; color: var(--turquoise-d, #5FA39A) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--turquoise, #81C2B8) !important; color: #fff !important; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 8px !important; padding-top: 8px !important; border-top: 1px solid #ececea !important; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a { color: #9a3b3b !important; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a:hover { background: #fbeaea !important; color: #9a3b3b !important; }

/* ============================================================
   ESPACE MEMBRE — DESIGN FINAL (écrase les essais précédents)
   ============================================================ */
.woocommerce-account .woocommerce { display: flex !important; align-items: flex-start; max-width: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none !important; }
/* Espacement nav↔contenu porté par la nav (espace connecté) — pas un gap flex,
   qui décalait les cartes Connexion/Inscription à cause du wrapper de notices vide. */
.sxs-acc-nav { flex: 0 0 270px !important; width: 270px !important; float: none !important; margin-right: 28px !important; background: #fff; border: 1px solid #ececea; border-radius: 18px; padding: 18px; }
.woocommerce-account .woocommerce-MyAccount-content { flex: 1 1 auto !important; width: auto !important; float: none !important; background: #fff; border: 1px solid #ececea; border-radius: 18px; padding: 30px 32px; min-width: 0; margin: 0 !important; }

/* Carte utilisateur */
.sxs-acc-user { display: flex; align-items: center; gap: 12px; padding: 4px 6px 16px; margin-bottom: 12px; border-bottom: 1px solid #f0efea; }
.sxs-acc-avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--turquoise, #81C2B8); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--font-serif); font-size: 20px; font-weight: 600; flex: 0 0 auto; }
.sxs-acc-hello { font-size: 12px; color: #9a9a93; line-height: 1.3; display: flex; flex-direction: column; gap: 1px; }
.sxs-acc-hello strong { font-size: 15px; color: var(--ink, #1f1f1d); font-weight: 600; }

/* Menu */
.sxs-acc-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.sxs-acc-nav li { margin: 0 !important; border: none !important; }
.sxs-acc-nav li a { display: flex !important; align-items: center; gap: 11px; padding: 11px 14px !important; border-radius: 11px !important; color: var(--ink, #1f1f1d) !important; font-weight: 500 !important; font-size: 14px !important; text-decoration: none !important; border: none !important; background: transparent !important; box-shadow: none !important; transition: background .15s, color .15s; }
.sxs-acc-nav li a svg { color: #aab0b0; flex: 0 0 auto; transition: color .15s; }
.sxs-acc-nav li a:hover { background: var(--turquoise-l, #e7f2f0) !important; color: var(--turquoise-d, #5FA39A) !important; }
.sxs-acc-nav li a:hover svg { color: var(--turquoise-d, #5FA39A); }
.sxs-acc-nav li.is-active a { background: var(--turquoise, #81C2B8) !important; color: #fff !important; }
.sxs-acc-nav li.is-active a svg { color: #fff; }
.sxs-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px !important; padding-top: 6px !important; border-top: 1px solid #f0efea !important; }

/* Boutons : turquoise, AUCUNE bordure (fini le doré) */
.woocommerce-account .button, .woocommerce-account button[type=submit], .woocommerce-account .woocommerce-Button, .woocommerce-account input[type=submit] { background: var(--turquoise, #81C2B8) !important; color: #fff !important; border: none !important; border-radius: 10px !important; padding: 12px 24px !important; font-weight: 600 !important; box-shadow: none !important; cursor: pointer; }
.woocommerce-account .button:hover, .woocommerce-account button[type=submit]:hover, .woocommerce-account input[type=submit]:hover { background: var(--turquoise-d, #5FA39A) !important; }

@media (max-width: 768px) { .woocommerce-account .woocommerce { flex-direction: column !important; } .sxs-acc-nav { flex: none !important; width: 100% !important; margin-right: 0 !important; margin-bottom: 24px !important; } }

/* Espace membre : marges haut/bas égales */
.woocommerce-account .sxs-page-wrap { padding-top: 40px !important; padding-bottom: 40px !important; }
.woocommerce-account .woocommerce { margin-bottom: 0 !important; }

/* Espace membre : marges d'origine (haut 20 / bas 8) + bordures grises (fini le doré) */
.woocommerce-account .sxs-page-wrap { padding-top: 20px !important; padding-bottom: 8px !important; }
.woocommerce-account .woocommerce-MyAccount-content, .woocommerce-account .sxs-acc-nav, .woocommerce-account table, .woocommerce-account fieldset, .woocommerce-account .woocommerce-Address-title, .woocommerce-account address { border-color: #ececea !important; }
.sxs-acc-nav li a span { flex: 1; white-space: nowrap; }
.woocommerce-account .sxs-page-wrap { padding-bottom: 16px !important; }

/* ===== FINAL compte : icône + texte en ligne, bordures grises ===== */
.woocommerce-account .woocommerce-MyAccount-navigation.sxs-acc-nav li a { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 11px !important; text-align: left !important; }
.woocommerce-account .woocommerce-MyAccount-navigation.sxs-acc-nav li a svg { flex: 0 0 auto !important; width: 18px !important; height: 18px !important; }
.woocommerce-account .woocommerce-MyAccount-navigation.sxs-acc-nav li a span { flex: 1 1 auto !important; display: inline !important; white-space: nowrap !important; }
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .sxs-acc-nav,
.woocommerce-account table, .woocommerce-account th, .woocommerce-account td,
.woocommerce-account fieldset,
.woocommerce-account input, .woocommerce-account select, .woocommerce-account textarea,
.woocommerce-account address, .woocommerce-account .woocommerce-Address { border-color: #ececea !important; }
.woocommerce-account .sxs-page-wrap { padding-bottom: 30px !important; }

/* Annule TOUTE bordure dorée dans l'espace membre (force gris) */
.woocommerce-account .woocommerce,
.woocommerce-account .woocommerce *,
.woocommerce-account .sxs-acc-nav,
.woocommerce-account .sxs-acc-nav * { border-color: #ececea !important; }

/* Espace membre : aucune bordure visible (juste une ombre douce) */
.woocommerce-account .sxs-acc-nav, .woocommerce-account .woocommerce-MyAccount-content { border: none !important; box-shadow: 0 10px 34px -20px rgba(0,0,0,.14); }

/* Menu compte : hover = fond turquoise + texte blanc */
.woocommerce-account .woocommerce-MyAccount-navigation.sxs-acc-nav li a:hover { background: var(--turquoise, #81C2B8) !important; color: #fff !important; }
.woocommerce-account .woocommerce-MyAccount-navigation.sxs-acc-nav li a:hover svg { color: #fff !important; }

/* Compte : garder la grosse bordure extérieure, retirer les bordures INTÉRIEURES */
.woocommerce-account .sxs-acc-nav, .woocommerce-account .woocommerce-MyAccount-content { border: 1px solid #ececea !important; box-shadow: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { border-top: none !important; }
.woocommerce-account .woocommerce-MyAccount-content fieldset, .woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register { border: none !important; }

/* Inputs du compte : bordure gris clair partout (fini le doré) */
.woocommerce-account input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),
.woocommerce-account select,
.woocommerce-account textarea,
.woocommerce-account .select2-selection {
	border: 1px solid #ddd9d2 !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}
.woocommerce-account input:not([type=checkbox]):not([type=radio]):focus,
.woocommerce-account select:focus,
.woocommerce-account textarea:focus { border-color: var(--turquoise, #81C2B8) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { border: none !important; }

/* Messages "Aucune commande" / infos dans le compte : retire l'icône WC qui se chevauche */
.woocommerce-account .woocommerce-info, .woocommerce-account .woocommerce-message, .woocommerce-account .woocommerce-Message {
	background: #faf9f7 !important;
	border: none !important;
	border-left: 3px solid var(--turquoise, #81C2B8) !important;
	border-radius: 10px;
	padding: 16px 20px !important;
	display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	color: var(--ink, #1f1f1d);
}
.woocommerce-account .woocommerce-info::before, .woocommerce-account .woocommerce-message::before, .woocommerce-account .woocommerce-Message::before { display: none !important; content: none !important; }
.woocommerce-account .woocommerce-info .button { margin-left: auto; }

/* Bloc "Aucune commande" : fond blanc (pas crème) + bouton turquoise */
.woocommerce-account .woocommerce-info, .woocommerce-account .woocommerce-message { background: #fff !important; border-left: 3px solid var(--turquoise, #81C2B8) !important; }
.woocommerce-account .woocommerce-info .button, .woocommerce-account .woocommerce-info .woocommerce-Button, .woocommerce-account .woocommerce-message .button { background: var(--turquoise, #81C2B8) !important; color: #fff !important; border: none !important; border-radius: 10px !important; }
.woocommerce-account .woocommerce-info .button:hover, .woocommerce-account .woocommerce-message .button:hover { background: var(--turquoise-d, #5FA39A) !important; }

/* Page "Ajouter un moyen de paiement" */
.woocommerce-account #add_payment_method .button, .woocommerce-account .woocommerce-PaymentMethods + .button, .woocommerce-account .button.alt, .woocommerce-account a.button.wc-forward { background: var(--turquoise, #81C2B8) !important; color: #fff !important; border: none !important; border-radius: 10px !important; box-shadow: none !important; padding: 12px 24px !important; font-weight: 600 !important; }
.woocommerce-account .button.alt:hover, .woocommerce-account a.button.wc-forward:hover { background: var(--turquoise-d, #5FA39A) !important; }
.woocommerce-account .woocommerce-PaymentMethods { border-color: #ececea !important; border-radius: 12px; overflow: hidden; }
.woocommerce-account .woocommerce-PaymentMethods th, .woocommerce-account .woocommerce-PaymentMethods td { border-color: #ececea !important; }
.woocommerce-account #add_payment_method .form-row, .woocommerce-account .wc-payment-form { margin-top: 10px; }

/* Filtres : fond blanc (pas crème) */
.shop-fpop__btn, .shop-sort-v2, .shop-toolbar-v2, .shop-fpop__panel { background: #fff !important; }
.shop-fpop__btn:hover { background: #fff !important; }

/* Boutons de filtre : hauteur uniforme */
.shop-toolbar-v2 .shop-fpop__btn, .shop-toolbar-v2 .shop-sort-v2, .shop-fpop > summary, .shop-sort-pop > summary, .shop-toolbar-v2 .shop-toggle { min-height: 42px !important; box-sizing: border-box !important; display: inline-flex !important; align-items: center !important; }

/* =========================================================================
   RESPONSIVE — AUDIT MOBILE (2026-05-23)
   Breakpoints : <=1024 (burger/nav), <=768 (tablette), <=480 (mobile).
   pages.css charge en dernier => ces regles priment sur la cascade desktop.
   ========================================================================= */

/* Anti-zoom iOS + burger masque par defaut (desktop intact) */
html { -webkit-text-size-adjust: 100%; }
.sxs-burger { display: none; }

@media (max-width: 1440px) {

  /* ===== 1. HEADER / NAVIGATION ===== */
  /* Passe en mode mobile (burger + tiroir) dès 1360px : au-delà, le menu desktop
     (libellés FR longs) chevauchait le logo entre ~1180 et ~1340px. */
  /* Burger tout a gauche, logo colle juste apres, icones repoussees a droite. */
  .header-inner { display: flex; align-items: center; justify-content: flex-start; gap: 6px; padding-left: 10px !important; padding-right: 12px !important; }
  .logo { justify-self: auto; margin: 0; }
  .nav-icons { margin-left: auto; }
  .sxs-burger { margin-left: -4px; }
  .logo img, .logo .logo-img { max-height: 40px; width: auto; }

  .sxs-burger {
    display: inline-flex; flex-direction: column; justify-content: center; gap: 5px;
    width: 44px; height: 44px; padding: 11px; border: 0; background: none; cursor: pointer;
    flex: 0 0 auto; -webkit-tap-highlight-color: transparent;
  }
  .sxs-burger span { display: block; width: 100%; height: 2px; background: var(--ink, #1f1f1d); border-radius: 2px; transition: transform .25s ease, opacity .2s ease; }
  body.sxs-mobile-open .sxs-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  body.sxs-mobile-open .sxs-burger span:nth-child(2) { opacity: 0; }
  body.sxs-mobile-open .sxs-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* Icones : zone tactile 44x44 */
  .nav-icons { gap: 2px; flex: 0 0 auto; }
  .nav-icons .icon-btn { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }

  /* ===== MENU MOBILE : tiroir lateral facon panier ===== */
  .nav-primary {
    display: block !important;
    position: fixed; top: 0; left: 0; bottom: 0;
    width: min(86vw, 360px); margin: 0; padding: 0 0 28px;
    background: #fff; z-index: 1300; overflow-y: auto; -webkit-overflow-scrolling: touch;
    transform: translateX(-100%); transition: transform .34s cubic-bezier(.16, 1, .3, 1);
    box-shadow: 0 0 60px rgba(0, 0, 0, .26);
    font-family: var(--font-body); justify-self: auto; gap: 0;
  }
  body.sxs-mobile-open .nav-primary { transform: translateX(0); }
  body.sxs-mobile-open::before { content: ''; position: fixed; inset: 0; background: rgba(20, 18, 14, .5); z-index: 1250; }
  /* Le header (qui CONTIENT le tiroir) doit passer AU-DESSUS du voile, sinon le
     menu lui-même se retrouve derrière le voile (effet « tout flou/grisé »). */
  body.sxs-mobile-open .header { z-index: 1300; }

  /* En-tete du tiroir (titre + fermer), facon cart-drawer */
  .nav-primary__head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 20px; background: var(--turquoise, #81C2B8); color: #fff;
    position: sticky; top: 0; z-index: 2; margin-bottom: 10px;
  }
  .nav-primary__title { font-family: var(--font-display, 'Jost'), 'Jost', sans-serif; font-size: 18px; font-weight: 500; letter-spacing: .01em; }
  .nav-primary__close {
    width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(255,255,255,.5);
    background: transparent; color: #fff; display: inline-flex; align-items: center; justify-content: center;
    cursor: pointer; transition: background .18s, border-color .18s; flex: 0 0 auto;
  }
  .nav-primary__close:hover { background: rgba(255,255,255,.18); border-color: #fff; }

  /* Items de 1er niveau */
  .nav-primary .nav-item { display: block; width: 100%; position: static; border: 0; border-bottom: 1px solid #f1eee8; }
  .nav-primary .nav-item > a {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 14px 20px; min-height: 50px; width: 100%;
    font-size: 14px; font-weight: 500; color: var(--ink, #1f1f1d); letter-spacing: 0;
    transition: background .15s, color .15s;
  }
  .nav-primary .nav-item > a::after { display: none !important; }
  /* Pas d'etat turquoise au clic / ouverture : on reste neutre + pas de surlignage tactile. */
  .nav-primary a { -webkit-tap-highlight-color: transparent; }
  .nav-primary .nav-item.is-open > a { color: var(--ink, #1f1f1d); background: none; }
  /* Le :hover desktop (fond turquoise plein) reste colle apres un tap sur mobile : on l'annule ici. */
  .nav-primary .nav-item.has-sub:hover > a,
  .nav-primary .nav-item > a:hover,
  .nav-primary .nav-item > a:active,
  .nav-primary .nav-item > a:focus { background: none !important; color: var(--ink, #1f1f1d) !important; }

  /* Gros chevron, aligne sur la croix de fermeture (meme boite 34px centree). */
  .nav-primary .nav-caret {
    font-size: 22px; line-height: 1; color: var(--ink, #1f1f1d); background: none !important;
    width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center;
    border: 0; flex: 0 0 auto; transition: transform .25s ease;
  }
  .nav-primary .nav-caret::before { content: none !important; }
  /* La rotation NE depend QUE de .is-open : on annule la rotation au :hover
     (qui reste collee apres un tap sur mobile et figeait le chevron en haut). */
  .nav-primary .nav-item.has-sub:hover .nav-caret { transform: none; }
  .nav-primary .nav-item.is-open > a .nav-caret { transform: rotate(180deg) !important; color: var(--ink, #1f1f1d); }

  /* Bouton quiz : redevient une simple ligne dans le tiroir */
  .nav-primary .nav-item-quiz > a {
    background: transparent !important; border: 0 !important; color: var(--turquoise-d, #5FA39A) !important;
    font-weight: 600 !important; padding: 14px 20px !important; font-size: 14px !important; align-self: auto !important;
  }

  /* Sous-menu : accordion sobre */
  .nav-primary .nav-sub {
    position: static; display: none; opacity: 1; visibility: visible; transform: none;
    box-shadow: none; border: 0; min-width: 0; width: 100%; background: #f6f5f2; padding: 4px 0 10px;
  }
  .nav-primary .nav-item.is-open .nav-sub { display: block; }
  .nav-primary .nav-sub a { display: block; padding: 12px 20px 12px 32px; min-height: 42px; font-size: 13px; color: var(--ink-soft, #4f4f4f); border-left: 2px solid transparent; transition: border-color .15s, color .15s; background: none; }
  /* Pas de fond turquoise sur les sous-liens au tap/hover (annule la regle desktop). */
  .nav-primary .nav-sub a:hover,
  .nav-primary .nav-sub a:active,
  .nav-primary .nav-sub a:focus { background: none !important; color: var(--turquoise-d, #5FA39A) !important; border-left-color: var(--turquoise, #81C2B8); }
  .nav-primary .nav-sub a:hover.nav-sub-item { color: var(--turquoise-d, #5FA39A) !important; }
  .nav-primary .nav-sub a::after { display: none !important; }
  .nav-primary .nav-sub-head { font-weight: 600; color: var(--ink, #1f1f1d) !important; }
  .nav-primary .nav-sub-item { padding-left: 44px; font-size: 12px; color: #8a8a86; }
}

@media (max-width: 768px) {

  /* ===== 2. HERO ===== */
  .hero-slider { height: clamp(440px, 70vh, 580px); }
  .hero-slide__title { font-size: clamp(24px, 6vw, 30px); }
  .hero-slide__sub { font-size: 15px; max-width: 36ch; }
  .hero-slide__cta { padding: 13px 24px; min-height: 46px; font-size: 14px; }

  /* Titres de section : autoriser le retour a la ligne */
  .section-head { flex-wrap: wrap; gap: 8px 14px; }

  /* ===== 3. CATEGORIES : on GARDE le slider, 2 cartes visibles ===== */
  .cats-slider__track > .cat-card { flex: 0 0 calc((100% - 12px) / 2) !important; aspect-ratio: 4 / 5 !important; border-radius: 12px; display: block !important; }
  .cats-slider .cat-label h3 { font-size: 15px; }
  .cats-slider .cat-cta { font-size: 10px; padding: 7px 11px; }

  /* ===== 4. SLIDERS PRODUITS : on GARDE le slider, 2 cartes visibles ===== */
  .prod-slider .cats-slider__track > .product-card, .sxs-related__track > .product-card { flex: 0 0 calc((100% - 12px) / 2) !important; }
  .shop-wide .product-add, .shop-wide .product-cta { opacity: 1 !important; transform: none !important; min-height: 44px; }
  .shop-wide .product-badges { left: 8px; top: 8px; gap: 5px; flex-wrap: wrap; max-width: calc(100% - 16px); }

  /* ===== Filtres categorie : une seule ligne defilable (gain de place) ===== */
  .filter-pills { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; margin-bottom: 14px; padding-bottom: 4px; scrollbar-width: none; }
  .filter-pills::-webkit-scrollbar { display: none; }
  .filter-pill { flex: 0 0 auto; padding: 8px 14px; font-size: 12.5px; }

  /* ===== 5. AVIS : 1 colonne ===== */
  .home-reviews__grid { grid-template-columns: 1fr !important; }
  .home-reviews__num { font-size: 19px; }
  .home-reviews__ag, .review-card p { font-size: 14px; }

  /* ===== 6. STORY : colonne unique, CTA pleine largeur ===== */
  .story-grid { grid-template-columns: 1fr !important; gap: 24px; }
  .story-media { aspect-ratio: 4 / 3; }
  .story-text .story-cta { display: flex; width: 100%; justify-content: center; min-height: 48px; }

  /* ===== 7. NEWSLETTER : champ + bouton empiles ===== */
  .footer-newsletter__inner { flex-direction: column; align-items: stretch; gap: 14px; text-align: center; }
  .footer-newsletter__form { flex-direction: column; width: 100%; gap: 10px; }
  .footer-newsletter__form input[type=email], .footer-newsletter__form button { width: 100%; min-height: 48px; box-sizing: border-box; }

  /* ===== GLOBAL : pas de zoom iOS sur les champs ===== */
  input[type=email], input[type=search], input[type=text], input[type=tel], textarea { font-size: 16px; }
}

@media (max-width: 480px) {
  .hero-slider { height: clamp(420px, 76vh, 520px); }
  .hero-slide__title { font-size: 25px; }
  .hero-slide__sub { font-size: 14px; }

  /* Reassurance : ne pas comprimer */
  .sxs-reassurance__inner { flex-wrap: wrap; justify-content: center; }
}

/* ---- Barre de reassurance : marquee defilant sur mobile ---- */
.sxs-reassurance__track { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 4vw, 50px); flex-wrap: wrap; width: 100%; }
.sxs-reassurance__item.is-dup { display: none; }
@keyframes sxs-reassure-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 768px) {
  .sxs-reassurance { overflow: hidden; }
  .sxs-reassurance__inner { display: block; max-width: none !important; padding: 9px 0 !important; }
  .sxs-reassurance__track { flex-wrap: nowrap; justify-content: flex-start; width: max-content; gap: 30px; animation: sxs-reassure-scroll 18s linear infinite; }
  .sxs-reassurance__item { flex: 0 0 auto; white-space: nowrap; }
  .sxs-reassurance__item.is-dup { display: inline-flex; }
}

/* ---- Fiche produit : passage en 1 colonne (tablette + mobile) ---- */
@media (max-width: 860px) {
  .product-layout { grid-template-columns: 1fr !important; gap: 26px; }
  .product-gallery { position: static !important; top: auto; }
}
@media (max-width: 768px) {
  /* !important obligatoire : les regles de base (l.1051/1054) sont en !important */
  .product-detail-name { font-size: 22px !important; line-height: 1.25 !important; margin: 0 0 14px !important; }
  .product-detail-price-row { margin: 0 0 18px !important; padding: 14px 0 !important; }
  .product-detail-price { font-size: 23px !important; }
  .product-detail-was { font-size: 14px; }
  .product-detail-alma { margin: 0 0 18px !important; }
  .product-detail-actions { display: flex; flex-wrap: nowrap; gap: 8px; }
  .product-detail-qty { height: 50px; }
  .product-detail-add { flex: 1 1 auto; height: 50px; min-height: 50px; font-size: 15px; }
  .product-detail-fav { width: 50px; height: 50px; }
  .product-detail-actions--wc .single_add_to_cart_button { width: 100%; min-height: 50px; }
  .product-breadcrumb { font-size: 12px; }
}
@media (max-width: 480px) {
  .product-detail-name { font-size: 20px !important; }
  .product-detail-price { font-size: 22px !important; }
  .product-detail-brand { font-size: 11px !important; }
}

/* ---- Cartes produit : bouton "Choisir la taille" + popup adaptes mobile ---- */
@media (max-width: 768px) {
  .shop-wide .product-add-btn { font-size: 10.5px !important; letter-spacing: 0 !important; padding: 9px 8px !important; gap: 5px; white-space: nowrap; }
  .shop-wide .product-sizes-pop { padding: 8px !important; border-radius: 10px; }
  .shop-wide .product-sizes-pop__h { font-size: 9.5px; margin-bottom: 6px; }
  .shop-wide .product-sizes-pop__list { gap: 4px; }
  .shop-wide .product-sizes-pop .product-size { padding: 7px 8px; font-size: 12px; border-radius: 7px; }
}

/* ---- Mobile : masquer le badge type de pierre, garder la reduction pres du prix ---- */
@media (max-width: 768px) {
  .shop-wide .product-stone { display: none !important; }
  .shop-wide .product-price-off { display: none !important; }
}

/* ---- Cartes produit (accueil/categories) : on retire la note (etoiles) ---- */
.shop-wide .product-card .product-rating { display: none !important; }

/* ---- Mobile : collapse des layouts boutique (panier / checkout / compte) ---- */
@media (max-width: 768px) {
  .cart-layout, .co-layout { grid-template-columns: 1fr !important; gap: 22px !important; }
  .co-row, .acc-grid2 { grid-template-columns: 1fr !important; }
  .cart-item { grid-template-columns: 56px 1fr auto !important; gap: 10px !important; padding: 16px 14px !important; }
  .acc-layout { grid-template-columns: 1fr !important; gap: 20px !important; }
  .acc-order-row { grid-template-columns: 1fr 1fr !important; gap: 6px 12px !important; }
  .cart-crosssell-grid, .or-meta { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
  .cart-crosssell-grid { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  .or-meta { grid-template-columns: 1fr 1fr !important; }
}

/* ===== Produit en rupture de stock (fiche produit) ===== */
.product-page.is-oos .product-gallery-img,
.product-page.is-oos .product-thumb { filter: grayscale(1); opacity: .7; }
.product-page.is-oos .product-gallery-badge { display: none; }
.product-detail-oos { margin: 16px 0 20px; padding: 14px 16px; border: 1px solid #ecdcdc; background: #fbf3f3; border-radius: 12px; }
.product-detail-oos__badge { display: inline-block; background: #c0392b; color: #fff; font-weight: 700; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; padding: 4px 10px; border-radius: 6px; }
.product-detail-oos__text { margin: 9px 0 0; color: #7a6f63; font-size: 14px; }

/* Page de recherche uniquement : padding bas réduit du conteneur. */
body.search .shop-wide { padding: 0 var(--gutter, 24px) 24px; }
