/* ==========================================================================
   LOOP — Tebex template, editorial theme (white, Switzer, thin lines, pills)
   Loaded after shared.css. Everything .lp-* lives here; shared.css keeps the
   basket / popup / form machinery and is restyled at the end of this file.
   ========================================================================== */

:root {
  --bg: #fff;
  --fg: #000;
  --muted: #545454;
  --gray: #6b6b6b; /* WCAG AA a 12 px : 5,3:1 sur blanc, 4,7:1 sur #f0f0f0 (#828282 tombait a 3,4) */
  --light: #b8b8b8;
  --line: #dedede;
  --line-2: #dedede;   /* contour des controles isoles */
  --line-hover: #cfcfcf; /* bordure au survol */
  --surface: #fafafa;
  --surface2: #f0f0f0;
  --dark: #111;
  --radius: 16px;
  --col: 1440px;
  --pad: 48px;
  --font: "Switzer", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --nav-h: 54px;

  /* Elevation : 5 niveaux, pas 26 ombres improvisees.
     1 pose · 2 flottant · 3 survol · 4 panneau · 5 media */
  --sh-1: 0 1px 2px rgba(0,0,0,.05);
  --sh-2: 0 10px 30px -14px rgba(0,0,0,.18);
  --sh-3: 0 24px 44px -24px rgba(0,0,0,.3);
  --sh-4: 0 30px 60px -40px rgba(0,0,0,.3);
  --sh-5: 0 40px 70px -40px rgba(0,0,0,.5);
}

/* Les jetons du stock pointent vers les variables de theme : declares sur body.lp
   (et non :root) sinon ils se figent sur les valeurs claires en theme sombre. */
body.lp {
  /* stock tokens follow the theme */
  --color-bg: var(--bg);
  --color-text: var(--fg);
  --color-text-secondary: var(--muted);
  --color-text-dark: #fff;
  --color-primary: var(--fg);
  --color-primary-hover: #222;
  --color-primary-text: #fff;
  --color-primary-text-hover: #fff;
  --color-brighter-bg: var(--surface);
  --color-secondary: var(--surface2);
  --color-secondary-hover: #e6e6e6;
  --color-secondary-text: var(--fg);
  --color-secondary-text-hover: var(--fg);
  --color-tertiary: transparent;
  --color-tertiary-hover: var(--surface2);
  --color-tertiary-text: var(--fg);
  --color-sale-banner-bg: var(--fg);
  --color-sale-banner-text: #fff;
  --widget-padding: 20px;
  --tebex-legal-footer-background-color: #0c0c0c;
  --tebex-legal-footer-border-color: #2b2b2b;
  --tebex-legal-footer-text-color: #8a8a8a;
  --tebex-legal-footer-logo-color: #8a8a8a;
}
@media (width <= 960px) { :root { --pad: 20px; } }

/* ---------- base ---------- */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body.lp {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: -0.02em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  user-select: text;
}
body.lp .site.lp-site { display: block; gap: 0; min-height: calc(100vh - var(--tebex-footer-height)); font-size: 16px; }
body.lp h1, body.lp h2, body.lp h3, body.lp h4, body.lp p { margin: 0; }
body.lp a { color: inherit; text-decoration: none; }
body.lp img { max-width: 100%; display: block; }
body.lp ::selection { background: #000; color: #fff; }
body.lp button { font-family: inherit; }

.lp-container { width: 100%; max-width: var(--col); margin: 0 auto; padding: 0 var(--pad); }
.lp-frame { position: fixed; top: 0; bottom: 0; left: 50%; width: min(var(--col), 100%); transform: translateX(-50%); border-left: 1px solid var(--line); border-right: 1px solid var(--line); pointer-events: none; z-index: 1; }
.lp-block { padding: 96px 0; }
.lp-block-tight { padding: 48px 0; }
.lp-block + .lp-block { padding-top: 0; }

/* typography */
.lp-title { font-size: 72px; line-height: 1.05; letter-spacing: -0.04em; font-weight: 500; margin-bottom: 40px; }
.lp-title-sm { font-size: 40px; line-height: 1.05; letter-spacing: -0.035em; font-weight: 500; }
.lp-kicker { display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gray); margin-bottom: 24px; }
.lp-lead { font-size: 20px; line-height: 1.3; color: var(--muted); letter-spacing: -0.02em; max-width: 560px; }
.lp-label { font-size: 12px; font-weight: 600; letter-spacing: 0; color: var(--gray); }
.lp-muted { color: var(--muted); }
.t-i { font-style: italic; font-weight: 500; }
.t-h { font-weight: 700; }
.t-m { font-weight: 500; color: var(--muted); }
.t-p { display: inline-block; background: var(--fg); color: #fff; border-radius: 999px; padding: 0.02em 0.34em 0.1em; font-style: normal; font-weight: 600; line-height: 1.05; vertical-align: baseline; }
.lp-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 40px; }
.lp-section-head .lp-title { margin: 0; }

