/* MICRO-PIXELYS V7 - PUBLIC STOREFRONT ONLY
   This stylesheet is loaded only by public index.php.
   No admin stylesheet or admin markup is modified. */

body.v7-public {
  --v7-bg: #f5f7fb;
  --v7-surface: #ffffff;
  --v7-surface-soft: #f9fafc;
  --v7-surface-strong: #111827;
  --v7-text: #111827;
  --v7-muted: #667085;
  --v7-line: #e7eaf0;
  --v7-shadow-sm: 0 1px 2px rgba(16,24,40,.04), 0 4px 14px rgba(16,24,40,.04);
  --v7-shadow: 0 12px 40px rgba(16,24,40,.09);
  --v7-shadow-lg: 0 24px 70px rgba(16,24,40,.13);
  --v7-radius-sm: 12px;
  --v7-radius: 18px;
  --v7-radius-lg: 28px;
  --v7-accent-soft: color-mix(in srgb, var(--accent) 10%, white);
  --v7-accent-strong: color-mix(in srgb, var(--accent) 82%, #0b1220);
  margin: 0;
  color: var(--v7-text) !important;
  background: var(--v7-bg) !important;
  background-image: none !important;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.v7-public *, body.v7-public *::before, body.v7-public *::after { box-sizing: border-box; }
body.v7-public a { color: inherit; text-decoration: none; }
body.v7-public img { max-width: 100%; }
body.v7-public main { min-height: 60vh; overflow: clip; }
body.v7-public .wrap { width: min(1240px, calc(100% - 40px)); margin-inline: auto; }
body.v7-public .section { padding: 76px 0; }
body.v7-public .section + .section { border-top: 0; }
body.v7-public h1, body.v7-public h2, body.v7-public h3 { color: var(--v7-text); letter-spacing: -.035em; }
body.v7-public h1 { font-size: clamp(2.6rem, 5.4vw, 5.6rem); line-height: .99; }
body.v7-public h2 { font-size: clamp(2rem, 3.2vw, 3.45rem); line-height: 1.04; }
body.v7-public h3 { line-height: 1.15; }
body.v7-public p { color: var(--v7-muted); }
body.v7-public .muted, body.v7-public .tiny, body.v7-public small { color: var(--v7-muted); }
body.v7-public .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-bottom: 14px;
  color: var(--v7-accent-strong);
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}
body.v7-public .eyebrow::before { content:""; width: 24px; height: 2px; border-radius: 99px; background: var(--accent); }

/* Announcement + header */
body.v7-public .info-banner { box-shadow: none; font-size: .84rem; }
body.v7-public .info-banner-inner { min-height: 36px; }
body.v7-public .info-banner-promo { background: #111827; color: #fff; }
body.v7-public .info-banner-new { background: #0f766e; color:#fff; }
body.v7-public .info-banner-info { background: var(--accent); color:#fff; }
body.v7-public .info-banner-urgent { background:#b42318; color:#fff; }

body.v7-public .site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(255,255,255,.93) !important;
  border-bottom: 1px solid rgba(231,234,240,.9) !important;
  box-shadow: 0 8px 24px rgba(16,24,40,.04);
  backdrop-filter: blur(18px) saturate(140%);
}
body.v7-public .v61-topbar { min-height: 78px; gap: 18px; }
body.v7-public .brand { display:flex; align-items:center; flex: 0 0 auto; }
body.v7-public .brand img { max-height: 50px; width:auto; object-fit:contain; }
body.v7-public .brand span { color:var(--v7-text); font-size:1.18rem; font-weight:900; letter-spacing:-.03em; }
body.v7-public .v61-main-nav { gap: 3px; }
body.v7-public .v61-main-nav > a,
body.v7-public .v61-mega-trigger,
body.v7-public .v61-account {
  color: #344054 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 11px !important;
  padding: 10px 11px !important;
  font-size: .9rem;
  font-weight: 720;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
body.v7-public .v61-main-nav > a:hover,
body.v7-public .v61-mega-trigger:hover,
body.v7-public .v61-account:hover { background:#f2f4f7 !important; color:#111827 !important; transform:translateY(-1px); }
body.v7-public .v61-header-search {
  height: 46px;
  flex: 1 1 280px;
  max-width: 360px;
  background: #f7f8fa !important;
  border: 1px solid #e4e7ec !important;
  border-radius: 14px !important;
  color: var(--v7-text) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
body.v7-public .v61-header-search > span { color:#98a2b3; }
body.v7-public .v61-header-search input { color:var(--v7-text) !important; background:transparent !important; }
body.v7-public .v61-header-search input::placeholder { color:#98a2b3; }
body.v7-public .v61-header-search button {
  color:#fff !important;
  background:var(--v7-surface-strong) !important;
  border:0 !important;
  border-radius:10px !important;
  padding:8px 12px !important;
  font-weight:750;
}
body.v7-public .cart-pill {
  min-height: 44px;
  padding: 8px 9px 8px 14px !important;
  background: var(--v7-surface-strong) !important;
  color: #fff !important;
  border: 1px solid var(--v7-surface-strong) !important;
  border-radius: 13px !important;
  box-shadow: 0 8px 22px rgba(17,24,39,.14);
  font-weight: 780;
}
body.v7-public .cart-pill b { display:grid; place-items:center; min-width:25px; height:25px; padding:0 6px; border-radius:8px; background:var(--accent); color:#fff; }
body.v7-public .v61-mobile-toggle { color:var(--v7-text)!important; background:#f2f4f7!important; border-color:#e4e7ec!important; border-radius:12px!important; }

body.v7-public .v61-mega {
  background: rgba(255,255,255,.98) !important;
  color: var(--v7-text) !important;
  border: 1px solid var(--v7-line) !important;
  border-radius: 22px !important;
  box-shadow: var(--v7-shadow-lg) !important;
  padding: 22px !important;
}
body.v7-public .v61-mega-title small, body.v7-public .v61-mega-collections small { color:var(--v7-muted)!important; }
body.v7-public .v61-mega-collections a { background:#fff!important; border:1px solid var(--v7-line)!important; border-radius:14px!important; color:var(--v7-text)!important; }
body.v7-public .v61-mega-collections a:hover { background:var(--v7-accent-soft)!important; border-color:color-mix(in srgb,var(--accent) 28%,var(--v7-line))!important; transform:translateY(-2px); }
body.v7-public .v61-mega-collections em { color:var(--v7-accent-strong)!important; background:var(--v7-accent-soft)!important; }
body.v7-public .v61-mega-cats > strong { color:var(--v7-text)!important; }
body.v7-public .v61-mega-cats a { color:#475467!important; border-color:var(--v7-line)!important; background:#f8fafc!important; }
body.v7-public .v61-mega-cats a:hover { color:var(--v7-text)!important; border-color:#cfd4dc!important; background:#fff!important; }

body.v7-public .v61-mobile-panel { background:#fff!important; border-bottom:1px solid var(--v7-line)!important; color:var(--v7-text)!important; box-shadow:var(--v7-shadow); }
body.v7-public .v61-mobile-search input { background:#f7f8fa!important; color:var(--v7-text)!important; border-color:var(--v7-line)!important; }
body.v7-public .v61-mobile-actions a, body.v7-public .v61-mobile-cats a { background:#fff!important; border-color:var(--v7-line)!important; color:var(--v7-text)!important; }
body.v7-public .v61-mobile-actions small, body.v7-public .v61-mobile-cats small { color:var(--v7-muted)!important; }

body.v7-public .v6-goal-strip {
  background:#fff !important;
  color:#475467 !important;
  border-bottom:1px solid var(--v7-line) !important;
  font-size:.79rem;
}
body.v7-public .v6-goal-strip strong { color:#111827; }

/* Global UI */
body.v7-public .btn {
  min-height: 44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius: 13px !important;
  border: 1px solid var(--v7-line) !important;
  background:#fff !important;
  color:var(--v7-text) !important;
  font-weight: 760;
  box-shadow: var(--v7-shadow-sm);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
body.v7-public .btn:hover { transform:translateY(-2px); box-shadow:0 10px 25px rgba(16,24,40,.11); border-color:#d0d5dd!important; }
body.v7-public .btn.primary {
  color:#fff !important;
  background:var(--v7-surface-strong) !important;
  border-color:var(--v7-surface-strong) !important;
  box-shadow:0 10px 24px rgba(17,24,39,.16);
}
body.v7-public .btn.primary:hover { background:#000!important; border-color:#000!important; }
body.v7-public .btn.ghost { background:#fff!important; color:#344054!important; }
body.v7-public .btn.large { min-height:52px; padding-inline:20px!important; border-radius:15px!important; }
body.v7-public .panel,
body.v7-public .empty-state,
body.v7-public .success-card,
body.v7-public .legal-content {
  background:var(--v7-surface)!important;
  color:var(--v7-text)!important;
  border:1px solid var(--v7-line)!important;
  border-radius:var(--v7-radius)!important;
  box-shadow:var(--v7-shadow-sm)!important;
}
body.v7-public input,
body.v7-public textarea,
body.v7-public select {
  background:#fff!important;
  color:var(--v7-text)!important;
  border:1px solid #d9dde5!important;
  border-radius:12px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.03)!important;
}
body.v7-public input:focus,
body.v7-public textarea:focus,
body.v7-public select:focus {
  outline:none!important;
  border-color:color-mix(in srgb,var(--accent) 65%,#d0d5dd)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)!important;
}
body.v7-public label, body.v7-public .field label { color:#344054!important; font-weight:700; }
body.v7-public .flash { margin-top:14px; background:#ecfdf3!important; border:1px solid #abefc6!important; color:#067647!important; border-radius:12px!important; }
body.v7-public .flash.error { background:#fef3f2!important; border-color:#fecdca!important; color:#b42318!important; }

/* Hero */
body.v7-public .hero.home-sales-hero {
  position:relative;
  padding: 78px 0 86px;
  background:
    radial-gradient(circle at 84% 12%, color-mix(in srgb,var(--accent) 17%,transparent), transparent 30%),
    radial-gradient(circle at 10% 90%, rgba(17,24,39,.06), transparent 31%),
    linear-gradient(180deg,#fff 0%,#f7f9fc 100%) !important;
  border-bottom:1px solid var(--v7-line);
}
body.v7-public .hero.home-sales-hero::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.35;
  background-image:radial-gradient(#c9ced7 .75px,transparent .75px);
  background-size:18px 18px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.6),transparent 78%);
}
body.v7-public .hero-grid { position:relative; z-index:1; grid-template-columns:minmax(0,1.25fr) minmax(330px,.65fr)!important; gap:64px!important; align-items:center!important; }
body.v7-public .home-sales-hero h1 { margin:.1em 0 .3em; color:#0f172a!important; font-weight:900; max-width:880px; }
body.v7-public .home-sales-hero h1::first-line { color:#0f172a; }
body.v7-public .home-sales-hero p { max-width:720px; color:#667085!important; font-size:clamp(1.04rem,1.5vw,1.23rem); line-height:1.7; }
body.v7-public .hero-actions { gap:10px; margin-top:28px; }
body.v7-public .home-trust { gap:8px 18px!important; margin-top:25px!important; }
body.v7-public .home-trust span { color:#475467!important; font-size:.86rem; font-weight:650; }
body.v7-public .home-hero-card {
  position:relative;
  padding:30px!important;
  color:#fff!important;
  background:#111827!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:26px!important;
  box-shadow:0 30px 65px rgba(17,24,39,.2)!important;
  overflow:hidden;
}
body.v7-public .home-hero-card::after { content:""; position:absolute; width:210px; height:210px; border-radius:50%; right:-90px; top:-100px; background:var(--accent); filter:blur(2px); opacity:.28; }
body.v7-public .home-card-badge { position:relative; z-index:1; color:#fff!important; background:rgba(255,255,255,.1)!important; border:1px solid rgba(255,255,255,.12); }
body.v7-public .home-hero-card .hero-metric { position:relative; z-index:1; border-bottom:1px solid rgba(255,255,255,.1)!important; padding:17px 0!important; }
body.v7-public .home-hero-card .hero-metric span { color:#aeb7c6!important; font-size:.82rem; }
body.v7-public .home-hero-card .hero-metric strong { color:#fff!important; font-size:1.02rem; }
body.v7-public .hero-card-link { position:relative; z-index:1; color:#fff!important; font-weight:800; padding-top:6px; }
body.v7-public .hero-card-link:hover { color:color-mix(in srgb,var(--accent) 60%,white)!important; }

/* Reassurance */
body.v7-public .home-reassurance { margin-top:-32px!important; position:relative; z-index:3; }
body.v7-public .home-reassurance-grid { background:#fff!important; border:1px solid var(--v7-line)!important; border-radius:20px!important; box-shadow:var(--v7-shadow)!important; }
body.v7-public .home-reassurance-grid > div { border-color:var(--v7-line)!important; padding:20px 22px!important; }
body.v7-public .home-reassurance-grid b { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:#f4f6f8; font-size:1.25rem!important; }
body.v7-public .home-reassurance-grid strong { color:var(--v7-text)!important; }
body.v7-public .home-reassurance-grid small { color:var(--v7-muted)!important; }
body.v7-public .v6-offer { margin-top:28px!important; background:#fff7ed!important; border:1px solid #fed7aa!important; color:#9a3412!important; border-radius:16px!important; box-shadow:none!important; }
body.v7-public .v6-offer b { color:#9a3412!important; }
body.v7-public .v6-offer small { color:#c2410c!important; }
body.v7-public .v6-offer code { color:#fff!important; background:#9a3412!important; border-radius:10px!important; }

/* Pathfinder / universes */
body.v7-public .v61-pathfinder { padding-top:88px; }
body.v7-public .v61-find-box {
  padding:34px!important;
  border:1px solid var(--v7-line)!important;
  background:#fff!important;
  border-radius:24px!important;
  box-shadow:var(--v7-shadow-sm)!important;
}
body.v7-public .v61-find-box h2 { margin:.1em 0 .3em; }
body.v7-public .v61-find-box p { color:var(--v7-muted)!important; }
body.v7-public .v61-find-box form { background:#f7f8fa!important; border:1px solid var(--v7-line)!important; border-radius:17px!important; padding:14px!important; }
body.v7-public .v61-find-box form label { color:#344054!important; }
body.v7-public .v61-universe-grid { gap:14px!important; margin-top:18px!important; }
body.v7-public .v61-universe-card {
  min-height:170px;
  padding:22px!important;
  color:var(--v7-text)!important;
  background:#fff!important;
  border:1px solid var(--v7-line)!important;
  border-radius:20px!important;
  box-shadow:var(--v7-shadow-sm)!important;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
body.v7-public .v61-universe-card:hover { transform:translateY(-5px); box-shadow:var(--v7-shadow)!important; border-color:color-mix(in srgb,var(--accent) 32%,var(--v7-line))!important; }
body.v7-public .v61-universe-card > span { display:grid!important; place-items:center; width:46px!important; height:46px!important; border-radius:14px; background:var(--v7-accent-soft); font-size:1.45rem!important; }
body.v7-public .v61-universe-card strong { color:#101828!important; font-size:1.06rem!important; }
body.v7-public .v61-universe-card small { color:var(--v7-muted)!important; line-height:1.45; }
body.v7-public .v61-universe-card b { color:var(--v7-accent-strong)!important; font-size:.85rem!important; }
body.v7-public .v61-universe-card em { color:#475467!important; background:#f2f4f7!important; }

/* Section headings + categories */
body.v7-public .section-head { align-items:end; gap:24px; margin-bottom:28px; }
body.v7-public .section-head h2 { margin:.1em 0 .18em; }
body.v7-public .section-head > a { color:#344054!important; font-weight:800; padding:9px 0; border-bottom:1px solid #d0d5dd; }
body.v7-public .section-head > a:hover { color:var(--v7-accent-strong)!important; border-color:var(--accent); }
body.v7-public .section-subtitle { color:var(--v7-muted)!important; line-height:1.6; }
body.v7-public .home-category-grid { gap:14px!important; }
body.v7-public .home-category-card,
body.v7-public .category-card {
  min-height:175px;
  padding:22px!important;
  background:linear-gradient(150deg,#fff,#fbfcfe)!important;
  color:var(--v7-text)!important;
  border:1px solid var(--v7-line)!important;
  border-radius:20px!important;
  box-shadow:var(--v7-shadow-sm)!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
body.v7-public .home-category-card:hover,
body.v7-public .category-card:hover { transform:translateY(-4px); box-shadow:var(--v7-shadow)!important; border-color:#cfd4dc!important; }
body.v7-public .category-card > span:not(.category-number) { color:#101828!important; font-size:1.12rem!important; font-weight:850!important; }
body.v7-public .category-card small { color:var(--v7-muted)!important; }
body.v7-public .category-card b { color:var(--v7-accent-strong)!important; }
body.v7-public .category-number { color:#111827!important; opacity:.06!important; }

/* Product cards */
body.v7-public .grid-products { gap:18px!important; }
body.v7-public .product-card {
  position:relative;
  overflow:hidden;
  background:#fff!important;
  border:1px solid var(--v7-line)!important;
  border-radius:22px!important;
  box-shadow:var(--v7-shadow-sm)!important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
body.v7-public .product-card:hover { transform:translateY(-6px); box-shadow:var(--v7-shadow)!important; border-color:#d0d5dd!important; }
body.v7-public .product-image { aspect-ratio:4/3; background:#f3f4f6!important; border-radius:0!important; overflow:hidden; }
body.v7-public .product-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
body.v7-public .product-card:hover .product-image img { transform:scale(1.035); }
body.v7-public .product-image em { top:14px!important; left:14px!important; color:#fff!important; background:#111827!important; border:0!important; border-radius:999px!important; padding:7px 10px!important; font-style:normal; font-size:.72rem!important; font-weight:850!important; box-shadow:0 4px 12px rgba(17,24,39,.14); }
body.v7-public .product-card-body { padding:19px 20px 20px!important; }
body.v7-public .product-card-body .tiny { color:#98a2b3!important; text-transform:uppercase; letter-spacing:.08em; font-size:.67rem; font-weight:800; }
body.v7-public .product-card-body h3 { margin:8px 0 8px!important; font-size:1.08rem!important; }
body.v7-public .product-card-body h3 a { color:#101828!important; }
body.v7-public .product-card-body p { color:#667085!important; line-height:1.5; font-size:.88rem!important; min-height:2.65em; }
body.v7-public .product-card-bottom { border-top:1px solid #f0f1f3!important; padding-top:14px!important; margin-top:15px!important; }
body.v7-public .product-card-bottom strong { color:#101828!important; font-size:1.1rem!important; }
body.v7-public .arrow-btn { color:var(--v7-accent-strong)!important; font-size:.84rem!important; font-weight:800!important; }

/* Alternating homepage backgrounds */
body.v7-public .home-highlight-section { background:#eef2f7!important; }
body.v7-public .ai-home-section { background:#fff; }
body.v7-public .home-how {
  background:#111827!important;
  color:#fff!important;
  border:0!important;
  border-radius:28px!important;
  box-shadow:var(--v7-shadow-lg)!important;
  padding:40px!important;
}
body.v7-public .home-how h2, body.v7-public .home-how .section-head { color:#fff!important; }
body.v7-public .home-how .eyebrow { color:color-mix(in srgb,var(--accent) 65%,white)!important; }
body.v7-public .home-how-grid > div { background:rgba(255,255,255,.06)!important; border:1px solid rgba(255,255,255,.08)!important; border-radius:18px!important; padding:24px!important; }
body.v7-public .home-how-grid span { color:color-mix(in srgb,var(--accent) 68%,white)!important; }
body.v7-public .home-how-grid strong { color:#fff!important; }
body.v7-public .home-how-grid p { color:#aab3c2!important; }
body.v7-public .home-proof { padding:44px!important; background:#fff; border:1px solid var(--v7-line); border-radius:28px; box-shadow:var(--v7-shadow-sm); }
body.v7-public .home-proof > div:first-child p { color:var(--v7-muted)!important; }
body.v7-public .home-proof-stats > div { background:#f8fafc!important; border-color:var(--v7-line)!important; border-radius:16px!important; }
body.v7-public .home-proof-stats strong { color:#101828!important; }
body.v7-public .home-proof-stats span { color:var(--v7-muted)!important; }
body.v7-public .home-cta {
  background:linear-gradient(115deg,#111827 0%,#1f2937 60%,color-mix(in srgb,var(--accent) 44%,#111827) 135%)!important;
  border:0!important;
  color:#fff!important;
  border-radius:28px!important;
  box-shadow:var(--v7-shadow-lg)!important;
  padding:42px!important;
}
body.v7-public .home-cta h2 { color:#fff!important; }
body.v7-public .home-cta p { color:#c4cad4!important; }
body.v7-public .home-cta .btn.primary { background:#fff!important; color:#111827!important; border-color:#fff!important; box-shadow:none!important; }
body.v7-public .home-cta .eyebrow { color:color-mix(in srgb,var(--accent) 65%,white)!important; }
body.v7-public .ai-home-panel { background:#fff!important; border:1px solid var(--v7-line)!important; border-radius:28px!important; box-shadow:var(--v7-shadow-sm)!important; }
body.v7-public .ai-home-copy p { color:var(--v7-muted)!important; }
body.v7-public .ai-home-steps span { background:#f8fafc!important; border-color:var(--v7-line)!important; color:#344054!important; }
body.v7-public .ai-home-visual { background:#111827!important; border:0!important; border-radius:22px!important; }
body.v7-public .ai-home-visual strong { color:#fff!important; }
body.v7-public .ai-home-visual small { color:#aab3c2!important; }

/* CMS blocks public */
body.v7-public .cms-block-inner {
  background:#fff!important;
  border:1px solid var(--v7-line)!important;
  border-radius:28px!important;
  box-shadow:var(--v7-shadow-sm)!important;
  color:var(--v7-text)!important;
}
body.v7-public .cms-block-inner p { color:var(--v7-muted)!important; }

/* Shop */
body.v7-public .v61-breadcrumb { background:transparent!important; color:#667085!important; padding-top:18px!important; }
body.v7-public .v61-breadcrumb a { color:#475467!important; }
body.v7-public .v61-shop-hero,
body.v7-public .page-hero {
  background:linear-gradient(180deg,#fff,#f4f6f9)!important;
  border-bottom:1px solid var(--v7-line)!important;
  color:var(--v7-text)!important;
}
body.v7-public .v61-shop-hero h1, body.v7-public .page-hero h1 { color:#101828!important; }
body.v7-public .v61-shop-hero p, body.v7-public .page-hero p { color:var(--v7-muted)!important; }
body.v7-public .v61-shop-search { background:#fff!important; border:1px solid var(--v7-line)!important; border-radius:16px!important; box-shadow:var(--v7-shadow-sm)!important; padding:8px!important; }
body.v7-public .v61-shop-search input { border:0!important; box-shadow:none!important; }
body.v7-public .v61-shop-layout { gap:28px!important; }
body.v7-public .v61-shop-sidebar { position:sticky; top:116px; align-self:start; }
body.v7-public .v61-side-block {
  background:#fff!important;
  color:var(--v7-text)!important;
  border:1px solid var(--v7-line)!important;
  border-radius:18px!important;
  box-shadow:var(--v7-shadow-sm)!important;
  padding:14px!important;
}
body.v7-public .v61-side-block > strong { color:#101828!important; padding:7px 8px 12px!important; }
body.v7-public .v61-side-block a { color:#475467!important; border-radius:11px!important; border:0!important; padding:9px 10px!important; }
body.v7-public .v61-side-block a:hover { background:#f5f7fa!important; color:#101828!important; }
body.v7-public .v61-side-block a.active { background:var(--v7-accent-soft)!important; color:var(--v7-accent-strong)!important; }
body.v7-public .v61-side-block a small { background:#f2f4f7!important; color:#667085!important; }
body.v7-public .v61-shop-toolbar { background:#fff!important; border:1px solid var(--v7-line)!important; border-radius:16px!important; color:var(--v7-text)!important; box-shadow:var(--v7-shadow-sm)!important; padding:14px 16px!important; }
body.v7-public .v61-shop-toolbar strong { color:#101828!important; }
body.v7-public .v61-shop-toolbar a { color:var(--v7-accent-strong)!important; }
body.v7-public .v61-shop-toolbar select { min-height:38px!important; }

/* Product page */
body.v7-public .product-section { padding:42px 0 72px!important; }
body.v7-public .product-layout { align-items:start!important; gap:56px!important; }
body.v7-public .product-main-img {
  position:relative;
  overflow:hidden;
  background:#fff!important;
  border:1px solid var(--v7-line)!important;
  border-radius:24px!important;
  box-shadow:var(--v7-shadow-sm)!important;
}
body.v7-public .product-main-img img { width:100%; height:auto; object-fit:contain; }
body.v7-public .gallery-thumbs { gap:10px!important; margin-top:12px!important; }
body.v7-public .gallery-thumb { width:78px!important; height:78px!important; overflow:hidden; background:#fff!important; border:1px solid var(--v7-line)!important; border-radius:14px!important; padding:4px!important; }
body.v7-public .gallery-thumb.active { border-color:var(--accent)!important; box-shadow:0 0 0 3px var(--v7-accent-soft)!important; }
body.v7-public .product-info { padding:0!important; }
body.v7-public .product-info > .tiny { display:inline-flex; padding:7px 10px; background:#f2f4f7; border-radius:999px; color:#475467!important; font-weight:750; }
body.v7-public .product-info h1 { margin:.34em 0 .22em!important; font-size:clamp(2.15rem,4vw,3.6rem)!important; color:#101828!important; }
body.v7-public .product-info .lead { color:#667085!important; font-size:1.04rem!important; line-height:1.65; }
body.v7-public .v6-trust-box { background:#f8fafc!important; border:1px solid var(--v7-line)!important; border-radius:18px!important; }
body.v7-public .v6-trust-box > div { border-color:var(--v7-line)!important; }
body.v7-public .v6-trust-box strong { color:#101828!important; }
body.v7-public .v6-trust-box small { color:var(--v7-muted)!important; }
body.v7-public .facebook-share { background:#1877f2!important; border-color:#1877f2!important; color:#fff!important; }
body.v7-public .config-block {
  margin-top:15px!important;
  padding:18px!important;
  background:#fff!important;
  border:1px solid var(--v7-line)!important;
  border-radius:18px!important;
  box-shadow:var(--v7-shadow-sm)!important;
}
body.v7-public .config-label strong { color:#101828!important; }
body.v7-public .config-label span { color:#667085!important; background:#f2f4f7!important; border-radius:999px!important; }
body.v7-public .option-buttons label > span { background:#fff!important; color:#344054!important; border-color:#d9dde5!important; border-radius:12px!important; }
body.v7-public .option-buttons input:checked + span { border-color:var(--accent)!important; color:var(--v7-accent-strong)!important; background:var(--v7-accent-soft)!important; box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)!important; }
body.v7-public .purchase-box {
  margin-top:18px!important;
  padding:22px!important;
  background:#111827!important;
  color:#fff!important;
  border:0!important;
  border-radius:20px!important;
  box-shadow:var(--v7-shadow)!important;
}
body.v7-public .purchase-box strong, body.v7-public .purchase-box .live-price { color:#fff!important; }
body.v7-public .purchase-box small { color:#c2c8d0!important; }
body.v7-public .purchase-box .btn.primary { background:#fff!important; color:#111827!important; border-color:#fff!important; }
body.v7-public .tier-box, body.v7-public .product-description, body.v7-public .v6-related { background:#fff!important; border-color:var(--v7-line)!important; color:var(--v7-text)!important; border-radius:20px!important; box-shadow:var(--v7-shadow-sm)!important; }
body.v7-public .product-description p, body.v7-public .product-description li { color:#475467!important; }
body.v7-public .v6-related h2, body.v7-public .product-description h2 { color:#101828!important; }
body.v7-public .v6-sticky-buy { background:rgba(255,255,255,.96)!important; border-top:1px solid var(--v7-line)!important; color:var(--v7-text)!important; backdrop-filter:blur(15px); }

/* Cart / checkout / account */
body.v7-public .cart-layout, body.v7-public .checkout-layout, body.v7-public .account-layout, body.v7-public .auth-grid { gap:26px!important; }
body.v7-public .cart-line, body.v7-public .checkout-line, body.v7-public .order-row { border-color:var(--v7-line)!important; }
body.v7-public .cart-line strong, body.v7-public .checkout-line strong, body.v7-public .order-row strong { color:#101828!important; }
body.v7-public .cart-line small, body.v7-public .checkout-line small, body.v7-public .order-row small { color:var(--v7-muted)!important; }
body.v7-public .cart-line .thumb { background:#f4f6f8!important; border-radius:13px!important; overflow:hidden; }
body.v7-public .cart-summary, body.v7-public .checkout-summary { position:sticky; top:118px; align-self:start; }
body.v7-public .summary-row { border-color:var(--v7-line)!important; color:#475467!important; }
body.v7-public .summary-row strong, body.v7-public .summary-row.total { color:#101828!important; }
body.v7-public .coupon-box { background:#f8fafc!important; border-color:var(--v7-line)!important; border-radius:14px!important; }
body.v7-public .shipping-card { background:#fff!important; color:#344054!important; border-color:var(--v7-line)!important; border-radius:14px!important; }
body.v7-public .shipping-card:has(input:checked) { border-color:var(--accent)!important; background:var(--v7-accent-soft)!important; }
body.v7-public .secure-note, body.v7-public .notice, body.v7-public .account-callout { background:#f8fafc!important; color:#475467!important; border-color:var(--v7-line)!important; border-radius:14px!important; }
body.v7-public .status-badge { border-radius:999px!important; }
body.v7-public .success-icon { background:#ecfdf3!important; color:#067647!important; }

/* Public AI studio: preserve dark canvas but modernize shell */
body.v7-public .ai-designer { background:#fff!important; color:var(--v7-text)!important; border:1px solid var(--v7-line)!important; border-radius:20px!important; box-shadow:var(--v7-shadow-sm)!important; }
body.v7-public .ai-designer h2, body.v7-public .ai-designer h3 { color:#101828!important; }
body.v7-public .ai-designer p, body.v7-public .ai-designer .help { color:var(--v7-muted)!important; }
body.v7-public .ai-editor { background:#111827!important; border-color:#273244!important; }
body.v7-public .ai-editor h3, body.v7-public .ai-editor .ai-tool-row span { color:#f8fafc!important; }
body.v7-public .ai-tool-group { background:#172033!important; border-color:#273244!important; }
body.v7-public .ai-tool-group input, body.v7-public .ai-tool-group select { background:#0f172a!important; color:#fff!important; border-color:#334155!important; }

/* Footer */
body.v7-public .footer {
  margin-top:46px;
  padding-top:58px!important;
  background:#0d1117!important;
  color:#fff!important;
  border-top:0!important;
}
body.v7-public .footer-grid { gap:56px!important; }
body.v7-public .footer strong { color:#fff!important; }
body.v7-public .footer p { color:#9da7b5!important; }
body.v7-public .footer a { color:#c4cbd5!important; }
body.v7-public .footer a:hover { color:#fff!important; }
body.v7-public .footer-bottom { border-color:#273244!important; color:#98a2b3!important; }
body.v7-public .admin-link { opacity:.58; }
body.v7-public .admin-link:hover { opacity:1; }

/* Consent */
body.v7-public .v6-consent { background:rgba(17,24,39,.38)!important; backdrop-filter:blur(8px); }
body.v7-public .v6-consent-inner { background:#fff!important; color:var(--v7-text)!important; border:1px solid var(--v7-line)!important; border-radius:20px!important; box-shadow:var(--v7-shadow-lg)!important; }
body.v7-public .v6-consent-inner p { color:var(--v7-muted)!important; }

/* Responsive */
@media (max-width: 1120px) {
  body.v7-public .v61-main-nav { display:none!important; }
  body.v7-public .v61-header-search { max-width:none; }
  body.v7-public .v61-mobile-toggle { display:inline-grid!important; }
  body.v7-public .hero-grid { gap:36px!important; }
}
@media (max-width: 900px) {
  body.v7-public .hero-grid { grid-template-columns:1fr!important; }
  body.v7-public .home-hero-card { max-width:640px; }
  body.v7-public .product-layout { grid-template-columns:1fr!important; gap:30px!important; }
  body.v7-public .product-main-img { max-width:760px; }
  body.v7-public .v61-shop-sidebar { position:static; }
  body.v7-public .cart-summary, body.v7-public .checkout-summary { position:static; }
  body.v7-public .section { padding:58px 0; }
}
@media (max-width: 720px) {
  body.v7-public .wrap { width:min(100% - 24px,1240px); }
  body.v7-public .v61-topbar { min-height:66px; gap:9px; }
  body.v7-public .brand img { max-height:40px; max-width:150px!important; }
  body.v7-public .v61-header-search, body.v7-public .v61-account { display:none!important; }
  body.v7-public .cart-pill { margin-left:auto; font-size:.82rem; min-height:40px; }
  body.v7-public .v6-goal-strip { display:none!important; }
  body.v7-public .hero.home-sales-hero { padding:52px 0 68px; }
  body.v7-public h1 { font-size:clamp(2.45rem,12vw,4.2rem); }
  body.v7-public h2 { font-size:clamp(1.9rem,8vw,2.7rem); }
  body.v7-public .home-hero-card { padding:22px!important; border-radius:22px!important; }
  body.v7-public .home-reassurance { margin-top:-22px!important; }
  body.v7-public .home-reassurance-grid { border-radius:18px!important; }
  body.v7-public .home-reassurance-grid > div { padding:15px 16px!important; }
  body.v7-public .v61-find-box { padding:22px!important; }
  body.v7-public .section-head { align-items:flex-start; }
  body.v7-public .home-how, body.v7-public .home-proof, body.v7-public .home-cta { padding:25px!important; border-radius:22px!important; }
  body.v7-public .product-info h1 { font-size:2.25rem!important; }
  body.v7-public .product-section { padding-top:26px!important; }
  body.v7-public .v61-mobile-bottom { background:rgba(255,255,255,.96)!important; border-top:1px solid var(--v7-line)!important; box-shadow:0 -8px 24px rgba(16,24,40,.06); }
  body.v7-public .v61-mobile-bottom a, body.v7-public .v61-mobile-bottom button { color:#475467!important; }
  body.v7-public .v61-mobile-bottom span { color:#101828!important; }
  body.v7-public .footer { padding-bottom:84px!important; }
}
@media (max-width: 520px) {
  body.v7-public .section { padding:48px 0; }
  body.v7-public .hero-actions .btn { width:100%; }
  body.v7-public .home-trust { display:grid!important; grid-template-columns:1fr 1fr; }
  body.v7-public .home-reassurance-grid > div b { width:38px; height:38px; }
  body.v7-public .product-card { border-radius:18px!important; }
  body.v7-public .product-card-body { padding:16px!important; }
  body.v7-public .v61-universe-card { min-height:145px; padding:18px!important; }
  body.v7-public .config-block { padding:15px!important; }
}

@media (prefers-reduced-motion: reduce) {
  body.v7-public *, body.v7-public *::before, body.v7-public *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}

/* ============================================================
   MICRO-PIXELYS V7.1 - CONTRASTE & LISIBILITE
   Public storefront only. No admin selectors / files modified.
   ============================================================ */
body.v7-public {
  /* Re-map legacy dark-theme tokens so any older storefront component
     that was not explicitly restyled cannot become pale on white. */
  --bg: #f5f7fb;
  --text: #111827;
  --panel: #ffffff;
  --panel2: #f8fafc;
  --muted: #475467;
  --line: #d8dee8;
  --ok: #067647;
  --danger: #b42318;

  /* Stronger V7 tokens. */
  --v7-muted: #475467;
  --v7-line: #d8dee8;
  /* Accent remains visually branded, while text is mixed strongly toward
     anthracite so it stays readable even if the configured accent is light. */
  --v7-accent-strong: color-mix(in srgb, var(--accent) 28%, #101828 72%);
}

/* Secondary copy: deliberately darker than V7.0 */
body.v7-public p,
body.v7-public .muted,
body.v7-public .tiny,
body.v7-public small,
body.v7-public .section-subtitle,
body.v7-public .v61-universe-card small,
body.v7-public .home-reassurance-grid small,
body.v7-public .product-card-body p,
body.v7-public .cms-block-inner p {
  color: #475467 !important;
}

/* The label itself must be readable; the accent line still carries the brand. */
body.v7-public .eyebrow {
  color: #344054 !important;
}
body.v7-public .home-how .eyebrow,
body.v7-public .home-cta .eyebrow {
  color: #f2f4f7 !important;
}

/* Links / action labels that previously depended too much on a bright accent. */
body.v7-public .arrow-btn,
body.v7-public .category-card b,
body.v7-public .v61-universe-card b,
body.v7-public .section-head > a,
body.v7-public .v61-shop-toolbar a,
body.v7-public .hero-card-link {
  color: var(--v7-accent-strong) !important;
  font-weight: 850 !important;
}
body.v7-public .home-hero-card .hero-card-link {
  color: #ffffff !important;
}

/* Product/meta information was too pale in V7.0. */
body.v7-public .product-card-body .tiny {
  color: #667085 !important;
}
body.v7-public .v61-header-search > span,
body.v7-public .v61-header-search input::placeholder,
body.v7-public input::placeholder,
body.v7-public textarea::placeholder {
  color: #667085 !important;
  opacity: 1 !important;
}

/* Category numbers remain decorative, but are now actually visible. */
body.v7-public .category-number {
  color: #344054 !important;
  opacity: .16 !important;
}

/* Stronger cards / separators so white blocks do not disappear into the page. */
body.v7-public .home-reassurance-grid,
body.v7-public .v61-find-box,
body.v7-public .v61-universe-card,
body.v7-public .home-category-card,
body.v7-public .category-card,
body.v7-public .product-card,
body.v7-public .cms-block-inner,
body.v7-public .home-proof,
body.v7-public .ai-home-panel,
body.v7-public .panel {
  border-color: #d8dee8 !important;
}

/* Reassurance icons and category count chips: a little more contrast. */
body.v7-public .home-reassurance-grid b {
  background: #e9edf3 !important;
}
body.v7-public .v61-universe-card em,
body.v7-public .v61-side-block a small {
  color: #475467 !important;
  background: #e9edf3 !important;
}

/* Search block and inputs should stand out from white cards. */
body.v7-public .v61-find-box form,
body.v7-public .v61-header-search {
  background: #f2f4f7 !important;
  border-color: #cfd6e0 !important;
}
body.v7-public input,
body.v7-public textarea,
body.v7-public select {
  border-color: #cbd2dc !important;
}

/* Legacy/public components not explicitly covered in V7.0. */
body.v7-public .service-strip,
body.v7-public .notice,
body.v7-public .account-callout,
body.v7-public .empty-state {
  color: #344054 !important;
}
body.v7-public .service-strip span,
body.v7-public .secure-note {
  color: #475467 !important;
}

/* Accessible danger button after remapping the legacy theme tokens. */
body.v7-public .btn.danger {
  background: #b42318 !important;
  border-color: #b42318 !important;
  color: #ffffff !important;
}

/* Mobile: avoid tiny low-contrast copy. */
@media (max-width: 720px) {
  body.v7-public .v61-universe-card small,
  body.v7-public .product-card-body p,
  body.v7-public .home-reassurance-grid small {
    color: #344054 !important;
  }
}


/* V7.2.2 - product readability + spacing corrective patch */
body.v7-public .product-info .lead {
  color:#475467!important;
}
body.v7-public .purchase-box label,
body.v7-public .purchase-box .quantity-wrap label,
body.v7-public .purchase-box .live-price span,
body.v7-public .purchase-box .live-price small {
  color:#e5e7eb!important;
}
body.v7-public .purchase-box input,
body.v7-public .purchase-box .qty-presets button {
  color:#f8fafc!important;
}
body.v7-public .purchase-box .qty-presets button {
  border-color:#475467!important;
  background:#0f172a!important;
}
body.v7-public .purchase-box .qty-presets button:hover,
body.v7-public .purchase-box .qty-presets button:focus {
  background:#172033!important;
  border-color:#94a3b8!important;
}
body.v7-public .tier-box {
  padding:18px 20px!important;
}
body.v7-public .tier-box > strong {
  display:block;
  color:#101828!important;
  margin-bottom:12px;
}
body.v7-public .tier-box span {
  background:#f8fafc!important;
  color:#344054!important;
  border:1px solid #d9dde5!important;
  font-weight:700!important;
}
body.v7-public .product-description {
  margin-top:30px!important;
  padding:26px 28px!important;
  background:#ffffff!important;
  border:1px solid var(--v7-line)!important;
  border-radius:20px!important;
  box-shadow:var(--v7-shadow-sm)!important;
  color:#344054!important;
  line-height:1.8!important;
  font-size:1rem!important;
}
body.v7-public .product-description,
body.v7-public .product-description * {
  color:#344054!important;
}
body.v7-public .product-description strong,
body.v7-public .product-description b {
  color:#101828!important;
}
body.v7-public .product-description h2,
body.v7-public .product-description h3 {
  color:#101828!important;
  margin-top:0!important;
}
body.v7-public .product-description br + br {
  content:"";
}
@media (max-width: 900px) {
  body.v7-public .product-description {
    padding:22px 18px!important;
  }
}

/* V7.2.6.3 - Quantite : chiffre lisible sur fond blanc */
body.v7-public .purchase-box .quantity-wrap input#qty {
  color:#101828!important;
  -webkit-text-fill-color:#101828!important;
  caret-color:#101828!important;
  background:#ffffff!important;
}


/* V7.2.7.10 - lisibilite fiche produit mobile */
@media (max-width: 520px) {
  body.v7-public .product-info h1 {
    font-size:1.78rem!important;
    line-height:1.08!important;
    letter-spacing:-.025em!important;
    overflow-wrap:anywhere;
  }
  body.v7-public .product-info .lead {
    font-size:.98rem!important;
    line-height:1.55!important;
  }
  body.v7-public .product-layout {
    gap:22px!important;
  }
}

/* V7.2.7.11 - correctif galerie fiche produit : ne jamais rogner l'image principale */
body.v7-public .product-main-img {
  aspect-ratio:auto!important;
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:clamp(10px,1.4vw,18px)!important;
}
body.v7-public .product-main-img img {
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:min(76vh,760px)!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media (max-width: 820px) {
  body.v7-public .product-main-img {
    padding:8px!important;
  }
  body.v7-public .product-main-img img {
    width:100%!important;
    max-height:none!important;
  }
}

/* V7.2.7.13 - fiche produit stable : image complete dans un cadre maitrise */
body.v7-public .product-layout {
  grid-template-columns:minmax(0,1fr) minmax(420px,.9fr)!important;
  gap:46px!important;
  align-items:start!important;
}
body.v7-public .product-main-img {
  width:100%!important;
  max-width:none!important;
  aspect-ratio:4 / 3!important;
  min-height:0!important;
  padding:14px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
body.v7-public .product-main-img img {
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
body.v7-public .product-info h1 {
  font-size:clamp(2rem,3.4vw,3.35rem)!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
  overflow-wrap:anywhere!important;
}
body.v7-public .product-description {
  margin-top:30px!important;
}

@media (max-width: 1050px) and (min-width: 821px) {
  body.v7-public .product-layout {
    grid-template-columns:minmax(0,1fr) minmax(380px,.95fr)!important;
    gap:32px!important;
  }
  body.v7-public .product-info h1 {
    font-size:clamp(1.9rem,3.6vw,2.65rem)!important;
  }
}

@media (max-width: 820px) {
  body.v7-public .product-layout {
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  body.v7-public .product-main-img {
    aspect-ratio:1 / 1!important;
    max-width:680px!important;
    margin-inline:auto!important;
    padding:10px!important;
  }
  body.v7-public .product-main-img img {
    width:100%!important;
    height:100%!important;
    max-height:100%!important;
  }
}

@media (max-width: 520px) {
  body.v7-public .product-main-img {
    aspect-ratio:1 / 1!important;
    padding:7px!important;
    border-radius:18px!important;
  }
  body.v7-public .product-info h1 {
    font-size:1.72rem!important;
    line-height:1.08!important;
  }
}

/* V7.2.7.15 - alignement fiche produit + image contenue sans reduction globale */
body.v7-public .product-layout > div:first-child {
  align-self:start!important;
  margin-top:0!important;
}
body.v7-public .product-main-img {
  position:relative!important;
  top:auto!important;
  margin-top:0!important;
  align-self:start!important;
}
body.v7-public .product-main-img img {
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}

@media (max-width: 820px) {
  body.v7-public .product-main-img {
    position:relative!important;
    top:auto!important;
    margin-top:0!important;
  }
  body.v7-public .product-main-img img {
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
  }
}

/* V7.2.7.16 - l'image principale doit toujours rester entierement dans son cadre */
body.v7-public .product-main-img {
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
}
body.v7-public .product-main-img img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media (max-width: 820px) {
  body.v7-public .product-main-img img {
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
  }
}

/* V7.2.7.17 - image principale strictement contenue dans son cadre */
body.v7-public .product-main-img {
  position:relative!important;
  overflow:hidden!important;
}
body.v7-public .product-main-img img {
  position:absolute!important;
  inset:14px!important;
  width:calc(100% - 28px)!important;
  height:calc(100% - 28px)!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:scale-down!important;
  object-position:center center!important;
  display:block!important;
}
@media (max-width: 820px) {
  body.v7-public .product-main-img img {
    inset:10px!important;
    width:calc(100% - 20px)!important;
    height:calc(100% - 20px)!important;
  }
}
@media (max-width: 520px) {
  body.v7-public .product-main-img img {
    inset:7px!important;
    width:calc(100% - 14px)!important;
    height:calc(100% - 14px)!important;
  }
}