/* buttons */
.lp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 46px; padding: 0 24px;
  border-radius: 999px; border: 1px solid transparent;
  font: inherit; font-size: 16px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.05;
  cursor: pointer; white-space: nowrap;
  transition: transform .15s, box-shadow .2s, background .2s, border-color .2s, color .2s;
}
.lp-btn:active { transform: scale(.98); }
.lp-btn-dark { background: linear-gradient(180deg, #232323, #000); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 1px 2px rgba(0,0,0,.25), 0 10px 24px -12px rgba(0,0,0,.5); }
.lp-btn-dark:hover { color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 1px 2px rgba(0,0,0,.25), 0 14px 28px -12px rgba(0,0,0,.55); }
.lp-btn-light { background: #fff; color: var(--fg); border-color: var(--line-2); box-shadow: var(--sh-1); }
.lp-btn-light:hover { border-color: #bdbdbd; }
.lp-btn-ghost { background: transparent; color: var(--fg); }
.lp-btn-ghost:hover { background: var(--surface2); }
.lp-btn-sm { height: 38px; padding: 0 16px; font-size: 14px; }
.lp-btn-lg { height: 54px; padding: 0 28px; font-size: 16px; }
.lp-btn-block { width: 100%; }
.lp-btn[disabled], .lp-btn:disabled, .lp-btn[disabled] { opacity: .45; cursor: not-allowed; }
.lp-link-arrow { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 600; }
.lp-link-arrow i { font-size: 14px; transition: transform .2s; }
.lp-link-arrow:hover i { transform: translateX(3px); }
.lp-icon-btn { width: 40px; height: 40px; flex: none; border-radius: 50%; border: 1px solid var(--line-2); display: grid; place-items: center; background: #fff; color: var(--fg); cursor: pointer; transition: all .2s; font-size: 14px; }
.lp-icon-btn:hover { background: var(--fg); color: #fff; border-color: var(--fg); }
.lp-icon-btn:disabled { opacity: .35; cursor: default; background: #fff; color: var(--fg); border-color: var(--line); }

/* pills / tags / badges */
.lp-tag { display: inline-flex; align-items: center; gap: 8px; padding: 4px 12px; border-radius: 999px; border: 1px solid var(--line-2); background: #fff; font-size: 12px; font-weight: 600; color: var(--muted); white-space: nowrap; }
.lp-badge { display: inline-flex; align-items: center; gap: 4px; padding: 8px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: -0.01em; background: var(--fg); color: #fff; }
.lp-badge-outline { background: #fff; color: var(--fg); border: 1px solid var(--line); }
.lp-switch { display: inline-flex; background: var(--surface2); border-radius: 999px; padding: 4px; }
.lp-switch a, .lp-switch button { font: inherit; font-size: 14px; font-weight: 700; padding: 8px 16px; border-radius: 999px; border: 0; background: transparent; color: var(--gray); white-space: nowrap; cursor: pointer; transition: all .2s; }
.lp-switch a:hover, .lp-switch button:hover { color: var(--fg); }
.lp-switch a.is-active, .lp-switch button.is-active { background: #fff; color: var(--fg); box-shadow: var(--sh-1); }

/* stock buttons (package actions, basket, forms) follow the theme */
body.lp .btn-primary, body.lp .btn-secondary, body.lp .btn-tertiary {
  height: 46px; line-height: 44px; padding: 0 20px; border-radius: 999px;
  font-family: var(--font); font-size: 16px; font-weight: 600;
  background: #fff; border: 1px solid var(--line); color: var(--fg); box-shadow: var(--sh-1);
}
body.lp .btn-primary { background: linear-gradient(180deg, #232323, #000); color: #fff; border-color: transparent; box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 1px 2px rgba(0,0,0,.25), 0 10px 24px -12px rgba(0,0,0,.5); }
body.lp .btn-primary:hover, body.lp .btn-primary:focus { color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 14px 28px -12px rgba(0,0,0,.55); }
body.lp .btn-secondary:hover, body.lp .btn-tertiary:hover { border-color: #bdbdbd; background: #fff; }
body.lp .btn-glyph:not(.lp-btn) { background-image: none; }

/* ---------- announcement ---------- */
.lp-announce { text-align: center; font-size: 14px; font-weight: 600; padding: 12px var(--pad); border-bottom: 1px solid var(--line); background: var(--surface); }
.lp-announce .lp-code { margin-left: 10px; padding: 4px 12px; border: 1px dashed #bdbdbd; border-radius: 999px; background: #fff; font: inherit; font-weight: 700; letter-spacing: .06em; cursor: pointer; }
.lp-announce .lp-code:hover { border-color: var(--fg); }

/* ---------- floating nav ---------- */
.lp-nav-wrap { position: sticky; top: 0; z-index: 60; height: 0; }
.lp-nav {
  position: absolute; top: 14px; left: 50%; transform: translateX(-50%);
  display: flex; align-items: center; gap: 4px;
  max-width: calc(100% - 32px);
  padding: 6px 6px 6px 12px;
  background: rgba(255,255,255,.96); border: 1px solid var(--line); border-radius: 999px;
  box-shadow: var(--sh-2);
  transition: box-shadow .2s;
}
.lp-nav.is-open { box-shadow: var(--sh-2); }
.lp-nav-logo { display: flex; align-items: center; gap: 9px; margin-right: 4px; flex: none; }
.lp-nav-logo img { height: 30px; width: auto; max-width: 140px; object-fit: contain; }
.lp-nav-logo span { font-weight: 700; font-size: 16px; letter-spacing: -0.02em; }
.lp-nav-panel { display: grid; grid-template-columns: 0fr; opacity: 0; transition: grid-template-columns .4s cubic-bezier(.16,1,.3,1), opacity .2s; }
.lp-nav.is-open .lp-nav-panel { grid-template-columns: 1fr; opacity: 1; }
.lp-nav-panel-inner { display: flex; align-items: center; gap: 2px; min-width: 0; overflow: hidden; padding-left: 10px; }
.lp-nav-links { display: flex; align-items: center; gap: 2px; }
.lp-nav-links a { font-size: 14px; font-weight: 600; padding: 9px 11px; border-radius: 999px; color: var(--fg); white-space: nowrap; transition: background .2s; }
.lp-nav-links a:hover, .lp-nav-links a.is-active { background: var(--surface2); }
.lp-nav-dots { display: flex; align-items: center; justify-content: center; gap: 4px; height: 38px; padding: 0 12px; border-radius: 999px; border: 0; background: transparent; flex: none; cursor: pointer; transition: background .2s; }
.lp-nav-dots:hover { background: var(--surface2); }
.lp-nav-dots i { width: 4px; height: 4px; border-radius: 50%; background: var(--fg); display: block; animation: lp-dotwave 1.8s ease-in-out infinite; }
.lp-nav-dots i:nth-child(2) { animation-delay: .18s; }
.lp-nav-dots i:nth-child(3) { animation-delay: .36s; }
.lp-nav.is-open .lp-nav-dots i { animation: none; }
@keyframes lp-dotwave { 0%, 100% { transform: translateY(0); opacity: .6; } 50% { transform: translateY(-3px); opacity: 1; } }
.lp-nav-cta { display: inline-flex; align-items: center; gap: 8px; background: var(--fg); color: #fff; font-size: 14px; font-weight: 600; height: 38px; padding: 0 16px; border-radius: 999px; margin-left: 4px; white-space: nowrap; flex: none; border: 0; cursor: pointer; }
.lp-nav-cta:hover { color: #fff; background: #222; }
.lp-nav-cta .lp-cart-count { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: #fff; color: #000; font-size: 12px; font-weight: 700; line-height: 20px; text-align: center; }
.lp-nav-mini { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 10px; border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--fg); background: transparent; border: 0; cursor: pointer; white-space: nowrap; }
.lp-nav-mini:hover { background: var(--surface2); }
.lp-lang { position: relative; }
.lp-lang .language-dropdown { position: absolute; top: calc(100% + 10px); right: 0; min-width: 170px; padding: 6px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--sh-2); display: none; z-index: 70; }
.lp-lang.is-open .language-dropdown { display: block; }
.lp-lang .language-option { display: block; padding: 9px 12px; border-radius: 12px; font-size: 14px; font-weight: 600; }
.lp-lang .language-option:hover { background: var(--surface2); }
@media (width <= 960px) {
  .lp-nav { left: 16px; right: 16px; transform: none; max-width: none; justify-content: space-between; }
  .lp-nav-panel { position: absolute; top: calc(100% + 8px); left: 0; right: 0; display: none; grid-template-columns: 1fr; opacity: 1; background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 10px; box-shadow: var(--sh-2); }
  .lp-nav.is-open .lp-nav-panel { display: grid; }
  .lp-nav.is-open .lp-nav-dots { display: flex; }
  .lp-nav-panel-inner { flex-direction: column; align-items: stretch; padding: 0; overflow: visible; gap: 4px; }
  .lp-nav-links { flex-direction: column; align-items: stretch; }
  .lp-nav-links a { padding: 12px 14px; }
  .lp-nav-cta-label { display: none; }
}

/* ---------- hero ---------- */
.lp-hero { position: relative; padding: 120px 0 64px; }
.lp-hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .8fr); gap: 40px 64px; align-items: end; margin-bottom: 56px; }
.lp-hero-title { font-size: clamp(40px, 7vw, 96px); line-height: 1.05; letter-spacing: -0.04em; font-weight: 500; }
.lp-hero-title .t-p { padding: .02em .34em .1em; }
.lp-hero-copy .lp-lead { margin-top: 28px; }
.lp-hero-side { display: flex; flex-direction: column; gap: 32px; padding-bottom: 8px; }
.lp-hero-logo { display: flex; justify-content: center; padding: 8px 0 4px; }
.lp-hero-logo img { height: clamp(120px, 18vw, 240px); width: auto; max-width: 100%; object-fit: contain; filter: drop-shadow(0 18px 30px rgba(0,0,0,.14)); }
.lp-stats { display: flex; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 20px 0; margin: 0; list-style: none; }
.lp-stat { flex: 1; padding: 0 16px; border-left: 1px solid var(--line); min-width: 0; }
.lp-stat:first-child { padding-left: 0; border-left: 0; }
.lp-stat strong { display: block; font-size: 40px; font-weight: 500; letter-spacing: -0.05em; line-height: 1.05; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lp-stat span { display: block; font-size: 12px; color: var(--gray); font-weight: 600; margin-top: 8px; line-height: 1.3; }
.lp-hero-actions { display: flex; align-items: center; gap: 16px 28px; flex-wrap: wrap; }
.lp-reels { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 16px; }
.lp-reels:has(> .lp-reel:only-child) { grid-template-columns: 1fr; }
.lp-reels > .lp-reel:only-child { height: min(560px, 56vw); }
.lp-reels > .lp-reel:only-child.lp-reel-video { transform: none; }
.lp-reel { position: relative; display: block; overflow: hidden; border-radius: 24px; background: #111; height: min(560px, 58vh); box-shadow: var(--sh-5); color: #fff; }
.lp-reel:nth-child(2) { transform: translateY(28px); }
.lp-reel img, .lp-reel video, .lp-reel iframe { width: 100%; height: 100%; object-fit: cover; display: block; border: 0; }
.lp-reel-play { position: absolute; inset: 0; display: grid; place-items: center; }
.lp-reel-play::before { content: ""; width: 68px; height: 68px; border-radius: 50%; background: rgba(255,255,255,.94); box-shadow: 0 14px 34px rgba(0,0,0,.4); transition: transform .2s; }
.lp-reel-play::after { content: ""; position: absolute; border-left: 19px solid #000; border-top: 12px solid transparent; border-bottom: 12px solid transparent; margin-left: 6px; }
.lp-reel-video:hover .lp-reel-play::before { transform: scale(1.07); }
.lp-reel-video img { transition: transform .4s; }
.lp-reel-video:hover img { transform: scale(1.03); }
.lp-lightbox { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 24px; background: rgba(0,0,0,.88); }
.lp-lightbox-inner { width: min(1120px, 100%); aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: #000; box-shadow: var(--sh-5); }
.lp-lightbox iframe { width: 100%; height: 100%; border: 0; }
.lp-lightbox-close { position: absolute; top: 20px; right: 20px; width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255,255,255,.35); background: rgba(0,0,0,.45); color: #fff; font-size: 20px; line-height: 1.05; cursor: pointer; }
.lp-lightbox-close:hover { background: #fff; color: #000; }
.lp-reel-meta { position: absolute; left: 18px; right: 18px; bottom: 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #fff; text-shadow: 0 1px 12px rgba(0,0,0,.5); }
.lp-reel-meta strong { font-size: 16px; font-weight: 600; letter-spacing: -0.02em; }
.lp-reel-meta span { font-size: 14px; font-weight: 600; padding: 8px 12px; border-radius: 999px; background: rgba(255,255,255,.92); color: #000; text-shadow: none; }
.lp-reel-empty { background: var(--surface2); box-shadow: none; }

/* ---------- marquee ---------- */
.lp-marquee { position: relative; overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 16px 0; }
.lp-marquee::before, .lp-marquee::after { content: ""; position: absolute; top: 0; bottom: 0; width: 80px; z-index: 2; pointer-events: none; }
.lp-marquee::before { left: 0; background: linear-gradient(90deg, #fff, rgba(255,255,255,0)); }
.lp-marquee::after { right: 0; background: linear-gradient(270deg, #fff, rgba(255,255,255,0)); }
.lp-marquee-track { display: flex; gap: 48px; width: max-content; animation: lp-marquee 40s linear infinite; padding: 0 8px; }
.lp-marquee:hover .lp-marquee-track { animation-play-state: paused; }
.lp-marquee-item { display: inline-flex; align-items: center; gap: 16px; font-size: 14px; font-weight: 600; white-space: nowrap; }
.lp-marquee-item .lp-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--fg); }
.lp-marquee-item .t-m { font-weight: 500; }
@keyframes lp-marquee { to { transform: translateX(-50%); } }

/* ---------- panel + features ---------- */
.lp-panel { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; padding: 48px; border: 1px solid var(--line); border-radius: 24px; background: var(--surface); }
.lp-panel-copy { display: flex; flex-direction: column; gap: 16px; }
.lp-features { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.lp-feature { border: 1px solid rgba(0,0,0,.08); border-radius: 16px; padding: 24px; background: #fff; transition: transform .2s, box-shadow .2s; }
.lp-feature:hover { transform: translateY(-4px); box-shadow: var(--sh-3); border-color: var(--line-hover); }
.lp-feature-icon { width: 44px; height: 44px; border-radius: 16px; background: var(--surface2); display: grid; place-items: center; margin-bottom: 16px; color: var(--fg); font-size: 20px; }
.lp-feature h4 { font-size: 16px; margin-bottom: 8px; letter-spacing: -0.02em; font-weight: 600; }
.lp-feature p { font-size: 14px; line-height: 1.55; color: var(--muted); }

/* ---------- product cards ---------- */
.lp-grid { display: grid; gap: 16px; }
.lp-grid-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lp-card { position: relative; display: flex; flex-direction: column; border: 1px solid rgba(0,0,0,.08); border-radius: 24px; background: #fff; overflow: hidden; transition: transform .2s, box-shadow .2s, border-color .2s; }
.lp-card:hover { transform: translateY(-4px); box-shadow: var(--sh-3); border-color: var(--line-hover); }
.lp-card-media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--surface2); }
.lp-card-img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s cubic-bezier(.16,1,.3,1); }
.lp-card:hover .lp-card-img { transform: scale(1.04); }
.lp-card-img-default { display: grid; place-items: center; color: var(--light); font-size: 40px; }
.lp-card-badges { position: absolute; top: 12px; left: 12px; display: flex; flex-wrap: wrap; gap: 8px; z-index: 2; }
.lp-badges-inline { position: static; margin-bottom: 16px; }
.lp-card-countdown, .lp-countdown { position: absolute; right: 12px; bottom: 12px; z-index: 2; padding: 8px 12px; border-radius: 999px; background: rgba(255,255,255,.94); color: #000; font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.lp-countdown { position: static; display: inline-block; margin: 8px 0 16px; border: 1px solid var(--line-2); }
.lp-card-body { display: flex; flex-direction: column; gap: 8px; padding: 16px 16px 16px; flex: 1; }
.lp-card-title { font-size: 16px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lp-card-excerpt { font-size: 14px; color: var(--muted); line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lp-card-tags { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.lp-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; }
.lp-card-price { display: flex; flex-direction: column; line-height: 1.05; }
.lp-price-old { font-size: 12px; color: var(--gray); text-decoration: line-through; }
.lp-price-now, .lp-price-now strong { font-size: 20px; font-weight: 500; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.lp-price-free { font-weight: 600; }

/* compact actions inside cards (markup from package-actions.twig, logic from main.js) */
.lp-actions-box.is-compact { display: flex; align-items: center; gap: 8px; }
.lp-actions-box.is-compact .lp-btn { height: 38px; padding: 0 16px; font-size: 14px; }
.lp-actions-box.is-compact .lp-qty { --btn-size: 34px; height: 38px; }
.lp-actions-box .quantity-field { border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--fg); }
.lp-actions-box .quantity-field .adjust { border: 0; background: transparent; width: 30px; height: 100%; line-height: 1.05; padding: 0; font-size: 16px; color: var(--fg); box-shadow: none; }
.lp-actions-box .quantity-field .open-basket { font-size: 14px; font-weight: 700; padding: 0 4px; background: transparent; border: 0; color: var(--fg); cursor: pointer; }
.lp-actions-box .quantity-field input[type=number] { background: transparent; border: 0; color: var(--fg); }
.lp-actions-box.updating { opacity: .6; pointer-events: none; }

/* skeleton */
.lp-card-skeleton { pointer-events: none; }
.lp-card-skeleton .lp-card-media { background: linear-gradient(90deg, #f3f3f3, #e9e9e9, #f3f3f3); background-size: 200% 100%; animation: lp-shimmer 1.4s infinite; }
.lp-skel { height: 12px; border-radius: 8px; background: #ececec; animation: lp-shimmer 1.4s infinite; }
.lp-skel-title { width: 70%; height: 16px; }
.lp-skel-text { width: 45%; }
.lp-skel-price { width: 30%; height: 20px; margin-top: 16px; }
@keyframes lp-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
.lp-empty { text-align: center; color: var(--muted); padding: 32px 0; }

/* ---------- categories row ---------- */
.lp-cats { display: flex; flex-wrap: wrap; gap: 12px; }
.lp-cat { display: inline-flex; align-items: center; gap: 12px; padding: 12px 16px 12px 12px; border: 1px solid var(--line-2); border-radius: 999px; background: #fff; font-weight: 600; transition: all .2s; }
.lp-cat:hover { background: var(--fg); color: #fff; border-color: var(--fg); }
.lp-cat img, .lp-cat .lp-cat-icon { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; background: var(--surface2); display: grid; place-items: center; color: var(--gray); font-size: 14px; flex: none; }
.lp-cat:hover .lp-cat-icon { background: #222; color: #fff; }
.lp-cat span.lp-label { margin-left: 2px; }
.lp-cat:hover .lp-label { color: #bbb; }

/* ---------- FAQ ---------- */
.lp-faq { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 48px; align-items: start; }
.lp-faq-list { display: flex; flex-direction: column; gap: 12px; }
.lp-faq-item { border: 1px solid rgba(0,0,0,.08); border-radius: 16px; background: #fff; padding: 0 24px; transition: box-shadow .2s, border-color .2s; }
.lp-faq-item:hover, .lp-faq-item[open] { border-color: var(--line-hover); box-shadow: var(--sh-3); }
.lp-faq-item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 0; font-size: 16px; font-weight: 600; letter-spacing: -0.02em; }
.lp-faq-item summary::-webkit-details-marker { display: none; }
.lp-faq-item summary i { flex: none; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--line-2); display: grid; place-items: center; font-size: 12px; transition: transform .2s, background .2s, color .2s; }
.lp-faq-item[open] summary i { transform: rotate(45deg); background: var(--fg); color: #fff; border-color: var(--fg); }
.lp-faq-item p { padding: 0 0 24px; font-size: 16px; line-height: 1.55; color: var(--muted); max-width: 660px; }

/* ---------- reviews marquee ---------- */
.lp-review { display: inline-flex; align-items: center; gap: 12px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: 14px; white-space: nowrap; }
.lp-review strong { font-weight: 700; }
.lp-review .lp-muted { max-width: 46ch; overflow: hidden; text-overflow: ellipsis; }
.lp-review .lp-stars { color: var(--fg); font-size: 12px; letter-spacing: 1px; }

/* ---------- CTA card ---------- */
.lp-cta { position: relative; overflow: hidden; text-align: center; padding: 72px 40px; border: 1px solid var(--line); border-radius: 32px; background: #fff; }
.lp-cta::before { content: ""; position: absolute; inset: auto -10% -55% -10%; height: 70%; background: radial-gradient(closest-side, rgba(0,0,0,.06), transparent); pointer-events: none; }
.lp-cta-title { font-size: clamp(32px, 5vw, 64px); line-height: 1.05; letter-spacing: -0.04em; font-weight: 500; }
.lp-cta .lp-lead { margin: 24px auto 32px; max-width: 620px; }
.lp-perks { display: flex; flex-wrap: wrap; justify-content: center; font-size: 14px; font-weight: 600; margin-bottom: 32px; }
.lp-perk { display: flex; align-items: center; gap: 12px; padding: 4px 24px; border-left: 1px solid var(--line); }
.lp-perk:first-child { border-left: 0; }
.lp-perk .lp-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--fg); }
.lp-cta-actions { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; justify-content: center; }

/* ---------- page head / toolbar ---------- */
.lp-page-head { padding: 112px 0 24px; }
.lp-breadcrumb { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; font-size: 14px; font-weight: 600; color: var(--gray); }
.lp-breadcrumb a:hover { color: var(--fg); }
.lp-breadcrumb i { font-size: 12px; }
.lp-breadcrumb span { color: var(--fg); }
.lp-page-head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.lp-page-head .lp-title { margin-bottom: 0; }
.lp-page-desc { margin-top: 16px; max-width: 640px; color: var(--muted); font-size: 16px; }
.lp-count { font-size: 14px; font-weight: 600; color: var(--gray); padding-bottom: 12px; }
.lp-count strong { color: var(--fg); font-size: 16px; }
.lp-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-bottom: 32px; }
.lp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.lp-chip { display: inline-flex; align-items: center; padding: 8px 16px; border: 1px solid var(--line-2); border-radius: 999px; background: #fff; font-size: 14px; font-weight: 600; transition: all .2s; }
.lp-chip:hover, .lp-chip.is-active { background: var(--fg); color: #fff; border-color: var(--fg); }
.lp-sort { display: inline-flex; align-items: center; gap: 12px; padding: 0 16px; height: 40px; border: 1px solid var(--line-2); border-radius: 999px; background: #fff; font-size: 14px; color: var(--gray); margin-left: auto; }
.lp-sort select { align-self: stretch; background: transparent; border: 0; color: var(--fg); font: inherit; font-weight: 600; outline: none; cursor: pointer; }
.lp-empty-state { text-align: center; padding: 72px 20px; border: 1px dashed var(--line-2); border-radius: 24px; color: var(--muted); }
.lp-empty-state i { font-size: 32px; margin-bottom: 12px; color: var(--light); }
.lp-empty-state p { margin: 0 0 16px; }
.lp-trust-row { list-style: none; margin: 48px 0 0; padding: 24px 0 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 0; border-top: 1px solid var(--line); font-size: 14px; font-weight: 600; }
.lp-trust-row li { display: flex; align-items: center; gap: 12px; padding: 4px 24px; border-left: 1px solid var(--line); }
.lp-trust-row li:first-child { border-left: 0; }
.lp-trust-row .lp-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--fg); }
.lp-trust-row-compact { margin-top: 16px; padding-top: 16px; justify-content: flex-start; font-size: 14px; }
.lp-trust-row-compact li { padding: 2px 16px; }

/* ---------- package page ---------- */
body.lp .store-product-full.lp-product { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 40px; align-items: start; padding: 0; border: 0; background: none; }
.lp-product-gallery { min-width: 0; }
.lp-product-single { overflow: hidden; border-radius: 24px; border: 1px solid var(--line); background: #111; aspect-ratio: 16 / 9; display: grid; place-items: center; box-shadow: var(--sh-5); }
.lp-product-single img { width: 100%; height: 100%; object-fit: cover; }
.lp-product-single.lp-card-img-default { background: var(--surface2); box-shadow: none; font-size: 56px; }
body.lp .media-slider { display: flex; flex-direction: column; gap: 12px; }
body.lp .media-slider .slider { border-radius: 24px; overflow: hidden; border: 1px solid var(--line); background: #111; aspect-ratio: 16 / 10; box-shadow: var(--sh-5); }
body.lp .media-slider .slide-image, body.lp .media-slider .slide-frame { width: 100%; height: 100%; object-fit: cover; }
body.lp .media-slider .thumbs { list-style: none; margin: 0; padding: 0; display: flex; gap: 12px; overflow-x: auto; }
body.lp .media-slider .thumb { flex: none; width: 96px; aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; border: 2px solid transparent; cursor: pointer; opacity: .6; transition: opacity .2s, border-color .2s; }
body.lp .media-slider .thumb.active, body.lp .media-slider .thumb:hover { opacity: 1; border-color: var(--fg); }
body.lp .media-slider .thumb img { width: 100%; height: 100%; object-fit: cover; }
body.lp .media-slider .open-lightbox { align-self: flex-start; }
.lp-buybox { position: sticky; top: 90px; padding: 28px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: var(--sh-4); }
.lp-product-title { font-size: clamp(24px, 3vw, 40px); line-height: 1.05; letter-spacing: -0.035em; font-weight: 500; margin-bottom: 12px; }
.lp-buybox .lp-card-tags { margin: 8px 0 24px; font-size: 14px; }
.lp-buybox .lp-actions-box { display: flex; flex-wrap: wrap; gap: 12px; }
.lp-buybox .lp-actions-box .wide { width: 100%; }
.lp-buybox .lp-actions-box .half { flex: 1 1 calc(50% - 5px); }
.lp-price-line { display: flex; align-items: baseline; gap: 12px; width: 100%; margin: 0 0 8px; }
.lp-price-line .lp-price-now, .lp-price-line .lp-price-now strong { font-size: 40px; letter-spacing: -0.05em; }
.lp-price-line .lp-price-old { font-size: 16px; }
.lp-price-line .lp-badge { align-self: center; }
.lp-buybox-list { list-style: none; margin: 24px 0 0; padding: 20px 0 0; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 12px; font-size: 14px; color: var(--muted); }
.lp-buybox-list li { display: flex; gap: 12px; align-items: flex-start; }
.lp-buybox-list i { width: 18px; color: var(--fg); margin-top: 3px; font-size: 14px; }
.lp-buybox-foot { display: flex; gap: 24px; flex-wrap: wrap; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.lp-link-btn { display: inline-flex; align-items: center; gap: 8px; background: none; border: 0; padding: 0; color: var(--muted); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.lp-link-btn:hover { color: var(--fg); }
.lp-product-desc { grid-column: 1; padding-top: 16px; }
.lp-product-desc .lp-title-sm { margin-bottom: 16px; }
.lp-prose { color: #333; font-size: 16px; line-height: 1.55; max-width: 600px; }
.lp-prose img { border-radius: 16px; }
.lp-prose h1, .lp-prose h2, .lp-prose h3 { margin: 24px 0 12px; letter-spacing: -0.03em; }
.lp-prose ul, .lp-prose ol { padding-left: 20px; }
.lp-prose a { text-decoration: underline; }
.lp-related { margin-top: 72px; padding-top: 48px; border-top: 1px solid var(--line); }

/* ---------- footer ---------- */
.lp-footer { position: relative; margin-top: 96px; padding: 56px 0 24px; background: var(--dark); color: #fff; overflow: hidden; }
.lp-footer-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; font-size: 24px; font-weight: 700; letter-spacing: -0.03em; margin-bottom: 8px; }
.lp-footer-heading .g { color: #8a8a8a; font-weight: 500; font-size: 16px; }
.lp-footer-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding: 32px 0; border-top: 1px solid #2b2b2b; border-bottom: 1px solid #2b2b2b; }
.lp-footer-cols .lp-label { display: block; color: #8a8a8a; margin-bottom: 12px; }
.lp-footer-cols a { display: block; font-size: 16px; font-weight: 600; margin-bottom: 8px; width: fit-content; }
.lp-footer-cols a:hover { text-decoration: underline; }
.lp-footer-bottom { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; align-items: center; padding: 24px 0 0; font-size: 12px; color: #8a8a8a; }
.lp-footer-bottom .small { max-width: 420px; font-size: 12px; color: #6b6b6b; }
.lp-pay { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.lp-pay li { display: flex; align-items: center; height: 26px; padding: 0 8px; border-radius: 8px; background: #fff; }
.lp-pay img { height: 14px; width: auto; }
.lp-pay-text { color: #003087; font-weight: 700; font-size: 12px; gap: 4px; }
.lp-wordmark { display: block; width: 100%; height: auto; margin-top: 40px; fill: #1f1f1f; font-family: var(--font); font-weight: 900; letter-spacing: -0.04em; }

/* ---------- popups / basket / forms (shared.css machinery) ---------- */
body.lp .popup-content, body.lp .store-form { font-family: var(--font); }
body.lp .popup-content { border-radius: 24px; border: 1px solid var(--line); background: #fff; color: var(--fg); box-shadow: var(--sh-4); }
body.lp .popup .basket, body.lp .basket-title, body.lp .popup h2, body.lp .popup h3, body.lp .popup h4 { color: var(--fg); letter-spacing: -0.03em; }
body.lp .basket-item { border: 1px solid var(--line); border-radius: 16px; background: #fff; color: var(--fg); }
body.lp .basket-checkout .checkout { width: 100%; height: 52px; line-height: 50px; font-size: 16px; }
body.lp input[type=text], body.lp input[type=email], body.lp input[type=password], body.lp input[type=number], body.lp input[type=search], body.lp select, body.lp textarea {
  font-family: var(--font); border-radius: 12px; border: 1px solid var(--line); background: #fff; color: var(--fg);
}
body.lp input:focus, body.lp select:focus, body.lp textarea:focus { border-color: var(--fg); outline: none; box-shadow: 0 0 0 3px rgba(0,0,0,.08); }
body.lp .toast { border-radius: 16px; border: 1px solid var(--line); background: #fff; color: var(--fg); font-family: var(--font); }
body.lp .store-form, body.lp .store-product-options { max-width: 560px; margin: 120px auto 60px; padding: 32px; border: 1px solid var(--line); border-radius: 24px; background: #fff; color: var(--fg); }
body.lp .site-content { display: block; padding: 100px var(--pad) 0; max-width: var(--col); margin: 0 auto; }
body.lp .store-sidebar { display: none; }
body.lp .widget { border: 1px solid var(--line); border-radius: 16px; background: #fff; color: var(--fg); }
body.lp .popup-overlay, body.lp .popup::before { background: rgba(0,0,0,.35); }

/* ---------- specificity fixes against shared.css / body.lp a ---------- */
body.lp a.lp-btn-dark, body.lp .lp-btn-dark, body.lp a.lp-btn-dark:hover { color: #fff; }
body.lp a.lp-reel, body.lp a.lp-reel:hover { color: #fff; }
body.lp a.lp-nav-cta, body.lp .lp-nav-cta { color: #fff; }
body.lp .store-product .product-title, body.lp .store-product h1, body.lp .store-product h2, body.lp .store-product .price, body.lp .store-product .descr, body.lp .store-product .lp-prose { color: var(--fg); }
body.lp .store-product .discount, body.lp .store-product .lp-price-old { color: var(--gray); }
body.lp .store-product .product-title.lp-product-title { font-size: clamp(24px, 3vw, 40px); font-weight: 500; }

/* ==========================================================================
   DARK THEME — same editorial layout, monochrome (Appearance > Theme, or ?theme=dark|light)
   ========================================================================== */
body.lp.theme-dark {
  --bg: #0c0c0c;
  --fg: #fff;
  --muted: #a3a3a3;
  --gray: #8a8a8a;
  --light: #5a5a5a;
  --line: #262626;
  --line-2: #333;
  --line-hover: #3a3a3a;
  --surface: #131313;
  --surface2: #1d1d1d;
  --dark: #050505;
  --sh-1: 0 1px 2px rgba(0,0,0,.4);
  --sh-2: 0 10px 30px -14px rgba(0,0,0,.8);
  --sh-3: 0 24px 44px -24px rgba(0,0,0,.8);
  --sh-4: 0 30px 60px -40px rgba(0,0,0,.9);
  --sh-5: 0 40px 70px -40px rgba(0,0,0,.9);
  --color-text-dark: #000;
  --color-primary: #fff;
  --color-primary-hover: #e6e6e6;
  --color-primary-text: #000;
  --color-primary-text-hover: #000;
  --color-secondary-hover: #2a2a2a;
  --color-tertiary-hover: var(--surface2);
  --color-sale-banner-bg: #fff;
  --color-sale-banner-text: #000;
  --tebex-legal-footer-background-color: #050505;
  --tebex-legal-footer-border-color: #1f1f1f;
}
body.lp.theme-dark ::selection { background: #fff; color: #000; }
.theme-dark .t-p { background: #fff; color: #000; }
body.lp.theme-dark .lp-btn-dark, body.lp.theme-dark a.lp-btn-dark, body.lp.theme-dark a.lp-btn-dark:hover, body.lp.theme-dark .lp-btn-dark:hover { background: #fff; color: #000; box-shadow: 0 10px 24px -12px rgba(255,255,255,.35); }
.theme-dark .lp-btn-dark:hover { box-shadow: 0 14px 28px -12px rgba(255,255,255,.45); }
.theme-dark .lp-btn-light { background: transparent; color: #fff; box-shadow: none; }
.theme-dark .lp-btn-light:hover { border-color: #666; }
.theme-dark .lp-icon-btn { background: transparent; color: #fff; }
.theme-dark .lp-icon-btn:hover { background: #fff; color: #000; border-color: #fff; }
.theme-dark .lp-tag { background: transparent; color: var(--muted); }
.theme-dark .lp-badge { background: #fff; color: #000; }
.theme-dark .lp-badge-outline { background: rgba(0,0,0,.6); color: #fff; border-color: #444; }
.theme-dark .lp-switch a.is-active, .theme-dark .lp-switch button.is-active { background: #fff; color: #000; }
body.lp.theme-dark .btn-primary { background: #fff; color: #000; border-color: transparent; box-shadow: 0 10px 24px -12px rgba(255,255,255,.35); }
body.lp.theme-dark .btn-primary:hover, body.lp.theme-dark .btn-primary:focus { color: #000; box-shadow: 0 14px 28px -12px rgba(255,255,255,.45); }
body.lp.theme-dark .btn-secondary, body.lp.theme-dark .btn-tertiary { background: transparent; color: #fff; border-color: var(--line-2); box-shadow: none; }
body.lp.theme-dark .btn-secondary:hover, body.lp.theme-dark .btn-tertiary:hover { background: transparent; border-color: #666; }
.theme-dark .lp-announce { background: var(--surface); border-color: var(--line); }
.theme-dark .lp-announce .lp-code { background: transparent; border-color: #555; color: #fff; }
.theme-dark .lp-nav { background: rgba(18,18,18,.94); border-color: var(--line); }
body.lp.theme-dark .lp-nav-cta, body.lp.theme-dark a.lp-nav-cta { background: #fff; color: #000; }
body.lp.theme-dark .lp-nav-cta:hover { background: #e6e6e6; color: #000; }
.theme-dark .lp-nav-cta .lp-cart-count { background: #000; color: #fff; }
.theme-dark .lp-nav-links a:hover, .theme-dark .lp-nav-links a.is-active, .theme-dark .lp-nav-dots:hover, .theme-dark .lp-nav-mini:hover { background: #262626; }
.theme-dark .lp-nav-dots i { background: #fff; }
.theme-dark .lp-lang .language-dropdown, .theme-dark .lp-nav-panel { background: #141414; border-color: var(--line); }
@media (width <= 960px) { .theme-dark .lp-nav-panel { background: #141414; border-color: var(--line); } }
.theme-dark .lp-hero-logo img { filter: drop-shadow(0 18px 30px rgba(0,0,0,.6)); }
.theme-dark .lp-reel { background: #161616; }
.theme-dark .lp-reel-empty { background: var(--surface2); }
.theme-dark .lp-marquee::before { background: linear-gradient(90deg, var(--bg), rgba(12,12,12,0)); }
.theme-dark .lp-marquee::after { background: linear-gradient(270deg, var(--bg), rgba(12,12,12,0)); }
.theme-dark .lp-marquee-item .lp-dot, .theme-dark .lp-perk .lp-dot, .theme-dark .lp-trust-row .lp-dot { background: #fff; }
.theme-dark .lp-panel { background: var(--surface); border-color: var(--line); }
.theme-dark .lp-feature, .theme-dark .lp-card, .theme-dark .lp-faq-item, .theme-dark .lp-cta, .theme-dark .lp-buybox, .theme-dark .lp-review { background: #151515; border-color: rgba(255,255,255,.08); }
.theme-dark .lp-feature:hover, .theme-dark .lp-card:hover { border-color: var(--line-hover); }
.theme-dark .lp-feature-icon { background: #262626; color: #fff; }
.theme-dark .lp-card-media { background: #1a1a1a; }
.theme-dark .lp-card-img-default { color: #3a3a3a; }
.theme-dark .lp-card-countdown { background: rgba(0,0,0,.75); color: #fff; }
.theme-dark .lp-card-skeleton .lp-card-media { background: linear-gradient(90deg, #171717, #222, #171717); background-size: 200% 100%; }
.theme-dark .lp-skel { background: #222; }
.theme-dark .lp-actions-box .quantity-field { background: transparent; border-color: var(--line-2); }
.theme-dark .lp-cat { background: transparent; }
.theme-dark .lp-cat:hover { background: #fff; color: #000; border-color: #fff; }
.theme-dark .lp-cat .lp-cat-icon { background: #262626; color: #aaa; }
.theme-dark .lp-cat:hover .lp-cat-icon { background: #e6e6e6; color: #000; }
.theme-dark .lp-cat:hover .lp-label { color: #555; }
.theme-dark .lp-faq-item:hover, .theme-dark .lp-faq-item[open] { border-color: var(--line-hover); }
.theme-dark .lp-faq-item[open] summary i { background: #fff; color: #000; border-color: #fff; }
.theme-dark .lp-cta::before { background: radial-gradient(closest-side, rgba(255,255,255,.07), transparent); }
.theme-dark .lp-chip { background: transparent; }
.theme-dark .lp-chip:hover, .theme-dark .lp-chip.is-active { background: #fff; color: #000; border-color: #fff; }
.theme-dark .lp-sort { background: transparent; }
.theme-dark .lp-sort select option { background: #141414; }
.theme-dark .lp-product-single { border-color: var(--line); }
.theme-dark .lp-product-single.lp-card-img-default { background: #1a1a1a; }
.theme-dark .lp-buybox-list i { color: #fff; }
.theme-dark .lp-prose { color: #d0d0d0; }
body.lp.theme-dark .media-slider .slider { border-color: var(--line); }
body.lp.theme-dark .media-slider .thumb.active, body.lp.theme-dark .media-slider .thumb:hover { border-color: #fff; }
.theme-dark .lp-footer { background: var(--dark); border-top: 1px solid #1f1f1f; }
.theme-dark .lp-wordmark { fill: #141414; }
body.lp.theme-dark .popup-content, body.lp.theme-dark .basket-item, body.lp.theme-dark .toast, body.lp.theme-dark .store-form, body.lp.theme-dark .store-product-options, body.lp.theme-dark .widget { background: #141414; border-color: var(--line); color: #fff; }
body.lp.theme-dark input[type=text], body.lp.theme-dark input[type=email], body.lp.theme-dark input[type=password], body.lp.theme-dark input[type=number], body.lp.theme-dark input[type=search], body.lp.theme-dark select, body.lp.theme-dark textarea { background: #0c0c0c; border-color: var(--line-2); color: #fff; }
body.lp.theme-dark input:focus, body.lp.theme-dark select:focus, body.lp.theme-dark textarea:focus { border-color: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.12); }
body.lp.theme-dark .popup-overlay, body.lp.theme-dark .popup::before { background: rgba(0,0,0,.7); }

/* ---------- motion ---------- */
.lp-reveal { opacity: 0; transform: translateY(14px); transition: opacity .6s ease var(--lp-delay, 0ms), transform .6s cubic-bezier(.16,1,.3,1) var(--lp-delay, 0ms); }
.lp-reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .lp-reveal { opacity: 1; transform: none; transition: none; }
  .lp-marquee-track, .lp-nav-dots i { animation: none; }
}

/* ---------- responsive ---------- */
@media (width <= 1200px) {
  .lp-grid-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lp-title { font-size: 56px; }
}
@media (width <= 960px) {
  .lp-hero { padding-top: 100px; }
  .lp-hero-grid { grid-template-columns: 1fr; align-items: start; gap: 32px; }
  .lp-hero-title { font-size: clamp(40px, 9vw, 64px); }
  .lp-stats { flex-wrap: wrap; gap: 16px 0; }
  .lp-stat { flex: 1 1 45%; }
  .lp-stat:nth-child(3) { border-left: 0; padding-left: 0; }
  .lp-stat strong { font-size: 32px; }
  .lp-reels { gap: 8px; }
  .lp-reel { height: min(360px, 50vh); border-radius: 16px; }
  .lp-reel:nth-child(2) { transform: translateY(12px); }
  .lp-title { font-size: 40px; margin-bottom: 28px; }
  .lp-title-sm { font-size: 32px; }
  .lp-section-head { flex-direction: column; align-items: flex-start; }
  .lp-panel { grid-template-columns: 1fr; padding: 28px; gap: 28px; }
  .lp-features { grid-template-columns: 1fr; }
  .lp-faq { grid-template-columns: 1fr; gap: 24px; }
  body.lp .store-product-full.lp-product { grid-template-columns: 1fr; }
  .lp-buybox { position: static; }
  .lp-block { padding: 64px 0; }
  .lp-footer-cols { grid-template-columns: 1fr; }
  .lp-cta { padding: 48px 20px; }
  .lp-page-head { padding-top: 96px; }
}
@media (width <= 720px) {
  .lp-grid-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .lp-card-body { padding: 12px 16px 16px; }
  .lp-card-footer { flex-direction: column; align-items: stretch; }
  .lp-actions-box.is-compact .lp-btn { width: 100%; }
  .lp-perk, .lp-trust-row li { border-left: 0; padding: 4px 12px; }
  .lp-hero-actions .lp-btn { width: 100%; }
}
@media (width <= 480px) {
  .lp-grid-cards { grid-template-columns: 1fr; }
  .lp-reels { grid-template-columns: 1fr 1fr; }
  .lp-reel:nth-child(3) { display: none; }
}

/* ---------- journal des mises a jour ---------- */
.lp-timeline { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--line); }
.lp-timeline-item { position: relative; padding: 0 0 24px 24px; }
.lp-timeline-item::before { content: ""; position: absolute; left: -4px; top: 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--fg); }
.lp-timeline-item time { margin-right: 8px; }
.lp-timeline-item p { margin: 8px 0 0; color: var(--muted); font-size: 16px; line-height: 1.55; }
.theme-dark .lp-timeline { border-color: var(--line); }

/* ---------- avis par produit ---------- */
.lp-pkg-reviews { display: grid; gap: 12px; margin-bottom: 28px; }
.lp-pkg-review { margin: 0; padding: 16px 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.lp-pkg-review p { margin: 8px 0 12px; font-size: 16px; line-height: 1.55; }
.lp-pkg-review cite { font-style: normal; font-weight: 600; font-size: 14px; }
.theme-dark .lp-pkg-review { background: #141414; border-color: var(--line); }

/* ---------- bundles en cartes ---------- */
.lp-bundle-grid { margin-top: 16px; }

/* ---------- fiche produit : video + prerequis ---------- */
.lp-video { position: relative; aspect-ratio: 16 / 9; margin-bottom: 16px; border-radius: 16px; overflow: hidden; border: 1px solid var(--line); background: #000; }
.lp-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.lp-requirements { margin: 12px 0 16px; font-size: 14px; color: var(--muted); line-height: 1.55; }
.lp-requirements .lp-label { display: inline; margin-right: 6px; }
.theme-dark .lp-video { border-color: var(--line); }

/* ---------- recherche instantanee ---------- */
.lp-search { display: inline-flex; align-items: center; gap: 12px; padding: 0 16px; height: 40px; border: 1px solid var(--line-2); border-radius: 999px; background: #fff; font-size: 14px; color: var(--gray); margin-left: auto; }
.lp-search i { font-size: 12px; }
.lp-search input { align-self: stretch; width: 190px; max-width: 42vw; background: transparent; border: 0; color: var(--fg); font: inherit; font-weight: 600; outline: none; }
.lp-search input::placeholder { color: var(--light); font-weight: 500; }
.lp-search input::-webkit-search-cancel-button { filter: grayscale(1); cursor: pointer; }
.lp-search:focus-within { border-color: var(--fg); }
.lp-search + .lp-sort { margin-left: 0; }
.lp-no-result { padding: 48px 0 8px; font-size: 16px; color: var(--muted); }
.theme-dark .lp-search { background: transparent; }

/* ---------- logo detoure ---------- */
/* La marque est creme/doree : sur blanc elle disparait, on l'encre en noir en theme clair. */
body.lp:not(.theme-dark) .lp-nav-logo img { filter: brightness(0); }
body.lp:not(.theme-dark) .lp-hero-logo img { filter: brightness(0) drop-shadow(0 18px 30px rgba(0,0,0,.14)); }

/* ---------- accessibilite clavier ---------- */
.lp-skip { position: fixed; top: -100px; left: 16px; z-index: 10000; padding: 12px 16px; border-radius: 999px;
  background: var(--fg); color: var(--bg); font-size: 14px; font-weight: 600; transition: top .15s; }
.lp-skip:focus { top: 16px; }
body.lp :focus-visible { outline: 2px solid var(--fg); outline-offset: 2px; }
body.lp .lp-sort select:focus-visible { outline: 2px solid var(--fg); outline-offset: 6px; }
body.lp a.lp-skip { color: var(--bg); }
body.lp a.lp-skip:focus-visible { outline-color: var(--bg); outline-offset: -6px; }

/* ---------- cibles tactiles (mesure iframe 390 px, 2026-09-16) ---------- */
@media (width <= 720px) {
  .lp-footer-cols a { display: flex; align-items: center; min-height: 36px; margin-bottom: 0; }
  .lp-hero-actions .lp-link-arrow, .lp-cta-actions .lp-link-arrow { min-height: 44px; }
  .lp-breadcrumb a { display: inline-flex; align-items: center; min-height: 30px; }
  .lp-link-btn { min-height: 36px; }
  .lp-card-title a { display: block; }
}

/* ============================================================
   Passe UI/UX du 2026-09-20 — cibles tactiles, rythme, chiffres
   Reference : WCAG 2.5.5 (Target Size), Apple HIG 44pt, Material 48dp
   ============================================================ */

/* 1. Cibles tactiles : 44 px partout, y compris au-dessus de 720 px.
      Mesure du 20/09 : 35 des 56 elements interactifs etaient sous la cible,
      dont le bouton d'achat des cartes a 30x38. */
.lp-btn,
.lp-nav-cta,
.lp-nav-dots,
.lp-switch button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* 2. Extrait de carte : 16 px sur mobile, pour la lisibilite et contre l'auto-zoom iOS.
      La taille de base est posee avec le reste de la carte. */
@media (max-width: 767px) {
  .lp-card-excerpt { font-size: 16px; }
}

/* 3. Prix en chiffres tabulaires : les montants s'alignent en colonne
      et ne sautillent plus au changement de devise ou de remise. */
.lp-card-price,
.lp-price,
.lp-product-price,
.lp-basket-total {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}
/* 4. Avis defilants : un bouton de pause. Le survol ne pause que pour une souris ;
      WCAG 2.2.2 demande un mecanisme atteignable au clavier et au doigt. */
.lp-section-aside { display: flex; align-items: center; gap: 16px; }
.lp-marquee-track.is-paused { animation-play-state: paused; }
.lp-marquee-btn {
  font: inherit; font-size: 12px; font-weight: 600; min-height: 44px; padding: 0 16px;
  border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--gray);
  cursor: pointer; white-space: nowrap; transition: color .2s, border-color .2s;
}
.lp-marquee-btn:hover { color: var(--fg); border-color: var(--fg); }
@media (prefers-reduced-motion: reduce) { .lp-marquee-btn { display: none; } }


/* ---------- lp-vente (2026-09-25) : prix barres, formules, editions, bundles ---------- */
.lp-per-month { display: block; margin-top: 4px; font-size: 12px; font-weight: 600; color: var(--gray); letter-spacing: 0; }
.lp-badge-save { background: var(--fg); color: var(--bg); }
.lp-price-line .lp-price-old { margin-right: 8px; font-size: 14px; }
.lp-price-line .lp-per-month { font-size: 13px; }
.lp-hero-rating { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 20px; font-size: 14px; color: var(--muted); }
.lp-hero-rating .lp-stars { letter-spacing: 2px; color: var(--fg); }
.lp-hero-rating strong { color: var(--fg); font-weight: 600; }
.lp-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.lp-plan { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 28px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); color: inherit; text-decoration: none; transition: border-color .2s, transform .2s; }
.lp-plan:hover { border-color: var(--line-hover); transform: translateY(-2px); }
.lp-plan.is-featured { border-color: var(--fg); box-shadow: 0 0 0 1px var(--fg); }
.lp-plan-kicker { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gray); }
.lp-plan-name { font-size: 22px; font-weight: 600; letter-spacing: -0.03em; line-height: 1.1; }
.lp-plan-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin-top: 6px; }
.lp-plan-price small { font-size: 12px; color: var(--gray); }
.lp-plan-price .lp-price-now strong { font-size: 32px; }
.lp-plan-price .lp-price-old { font-size: 14px; }
.lp-plan-note { font-size: 13px; font-weight: 600; color: var(--muted); }
.lp-plan-desc { font-size: 14px; line-height: 1.5; color: var(--gray); flex: 1; }
.lp-plan .lp-btn { margin-top: auto; align-self: flex-start; }
.lp-upsell { display: grid; gap: 12px; margin-top: 16px; }
.lp-editions-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
.lp-edition { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; color: inherit; text-decoration: none; font-size: 13px; }
.lp-edition strong { font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
.lp-edition.is-active { border-color: var(--fg); box-shadow: 0 0 0 1px var(--fg); }
a.lp-edition:hover { border-color: var(--line-hover); }
.lp-upsell-bundle { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border: 1px dashed var(--line-2); border-radius: 14px; color: inherit; text-decoration: none; }
.lp-upsell-bundle:hover { border-style: solid; border-color: var(--line-hover); }
.lp-upsell-bundle strong { font-size: 15px; font-weight: 600; }
.lp-upsell-price { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
.lp-upsell-price .lp-badge { padding: 4px 10px; }
@media (max-width: 720px) { .lp-plan { padding: 22px; } .lp-plan-price .lp-price-now strong { font-size: 28px; } }


/* ==========================================================================
DA LOOP V4 — "charbon chaud + or" (store de scripts FiveM)
Choix : theme sombre = norme des stores FiveM (captures in-game mieux mises en valeur),
fond charbon teinte (pas de #000), texte ivoire, UN accent or reserve aux CTA / prix / etats actifs (60-30-10).
Polices : Montserrat (titres, boutons, navigation) + Inter (texte, chiffres tabulaires).
Composants uniques : rayon 8 px (cartes, boutons, champs), pill pour les tags. Pas d'effet decoratif.
========================================================================== */
:root { --font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif; --head: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif; --r: 8px; }
body.lp {
--bg: #121114;
--surface: #19181c;
--surface2: #222025;
--card: #19181c;
--line: rgba(244,241,234,.08);
--line-2: rgba(244,241,234,.14);
--line-hover: rgba(244,241,234,.24);
--fg: #f4f1ea;
--muted: #aaa49a;
--gray: #8d877e;
--light: #5d5850;
--dark: #0d0c0f;
--gold: #d4a94f;
--gold-hover: #e2bb66;
--gold-text: #e3c07a;
--gold-soft: rgba(212,169,79,.12);
--gold-line: rgba(212,169,79,.45);
--color-primary: #d4a94f;
--color-primary-hover: #e2bb66;
--color-primary-text: #121114;
--color-primary-text-hover: #121114;
--color-sale-banner-bg: #d4a94f;
--color-sale-banner-text: #121114;
--tebex-legal-footer-background-color: #0d0c0f;
--tebex-legal-footer-border-color: #1f1d22;
--tebex-legal-footer-text-color: #8d877e;
--tebex-legal-footer-logo-color: #8d877e;
background: var(--bg); color: var(--fg); font-family: var(--font); font-weight: 400; font-size: 16px; line-height: 1.6; letter-spacing: 0;
}
body.lp ::selection { background: var(--gold); color: #121114; }
body.lp :focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
body.lp .lp-frame, body.lp .lp-wordmark { display: none; }
body.lp [hidden] { display: none !important; }

/* ---------- typographie ---------- */
body.lp .lp-hero-title, body.lp .lp-title, body.lp .lp-title-sm, body.lp .lp-cta-title, body.lp .lp-product-title, body.lp .store-product .product-title.lp-product-title, body.lp .lp-card-title, body.lp .lp-plan-name, body.lp .lp-faq-item summary, body.lp .lp-footer-heading, body.lp .lp-prose h2, body.lp .lp-prose h3, body.lp .text-content h2, body.lp .text-content h3 {
font-family: var(--head); font-style: normal; text-transform: none; text-wrap: balance; color: var(--fg);
}
body.lp .lp-hero-title { font-size: clamp(34px, 4.2vw, 54px); line-height: 1.1; font-weight: 700; letter-spacing: -0.02em; }
body.lp .lp-title { font-size: clamp(28px, 3vw, 36px); line-height: 1.15; font-weight: 700; letter-spacing: -0.015em; margin: 0; }
body.lp .lp-title-sm { font-size: clamp(24px, 2.4vw, 30px); line-height: 1.2; font-weight: 700; letter-spacing: -0.015em; }
body.lp .t-i { font-style: normal; } body.lp .t-h, body.lp .t-m { color: inherit; font-weight: inherit; }
body.lp .t-p { background: none; color: inherit; padding: 0; border-radius: 0; font-weight: inherit; display: inline; }
body.lp .lp-hero .t-p { color: var(--gold-text); }
body.lp .lp-kicker { font-family: var(--head); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gold-text); margin-bottom: 16px; display: block; }
body.lp .lp-label { font-family: var(--font); font-size: 13px; font-weight: 500; letter-spacing: 0; color: var(--gray); text-transform: none; }
body.lp .lp-lead { font-size: 17px; line-height: 1.6; color: var(--muted); letter-spacing: 0; }
body.lp .lp-prose, body.lp .text-content { color: #d9d4ca; font-size: 16px; line-height: 1.7; }
body.lp .lp-prose a { color: var(--gold-text); }
body.lp .lp-prose strong { color: var(--fg); font-weight: 600; }
body.lp .lp-prose h2, body.lp .text-content h2 { font-size: 22px; font-weight: 700; margin: 28px 0 10px; }
body.lp .lp-prose h3, body.lp .text-content h3 { font-size: 18px; font-weight: 700; margin: 24px 0 8px; }
body.lp .lp-prose p + p { margin-top: 12px; }
body.lp .lp-price-now, body.lp .lp-price-now strong, body.lp .lp-stat strong { font-variant-numeric: tabular-nums; }

/* ---------- boutons (un seul style de CTA) ---------- */
body.lp .lp-btn, body.lp .btn-primary, body.lp .btn-secondary, body.lp .btn-tertiary, body.lp .lp-nav-cta {
font-family: var(--head); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; border-radius: var(--r); clip-path: none; transition: background .15s, border-color .15s, color .15s;
}
body.lp .lp-btn { height: 44px; padding: 0 20px; }
body.lp .lp-btn-lg { height: 50px; padding: 0 24px; font-size: 15px; }
body.lp .lp-btn-dark, body.lp a.lp-btn-dark, body.lp .btn-primary, body.lp .lp-nav-cta, body.lp a.lp-nav-cta { background: var(--gold); color: #121114; border: 1px solid var(--gold); box-shadow: none; }
body.lp .lp-btn-dark:hover, body.lp a.lp-btn-dark:hover, body.lp .btn-primary:hover, body.lp .btn-primary:focus, body.lp .lp-nav-cta:hover, body.lp a.lp-nav-cta:hover { background: var(--gold-hover); border-color: var(--gold-hover); color: #121114; box-shadow: none; }
body.lp .lp-btn-light, body.lp .btn-secondary, body.lp .btn-tertiary { background: transparent; color: var(--fg); border: 1px solid var(--line-2); box-shadow: none; }
body.lp .lp-btn-light:hover, body.lp .btn-secondary:hover, body.lp .btn-tertiary:hover { border-color: var(--fg); color: var(--fg); background: rgba(244,241,234,.04); }
body.lp .lp-btn::after, body.lp .btn-primary::after, body.lp .lp-nav-cta::after { display: none; }
body.lp .lp-btn:active { transform: translateY(1px); }
body.lp .lp-link-arrow { font-family: var(--head); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--gold-text); }
body.lp .lp-link-arrow:hover { color: var(--fg); }
body.lp .lp-actions-box .quantity-field { border-radius: var(--r); border-color: var(--line-2); background: transparent; }
body.lp .lp-btn[disabled], body.lp .lp-btn:disabled { opacity: .5; }

/* ---------- navigation ---------- */
body.lp .lp-nav-wrap { height: 64px; position: sticky; top: 0; z-index: 60; }
body.lp .lp-nav { top: 0; left: 0; right: 0; transform: none; max-width: none; height: 64px; padding: 0 max(var(--pad), calc((100% - 1280px) / 2 + var(--pad))); border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: rgba(18,17,20,.96); box-shadow: none; gap: 8px; -webkit-backdrop-filter: none; backdrop-filter: none; }
body.lp .lp-nav-logo img { height: 32px; filter: none; }
body.lp .lp-nav-logo span { font-family: var(--head); font-style: normal; font-weight: 700; text-transform: none; font-size: 16px; letter-spacing: -0.01em; color: var(--fg); }
body.lp .lp-nav-panel { flex: 1; }
body.lp .lp-nav-panel-inner { justify-content: space-between; width: 100%; }
body.lp .lp-nav-links { gap: 2px; }
body.lp .lp-nav-links a { font-family: var(--head); font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--muted); border-radius: 6px; padding: 8px 12px; border: 0; background: none; }
body.lp .lp-nav-links a:hover { color: var(--fg); background: none; }
body.lp .lp-nav-links a.is-active { color: var(--fg); background: none; box-shadow: inset 0 -2px 0 var(--gold); border-radius: 0; }
body.lp .lp-nav-mini { font-family: var(--head); font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; border-radius: 6px; color: var(--muted); background: none; }
body.lp .lp-nav-mini:hover { background: none; color: var(--fg); }
body.lp .lp-nav-cta { height: 40px; padding: 0 16px; }
body.lp .lp-nav-cta .lp-cart-count { background: #121114; color: var(--gold-text); border-radius: 999px; }
body.lp .lp-lang .language-dropdown, body.lp .lp-nav-panel { border-radius: var(--r); background: var(--surface); border-color: var(--line-2); }
body.lp .lp-lang .language-option { border-radius: 6px; font-family: var(--head); font-size: 14px; text-transform: none; letter-spacing: 0; color: var(--fg); }
body.lp .lp-lang .language-option:hover { background: var(--surface2); }
@media (width > 960px) { body.lp .lp-nav-dots { display: none; } body.lp .lp-nav .lp-nav-panel { grid-template-columns: 1fr; opacity: 1; background: none; border: 0; } }
@media (width <= 960px) { body.lp .lp-nav { padding: 0 16px; } body.lp .lp-nav-panel { border: 1px solid var(--line-2); } body.lp .lp-nav-links a { padding: 13px 14px; } body.lp .lp-nav-links a.is-active { box-shadow: none; color: var(--gold-text); } }
body.lp .lp-nav-dots i { background: var(--fg); border-radius: 50%; animation: none; }
.lp-ticker { display: none; }

/* ---------- tags, badges, switch, annonce ---------- */
body.lp .lp-announce { background: var(--gold); color: #121114; border: 0; font-family: var(--head); font-size: 13px; font-weight: 600; text-transform: none; letter-spacing: 0; }
body.lp .lp-announce .lp-code { border-radius: 6px; border: 1px dashed #121114; color: #121114; background: transparent; }
body.lp .lp-tag { border-radius: 999px; border: 1px solid var(--line-2); background: transparent; color: var(--muted); font-family: var(--font); font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; padding: 3px 10px; }
body.lp .lp-card-media .lp-tag { border: 0; background: rgba(13,12,15,.82); color: var(--fg); }
body.lp .lp-badge { border-radius: 6px; background: var(--gold); color: #121114; font-family: var(--head); font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; padding: 4px 9px; }
body.lp .lp-badge-outline { background: rgba(13,12,15,.82); color: var(--fg); border: 1px solid var(--line-2); }
body.lp .lp-switch { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 3px; }
body.lp .lp-switch a, body.lp .lp-switch button { border-radius: 6px; font-family: var(--head); font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--muted); }
body.lp .lp-switch a.is-active, body.lp .lp-switch button.is-active { background: var(--surface2); color: var(--fg); box-shadow: none; }

/* ---------- hero produit ---------- */
body.lp .lp-hero { position: relative; padding: 56px 0 40px; overflow: hidden; background: radial-gradient(60% 80% at 85% 20%, rgba(212,169,79,.10), transparent 70%), var(--bg); border: 0; }
body.lp .lp-hero::before { display: none; }
.lp-hero4-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); gap: 56px; align-items: center; }
body.lp .lp-hero4 .lp-lead { margin-top: 18px; max-width: 500px; }
body.lp .lp-hero4 .lp-hero-actions { margin-top: 28px; display: flex; gap: 12px; flex-wrap: wrap; }
body.lp .lp-hero4 .lp-hero-actions .lp-btn i { font-size: 17px; }
.lp-hero4-trust { list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 14px; color: var(--muted); }
.lp-hero4-trust li { display: inline-flex; align-items: center; gap: 6px; }
.lp-hero4-trust strong { color: var(--fg); font-weight: 600; font-variant-numeric: tabular-nums; }
.lp-hero4-trust .lp-stars { color: var(--gold); letter-spacing: 1px; font-size: 12px; }
.lp-hero4-media { position: relative; display: block; border-radius: 10px; overflow: hidden; aspect-ratio: 16 / 9; background: #0d0c0f; border: 1px solid var(--line-2); box-shadow: 0 30px 60px -30px rgba(0,0,0,.8); }
body.lp a.lp-hero4-media, body.lp a.lp-hero4-media:hover { color: #fff; }
.lp-hero4-media img { width: 100%; height: 100%; object-fit: cover; }
.lp-hero4-media .lp-reel-play { position: absolute; inset: 0; display: grid; place-items: center; }
.lp-hero4-media .lp-reel-play::before { content: ""; width: 68px; height: 68px; border-radius: 50%; background: var(--gold); box-shadow: 0 12px 30px rgba(0,0,0,.45); transition: transform .15s; clip-path: none; }
.lp-hero4-media .lp-reel-play::after { content: ""; position: absolute; border-left: 19px solid #121114; border-top: 11px solid transparent; border-bottom: 11px solid transparent; margin-left: 6px; }
.lp-hero4-media:hover .lp-reel-play::before { transform: scale(1.05); }
.lp-hero4-cap { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 36px 18px 14px; background: linear-gradient(0deg, rgba(13,12,15,.88), transparent); font-family: var(--head); font-size: 14px; }
.lp-hero4-cap strong { font-weight: 600; color: #fff; }
.lp-hero4-cap span { color: var(--gold-text); font-weight: 600; font-size: 13px; }
.lp-guarantees { list-style: none; margin: 48px 0 0; padding: 18px 0 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.lp-guarantees li { display: flex; align-items: center; gap: 12px; font-size: 14px; color: var(--muted); line-height: 1.4; }
.lp-guarantees i { flex: none; width: 20px; text-align: center; color: var(--gold); font-size: 16px; }
.lp-guarantees strong { display: block; color: var(--fg); font-weight: 600; font-family: var(--head); font-size: 14px; }
@media (width <= 960px) { .lp-hero4-grid { grid-template-columns: 1fr; gap: 28px; } body.lp .lp-hero { padding: 32px 0 32px; } .lp-guarantees { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 32px; } }
@media (width <= 720px) { body.lp .lp-hero4 .lp-hero-actions .lp-btn { flex: 1 1 100%; } }

/* ---------- animations : aucune au scroll ---------- */
.lp-reveal, .lp-hero .lp-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }

/* ---------- sections ---------- */
body.lp .lp-block { padding: 72px 0; }
body.lp .lp-block-tight { padding: 56px 0; }
body.lp .lp-block + .lp-block { padding-top: 0; }
body.lp .lp-section-head { margin-bottom: 28px; align-items: flex-end; }
body.lp #featured { padding-top: 40px; }

/* ---------- cartes produit ---------- */
body.lp .lp-grid-cards { gap: 20px; }
body.lp .lp-card { border-radius: var(--r); background: var(--card); border: 1px solid var(--line); clip-path: none; box-shadow: none; transition: border-color .15s, transform .15s; }
body.lp .lp-card::after { display: none; }
body.lp .lp-card:hover { transform: translateY(-2px); box-shadow: none; border-color: var(--line-hover); }
body.lp .lp-card:hover .lp-card-img { transform: none; }
body.lp .lp-card-media { background: #0d0c0f; border-bottom: 1px solid var(--line); }
.lp-card-media .lp-card-fw { position: absolute; left: 10px; bottom: 10px; z-index: 2; display: flex; flex-wrap: wrap; gap: 4px; }
body.lp .lp-card-body { padding: 16px; gap: 6px; }
body.lp .lp-card-title { font-size: 16px; font-weight: 700; line-height: 1.3; letter-spacing: -0.005em; }
body.lp .lp-card-title a:hover { color: var(--gold-text); }
body.lp .lp-card-excerpt { color: var(--muted); font-size: 14px; line-height: 1.5; }
body.lp .lp-card-footer { padding-top: 14px; }
body.lp .lp-price-now, body.lp .lp-price-now strong { font-family: var(--head); font-weight: 700; color: var(--fg); letter-spacing: -0.01em; }
body.lp .lp-card .lp-price-now, body.lp .lp-card .lp-price-now strong { font-size: 18px; }
body.lp .lp-price-old { font-family: var(--font); color: var(--gray); }
body.lp .lp-card-skeleton .lp-card-media { background: linear-gradient(90deg, #19181c, #222025, #19181c); background-size: 200% 100%; }
body.lp .lp-skel { background: #222025; border-radius: 4px; }
.lp-cover { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; padding: 7% 7% 16%; background-color: #0d0c0f; background-image: linear-gradient(90deg, rgba(13,12,15,.95) 0%, rgba(13,12,15,.7) 45%, rgba(13,12,15,.05) 80%), var(--lp-cover); background-size: cover, 150% auto; background-position: center, 80% 50%; color: var(--fg); overflow: hidden; }
.lp-cover::before, .lp-cover::after { display: none; }
.lp-cover-brand { font-family: var(--head); font-size: 10px; font-weight: 700; letter-spacing: .16em; color: var(--gold-text); }
.lp-cover-name { font-family: var(--head); font-style: normal; font-weight: 700; text-transform: none; font-size: clamp(18px, 2vw, 24px); line-height: 1.15; letter-spacing: -0.01em; max-width: 62%; }
.lp-product-single .lp-cover-name { font-size: clamp(26px, 3vw, 40px); }
.lp-product-single.lp-cover { display: flex; place-items: normal; align-items: flex-start; justify-content: flex-end; }

/* ---------- formules ---------- */
body.lp .lp-plan, body.lp .lp-edition, body.lp .lp-upsell-bundle { border-radius: var(--r) !important; }
body.lp .lp-plan { background: var(--card) !important; border: 1px solid var(--line) !important; box-shadow: none !important; }
body.lp .lp-plan.is-featured { border: 1px solid var(--gold) !important; }
body.lp .lp-plan-kicker { font-family: var(--head) !important; color: var(--gold-text) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .08em !important; text-transform: uppercase !important; }
body.lp .lp-badge-save { background: var(--gold) !important; color: #121114 !important; }
body.lp .lp-edition { background: transparent !important; border-color: var(--line-2) !important; }
body.lp .lp-edition.is-active { border-color: var(--gold) !important; background: var(--gold-soft) !important; }
body.lp .lp-upsell-bundle { background: transparent !important; border-color: var(--line-2) !important; }
body.lp .lp-edition:hover, body.lp .lp-upsell-bundle:hover { border-color: var(--gold-line) !important; }

/* ---------- avis ---------- */
.lp-review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.lp-review-card { margin: 0; padding: 20px; border: 1px solid var(--line); border-radius: var(--r); background: var(--card); display: flex; flex-direction: column; gap: 10px; }
.lp-review-card .lp-stars { font-size: 13px; letter-spacing: 2px; color: var(--gold); }
.lp-review-card p { font-size: 15px; line-height: 1.6; color: #dcd6cb; }
.lp-review-card footer { margin-top: auto; display: flex; align-items: baseline; gap: 8px; font-size: 14px; }
.lp-review-card footer strong { font-family: var(--head); font-weight: 600; color: var(--fg); }
.lp-review-card footer span { color: var(--gray); font-size: 13px; }
.lp-review-note { margin-top: 16px; font-size: 14px; color: var(--gray); }
@media (width <= 960px) { .lp-review-grid { grid-template-columns: 1fr; } }

/* ---------- faq, timeline, categories, chips ---------- */
body.lp .lp-faq-item { border-radius: var(--r); background: var(--card); border: 1px solid var(--line); box-shadow: none; }
body.lp .lp-faq-item:hover, body.lp .lp-faq-item[open] { border-color: var(--line-hover); box-shadow: none; }
body.lp .lp-faq-item summary { font-size: 16px; font-weight: 600; letter-spacing: 0; }
body.lp .lp-faq-item summary i { border-radius: 50%; border-color: var(--line-2); background: transparent; color: var(--fg); }
body.lp .lp-faq-item[open] summary i { background: var(--gold); color: #121114; border-color: var(--gold); transform: rotate(45deg); }
body.lp .lp-faq-item p { color: var(--muted); }
body.lp .lp-faq .lp-kicker { display: none; }
body.lp .lp-timeline { border-color: var(--line-2); }
body.lp .lp-timeline-item::before { background: var(--gold); border-radius: 50%; transform: none; }
body.lp .lp-timeline-item .lp-tag { color: var(--gold-text); border-color: var(--gold-line); font-variant-numeric: tabular-nums; }
body.lp .lp-timeline-item p { color: var(--muted); }
body.lp .lp-cat, body.lp .lp-chip, body.lp .lp-sort, body.lp .lp-search { border-radius: var(--r); border-color: var(--line-2); background: transparent; color: var(--fg); }
body.lp .lp-chip { font-family: var(--head); font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; }
body.lp .lp-chip:hover, body.lp .lp-chip.is-active { background: var(--gold); color: #121114; border-color: var(--gold); }
body.lp .lp-search input, body.lp .lp-sort select { border: 0 !important; box-shadow: none !important; background: transparent !important; color: var(--fg); padding: 0; height: auto; }
body.lp .lp-search:focus-within { border-color: var(--gold); }
body.lp .lp-toolbar { border-color: var(--line); }
body.lp .lp-page-head { padding-top: 40px; }
body.lp .lp-breadcrumb { font-size: 13px; }
body.lp .lp-empty-state { border-radius: var(--r); border-color: var(--line-2); }

/* ---------- fiche produit ---------- */
body.lp .lp-buybox { border-radius: 10px; background: var(--card); border: 1px solid var(--line-2); box-shadow: none; clip-path: none; }
body.lp .lp-buybox .price, body.lp .lp-buybox .lp-price-line { background: none; padding-left: 0; padding-right: 0; }
body.lp .lp-price-line .lp-price-now, body.lp .lp-price-line .lp-price-now strong { font-size: 34px; }
body.lp .lp-buybox .lp-actions-box { position: static; display: flex; flex-wrap: wrap; align-items: center; align-content: flex-start; height: auto; gap: 10px; background: none; box-shadow: none; padding: 0; margin: 0; border: 0; }
body.lp .lp-buybox .lp-actions-box .lp-btn.wide, body.lp .lp-buybox .lp-actions-box .quantity-field.wide { flex: 1 1 100%; width: 100%; height: 50px; }
body.lp .lp-buybox .lp-actions-box .lp-btn.half { height: 50px; }
body.lp .lp-buybox-list { font-size: 14px; color: var(--muted); border-color: var(--line); }
body.lp .lp-buybox-list i { color: var(--gold); }
body.lp .lp-buybox-foot { border-color: var(--line); }
body.lp .lp-link-btn { font-family: var(--head); font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--muted); }
body.lp .lp-link-btn:hover { color: var(--gold-text); }
body.lp .lp-product-single, body.lp .media-slider .slider, body.lp .lp-video { border-radius: 10px; border-color: var(--line-2); box-shadow: none; }
body.lp .media-slider .thumb { border-radius: 6px; }
body.lp .media-slider .thumb.active, body.lp .media-slider .thumb:hover { border-color: var(--gold); }
body.lp .store-product .product-title.lp-product-title, body.lp .lp-product-title { font-weight: 700; letter-spacing: -0.015em; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.2; }
.lp-refund { margin-top: 10px; font-size: 13px; color: var(--gray); line-height: 1.5; }
body.lp .lp-trust-row { font-family: var(--font); font-size: 13px; letter-spacing: 0; text-transform: none; font-weight: 500; color: var(--muted); border-color: var(--line); }
body.lp .lp-trust-row .lp-dot { background: var(--gold); border-radius: 50%; }
body.lp .lp-pkg-review { border-radius: var(--r); background: var(--surface2); border-color: var(--line); }
@media (width > 960px) { body.lp .lp-product-gallery { grid-column: 1; grid-row: 1; } body.lp .lp-buybox { grid-column: 2; grid-row: 1 / span 2; } body.lp .lp-product-desc { grid-column: 1; grid-row: 2; padding-top: 8px; } }
.lp-product-desc { display: flex; flex-direction: column; }
.lp-product-desc .lp-how-pkg { order: 10; margin: 40px 0 0; }
.lp-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 10px; }
.lp-steps li { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r); }
.lp-step-n { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--gold-soft); color: var(--gold-text); font-family: var(--head); font-weight: 700; font-size: 14px; }
.lp-steps h3 { font-family: var(--head); font-size: 15px; font-weight: 600; margin: 3px 0 4px; color: var(--fg); }
.lp-steps p { font-size: 14px; line-height: 1.55; color: var(--muted); margin: 0; }

/* ---------- connexion, popups, formulaires ---------- */
body.lp .popup-content, body.lp .basket-item, body.lp .toast, body.lp .store-form, body.lp .store-product-options, body.lp .widget { border-radius: 10px; background: var(--surface); border-color: var(--line-2); color: var(--fg); font-family: var(--font); }
body.lp .popup-content { padding: 8px 12px; }
body.lp input[type=text], body.lp input[type=email], body.lp input[type=password], body.lp input[type=number], body.lp input[type=search], body.lp select, body.lp textarea { border-radius: var(--r); background: var(--bg); border-color: var(--line-2); color: var(--fg); font-family: var(--font); }
body.lp input:focus, body.lp select:focus, body.lp textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(212,169,79,.18); }
body.lp .store-form, body.lp .store-product-options { margin-top: 56px; }
body.lp .site-content { padding-top: 40px; }
body.lp .lp-login { max-width: 440px; margin: 48px auto; padding: 32px 28px; text-align: center; border: 1px solid var(--line-2); border-radius: 12px; background: var(--surface); }
body.lp main.lp-login.store-form { text-align: center; }
body.lp .lp-login-mark { width: 60px; height: auto; margin: 0 auto 16px; }
body.lp main.lp-login h2 { font-family: var(--head) !important; font-size: 22px !important; font-weight: 700 !important; margin: 0 0 8px; color: var(--fg); }
body.lp .lp-login-lead { font-size: 14px; line-height: 1.6; color: var(--muted); margin: 0 0 20px; }
body.lp .lp-login .field { margin: 0; }
body.lp .lp-login-btn { width: 100%; justify-content: center; display: inline-flex; align-items: center; }
body.lp .lp-login input[type=text] { width: 100%; height: 46px; padding: 0 14px; margin-bottom: 10px; }
body.lp .lp-login-perks { list-style: none; margin: 20px 0 0; padding: 16px 0 0; border-top: 1px solid var(--line); display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: 13px; color: var(--muted); }
body.lp .lp-login-perks li::before { content: ""; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--gold); margin-right: 8px; vertical-align: middle; }

/* ---------- footer ---------- */
body.lp .lp-footer { background: var(--dark); color: var(--fg); border-top: 1px solid var(--line); margin-top: 72px; padding-bottom: 32px; }
body.lp .lp-footer-heading span:first-child { font-family: var(--head); font-weight: 700; }
body.lp .lp-footer-heading .g { color: var(--gray); font-family: var(--font); font-weight: 400; font-size: 14px; }
body.lp .lp-footer-cols { border-color: var(--line); }
body.lp .lp-footer-cols .lp-label { color: var(--fg); font-family: var(--head); font-weight: 600; font-size: 13px; }
body.lp .lp-footer-cols a { font-family: var(--font); font-weight: 400; color: var(--muted); font-size: 14px; }
body.lp .lp-footer-cols a:hover { color: var(--fg); text-decoration: none; }
body.lp .lp-footer-bottom { color: var(--gray); }
body.lp .lp-pay li { border-radius: 4px; }
.lp-footer-legal { margin-top: 8px; font-size: 12px; color: #6f6a62; max-width: 720px; line-height: 1.5; }
.lp-support-fab { position: fixed; right: 20px; bottom: 20px; z-index: 55; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #5865f2; color: #fff !important; font-size: 22px; clip-path: none; box-shadow: 0 10px 24px -8px rgba(0,0,0,.6); transition: transform .15s; }
.lp-support-fab:hover { transform: translateY(-2px); }

/* ---------- mobile ---------- */
@media (width <= 720px) {
body.lp .lp-block { padding: 48px 0; } body.lp .lp-block-tight { padding: 40px 0; }
body.lp .lp-toolbar { gap: 12px; } body.lp .lp-search { margin-left: 0; width: 100%; } body.lp .lp-search input { width: 100%; max-width: none; } body.lp .lp-sort { margin-left: 0; }
.lp-hero4-trust { gap: 6px 14px; font-size: 13px; }
}

/* priorite sur les regles du theme sombre de base */
body.lp.theme-dark .lp-btn-dark, body.lp.theme-dark a.lp-btn-dark, body.lp.theme-dark .btn-primary, body.lp.theme-dark .lp-nav-cta, body.lp.theme-dark a.lp-nav-cta { background: var(--gold); color: #121114; border: 1px solid var(--gold); box-shadow: none; }
body.lp.theme-dark .lp-btn-dark:hover, body.lp.theme-dark a.lp-btn-dark:hover, body.lp.theme-dark .btn-primary:hover, body.lp.theme-dark .btn-primary:focus, body.lp.theme-dark .lp-nav-cta:hover, body.lp.theme-dark a.lp-nav-cta:hover { background: var(--gold-hover); border-color: var(--gold-hover); color: #121114; box-shadow: none; }
body.lp.theme-dark .btn-secondary, body.lp.theme-dark .btn-tertiary, body.lp.theme-dark .lp-btn-light { background: transparent; color: var(--fg); border-color: var(--line-2); box-shadow: none; }
body.lp.theme-dark .popup-content, body.lp.theme-dark .basket-item, body.lp.theme-dark .toast, body.lp.theme-dark .store-form, body.lp.theme-dark .store-product-options, body.lp.theme-dark .widget { background: var(--surface); border-color: var(--line-2); color: var(--fg); }
body.lp.theme-dark input[type=text], body.lp.theme-dark input[type=email], body.lp.theme-dark input[type=password], body.lp.theme-dark input[type=number], body.lp.theme-dark input[type=search], body.lp.theme-dark select, body.lp.theme-dark textarea { background: var(--bg); border-color: var(--line-2); color: var(--fg); }
body.lp.theme-dark .lp-nav-cta .lp-cart-count { background: #121114; color: var(--gold-text); }
body.lp.theme-dark ::selection { background: var(--gold); color: #121114; }

/* ==========================================================================
V4.1 — or "champagne" discret + moins d'indicateurs
L'or jaune en aplat faisait bon marche : CTA en ivoire (texte fonce), or champagne desature
reserve aux details (mot du titre, soulignement actif, focus). Pastilles, icones et badges reduits au strict utile.
========================================================================== */
body.lp {
--gold: #c2a878;
--gold-hover: #d3bc92;
--gold-text: #cdb386;
--gold-soft: rgba(194,168,120,.10);
--gold-line: rgba(194,168,120,.40);
--cta: #efe8da;
--cta-hover: #ffffff;
--cta-text: #141316;
}
body.lp .lp-btn-dark, body.lp a.lp-btn-dark, body.lp .btn-primary, body.lp .lp-nav-cta, body.lp a.lp-nav-cta,
body.lp.theme-dark .lp-btn-dark, body.lp.theme-dark a.lp-btn-dark, body.lp.theme-dark .btn-primary, body.lp.theme-dark .lp-nav-cta, body.lp.theme-dark a.lp-nav-cta { background: var(--cta); border-color: var(--cta); color: var(--cta-text); }
body.lp .lp-btn-dark:hover, body.lp a.lp-btn-dark:hover, body.lp .btn-primary:hover, body.lp .btn-primary:focus, body.lp .lp-nav-cta:hover, body.lp a.lp-nav-cta:hover,
body.lp.theme-dark .lp-btn-dark:hover, body.lp.theme-dark a.lp-btn-dark:hover, body.lp.theme-dark .btn-primary:hover, body.lp.theme-dark .btn-primary:focus, body.lp.theme-dark .lp-nav-cta:hover, body.lp.theme-dark a.lp-nav-cta:hover { background: var(--cta-hover); border-color: var(--cta-hover); color: var(--cta-text); }
body.lp .lp-nav-cta .lp-cart-count, body.lp.theme-dark .lp-nav-cta .lp-cart-count { background: var(--cta-text); color: var(--cta); }
body.lp ::selection, body.lp.theme-dark ::selection { background: var(--gold); color: #141316; }
/* moins d'indicateurs */
body.lp .lp-hero4 .lp-kicker { display: none; }
body.lp .lp-guarantees { display: none; }
.lp-hero4-trust .lp-stars { display: none; }
.lp-hero4-trust { color: var(--gray); }
.lp-hero4-trust strong { color: var(--muted); font-weight: 600; }
.lp-hero4-cap span { display: none; }
.lp-hero4-cap { padding: 28px 16px 12px; font-size: 13px; }
.lp-hero4-media .lp-reel-play::before { background: rgba(239,232,218,.95); width: 62px; height: 62px; }
.lp-hero4-media .lp-reel-play::after { border-left-color: #141316; }
body.lp .lp-card-media .lp-card-fw { display: none; }
.lp-cover-brand { display: none; }
body.lp .lp-badge, body.lp .lp-badge-save, body.lp.theme-dark .lp-badge { background: rgba(13,12,15,.85) !important; color: var(--gold-text) !important; border: 1px solid var(--gold-line); font-weight: 600; }
body.lp .lp-plan .lp-badge-save { display: none; }
body.lp .lp-plan.is-featured { border-color: var(--gold-line) !important; }
.lp-support-fab { display: none; }
body.lp .lp-review-card .lp-stars, body.lp .lp-stars { color: var(--gold); opacity: .9; }
body.lp .lp-faq-item[open] summary i { background: transparent; color: var(--fg); border-color: var(--line-hover); }
body.lp .lp-timeline-item .lp-tag { color: var(--muted); border-color: var(--line-2); }
body.lp .lp-edition.is-active { border-color: var(--gold-line) !important; background: rgba(239,232,218,.05) !important; }


/* ==========================================================
   LOOP V5 — navbar, icones SVG, details
   ========================================================== */
body.lp .lp-i { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
body.lp .lp-i-sm { width: 16px; height: 16px; }
body.lp .lp-i-xs { width: 12px; height: 12px; stroke-width: 2; }

/* navbar */
body.lp .lp-nav { background: rgba(18,17,20,.88); -webkit-backdrop-filter: saturate(140%) blur(14px); backdrop-filter: saturate(140%) blur(14px); gap: 16px; }
body.lp .lp-nav::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: linear-gradient(90deg, transparent, rgba(194,168,120,.35) 50%, transparent); pointer-events: none; }
body.lp .lp-nav-logo { gap: 10px; }
body.lp .lp-nav-links { align-items: center; gap: 4px; }
body.lp .lp-nav-links > a, body.lp .lp-has-mega > a { position: relative; display: inline-flex; align-items: center; gap: 6px; }
body.lp .lp-nav-links > a::after, body.lp .lp-has-mega > a::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 2px; height: 1px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
body.lp .lp-nav-links > a:hover::after, body.lp .lp-has-mega:hover > a::after, body.lp .lp-nav-links a.is-active::after { transform: scaleX(1); }
body.lp .lp-nav-links a.is-active { box-shadow: none; border-radius: 6px; }
body.lp .lp-has-mega > a .lp-i-xs { opacity: .6; transition: transform .2s; }
body.lp .lp-has-mega:hover > a .lp-i-xs { transform: rotate(180deg); }

body.lp .lp-nav-tools { display: flex; align-items: center; gap: 2px; }
body.lp .lp-nav-icon { width: 40px; height: 40px; display: inline-grid; place-items: center; border-radius: var(--r); color: var(--muted); background: none; border: 0; cursor: pointer; transition: color .15s, background .15s; }
body.lp .lp-nav-icon:hover { color: var(--fg); background: var(--surface2); }
body.lp .lp-nav-icon svg[fill], body.lp .lp-i-fill { fill: currentColor; stroke: none; }
body.lp .lp-nav-mini { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px; margin-left: 6px; border: 1px solid var(--line-2); border-radius: var(--r); color: var(--fg); }
body.lp .lp-nav-mini:hover { border-color: var(--gold-line); background: var(--surface); }
body.lp .lp-nav-cta { display: inline-flex; align-items: center; gap: 8px; }
body.lp .lp-nav-cta .lp-cart-count { min-width: 20px; height: 20px; display: inline-grid; place-items: center; font-size: 12px; padding: 0 6px; }

/* mega-menu */
@media (width > 960px) {
  body.lp .lp-nav-panel, body.lp .lp-nav-panel-inner { overflow: visible; }
  body.lp .lp-has-mega { position: relative; }
  body.lp .lp-has-mega::before { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 14px; }
  body.lp .lp-mega { position: absolute; top: calc(100% + 12px); left: -16px; width: 620px; padding: 12px; background: var(--surface); border: 1px solid var(--line-2); border-radius: 12px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.7); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s; z-index: 70; }
  body.lp .lp-has-mega:hover .lp-mega, body.lp .lp-has-mega:focus-within .lp-mega { opacity: 1; visibility: visible; transform: none; }
}
body.lp .lp-mega-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; min-height: 60px; }
body.lp .lp-nav-links .lp-mega-item { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: var(--r); color: var(--fg); }
body.lp .lp-nav-links .lp-mega-item::after { display: none; }
body.lp .lp-nav-links .lp-mega-item:hover { background: var(--surface2); }
body.lp .lp-mega-thumb { flex: none; width: 96px; aspect-ratio: 16 / 9; border-radius: 6px; overflow: hidden; background: var(--dark); border: 1px solid var(--line); }
body.lp .lp-mega-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.lp .lp-mega-txt { display: grid; gap: 2px; min-width: 0; }
body.lp .lp-mega-txt strong { font-family: var(--head); font-size: 14px; font-weight: 600; color: var(--fg); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.lp .lp-mega-txt span { font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; }
body.lp .lp-mega-foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 8px; padding: 12px 8px 4px; border-top: 1px solid var(--line); font-size: 13px; color: var(--gray); }
body.lp .lp-nav-links .lp-link-arrow { display: inline-flex; align-items: center; gap: 6px; padding: 0; color: var(--gold-text); font-weight: 600; white-space: nowrap; }
body.lp .lp-nav-links .lp-link-arrow::after { display: none; }
body.lp .lp-link-arrow svg { transition: transform .15s; }
body.lp .lp-link-arrow:hover svg { transform: translateX(3px); }
@media (width <= 960px) {
  body.lp .lp-mega { display: none; }
  body.lp .lp-nav-links > a::after, body.lp .lp-has-mega > a::after { display: none; }
  body.lp .lp-has-mega > a .lp-i-xs { display: none; }
  body.lp .lp-nav-tools { padding: 8px 6px; border-top: 1px solid var(--line); }
  body.lp .lp-nav-cta-label { display: none; }
}

/* hero : spirale + cadre */
body.lp .lp-hero { background: radial-gradient(50% 70% at 80% 30%, rgba(194,168,120,.07), transparent 70%), var(--bg); }
body.lp .lp-hero::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(244,241,234,.07) 1px, transparent 1px); background-size: 24px 24px; -webkit-mask-image: radial-gradient(70% 90% at 75% 40%, #000, transparent 75%); mask-image: radial-gradient(70% 90% at 75% 40%, #000, transparent 75%); pointer-events: none; }
body.lp .lp-hero4 .lp-container, body.lp .lp-hero4-grid { position: relative; z-index: 1; }
.lp-hero-spiral { position: absolute; z-index: 0; width: 720px; height: 720px; right: -140px; top: 50%; transform: translateY(-50%); pointer-events: none; opacity: .5; }
.lp-hero-spiral path { fill: none; stroke: var(--gold); stroke-width: .8; stroke-opacity: .45; stroke-dasharray: 3200; stroke-dashoffset: 3200; animation: lpDraw 3.2s cubic-bezier(.4,0,.2,1) .2s forwards; }
@keyframes lpDraw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .lp-hero-spiral path { animation: none; stroke-dashoffset: 0; } }
@media (width <= 960px) { .lp-hero-spiral { width: 480px; height: 480px; right: -180px; top: 20%; opacity: .35; } }

body.lp .lp-hero4-media { overflow: visible; border-radius: 10px; }
body.lp .lp-hero4-media > img { border-radius: 10px; }
body.lp .lp-hero4-cap { border-radius: 0 0 10px 10px; }
.lp-corner { position: absolute; width: 22px; height: 22px; border: 0 solid var(--gold); opacity: .8; pointer-events: none; }
.lp-corner-tl { top: -9px; left: -9px; border-top-width: 1.5px; border-left-width: 1.5px; border-top-left-radius: 4px; }
.lp-corner-br { bottom: -9px; right: -9px; border-bottom-width: 1.5px; border-right-width: 1.5px; border-bottom-right-radius: 4px; }
.lp-hero4-media .lp-reel-play { display: none; }
.lp-play { position: absolute; left: 50%; top: 50%; width: 72px; height: 72px; margin: -36px 0 0 -36px; display: grid; place-items: center; border-radius: 50%; background: rgba(239,232,218,.95); color: #141316; box-shadow: 0 0 0 10px rgba(239,232,218,.12), 0 14px 34px rgba(0,0,0,.5); transition: transform .2s, box-shadow .2s; }
.lp-play svg { width: 24px; height: 24px; margin-left: 3px; fill: currentColor; stroke: none; }
.lp-hero4-media:hover .lp-play { transform: scale(1.06); box-shadow: 0 0 0 14px rgba(239,232,218,.14), 0 14px 34px rgba(0,0,0,.5); }
.lp-hero4-cap em { font-style: normal; font-size: 13px; color: rgba(244,241,234,.75); font-weight: 500; }
body.lp .lp-hero4 .lp-hero-actions .lp-btn { display: inline-flex; align-items: center; gap: 8px; }
body.lp .lp-hero4 .lp-hero-actions .lp-btn svg { transition: transform .15s; }
body.lp .lp-hero4 .lp-hero-actions .lp-btn:hover svg.lp-i { transform: translateX(3px); }
.lp-hero4-trust svg { color: var(--gold-text); }

/* cartes : zoom + fleche */
body.lp .lp-card-media { overflow: hidden; }
body.lp .lp-card-media img { transition: transform .5s cubic-bezier(.2,.7,.2,1); }
body.lp .lp-card:hover .lp-card-media img { transform: scale(1.04); }
body.lp .lp-card-media::after { content: ""; position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; border-radius: 50%; background: rgba(239,232,218,.95) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141316' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E") center / 16px no-repeat; opacity: 0; transform: translateY(4px); transition: opacity .2s, transform .2s; z-index: 3; }
body.lp .lp-card:hover .lp-card-media::after { opacity: 1; transform: none; }

/* titres de section : trait */
body.lp .lp-section-head .lp-title::before, body.lp .lp-section-head h2::before { content: ""; display: block; width: 28px; height: 2px; margin-bottom: 14px; background: var(--gold); border-radius: 2px; }

/* footer : spirale en filigrane */
body.lp .lp-footer { position: relative; overflow: hidden; }
body.lp .lp-footer::before { content: ""; position: absolute; width: 420px; height: 420px; right: -120px; top: -80px; background: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20200%20200'%3E%3Cpath%20d='M102.0%20100.0%20103.7%20101.7%20104.2%20104.2%20103.4%20106.7%20101.8%20108.6%2099.7%20110.0%2097.4%20110.7%2094.8%20110.9%2092.4%20110.5%2089.9%20109.6%2087.6%20108.1%2085.7%20106.4%2084.2%20104.2%2082.9%20101.8%2082.1%2099.1%2081.7%2096.6%2081.7%2094.0%2082.0%2091.4%2082.7%2088.8%2083.8%2086.2%2085.3%2083.7%2087.2%2081.4%2089.0%2079.7%2091.0%2078.2%2093.1%2076.9%2095.5%2075.8%2098.0%2074.9%20100.7%2074.3%20103.4%2074.0%20106.2%2074.0%20109.1%2074.3%20112.0%2074.9%20114.8%2075.9%20117.6%2077.1%20120.2%2078.7%20122.7%2080.6%20125.1%2082.8%20126.7%2084.6%20128.2%2086.6%20129.5%2088.7%20130.7%2090.9%20131.7%2093.3%20132.5%2095.7%20133.1%2098.3%20133.5%20100.9%20133.8%20103.5%20133.8%20106.3%20133.5%20109.0%20133.1%20111.7%20132.4%20114.4%20131.6%20117.1%20130.4%20119.8%20129.1%20122.3%20127.6%20124.8%20125.8%20127.2%20123.8%20129.4%20121.7%20131.5%20119.3%20133.5%20116.8%20135.2%20114.1%20136.8%20111.3%20138.2%20108.4%20139.3%20105.3%20140.3%20102.1%20141.0%2098.9%20141.4%2095.6%20141.6%2092.3%20141.5%2089.0%20141.1%2085.7%20140.5%2082.4%20139.6%2079.1%20138.5%2076.0%20137.0%2072.9%20135.3%2069.9%20133.4%2067.1%20131.2%2064.5%20128.8%2062.8%20127.0%2061.2%20125.2%2059.7%20123.3%2058.3%20121.2%2057.0%20119.1%2055.8%20116.9%2054.8%20114.7%2053.8%20112.4%2053.0%20110.0%2052.3%20107.6%2051.7%20105.1%2051.2%20102.6%2050.9%20100.0%2050.7%2097.4%2050.6%2094.8%2050.7%2092.2%2050.9%2089.6%2051.3%2086.9%2051.8%2084.3%2052.4%2081.7%2053.2%2079.2%2054.1%2076.6%2055.2%2074.1%2056.4%2071.7%2057.7%2069.3%2059.2%2066.9%2060.8%2064.7%2062.5%2062.5%2064.3%2060.4%2066.3%2058.4%2068.4%2056.4%2070.5%2054.6%2072.8%2052.9%2075.2%2051.3%2077.7%2049.9%2080.2%2048.5%2082.9%2047.3%2085.6%2046.2%2088.4%2045.3%2091.2%2044.5%2094.1%2043.9%2097.0%2043.4%20100.0%2043.0%20103.0%2042.8%20106.0%2042.8%20109.0%2042.9%20112.1%2043.2%20115.1%2043.7%20118.1%2044.3%20121.1%2045.1%20124.0%2046.0%20126.9%2047.1%20129.8%2048.4%20132.6%2049.8%20135.3%2051.4%20138.0%2053.1%20140.6%2054.9%20143.1%2056.9%20145.5%2059.1%20147.7%2061.3%20149.9%2063.7%20152.0%2066.3%20153.9%2068.9%20155.7%2071.6%20157.3%2074.5%20158.8%2077.4%20160.2%2080.5%20161.4%2083.6%20162.4%2086.7%20163.3%2090.0%20164.0%2093.3%20164.5%2096.6%20164.8%20100.0%20165.0%20103.4%20165.0%20106.8%20164.8%20110.3%20164.4%20113.7%20163.9%20117.1%20163.2%20120.5%20162.2%20123.9%20161.1%20127.2%20159.9%20130.5%20158.4%20133.7%20156.8%20136.9%20155.0%20140.0%20153.0%20142.9%20150.9%20145.8%20148.6%20148.6%20146.2%20151.3%20143.6%20153.8%20140.9%20156.3%20138.0%20158.5%20135.0%20160.7%20131.9%20162.7%20128.7%20164.5%20125.4%20166.1%20122.0%20167.6%20118.5%20168.9%20114.9%20170.1%20111.2%20171.0%20107.5%20171.8%20103.8%20172.3%20100.0%20172.7%2096.2%20172.8%2092.3%20172.8%2088.5%20172.6%2084.7%20172.1%2080.8%20171.5%2077.1%20170.6%2073.3%20169.6%2069.6%20168.3%2065.9%20166.9%2062.3%20165.2%2058.8%20163.4%2055.4%20161.3%2052.1%20159.1%2048.9%20156.7%2045.8%20154.2%2042.9%20151.4%2040.1%20148.5%2037.4%20145.5%2034.9%20142.3%2032.5%20139.0%2030.3%20135.5%2028.3%20131.9%2026.5%20128.2%2024.9%20124.4%2023.5%20120.5%2022.2%20116.5%2021.2%20112.5%2020.4%20108.4%2019.8%20104.2%2019.5%20100.0%2019.3%2095.8%2019.4%2091.5%2019.7%2087.3%2020.2%2083.0%2020.9%2078.8%2021.9%2074.6%2023.1%2070.5%2024.5%2066.4%2026.1%2062.4%2028.0%2058.4%2030.0%2054.6%2032.3%2050.8%2034.8%2047.2%2037.4%2043.7%2040.3%2040.3%2043.3%2037.0%2046.5%2034.0%2049.9%2031.0%2053.4%2028.3%2057.1%2025.7%2060.9%2023.3%2064.9%2021.2%2069.0%2019.2%2073.2%2017.4%2077.5%2015.9%2081.8%2014.6%2086.3%2013.5%2090.8%2012.6%2095.4%2012.0%20100.0%2011.6%20104.6%2011.5%20109.3%2011.6%20114.0%2011.9%20118.6%2012.5%20123.2%2013.4%20127.8%2014.4%20132.3%2015.8%20136.8%2017.3%20141.2%2019.1%20145.5%2021.2%20149.7%2023.5%20153.8%2025.9%20155.8%2027.3%20157.8%2028.7%20159.7%2030.1%20161.6%2031.6%20163.5%2033.1%20165.3%2034.7%20167.1%2036.4%20168.8%2038.1%20170.5%2039.8%20172.2%2041.6%20173.8%2043.4%20175.3%2045.3%20176.8%2047.2%20178.3%2049.1%20179.7%2051.1%20181.1%2053.2%20182.4%2055.3%20183.7%2057.4%20184.9%2059.5%20186.0%2061.7%20187.1%2063.9%20188.1%2066.2%20189.1%2068.4%20190.0%2070.7%20190.9%2073.1%20191.7%2075.4%20192.4%2077.8%20193.1%2080.2%20193.7%2082.6%20194.3%2085.1%20194.8%2087.5%20195.2%2090.0%20195.6%2092.5%20195.9%2095.0%20196.1%2097.5%20196.2%20100.0%20196.2%20100.0'%20fill='none'%20stroke='%23c2a878'%20stroke-width='1.2'/%3E%3C/svg%3E") center / contain no-repeat; opacity: .10; pointer-events: none; }
body.lp .lp-footer > * { position: relative; }

/* V5.1 */
body.lp .lp-mega-thumb .lp-cover-name { font-size: 11px; line-height: 1.1; left: 6px; right: 6px; bottom: 5px; letter-spacing: 0; }
body.lp .lp-mega-thumb .lp-cover { background-size: cover; }

/* V5.2 */
@media (width > 960px) { body.lp .lp-faq > div:first-child { position: sticky; top: 96px; align-self: start; } }
body.lp .lp-faq .lp-title-sm::before { content: ""; display: block; width: 28px; height: 2px; margin-bottom: 14px; background: var(--gold); border-radius: 2px; }
body.lp .lp-review-note, body.lp .lp-reviews + p { margin-top: 16px; }

/* V5.3 */
body.lp .lp-i-right { transform: rotate(-90deg); opacity: .5; margin: 0 6px; }
body.lp .lp-video-facade { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: var(--dark); border: 1px solid var(--line-2); color: #fff; }
body.lp .lp-video-facade img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2,.7,.2,1), filter .3s; }
body.lp .lp-video-facade:hover img { transform: scale(1.02); filter: brightness(.9); }
body.lp .lp-video-facade:hover .lp-play { transform: scale(1.06); }
body.lp .lp-video-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 36px 18px 14px; background: linear-gradient(0deg, rgba(13,12,15,.85), transparent); font-family: var(--head); font-size: 13px; font-weight: 600; color: rgba(244,241,234,.85); text-align: right; }
body.lp .lp-buybox-list li { display: flex; align-items: flex-start; gap: 10px; }
body.lp .lp-buybox-list .lp-i { color: var(--gold-text); margin-top: 1px; }
body.lp .lp-buybox .lp-editions { margin: 4px 0 16px; }

/* V5.4 */
body.lp .lp-play .lp-i { width: 24px; height: 24px; margin-left: 3px; fill: currentColor; stroke: none; }

/* V5.5 */
@media (width > 960px) { body.lp .lp-buybox { position: sticky; top: 88px; align-self: start; } }
body.lp .lp-video-facade { background-color: #0d0c0f; background-position: center; background-size: cover; }

/* V5.6 mobile */
@media (width <= 960px) {
  body.lp .lp-section-head { flex-direction: column; align-items: flex-start; justify-content: flex-start; text-align: left; gap: 12px; }
  body.lp .lp-section-head > * { margin-left: 0; text-align: left; }
  body.lp .lp-nav-cta { margin-left: auto; width: 44px; padding: 0; justify-content: center; }
  body.lp .lp-nav-dots { order: 5; width: 44px; height: 44px; margin-left: 4px; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid var(--line-2); border-radius: var(--r); background: none; }
  body.lp .lp-nav-dots i { width: 18px; height: 1.5px; border-radius: 2px; margin: 0; background: var(--fg); transition: transform .2s, opacity .2s; }
  body.lp .lp-nav-dots[aria-expanded="true"] i:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  body.lp .lp-nav-dots[aria-expanded="true"] i:nth-child(2) { opacity: 0; }
  body.lp .lp-nav-dots[aria-expanded="true"] i:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
  body.lp .lp-nav-cta .lp-cart-count { position: absolute; top: -6px; right: -6px; }
  body.lp .lp-nav-cta { position: relative; }
}

/* V5.7 menu mobile */
@media (width <= 960px) {
  body.lp .lp-nav-links { flex-direction: column; align-items: stretch; gap: 0; }
  body.lp .lp-nav-links > a, body.lp .lp-has-mega > a { display: flex; justify-content: space-between; width: 100%; font-size: 16px; color: var(--fg); padding: 14px 12px; border-bottom: 1px solid var(--line); border-radius: 0; text-align: left; }
  body.lp .lp-nav-links > a:last-child { border-bottom: 0; }
  body.lp .lp-has-mega { width: 100%; }
}

/* V5.8 login perks */
body.lp .lp-login-perks { list-style: none; padding: 0; margin: 20px 0 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; font-size: 13px; color: var(--muted); }
body.lp .lp-login-perks li { display: inline-flex; align-items: center; gap: 6px; padding: 0; }
body.lp .lp-login-perks li::before { display: none !important; content: none !important; }
body.lp .lp-login-perks .lp-i { color: var(--gold-text); }

/* V5.9 */
body.lp .lp-trust-row li { display: inline-flex; align-items: center; gap: 8px; }
body.lp .lp-trust-row .lp-i { color: var(--gold-text); }
body.lp .lp-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 0; }

/* V5.10 barre mobile */
body.lp .lp-mbar { display: none; }
@media (width <= 960px) {
  body.lp .lp-mbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; display: flex; align-items: center; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: rgba(25,24,28,.96); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-top: 1px solid var(--line-2); transform: translateY(110%); transition: transform .25s ease; }
  body.lp .lp-mbar.is-on { transform: none; }
  body.lp .lp-mbar-txt { display: grid; min-width: 0; flex: 1; }
  body.lp .lp-mbar-txt strong { font-family: var(--head); font-size: 14px; color: var(--fg); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  body.lp .lp-mbar-txt span { font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; }
  body.lp .lp-mbar .lp-btn { height: 44px; padding: 0 18px; flex: none; }
}

/* V5.11 logos paiement (images blanches Tebex) */
body.lp .lp-pay li { background: var(--surface2) !important; border: 1px solid var(--line-2); border-radius: 6px; height: 28px; display: inline-flex; align-items: center; padding: 0 10px; }
body.lp .lp-pay img { max-height: 16px; width: auto; opacity: .9; }

/* V5.12 */
body.lp .lp-section-head .lp-link-arrow { display: inline-flex; align-items: center; gap: 6px; font-family: var(--head); font-size: 14px; font-weight: 600; color: var(--gold-text); white-space: nowrap; }
body.lp .lp-section-head .lp-link-arrow:hover { color: var(--fg); }
body.lp .lp-section-head .lp-link-arrow svg { transition: transform .15s; }
body.lp .lp-section-head .lp-link-arrow:hover svg { transform: translateX(3px); }

/* V5.13 couvertures de secours : spirale au trait */
body.lp .lp-cover { overflow: hidden; background-image: radial-gradient(90% 80% at 80% 45%, rgba(194,168,120,.09), transparent 65%), linear-gradient(160deg, #1d1c21 0%, #111013 70%) !important; }
body.lp .lp-cover::after { display: block !important; content: ""; position: absolute; width: 95%; aspect-ratio: 1; right: -28%; top: 50%; transform: translateY(-50%) rotate(var(--r, 0deg)); background: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20200%20200'%3E%3Cpath%20d='M102.0%20100.0%20103.7%20101.7%20104.2%20104.2%20103.4%20106.7%20101.8%20108.6%2099.7%20110.0%2097.4%20110.7%2094.8%20110.9%2092.4%20110.5%2089.9%20109.6%2087.6%20108.1%2085.7%20106.4%2084.2%20104.2%2082.9%20101.8%2082.1%2099.1%2081.7%2096.6%2081.7%2094.0%2082.0%2091.4%2082.7%2088.8%2083.8%2086.2%2085.3%2083.7%2087.2%2081.4%2089.0%2079.7%2091.0%2078.2%2093.1%2076.9%2095.5%2075.8%2098.0%2074.9%20100.7%2074.3%20103.4%2074.0%20106.2%2074.0%20109.1%2074.3%20112.0%2074.9%20114.8%2075.9%20117.6%2077.1%20120.2%2078.7%20122.7%2080.6%20125.1%2082.8%20126.7%2084.6%20128.2%2086.6%20129.5%2088.7%20130.7%2090.9%20131.7%2093.3%20132.5%2095.7%20133.1%2098.3%20133.5%20100.9%20133.8%20103.5%20133.8%20106.3%20133.5%20109.0%20133.1%20111.7%20132.4%20114.4%20131.6%20117.1%20130.4%20119.8%20129.1%20122.3%20127.6%20124.8%20125.8%20127.2%20123.8%20129.4%20121.7%20131.5%20119.3%20133.5%20116.8%20135.2%20114.1%20136.8%20111.3%20138.2%20108.4%20139.3%20105.3%20140.3%20102.1%20141.0%2098.9%20141.4%2095.6%20141.6%2092.3%20141.5%2089.0%20141.1%2085.7%20140.5%2082.4%20139.6%2079.1%20138.5%2076.0%20137.0%2072.9%20135.3%2069.9%20133.4%2067.1%20131.2%2064.5%20128.8%2062.8%20127.0%2061.2%20125.2%2059.7%20123.3%2058.3%20121.2%2057.0%20119.1%2055.8%20116.9%2054.8%20114.7%2053.8%20112.4%2053.0%20110.0%2052.3%20107.6%2051.7%20105.1%2051.2%20102.6%2050.9%20100.0%2050.7%2097.4%2050.6%2094.8%2050.7%2092.2%2050.9%2089.6%2051.3%2086.9%2051.8%2084.3%2052.4%2081.7%2053.2%2079.2%2054.1%2076.6%2055.2%2074.1%2056.4%2071.7%2057.7%2069.3%2059.2%2066.9%2060.8%2064.7%2062.5%2062.5%2064.3%2060.4%2066.3%2058.4%2068.4%2056.4%2070.5%2054.6%2072.8%2052.9%2075.2%2051.3%2077.7%2049.9%2080.2%2048.5%2082.9%2047.3%2085.6%2046.2%2088.4%2045.3%2091.2%2044.5%2094.1%2043.9%2097.0%2043.4%20100.0%2043.0%20103.0%2042.8%20106.0%2042.8%20109.0%2042.9%20112.1%2043.2%20115.1%2043.7%20118.1%2044.3%20121.1%2045.1%20124.0%2046.0%20126.9%2047.1%20129.8%2048.4%20132.6%2049.8%20135.3%2051.4%20138.0%2053.1%20140.6%2054.9%20143.1%2056.9%20145.5%2059.1%20147.7%2061.3%20149.9%2063.7%20152.0%2066.3%20153.9%2068.9%20155.7%2071.6%20157.3%2074.5%20158.8%2077.4%20160.2%2080.5%20161.4%2083.6%20162.4%2086.7%20163.3%2090.0%20164.0%2093.3%20164.5%2096.6%20164.8%20100.0%20165.0%20103.4%20165.0%20106.8%20164.8%20110.3%20164.4%20113.7%20163.9%20117.1%20163.2%20120.5%20162.2%20123.9%20161.1%20127.2%20159.9%20130.5%20158.4%20133.7%20156.8%20136.9%20155.0%20140.0%20153.0%20142.9%20150.9%20145.8%20148.6%20148.6%20146.2%20151.3%20143.6%20153.8%20140.9%20156.3%20138.0%20158.5%20135.0%20160.7%20131.9%20162.7%20128.7%20164.5%20125.4%20166.1%20122.0%20167.6%20118.5%20168.9%20114.9%20170.1%20111.2%20171.0%20107.5%20171.8%20103.8%20172.3%20100.0%20172.7%2096.2%20172.8%2092.3%20172.8%2088.5%20172.6%2084.7%20172.1%2080.8%20171.5%2077.1%20170.6%2073.3%20169.6%2069.6%20168.3%2065.9%20166.9%2062.3%20165.2%2058.8%20163.4%2055.4%20161.3%2052.1%20159.1%2048.9%20156.7%2045.8%20154.2%2042.9%20151.4%2040.1%20148.5%2037.4%20145.5%2034.9%20142.3%2032.5%20139.0%2030.3%20135.5%2028.3%20131.9%2026.5%20128.2%2024.9%20124.4%2023.5%20120.5%2022.2%20116.5%2021.2%20112.5%2020.4%20108.4%2019.8%20104.2%2019.5%20100.0%2019.3%2095.8%2019.4%2091.5%2019.7%2087.3%2020.2%2083.0%2020.9%2078.8%2021.9%2074.6%2023.1%2070.5%2024.5%2066.4%2026.1%2062.4%2028.0%2058.4%2030.0%2054.6%2032.3%2050.8%2034.8%2047.2%2037.4%2043.7%2040.3%2040.3%2043.3%2037.0%2046.5%2034.0%2049.9%2031.0%2053.4%2028.3%2057.1%2025.7%2060.9%2023.3%2064.9%2021.2%2069.0%2019.2%2073.2%2017.4%2077.5%2015.9%2081.8%2014.6%2086.3%2013.5%2090.8%2012.6%2095.4%2012.0%20100.0%2011.6%20104.6%2011.5%20109.3%2011.6%20114.0%2011.9%20118.6%2012.5%20123.2%2013.4%20127.8%2014.4%20132.3%2015.8%20136.8%2017.3%20141.2%2019.1%20145.5%2021.2%20149.7%2023.5%20153.8%2025.9%20155.8%2027.3%20157.8%2028.7%20159.7%2030.1%20161.6%2031.6%20163.5%2033.1%20165.3%2034.7%20167.1%2036.4%20168.8%2038.1%20170.5%2039.8%20172.2%2041.6%20173.8%2043.4%20175.3%2045.3%20176.8%2047.2%20178.3%2049.1%20179.7%2051.1%20181.1%2053.2%20182.4%2055.3%20183.7%2057.4%20184.9%2059.5%20186.0%2061.7%20187.1%2063.9%20188.1%2066.2%20189.1%2068.4%20190.0%2070.7%20190.9%2073.1%20191.7%2075.4%20192.4%2077.8%20193.1%2080.2%20193.7%2082.6%20194.3%2085.1%20194.8%2087.5%20195.2%2090.0%20195.6%2092.5%20195.9%2095.0%20196.1%2097.5%20196.2%20100.0%20196.2%20100.0'%20fill='none'%20stroke='%23c2a878'%20stroke-width='.9'/%3E%3C/svg%3E") center / contain no-repeat; opacity: .5; pointer-events: none; transition: transform .8s cubic-bezier(.2,.7,.2,1), opacity .3s; }
body.lp .lp-card:hover .lp-cover::after { transform: translateY(-50%) rotate(calc(var(--r, 0deg) + 25deg)); opacity: .7; }
body.lp .lp-cover > * { position: relative; z-index: 1; }
body.lp .lp-cover .lp-cover-name { color: var(--fg); }

/* V5.14 */
body.lp .lp-product-single.lp-cover::after { width: 70%; right: -12%; opacity: .32; }
body.lp .lp-mega-thumb .lp-cover::after { opacity: .6; }

/* V5.15 rythme */
body.lp #plans { position: relative; background: linear-gradient(180deg, transparent 0%, rgba(194,168,120,.035) 50%, transparent 100%); }
body.lp .lp-plan .lp-btn { display: inline-flex; align-items: center; gap: 8px; }
body.lp .lp-plan .lp-btn svg { transition: transform .15s; }
body.lp .lp-plan:hover .lp-btn svg { transform: translateX(3px); }
body.lp .lp-plan { transition: border-color .2s, transform .2s; }
body.lp .lp-plan:hover { transform: translateY(-2px); }

/* V5.16 langue active */
html[lang^="fr"] body.lp .lp-lang-fr, html[lang^="en"] body.lp .lp-lang-en { color: var(--gold-text); font-weight: 600; }
html[lang^="fr"] body.lp .lp-lang-fr::after, html[lang^="en"] body.lp .lp-lang-en::after { content: "✓"; margin-left: 8px; font-size: 12px; }
body.lp .lp-lang .language-dropdown { right: 0; left: auto; min-width: 150px; }

/* V5.17 titre : plus de texte dore, un trait dessine sous le mot cle */
body.lp .t-p { color: inherit !important; background: none; -webkit-text-fill-color: currentColor; }
body.lp .lp-hero4 h1 .t-p { position: relative; white-space: nowrap; display: inline-block; padding-bottom: .06em; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 20' preserveAspectRatio='none'%3E%3Cpath d='M3 13 C 50 5, 120 3, 237 8 M18 17 C 80 11, 150 10, 214 13' fill='none' stroke='%23c2a878' stroke-width='3.2' stroke-linecap='round'/%3E%3C/svg%3E") left bottom / 0% .32em no-repeat; animation: lpUnderline .9s cubic-bezier(.6,0,.2,1) .6s forwards; }
@keyframes lpUnderline { to { background-size: 100% .32em; } }
@media (prefers-reduced-motion: reduce) { body.lp .lp-hero4 h1 .t-p { animation: none; background-size: 100% .32em; } }

/* V5.18 */
body.lp .lp-hero4 h1 .t-p { padding-bottom: .16em; }
body.lp .lp-hero4-media { background: #0d0c0f url("https://i.ytimg.com/vi/ghqPLZfQkGs/hqdefault.jpg") center / cover no-repeat; }

/* V5.19 avis */
body.lp .lp-review-card { position: relative; overflow: hidden; }
body.lp .lp-review-card::before { content: ""; position: absolute; top: 14px; right: 16px; width: 34px; height: 26px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 26'%3E%3Cpath d='M0 26V15C0 6 5 1 13 0l1 4c-4 1-7 4-7 9h6v13H0zm20 0V15c0-9 5-14 13-15l1 4c-4 1-7 4-7 9h6v13H20z' fill='%23c2a878'/%3E%3C/svg%3E") center / contain no-repeat; opacity: .12; pointer-events: none; }
body.lp .lp-stars { display: inline-block; width: 76px; height: 13px; font-size: 0; color: transparent; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 76 13'%3E%3Cg fill='%23cdb386'%3E%3Cpath id='s' d='M6.5 0l1.9 4.1 4.5.5-3.4 3 1 4.4-4-2.3-4 2.3 1-4.4L.1 4.6l4.5-.5z'/%3E%3Cuse href='%23s' x='15.8'/%3E%3Cuse href='%23s' x='31.6'/%3E%3Cuse href='%23s' x='47.4'/%3E%3Cuse href='%23s' x='63.2'/%3E%3C/g%3E%3C/svg%3E") left center / contain no-repeat; letter-spacing: 0; }
body.lp .lp-review-card footer { display: flex; align-items: center; gap: 10px; }
body.lp .lp-review-av { width: 30px; height: 30px; flex: none; display: inline-grid; place-items: center; border-radius: 50%; background: var(--surface2); border: 1px solid var(--line-2); font-family: var(--head); font-size: 13px; font-weight: 700; color: var(--gold-text); }

/* ==========================================================
   LOOP V6 — neutre, sobre : plus de spirale, plus de soulignage,
   palette graphite froide, moins de boites
   ========================================================== */
body.lp {
  --bg: #0c0c0d; --surface: #141416; --surface2: #1b1b1e; --card: #141416; --dark: #09090a;
  --line: rgba(255,255,255,.07); --line-2: rgba(255,255,255,.11); --line-hover: rgba(255,255,255,.18);
  --fg: #ededee; --muted: #9b9ba1; --gray: #76767c; --light: #55555a;
  --gold: #ededee; --gold-hover: #ffffff; --gold-text: #ededee; --gold-soft: rgba(255,255,255,.06); --gold-line: rgba(255,255,255,.22);
  --color-primary: #ededee; --color-primary-hover: #fff;
  --cta: #ffffff; --cta-hover: #e6e6e8; --cta-text: #0c0c0d;
  background: var(--bg);
}
html:has(body.lp) { background: #0c0c0d; }

/* decor retire */
.lp-hero-spiral, .lp-corner { display: none !important; }
body.lp .lp-hero::after, body.lp .lp-footer::before, body.lp .lp-cover::after, body.lp .lp-review-card::before { display: none !important; content: none !important; }
body.lp .lp-hero { background: var(--bg) !important; }
body.lp .lp-hero4 h1 .t-p { background: none !important; animation: none !important; padding-bottom: 0; }
body.lp .lp-section-head .lp-title::before, body.lp .lp-section-head h2::before, body.lp .lp-faq .lp-title-sm::before { display: none !important; }
body.lp .lp-nav::after { display: none; }
body.lp .lp-nav { background: rgba(12,12,13,.86); border-bottom: 1px solid var(--line); }

/* couvertures de secours : sobres */
body.lp .lp-cover { background-image: linear-gradient(135deg, #1c1c1f 0%, #121214 100%) !important; }
body.lp .lp-cover .lp-cover-name { color: #d8d8db; font-weight: 700; }

/* moins de boites : cartes a plat */
body.lp .lp-card { border: 0; background: transparent; border-radius: 10px; }
body.lp .lp-card:hover { transform: none; background: transparent; }
body.lp .lp-card-media { border: 0; border-radius: 10px; overflow: hidden; }
body.lp .lp-card-body { padding: 14px 2px 0; }
body.lp .lp-card-footer { padding-top: 12px; }
body.lp .lp-card-media::after { display: none; }
body.lp .lp-card:hover .lp-card-title a { color: #fff; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* formules */
body.lp #plans { background: none; }
body.lp .lp-plan { background: var(--surface); border: 0 !important; }
body.lp .lp-plan:hover { transform: none; background: var(--surface2); }
body.lp .lp-plan-kicker { color: var(--muted) !important; }

/* avis : sans cadre */
body.lp .lp-review-card { background: transparent; border: 0; border-top: 1px solid var(--line); border-radius: 0; padding: 20px 0 0; }
body.lp .lp-stars { filter: grayscale(1) brightness(1.6); }
body.lp .lp-review-av { color: var(--fg); }

/* FAQ : lignes simples */
body.lp .lp-faq-item { background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
body.lp .lp-faq-item:hover, body.lp .lp-faq-item[open] { border-color: var(--line-2); background: transparent; }
body.lp .lp-faq-item summary i { border: 0; }
body.lp .lp-faq-item[open] summary i { background: transparent; color: var(--fg); }

/* fiche produit */
body.lp .lp-buybox { background: var(--surface); border: 0; }
body.lp .lp-upsell-bundle { border: 0 !important; background: var(--surface2) !important; }
body.lp .lp-video-facade, body.lp .lp-hero4-media { border: 0; }
body.lp .lp-how-pkg li, body.lp .lp-step { border: 0; }

/* icones et accents : neutres */
body.lp .lp-buybox-list .lp-i, body.lp .lp-trust-row .lp-i, body.lp .lp-login-perks .lp-i, .lp-hero4-trust svg { color: var(--muted); }
body.lp .lp-badge, body.lp .lp-badge-outline { background: rgba(12,12,13,.85); color: #fff; border: 0; }
body.lp .lp-link-arrow, body.lp .lp-section-head .lp-link-arrow, body.lp .lp-nav-links .lp-link-arrow { color: var(--fg); }
body.lp .lp-timeline li::before, body.lp .lp-timeline-dot { background: var(--gray) !important; }
body.lp .lp-nav-links > a::after, body.lp .lp-has-mega > a::after { background: var(--fg); }

/* V6.1 navbar : regroupement, recherche, nouveau, total panier, annonce */
@media (width > 960px) {
  body.lp .lp-nav-extra { display: none !important; }
  body.lp .lp-mega { width: 760px; }
  body.lp .lp-mega-body { display: grid; grid-template-columns: minmax(0, 1fr) 170px; gap: 12px; }
  body.lp .lp-drop { width: 340px; padding: 8px; display: grid; gap: 2px; }
}
@media (width <= 960px) { body.lp .lp-desk-only { display: none !important; } }
body.lp .lp-mega-side { display: flex; flex-direction: column; gap: 2px; padding: 4px 0 4px 16px; border-left: 1px solid var(--line); }
body.lp .lp-mega-label { font-size: 12px; color: var(--gray); padding: 6px 10px; }
body.lp .lp-nav-links .lp-mega-side a { display: block; padding: 8px 10px; border-radius: 6px; font-size: 14px; color: var(--muted); }
body.lp .lp-nav-links .lp-mega-side a::after { display: none; }
body.lp .lp-nav-links .lp-mega-side a:hover { color: var(--fg); background: var(--surface2); }
body.lp .lp-nav-links .lp-drop-item { display: grid; gap: 3px; padding: 12px; border-radius: 8px; color: var(--fg); }
body.lp .lp-nav-links .lp-drop-item::after { display: none; }
body.lp .lp-nav-links .lp-drop-item:hover { background: var(--surface2); }
body.lp .lp-drop-item strong { font-family: var(--head); font-size: 14px; font-weight: 600; }
body.lp .lp-drop-item span { font-size: 13px; color: var(--muted); line-height: 1.4; }
body.lp .lp-new { margin-left: 8px; padding: 2px 7px; border-radius: 999px; background: #fff; color: #0c0c0d; font-style: normal; font-family: var(--font); font-size: 11px; font-weight: 600; vertical-align: 1px; }
body.lp .lp-mega-txt strong { display: flex; align-items: center; }
body.lp .lp-cart-total { font-variant-numeric: tabular-nums; font-weight: 600; padding-left: 8px; margin-left: 2px; border-left: 1px solid rgba(12,12,13,.2); }
body.lp .lp-cart-total strong { font-weight: 600; }
body.lp .lp-cart-total[hidden] { display: none; }
/* recherche */
body.lp .lp-qs { position: fixed; inset: 0; z-index: 200; background: rgba(6,6,7,.72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); display: flex; justify-content: center; align-items: flex-start; padding: 12vh 16px 16px; }
body.lp .lp-qs[hidden] { display: none; }
body.lp .lp-search-box { width: min(620px, 100%); background: var(--surface); border: 1px solid var(--line-2); border-radius: 12px; box-shadow: 0 30px 80px rgba(0,0,0,.6); overflow: hidden; }
body.lp .lp-search-field { display: flex; align-items: center; gap: 12px; padding: 0 16px; height: 56px; border-bottom: 1px solid var(--line); color: var(--muted); }
body.lp .lp-search-field input { flex: 1; min-width: 0; height: 100%; background: none !important; border: 0 !important; outline: 0; box-shadow: none !important; color: var(--fg); font-family: var(--font); font-size: 16px; padding: 0; }
body.lp .lp-search-field kbd { font-family: var(--font); font-size: 11px; color: var(--gray); border: 1px solid var(--line-2); border-radius: 4px; padding: 2px 6px; }
body.lp .lp-search-res { max-height: 60vh; overflow: auto; padding: 8px; }
body.lp .lp-search-item { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 8px; color: var(--fg); }
body.lp .lp-search-item:hover, body.lp .lp-search-item:focus { background: var(--surface2); outline: 0; }
body.lp .lp-search-txt { display: grid; gap: 2px; flex: 1; min-width: 0; }
body.lp .lp-search-txt strong { font-family: var(--head); font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.lp .lp-search-txt span { font-size: 12px; color: var(--gray); }
body.lp .lp-search-price { font-size: 14px; color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
body.lp .lp-search-empty { padding: 24px; text-align: center; color: var(--muted); margin: 0; }
/* barre d'annonce sobre */
body.lp .lp-announce { background: #fff; color: #0c0c0d; font-family: var(--font); font-size: 13px; font-weight: 500; }
body.lp .lp-announce .lp-code { border-color: rgba(12,12,13,.4); color: #0c0c0d; }

/* V6.2 */
@media (width > 960px) { body.lp .lp-mega { width: 820px; } }
body.lp .lp-mega-txt strong { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; white-space: normal; line-height: 1.3; }
body.lp .lp-new { margin-left: 0; }

/* V6.3 journal des mises a jour : liste propre */
body.lp .lp-timeline { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
body.lp .lp-timeline::before, body.lp .lp-timeline-item::before, body.lp .lp-timeline-item::after { display: none !important; content: none !important; }
body.lp .lp-timeline-item { display: grid; grid-template-columns: 130px 90px minmax(0, 1fr); gap: 24px; align-items: baseline; padding: 16px 0; margin: 0; border-bottom: 1px solid var(--line); }
body.lp .lp-timeline-item time { font-size: 14px; color: var(--gray); font-variant-numeric: tabular-nums; text-transform: none; letter-spacing: 0; }
body.lp .lp-timeline-item .lp-tag { justify-self: start; border: 0; background: var(--surface2); color: var(--fg); font-variant-numeric: tabular-nums; }
body.lp .lp-timeline-item p { margin: 0; color: var(--fg); font-size: 15px; line-height: 1.5; }
@media (width <= 720px) { body.lp .lp-timeline-item { grid-template-columns: auto 1fr; gap: 6px 12px; } body.lp .lp-timeline-item p { grid-column: 1 / -1; } }
/* vignettes texte : 2 lignes max */
body.lp .lp-mega-thumb .lp-cover-name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 100%; }

/* V6.4 barre catalogue sans cadre */
body.lp .lp-toolbar { border: 0 !important; padding: 0 !important; margin-bottom: 24px; align-items: center; }
body.lp .lp-page-head, body.lp .lp-page-head-row { border: 0 !important; }
body.lp .lp-toolbar .lp-count { font-size: 14px; color: var(--muted); }
body.lp .lp-toolbar .lp-search, body.lp .lp-toolbar .lp-sort { background: var(--surface) !important; border: 0 !important; border-radius: 8px; }

/* V6.5 */
body.lp .lp-timeline { border-left: 0 !important; padding-left: 0 !important; margin-left: 0 !important; }
body.lp .lp-timeline-item { padding-left: 0 !important; margin-left: 0 !important; border-left: 0 !important; }
body.lp .lp-nav { background: rgba(12,12,13,.94); }

/* V6.6 bundles compacts + liens description */
body.lp .lp-upsell-head { margin: 8px 0 8px; font-size: 13px; color: var(--muted); }
body.lp .lp-upsell-bundle { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 12px; padding: 12px 14px !important; margin-bottom: 6px; }
body.lp .lp-upsell-bundle .lp-label { display: none !important; }
body.lp .lp-upsell-bundle strong { grid-column: 1; font-size: 14px; }
body.lp .lp-upsell-bundle .lp-upsell-price { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 13px; }
body.lp .lp-product-desc a { color: var(--fg); text-decoration: underline; text-decoration-color: rgba(255,255,255,.3); text-underline-offset: 3px; }
body.lp .lp-product-desc a:hover { text-decoration-color: #fff; }

/* V6.7 prix de reference honnetes */
body.lp .lp-price-ref { display: block; margin-top: 4px; font-size: 13px; color: var(--muted); font-weight: 400; font-variant-numeric: tabular-nums; }
body.lp .lp-plan .lp-price-ref { margin: 0 0 4px; }
body.lp .lp-upsell-price b { font-weight: 600; color: var(--fg); }
body.lp .lp-upsell-price .lp-price-ref { margin-top: 0; }

/* V6.8 fiche technique */
body.lp .lp-specs { order: 5; margin: 32px 0 8px; }
body.lp .lp-specs dl { margin: 16px 0 0; border-top: 1px solid var(--line); }
body.lp .lp-specs-row { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 24px; padding: 14px 0; border-bottom: 1px solid var(--line); }
body.lp .lp-specs dt { font-size: 14px; color: var(--muted); }
body.lp .lp-specs dd { margin: 0; font-size: 15px; color: var(--fg); line-height: 1.55; }
body.lp .lp-specs ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
body.lp .lp-specs li { position: relative; padding-left: 18px; }
body.lp .lp-specs li::before { content: ""; position: absolute; left: 0; top: .6em; width: 8px; height: 1.5px; background: var(--gray); }
@media (width <= 720px) { body.lp .lp-specs-row { grid-template-columns: 1fr; gap: 4px; } }

/* V6.9 */
body.lp .lp-card .lp-per-month { display: none; }
body.lp .lp-card .lp-price-ref { font-size: 12px; margin-top: 2px; }

/* V7 champagne : un seul accent, sur 3 details seulement */
body.lp { --brand: #d6c7a1; --brand-soft: rgba(214,199,161,.35); }
body.lp .lp-new { background: var(--brand); color: #0c0c0d; }
body.lp .lp-plan.is-featured { box-shadow: inset 0 0 0 1px var(--brand-soft) !important; border: 0 !important; }
body.lp .lp-plan.is-featured .lp-plan-kicker { color: var(--brand) !important; }
body.lp .lp-nav-links > a::after, body.lp .lp-has-mega > a::after { background: var(--brand); }

/* V7.1 couvertures sans visuel : couverture typographique assumee */
body.lp .lp-cover { justify-content: space-between !important; padding: 7% 8% 8% !important; background-image: radial-gradient(120% 90% at 100% 0%, rgba(214,199,161,.07), transparent 55%), linear-gradient(160deg, #1b1b1e 0%, #111113 100%) !important; }
body.lp .lp-cover .lp-cover-brand { display: block !important; font-family: var(--font); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--brand); opacity: .9; }
body.lp .lp-cover .lp-cover-name { max-width: 80%; color: #f2f2f3; }
body.lp .lp-mega-thumb .lp-cover { padding: 6px 8px !important; }
body.lp .lp-mega-thumb .lp-cover-brand { display: none !important; }

/* V7.2 landing : atmosphere tiree de la vraie capture, produit a la une */
body.lp .lp-hero4 { padding: 88px 0 72px !important; isolation: isolate; }
body.lp .lp-hero4::before { display: block !important; content: "" !important; position: absolute; inset: -60px; z-index: -1; background: url("https://i.ytimg.com/vi/ghqPLZfQkGs/hqdefault.jpg") center / cover no-repeat; filter: blur(56px) saturate(1.15); opacity: .32; -webkit-mask-image: linear-gradient(180deg, #000 30%, transparent 92%); mask-image: linear-gradient(180deg, #000 30%, transparent 92%); pointer-events: none; }
body.lp .lp-hero4 h1 { font-size: clamp(40px, 5.2vw, 66px); line-height: 1.04; letter-spacing: -.025em; }
body.lp .lp-hero4 .lp-lead { font-size: 17px; color: #b9b9be; max-width: 520px; }
body.lp .lp-hero4-media { box-shadow: 0 40px 90px -30px rgba(0,0,0,.9), 0 0 0 1px rgba(255,255,255,.08); }
body.lp .lp-hero4-trust { gap: 10px 0; }
body.lp .lp-hero4-trust li + li { padding-left: 16px; margin-left: 16px; border-left: 1px solid var(--line-2); }
@media (prefers-reduced-motion: no-preference) {
  body.lp .lp-hero4-grid > * { animation: lpRise .7s cubic-bezier(.2,.7,.2,1) both; }
  body.lp .lp-hero4-grid > *:nth-child(2) { animation-delay: .12s; }
  @keyframes lpRise { from { opacity: .001; transform: translateY(14px); } }
}
/* produit a la une */
body.lp .lp-spot { padding: 88px 0; margin: 24px 0; background: linear-gradient(180deg, transparent, #111113 18%, #111113 82%, transparent); }
body.lp .lp-spot-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 56px; align-items: center; }
body.lp .lp-spot-media { display: block; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: var(--dark); box-shadow: 0 40px 90px -30px rgba(0,0,0,.9), 0 0 0 1px rgba(255,255,255,.08); }
body.lp .lp-spot-media img, body.lp .lp-spot-media .lp-card-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
body.lp .lp-spot-media:hover img { transform: scale(1.03); }
body.lp .lp-spot-kicker { display: inline-block; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--brand); }
body.lp .lp-spot-title { font-family: var(--head); font-weight: 800; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.08; letter-spacing: -.02em; margin: 12px 0 16px; text-wrap: balance; }
body.lp .lp-spot-lead { color: #b9b9be; font-size: 16px; line-height: 1.6; margin: 0 0 20px; max-width: 46ch; }
body.lp .lp-spot-list { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 10px; }
body.lp .lp-spot-list li { position: relative; padding-left: 26px; color: var(--fg); font-size: 15px; }
body.lp .lp-spot-list li::before { content: ""; position: absolute; left: 0; top: .45em; width: 14px; height: 8px; border-left: 1.5px solid var(--brand); border-bottom: 1.5px solid var(--brand); transform: rotate(-45deg); }
body.lp .lp-spot-buy { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
body.lp .lp-spot-price { font-family: var(--head); font-weight: 800; font-size: 28px; font-variant-numeric: tabular-nums; }
body.lp .lp-spot-buy .lp-btn { display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 22px; }
@media (width <= 960px) { body.lp .lp-spot { padding: 56px 0; } body.lp .lp-spot-grid { grid-template-columns: 1fr; gap: 28px; } }

/* V7.3 */
body.lp .lp-hero4 h1 { font-size: clamp(38px, 4.3vw, 58px); }
body.lp #featured .lp-switch { display: none !important; }

/* V7.4 appel final + hero mobile */
body.lp .lp-final { position: relative; isolation: isolate; overflow: hidden; margin-top: 40px; padding: 96px 0; text-align: center; }
body.lp .lp-final::before { content: ""; position: absolute; inset: -60px; z-index: -1; background: url("https://i.ytimg.com/vi/ghqPLZfQkGs/hqdefault.jpg") center / cover no-repeat; filter: blur(60px) saturate(1.1); opacity: .22; -webkit-mask-image: radial-gradient(closest-side, #000 20%, transparent 100%); mask-image: radial-gradient(closest-side, #000 20%, transparent 100%); }
body.lp .lp-final-inner { display: grid; justify-items: center; gap: 16px; }
body.lp .lp-final-title { font-family: var(--head); font-weight: 800; font-size: clamp(30px, 4vw, 48px); letter-spacing: -.02em; line-height: 1.08; margin: 0; text-wrap: balance; }
body.lp .lp-final-lead { margin: 0; color: #b9b9be; font-size: 16px; max-width: 52ch; }
body.lp .lp-final-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 12px; }
body.lp .lp-final-actions .lp-btn { display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 22px; }
body.lp .lp-final + .lp-footer, body.lp main + .lp-footer { margin-top: 0; }
@media (width <= 960px) { body.lp .lp-hero4 { padding: 40px 0 40px !important; } body.lp .lp-final { padding: 64px 0; } }

/* V7.5 */
body.lp .lp-final { overflow: visible; }
body.lp .lp-final::before { inset: -80px 0; }

/* V7.6 bandeau communaute */
body.lp .lp-hero4-trust { display: none; }
body.lp .lp-band { padding: 8px 0 48px; }
body.lp .lp-band-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
body.lp .lp-band-item { display: grid; gap: 6px; padding: 28px 24px; border-left: 1px solid var(--line); }
body.lp .lp-band-item:first-child { border-left: 0; padding-left: 0; }
body.lp .lp-band-item[hidden] { display: none; }
body.lp .lp-band-item strong { font-family: var(--head); font-weight: 800; font-size: clamp(30px, 3.4vw, 44px); line-height: 1; letter-spacing: -.02em; color: var(--brand); font-variant-numeric: tabular-nums; }
body.lp .lp-band-item span { font-size: 14px; color: var(--muted); }
@media (width <= 720px) { body.lp .lp-band-grid { grid-template-columns: 1fr 1fr; } body.lp .lp-band-item { padding: 20px 16px; border-left: 0; border-top: 1px solid var(--line); } body.lp .lp-band-item:nth-child(-n+2) { border-top: 0; } body.lp .lp-band-item:nth-child(odd) { padding-left: 0; } }

/* V7.6 plus de chaleur : le champagne sur les actions d'achat */
body.lp { --cta: #d6c7a1; --cta-hover: #e4d8bb; --cta-text: #0c0c0d; }
body.lp .lp-btn-dark, body.lp a.lp-btn-dark, body.lp .btn-primary, body.lp .lp-nav-cta, body.lp a.lp-nav-cta,
body.lp.theme-dark .lp-btn-dark, body.lp.theme-dark .btn-primary, body.lp.theme-dark .lp-nav-cta { background: var(--cta) !important; border-color: var(--cta) !important; color: var(--cta-text) !important; }
body.lp .lp-btn-dark:hover, body.lp a.lp-btn-dark:hover, body.lp .btn-primary:hover, body.lp .lp-nav-cta:hover { background: var(--cta-hover) !important; border-color: var(--cta-hover) !important; }
body.lp .lp-card .add, body.lp .lp-card .lp-btn { background: transparent !important; color: var(--fg) !important; border: 1px solid var(--line-2) !important; }
body.lp .lp-card:hover .add, body.lp .lp-card .add:hover { background: var(--cta) !important; color: var(--cta-text) !important; border-color: var(--cta) !important; }
body.lp .lp-stars { filter: none; }
body.lp .lp-card:hover .lp-card-title a { color: var(--brand); text-decoration: none; }
body.lp .lp-section-head .lp-link-arrow, body.lp .lp-link-arrow { color: var(--brand); }
body.lp .lp-edition.is-active, body.lp .lp-edition[aria-current] { box-shadow: inset 0 0 0 1px var(--brand) !important; }

/* V7.7 */
body.lp .lp-band-grid { border: 0 !important; column-gap: 0; }
body.lp .lp-band-item { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
@media (width <= 720px) { body.lp .lp-band-item { border-bottom: 0; } body.lp .lp-band-item:nth-child(-n+2) { border-top: 1px solid var(--line); } }

/* V7.8 preuve sociale type "avatar circles" dans le hero (remplace le bandeau chiffres) */
body.lp .lp-band { display: none !important; }
body.lp .lp-proof { display: flex; align-items: center; gap: 14px; margin-top: 28px; flex-wrap: wrap; }
body.lp .lp-proof-avatars { display: flex; }
body.lp .lp-proof-avatars span { width: 34px; height: 34px; display: inline-grid; place-items: center; border-radius: 50%; margin-left: -10px; border: 2px solid var(--bg); font-family: var(--head); font-size: 12px; font-weight: 700; color: #0c0c0d; background: #d6c7a1; }
body.lp .lp-proof-avatars span:first-child { margin-left: 0; }
body.lp .lp-proof-avatars span:nth-child(2) { background: #bfb08b; }
body.lp .lp-proof-avatars span:nth-child(3) { background: #e6dcc3; }
body.lp .lp-proof-avatars span:nth-child(4) { background: #a99c7c; }
body.lp .lp-proof-avatars span:nth-child(5) { background: #cfc2a0; }
body.lp .lp-proof-avatars .lp-proof-more { width: auto; min-width: 34px; padding: 0 9px; border-radius: 999px; background: var(--surface2) !important; color: var(--fg); font-family: var(--font); font-size: 12px; font-weight: 600; }
body.lp .lp-proof-txt { display: grid; gap: 4px; font-size: 14px; color: var(--muted); line-height: 1.3; }
body.lp .lp-proof-txt strong { color: var(--fg); font-weight: 600; }
body.lp .lp-proof .lp-stars { width: 76px; height: 13px; }

/* V8.1 */
body.lp .lp-marquee-track > .lp-review-card { width: 360px !important; max-width: 80vw; flex: 0 0 auto !important; margin: 0 !important; background: var(--surface) !important; border: 0 !important; border-radius: 12px !important; padding: 22px !important; white-space: normal; }
body.lp .lp-review-grid.lp-marquee { border-top: 0 !important; }

/* V8 gallery : composants Magic UI / Aceternity reinterpretes */
@property --lp-beam { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@media (width > 960px) {
  body.lp .lp-nav { transition: max-width .35s cubic-bezier(.2,.7,.2,1), margin .35s, border-radius .35s, background .35s, box-shadow .35s, padding .35s; }
  body.lp.lp-scrolled .lp-nav { max-width: 1200px; margin: 10px auto 0; padding: 0 16px 0 20px; border: 1px solid var(--line-2); border-radius: 14px; background: rgba(18,18,20,.78); box-shadow: 0 20px 40px -20px rgba(0,0,0,.8); }
}
body.lp .lp-card, body.lp .lp-plan { position: relative; isolation: isolate; }
body.lp .lp-card::before, body.lp .lp-plan::before { content: ""; position: absolute; inset: -10px; z-index: -1; border-radius: 16px; background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), rgba(214,199,161,.10), transparent 70%); opacity: 0; transition: opacity .3s; pointer-events: none; }
body.lp .lp-card:hover::before, body.lp .lp-plan:hover::before { opacity: 1; }
body.lp .lp-plan::before { inset: 0; border-radius: inherit; }
body.lp .lp-plan.is-featured::after { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none; background: conic-gradient(from var(--lp-beam), transparent 0deg, transparent 290deg, rgba(214,199,161,.9) 330deg, transparent 360deg); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: lpBeam 5s linear infinite; }
@keyframes lpBeam { to { --lp-beam: 360deg; } }
body.lp .lp-spot-media { transition: transform .25s ease-out; transform-style: preserve-3d; will-change: transform; }
body.lp .lp-review-grid.lp-marquee { display: block !important; overflow: hidden; border-top: 0 !important; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
body.lp .lp-marquee-track { display: flex; gap: 20px; width: max-content; animation: lpMarquee 60s linear infinite; }
body.lp .lp-marquee:hover .lp-marquee-track { animation-play-state: paused; }
body.lp .lp-marquee-track > .lp-review-card { width: 360px !important; max-width: 80vw; flex: 0 0 auto !important; margin: 0 !important; background: var(--surface) !important; border: 0 !important; border-radius: 12px !important; padding: 22px !important; white-space: normal; }
@keyframes lpMarquee { to { transform: translateX(calc(-50% - 10px)); } }
@media (prefers-reduced-motion: no-preference) {
  body.lp .lp-hero4-grid > * { animation: lpBlurFade .8s cubic-bezier(.2,.7,.2,1) both; }
  @keyframes lpBlurFade { from { opacity: .001; filter: blur(8px); transform: translateY(10px); } }
}
@media (prefers-reduced-motion: reduce) { body.lp .lp-plan.is-featured::after { animation: none; } }

/* V8.2 Accordion (shadcn), Dot Pattern (Magic UI), Navigation Menu, Stateful Button, cmdk */
body.lp .lp-faq-item summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; cursor: pointer; }
body.lp .lp-faq-item summary::-webkit-details-marker { display: none; }
body.lp .lp-faq-item summary i { font-size: 0 !important; width: 20px; height: 20px; flex: none; border: 0 !important; background: none !important; transform: none !important; position: relative; }
body.lp .lp-faq-item summary i::before { content: ""; position: absolute; inset: 0; margin: auto; width: 8px; height: 8px; border-right: 1.5px solid var(--muted); border-bottom: 1.5px solid var(--muted); transform: translateY(-2px) rotate(45deg); transition: transform .25s ease; }
body.lp .lp-faq-item[open] summary i::before { transform: translateY(2px) rotate(-135deg); border-color: var(--brand); }
body.lp .lp-faq-item { interpolate-size: allow-keywords; }
body.lp .lp-faq-item::details-content { block-size: 0; overflow: hidden; transition: block-size .3s ease, content-visibility .3s allow-discrete; }
body.lp .lp-faq-item[open]::details-content { block-size: auto; }
body.lp .lp-final::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(rgba(214,199,161,.22) 1px, transparent 1px); background-size: 22px 22px; -webkit-mask-image: radial-gradient(ellipse 50% 60% at 50% 50%, #000 20%, transparent 75%); mask-image: radial-gradient(ellipse 50% 60% at 50% 50%, #000 20%, transparent 75%); pointer-events: none; }
@media (width > 960px) { body.lp .lp-mega { transform-origin: top left; transform: translateY(6px) scale(.98); } body.lp .lp-has-mega:hover .lp-mega, body.lp .lp-has-mega:focus-within .lp-mega { transform: none; } }
body.lp .actions.updating .add, body.lp .lp-actions-box.updating a.add { position: relative; color: transparent !important; pointer-events: none; }
body.lp .actions.updating .add::after, body.lp .lp-actions-box.updating a.add::after { content: ""; position: absolute; inset: 0; margin: auto; width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(12,12,13,.25); border-top-color: #0c0c0d; animation: lpSpin .7s linear infinite; display: block !important; }
@keyframes lpSpin { to { transform: rotate(360deg); } }
body.lp .lp-search-item.is-active { background: var(--surface2); box-shadow: inset 2px 0 0 var(--brand); }

/* V8.3 boutons : Shiny Button (Magic UI) pour l'achat, Interactive Hover Button pour le secondaire */
body.lp .lp-btn, body.lp .btn-primary, body.lp .btn-secondary, body.lp .lp-nav-cta, body.lp .lp-nav-mini { border-radius: 10px !important; font-family: var(--head); font-weight: 600; letter-spacing: 0; transition: background-size .45s cubic-bezier(.2,.7,.2,1), color .25s, border-color .25s, box-shadow .25s, transform .15s !important; }
body.lp .lp-btn:active, body.lp .btn-primary:active, body.lp .lp-nav-cta:active { transform: translateY(1px) scale(.99); }

/* principal : champagne, reflet qui traverse au survol */
body.lp .lp-btn-dark, body.lp .btn-primary, body.lp .lp-nav-cta { position: relative; overflow: hidden; isolation: isolate; box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 8px 24px -12px rgba(214,199,161,.55) !important; }
body.lp .lp-btn-dark::before, body.lp .btn-primary::before, body.lp .lp-nav-cta::before { content: "" !important; display: block !important; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,.6) 50%, transparent 65%); transform: translateX(-130%); transition: transform .8s cubic-bezier(.2,.7,.2,1); pointer-events: none; }
body.lp .lp-btn-dark:hover::before, body.lp .btn-primary:hover::before, body.lp .lp-nav-cta:hover::before { transform: translateX(130%); }
body.lp .lp-btn-dark:hover, body.lp .btn-primary:hover, body.lp .lp-nav-cta:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 10px 30px -10px rgba(214,199,161,.7) !important; }

/* secondaire : contour, remplissage qui glisse depuis la gauche au survol */
body.lp .lp-btn-light, body.lp a.lp-btn-light, body.lp .btn-secondary, body.lp .lp-nav-mini { background: linear-gradient(var(--fg), var(--fg)) no-repeat left center / 0% 100% !important; background-color: transparent !important; border: 1px solid var(--line-2) !important; color: var(--fg) !important; }
body.lp .lp-btn-light:hover, body.lp a.lp-btn-light:hover, body.lp .btn-secondary:hover, body.lp .lp-nav-mini:hover { background-size: 100% 100% !important; color: #0c0c0d !important; border-color: var(--fg) !important; }
body.lp .lp-btn-light:hover svg, body.lp .lp-nav-mini:hover svg { color: #0c0c0d; }

/* ajouter (cartes) : contour -> champagne, avec un + qui tourne */
body.lp .lp-card .add { display: inline-flex !important; align-items: center; gap: 6px; }
body.lp .lp-card .add::before { content: "+"; font-family: var(--font); font-weight: 500; font-size: 16px; line-height: 1; transition: transform .3s ease; display: inline-block; }
body.lp .lp-card:hover .add::before { transform: rotate(90deg); }

/* editions : cartes selectionnables facon Radio Card */
body.lp .lp-edition { transition: border-color .2s, background .2s, box-shadow .2s !important; }
body.lp .lp-edition:hover { background: var(--surface2) !important; }

/* focus clavier visible et coherent */
body.lp a:focus-visible, body.lp button:focus-visible, body.lp .lp-btn:focus-visible { outline: 2px solid var(--brand) !important; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { body.lp .lp-btn-dark::before, body.lp .btn-primary::before, body.lp .lp-nav-cta::before { display: none !important; } }

/* V8.4 */
body.lp .lp-card .add::before { content: none !important; display: none !important; position: static !important; width: auto !important; height: auto !important; background: none !important; opacity: 1 !important; }
@media (width > 960px) { body.lp .lp-nav { transition-duration: .22s !important; } }

/* V8.5 Stepper (shadcn), Input, Badge, Dialog */
body.lp .lp-steps { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 0; }
body.lp .lp-steps > li { position: relative; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 16px; padding: 0 0 28px; background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
body.lp .lp-steps > li:last-child { padding-bottom: 0; }
body.lp .lp-steps > li:not(:last-child)::before { content: ""; position: absolute; left: 17px; top: 38px; bottom: 4px; width: 1px; background: linear-gradient(var(--brand-soft), var(--line)); }
body.lp .lp-step-n { width: 36px !important; height: 36px !important; display: grid !important; place-items: center; border-radius: 50% !important; background: var(--surface) !important; border: 1px solid var(--brand-soft) !important; color: var(--brand) !important; font-family: var(--head); font-weight: 700; font-size: 14px; }
body.lp .lp-steps h3 { margin: 6px 0 4px; font-family: var(--head); font-size: 16px; font-weight: 600; }
body.lp .lp-steps p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }

body.lp .lp-toolbar input[type=search], body.lp .lp-toolbar select { height: 40px; border-radius: 10px !important; font-size: 14px; }
body.lp .lp-toolbar .lp-search:focus-within, body.lp .lp-toolbar .lp-sort:focus-within { box-shadow: 0 0 0 2px var(--brand-soft) !important; }

body.lp .lp-tag { border: 0 !important; background: var(--surface2) !important; color: #c9c9ce !important; border-radius: 6px !important; font-size: 12px; font-weight: 500; padding: 3px 9px !important; }
body.lp .lp-card-media .lp-tag { background: rgba(12,12,13,.72) !important; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }

body.lp .popup { background: rgba(6,6,7,.66) !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
body.lp .popup-content { border-radius: 16px !important; border: 1px solid var(--line-2) !important; background: var(--surface) !important; box-shadow: 0 40px 100px -30px rgba(0,0,0,.9) !important; }
body.lp .popup-close { border-radius: 8px !important; }

/* V8.6 navbar pilule : transition propre */
@media (width > 960px) {
  body.lp .lp-nav { max-width: 100vw; margin: 0 auto; left: 0; right: 0; }
  body.lp.lp-scrolled .lp-nav { max-width: 1200px; background: rgba(18,18,20,.92); -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%); }
}

/* V8.7 petits defauts */
html { scroll-padding-top: 96px; }
body.lp .lp-link-arrow { padding-block: 10px; margin-block: -10px; }
@media (width <= 720px) {
  body.lp .lp-hero4 h1 { font-size: 32px; letter-spacing: -.02em; }
  body.lp .lp-hero4 .lp-lead { font-size: 15px; }
  body.lp .lp-grid-cards { grid-template-columns: 1fr 1fr !important; gap: 20px 12px !important; }
  body.lp .lp-grid-cards .lp-card-excerpt, body.lp .lp-grid-cards .lp-card-fw { display: none !important; }
  body.lp .lp-grid-cards .lp-card-body { padding: 10px 0 0 !important; gap: 4px; }
  body.lp .lp-grid-cards .lp-card-title { font-size: 14px !important; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  body.lp .lp-grid-cards .lp-card-footer { flex-direction: column; align-items: stretch; gap: 8px; padding-top: 6px !important; }
  body.lp .lp-grid-cards .lp-price-now, body.lp .lp-grid-cards .lp-price-now strong { font-size: 15px !important; }
  body.lp .lp-grid-cards .add, body.lp .lp-grid-cards .lp-btn { height: 38px !important; width: 100%; justify-content: center; font-size: 13px; }
  body.lp .lp-grid-cards .lp-cover { padding: 10px 12px !important; }
  body.lp .lp-grid-cards .lp-cover-name { font-size: 15px !important; max-width: 100%; }
  body.lp .lp-grid-cards .lp-cover-brand { font-size: 9px !important; }
}

/* V8.8 fiche mobile */
@media (width <= 720px) {
  body.lp .lp-buybox { padding: 20px 18px !important; border-radius: 14px; }
  body.lp .lp-buybox .lp-product-title { font-size: 26px !important; }
  body.lp .lp-product-gallery, body.lp .lp-video-facade { border-radius: 12px; }
  body.lp .lp-specs-row { padding: 12px 0; }
}

/* V8.9 contenu du bundle */
body.lp .lp-bundle-inc { order: 4; margin: 28px 0 8px; }
body.lp .lp-bundle-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
body.lp .lp-bundle-item { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 10px; background: var(--surface); color: var(--fg); transition: background .2s; }
body.lp .lp-bundle-item:hover { background: var(--surface2); }
body.lp .lp-bundle-txt { display: grid; gap: 2px; min-width: 0; }
body.lp .lp-bundle-txt strong { font-family: var(--head); font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.lp .lp-bundle-txt span { font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; }
body.lp .lp-bundle-total { margin: 14px 0 0; font-size: 14px; color: var(--muted); }
body.lp .lp-bundle-total strong { color: var(--fg); }
@media (width <= 720px) { body.lp .lp-bundle-grid { grid-template-columns: 1fr; } }

/* V8.10 */
body.lp .lp-product-desc a.lp-bundle-item { text-decoration: none !important; }
body.lp .page-cms .lp-page-head, body.lp.page-cms .lp-page-head { padding-bottom: 8px; }

/* V9 vente : ancrage honnete, reassurance au point d'achat */
body.lp .lp-badge-save { background: var(--brand) !important; color: #0c0c0d !important; border: 0 !important; font-weight: 700; }
body.lp .lp-card-badges .lp-badge-save, body.lp .lp-card-media .lp-badge-save { box-shadow: 0 6px 16px -6px rgba(0,0,0,.6); }
body.lp .lp-plan-flag { position: absolute; top: 16px; right: 16px; padding: 4px 10px; border-radius: 999px; background: var(--brand); color: #0c0c0d; font-size: 12px; font-weight: 700; letter-spacing: .01em; }
body.lp .lp-buy-proof { display: grid; gap: 12px; margin: 14px 0 4px; }
body.lp .lp-buy-proof-row { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 13px; color: var(--muted); }
body.lp .lp-buy-proof-row strong { color: var(--fg); }
body.lp .lp-pay-mini { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
body.lp .lp-pay-mini li { height: 24px !important; padding: 0 8px !important; }
body.lp .lp-pay-mini img { max-height: 12px !important; }
body.lp .lp-refund { display: flex; gap: 8px; align-items: flex-start; }
body.lp .lp-refund::before { content: ""; flex: none; width: 14px; height: 14px; margin-top: 2px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d6c7a1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6l8-3z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat; }

/* V9.1 */
html body.lp .lp-card-badges .lp-badge.lp-badge-save, html body.lp .lp-upsell-price .lp-badge.lp-badge-save, html body.lp .lp-badge.lp-badge-save { background: #d6c7a1 !important; color: #0c0c0d !important; }
html body.lp .lp-upsell-price .lp-badge.lp-badge-save { padding: 2px 8px !important; font-size: 12px; }

/* V9.2 pricing (shadcn / Tailwind UI "three tiers") */
body.lp .lp-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
body.lp .lp-plan { display: flex !important; flex-direction: column; gap: 0; padding: 28px !important; border-radius: 16px !important; background: var(--surface) !important; }
body.lp .lp-plan-kicker { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
body.lp .lp-plan-name { margin-top: 8px; font-size: 20px !important; }
body.lp .lp-plan-price { margin-top: 20px; display: flex; align-items: baseline; gap: 8px; }
body.lp .lp-plan-price .lp-price-now strong { font-size: 40px !important; letter-spacing: -.02em; }
body.lp .lp-plan .lp-price-ref, body.lp .lp-plan-note { margin-top: 6px; font-size: 13px; color: var(--muted); }
body.lp .lp-plan-feats { list-style: none; margin: 22px 0 26px; padding: 22px 0 0; border-top: 1px solid var(--line); display: grid; gap: 12px; flex: 1; align-content: start; }
body.lp .lp-plan-feats li { position: relative; padding-left: 28px; font-size: 14px; color: #d4d4d8; line-height: 1.45; }
body.lp .lp-plan-feats li::before { content: ""; position: absolute; left: 0; top: 1px; width: 18px; height: 18px; border-radius: 50%; background: rgba(214,199,161,.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d6c7a1' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 11px no-repeat; }
body.lp .lp-plan .lp-btn { width: 100%; justify-content: center; height: 46px; margin-top: auto; }
body.lp .lp-plan.is-featured { background: linear-gradient(180deg, rgba(214,199,161,.08), rgba(214,199,161,0) 45%), var(--surface) !important; box-shadow: inset 0 0 0 1px rgba(214,199,161,.45), 0 30px 60px -30px rgba(214,199,161,.25) !important; transform: translateY(-8px); }
body.lp .lp-plan.is-featured:hover { transform: translateY(-10px); }
body.lp .lp-plan-flag { top: 22px; right: 22px; }
@media (width <= 960px) { body.lp .lp-plans { grid-template-columns: 1fr; } body.lp .lp-plan.is-featured { transform: none; } }

/* V9.3 */
body.lp .lp-plan.is-featured .lp-plan-note { display: none; }

/* V9.4 promo : badges, compte a rebours */
html body.lp .lp-card-badges .lp-badge:not(.lp-badge-outline), html body.lp .lp-badges-inline .lp-badge:not(.lp-badge-outline) { background: #d6c7a1 !important; color: #0c0c0d !important; font-weight: 700; }
body.lp .lp-card-media:has(.lp-card-badges .lp-badge) .lp-cover-brand { visibility: hidden; }
body.lp .lp-price-old, body.lp del.lp-price-old { color: var(--gray) !important; text-decoration-color: rgba(214,199,161,.8) !important; text-decoration-thickness: 1.5px; }
body.lp .lp-announce { display: flex; justify-content: center; align-items: center; gap: 12px; flex-wrap: wrap; padding: 9px 16px; background: #d6c7a1 !important; color: #0c0c0d !important; font-weight: 600; }
body.lp .lp-announce-timer { font-variant-numeric: tabular-nums; font-family: var(--head); font-weight: 700; padding: 2px 8px; border-radius: 6px; background: rgba(12,12,13,.12); }
body.lp .lp-sale-timer { display: block; margin: 6px 0 2px; font-size: 13px; color: var(--brand); font-variant-numeric: tabular-nums; font-weight: 600; }

/* V9.5 */
body.lp .lp-buybox .lp-price-line .lp-badge { display: none !important; }
body.lp .lp-buybox .lp-price-line { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }


/* ---------- V4 : barre d'annonce (pastille centrale, style galeries SaaS) ---------- */
body.lp .lp-announce.lp-announce-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 8px 16px; background: #0c0c0d !important; color: #e9e6df !important; border-bottom: 1px solid rgba(255,255,255,.07); font-family: var(--font); font-size: 13px; font-weight: 500; letter-spacing: 0; }
body.lp .lp-announce-v2 .lp-ann-pill { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; padding: 4px 12px 4px 4px; border: 1px solid rgba(214,199,161,.22); border-radius: 999px; background: linear-gradient(180deg, rgba(214,199,161,.08), rgba(214,199,161,.02)); color: inherit; text-decoration: none; transition: border-color .2s, background .2s; }
body.lp .lp-announce-v2 div.lp-ann-pill { padding-left: 12px; }
body.lp .lp-announce-v2 a.lp-ann-pill:hover { border-color: rgba(214,199,161,.5); background: rgba(214,199,161,.1); color: #fff; }
body.lp .lp-ann-badge { flex: none; padding: 2px 8px; border-radius: 999px; background: #d6c7a1; color: #0c0c0d; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
body.lp .lp-ann-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.lp .lp-ann-sep { flex: none; width: 1px; height: 14px; background: rgba(255,255,255,.15); }
body.lp .lp-ann-cta { flex: none; display: inline-flex; align-items: center; gap: 4px; color: #d6c7a1; font-weight: 600; }
body.lp .lp-ann-cta .lp-i { width: 12px; height: 12px; transition: transform .2s; }
body.lp a.lp-ann-pill:hover .lp-ann-cta .lp-i { transform: translateX(3px); }
body.lp .lp-announce-v2 .lp-code { border-color: rgba(214,199,161,.4); color: #d6c7a1; }
@media (max-width: 640px) { body.lp .lp-ann-sep, body.lp .lp-ann-cta { display: none; } body.lp .lp-announce-v2 a.lp-ann-pill { padding-right: 12px; } }

/* ---------- V4 : mosaique hero (images des produits, generee par loop.js) ---------- */
.lp-hero-mosaic { display: grid; grid-template-columns: 1.6fr 1fr; grid-template-rows: 1fr 1fr; gap: 6px; padding: 6px; }
.lp-hero-mosaic .lp-mosaic-tile { position: relative; display: block; overflow: hidden; border-radius: 6px; background: #151417; }
.lp-hero-mosaic .lp-mosaic-tile:first-of-type { grid-row: span 2; }
.lp-hero-mosaic .lp-mosaic-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.lp-hero-mosaic .lp-mosaic-tile:hover img { transform: scale(1.04); }
.lp-hero-mosaic .lp-mosaic-tile span { position: absolute; left: 10px; bottom: 10px; padding: 3px 8px; border-radius: 6px; background: rgba(12,12,13,.72); color: #fff; font-size: 12px; font-weight: 600; opacity: 0; transform: translateY(4px); transition: opacity .2s, transform .2s; }
.lp-hero-mosaic .lp-mosaic-tile:hover span { opacity: 1; transform: none; }
.lp-hero-mosaic.is-single { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.lp-hero-mosaic.is-double { grid-template-rows: 1fr; }
.lp-hero-mosaic.is-double .lp-mosaic-tile:first-of-type { grid-row: auto; }


/* ---------- V4 : marges laterales plus confortables sur tablette / mobile ---------- */
@media (max-width: 960px) { :root { --pad: 32px; } }
@media (max-width: 560px) { :root { --pad: 22px; } }

/* ---------- V4 : cartes produit en tuiles, texte decolle des bords ---------- */
body.lp .lp-card { background: #121114; border: 1px solid rgba(255,255,255,.06); border-radius: 14px; padding: 8px; transition: border-color .2s, transform .2s; }
body.lp .lp-card:hover { border-color: rgba(214,199,161,.28); }
body.lp .lp-card .lp-card-media { border-radius: 10px; }
body.lp .lp-card .lp-card-body { padding: 14px 8px 8px !important; }
