/* ==========================================================================
   LPC.ma — Design System
   Palette issue du logo : bleu #1565F0 / navy #131C31
   ========================================================================== */

body {
  /* Tokens LPC */
  --lpc-primary: #1565F0;
  --lpc-primary-dark: #0E4FC4;
  --lpc-primary-light: #4D8DFF;
  --lpc-navy: #131C31;
  --lpc-navy-2: #1B2A4A;
  --lpc-ink: #1E2737;
  --lpc-muted: #5B6B82;
  --lpc-bg: #F5F8FD;
  --lpc-card: #FFFFFF;
  --lpc-border: #E3EAF5;
  --lpc-accent: #FF6A00;
  --lpc-success: #16A34A;
  --lpc-radius: 16px;
  --lpc-shadow: 0 6px 24px rgba(19, 28, 49, 0.08);
  --lpc-shadow-lg: 0 16px 48px rgba(19, 28, 49, 0.14);
  --lpc-grad: linear-gradient(135deg, #1565F0 0%, #4D8DFF 100%);
  --lpc-grad-dark: linear-gradient(135deg, #131C31 0%, #1B2A4A 60%, #14418F 100%);

  /* Surcharges Blocksy */
  --theme-palette-color-1: var(--lpc-primary);
  --theme-palette-color-2: var(--lpc-primary-dark);
  --theme-link-initial-color: var(--lpc-primary);
  --theme-link-hover-color: var(--lpc-primary-dark);
  --theme-button-background-initial-color: var(--lpc-primary);
  --theme-button-background-hover-color: var(--lpc-primary-dark);
  --theme-text-color: var(--lpc-ink);
  --theme-headings-color: var(--lpc-navy);

  font-family: "Inter", "Tajawal", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
html[dir="rtl"] body { font-family: "Tajawal", "Inter", -apple-system, sans-serif; }

h1, h2, h3, h4, h5, h6 { font-family: inherit; font-weight: 800; color: var(--lpc-navy); }

/* ===== Header (verre dépoli + sticky) ===== */
header#header { position: sticky; top: 0; z-index: 999; }
body.admin-bar header#header { top: 32px; }
header#header [data-row] { transition: box-shadow .25s ease; }
header#header [data-row*="middle"] { background: rgba(255, 255, 255, .88); backdrop-filter: saturate(160%) blur(12px); -webkit-backdrop-filter: saturate(160%) blur(12px); }
body.lpc-scrolled header#header [data-row*="middle"] { box-shadow: 0 4px 20px rgba(19,28,49,.10); }
header#header .default-logo { max-height: 44px; width: auto; transition: transform .25s ease; }
header#header .site-logo-container:hover .default-logo { transform: scale(1.04); }

/* Icônes de menu */
.lpc-mi { display: inline-flex; vertical-align: -3px; margin-inline-end: 7px; color: var(--lpc-primary); opacity: .75; transition: transform .2s ease, opacity .2s ease; }
header#header .menu > li:hover > a .lpc-mi,
header#header .menu > li.current-menu-item > a .lpc-mi { transform: translateY(-1.5px) scale(1.12); opacity: 1; }

/* Compacité du menu (icônes incluses sans overflow) */
header#header [data-id="menu"] .menu > li > a { font-size: 15.5px; padding-inline: 12px; }
.lpc-mi svg { width: 16px; height: 16px; }

/* Soulignement animé des liens du menu */
header#header [data-id="menu"] .menu > li > a { position: relative; }
header#header [data-id="menu"] .menu > li > a::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 7px; height: 2.5px; border-radius: 2px; background: var(--lpc-grad); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
header#header [data-id="menu"] .menu > li:hover > a::after,
header#header [data-id="menu"] .menu > li.current-menu-item > a::after,
header#header [data-id="menu"] .menu > li.current-menu-ancestor > a::after { transform: scaleX(1); }
html[dir="rtl"] header#header [data-id="menu"] .menu > li > a::after { transform-origin: right; }

/* Sous-menus */
header#header .sub-menu { border-radius: 14px; box-shadow: 0 18px 44px rgba(19,28,49,.16) !important; border: 1px solid var(--lpc-border); padding: 8px 0; }
header#header .sub-menu li > a { transition: background .2s ease, color .2s ease; }
header#header .sub-menu li > a:hover { background: rgba(21,101,240,.07); color: var(--lpc-primary) !important; }

/* Icônes header (recherche, compte, panier) */
header#header [data-id="search"] .ct-icon, header#header [data-id="account"] .ct-icon, header#header [data-id="cart"] .ct-icon { transition: transform .2s ease, color .2s ease; }
header#header [data-id="search"]:hover .ct-icon, header#header [data-id="account"]:hover .ct-icon, header#header [data-id="cart"]:hover .ct-icon { transform: translateY(-2px) scale(1.1); color: var(--lpc-primary); }

/* ===== Conteneur & sections ===== */
.lpc-container { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.lpc-section { padding: 56px 0; }
.lpc-section--alt { background: var(--lpc-bg); }
.lpc-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 28px; flex-wrap: wrap; }
.lpc-section__head h2 { font-size: clamp(24px, 3vw, 34px); margin: 0; line-height: 1.15; }
.lpc-section__head p { margin: 6px 0 0; color: var(--lpc-muted); font-size: 15px; }
.lpc-section__link { font-weight: 700; color: var(--lpc-primary); text-decoration: none; white-space: nowrap; }
.lpc-section__link:hover { color: var(--lpc-primary-dark); }
.lpc-kicker { display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lpc-primary); margin-bottom: 8px; }

/* ===== Boutons ===== */
.lpc-btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 26px; border-radius: 12px; font-weight: 700; font-size: 15px; text-decoration: none !important; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; cursor: pointer; border: 0; }
.lpc-btn--primary { background: var(--lpc-grad); color: #fff !important; box-shadow: 0 8px 20px rgba(21, 101, 240, .35); }
.lpc-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(21, 101, 240, .45); }
.lpc-btn--ghost { background: rgba(255,255,255,.1); color: #fff !important; border: 1.5px solid rgba(255,255,255,.45); backdrop-filter: blur(4px); }
.lpc-btn--ghost:hover { background: rgba(255,255,255,.2); transform: translateY(-2px); }
.lpc-btn--dark { background: var(--lpc-navy); color: #fff !important; }
.lpc-btn--dark:hover { background: var(--lpc-navy-2); transform: translateY(-2px); }

/* ===== HERO SLIDER ===== */
.lpc-hero { position: relative; overflow: hidden; background: var(--lpc-grad-dark); color: #fff; border-radius: 0; }
.lpc-hero__track { position: relative; min-height: 480px; }
.lpc-slide { position: absolute; inset: 0; display: flex; align-items: center; opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility .7s; }
.lpc-slide.is-active { opacity: 1; visibility: visible; position: relative; }
.lpc-slide__inner { display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: center; width: 100%; padding: 56px 48px; }
.lpc-slide__badge { display: inline-block; background: rgba(255, 106, 0, .15); color: #FFB37E; border: 1px solid rgba(255, 106, 0, .4); padding: 6px 14px; border-radius: 100px; font-size: 13px; font-weight: 700; margin-bottom: 18px; }
.lpc-slide__badge--blue { background: rgba(77, 141, 255, .15); color: #9CC0FF; border-color: rgba(77, 141, 255, .4); }
.lpc-slide h2 { color: #fff; font-size: clamp(30px, 4.6vw, 52px); line-height: 1.08; margin: 0 0 16px; }
.lpc-slide h2 .grad { background: linear-gradient(90deg, #4D8DFF, #9CC0FF); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.lpc-slide p { color: rgba(255,255,255,.78); font-size: 17px; max-width: 480px; margin: 0 0 28px; line-height: 1.6; }
.lpc-slide__cta { display: flex; gap: 14px; flex-wrap: wrap; }
.lpc-slide__visual { position: relative; text-align: center; }
.lpc-slide__visual img { max-height: 380px; width: auto; max-width: 100%; filter: drop-shadow(0 30px 50px rgba(0,0,0,.45)); border-radius: 14px; }
.lpc-slide__glow { position: absolute; inset: 10% 5%; background: radial-gradient(closest-side, rgba(21,101,240,.45), transparent 70%); z-index: 0; pointer-events: none; }
.lpc-slide__visual img { position: relative; z-index: 1; }

/* Animations d'entrée du slide actif */
.lpc-slide.is-active .lpc-slide__badge,
.lpc-slide.is-active h2,
.lpc-slide.is-active p,
.lpc-slide.is-active .lpc-slide__cta { animation: lpcUp .7s cubic-bezier(.2,.7,.3,1) both; }
.lpc-slide.is-active h2 { animation-delay: .08s; }
.lpc-slide.is-active p { animation-delay: .16s; }
.lpc-slide.is-active .lpc-slide__cta { animation-delay: .24s; }
.lpc-slide.is-active .lpc-slide__visual { animation: lpcZoom .9s cubic-bezier(.2,.7,.3,1) both .1s; }
@keyframes lpcUp { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
@keyframes lpcZoom { from { opacity: 0; transform: scale(.92); } to { opacity: 1; transform: none; } }

/* Navigation slider (avec barre de progression) */
.lpc-hero__dots { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); display: flex; gap: 10px; z-index: 5; }
.lpc-hero__dots button { position: relative; overflow: hidden; width: 28px; height: 5px; border-radius: 4px; border: 0; background: rgba(255,255,255,.28); cursor: pointer; transition: background .3s, width .3s; padding: 0; }
.lpc-hero__dots button.is-active { width: 52px; background: rgba(255,255,255,.28); }
.lpc-hero__dots button.is-active::after { content: ""; position: absolute; inset: 0; border-radius: 4px; background: #fff; transform-origin: left; animation: lpcProgress 6.5s linear forwards; }
html[dir="rtl"] .lpc-hero__dots button.is-active::after { transform-origin: right; }
@keyframes lpcProgress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.lpc-hero:hover .lpc-hero__dots button.is-active::after { animation-play-state: paused; }

/* Flottement doux du visuel actif */
.lpc-slide.is-active .lpc-slide__visual img { animation: lpcFloat 6s ease-in-out 1.2s infinite alternate; }
@keyframes lpcFloat { from { translate: 0 0; } to { translate: 0 -12px; } }
.lpc-slide__badge svg { vertical-align: -2.5px; margin-inline-end: 5px; }
.lpc-hero__arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 5; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.08); color: #fff; font-size: 20px; cursor: pointer; transition: background .25s; display: flex; align-items: center; justify-content: center; backdrop-filter: blur(4px); }
.lpc-hero__arrow:hover { background: rgba(255,255,255,.22); }
.lpc-hero__arrow--prev { left: 18px; }
.lpc-hero__arrow--next { right: 18px; }

/* ===== Bandeau avantages ===== */
.lpc-perks { background: #fff; border-bottom: 1px solid var(--lpc-border); }
.lpc-perks__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding: 26px 0; }
.lpc-perk { display: flex; align-items: center; gap: 14px; }
.lpc-perk__icon { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 13px; background: rgba(21,101,240,.08); color: var(--lpc-primary); display: flex; align-items: center; justify-content: center; }
.lpc-perk b { display: block; font-size: 15px; color: var(--lpc-navy); }
.lpc-perk span { font-size: 13px; color: var(--lpc-muted); }

/* ===== Grille catégories ===== */
.lpc-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.lpc-cat { position: relative; display: block; background: var(--lpc-card); border: 1px solid var(--lpc-border); border-radius: var(--lpc-radius); padding: 26px 22px; text-decoration: none !important; transition: transform .25s ease, box-shadow .25s ease, border-color .25s; overflow: hidden; }
.lpc-cat:hover { transform: translateY(-5px); box-shadow: var(--lpc-shadow-lg); border-color: rgba(21,101,240,.35); }
.lpc-cat::after { content: ""; position: absolute; inset: auto -30% -55% auto; width: 160px; height: 160px; background: radial-gradient(closest-side, rgba(21,101,240,.10), transparent); transition: transform .3s; }
.lpc-cat:hover::after { transform: scale(1.4); }
.lpc-cat__icon { width: 54px; height: 54px; border-radius: 14px; background: var(--lpc-grad); color: #fff; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; box-shadow: 0 8px 18px rgba(21,101,240,.3); transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease; }
.lpc-cat:hover .lpc-cat__icon { transform: scale(1.12) rotate(-5deg); box-shadow: 0 12px 26px rgba(21,101,240,.42); }
.lpc-cat h3 { font-size: 16.5px; margin: 0 0 6px; color: var(--lpc-navy); }
.lpc-cat span { display: inline-block; font-size: 13.5px; color: var(--lpc-primary); font-weight: 600; transition: padding-inline-start .2s ease; }
.lpc-cat:hover span { padding-inline-start: 5px; }

/* ===== Produits WooCommerce ===== */
.lpc-products ul.products li.product,
.woocommerce ul.products li.product {
  background: var(--lpc-card); border: 1px solid var(--lpc-border); border-radius: var(--lpc-radius);
  padding: 16px !important; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  overflow: hidden; cursor: pointer;
}
.lpc-products ul.products li.product:hover,
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: var(--lpc-shadow-lg); border-color: rgba(21,101,240,.3); }
.woocommerce ul.products li.product img { border-radius: 10px; transition: transform .35s cubic-bezier(.2,.7,.3,1); }
.woocommerce ul.products li.product:hover img { transform: scale(1.05); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15.5px; font-weight: 700; color: var(--lpc-navy); }
.woocommerce ul.products li.product .price { color: var(--lpc-primary); font-weight: 800; font-size: 16px; }
.woocommerce ul.products li.product .price del { color: var(--lpc-muted); font-weight: 500; opacity: .7; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale { background: var(--lpc-accent) !important; color: #fff; font-weight: 700; border-radius: 8px !important; padding: 4px 10px !important; min-width: 0 !important; min-height: 0 !important; line-height: 1.4 !important; }
.woocommerce ul.products li.product .button, .woocommerce a.button, .woocommerce button.button.alt {
  background: var(--lpc-primary) !important; color: #fff !important; border-radius: 10px !important; font-weight: 700 !important; transition: background .2s, transform .2s;
}
.woocommerce ul.products li.product .button:hover, .woocommerce a.button:hover, .woocommerce button.button.alt:hover { background: var(--lpc-primary-dark) !important; transform: translateY(-1px); }

/* ===== Bannière promo ===== */
.lpc-promo { background: var(--lpc-grad-dark); border-radius: 22px; color: #fff; overflow: hidden; position: relative; }
.lpc-promo__inner { display: grid; grid-template-columns: 1.2fr .8fr; gap: 30px; align-items: center; padding: 46px 48px; position: relative; z-index: 1; }
.lpc-promo::before { content: ""; position: absolute; right: -120px; top: -120px; width: 380px; height: 380px; background: radial-gradient(closest-side, rgba(21,101,240,.5), transparent 70%); }
.lpc-promo h2 { color: #fff; font-size: clamp(24px, 3.4vw, 38px); margin: 0 0 10px; }
.lpc-promo p { color: rgba(255,255,255,.75); margin: 0 0 24px; }
.lpc-countdown { display: flex; gap: 12px; margin-bottom: 26px; }
.lpc-countdown div { background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.18); border-radius: 12px; min-width: 72px; padding: 10px 8px; text-align: center; backdrop-filter: blur(4px); }
.lpc-countdown b { display: block; font-size: 26px; font-weight: 800; color: #fff; font-variant-numeric: tabular-nums; }
.lpc-countdown span { font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; color: rgba(255,255,255,.65); }

/* ===== Marques ===== */
.lpc-brands { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 38px; align-items: center; }
.lpc-brands span { font-size: 22px; font-weight: 800; letter-spacing: .04em; color: #ABB8CC; transition: color .25s, transform .25s; cursor: default; font-family: "Inter", sans-serif; }
.lpc-brands span:hover { color: var(--lpc-navy); transform: translateY(-2px); }

/* ===== Avis clients ===== */
.lpc-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.lpc-review { background: var(--lpc-card); border: 1px solid var(--lpc-border); border-radius: var(--lpc-radius); padding: 26px; box-shadow: var(--lpc-shadow); }
.lpc-review__stars { color: #F8B500; font-size: 16px; letter-spacing: 2px; margin-bottom: 12px; }
.lpc-review p { color: var(--lpc-ink); font-size: 14.5px; line-height: 1.65; margin: 0 0 16px; }
.lpc-review b { color: var(--lpc-navy); font-size: 14px; display: block; }
.lpc-review small { color: var(--lpc-muted); }

/* ===== Footer riche ===== */
.lpc-footer { background: var(--lpc-navy); color: rgba(255,255,255,.72); padding: 56px 0 40px; margin-top: 0; }
.lpc-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.1fr; gap: 36px; }
.lpc-footer__logo { max-width: 170px; height: auto; margin-bottom: 16px; background: #fff; padding: 8px 12px; border-radius: 10px; }
.lpc-footer h4 { color: #fff; font-size: 15px; text-transform: uppercase; letter-spacing: .06em; margin: 0 0 18px; }
.lpc-footer p { font-size: 14px; line-height: 1.7; }
.lpc-footer__delivery { color: #9CC0FF; font-weight: 600; }
.lpc-footer__links { list-style: none; margin: 0; padding: 0; }
.lpc-footer__links li { margin-bottom: 11px; font-size: 14px; }
.lpc-footer__links a { color: rgba(255,255,255,.72); text-decoration: none; transition: color .2s, padding .2s; }
.lpc-footer__links a:hover { color: #4D8DFF; }
footer.ct-footer { background: #0D1424; }
footer.ct-footer [data-row] > div { color: rgba(255,255,255,.5); }

/* ===== Labels produits (garantie, livraison, stock, nouveau) ===== */
.lpc-flags { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 6px; }
.lpc-flag { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 600; padding: 4px 9px; border-radius: 100px; border: 1px solid; line-height: 1.2; }
.lpc-flag svg { flex: 0 0 13px; }
.lpc-flag.is-stock    { color: #0F8A3D; border-color: #BBE5C8; background: #F0FAF3; }
.lpc-flag.is-freeship { color: #0F8A3D; border-color: #BBE5C8; background: #F0FAF3; }
.lpc-flag.is-ship     { color: #5B6B82; border-color: #E3EAF5; background: #F7F9FD; }
.lpc-flag.is-warranty { color: #0E4FC4; border-color: #C7DBFF; background: #F0F6FF; }
.lpc-flag.is-new      { color: #7C3AED; border-color: #DDD0FA; background: #F6F1FE; }
.lpc-flags--single { margin: 4px 0 12px; }
.lpc-flags--single .lpc-flag { font-size: 12.5px; padding: 6px 12px; }

/* ===== Specs clés avec icônes (fiche produit) ===== */
.lpc-specs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 14px 0 8px; }
.lpc-spec { display: flex; gap: 11px; align-items: center; background: var(--lpc-bg); border: 1px solid var(--lpc-border); border-radius: 12px; padding: 10px 13px; transition: border-color .2s ease, transform .2s ease; }
.lpc-spec:hover { border-color: rgba(21,101,240,.35); transform: translateY(-1px); }
.lpc-spec svg { color: var(--lpc-primary); flex: 0 0 20px; }
.lpc-spec small { display: block; font-size: 10.5px; font-weight: 700; color: var(--lpc-muted); text-transform: uppercase; letter-spacing: .05em; }
.lpc-spec b { font-size: 13.5px; color: var(--lpc-navy); line-height: 1.3; }
@media (max-width: 560px) { .lpc-specs { grid-template-columns: 1fr; } }

/* ===== Bouton Commander via WhatsApp ===== */
.lpc-btn-wa { display: flex; width: 100%; align-items: center; justify-content: center; gap: 9px; margin-top: 12px; padding: 13px; border-radius: 12px; border: 1.5px solid #25D366; color: #128C4B !important; font-weight: 700; font-size: 15px; text-decoration: none !important; transition: background .2s ease, transform .2s ease; }
.lpc-btn-wa:hover { background: #F0FBF4; transform: translateY(-1px); }
.lpc-btn-wa svg { color: #25D366; }

/* ===== Barre d'achat sticky ===== */
.lpc-atc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; background: rgba(255,255,255,.95); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-top: 1px solid var(--lpc-border); box-shadow: 0 -8px 30px rgba(19,28,49,.12); transform: translateY(110%); transition: transform .3s ease; }
.lpc-atc.show { transform: none; }
.lpc-atc__inner { max-width: 1240px; margin: 0 auto; padding: 10px 24px; display: flex; align-items: center; gap: 14px; }
.lpc-atc img { width: 48px; height: 48px; object-fit: cover; border-radius: 9px; flex: 0 0 48px; }
.lpc-atc__name { font-weight: 700; color: var(--lpc-navy); font-size: 14.5px; flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lpc-atc .price { font-weight: 800; color: var(--lpc-primary); white-space: nowrap; font-size: 16px; }
.lpc-atc .price del { opacity: .55; font-weight: 500; font-size: 13px; }
.lpc-atc .price ins { text-decoration: none; }
.lpc-atc__btn { padding: 11px 22px; font-size: 14px; }
body.single-product .lpc-whatsapp { bottom: 88px; }
body.single-product .lpc-top { bottom: 152px; }
@media (max-width: 600px) { .lpc-atc img, .lpc-atc__name { display: none; } .lpc-atc__inner { justify-content: space-between; } }

/* ===== Cartes blog ===== */
.entry-card { border-radius: 16px; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.entry-card:hover { transform: translateY(-4px); box-shadow: var(--lpc-shadow-lg); }
.entry-card .entry-title a:hover { color: var(--lpc-primary); }

/* ===== Boutons : presse + curseur ===== */
.lpc-btn:active, .woocommerce a.button:active, .wpforms-container button[type="submit"]:active { transform: translateY(0) scale(.97) !important; }
.lpc-btn, .woocommerce a.button, .woocommerce button.button, .lpc-hero__dots button, .lpc-hero__arrow, .lpc-top { cursor: pointer; }

/* ===== Focus visible (clavier) ===== */
a:focus-visible, button:focus-visible, .lpc-btn:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid rgba(21,101,240,.5); outline-offset: 2px; border-radius: 6px; }

/* ===== Listes avec icônes SVG ===== */
.lpc-trust li { display: flex; align-items: center; gap: 11px; }
.lpc-trust li svg { color: var(--lpc-primary); flex: 0 0 18px; }
.lpc-footer__contact li { display: flex; align-items: center; gap: 10px; }
.lpc-footer__contact li svg { color: #4D8DFF; flex: 0 0 17px; }
.lpc-footer__delivery { display: flex; align-items: center; gap: 10px; }
.lpc-footer__delivery svg { color: #9CC0FF; flex: 0 0 17px; }
.lpc-contact-card svg { vertical-align: -4px; margin-inline-end: 8px; color: var(--lpc-primary); }
.entry-content ul li > svg { vertical-align: -4px; margin-inline-end: 8px; color: var(--lpc-primary); }

/* ===== Retour en haut ===== */
.lpc-top { position: fixed; bottom: 92px; right: 26px; z-index: 9998; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--lpc-border); background: #fff; color: var(--lpc-primary); display: flex; align-items: center; justify-content: center; box-shadow: var(--lpc-shadow-lg); opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .25s ease, transform .25s ease, background .2s ease, color .2s ease, visibility .25s; }
.lpc-top.show { opacity: 1; visibility: visible; transform: none; }
.lpc-top:hover { background: var(--lpc-primary); color: #fff; border-color: var(--lpc-primary); }
html[dir="rtl"] .lpc-top { right: auto; left: 26px; }

/* ===== Scrollbar premium ===== */
::-webkit-scrollbar { width: 11px; }
::-webkit-scrollbar-track { background: #EEF2F9; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #4D8DFF, #1565F0); border-radius: 8px; border: 2.5px solid #EEF2F9; }
::-webkit-scrollbar-thumb:hover { background: var(--lpc-primary-dark); }

/* ===== WhatsApp flottant ===== */
.lpc-whatsapp { position: fixed; bottom: 22px; right: 22px; z-index: 9999; width: 56px; height: 56px; border-radius: 50%; background: #25D366; color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 26px rgba(37, 211, 102, .45); transition: transform .2s ease; }
.lpc-whatsapp:hover { transform: scale(1.1); color: #fff; }
html[dir="rtl"] .lpc-whatsapp { right: auto; left: 22px; }

/* ===== Animations reveal au scroll ===== */
.lpc-reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1); }
.lpc-reveal.in-view { opacity: 1; transform: none; }
.lpc-reveal[data-delay="1"] { transition-delay: .1s; }
.lpc-reveal[data-delay="2"] { transition-delay: .2s; }
.lpc-reveal[data-delay="3"] { transition-delay: .3s; }
@media (prefers-reduced-motion: reduce) {
  .lpc-reveal { opacity: 1; transform: none; transition: none; }
  .lpc-slide.is-active *, .lpc-hero__dots button.is-active::after { animation: none !important; }
  .lpc-mi, .lpc-cat__icon, .woocommerce ul.products li.product img, header#header .default-logo { transition: none !important; }
}

/* ===== Page contact ===== */
.lpc-contact-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 8px 0 32px; }
.lpc-contact-card { background: var(--lpc-card); border: 1px solid var(--lpc-border); border-radius: 14px; padding: 20px; font-size: 15px; box-shadow: var(--lpc-shadow); }
.lpc-contact-card b { display: inline-block; margin-bottom: 6px; color: var(--lpc-navy); }
.lpc-contact-card p { margin: 0; color: var(--lpc-muted); font-size: 14px; }
.wpforms-container input[type="text"], .wpforms-container input[type="email"], .wpforms-container textarea { border-radius: 10px !important; border: 1.5px solid var(--lpc-border) !important; padding: 12px 14px !important; }
.wpforms-container button[type="submit"] { background: var(--lpc-primary) !important; color: #fff !important; border-radius: 10px !important; padding: 13px 30px !important; font-weight: 700 !important; border: 0 !important; }
@media (max-width: 768px) { .lpc-contact-grid { grid-template-columns: repeat(2, 1fr); } }

/* ===== Bandeau titre des pages/archives ===== */
body:not(.home) .hero-section { background: var(--lpc-grad-dark) !important; }
body:not(.home) .hero-section .page-title,
body:not(.home) .hero-section .entry-title,
body:not(.home) .hero-section h1 { color: #fff !important; }
body:not(.home) .hero-section .ct-breadcrumbs,
body:not(.home) .hero-section .ct-breadcrumbs a,
body:not(.home) .hero-section .ct-breadcrumbs span { color: rgba(255,255,255,.75) !important; }

/* ===== Fiche produit ===== */
.lpc-trust { list-style: none; margin: 22px 0 0; padding: 16px 18px; background: var(--lpc-bg); border: 1px solid var(--lpc-border); border-radius: 14px; }
.lpc-trust li { font-size: 14px; color: var(--lpc-ink); padding: 5px 0; }
.single-product div.product .woocommerce-product-gallery img { border-radius: 16px; }
.single-product div.product p.price { font-size: 30px; font-weight: 800; color: var(--lpc-primary); }
.single-product div.product p.price del { font-size: 20px; color: var(--lpc-muted); opacity: .65; }
.single-product div.product p.price ins { text-decoration: none; }
.single-product div.product form.cart .button { padding: 14px 34px; font-size: 16px; border-radius: 12px !important; }
.single-product div.product form.cart .quantity .qty { border-radius: 10px; border: 1.5px solid var(--lpc-border); }
.woocommerce-product-attributes { border-radius: 12px; overflow: hidden; border: 1px solid var(--lpc-border); }
.woocommerce-product-attributes th { background: var(--lpc-bg); color: var(--lpc-navy); font-weight: 700; width: 38%; }
.woocommerce-product-attributes th, .woocommerce-product-attributes td { padding: 12px 16px !important; border-bottom: 1px solid var(--lpc-border); }
.woocommerce-tabs ul.tabs li.active a { color: var(--lpc-primary) !important; }
.related.products > h2, .up-sells > h2 { font-size: 26px; font-weight: 800; color: var(--lpc-navy); }

/* ===== Page d'accueil : pleine largeur & ajustements ===== */
.lpc-bleed { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }
.home .entry-header, .home .page-title, .home .hero-section { display: none; }
.home .entry-content { margin-top: 0 !important; }
.home article, .home .entry-content > .lpc-bleed { margin-bottom: 0; }
.lpc-section > .woocommerce { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.lpc-promo--center .lpc-promo__inner { grid-template-columns: 1fr; text-align: center; }
.lpc-promo--center .lpc-countdown, .lpc-promo--center .lpc-slide__cta { justify-content: center; }
.lpc-perk__icon svg { width: 26px; height: 26px; }
.lpc-cat__icon svg { width: 28px; height: 28px; }
.lpc-promo__visual img { width: 100%; height: 280px; object-fit: cover; border-radius: 16px; box-shadow: var(--lpc-shadow-lg); }
.lpc-hero .lpc-container { position: relative; }

/* ===== RTL ===== */
html[dir="rtl"] .lpc-section__head { text-align: right; }
html[dir="rtl"] .lpc-hero__arrow--prev { left: auto; right: 18px; }
html[dir="rtl"] .lpc-hero__arrow--next { right: auto; left: 18px; }

/* ===== Responsive ===== */
@media (max-width: 1024px) {
  .lpc-cats { grid-template-columns: repeat(2, 1fr); }
  .lpc-perks__grid { grid-template-columns: repeat(2, 1fr); }
  .lpc-footer__grid { grid-template-columns: 1fr 1fr; }
  .lpc-reviews { grid-template-columns: 1fr; }
  .lpc-promo__inner { grid-template-columns: 1fr; padding: 36px 28px; }
}
@media (max-width: 768px) {
  .lpc-section { padding: 40px 0; }
  .lpc-slide__inner { grid-template-columns: 1fr; padding: 44px 0 64px; gap: 24px; text-align: center; }
  .lpc-slide p { margin-left: auto; margin-right: auto; }
  .lpc-slide__cta { justify-content: center; }
  .lpc-slide__visual img { max-height: 230px; }
  .lpc-hero__track { min-height: 560px; }
  .lpc-hero__arrow { display: none; }
  .lpc-countdown div { min-width: 60px; }
  .lpc-countdown b { font-size: 20px; }
}
@media (max-width: 560px) {
  .lpc-cats { grid-template-columns: 1fr; }
  .lpc-perks__grid { grid-template-columns: 1fr; gap: 14px; }
  .lpc-footer__grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   RETAIL V2 — refonte « vrai e-commerçant » (benchmark LDLC/Newegg/UltraPC)
   Densité, bordures 1px, radius 6/4, couleurs sémantiques, prix dominant
   ========================================================================== */
body {
  --lpc-radius: 6px;
  --lpc-border: #E2E5EA;
  --lpc-bg: #F4F5F7;
  --lpc-promo: #E1000F;
  --lpc-stock: #1E9E4A;
  --lpc-shadow: 0 0 0 rgba(0,0,0,0);
  --lpc-shadow-lg: 0 4px 12px rgba(19,28,49,.08);
  background: #F4F5F7;
}
.lpc-wrap { max-width: 1280px; margin: 0 auto; padding: 0 20px; }

/* --- Topbar navy --- */
.lpc-topbar { background: var(--lpc-navy); color: rgba(255,255,255,.85); font-size: 12px; }
.lpc-topbar .lpc-wrap { display: flex; justify-content: space-between; align-items: center; min-height: 32px; gap: 12px; }
.lpc-topbar a { color: rgba(255,255,255,.85); text-decoration: none; display: inline-flex; align-items: center; gap: 5px; }
.lpc-topbar a:hover { color: #fff; }
.lpc-topbar small { color: rgba(255,255,255,.5); }
.lpc-topbar__ship { display: inline-flex; align-items: center; gap: 6px; }
.lpc-topbar__right { display: inline-flex; gap: 18px; align-items: center; }
@media (max-width: 768px) { .lpc-topbar__ship { display: none; } .lpc-topbar .lpc-wrap { justify-content: center; } }

/* --- Barre principale : logo + recherche XXL + compte/panier --- */
.lpc-mainbar { background: #fff; border-bottom: 1px solid var(--lpc-border); }
.lpc-mainbar .lpc-wrap { display: flex; align-items: center; gap: 28px; min-height: 72px; }
.lpc-mainbar__logo img { height: 34px; width: auto; display: block; }
.lpc-search { flex: 1; display: flex; max-width: 640px; }
.lpc-search input[type="search"] { flex: 1; height: 44px; border: 2px solid var(--lpc-primary); border-inline-end: 0; border-radius: 6px 0 0 6px; padding: 0 16px; font-size: 14px; background: #fff; color: var(--lpc-ink); outline: none; }
html[dir="rtl"] .lpc-search input[type="search"] { border-radius: 0 6px 6px 0; }
.lpc-search input::placeholder { color: #9AA3B2; }
.lpc-search button { width: 52px; height: 44px; border: 0; background: var(--lpc-primary); color: #fff; border-radius: 0 6px 6px 0; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .15s ease; }
html[dir="rtl"] .lpc-search button { border-radius: 6px 0 0 6px; }
.lpc-search button:hover { background: var(--lpc-primary-dark); }
.lpc-mainbar__actions { display: flex; gap: 22px; }
.lpc-mainbar__act { display: flex; flex-direction: column; align-items: center; gap: 3px; font-size: 11.5px; font-weight: 600; color: var(--lpc-ink) !important; text-decoration: none !important; position: relative; }
.lpc-mainbar__act:hover { color: var(--lpc-primary) !important; }
.lpc-mainbar__cart .lpc-cart-count { position: absolute; top: -6px; inset-inline-end: 2px; min-width: 17px; height: 17px; border-radius: 50%; background: var(--lpc-promo); color: #fff; font-size: 10.5px; font-weight: 700; display: flex; align-items: center; justify-content: center; padding: 0 4px; }
@media (max-width: 999px) { .lpc-mainbar { display: none; } }
.lpc-offcanvas-search { padding: 14px 0; }
.lpc-offcanvas-search .lpc-search input[type="search"] { background: rgba(255,255,255,.95); }

/* --- Blocksy = nav catégories seule (desktop), compacte et bordée --- */
@media (min-width: 1000px) {
  header#header [data-row*="middle"] { background: #fff; min-height: 44px; }
  header#header [data-row*="middle"] > div { min-height: 44px !important; }
  header#header [data-id="menu"] .menu > li > a { font-size: 14px; font-weight: 600; padding-inline: 13px; }
  header#header [data-id="menu"] .menu > li > a::after { bottom: 4px; }
}
header#header [data-row*="middle"] { border-bottom: 1px solid var(--lpc-border); backdrop-filter: none; -webkit-backdrop-filter: none; }
/* « Promos » en rouge gras */
header#header .menu li.lpc-menu-promo > a,
header#header .menu > li > a[href*="promotions"] { color: var(--lpc-promo) !important; font-weight: 700; }
header#header .menu > li > a[href*="promotions"] .lpc-mi { color: var(--lpc-promo); }
header#header .sub-menu { border-radius: 6px; padding: 8px; min-width: 240px; }

/* --- Boutons : radius 4-6, sobres --- */
.lpc-btn, .woocommerce a.button, .woocommerce button.button, .wpforms-container button[type="submit"] { border-radius: 6px !important; }
.lpc-btn--primary { background: var(--lpc-primary); box-shadow: none; }
.lpc-btn--primary:hover { background: var(--lpc-primary-dark); box-shadow: none; transform: none; }

/* --- Sections v2 : denses, titres à gauche + « Tout voir › » --- */
.lpc-sec { max-width: 1280px; margin: 26px auto; padding: 0 20px; }
.lpc-sec__head { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.lpc-sec__head h2 { font-size: 22px; font-weight: 700; margin: 0; color: var(--lpc-navy); }
.lpc-sec__head .lpc-sec__more { font-size: 13px; font-weight: 600; color: var(--lpc-primary); text-decoration: none; white-space: nowrap; }
.lpc-sec__head .lpc-sec__more:hover { text-decoration: underline; }

/* --- Hero commercial compact : bannière + 2 tuiles --- */
.lpc-hero2 { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; margin-top: 18px; }
.lpc-hero2__banner { background: #fff; border: 1px solid var(--lpc-border); border-radius: 6px; display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; min-height: 340px; }
.lpc-hero2__txt { padding: 34px 36px; display: flex; flex-direction: column; justify-content: center; }
.lpc-hero2__kicker { color: var(--lpc-promo); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 10px; }
.lpc-hero2__txt h1 { font-size: clamp(22px, 2.4vw, 30px); line-height: 1.15; margin: 0 0 6px; color: var(--lpc-navy); }
.lpc-hero2__specs { font-size: 13.5px; color: var(--lpc-muted); margin: 0 0 16px; }
.lpc-hero2__price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.lpc-hero2__price b { font-size: 34px; font-weight: 800; color: var(--lpc-promo); }
.lpc-hero2__price del { font-size: 16px; color: var(--lpc-muted); }
.lpc-hero2__save { display: inline-block; background: #FDEBEC; color: var(--lpc-promo); font-size: 12.5px; font-weight: 700; padding: 4px 10px; border-radius: 3px; margin-bottom: 18px; align-self: flex-start; }
.lpc-hero2__img { position: relative; min-height: 240px; }
.lpc-hero2__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lpc-hero2__tiles { display: grid; grid-template-rows: 1fr 1fr; gap: 16px; }
.lpc-tile { border-radius: 6px; border: 1px solid var(--lpc-border); padding: 22px 24px; display: flex; flex-direction: column; justify-content: center; gap: 6px; text-decoration: none !important; transition: transform .15s ease, box-shadow .15s ease; position: relative; overflow: hidden; }
.lpc-tile:hover { transform: translateY(-2px); box-shadow: var(--lpc-shadow-lg); }
.lpc-tile b { font-size: 16.5px; }
.lpc-tile span { font-size: 13px; }
.lpc-tile--navy { background: var(--lpc-navy); }
.lpc-tile--navy b { color: #fff; }
.lpc-tile--navy span { color: rgba(255,255,255,.65); }
.lpc-tile--red { background: #FFF3F3; border-color: #FFD9D9; }
.lpc-tile--red b { color: var(--lpc-promo); }
.lpc-tile--red span { color: #8A4A4A; }
.lpc-tile .lpc-tile__go { font-size: 12.5px; font-weight: 700; margin-top: 4px; color: var(--lpc-primary); }
.lpc-tile--navy .lpc-tile__go { color: #9CC0FF; }
.lpc-tile--red .lpc-tile__go { color: var(--lpc-promo); }
@media (max-width: 1024px) { .lpc-hero2 { grid-template-columns: 1fr; } .lpc-hero2__tiles { grid-template-rows: none; grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .lpc-hero2__banner { grid-template-columns: 1fr; } .lpc-hero2__img { min-height: 200px; } .lpc-hero2__tiles { grid-template-columns: 1fr; } }

/* --- Ventes flash : seule section teintée --- */
.lpc-flash { background: #FFF6F6; border: 1px solid #FFD9D9; border-radius: 6px; padding: 18px 20px 8px; }
.lpc-flash .lpc-sec__head { margin-bottom: 6px; }
.lpc-flash .lpc-sec__head h2 { color: var(--lpc-promo); }
.lpc-count-chip { display: inline-flex; align-items: center; gap: 7px; background: var(--lpc-promo); color: #fff; border-radius: 4px; padding: 5px 12px; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.lpc-count-chip .lpc-countdown { display: inline-flex; gap: 4px; margin: 0; }
.lpc-count-chip .lpc-countdown div { background: none; border: 0; min-width: 0; padding: 0; display: inline-flex; gap: 2px; backdrop-filter: none; }
.lpc-count-chip .lpc-countdown b { font-size: 13px; color: #fff; font-weight: 700; }
.lpc-count-chip .lpc-countdown b::after { content: attr(data-u); margin-inline-start: 1px; }
.lpc-count-chip .lpc-countdown span { display: none; }

/* --- Cartes produit v2 : retail strict --- */
.woocommerce ul.products { gap: 16px 16px; }
.lpc-products ul.products li.product, .woocommerce ul.products li.product { border-radius: 6px; padding: 12px !important; transition: transform .15s ease, box-shadow .15s ease; }
.lpc-products ul.products li.product:hover, .woocommerce ul.products li.product:hover { transform: translateY(-2px); box-shadow: var(--lpc-shadow-lg); border-color: var(--lpc-border); }
.woocommerce ul.products li.product img { border-radius: 4px; }
.lpc-card-brand { display: block; font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--lpc-muted); margin: 8px 0 2px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px; font-weight: 600; line-height: 1.35; color: var(--lpc-navy); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 38px; padding-top: 2px; }
.woocommerce ul.products li.product .price { font-size: 20px; font-weight: 800; color: var(--lpc-navy); display: flex; flex-direction: column-reverse; gap: 0; line-height: 1.2; }
.woocommerce ul.products li.product .price ins { color: var(--lpc-promo); font-weight: 800; }
.woocommerce ul.products li.product .price del { font-size: 13px; font-weight: 500; color: var(--lpc-muted); }
.lpc-card-stock { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; margin-top: 4px; }
.lpc-card-stock i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.lpc-card-stock.is-in { color: var(--lpc-stock); } .lpc-card-stock.is-in i { background: var(--lpc-stock); }
.lpc-card-stock.is-out { color: var(--lpc-muted); } .lpc-card-stock.is-out i { background: #B6BDC9; }
.woocommerce ul.products li.product .button { display: block; width: 100%; text-align: center; margin-top: 10px; padding: 10px 0 !important; font-size: 13px !important; border-radius: 4px !important; }
.woocommerce span.onsale, .woocommerce ul.products li.product .onsale { background: var(--lpc-promo) !important; border-radius: 3px !important; padding: 4px 9px !important; font-size: 12px; }
.lpc-badge-new { position: absolute; top: 22px; inset-inline-start: 22px; z-index: 3; background: var(--lpc-primary); color: #fff; font-size: 11px; font-weight: 700; padding: 4px 9px; border-radius: 3px; letter-spacing: .04em; }
.woocommerce ul.products li.product { position: relative; }

/* --- Catégories compactes --- */
.lpc-cats2 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.lpc-cats2 a { display: flex; align-items: center; gap: 13px; background: #fff; border: 1px solid var(--lpc-border); border-radius: 6px; padding: 16px; text-decoration: none !important; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.lpc-cats2 a:hover { transform: translateY(-2px); box-shadow: var(--lpc-shadow-lg); border-color: rgba(21,101,240,.4); }
.lpc-cats2 .ico { width: 40px; height: 40px; border-radius: 6px; background: #EEF4FF; color: var(--lpc-primary); display: flex; align-items: center; justify-content: center; flex: 0 0 40px; }
.lpc-cats2 .ico svg { width: 21px; height: 21px; }
.lpc-cats2 b { display: block; font-size: 14px; font-weight: 600; color: var(--lpc-navy); line-height: 1.25; }
.lpc-cats2 small { font-size: 12px; color: var(--lpc-muted); }
@media (max-width: 900px) { .lpc-cats2 { grid-template-columns: repeat(2, 1fr); } }

/* --- Bannière intermédiaire --- */
.lpc-midbanner { background: var(--lpc-navy); border-radius: 6px; color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 28px; flex-wrap: wrap; }
.lpc-midbanner b { font-size: 17px; }
.lpc-midbanner span { color: rgba(255,255,255,.7); font-size: 13.5px; }
.lpc-midbanner .lpc-btn { padding: 11px 22px; font-size: 14px; }

/* --- Services nommés --- */
.lpc-services { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.lpc-services a { background: #fff; border: 1px solid var(--lpc-border); border-radius: 6px; padding: 18px; display: flex; gap: 13px; align-items: flex-start; text-decoration: none !important; transition: border-color .15s ease, box-shadow .15s ease; }
.lpc-services a:hover { border-color: rgba(21,101,240,.4); box-shadow: var(--lpc-shadow-lg); }
.lpc-services svg { color: var(--lpc-primary); flex: 0 0 22px; margin-top: 2px; }
.lpc-services b { display: block; font-size: 14px; color: var(--lpc-navy); margin-bottom: 3px; }
.lpc-services span { font-size: 12.5px; color: var(--lpc-muted); line-height: 1.45; }
@media (max-width: 900px) { .lpc-services { grid-template-columns: repeat(2, 1fr); } }

/* --- Guides (cartes horizontales) --- */
.lpc-guides { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.lpc-guides a { display: flex; gap: 14px; background: #fff; border: 1px solid var(--lpc-border); border-radius: 6px; padding: 12px; text-decoration: none !important; transition: box-shadow .15s ease, transform .15s ease; align-items: center; }
.lpc-guides a:hover { transform: translateY(-2px); box-shadow: var(--lpc-shadow-lg); }
.lpc-guides img { width: 110px; height: 76px; object-fit: cover; border-radius: 4px; flex: 0 0 110px; }
.lpc-guides b { display: block; font-size: 13.5px; font-weight: 600; color: var(--lpc-navy); line-height: 1.35; margin-bottom: 5px; }
.lpc-guides span { font-size: 12px; font-weight: 600; color: var(--lpc-primary); }
@media (max-width: 900px) { .lpc-guides { grid-template-columns: 1fr; } }

/* --- Marques sobres --- */
.lpc-brands2 { display: flex; flex-wrap: wrap; gap: 10px 34px; align-items: center; justify-content: space-between; background: #fff; border: 1px solid var(--lpc-border); border-radius: 6px; padding: 18px 28px; }
.lpc-brands2 span { font-size: 19px; font-weight: 800; letter-spacing: .04em; color: #B6BDC9; transition: color .15s ease; cursor: default; }
.lpc-brands2 span:hover { color: var(--lpc-navy); }

/* --- Recherches populaires (maillage SEO) --- */
.lpc-popular { background: #fff; border: 1px solid var(--lpc-border); border-radius: 6px; padding: 22px 26px; }
.lpc-popular h2 { font-size: 16px; margin: 0 0 14px; color: var(--lpc-navy); }
.lpc-popular__cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.lpc-popular b { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--lpc-muted); margin-bottom: 8px; }
.lpc-popular ul { list-style: none; margin: 0; padding: 0; }
.lpc-popular li { margin: 0 0 7px; }
.lpc-popular a { font-size: 13px; color: var(--lpc-ink); text-decoration: none; }
.lpc-popular a:hover { color: var(--lpc-primary); text-decoration: underline; }
@media (max-width: 900px) { .lpc-popular__cols { grid-template-columns: repeat(2, 1fr); } }

/* --- Réassurance pré-footer --- */
.lpc-rassure { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.lpc-rassure div { background: #fff; border: 1px solid var(--lpc-border); border-radius: 6px; padding: 16px 18px; display: flex; gap: 12px; align-items: center; }
.lpc-rassure svg { color: var(--lpc-primary); flex: 0 0 22px; }
.lpc-rassure b { display: block; font-size: 13.5px; color: var(--lpc-navy); }
.lpc-rassure span { font-size: 12px; color: var(--lpc-muted); }
@media (max-width: 900px) { .lpc-rassure { grid-template-columns: repeat(2, 1fr); } }

/* --- Footer bas (paiements + légal) --- */
.lpc-footer__bottom { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; border-top: 1px solid rgba(255,255,255,.12); margin-top: 36px; padding-top: 18px; font-size: 12.5px; color: rgba(255,255,255,.55); }
.lpc-footer__bottom b { color: rgba(255,255,255,.85); font-weight: 600; }

/* --- Sobriété : animations d'entrée neutralisées sur la home v2 --- */
.home .lpc-reveal { opacity: 1; transform: none; }

/* ==========================================================================
   SIMPLE V3 — surcouche premium inspirée de simple.ma
   Structure inchangée. Rondeurs généreuses, ombres douces, pilules,
   typo géométrique, reveals fluides. Bleu LPC conservé en couleur d'action.
   ========================================================================== */
body {
  --lpc-radius: 20px;
  --lpc-border: #ECEEF3;
  --lpc-shadow-lg: 0 18px 50px rgba(19, 28, 49, .10);
  background: #FBFBFD;
}
h1, h2, h3, h4, h5 { font-family: "Poppins", "Tajawal", -apple-system, sans-serif; letter-spacing: -.015em; }
html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3, html[dir="rtl"] h4 { font-family: "Tajawal", "Poppins", sans-serif; letter-spacing: 0; }

/* --- Nav : pilule flottante glassmorphique (desktop) --- */
@media (min-width: 1000px) {
  header#header { background: transparent; padding: 10px 20px 0; }
  header#header [data-row*="middle"] { max-width: 1240px; margin: 0 auto; border: 1px solid rgba(19, 28, 49, .06); border-radius: 100px; background: rgba(255, 255, 255, .78); backdrop-filter: blur(16px) saturate(160%); -webkit-backdrop-filter: blur(16px) saturate(160%); box-shadow: 0 10px 34px rgba(19, 28, 49, .07); min-height: 54px; }
  body.lpc-scrolled header#header [data-row*="middle"] { box-shadow: 0 14px 40px rgba(19, 28, 49, .13); }
  header#header [data-id="menu"] .menu > li > a::after { display: none; }
  header#header [data-id="menu"] .menu > li > a { border-radius: 100px; margin: 8px 1px; padding-block: 6px; transition: background .25s ease, color .2s ease; }
  header#header [data-id="menu"] .menu > li:hover > a,
  header#header [data-id="menu"] .menu > li.current-menu-item > a { background: rgba(21, 101, 240, .09); }
}

/* --- Barre principale : recherche pilule --- */
.lpc-mainbar { border-bottom: 0; }
.lpc-search { border: 2px solid var(--lpc-primary); border-radius: 100px; overflow: hidden; }
.lpc-search input[type="search"] { border: 0 !important; border-radius: 0 !important; }
.lpc-search button { border-radius: 0 !important; width: 56px; }

/* --- Boutons : pilules fluides --- */
.lpc-btn, .woocommerce a.button, .woocommerce button.button, .wpforms-container button[type="submit"],
.single-product div.product form.cart .button, .lpc-btn-wa, .lpc-atc__btn { border-radius: 100px !important; }
.lpc-btn--primary:hover { transform: translateY(-1px); box-shadow: 0 12px 30px rgba(21, 101, 240, .30); }
.woocommerce ul.products li.product .button { border-radius: 100px !important; transition: background .2s ease, transform .2s ease, box-shadow .2s ease; }
.woocommerce ul.products li.product .button:hover { box-shadow: 0 10px 24px rgba(21, 101, 240, .28); }

/* --- Titres de sections : point bleu signature --- */
.lpc-sec__head h2 { font-size: 26px; font-weight: 700; }
.lpc-sec__head h2::after { content: "."; color: var(--lpc-primary); }
.lpc-flash .lpc-sec__head h2::after { color: inherit; }

/* --- Hero : panneau sombre immersif arrondi --- */
.lpc-hero2__banner { border: 0; border-radius: 24px; background: linear-gradient(118deg, #0B1222 0%, #14213D 58%, #14418F 135%); box-shadow: 0 28px 80px rgba(11, 18, 34, .22); }
.lpc-hero2__txt h1 { color: #fff; }
.lpc-hero2__specs { color: rgba(255, 255, 255, .60); }
.lpc-hero2__kicker { color: #9CC0FF; }
.lpc-hero2__price b { color: #fff; }
.lpc-hero2__price del { color: rgba(255, 255, 255, .45); }
.lpc-hero2__save { background: rgba(255, 255, 255, .12); color: #fff; border: 1px solid rgba(255, 255, 255, .2); border-radius: 100px; backdrop-filter: blur(6px); }
.lpc-hero2__img::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #0F1830 0%, rgba(15, 24, 48, 0) 38%); pointer-events: none; }
html[dir="rtl"] .lpc-hero2__img::before { background: linear-gradient(-90deg, #0F1830 0%, rgba(15, 24, 48, 0) 38%); }
.lpc-tile { border: 0; border-radius: 20px; box-shadow: 0 12px 38px rgba(19, 28, 49, .08); }
.lpc-tile--navy { background: linear-gradient(125deg, #131C31, #1B2A4A); }
.lpc-tile:hover { transform: translateY(-3px); }

/* --- Cartes & panneaux : sans bordures dures, ombres douces --- */
.woocommerce ul.products li.product { border: 1px solid #F1F3F7; border-radius: 20px; padding: 16px !important; box-shadow: 0 8px 30px rgba(19, 28, 49, .05); }
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: 0 24px 60px rgba(19, 28, 49, .12); border-color: #F1F3F7; }
.lpc-cats2 a, .lpc-services a, .lpc-guides a, .lpc-rassure div, .lpc-popular, .lpc-brands2 { border: 1px solid #F1F3F7; border-radius: 18px; box-shadow: 0 6px 24px rgba(19, 28, 49, .04); }
.lpc-cats2 a:hover, .lpc-services a:hover, .lpc-guides a:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(19, 28, 49, .10); border-color: #F1F3F7; }
.lpc-cats2 .ico { border-radius: 14px; }
.lpc-flash { border-radius: 22px; border-color: #FFE3E3; }
.lpc-midbanner { border-radius: 22px; background: linear-gradient(118deg, #0B1222, #1B2A4A 70%, #14418F 140%); box-shadow: 0 20px 60px rgba(11, 18, 34, .18); }
.lpc-count-chip { border-radius: 100px; }
.lpc-badge-new, .woocommerce span.onsale, .woocommerce ul.products li.product .onsale { border-radius: 100px !important; padding: 5px 12px !important; }

/* --- Marques : bandeau défilant (marquee) --- */
.lpc-brands2 { overflow: hidden; }
.lpc-brands2 .lpc-marquee { display: flex; gap: 56px; align-items: center; animation: lpcMarquee 32s linear infinite; width: max-content; }
.lpc-brands2:hover .lpc-marquee { animation-play-state: paused; }
@keyframes lpcMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

html[dir="rtl"] .lpc-brands2 .lpc-marquee { animation-name: lpcMarqueeRtl; }
@keyframes lpcMarqueeRtl { from { transform: translateX(0); } to { transform: translateX(50%); } }

/* --- Reveals fluides au scroll --- */
.lpc-fx { opacity: 0; transform: translateY(30px); transition: opacity .85s cubic-bezier(.22, .61, .36, 1), transform .85s cubic-bezier(.22, .61, .36, 1); }
.lpc-fx.in-view { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .lpc-fx { opacity: 1; transform: none; transition: none; } .lpc-brands2 .lpc-marquee { animation: none; } }

/* --- Footer : panneau arrondi détaché --- */
.lpc-footer { border-radius: 28px 28px 0 0; margin-top: 28px; }

/* --- Topbar : raccord avec le fond clair --- */
.lpc-topbar { background: #0B1222; }

/* ==========================================================================
   PHASE 10 — popup panier, labels v2, cartes standardisées, polish pages
   ========================================================================== */

/* --- Modal « ajouté au panier » --- */
.lpc-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.lpc-modal[hidden] { display: none; }
.lpc-modal__backdrop { position: absolute; inset: 0; background: rgba(11, 18, 34, .45); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); opacity: 0; transition: opacity .25s ease; }
.lpc-modal.show .lpc-modal__backdrop { opacity: 1; }
.lpc-modal__box { position: relative; width: 100%; max-width: 680px; max-height: 88vh; overflow: auto; background: #fff; border-radius: 24px; padding: 28px; box-shadow: 0 40px 120px rgba(11, 18, 34, .35); opacity: 0; transform: translateY(26px) scale(.97); transition: opacity .3s cubic-bezier(.22,.61,.36,1), transform .3s cubic-bezier(.22,.61,.36,1); }
.lpc-modal.show .lpc-modal__box { opacity: 1; transform: none; }
body.lpc-modal-open { overflow: hidden; }
.lpc-modal__close { position: absolute; top: 16px; inset-inline-end: 16px; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--lpc-border); background: #fff; color: var(--lpc-muted); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .15s ease, color .15s ease; }
.lpc-modal__close:hover { background: var(--lpc-bg); color: var(--lpc-navy); }
.lpc-modal__head { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; padding-inline-end: 40px; }
.lpc-modal__check { width: 42px; height: 42px; border-radius: 50%; background: #E8F7EE; color: var(--lpc-stock); display: flex; align-items: center; justify-content: center; flex: 0 0 42px; }
.lpc-modal__img { width: 54px; height: 54px; object-fit: cover; border-radius: 12px; flex: 0 0 54px; }
.lpc-modal__head b { display: block; font-size: 16px; color: var(--lpc-navy); }
.lpc-modal__pname { font-size: 13px; color: var(--lpc-muted); }
.lpc-modal__actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-bottom: 6px; }
.lpc-modal__actions .lpc-btn { padding: 11px 22px; font-size: 14px; }
.lpc-btn--cartlink { background: var(--lpc-bg); color: var(--lpc-navy) !important; border: 1px solid var(--lpc-border); }
.lpc-btn--cartlink:hover { background: #ECEFF5; }
.lpc-modal__continue { background: none; border: 0; color: var(--lpc-muted); font-size: 13px; font-weight: 600; cursor: pointer; text-decoration: underline; }
.lpc-modal__continue:hover { color: var(--lpc-navy); }
.lpc-modal__recos h4 { font-size: 15px; margin: 18px 0 12px; color: var(--lpc-navy); }
.lpc-modal__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.lpc-reco { display: flex; flex-direction: column; gap: 6px; border: 1px solid #F1F3F7; border-radius: 14px; padding: 10px; }
.lpc-reco img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 10px; }
.lpc-reco__name { font-size: 12px; font-weight: 600; color: var(--lpc-navy); text-decoration: none; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 31px; }
.lpc-reco__price { font-size: 13px; font-weight: 800; color: var(--lpc-navy); }
.lpc-reco__price del { font-size: 11px; color: var(--lpc-muted); font-weight: 500; }
.lpc-reco__price ins { text-decoration: none; color: var(--lpc-promo); }
.lpc-reco__add { margin-top: auto; text-align: center; font-size: 12px !important; padding: 8px 0 !important; border-radius: 100px !important; background: #EEF4FF !important; color: var(--lpc-primary) !important; font-weight: 700 !important; }
.lpc-reco__add:hover { background: var(--lpc-primary) !important; color: #fff !important; }
.lpc-reco__add.added::after { display: none; }
@media (max-width: 640px) { .lpc-modal__grid { grid-template-columns: repeat(2, 1fr); } .lpc-modal__box { padding: 20px; } }

/* --- Labels v2 : badges nets et cohérents --- */
.woocommerce span.onsale, .woocommerce ul.products li.product .onsale {
  background: linear-gradient(135deg, #FF2D3C, #D90713) !important; color: #fff;
  font-size: 11.5px !important; font-weight: 800; letter-spacing: .02em;
  padding: 5px 12px !important; border-radius: 100px !important;
  box-shadow: 0 6px 16px rgba(217, 7, 19, .35); top: 14px !important; inset-inline-start: 14px !important; inset-inline-end: auto !important;
  min-width: 0 !important; min-height: 0 !important; line-height: 1.4 !important;
}
.lpc-badge-new { top: 14px; inset-inline-start: 14px; background: linear-gradient(135deg, #2F80ED, #0E4FC4); box-shadow: 0 6px 16px rgba(21, 101, 240, .35); padding: 5px 12px; border-radius: 100px; font-size: 11.5px; font-weight: 800; }
.lpc-card-stock { font-size: 11.5px; font-weight: 700; padding: 3px 10px 3px 8px; border-radius: 100px; margin-top: 6px; align-self: flex-start; }
.lpc-card-stock.is-in { background: #EAF8F0; }
.lpc-card-stock.is-out { background: #F3F4F7; }
.lpc-card-brand { font-size: 10.5px; letter-spacing: .09em; color: #93A0B4; margin: 10px 0 0; min-height: 14px; }
.lpc-flags--single .lpc-flag { border: 0; padding: 7px 14px; }
.lpc-flag.is-stock    { background: #EAF8F0; }
.lpc-flag.is-freeship { background: #EAF8F0; }
.lpc-flag.is-warranty { background: #EBF2FF; }
.lpc-flag.is-ship     { background: #F3F4F7; }

/* --- Cartes produits standardisées : zéro décalage --- */
.woocommerce ul.products li.product { display: flex; flex-direction: column; }
.woocommerce ul.products li.product > .woocommerce-LoopProduct-link { display: flex; flex-direction: column; order: 1; }
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px; font-weight: 600; line-height: 1.35; min-height: 40px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; padding: 3px 0 0; }
.woocommerce ul.products li.product .lpc-card-stock { order: 2; }
.woocommerce ul.products li.product .price { order: 3; min-height: 46px; margin: 4px 0 0 !important; justify-content: flex-end; }
.woocommerce ul.products li.product .button { order: 9; margin-top: 12px !important; }
/* lignes parasites (catégorie, étoiles vides) masquées pour un gabarit constant */
.woocommerce ul.products li.product .ct-woo-card-extra,
.woocommerce ul.products li.product .product_meta,
.woocommerce ul.products li.product .ct-product-category,
.woocommerce ul.products li.product .posted_in,
.woocommerce ul.products li.product .star-rating { display: none !important; }

/* --- Bandeau titre de pages : clair et premium (remplace le bandeau sombre) --- */
body:not(.home) .hero-section { background: transparent !important; padding: 30px 0 4px; }
body:not(.home) .hero-section .page-title,
body:not(.home) .hero-section .entry-title,
body:not(.home) .hero-section h1 { color: var(--lpc-navy) !important; font-size: clamp(26px, 3.4vw, 38px); font-weight: 700; }
body:not(.home) .hero-section .ct-breadcrumbs,
body:not(.home) .hero-section .ct-breadcrumbs a,
body:not(.home) .hero-section .ct-breadcrumbs span { color: var(--lpc-muted) !important; font-size: 12.5px; }

/* --- Fiche produit : panneau blanc arrondi --- */
.single-product .product .onsale { z-index: 5; }
.single-product div.product { background: #fff; border: 1px solid #F1F3F7; border-radius: 24px; padding: 28px; box-shadow: 0 10px 40px rgba(19, 28, 49, .05); }
@media (max-width: 768px) { .single-product div.product { padding: 16px; } }

/* --- Formulaires & comptes : champs adoucis --- */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], textarea, select { border-radius: 12px !important; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 10px 16px; border-radius: 100px; color: var(--lpc-ink); text-decoration: none; font-weight: 600; font-size: 14px; }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover { background: #EEF4FF; color: var(--lpc-primary); }

/* --- Archives boutique : colonnes aérées --- */
.woocommerce .products { row-gap: 18px; }
.lpc-atc { border-radius: 20px 20px 0 0; }

/* --- Cartes : ordre standardisé sur le markup réel Blocksy --- */
.woocommerce ul.products li.product > figure { order: 1; margin: 0; }
.woocommerce ul.products li.product > figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }
.woocommerce ul.products li.product > .lpc-card-brand { order: 2; }
.woocommerce ul.products li.product > .woocommerce-loop-product__title { order: 3; }
.woocommerce ul.products li.product > .price { order: 4; }
.woocommerce ul.products li.product > .lpc-card-stock { order: 5; margin-top: 8px; }
.woocommerce ul.products li.product > .entry-meta { display: none !important; }
.woocommerce ul.products li.product > .ct-woo-card-actions { order: 9; margin-top: auto; padding-top: 12px; display: flex; flex-direction: column; }
.woocommerce ul.products li.product .ct-woo-card-actions .button { margin-top: 0 !important; width: 100%; }
.woocommerce ul.products li.product .ct-woo-card-actions .added_to_cart { display: none !important; }

/* ==========================================================================
   STANDARDISATION FINALE — médias fixes, chips & boutons unifiés partout
   ========================================================================== */

/* --- Zone média STRICTEMENT identique (bat l'aspect-ratio inline de Blocksy) --- */
.woocommerce ul.products li.product > figure { height: 200px; position: relative; }
.woocommerce ul.products li.product > figure .ct-media-container { display: block; width: 100%; height: 100% !important; border-radius: 14px; overflow: hidden; }
.woocommerce ul.products li.product > figure img { width: 100% !important; height: 100% !important; object-fit: cover; aspect-ratio: auto !important; border-radius: 0; }

/* --- Slots à hauteur fixe : marque / titre / prix / stock --- */
.woocommerce ul.products li.product > .lpc-card-brand { min-height: 15px; margin: 12px 0 0; }
.woocommerce ul.products li.product > .woocommerce-loop-product__title { height: 40px; min-height: 40px; margin: 2px 0 0; }
.woocommerce ul.products li.product > .price { height: 48px; min-height: 48px; margin: 6px 0 0 !important; }
.woocommerce ul.products li.product > .lpc-card-stock { margin: 8px 0 0; }

/* --- CHIPS unifiés (cartes + fiche produit : stock, garantie, livraison) --- */
.lpc-flag, .lpc-card-stock { display: inline-flex; align-items: center; gap: 6px; font-size: 12px !important; font-weight: 700; padding: 6px 13px !important; border-radius: 100px; border: 0 !important; line-height: 1.25; }
.lpc-flag svg { width: 14px; height: 14px; flex: 0 0 14px; }
.lpc-card-stock i { width: 7px; height: 7px; }
.lpc-flags--single { gap: 8px; }

/* --- BOUTONS unifiés sur tout le site (boutique, fiche, contact, blog, compte, checkout) --- */
.lpc-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit,
.wpforms-container button[type="submit"],
.wp-block-search__button, .search-form [type="submit"],
.wc-block-components-button,
.entry-button, .wp-block-button__link,
.single-product div.product form.cart .button {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 0 24px !important;
  font-size: 14px !important; font-weight: 700 !important;
  border-radius: 100px !important; line-height: 1.2 !important;
  transition: background .2s ease, transform .15s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product .ct-woo-card-actions .button { width: 100%; min-height: 42px; }
.wc-block-components-button { border-radius: 100px !important; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { min-height: 48px; }

/* --- Cartes blog : gabarit homogène --- */
.entry-card .ct-image-container { border-radius: 14px; overflow: hidden; }
.entry-card .entry-title { font-size: 17px; line-height: 1.35; }
.entry-card .entry-excerpt { font-size: 13.5px; color: var(--lpc-muted); }

/* --- Compactage vertical : bandeau titre + début de contenu (toutes pages) --- */
body:not(.home) .hero-section { min-height: 0 !important; height: auto !important; padding: 14px 0 16px !important; display: flex; flex-direction: column; justify-content: center; gap: 6px; }
body:not(.home) .hero-section > * { margin: 0 !important; min-height: 0 !important; }
body:not(.home) .hero-section .page-title, body:not(.home) .hero-section h1 { margin: 2px 0 0 !important; }
.ct-container[data-vertical-spacing] { padding-top: 22px !important; padding-bottom: 48px; }
.home .ct-container[data-vertical-spacing] { padding-top: 10px !important; }

/* --- Compactage : paddings internes du bandeau + écart nav→bandeau --- */
body:not(.home) .hero-section { padding: 6px 0 10px !important; }
body:not(.home) .hero-section > *, body:not(.home) .hero-section [class*="entry-header"], body:not(.home) .hero-section [class*="ct-container"] { padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; min-height: 0 !important; }
body:not(.home) .hero-section .ct-breadcrumbs { margin-bottom: 4px !important; }
.woocommerce-products-header + *, .woocommerce .woocommerce-result-count { margin-top: 0; }
.woocommerce-notices-wrapper:empty { display: none; }

/* --- Logos marques : bandeau & cartes --- */
.lpc-brands2 img { height: 26px; width: auto; opacity: .5; transition: opacity .2s ease; }
.lpc-brands2 img:hover { opacity: 1; }
.lpc-card-brand img { display: block; opacity: .7; }

/* --- Barre de filtres produits --- */
.lpc-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; background: #fff; border: 1px solid #F1F3F7; border-radius: 18px; box-shadow: 0 6px 24px rgba(19,28,49,.04); padding: 14px 16px; margin: 0 0 22px; }
.lpc-filters select { height: 42px; border: 1px solid var(--lpc-border); border-radius: 100px; padding: 0 38px 0 16px; font-size: 13.5px; font-weight: 600; color: var(--lpc-ink); background: #fff; cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235B6B82' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
html[dir="rtl"] .lpc-filters select { padding: 0 16px 0 38px; background-position: left 14px center; }
.lpc-filters select:focus { border-color: var(--lpc-primary); outline: none; }
.lpc-filters .lpc-btn { min-height: 42px; padding: 0 22px !important; font-size: 13.5px !important; }
.lpc-filters__reset { font-size: 12.5px; font-weight: 600; color: var(--lpc-muted); text-decoration: underline; }
.lpc-filters__reset:hover { color: var(--lpc-navy); }
@media (max-width: 768px) { .lpc-filters select { flex: 1 1 45%; } }

/* --- Barre de filtres : pleine largeur dans la toolbar Woo --- */
.lpc-filters { width: 100%; flex: 1 1 100%; }
.lpc-filters select { flex: 0 1 auto; min-width: 190px; }

/* --- Compactage : variante .ct-container-full (fiche produit & co) --- */
main > .ct-container-full, main > .ct-container { padding-top: 16px !important; }
body:not(.home) .hero-section { margin-bottom: 8px !important; }

/* --- Filtres : slider de prix dynamique + rangée ergonomique --- */
.lpc-filters { gap: 14px 18px; align-items: center; padding: 16px 20px; }
.lpc-range { display: flex; align-items: center; gap: 12px; flex: 1 1 300px; min-width: 280px; max-width: 420px; }
.lpc-range__label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--lpc-muted); }
.lpc-range__vals { display: flex; gap: 6px; align-items: baseline; font-size: 13px; color: var(--lpc-muted); white-space: nowrap; }
.lpc-range__vals b { color: var(--lpc-navy); font-weight: 700; font-variant-numeric: tabular-nums; }
.lpc-range__track { position: relative; flex: 1; height: 18px; min-width: 130px; }
.lpc-range__track::before { content: ""; position: absolute; top: 7px; left: 0; right: 0; height: 4px; border-radius: 4px; background: #E8EBF1; }
.lpc-range__fill { position: absolute; top: 7px; height: 4px; border-radius: 4px; background: var(--lpc-primary); }
.lpc-range__track input[type="range"] { position: absolute; inset: 0; width: 100%; margin: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; height: 18px; }
.lpc-range__track input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 2.5px solid var(--lpc-primary); box-shadow: 0 2px 8px rgba(21,101,240,.3); cursor: grab; }
.lpc-range__track input[type="range"]::-moz-range-thumb { pointer-events: auto; width: 15px; height: 15px; border-radius: 50%; background: #fff; border: 2.5px solid var(--lpc-primary); box-shadow: 0 2px 8px rgba(21,101,240,.3); cursor: grab; }
.lpc-range__track input[type="range"]::-webkit-slider-thumb:active { cursor: grabbing; transform: scale(1.15); }
.lpc-filters__actions { display: flex; align-items: center; gap: 14px; margin-inline-start: auto; }
@media (max-width: 900px) {
  .lpc-filters select { flex: 1 1 44%; min-width: 0; }
  .lpc-range { flex: 1 1 100%; max-width: none; }
  .lpc-filters__actions { margin-inline-start: 0; width: 100%; justify-content: space-between; }
}

/* --- Filtres : tout sur une rangée en desktop --- */
@media (min-width: 901px) {
  .lpc-filters select { flex: 0 1 240px; min-width: 170px; }
  .lpc-range { flex: 1 1 280px; }
}

/* --- Sélecteur de langue : toggle drapeaux ergonomique --- */
header#header .menu > li.lang-item > a { padding: 7px 9px !important; margin: 8px 1px; border-radius: 100px; opacity: .5; transition: opacity .2s ease, background .2s ease; }
header#header .menu > li.lang-item > a img { width: 22px; height: 15px; border-radius: 3px; box-shadow: 0 0 0 1px rgba(19,28,49,.12); display: block; }
header#header .menu > li.lang-item.current-lang > a { opacity: 1; background: rgba(21,101,240,.10); }
header#header .menu > li.lang-item > a:hover { opacity: 1; }
header#header .menu > li.lang-item + li.lang-item { margin-inline-start: -6px; }

/* --- Toggle langue texte --- */
header#header .menu > li.lang-item > a { font-size: 13px !important; font-weight: 700; padding: 6px 13px !important; color: var(--lpc-muted) !important; opacity: 1; }
header#header .menu > li.lang-item.current-lang > a { color: var(--lpc-primary) !important; }
header#header .menu > li.lang-item:not(.current-lang) > a:hover { color: var(--lpc-navy) !important; background: rgba(19,28,49,.05); }

/* ==========================================================================
   PHASE 19 — Dashboard client, mobile natif, comparateur, calculateur
   ========================================================================== */

/* ---------- DASHBOARD CLIENT ---------- */
.lpc-dash__hello { display:flex; justify-content:space-between; align-items:center; gap:16px; background:var(--lpc-grad-dark,linear-gradient(135deg,#131C31,#14418F)); color:#fff; border-radius:18px; padding:24px 28px; margin-bottom:18px; }
.lpc-dash__hello b { display:block; font-size:20px; }
.lpc-dash__hello span { color:rgba(255,255,255,.7); font-size:14px; }
.lpc-dash__stat { text-align:center; background:rgba(255,255,255,.1); border-radius:14px; padding:10px 20px; }
.lpc-dash__stat b { display:block; font-size:26px; font-weight:800; color:#fff; }
.lpc-dash__stat span { font-size:12px; color:rgba(255,255,255,.7); }
.lpc-dash__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:18px; }
.lpc-dash__card { display:flex; flex-direction:column; gap:6px; background:#fff; border:1px solid var(--lpc-border); border-radius:16px; padding:22px; text-decoration:none!important; transition:transform .15s,box-shadow .15s,border-color .15s; }
.lpc-dash__card:hover { transform:translateY(-3px); box-shadow:var(--lpc-shadow-lg); border-color:rgba(21,101,240,.4); }
.lpc-dash__card svg { color:var(--lpc-primary); }
.lpc-dash__card b { font-size:16px; color:var(--lpc-navy); }
.lpc-dash__card span { font-size:13px; color:var(--lpc-muted); }
.lpc-dash__last { background:#fff; border:1px solid var(--lpc-border); border-radius:16px; padding:20px 24px; margin-bottom:18px; }
.lpc-dash__last h3 { margin:0 0 14px; font-size:16px; }
.lpc-dash__order { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.lpc-dash__onum { font-weight:800; color:var(--lpc-navy); }
.lpc-badge-status { font-size:12px; font-weight:700; padding:4px 12px; border-radius:100px; background:#EEF4FF; color:var(--lpc-primary); }
.lpc-dash__odate { color:var(--lpc-muted); font-size:13px; }
.lpc-dash__ototal { font-weight:800; color:var(--lpc-navy); margin-inline-start:auto; }
.lpc-dash__help { display:flex; justify-content:space-between; align-items:center; gap:16px; background:#EAF8F0; border:1px solid #BBE5C8; border-radius:16px; padding:18px 24px; flex-wrap:wrap; }
.lpc-dash__help b { display:block; color:var(--lpc-navy); }
.lpc-dash__help span { font-size:13px; color:var(--lpc-muted); }
.lpc-btn--wa { background:#25D366; color:#fff!important; }
.lpc-btn--wa:hover { background:#1eb858; }
@media (max-width:768px){ .lpc-dash__grid{ grid-template-columns:1fr; } .lpc-dash__hello{ flex-direction:column; text-align:center; } }

/* ---------- COMPARATEUR ---------- */
.lpc-compare-toggle { display:inline-flex; align-items:center; gap:6px; width:100%; justify-content:center; margin-top:8px; padding:7px 0; background:none; border:1px solid var(--lpc-border); border-radius:100px; color:var(--lpc-muted); font-size:12px; font-weight:600; cursor:pointer; transition:all .15s; }
.lpc-compare-toggle:hover { border-color:var(--lpc-primary); color:var(--lpc-primary); }
.lpc-compare-toggle.is-on { background:var(--lpc-primary); border-color:var(--lpc-primary); color:#fff; }
.lpc-cmpbar { position:fixed; bottom:0; left:0; right:0; z-index:9995; background:#fff; border-top:1px solid var(--lpc-border); box-shadow:0 -8px 30px rgba(19,28,49,.12); display:flex; align-items:center; gap:16px; padding:14px 24px; max-width:1280px; margin:0 auto; }
.lpc-cmpbar__txt { font-weight:700; color:var(--lpc-navy); }
.lpc-cmpbar__clear { background:none; border:0; color:var(--lpc-muted); cursor:pointer; text-decoration:underline; font-size:13px; }
.lpc-cmpbar__go { margin-inline-start:auto; }
.lpc-cmp-table { width:100%; border-collapse:collapse; background:#fff; border-radius:14px; overflow:hidden; border:1px solid var(--lpc-border); }
.lpc-cmp-table th,.lpc-cmp-table td { padding:14px; border:1px solid var(--lpc-border); text-align:center; font-size:14px; vertical-align:middle; }
.lpc-cmp-table thead th a { text-decoration:none; color:var(--lpc-navy); font-size:13px; display:block; }
.lpc-cmp-table thead img { width:90px; height:auto; border-radius:8px; margin:0 auto 6px; display:block; }
.lpc-cmp-table td:first-child,.lpc-cmp-table th:first-child { text-align:left; font-weight:700; color:var(--lpc-muted); background:var(--lpc-bg); font-size:12px; text-transform:uppercase; }
.lpc-cmp-price td { font-size:18px; font-weight:800; color:var(--lpc-primary); }
.lpc-cmp-empty { text-align:center; color:var(--lpc-muted); padding:40px; }
@media (max-width:600px){ .lpc-cmp-table{ display:block; overflow-x:auto; } }

/* ---------- CALCULATEUR ---------- */
.lpc-calc { background:#fff; border:1px solid var(--lpc-border); border-radius:18px; padding:28px; }
.lpc-calc h3 { margin:0 0 6px; }
.lpc-calc > p { color:var(--lpc-muted); margin:0 0 20px; }
.lpc-calc__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-bottom:20px; }
.lpc-calc label { display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:600; color:var(--lpc-navy); }
.lpc-calc select { height:44px; border:1px solid var(--lpc-border); border-radius:12px; padding:0 14px; font-size:14px; background:#fff; }
.lpc-calc__out { display:flex; gap:14px; margin-bottom:18px; flex-wrap:wrap; }
.lpc-calc__out > div { flex:1; background:var(--lpc-bg); border-radius:14px; padding:16px 20px; min-width:180px; }
.lpc-calc__out span { display:block; font-size:12px; color:var(--lpc-muted); margin-bottom:4px; }
.lpc-calc__out b { font-size:28px; font-weight:800; color:var(--lpc-navy); }
.lpc-calc__reco { background:#EEF4FF!important; }
.lpc-calc__reco b { color:var(--lpc-primary); }
@media (max-width:600px){ .lpc-calc__grid{ grid-template-columns:1fr; } }

/* ---------- MOBILE NATIF ---------- */
@media (max-width:768px){
  /* Topbar : téléphone seul, centré, compact */
  .lpc-topbar .lpc-wrap { min-height:auto; padding:6px 14px; font-size:11px; }
  .lpc-topbar__right { gap:12px; }
  .lpc-topbar__right small { display:none; }
  /* Barre principale mobile : logo + actions, recherche dessous pleine largeur */
  .lpc-mainbar { display:block; padding:10px 0; }
  .lpc-mainbar .lpc-wrap { flex-wrap:wrap; gap:12px; min-height:auto; }
  .lpc-mainbar__logo { order:1; }
  .lpc-mainbar__actions { order:2; margin-inline-start:auto; gap:18px; }
  .lpc-search { order:3; flex:1 1 100%; max-width:none; }
  .lpc-search input[type="search"] { height:42px; font-size:16px; } /* 16px = pas de zoom iOS */
  /* Sections plus serrées */
  .lpc-sec { margin:18px auto; }
  .lpc-sec__head h2 { font-size:19px; }
  /* Hero mobile : empilé */
  .lpc-hero2 { grid-template-columns:1fr; gap:12px; }
  .lpc-hero2__banner { grid-template-columns:1fr; }
  .lpc-hero2__img { min-height:180px; order:-1; }
  .lpc-hero2__txt { padding:22px; }
  .lpc-hero2__tiles { grid-template-columns:1fr; }
  .lpc-hero2__price b { font-size:26px; }
  /* Grille produits : 2 colonnes nettes */
  .woocommerce ul.products { display:grid!important; grid-template-columns:1fr 1fr!important; gap:10px!important; }
  .woocommerce ul.products li.product { width:auto!important; margin:0!important; float:none!important; padding:10px!important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:13px; min-height:34px; }
  .woocommerce ul.products li.product .price { font-size:16px; min-height:38px; }
  .woocommerce ul.products li.product .button { font-size:12px!important; padding:9px 0!important; }
  .lpc-compare-toggle span { display:none; }
  /* Fiche produit : 1 colonne */
  .single-product div.product { padding:14px; }
  .single-product div.product .woocommerce-product-gallery,
  .single-product div.product .summary { width:100%!important; float:none!important; margin:0 0 16px!important; }
  .lpc-specs { grid-template-columns:1fr 1fr; }
  /* Modal & barres : ne pas se chevaucher */
  .lpc-cmpbar { flex-wrap:wrap; gap:10px; padding:12px 16px; }
  .lpc-cmpbar__go { margin-inline-start:0; flex:1; }
  .lpc-atc__inner { padding:8px 14px; }
  /* Filtres empilés */
  .lpc-filters { flex-direction:column; align-items:stretch; padding:14px; }
  .lpc-filters select, .lpc-range { width:100%; max-width:none; }
  /* Footer mobile */
  .lpc-footer__grid { grid-template-columns:1fr; gap:24px; text-align:center; }
  .lpc-footer__contact li, .lpc-footer__delivery { justify-content:center; }
  /* Réduire WhatsApp flottant pour ne pas gêner */
  .lpc-whatsapp { width:50px; height:50px; bottom:16px; }
  body.single-product .lpc-whatsapp { bottom:78px; }
}
@media (max-width:380px){
  .woocommerce ul.products { grid-template-columns:1fr!important; }
}

/* Correctifs : barre comparateur cachée quand vide + intro dashboard masquée */
.lpc-cmpbar[hidden] { display: none !important; }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { display: none; }

/* ---------- Dock flottant outils (hors menu) ---------- */
.lpc-dock { position:fixed; left:20px; bottom:22px; z-index:9994; display:flex; flex-direction:column; gap:12px; }
html[dir="rtl"] .lpc-dock { left:auto; right:20px; }
.lpc-dock__btn { position:relative; width:50px; height:50px; border-radius:16px; background:#fff; border:1px solid var(--lpc-border); color:var(--lpc-navy); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 22px rgba(19,28,49,.14); transition:transform .15s, background .15s, color .15s; }
.lpc-dock__btn:hover { transform:translateY(-3px); background:var(--lpc-primary); color:#fff; border-color:var(--lpc-primary); }
.lpc-dock__tip { position:absolute; left:60px; white-space:nowrap; background:var(--lpc-navy); color:#fff; font-size:12px; font-weight:600; padding:7px 12px; border-radius:8px; opacity:0; visibility:hidden; transform:translateX(-6px); transition:all .15s; pointer-events:none; }
.lpc-dock__tip::before { content:""; position:absolute; left:-5px; top:50%; transform:translateY(-50%); border:5px solid transparent; border-right-color:var(--lpc-navy); }
html[dir="rtl"] .lpc-dock__tip { left:auto; right:60px; transform:translateX(6px); }
html[dir="rtl"] .lpc-dock__tip::before { left:auto; right:-5px; border-right-color:transparent; border-left-color:var(--lpc-navy); }
.lpc-dock__btn:hover .lpc-dock__tip { opacity:1; visibility:visible; transform:none; }
.lpc-dock__count { position:absolute; top:-6px; right:-6px; min-width:18px; height:18px; border-radius:50%; background:var(--lpc-promo); color:#fff; font-size:10.5px; font-weight:700; display:flex; align-items:center; justify-content:center; padding:0 4px; }
html[dir="rtl"] .lpc-dock__count { right:auto; left:-6px; }
@media (max-width:768px){ .lpc-dock { left:14px; bottom:16px; } .lpc-dock__btn { width:44px; height:44px; border-radius:14px; } .lpc-dock__tip { display:none; } }

/* Dashboard : masquer salutation + intro WooCommerce par défaut */
.lpc-dashboard .woocommerce-MyAccount-content > p { display: none; }
.lpc-dashboard .woocommerce-MyAccount-content .lpc-dash p { display: revert; }

/* ---------- Page contact premium ---------- */
.lpc-contact2 { display:grid; grid-template-columns:380px 1fr; gap:20px; align-items:start; }
.lpc-contact2__side { background:linear-gradient(160deg,#131C31,#14418F); border-radius:20px; padding:30px 28px; color:#fff; position:sticky; top:120px; }
.lpc-contact2__side h2 { color:#fff; font-size:22px; margin:0 0 8px; }
.lpc-contact2__side > p { color:rgba(255,255,255,.7); font-size:14px; margin:0 0 22px; line-height:1.6; }
.lpc-contact2__wa { display:flex; align-items:center; gap:12px; background:rgba(37,211,102,.12); border:1px solid rgba(37,211,102,.4); border-radius:14px; padding:14px 16px; text-decoration:none!important; margin-bottom:22px; transition:background .15s; flex-wrap:wrap; }
.lpc-contact2__wa:hover { background:rgba(37,211,102,.22); }
.lpc-contact2__wa .ic { width:42px; height:42px; border-radius:12px; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; flex:0 0 42px; }
.lpc-contact2__wa b { display:block; color:#fff; font-size:14.5px; }
.lpc-contact2__wa small { color:rgba(255,255,255,.6); font-size:12px; }
.lpc-contact2__wa em { margin-inline-start:auto; font-style:normal; color:#7BE3A4; font-size:12.5px; font-weight:700; }
.lpc-contact2__list { list-style:none; margin:0 0 20px; padding:0; display:flex; flex-direction:column; gap:14px; }
.lpc-contact2__list li { display:flex; gap:12px; align-items:center; }
.lpc-contact2__list svg { color:#9CC0FF; flex:0 0 18px; }
.lpc-contact2__list small { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:rgba(255,255,255,.5); }
.lpc-contact2__list a, .lpc-contact2__list b { color:#fff; font-size:14.5px; font-weight:600; text-decoration:none; }
.lpc-contact2__list a:hover { color:#9CC0FF; }
.lpc-contact2__trust { display:flex; flex-wrap:wrap; gap:8px; border-top:1px solid rgba(255,255,255,.12); padding-top:18px; }
.lpc-contact2__trust span { display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:600; color:rgba(255,255,255,.75); background:rgba(255,255,255,.08); border-radius:100px; padding:6px 11px; }
.lpc-contact2__form { background:#fff; border:1px solid #F1F3F7; border-radius:20px; padding:30px 32px; box-shadow:0 10px 40px rgba(19,28,49,.05); }
.lpc-contact2__form h2 { font-size:22px; margin:0 0 6px; }
.lpc-contact2__form > p { color:var(--lpc-muted); font-size:14px; margin:0 0 20px; }
.lpc-contact2__form .wpforms-container { margin:0; }
@media (max-width:900px) {
  .lpc-contact2 { grid-template-columns:1fr; }
  .lpc-contact2__side { position:static; }
  .lpc-contact2__form { padding:20px; }
}

/* ---------- Logo premium : header transparent + footer blanc ---------- */
.lpc-footer__logo { background: none !important; padding: 0 !important; border-radius: 0 !important; max-width: 180px; height: auto; opacity: .96; }
.lpc-mainbar__logo img { height: 36px; transition: opacity .15s ease; }
.lpc-mainbar__logo:hover img { opacity: .85; }
header#header .default-logo { background: none; }

/* ==========================================================================
   CHARTE FINALE — normalisation chips / boutons / menus (audit global)
   Tokens : pilule 100px · transitions 180ms cubic-bezier(.22,.61,.36,1)
   ========================================================================== */
body { --lpc-ease: cubic-bezier(.22,.61,.36,1); --lpc-dur: .18s; }

/* ---------- 1. CHIPS & LABELS : un seul composant ---------- */
.lpc-flag, .lpc-card-stock, .lpc-badge-status, .lpc-contact2__trust span {
  display: inline-flex; align-items: center; gap: 7px;
  height: 30px; padding: 0 13px !important;
  font-size: 12.5px !important; font-weight: 700; line-height: 1; letter-spacing: .01em;
  border-radius: 100px; border: 0 !important;
}
.lpc-flag svg, .lpc-card-stock svg { width: 15px; height: 15px; flex: 0 0 15px; }
.lpc-card-stock { height: 26px; font-size: 11.5px !important; padding: 0 11px !important; }
.lpc-card-stock i { width: 7px; height: 7px; }
/* Palette sémantique unique */
.lpc-flag.is-stock, .lpc-card-stock.is-in, .lpc-flag.is-freeship { color: #0F8A3D; background: #EAF8F0; }
.lpc-flag.is-warranty { color: #0E4FC4; background: #EBF2FF; }
.lpc-flag.is-ship { color: #5B6B82; background: #F3F4F7; }
.lpc-card-stock.is-out { color: #98A2B3; background: #F3F4F7; }
.lpc-flags--single { gap: 8px; margin: 6px 0 14px; }
/* Badges image (promo / nouveau) : même pilule, même ombre douce */
.woocommerce span.onsale, .woocommerce ul.products li.product .onsale, .lpc-badge-new {
  height: 26px; display: inline-flex; align-items: center;
  font-size: 11.5px !important; font-weight: 800; letter-spacing: .03em;
  padding: 0 12px !important; border-radius: 100px !important; line-height: 1 !important;
}

/* ---------- 2. BOUTONS : même ADN partout ---------- */
.lpc-btn, .lpc-btn--primary, .lpc-btn--cartlink, .lpc-btn--wa, .lpc-btn-wa,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.wpforms-container button[type="submit"], .wc-block-components-button,
.lpc-search button, .lpc-filters .lpc-btn, .lpc-reco__add, .lpc-atc__btn {
  transition: background var(--lpc-dur) var(--lpc-ease),
              color var(--lpc-dur) var(--lpc-ease),
              transform var(--lpc-dur) var(--lpc-ease),
              box-shadow var(--lpc-dur) var(--lpc-ease) !important;
  will-change: transform;
}
.lpc-btn:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.wpforms-container button[type="submit"]:hover, .wc-block-components-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(21, 101, 240, .25);
}
.lpc-btn:active, .woocommerce a.button:active, .woocommerce button.button:active,
.wpforms-container button[type="submit"]:active { transform: translateY(0) scale(.97); box-shadow: none; }
.lpc-btn--cartlink:hover { box-shadow: 0 6px 16px rgba(19, 28, 49, .12); }
.lpc-btn--wa:hover, .lpc-btn-wa:hover { box-shadow: 0 8px 20px rgba(37, 211, 102, .3); }
/* Quantité (fiche produit) */
.single-product div.product form.cart .quantity .qty { height: 44px; border-radius: 100px; border: 1.5px solid var(--lpc-border); text-align: center; font-weight: 700; transition: border-color var(--lpc-dur) var(--lpc-ease); }
.single-product div.product form.cart .quantity .qty:focus { border-color: var(--lpc-primary); outline: none; }
/* Pagination boutique */
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 8px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
  min-width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
  border-radius: 100px; border: 1px solid var(--lpc-border); background: #fff;
  font-weight: 700; font-size: 13.5px; color: var(--lpc-ink);
  transition: all var(--lpc-dur) var(--lpc-ease);
}
.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--lpc-primary); color: var(--lpc-primary); transform: translateY(-1px); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--lpc-primary); border-color: var(--lpc-primary); color: #fff; }

/* ---------- 3. MENUS : pilules cohérentes, fini le double langage ---------- */
/* Nav principale : hover = pilule douce (on retire le soulignement) */
header#header [data-id="menu"] .menu > li > a::after { display: none; }
header#header [data-id="menu"] .menu > li > a {
  border-radius: 100px; margin: 8px 2px; padding-block: 7px;
  transition: background var(--lpc-dur) var(--lpc-ease), color var(--lpc-dur) var(--lpc-ease);
}
header#header [data-id="menu"] .menu > li:hover > a { background: #F1F4FA; }
header#header [data-id="menu"] .menu > li.current-menu-item > a,
header#header [data-id="menu"] .menu > li.current-menu-ancestor > a { background: #EEF4FF; color: var(--lpc-primary) !important; }
header#header [data-id="menu"] .menu > li.lpc-menu-promo:hover > a,
header#header [data-id="menu"] .menu > li:hover > a[href*="promotions"] { background: #FDEBEC; }
.lpc-mi { transition: transform var(--lpc-dur) var(--lpc-ease); }
/* Sous-menus : panneau arrondi, items glissants */
header#header .sub-menu { border-radius: 16px !important; padding: 8px !important; border: 1px solid #F1F3F7 !important; box-shadow: 0 18px 44px rgba(19, 28, 49, .14) !important; }
header#header .sub-menu li > a { border-radius: 10px; padding: 9px 14px !important; font-size: 14px; transition: background var(--lpc-dur) var(--lpc-ease), color var(--lpc-dur) var(--lpc-ease), padding-inline-start var(--lpc-dur) var(--lpc-ease) !important; }
header#header .sub-menu li > a:hover { background: #EEF4FF; color: var(--lpc-primary) !important; padding-inline-start: 19px !important; }
/* Footer : liens fluides */
.lpc-footer__links a { transition: color var(--lpc-dur) var(--lpc-ease), padding-inline-start var(--lpc-dur) var(--lpc-ease); display: inline-block; }
.lpc-footer__links a:hover { padding-inline-start: 4px; }
/* Compte client : pilules nav */
.woocommerce-MyAccount-navigation li a { transition: background var(--lpc-dur) var(--lpc-ease), color var(--lpc-dur) var(--lpc-ease); }

/* ---------- 4. Cohérence flottants ---------- */
.lpc-whatsapp, .lpc-dock__btn, .lpc-top { transition: transform var(--lpc-dur) var(--lpc-ease), background var(--lpc-dur) var(--lpc-ease), color var(--lpc-dur) var(--lpc-ease), box-shadow var(--lpc-dur) var(--lpc-ease); }
.lpc-whatsapp:hover { transform: translateY(-3px) scale(1.05); }

/* ---------- 5. Mouvement réduit ---------- */
@media (prefers-reduced-motion: reduce) {
  .lpc-btn, .woocommerce a.button, header#header [data-id="menu"] .menu > li > a, .lpc-whatsapp, .lpc-dock__btn { transition: none !important; }
}

/* Dropdown : panneau BLANC (le thème démo imposait un fond sombre) */
header#header .sub-menu { background: #fff !important; }
header#header .sub-menu li > a { color: var(--lpc-ink) !important; background: transparent; }
header#header .sub-menu li > a:hover { color: var(--lpc-primary) !important; background: #EEF4FF; }

/* ---------- Confirmation de commande premium ---------- */
.woocommerce-order .woocommerce-thankyou-order-received { display: none; }
.lpc-thanks { margin-bottom: 28px; }
.lpc-thanks__hero { background: linear-gradient(160deg,#131C31,#14418F); border-radius: 22px; padding: 38px 34px; color: #fff; text-align: center; margin-bottom: 16px; }
.lpc-thanks__check { width: 64px; height: 64px; border-radius: 50%; background: #1E9E4A; color: #fff; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 16px; box-shadow: 0 10px 30px rgba(30,158,74,.4); }
.lpc-thanks__hero h2 { color: #fff; font-size: clamp(22px, 3vw, 30px); margin: 0 0 8px; }
.lpc-thanks__hero > p { color: rgba(255,255,255,.7); max-width: 520px; margin: 0 auto 22px; font-size: 14.5px; line-height: 1.6; }
.lpc-thanks__meta { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.lpc-thanks__meta span { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 14px; padding: 10px 20px; min-width: 120px; }
.lpc-thanks__meta small { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: rgba(255,255,255,.55); margin-bottom: 3px; }
.lpc-thanks__meta b { color: #fff; font-size: 16px; }
.lpc-thanks__meta .amount { color: #fff; }
.lpc-thanks__cod { display: inline-flex; align-items: center; gap: 9px; background: rgba(255,255,255,.1); border-radius: 100px; padding: 9px 18px; font-size: 13.5px; color: rgba(255,255,255,.85); margin-bottom: 18px; }
.lpc-thanks__cod .amount { color: #fff; font-weight: 700; }
.lpc-thanks__hero .lpc-btn--wa { background: #25D366; color: #fff !important; }
.lpc-thanks__timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 16px; }
.lpc-thanks__step { background: #fff; border: 1px solid var(--lpc-border); border-radius: 14px; padding: 14px; display: flex; align-items: center; gap: 10px; }
.lpc-thanks__step i { width: 28px; height: 28px; border-radius: 50%; background: #F3F4F7; color: var(--lpc-muted); font-style: normal; font-weight: 800; font-size: 13px; display: flex; align-items: center; justify-content: center; flex: 0 0 28px; }
.lpc-thanks__step span { font-size: 13px; font-weight: 600; color: var(--lpc-muted); }
.lpc-thanks__step.is-done { border-color: #BBE5C8; background: #F5FBF7; }
.lpc-thanks__step.is-done i { background: #1E9E4A; color: #fff; }
.lpc-thanks__step.is-done span { color: #0F8A3D; }
.lpc-thanks__next { background: #fff; border: 1px solid var(--lpc-border); border-radius: 16px; padding: 20px 24px; }
.lpc-thanks__next h3 { margin: 0 0 12px; font-size: 16px; }
.lpc-thanks__next ol { margin: 0; padding-inline-start: 20px; }
.lpc-thanks__next li { font-size: 14px; color: var(--lpc-ink); margin-bottom: 8px; line-height: 1.5; }
@media (max-width: 768px) { .lpc-thanks__timeline { grid-template-columns: 1fr 1fr; } .lpc-thanks__hero { padding: 26px 18px; } }
/* Détails de commande sous le héros */
.woocommerce-order .woocommerce-order-details, .woocommerce-order .woocommerce-customer-details { background: #fff; border: 1px solid var(--lpc-border); border-radius: 16px; padding: 22px 24px; margin-bottom: 16px; }
.woocommerce-order .woocommerce-order-details__title, .woocommerce-order .woocommerce-column__title { font-size: 17px; }
.woocommerce table.shop_table { border: 0; border-radius: 0; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: #F1F3F7; }

/* ---------- Checkout (blocs Woo) : panneaux premium ---------- */
.woocommerce-checkout .wc-block-checkout__form { background: #fff; border: 1px solid #F1F3F7; border-radius: 20px; padding: 26px; box-shadow: 0 10px 40px rgba(19,28,49,.04); }
.woocommerce-checkout .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block { background: #fff; border: 1px solid #F1F3F7; border-radius: 20px; padding: 8px 18px; box-shadow: 0 10px 40px rgba(19,28,49,.04); position: sticky; top: 130px; }
.wc-block-components-checkout-step__heading .wc-block-components-title { font-size: 17px !important; font-weight: 700; }
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__suggestions-container input { border-radius: 12px !important; border-color: var(--lpc-border) !important; }
.wc-block-components-radio-control__option { border-radius: 14px !important; }
.wc-block-components-radio-control__input:checked { border-color: var(--lpc-primary) !important; background: var(--lpc-primary) !important; }
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button { width: 100%; font-size: 15px !important; min-height: 52px; box-shadow: 0 10px 26px rgba(21,101,240,.3); }
@media (max-width: 768px) { .woocommerce-checkout .wc-block-checkout__form { padding: 14px; } }
.lpc-chk-trust { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.lpc-chk-trust span { font-size: 12px; font-weight: 600; color: var(--lpc-muted); background: var(--lpc-bg); border-radius: 100px; padding: 7px 14px; }

/* ---------- Panier (blocs Woo) : design premium ---------- */
.woocommerce-cart .wc-block-cart__main { background: #fff; border: 1px solid #F1F3F7; border-radius: 20px; padding: 10px 26px 18px; box-shadow: 0 10px 40px rgba(19,28,49,.04); }
.woocommerce-cart .wc-block-cart__sidebar { position: sticky; top: 130px; }
.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block { background: #fff; border: 1px solid #F1F3F7; border-radius: 20px; padding: 10px 18px; box-shadow: 0 10px 40px rgba(19,28,49,.04); }
.wc-block-cart-items__header { text-transform: uppercase; font-size: 11px !important; letter-spacing: .06em; color: var(--lpc-muted); }
.wc-block-cart-item__image img { border-radius: 14px; border: 1px solid #F1F3F7; }
.wc-block-cart-item__product .wc-block-components-product-name { font-weight: 700; font-size: 15px; color: var(--lpc-navy) !important; }
.wc-block-cart-item__prices .wc-block-components-product-price { font-weight: 800; }
.wc-block-components-sale-badge { background: #FDEBEC !important; color: #D90713 !important; border: 0 !important; border-radius: 100px !important; font-size: 11px !important; font-weight: 700 !important; padding: 4px 10px !important; }
.wc-block-cart-item__quantity .wc-block-components-quantity-selector { border-radius: 100px !important; border: 1.5px solid var(--lpc-border) !important; overflow: hidden; }
.wc-block-cart-item__quantity .wc-block-components-quantity-selector input { font-weight: 700; }
.wc-block-cart-item__remove-link { font-size: 12px !important; color: var(--lpc-muted) !important; transition: color var(--lpc-dur) var(--lpc-ease); }
.wc-block-cart-item__remove-link:hover { color: #D90713 !important; }
.wc-block-components-totals-item__value, .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-weight: 800; }
.wc-block-cart__submit-button { width: 100%; min-height: 52px; font-size: 15px !important; box-shadow: 0 10px 26px rgba(21,101,240,.3); }
/* Panier vide : état soigné */
.wp-block-woocommerce-empty-cart-block h2 { font-size: 24px; }
/* Barre livraison gratuite */
.lpc-freebar { background: #fff; border: 1px solid #F1F3F7; border-radius: 20px; padding: 16px 20px; margin-bottom: 14px; box-shadow: 0 10px 40px rgba(19,28,49,.04); }
.lpc-freebar__txt { font-size: 13.5px; font-weight: 600; color: var(--lpc-ink); margin-bottom: 10px; display: flex; align-items: center; gap: 8px; }
.lpc-freebar__txt b { color: var(--lpc-primary); }
.lpc-freebar.is-free .lpc-freebar__txt b { color: #0F8A3D; }
.lpc-freebar__track { height: 8px; border-radius: 100px; background: #EEF1F6; overflow: hidden; }
.lpc-freebar__fill { height: 100%; border-radius: 100px; background: linear-gradient(90deg, #4D8DFF, #1565F0); transition: width .4s var(--lpc-ease); }
.lpc-freebar.is-free .lpc-freebar__fill { background: linear-gradient(90deg, #34C871, #1E9E4A); }

/* ---------- CORRECTIFS NAVIGATION MOBILE ---------- */
@media (max-width: 999px) {
  /* Mainbar visible en mobile : logo + compte/panier, recherche en dessous */
  .lpc-mainbar { display: block; padding: 10px 0 12px; }
  .lpc-mainbar .lpc-wrap { flex-wrap: wrap; gap: 10px 12px; min-height: auto; }
  .lpc-mainbar__logo { order: 1; }
  .lpc-mainbar__logo img { height: 30px; }
  .lpc-mainbar__actions { order: 2; margin-inline-start: auto; gap: 16px; }
  .lpc-search { order: 3; flex: 1 1 100%; max-width: none; }
  .lpc-search input[type="search"] { height: 42px; font-size: 16px; }
  /* Header Blocksy mobile : SUPPRIMER le logo doublon, garder le burger seul */
  header#header .site-logo-container { display: none !important; }
  header#header [data-row*="middle"] { min-height: 46px; }
  header#header [data-row*="middle"] > div { min-height: 46px !important; }
}
@media (max-width: 768px) {
  /* Boutons cartes : le libellé tient dans la pilule (grille 2 colonnes) */
  .woocommerce ul.products li.product .button { padding: 0 8px !important; font-size: 12px !important; min-height: 38px; }
  /* Boutons longs : autoriser le retour à la ligne propre */
  .lpc-btn, .lpc-btn-wa, .wc-block-components-button { white-space: normal; text-align: center; line-height: 1.25 !important; padding-top: 8px !important; padding-bottom: 8px !important; height: auto; }
  /* Hero : badge économie et CTA ne débordent pas */
  .lpc-hero2__txt h1 { font-size: 21px; }
  .lpc-hero2__price b { font-size: 24px; }
  /* Topbar : une seule ligne compacte */
  .lpc-topbar__right { font-size: 10.5px; gap: 10px; }
}

/* ---------- Best-practices tera.ma ---------- */
/* Badge promo enrichi avec % */
.woocommerce span.onsale i, .woocommerce ul.products li.product .onsale i { display:block; font-style:normal; font-size:9.5px; font-weight:700; opacity:.9; margin-top:1px; line-height:1; }
/* Badge Top vente (coin haut-droit) */
.lpc-badge-top { position:absolute; top:14px; inset-inline-end:14px; z-index:3; background:linear-gradient(135deg,#FF9F0A,#F2890D); color:#fff; font-size:11px; font-weight:800; padding:5px 11px; border-radius:100px; letter-spacing:.02em; box-shadow:0 6px 16px rgba(242,137,13,.3); }
/* Étoiles d'avis sur carte */
.lpc-card-rating { display:flex; align-items:center; gap:6px; margin-top:6px; }
.lpc-stars { --r:0; display:inline-block; width:78px; height:14px; background:linear-gradient(90deg,#F8B500 calc(var(--r)/5*100%),#D8DEE9 calc(var(--r)/5*100%)); -webkit-mask:repeating-linear-gradient(90deg,#000 0 12px,transparent 12px 15.6px); mask:repeating-linear-gradient(90deg,#000 0 12px,transparent 12px 15.6px); -webkit-mask-size:15.6px 14px; }
.lpc-card-rating .lpc-stars { background:none; position:relative; width:80px; }
.lpc-card-rating .lpc-stars::before { content:"★★★★★"; color:#D8DEE9; font-size:14px; letter-spacing:2px; }
.lpc-card-rating .lpc-stars::after { content:"★★★★★"; color:#F8B500; font-size:14px; letter-spacing:2px; position:absolute; left:0; top:0; width:calc(var(--r)/5*100%); overflow:hidden; white-space:nowrap; }
.lpc-card-rating small { font-size:11.5px; color:var(--lpc-muted); font-weight:600; }

/* ---------- Reconditionné ---------- */
.lpc-badge-refurb { position:absolute; top:14px; inset-inline-start:14px; z-index:3; background:linear-gradient(135deg,#16A34A,#0F8A3D); color:#fff; font-size:10.5px; font-weight:800; padding:5px 10px; border-radius:100px; box-shadow:0 6px 16px rgba(15,138,61,.3); }
.lpc-refurb-note { display:flex; align-items:center; gap:9px; background:#EAF8F0; border:1px solid #BBE5C8; border-radius:14px; padding:12px 16px; font-size:13.5px; color:#0F8A3D; font-weight:600; margin:14px 0; }
/* ---------- Méga-menu : panneau multi-colonnes + marques ---------- */
header#header .menu > li.menu-item-has-children > .sub-menu { min-width:300px; }
header#header .sub-menu .lpc-mega-brands { border-top:1px solid #F1F3F7; margin-top:6px; padding:12px 14px 6px; }
header#header .sub-menu .lpc-mega-brands b { display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:.07em; color:var(--lpc-muted); margin-bottom:10px; }
header#header .sub-menu .lpc-mega-brands .row { display:flex; flex-wrap:wrap; gap:14px 18px; align-items:center; }
header#header .sub-menu .lpc-mega-brands img { height:18px; width:auto; opacity:.55; transition:opacity .15s var(--lpc-ease); }
header#header .sub-menu .lpc-mega-brands a:hover img { opacity:1; }

/* ---------- Upscale tera : badges empilés + CTA hero animé ---------- */
.lpc-badge-new.is-below { top: 46px; }
/* CTA hero : flèche animée + lift premium */
.lpc-hero2__txt .lpc-btn--primary { position: relative; overflow: hidden; }
.lpc-hero2__txt .lpc-btn--primary::after { content: "›"; display: inline-block; margin-inline-start: 8px; font-weight: 700; transition: transform .2s var(--lpc-ease); }
.lpc-hero2__txt .lpc-btn--primary:hover::after { transform: translateX(4px); }
.lpc-hero2__txt .lpc-btn--primary::before { content: ""; position: absolute; top: 0; left: -120%; width: 60%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent); transform: skewX(-18deg); transition: left .6s ease; }
.lpc-hero2__txt .lpc-btn--primary:hover::before { left: 140%; }
/* Vignettes catégories : zoom doux de l'icône au survol (fluidité) */
.lpc-cats2 a:hover .ico { transform: scale(1.08); }
.lpc-cats2 .ico { transition: transform .25s var(--lpc-ease), background .2s var(--lpc-ease); }
.lpc-cats2 a:hover .ico { background: var(--lpc-primary); color: #fff; }

/* ==========================================================================
   LPC PREMIUM LIFT - 2026-06
   Visual polish + mobile conversion fixes. Kept at the end to override safely.
   ========================================================================== */
:root {
  --lpc-premium-bg: #F6F8FC;
  --lpc-premium-line: #E8EDF7;
  --lpc-premium-ink: #101828;
}

body {
  background:
    radial-gradient(circle at 18% 0%, rgba(21, 101, 240, .08), transparent 34%),
    linear-gradient(180deg, #FBFCFF 0%, var(--lpc-premium-bg) 42%, #FFFFFF 100%);
}

.lpc-mainbar {
  background: rgba(255, 255, 255, .86);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  border-bottom: 1px solid rgba(232, 237, 247, .84);
}

.lpc-mainbar__logo img {
  height: 40px;
  transform-origin: left center;
}

.lpc-search {
  box-shadow: 0 12px 32px rgba(21, 101, 240, .12);
}

.lpc-search input[type="search"]::placeholder {
  color: #94A3B8;
}

header#header [data-row*="middle"] {
  border-color: rgba(232, 237, 247, .9) !important;
  box-shadow: 0 12px 34px rgba(15, 23, 42, .07) !important;
}

.lpc-hero2__banner {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(circle at 78% 18%, rgba(77, 141, 255, .36), transparent 30%),
    linear-gradient(118deg, #090F1F 0%, #111D35 52%, #0E4FC4 142%) !important;
}

.lpc-hero2__banner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(135deg, rgba(255, 255, 255, .08), transparent 42%);
  pointer-events: none;
}

.lpc-hero2__txt h1,
.single-product .product_title,
.page .entry-content h1,
.woocommerce-products-header__title {
  letter-spacing: 0;
}

.lpc-hero2__price b,
.single-product div.product p.price,
.woocommerce ul.products li.product .price {
  font-variant-numeric: tabular-nums;
}

.lpc-tile,
.woocommerce ul.products li.product,
.lpc-cats2 a,
.lpc-services a,
.lpc-guides a,
.lpc-popular,
.lpc-brands2,
.single-product div.product {
  border-color: var(--lpc-premium-line) !important;
}

.woocommerce ul.products li.product {
  background: rgba(255, 255, 255, .94);
}

.woocommerce ul.products li.product > figure {
  background: linear-gradient(180deg, #F8FAFE, #EFF3FA);
}

.woocommerce ul.products li.product .ct-woo-card-actions .button,
.single-product div.product form.cart .button,
.lpc-btn--primary,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  background: linear-gradient(135deg, #1C73FF, #0E5DE8) !important;
  box-shadow: 0 12px 26px rgba(21, 101, 240, .24);
}

.woocommerce ul.products li.product .ct-woo-card-actions .button:hover,
.single-product div.product form.cart .button:hover,
.lpc-btn--primary:hover {
  background: linear-gradient(135deg, #0E5DE8, #0949C5) !important;
}

.lpc-contact2__side h1 {
  color: #fff;
  font-size: 24px;
  line-height: 1.16;
  margin: 0 0 8px;
}

.lpc-contact2__side {
  background:
    radial-gradient(circle at 84% 10%, rgba(77, 141, 255, .42), transparent 34%),
    linear-gradient(160deg, #0B1222, #14418F) !important;
}

.lpc-whatsapp {
  box-shadow: 0 16px 38px rgba(37, 211, 102, .36);
}

.lpc-dock__btn {
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

@media (max-width: 999px) {
  .lpc-mainbar__logo img { height: 34px; }
}

@media (max-width: 768px) {
  body {
    padding-bottom: 76px;
  }

  .lpc-mainbar {
    padding: 8px 0 10px;
  }

  .lpc-topbar__right a:nth-child(n+3) {
    display: none;
  }

  .lpc-hero2__txt {
    order: 1;
    padding: 24px 22px 18px;
  }

  .lpc-hero2__img {
    order: 2;
    min-height: 150px;
  }

  .lpc-hero2__tiles {
    gap: 10px;
  }

  .single-product div.product {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .single-product div.product .product-entry-wrapper {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .single-product div.product .summary {
    order: 1;
    margin-bottom: 0 !important;
    display: flex;
    flex-direction: column;
  }

  .single-product div.product .woocommerce-product-gallery {
    order: 2;
    margin-bottom: 0 !important;
  }

  .single-product div.product .woocommerce-tabs {
    order: 3;
  }

  .single-product .product_title {
    font-size: 26px;
    line-height: 1.08;
    margin-bottom: 8px;
    order: 1;
  }

  .single-product div.product p.price {
    font-size: 26px;
    margin-bottom: 12px;
    order: 2;
  }

  .single-product .summary .lpc-flags--single {
    order: 3;
  }

  .single-product .summary .ct-product-add-to-cart {
    order: 4;
  }

  .single-product .summary .lpc-btn-wa {
    order: 5;
  }

  .single-product .summary .lpc-specs {
    order: 6;
  }

  .single-product .summary .woocommerce-product-details__short-description {
    order: 7;
  }

  .single-product .summary .lpc-trust {
    order: 9;
  }

  .single-product .summary .product_meta {
    order: 10;
  }

  .single-product .summary .ct-product-divider {
    display: none;
  }

  .single-product div.product .woocommerce-product-gallery img {
    max-height: 420px;
    object-fit: cover;
  }

  .single-product div.product form.cart,
  .single-product .ct-product-add-to-cart form.cart {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
  }

  .single-product div.product form.cart .button,
  .single-product .ct-product-add-to-cart form.cart .button {
    min-height: 48px;
    padding-inline: 14px !important;
  }

  .lpc-whatsapp {
    right: 14px;
    bottom: 86px;
    width: 48px;
    height: 48px;
  }

  html[dir="rtl"] .lpc-whatsapp {
    left: 14px;
    right: auto;
  }

  .lpc-dock {
    left: 14px;
    bottom: 86px;
  }

  html[dir="rtl"] .lpc-dock {
    right: 14px;
    left: auto;
  }

  body.single-product .lpc-whatsapp {
    display: none;
  }

  body.single-product .lpc-dock {
    display: none;
  }

  .lpc-top {
    display: none;
  }

  .lpc-contact2__side h1 {
    font-size: 22px;
  }
}

@media (max-width: 420px) {
  .woocommerce ul.products {
    gap: 12px !important;
  }

  .woocommerce ul.products li.product {
    border-radius: 18px;
  }

  .woocommerce ul.products li.product > figure {
    height: 170px;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 52px;
  }
}

/* ==========================================================================
   LPC CAMPAIGN BLOCKS - 2026-06
   Limited offer, custom build tile, weekly promo head.
   ========================================================================== */
.lpc-offer-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  max-width: 100%;
  padding: 7px 9px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .10);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14);
  color: #fff !important;
  letter-spacing: 0;
  text-transform: none;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.lpc-offer-pill__ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #EF1111;
  color: #fff;
  flex: 0 0 24px;
}

.lpc-offer-pill > span:not(.lpc-offer-pill__ic) {
  min-width: 0;
  font-size: 12.5px;
  font-weight: 850;
  line-height: 1.2;
}

.lpc-offer-pill em {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(34, 197, 94, .14);
  color: #86EFAC;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.lpc-hero2__tiles {
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
}

.lpc-tile {
  min-height: 162px;
  padding: 22px !important;
  border-radius: 16px !important;
  gap: 9px;
  isolation: isolate;
}

.lpc-tile::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(135deg, rgba(255, 255, 255, .16), transparent 42%);
  pointer-events: none;
}

.lpc-tile__top {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 2px;
}

.lpc-tile__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  flex: 0 0 38px;
}

.lpc-tile__eyebrow {
  font-size: 11px !important;
  font-weight: 850;
  letter-spacing: .06em;
  line-height: 1.1;
  text-transform: uppercase;
}

.lpc-tile b {
  max-width: 12ch;
  font-size: 20px !important;
  line-height: 1.05;
  letter-spacing: 0;
}

.lpc-tile__text {
  max-width: 28ch;
  font-size: 13.5px !important;
  line-height: 1.45;
}

.lpc-tile__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 2px;
}

.lpc-tile__chips span {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 11.5px !important;
  font-weight: 760;
  line-height: 1;
  white-space: nowrap;
}

.lpc-tile .lpc-tile__go {
  display: inline-flex;
  align-items: center;
  margin-top: auto;
  font-size: 13px !important;
  font-weight: 850;
}

.lpc-tile--build {
  background:
    linear-gradient(145deg, #08101F 0%, #132746 58%, #0F4DBA 135%) !important;
  border-color: rgba(156, 192, 255, .28) !important;
  box-shadow: 0 20px 48px rgba(8, 16, 31, .18);
}

.lpc-tile--build .lpc-tile__icon {
  background: rgba(156, 192, 255, .13);
  color: #9CC0FF;
  box-shadow: inset 0 0 0 1px rgba(156, 192, 255, .22);
}

.lpc-tile--build .lpc-tile__eyebrow,
.lpc-tile--build .lpc-tile__go {
  color: #9CC0FF !important;
}

.lpc-tile--build .lpc-tile__text {
  color: rgba(255, 255, 255, .72) !important;
}

.lpc-tile--build .lpc-tile__chips span {
  background: rgba(255, 255, 255, .10);
  color: rgba(255, 255, 255, .84) !important;
}

.lpc-tile--deal {
  background:
    linear-gradient(145deg, #FFF7F7 0%, #FFFFFF 54%, #FFE9E9 100%) !important;
  border-color: #FFD8D8 !important;
  box-shadow: 0 18px 44px rgba(225, 0, 15, .10);
}

.lpc-tile--deal::before {
  background:
    linear-gradient(135deg, rgba(225, 0, 15, .08), transparent 48%),
    repeating-linear-gradient(-45deg, rgba(225, 0, 15, .06) 0 1px, transparent 1px 11px);
}

.lpc-tile--deal .lpc-tile__icon {
  background: #EF1111;
  color: #fff;
  box-shadow: 0 12px 22px rgba(225, 0, 15, .24);
}

.lpc-tile--deal .lpc-tile__eyebrow,
.lpc-tile--deal .lpc-tile__go {
  color: #C90B16 !important;
}

.lpc-tile--deal .lpc-tile__text {
  color: #754044 !important;
}

.lpc-tile--deal .lpc-tile__chips span {
  background: #FDEBEC;
  color: #B80D16 !important;
}

.lpc-flash {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, #FFFFFF 0%, #FFF6F6 100%) !important;
  border-color: #FFDCDC !important;
  box-shadow: 0 22px 60px rgba(225, 0, 15, .08);
}

.lpc-flash::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #EF1111, #1565F0, #22C55E);
}

.lpc-flash-head {
  align-items: center;
  gap: 18px;
  margin-bottom: 14px !important;
}

.lpc-flash-head__title {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.lpc-flash-head__ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: #EF1111;
  color: #fff;
  flex: 0 0 46px;
  box-shadow: 0 14px 28px rgba(225, 0, 15, .22);
}

.lpc-flash-head__title small {
  display: block;
  margin-bottom: 3px;
  color: #9A3412;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .07em;
  line-height: 1;
  text-transform: uppercase;
}

.lpc-flash .lpc-sec__head h2,
.lpc-flash-head__title h2 {
  margin: 0;
  color: #111827 !important;
  font-size: 24px;
  line-height: 1.08;
}

.lpc-flash-head__title h2::after {
  content: "" !important;
}

.lpc-flash-head__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.lpc-flash-head .lpc-count-chip {
  min-height: 40px;
  padding: 6px 10px 6px 12px;
  border-radius: 999px;
  background: #111827;
  box-shadow: 0 12px 26px rgba(17, 24, 39, .15);
}

.lpc-count-chip__label {
  color: rgba(255, 255, 255, .70);
  font-size: 11.5px;
  font-weight: 780;
  white-space: nowrap;
}

.lpc-flash-head .lpc-count-chip .lpc-countdown {
  gap: 5px;
}

.lpc-flash-head .lpc-count-chip .lpc-countdown div {
  min-width: 34px;
  height: 28px;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, .10);
}

.lpc-flash-head .lpc-sec__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #F7C7C7;
  border-radius: 999px;
  background: #fff;
  color: #C90B16 !important;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none !important;
  box-shadow: 0 10px 22px rgba(225, 0, 15, .08);
}

.lpc-flash-head .lpc-sec__more:hover {
  border-color: #EF1111;
  transform: translateY(-1px);
}

html[dir="rtl"] .lpc-tile::before {
  transform: scaleX(-1);
}

@media (max-width: 1024px) {
  .lpc-tile {
    min-height: 150px;
  }
}

@media (max-width: 768px) {
  .lpc-offer-pill {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
    border-radius: 16px;
  }

  .lpc-offer-pill em {
    margin-inline-start: 32px;
  }

  .lpc-tile {
    min-height: 0;
    padding: 18px !important;
    border-radius: 18px !important;
  }

  .lpc-tile b {
    max-width: none;
    font-size: 19px !important;
  }

  .lpc-tile__text {
    max-width: 34ch;
  }

  .lpc-flash {
    padding: 16px 14px 10px;
  }

  .lpc-flash-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .lpc-flash-head__actions {
    justify-content: flex-start;
    width: 100%;
  }

  .lpc-flash-head .lpc-count-chip {
    width: 100%;
    justify-content: space-between;
    border-radius: 16px;
  }

  .lpc-flash-head .lpc-sec__more {
    width: 100%;
  }
}

/* Blog imagery: preserve the new editorial 16:9 covers. */
body.blog .entry-card .ct-media-container img.wp-post-image,
body.archive.category .entry-card .ct-media-container img.wp-post-image,
body.single-post .hero-section .ct-media-container img,
body.single-post .entry-content .wp-post-image {
  aspect-ratio: 16 / 9 !important;
  object-fit: cover;
}

/* ==========================================================================
   LPC HOME 3D HERO - 2026-06
   Replaces the former offer/config/promo block with an immersive 3D scene.
   ========================================================================== */
.lpc-hero3d-sec {
  max-width: 1440px;
  margin-top: 22px;
}

.lpc-hero3d {
  position: relative;
  display: grid;
  grid-template-columns: minmax(420px, .78fr) minmax(0, 1.22fr);
  min-height: 620px;
  overflow: hidden;
  border: 1px solid rgba(125, 170, 255, .18);
  border-radius: 30px;
  background:
    radial-gradient(circle at 16% 18%, rgba(37, 99, 235, .24), transparent 34%),
    radial-gradient(circle at 72% 12%, rgba(225, 0, 15, .20), transparent 28%),
    linear-gradient(135deg, #060B16 0%, #0C1528 50%, #06142F 100%);
  color: #fff;
  box-shadow: 0 34px 90px rgba(6, 11, 22, .28);
  isolation: isolate;
}

.lpc-hero3d::before,
.lpc-hero3d::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.lpc-hero3d::before {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, rgba(0, 0, 0, .72), transparent 74%);
  opacity: .35;
}

.lpc-hero3d::after {
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(6, 11, 22, .92) 0%, rgba(6, 11, 22, .68) 35%, transparent 68%),
    linear-gradient(180deg, rgba(255, 255, 255, .07), transparent 24%);
}

.lpc-hero3d__copy {
  position: relative;
  z-index: 4;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(34px, 5vw, 68px);
  max-width: 650px;
}

.lpc-hero3d__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  margin-bottom: 18px;
  padding: 8px 11px;
  border: 1px solid rgba(156, 192, 255, .24);
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  color: #A7C7FF;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .06em;
  line-height: 1;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.lpc-hero3d__copy h1 {
  max-width: 12.5ch;
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(38px, 4.8vw, 68px);
  line-height: .98;
  letter-spacing: 0;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
  text-wrap: balance;
}

.lpc-hero3d__copy p {
  max-width: 54ch;
  margin: 0 0 26px;
  color: rgba(255, 255, 255, .72);
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: 1.7;
}

.lpc-hero3d__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 24px;
}

.lpc-hero3d__actions .lpc-btn {
  min-height: 48px;
  border-radius: 999px !important;
  padding-inline: 22px !important;
}

.lpc-hero3d__actions .lpc-btn--ghost {
  border: 1px solid rgba(156, 192, 255, .30);
  background: rgba(255, 255, 255, .08);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

.lpc-hero3d__actions .lpc-btn--ghost:hover {
  background: rgba(255, 255, 255, .14);
  border-color: rgba(156, 192, 255, .52);
}

.lpc-hero3d__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.lpc-hero3d__trust li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 999px;
  background: rgba(255, 255, 255, .07);
  color: rgba(255, 255, 255, .80);
  font-size: 12.5px;
  font-weight: 760;
}

.lpc-hero3d__trust svg {
  color: #67E8A7;
}

.lpc-hero3d__stage {
  position: relative;
  z-index: 3;
  min-height: 620px;
  overflow: hidden;
}

.lpc-hero3d__canvas,
.lpc-hero3d__fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.lpc-hero3d__canvas {
  z-index: 2;
  display: block;
  opacity: 0;
  transition: opacity .45s ease;
}

.lpc-hero3d__fallback {
  z-index: 1;
  object-fit: cover;
  object-position: center right;
  opacity: .96;
  transform: scale(1.03);
  transition: opacity .45s ease;
}

.lpc-hero3d.is-ready .lpc-hero3d__canvas {
  opacity: 1;
}

.lpc-hero3d.is-ready .lpc-hero3d__fallback {
  opacity: 0;
}

.lpc-hero3d__hud {
  position: absolute;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid rgba(156, 192, 255, .28);
  border-radius: 999px;
  background: rgba(8, 16, 31, .56);
  color: #EAF2FF;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .02em;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .20);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  animation: lpcHeroHudFloat 5.8s ease-in-out infinite;
}

.lpc-hero3d__hud--one {
  top: 18%;
  left: 8%;
}

.lpc-hero3d__hud--two {
  right: 6%;
  top: 22%;
  animation-delay: -1.8s;
}

.lpc-hero3d__hud--three {
  right: 16%;
  bottom: 13%;
  animation-delay: -3.2s;
}

@keyframes lpcHeroHudFloat {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -12px, 0); }
}

@media (max-width: 1024px) {
  .lpc-hero3d {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .lpc-hero3d::after {
    background:
      linear-gradient(180deg, rgba(6, 11, 22, .94) 0%, rgba(6, 11, 22, .82) 43%, rgba(6, 11, 22, .18) 78%),
      linear-gradient(90deg, rgba(255, 255, 255, .07), transparent 60%);
  }

  .lpc-hero3d__copy {
    padding: 34px 28px 8px;
  }

  .lpc-hero3d__copy h1 {
    max-width: 14ch;
  }

  .lpc-hero3d__stage {
    min-height: 430px;
  }

  .lpc-hero3d__hud--one {
    left: 24px;
    top: 15%;
  }

  .lpc-hero3d__hud--two {
    right: 18px;
    top: 28%;
  }
}

@media (max-width: 640px) {
  .lpc-hero3d-sec {
    margin-top: 16px;
    padding-inline: 14px;
  }

  .lpc-hero3d {
    border-radius: 24px;
  }

  .lpc-hero3d__copy {
    padding: 28px 22px 0;
  }

  .lpc-hero3d__copy h1 {
    font-size: 36px;
  }

  .lpc-hero3d__copy p {
    font-size: 14.5px;
    line-height: 1.6;
  }

  .lpc-hero3d__actions {
    flex-direction: column;
  }

  .lpc-hero3d__actions .lpc-btn {
    width: 100%;
    justify-content: center;
  }

  .lpc-hero3d__stage {
    min-height: 330px;
  }

  .lpc-hero3d__hud {
    min-height: 30px;
    padding-inline: 10px;
    font-size: 11px;
  }

  .lpc-hero3d__hud--one {
    top: 12%;
    left: 14px;
  }

  .lpc-hero3d__hud--two {
    display: none;
  }

  .lpc-hero3d__hud--three {
    display: none;
  }
}

/* ---------- Hero parallaxe 3D CSS (remplace THREE.js — fluide & réactif) ---------- */
.lpc-hero3d { perspective: 1300px; }
.lpc-hero3d__canvas { display: none !important; }
.lpc-hero3d__stage { transform-style: preserve-3d; }
.lpc-hero3d.is-parallax .lpc-hero3d__fallback { opacity: 1; transition: opacity .4s ease; will-change: transform; }
.lpc-hero3d.is-parallax .lpc-hero3d__hud { animation: none; will-change: transform; box-shadow: 0 22px 46px rgba(0,0,0,.35); }
/* légère lueur qui suit la profondeur */
.lpc-hero3d__stage::after { content:""; position:absolute; inset:-10%; z-index:0; pointer-events:none;
  background: radial-gradient(40% 50% at 70% 38%, rgba(21,101,240,.35), transparent 70%); }
.lpc-hero3d__fallback { position: relative; z-index: 1; }
.lpc-hero3d__hud { z-index: 5; }

/* ---------- Hero clean façon simple.ma : image fondue, bloc plus bas & souple ---------- */
.lpc-hero3d { min-height: 480px; border-color: rgba(125,170,255,.08); border-radius: 26px; box-shadow: 0 24px 70px rgba(6,11,22,.22); }
.lpc-hero3d__stage { min-height: 480px; overflow: visible; }
.lpc-hero3d__copy { padding-top: 38px; padding-bottom: 38px; }
.lpc-hero3d__copy h1 { font-size: clamp(30px, 3.6vw, 46px); line-height: 1.06; }
/* l'image FOND dans le fond sombre sur tous les bords (supprime l'effet cadre) */
.lpc-hero3d.is-parallax .lpc-hero3d__fallback {
  object-position: center;
  -webkit-mask-image: radial-gradient(125% 115% at 76% 46%, #000 50%, rgba(0,0,0,.45) 72%, transparent 88%);
          mask-image: radial-gradient(125% 115% at 76% 46%, #000 50%, rgba(0,0,0,.45) 72%, transparent 88%);
}
/* fondu gauche (vers le texte) + bas, sans bord net */
.lpc-hero3d::after {
  background:
    linear-gradient(90deg, #060B16 0%, rgba(6,11,22,.82) 26%, rgba(6,11,22,.12) 54%, transparent 70%),
    linear-gradient(180deg, transparent 58%, rgba(6,11,22,.5) 100%);
}
@media (max-width: 900px) {
  .lpc-hero3d, .lpc-hero3d__stage { min-height: 0; }
  .lpc-hero3d.is-parallax .lpc-hero3d__fallback { -webkit-mask-image: linear-gradient(180deg,#000 60%,transparent); mask-image: linear-gradient(180deg,#000 60%,transparent); }
}

/* ---------- Correctif hero : image visible, fondu UNIQUEMENT bord gauche ---------- */
.lpc-hero3d__stage { overflow: hidden; }
.lpc-hero3d.is-parallax .lpc-hero3d__fallback {
  object-position: center right;
  -webkit-mask-image: linear-gradient(90deg, transparent 2%, rgba(0,0,0,.55) 20%, #000 44%);
          mask-image: linear-gradient(90deg, transparent 2%, rgba(0,0,0,.55) 20%, #000 44%);
}
@media (max-width: 900px) {
  .lpc-hero3d.is-parallax .lpc-hero3d__fallback {
    -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent);
            mask-image: linear-gradient(180deg, #000 55%, transparent);
  }
}

/* ---------- Hero FINAL : pas de masque (cassait l'image), fondu via overlay gauche ---------- */
.lpc-hero3d.is-parallax .lpc-hero3d__fallback {
  -webkit-mask-image: none !important;
          mask-image: none !important;
  object-position: center right;
}
/* fondu doux du bord gauche de l'image vers la colonne texte (supprime la couture/cadre) */
.lpc-hero3d::after {
  background:
    linear-gradient(90deg, #070C18 0%, rgba(7,12,24,.96) 18%, rgba(7,12,24,.55) 38%, rgba(7,12,24,.10) 56%, transparent 66%),
    linear-gradient(180deg, transparent 62%, rgba(7,12,24,.45) 100%) !important;
}
/* hauteur plus contenue */
.lpc-hero3d, .lpc-hero3d__stage { min-height: 440px; }
.lpc-hero3d__copy { padding-top: 34px; padding-bottom: 34px; }

/* ==========================================================================
   Hero texte & CTA façon simple.ma : aéré, blanc flottant, sans cadre
   ========================================================================== */
/* Entrée fondu-montée en cascade */
.lpc-hero3d__copy > * { opacity: 0; transform: translateY(18px); animation: lpcHeroIn .75s cubic-bezier(.22,.61,.36,1) forwards; }
.lpc-hero3d__copy > *:nth-child(1){ animation-delay:.05s }
.lpc-hero3d__copy > *:nth-child(2){ animation-delay:.15s }
.lpc-hero3d__copy > *:nth-child(3){ animation-delay:.25s }
.lpc-hero3d__copy > *:nth-child(4){ animation-delay:.35s }
.lpc-hero3d__copy > *:nth-child(5){ animation-delay:.45s }
@keyframes lpcHeroIn { to { opacity:1; transform:none } }

/* Eyebrow : sans cadre, lettres espacées */
.lpc-hero3d__eyebrow {
  background:none !important; border:0 !important; padding:0 !important; box-shadow:none !important;
  color:#9CC0FF; font-size:12px; font-weight:600; letter-spacing:.24em; text-transform:uppercase;
  display:inline-flex; align-items:center; gap:9px; margin-bottom:18px;
}

/* Titre : dégradé blanc élégant */
.lpc-hero3d__copy h1 {
  font-weight:800; letter-spacing:-.015em; line-height:1.05; font-size:clamp(32px,3.9vw,54px);
  background:linear-gradient(180deg,#ffffff 58%,#bcd4ff); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:#fff;
}
.lpc-hero3d__copy p { color:rgba(255,255,255,.7); font-weight:400; font-size:16px; max-width:34ch; }

/* Actions : CTA « nus » */
.lpc-hero3d__actions { display:flex; align-items:center; gap:32px; margin-top:30px; }
.lpc-hero3d__cta {
  position:relative; display:inline-flex; align-items:center; gap:10px;
  color:#fff !important; font-weight:700; font-size:16.5px; text-decoration:none !important; padding:6px 0;
}
.lpc-hero3d__cta::after { content:""; position:absolute; inset-inline-start:0; bottom:0; height:2px; width:100%;
  background:linear-gradient(90deg,#4D8DFF,#9CC0FF); transform-origin:left; transition:transform .35s var(--lpc-ease,ease); }
.lpc-hero3d__cta svg { transition:transform .25s var(--lpc-ease,ease); }
.lpc-hero3d__cta:hover svg { transform:translateX(7px); }
.lpc-hero3d__cta:hover::after { transform:scaleX(1.04); }
.lpc-hero3d__link {
  position:relative; color:rgba(255,255,255,.68) !important; font-weight:600; font-size:15px;
  text-decoration:none !important; padding-bottom:4px;
}
.lpc-hero3d__link::after { content:""; position:absolute; inset-inline-start:0; bottom:0; height:1.5px; width:0;
  background:currentColor; transition:width .3s var(--lpc-ease,ease); }
.lpc-hero3d__link:hover { color:#fff !important; }
.lpc-hero3d__link:hover::after { width:100%; }

/* Réassurance : texte blanc flottant, sans pilule */
.lpc-hero3d__trust { display:flex; flex-wrap:wrap; gap:12px 26px; list-style:none; padding:0; margin-top:28px; }
.lpc-hero3d__trust li {
  background:none !important; border:0 !important; padding:0 !important; min-height:0 !important;
  display:inline-flex; align-items:center; gap:8px; color:rgba(255,255,255,.74); font-size:13.5px; font-weight:500;
}
.lpc-hero3d__trust svg { color:#9CC0FF; }

/* HUD : texte blanc flottant SANS cadre + point lumineux */
.lpc-hero3d.is-parallax .lpc-hero3d__hud {
  background:none !important; border:0 !important; box-shadow:none !important;
  backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
  padding:0 !important; min-height:0 !important; color:#fff; font-weight:600; font-size:13.5px; letter-spacing:.01em;
  text-shadow:0 2px 20px rgba(0,0,0,.9), 0 0 2px rgba(0,0,0,.9);
}
.lpc-hero3d.is-parallax .lpc-hero3d__hud::before {
  content:""; display:inline-block; width:7px; height:7px; border-radius:50%; margin-inline-end:9px;
  background:#4D8DFF; box-shadow:0 0 12px 2px rgba(77,141,255,.85); vertical-align:middle;
}
@media (prefers-reduced-motion: reduce){ .lpc-hero3d__copy > *{ opacity:1 !important; transform:none !important; animation:none !important; } }
@media (max-width:900px){ .lpc-hero3d__actions{ gap:22px; } }

/* ---------- Hero : titre plus compact + colonnes rééquilibrées ---------- */
.lpc-hero3d { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
.lpc-hero3d__copy h1 { font-size: clamp(27px, 3vw, 43px); line-height: 1.1; }
.lpc-hero3d__copy p { max-width: 38ch; }
@media (max-width: 900px){ .lpc-hero3d { grid-template-columns: 1fr; } }

/* ---------- Fondu doux des 4 bords de l'image (vignette, sans masque) ---------- */
.lpc-hero3d__stage::before {
  content: ""; position: absolute; inset: 0; z-index: 4; pointer-events: none; border-radius: inherit;
  box-shadow: inset 0 0 55px 4px rgba(7,12,24,.9);
  background:
    linear-gradient(90deg, #070C18 0%, rgba(7,12,24,.35) 11%, transparent 28%),
    linear-gradient(180deg, rgba(7,12,24,.45) 0%, transparent 9%, transparent 88%, rgba(7,12,24,.5) 100%);
}
/* le glow bleu reste derrière, les labels restent au-dessus de la vignette */
.lpc-hero3d__hud { z-index: 6 !important; }

/* ---------- Bord image RÉELLEMENT estompé (feather mask) + image éclaircie ---------- */
.lpc-hero3d.is-parallax .lpc-hero3d__fallback {
  -webkit-mask-image: radial-gradient(ellipse 84% 88% at 62% 48%, #000 60%, rgba(0,0,0,.4) 82%, transparent 100%) !important;
          mask-image: radial-gradient(ellipse 84% 88% at 62% 48%, #000 60%, rgba(0,0,0,.4) 82%, transparent 100%) !important;
  object-position: 75% 50% !important;            /* cadre le setup, pas le fond noir du bord droit */
  filter: brightness(1.7) contrast(1.18) saturate(1.2) !important;  /* fait ressortir le RGB sur fond sombre */
}
/* la vignette ne garde que le fondu de la couture gauche (l'estompe des bords vient du masque) */
.lpc-hero3d__stage::before {
  box-shadow: none;
  background: linear-gradient(90deg, #070C18 0%, rgba(7,12,24,.4) 12%, transparent 30%);
}

/* ==========================================================================
   HERO MAGAZINE PREMIUM - PATCH FINAL (a coller en TOUT DERNIER dans lpc.css,
   apres la ligne 2514). Gagne par cascade sur les blocs existants (notamment
   la regle gagnante 2504-2509).
   (1) VRAI flou: copie .lpc-hero3d__halo filter:blur DERRIERE l'image nette.
   (2) Titre H1 pleine largeur EN HAUT, par-dessus la photo (plein cadre derriere).
   Greffes editorial-grid: voile peripherique statique + halo anti-disparition.
   Conserve: filter:brightness(1.7) contrast(1.18) saturate(1.2) + object-position:75% 50%.
   ========================================================================== */

/* 1. GRILLE: photo plein cadre, titre en bande ligne 1 */
.lpc-hero3d {
  grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr) !important;
  grid-template-rows: auto 1fr !important;
  align-items: stretch;
  min-height: 560px;
}
.lpc-hero3d__stage {
  grid-column: 1 / -1;
  grid-row: 1 / -1;
  position: relative;
  z-index: 1;
  min-height: 560px;
  overflow: hidden !important;
  transform-style: preserve-3d;
}
.lpc-hero3d__stage::before { background: none !important; box-shadow: none !important; }
.lpc-hero3d::after {
  z-index: 2 !important;
  background: linear-gradient(180deg, transparent 56%, rgba(6,11,22,.5) 100%) !important;
}

/* 2. HALO FLOU: copie agrandie + vraiment floutee, derriere l'image nette */
.lpc-hero3d__halo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  object-fit: cover;
  object-position: 75% 50%;
  transform: scale(1.22);
  transform-origin: 72% 48%;
  filter: blur(38px) brightness(1.7) contrast(1.06) saturate(1.25);
  -webkit-mask-image: radial-gradient(118% 118% at 72% 46%, #000 34%, rgba(0,0,0,.45) 60%, transparent 80%);
          mask-image: radial-gradient(118% 118% at 72% 46%, #000 34%, rgba(0,0,0,.45) 60%, transparent 80%);
  opacity: .9;
  pointer-events: none;
  will-change: transform;
}

/* 2bis. VOILE peripherique statique (independant des transforms JS +-18px) */
.lpc-hero3d__veil {
  grid-column: 1 / -1;
  grid-row: 1 / -1;
  position: relative;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(90deg, #070C18 0%, rgba(7,12,24,.55) 14%, rgba(7,12,24,.08) 34%, transparent 48%),
    linear-gradient(270deg, rgba(7,12,24,.5) 0%, transparent 12%),
    linear-gradient(180deg, transparent 64%, rgba(7,12,24,.45) 100%);
}

/* 3. IMAGE NETTE: eclaircissement conserve + feather large (bat la regle 2504) */
.lpc-hero3d__fallback,
.lpc-hero3d.is-parallax .lpc-hero3d__fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  object-fit: cover;
  object-position: 75% 50% !important;
  opacity: 1 !important;
  filter: brightness(1.7) contrast(1.18) saturate(1.2) !important;
  -webkit-mask-image: radial-gradient(ellipse 88% 94% at 66% 48%, #000 52%, rgba(0,0,0,.42) 78%, transparent 98%) !important;
          mask-image: radial-gradient(ellipse 88% 94% at 66% 48%, #000 52%, rgba(0,0,0,.42) 78%, transparent 98%) !important;
}

/* 4. SCRIM sombre en haut: lisibilite du titre blanc */
.lpc-hero3d__scrim {
  grid-column: 1 / -1;
  grid-row: 1 / -1;
  position: relative;
  z-index: 3;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(5,9,18,.82) 0%, rgba(5,9,18,.55) 26%, rgba(5,9,18,.08) 46%, transparent 60%),
    linear-gradient(180deg, transparent 60%, rgba(5,9,18,.32) 100%);
}

/* 5. TITRE pleine largeur (ligne 1), par-dessus la photo */
.lpc-hero3d__headline {
  grid-column: 1 / -1;
  grid-row: 1;
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-block: clamp(26px, 3.4vw, 46px) clamp(14px, 1.6vw, 22px);
  padding-inline: clamp(28px, 5vw, 64px);
  pointer-events: none;
}
.lpc-hero3d__headline .lpc-hero3d__eyebrow { pointer-events: auto; margin-bottom: 14px; }
.lpc-hero3d__headline h1 {
  margin: 0;
  width: 100%;
  max-width: 100%;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.04;
  font-size: clamp(34px, 5.4vw, 72px);
  background: linear-gradient(180deg, #ffffff 60%, #cfe0ff);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: #fff;
  text-wrap: balance;
  filter: drop-shadow(0 2px 18px rgba(2,6,16,.85)) drop-shadow(0 1px 3px rgba(2,6,16,.7));
}

/* 6. COPIE (sous-titre + CTA) en bas, ligne 2 */
.lpc-hero3d__copy {
  grid-column: 1;
  grid-row: 2;
  position: relative;
  z-index: 4;
  align-self: end;
  justify-content: flex-end;
  max-width: none;
  padding-block: clamp(14px, 2vw, 26px) clamp(30px, 4vw, 52px);
  padding-inline: clamp(28px, 5vw, 64px);
}
.lpc-hero3d__copy p {
  margin: 0 0 22px;
  max-width: 42ch;
  color: rgba(255,255,255,.82);
  font-weight: 400;
  font-size: clamp(15px, 1.3vw, 17px);
  line-height: 1.65;
  text-shadow: 0 1px 10px rgba(2,6,16,.7);
}
.lpc-hero3d__actions { margin-top: 0; margin-bottom: 0; gap: 28px; }

/* 7. ANIMATION d'entree recalee (l'ancien bloc 2421-2426 ciblait __copy) */
.lpc-hero3d__headline > * { opacity: 0; transform: translateY(16px); animation: lpcHeroIn .7s cubic-bezier(.22,.61,.36,1) forwards; }
.lpc-hero3d__headline > *:nth-child(1){ animation-delay:.05s }
.lpc-hero3d__headline > *:nth-child(2){ animation-delay:.15s }
.lpc-hero3d__copy > *:nth-child(1){ animation-delay:.30s }
.lpc-hero3d__copy > *:nth-child(2){ animation-delay:.42s }
@media (prefers-reduced-motion: reduce){
  .lpc-hero3d__headline > *, .lpc-hero3d__copy > *{ opacity:1 !important; transform:none !important; animation:none !important; }
  .lpc-hero3d__halo { opacity:.82; will-change:auto; }
}

/* 8. RTL (convention html[dir="rtl"]) */
html[dir="rtl"] .lpc-hero3d__headline,
html[dir="rtl"] .lpc-hero3d__copy { align-items: flex-start; text-align: right; }
html[dir="rtl"] .lpc-hero3d__veil {
  background:
    linear-gradient(270deg, #070C18 0%, rgba(7,12,24,.55) 14%, rgba(7,12,24,.08) 34%, transparent 48%),
    linear-gradient(90deg, rgba(7,12,24,.5) 0%, transparent 12%),
    linear-gradient(180deg, transparent 64%, rgba(7,12,24,.45) 100%);
}

/* 9. RESPONSIVE < 900px: pile verticale, titre toujours en haut */
@media (max-width: 900px) {
  .lpc-hero3d {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto 1fr !important;
    min-height: 0;
  }
  .lpc-hero3d__stage { grid-column: 1; grid-row: 1 / -1; min-height: 460px; }
  .lpc-hero3d__veil, .lpc-hero3d__scrim { grid-column: 1; grid-row: 1 / -1; }
  .lpc-hero3d__headline { grid-column: 1; grid-row: 1; padding: 26px 24px 12px; }
  .lpc-hero3d__copy { grid-column: 1; grid-row: 2; padding: 8px 24px 30px; align-self: start; }
  .lpc-hero3d__scrim {
    background:
      linear-gradient(180deg, rgba(5,9,18,.9) 0%, rgba(5,9,18,.55) 30%, transparent 55%),
      linear-gradient(180deg, transparent 40%, rgba(5,9,18,.75) 100%);
  }
  .lpc-hero3d__veil {
    background:
      linear-gradient(180deg, transparent 58%, rgba(7,12,24,.62) 100%),
      linear-gradient(0deg, transparent 88%, rgba(7,12,24,.4) 100%);
  }
  html[dir="rtl"] .lpc-hero3d__veil {
    background:
      linear-gradient(180deg, transparent 58%, rgba(7,12,24,.62) 100%),
      linear-gradient(0deg, transparent 88%, rgba(7,12,24,.4) 100%);
  }
  .lpc-hero3d__halo {
    transform: scale(1.3);
    filter: blur(30px) brightness(1.7) saturate(1.25);
    -webkit-mask-image: radial-gradient(150% 110% at 60% 40%, #000 40%, transparent 86%);
            mask-image: radial-gradient(150% 110% at 60% 40%, #000 40%, transparent 86%);
  }
  .lpc-hero3d__fallback,
  .lpc-hero3d.is-parallax .lpc-hero3d__fallback {
    -webkit-mask-image: radial-gradient(160% 100% at 58% 38%, #000 50%, rgba(0,0,0,.4) 80%, transparent 96%) !important;
            mask-image: radial-gradient(160% 100% at 58% 38%, #000 50%, rgba(0,0,0,.4) 80%, transparent 96%) !important;
  }
  .lpc-hero3d__headline h1 { font-size: clamp(30px, 8vw, 46px); }
  .lpc-hero3d__actions { gap: 22px; }
}
@media (max-width: 640px) {
  .lpc-hero3d__stage { min-height: 380px; }
  .lpc-hero3d__headline h1 { font-size: 34px; }
  .lpc-hero3d__copy p { font-size: 14.5px; }
  .lpc-hero3d__actions { flex-direction: column; align-items: stretch; }
  .lpc-hero3d__cta { justify-content: center; }
  .lpc-hero3d__hud--two { display: none; }
}

/* ==========================================================================
   CORRECTIF HERO — plein cadre LUMINEUX + pourtour flou (cache le cadre)
   L'empilement voile+scrim+mask agressif noircissait la photo. On passe en
   PLEIN CADRE : image lumineuse sur tout le hero ; seuls le HAUT (titre) et le
   BAS-GAUCHE (copie) sont assombris ; le POURTOUR est feutre vers le halo flou
   (-> vrai flou de bord, plus aucun rectangle photo visible).
   ========================================================================== */
.lpc-hero3d__fallback,
.lpc-hero3d.is-parallax .lpc-hero3d__fallback {
  object-position: 68% 50% !important;
  filter: brightness(2.2) contrast(1.12) saturate(1.22) !important;
  -webkit-mask-image: radial-gradient(132% 132% at 56% 50%, #000 80%, rgba(0,0,0,.45) 92%, transparent 100%) !important;
          mask-image: radial-gradient(132% 132% at 56% 50%, #000 80%, rgba(0,0,0,.45) 92%, transparent 100%) !important;
}
.lpc-hero3d__halo {
  filter: blur(34px) brightness(2.1) saturate(1.22) !important;
  transform: scale(1.16) !important;
  opacity: 1 !important;
}
/* voile : assombrit SEULEMENT le bord gauche + le coin bas-gauche (zone copie) */
.lpc-hero3d__veil {
  background:
    linear-gradient(90deg, rgba(6,10,20,.94) 0%, rgba(6,10,20,.5) 17%, transparent 42%),
    radial-gradient(120% 95% at 0% 100%, rgba(6,10,20,.9) 0%, rgba(6,10,20,.3) 40%, transparent 62%) !important;
}
/* scrim : voile sombre EN HAUT pour la lisibilite du titre blanc */
.lpc-hero3d__scrim {
  background: linear-gradient(180deg, rgba(5,9,18,.76) 0%, rgba(5,9,18,.36) 24%, transparent 50%) !important;
}
/* RTL : copie a droite -> on miroite le voile */
html[dir="rtl"] .lpc-hero3d__veil {
  background:
    linear-gradient(270deg, rgba(6,10,20,.94) 0%, rgba(6,10,20,.5) 17%, transparent 42%),
    radial-gradient(120% 95% at 100% 100%, rgba(6,10,20,.9) 0%, rgba(6,10,20,.3) 40%, transparent 62%) !important;
}
/* Mobile : pile verticale, copie sous la photo -> assombrir le BAS, feather doux */
@media (max-width: 900px) {
  .lpc-hero3d__fallback,
  .lpc-hero3d.is-parallax .lpc-hero3d__fallback {
    -webkit-mask-image: radial-gradient(170% 135% at 56% 44%, #000 80%, transparent 100%) !important;
            mask-image: radial-gradient(170% 135% at 56% 44%, #000 80%, transparent 100%) !important;
  }
  .lpc-hero3d__veil {
    background: linear-gradient(180deg, transparent 38%, rgba(6,10,20,.62) 68%, rgba(6,10,20,.94) 100%) !important;
  }
  .lpc-hero3d__scrim {
    background: linear-gradient(180deg, rgba(5,9,18,.84) 0%, rgba(5,9,18,.42) 26%, transparent 54%) !important;
  }
  html[dir="rtl"] .lpc-hero3d__veil {
    background: linear-gradient(180deg, transparent 38%, rgba(6,10,20,.62) 68%, rgba(6,10,20,.94) 100%) !important;
  }
}

/* ---------- RTL : miroiter la photo pour que le setup lumineux passe a GAUCHE ----------
   (la copie est a droite en arabe ; sans ca le voile droit recouvre le sujet).
   On utilise la propriete `scale` (et pas `transform`) pour ne PAS ecraser le
   transform inline de la parallaxe JS. */
html[dir="rtl"] .lpc-hero3d__fallback,
html[dir="rtl"] .lpc-hero3d.is-parallax .lpc-hero3d__fallback,
html[dir="rtl"] .lpc-hero3d__halo {
  scale: -1 1;
}

/* ---------- CORRECTIF MOBILE : empilement titre / photo nette / copie ----------
   Sur etroit, l'overlay titre+copie par-dessus la photo la masquait entierement.
   On donne a la PHOTO sa propre bande (rangee 2), titre au-dessus et copie en
   dessous sur le fond sombre du hero. */
@media (max-width: 900px) {
  .lpc-hero3d {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto 232px auto !important;
    min-height: 0 !important;
  }
  .lpc-hero3d__headline { grid-column: 1 !important; grid-row: 1 !important; padding: 24px 22px 12px !important; }
  .lpc-hero3d__stage   { grid-column: 1 !important; grid-row: 2 !important; min-height: 232px !important; height: 232px !important; }
  .lpc-hero3d__veil    { grid-column: 1 !important; grid-row: 2 !important; }
  .lpc-hero3d__scrim   { grid-column: 1 !important; grid-row: 2 !important; }
  .lpc-hero3d__copy    { grid-column: 1 !important; grid-row: 3 !important; align-self: start !important; padding: 16px 22px 28px !important; }
  /* photo propre : feather doux des 4 bords, voiles legers (juste pour fondre les bords) */
  .lpc-hero3d__fallback,
  .lpc-hero3d.is-parallax .lpc-hero3d__fallback {
    object-position: 70% 50% !important;
    -webkit-mask-image: radial-gradient(122% 122% at 50% 50%, #000 76%, transparent 100%) !important;
            mask-image: radial-gradient(122% 122% at 50% 50%, #000 76%, transparent 100%) !important;
  }
  .lpc-hero3d__scrim { background: linear-gradient(180deg, rgba(5,9,18,.4) 0%, transparent 28%, transparent 72%, rgba(5,9,18,.4) 100%) !important; }
  .lpc-hero3d__veil  { background: linear-gradient(90deg, rgba(6,10,20,.5) 0%, transparent 22%, transparent 78%, rgba(6,10,20,.5) 100%) !important; }
  html[dir="rtl"] .lpc-hero3d__veil { background: linear-gradient(90deg, rgba(6,10,20,.5) 0%, transparent 22%, transparent 78%, rgba(6,10,20,.5) 100%) !important; }
  .lpc-hero3d__headline h1 { font-size: clamp(28px, 8vw, 40px) !important; line-height: 1.08 !important; }
  .lpc-hero3d__actions { gap: 20px !important; }
}

/* ---------- Reglage utilisateur : FLOU DES BORDS PLUS FORT ---------- */
/* halo plus diffus + agrandi ; image nette : coeur net reduit, pourtour feutre
   plus large -> le bord revele davantage le halo flou (bords plus fondus). */
.lpc-hero3d__halo {
  filter: blur(50px) brightness(2.1) saturate(1.22) !important;
  transform: scale(1.22) !important;
  opacity: 1 !important;
}
.lpc-hero3d__fallback,
.lpc-hero3d.is-parallax .lpc-hero3d__fallback {
  -webkit-mask-image: radial-gradient(128% 128% at 56% 50%, #000 66%, rgba(0,0,0,.38) 84%, transparent 100%) !important;
          mask-image: radial-gradient(128% 128% at 56% 50%, #000 66%, rgba(0,0,0,.38) 84%, transparent 100%) !important;
}
@media (max-width: 900px) {
  .lpc-hero3d__halo { filter: blur(42px) brightness(2.1) saturate(1.22) !important; transform: scale(1.24) !important; }
  .lpc-hero3d__fallback,
  .lpc-hero3d.is-parallax .lpc-hero3d__fallback {
    -webkit-mask-image: radial-gradient(122% 122% at 50% 50%, #000 60%, transparent 100%) !important;
            mask-image: radial-gradient(122% 122% at 50% 50%, #000 60%, transparent 100%) !important;
  }
}

/* ==========================================================================
   NOS UNIVERS — grille catégories color-codée (icônes premium, 2026-06)
   Chaque carte porte --c / --c-rgb / --ct (accent par univers, posé en PHP).
   ========================================================================== */
.lpc-cats2 { gap: 14px; }
.lpc-cats2 a { position: relative; padding: 18px 16px; transition: transform .2s var(--lpc-ease), box-shadow .2s var(--lpc-ease), border-color .2s var(--lpc-ease); }
.lpc-cats2 .lpc-cats2__txt { min-width: 0; flex: 1 1 auto; }
.lpc-cats2 b { font-size: 14.5px; }
.lpc-cats2 small { display: block; margin-top: 2px; }

/* Badge d'icône : pastille teintée par univers, qui se remplit au survol */
.lpc-cats2 .ico {
  width: 46px; height: 46px; flex: 0 0 46px; border-radius: 14px;
  background: var(--ct, #EEF4FF);
  color: var(--c, var(--lpc-primary));
  transition: transform .25s var(--lpc-ease), background .25s var(--lpc-ease), color .25s var(--lpc-ease), box-shadow .25s var(--lpc-ease);
}
.lpc-cats2 .ico svg { width: 23px; height: 23px; }
.lpc-cats2 a:hover .ico {
  background: var(--c, var(--lpc-primary)); color: #fff;
  transform: scale(1.06) rotate(-3deg);
  box-shadow: 0 8px 18px -4px rgba(var(--c-rgb, 21,101,240), .5);
}

/* Carte : bord + halo prennent la couleur de l'univers au survol */
.lpc-cats2 a:hover {
  border-color: var(--c, var(--lpc-primary)) !important;
  box-shadow: 0 18px 40px -12px rgba(var(--c-rgb, 21,101,240), .35);
}

/* Chevron d'affordance (apparaît au survol, logique RTL gérée) */
.lpc-cats2__go { margin-inline-start: auto; flex: 0 0 auto; color: var(--c, var(--lpc-primary)); opacity: 0; transform: translateX(-6px); transition: opacity .2s ease, transform .2s ease; }
.lpc-cats2 a:hover .lpc-cats2__go { opacity: 1; transform: translateX(0); }
[dir="rtl"] .lpc-cats2__go { transform: scaleX(-1) translateX(-6px); }
[dir="rtl"] .lpc-cats2 a:hover .lpc-cats2__go { transform: scaleX(-1) translateX(0); }

@media (max-width: 600px) {
  .lpc-cats2 { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .lpc-cats2 a { padding: 14px 12px; }
  .lpc-cats2 .ico { width: 42px; height: 42px; flex-basis: 42px; }
  .lpc-cats2__go { display: none; }
}

/* ==========================================================================
   MIDBANNER « Paiement à la livraison » — réassurance + CTA WhatsApp (2026-06)
   ========================================================================== */
.lpc-midbanner--cod {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(310px, 430px);
  align-items: center;
  gap: 22px 32px;
  overflow: hidden;
  padding: clamp(26px, 4vw, 42px);
  border: 1px solid rgba(156, 192, 255, .22);
  border-radius: 30px;
  background:
    radial-gradient(circle at 18% 10%, rgba(21, 101, 240, .40), transparent 34%),
    radial-gradient(circle at 90% 18%, rgba(225, 0, 15, .26), transparent 30%),
    linear-gradient(135deg, #060B16 0%, #0B1830 48%, #123D95 140%) !important;
  box-shadow: 0 32px 90px rgba(6, 11, 22, .24);
  perspective: 1100px;
  transform-style: preserve-3d;
}

.lpc-midbanner--cod::before,
.lpc-midbanner--cod::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.lpc-midbanner--cod::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: linear-gradient(90deg, rgba(0,0,0,.7), transparent 78%);
  opacity: .38;
}

.lpc-midbanner--cod::after {
  background: linear-gradient(135deg, rgba(255,255,255,.11), transparent 38%);
}

.lpc-midbanner__glow {
  position: absolute;
  right: -8%;
  bottom: -22%;
  width: 48%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(77, 141, 255, .36), transparent 62%);
  filter: blur(2px);
  pointer-events: none;
}

.lpc-midbanner__main {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  gap: 18px;
  min-width: 0;
  grid-column: 1;
  grid-row: 1;
}

.lpc-midbanner .lpc-midbanner__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  flex: 0 0 62px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.06));
  color: #fff;
  box-shadow: 0 18px 34px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.16);
  transform: translateZ(36px);
}

.lpc-midbanner__badge svg {
  width: 29px;
  height: 29px;
}

.lpc-midbanner__text {
  min-width: 0;
}

.lpc-midbanner__eyebrow {
  display: inline-flex !important;
  align-items: center;
  min-height: 28px;
  margin: 0 0 10px !important;
  padding: 0 11px;
  border: 1px solid rgba(134, 239, 172, .24);
  border-radius: 999px;
  background: rgba(34, 197, 94, .12);
  color: #86EFAC !important;
  font-size: 11px !important;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}

.lpc-midbanner__text b {
  display: block;
  max-width: 13ch;
  color: #fff;
  font-size: 42px;
  line-height: .98;
  letter-spacing: 0;
  text-wrap: balance;
}

.lpc-midbanner__text > span:not(.lpc-midbanner__eyebrow) {
  display: block;
  max-width: 58ch;
  margin-top: 14px;
  color: rgba(255,255,255,.72);
  font-size: 15.5px;
  line-height: 1.7;
}

.lpc-midbanner__points {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.lpc-midbanner__points li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.92);
  font-size: 12.5px;
  font-weight: 760;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.lpc-midbanner .lpc-midbanner__points li svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  color: #34D399;
}

.lpc-midbanner__visual {
  position: relative;
  z-index: 2;
  grid-column: 2;
  grid-row: 1 / span 2;
  min-height: 300px;
  transform: rotateY(-9deg) rotateX(4deg) translateZ(30px);
  transform-origin: center;
  transition: transform .35s ease;
}

.lpc-midbanner--cod:hover .lpc-midbanner__visual {
  transform: rotateY(-5deg) rotateX(2deg) translateZ(44px) translateY(-4px);
}

.lpc-midbanner__visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 300px;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 24px;
  box-shadow:
    0 34px 70px rgba(0,0,0,.35),
    0 0 0 1px rgba(255,255,255,.04),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.lpc-midbanner__float {
  position: absolute;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(156, 192, 255, .30);
  border-radius: 999px;
  background: rgba(6, 11, 22, .66);
  color: #EAF2FF;
  font-size: 11.5px;
  font-weight: 850;
  box-shadow: 0 18px 38px rgba(0,0,0,.25);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  animation: lpcCodFloat 5.6s ease-in-out infinite;
}

.lpc-midbanner__float svg {
  width: 15px;
  height: 15px;
  color: #86EFAC;
}

.lpc-midbanner__float--1 {
  left: -20px;
  top: 16%;
}

.lpc-midbanner__float--2 {
  right: -14px;
  top: 34%;
  animation-delay: -1.8s;
}

.lpc-midbanner__float--3 {
  left: 10%;
  bottom: -14px;
  animation-delay: -3.1s;
}

@keyframes lpcCodFloat {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -10px, 0); }
}

.lpc-midbanner__cta {
  position: relative;
  z-index: 2;
  grid-column: 1;
  grid-row: 2;
  justify-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 50px;
  padding-inline: 22px !important;
  border-radius: 999px !important;
  box-shadow: 0 18px 38px rgba(37,211,102,.28);
}

.lpc-midbanner__cta svg {
  flex: 0 0 auto;
}

[dir="rtl"] .lpc-midbanner__points li svg,
[dir="rtl"] .lpc-midbanner__badge svg { transform: scaleX(-1); }

@media (max-width: 920px) {
  .lpc-midbanner--cod {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }

  .lpc-midbanner__main {
    flex-direction: column;
  }

  .lpc-midbanner__text b {
    max-width: 16ch;
    font-size: 38px;
  }

  .lpc-midbanner__cta {
    justify-content: center;
    width: 100%;
    order: 2;
  }

  .lpc-midbanner__visual {
    order: 3;
    min-height: 240px;
    transform: none;
  }

  .lpc-midbanner__visual img {
    min-height: 240px;
  }

  .lpc-midbanner__float--2 {
    right: 10px;
  }
}

@media (max-width: 560px) {
  .lpc-midbanner--cod {
    padding: 22px;
    border-radius: 24px;
  }

  .lpc-midbanner__badge {
    width: 52px !important;
    height: 52px !important;
    flex-basis: 52px !important;
    border-radius: 16px !important;
  }

  .lpc-midbanner__text b {
    font-size: 31px;
  }

  .lpc-midbanner__text > span:not(.lpc-midbanner__eyebrow) {
    font-size: 14.5px;
  }

  .lpc-midbanner__points {
    flex-direction: column;
    align-items: flex-start;
  }

  .lpc-midbanner__visual,
  .lpc-midbanner__visual img {
    min-height: 210px;
  }

  .lpc-midbanner__float {
    font-size: 10.5px;
  }

  .lpc-midbanner__float--1 {
    left: 10px;
    top: 12px;
  }

  .lpc-midbanner__float--2 {
    display: none;
  }

  .lpc-midbanner__float--3 {
    left: 14px;
    bottom: 12px;
  }
}

/* ==========================================================================
   STYLE SIMPLE.MA — 3D boxes sans bordure ni cadre (2026-06)
   ========================================================================== */
.lpc-hero3d-sec {
  padding-inline: 0 !important;
}

.lpc-hero3d {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background:
    radial-gradient(70% 90% at 82% 10%, rgba(127, 42, 255, .36), transparent 58%),
    radial-gradient(60% 70% at 72% 72%, rgba(77, 141, 255, .24), transparent 68%),
    linear-gradient(135deg, #050711 0%, #0A0D1A 42%, #190A3A 100%) !important;
}

.lpc-hero3d::before,
.lpc-hero3d::after {
  border: 0 !important;
  box-shadow: none !important;
}

.lpc-hero3d__stage {
  overflow: visible !important;
}

.lpc-hero3d__fallback,
.lpc-hero3d.is-parallax .lpc-hero3d__fallback {
  filter: brightness(2.08) contrast(1.08) saturate(1.22) drop-shadow(0 38px 72px rgba(0,0,0,.52)) !important;
  -webkit-mask-image: radial-gradient(140% 130% at 56% 48%, #000 58%, rgba(0,0,0,.42) 79%, transparent 100%) !important;
          mask-image: radial-gradient(140% 130% at 56% 48%, #000 58%, rgba(0,0,0,.42) 79%, transparent 100%) !important;
}

.lpc-hero3d__halo {
  filter: blur(62px) brightness(2.25) saturate(1.32) !important;
  opacity: .92 !important;
}

.lpc-hero3d__veil {
  background:
    radial-gradient(90% 95% at 75% 54%, transparent 0%, rgba(8,9,20,.08) 48%, rgba(8,9,20,.88) 100%),
    linear-gradient(90deg, rgba(5,7,17,.96) 0%, rgba(5,7,17,.42) 24%, transparent 54%) !important;
}

.lpc-hero3d__scrim {
  background:
    linear-gradient(180deg, rgba(5,7,17,.72) 0%, rgba(5,7,17,.2) 36%, transparent 60%),
    radial-gradient(58% 52% at 50% 12%, rgba(144, 0, 255, .18), transparent 76%) !important;
}

.lpc-hero3d.is-parallax .lpc-hero3d__hud {
  color: rgba(255,255,255,.88) !important;
  text-shadow: 0 4px 28px rgba(0,0,0,.9), 0 0 16px rgba(140,71,255,.38);
}

.lpc-midbanner--cod {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background:
    radial-gradient(62% 86% at 78% 22%, rgba(134, 62, 255, .34), transparent 62%),
    radial-gradient(42% 64% at 18% 66%, rgba(21, 101, 240, .28), transparent 70%),
    linear-gradient(135deg, #050711 0%, #0A0F21 48%, #1A0936 100%) !important;
}

.lpc-midbanner--cod::before {
  background:
    radial-gradient(90% 110% at 74% 48%, transparent 0%, rgba(5,7,17,.16) 52%, rgba(5,7,17,.72) 100%),
    linear-gradient(90deg, rgba(255,255,255,.06), transparent 36%) !important;
  background-size: auto !important;
  mask-image: none !important;
  opacity: 1 !important;
}

.lpc-midbanner--cod::after {
  background:
    linear-gradient(90deg, rgba(5,7,17,.86) 0%, rgba(5,7,17,.34) 32%, transparent 56%),
    radial-gradient(56% 72% at 76% 46%, rgba(157, 83, 255, .18), transparent 70%) !important;
}

.lpc-midbanner__glow {
  right: 6%;
  bottom: -18%;
  width: 54%;
  background: radial-gradient(circle, rgba(143, 75, 255, .34), rgba(77, 141, 255, .20) 34%, transparent 70%) !important;
  filter: blur(34px) !important;
}

.lpc-midbanner .lpc-midbanner__badge,
.lpc-midbanner__eyebrow,
.lpc-midbanner__points li,
.lpc-midbanner__float {
  border: 0 !important;
  box-shadow: none !important;
}

.lpc-midbanner .lpc-midbanner__badge {
  background: rgba(255,255,255,.08) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.lpc-midbanner__eyebrow,
.lpc-midbanner__points li,
.lpc-midbanner__float {
  background: rgba(255,255,255,.08) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.lpc-midbanner__visual {
  min-height: 340px;
  transform: rotateY(-11deg) rotateX(5deg) translateZ(34px);
  display: flex;
  align-items: center;
  justify-content: center;
  filter: none;
}

.lpc-midbanner--cod:hover .lpc-midbanner__visual {
  transform: rotateY(-7deg) rotateX(3deg) translateZ(50px) translateY(-5px);
}

.lpc-midbanner__visual::before {
  content: "";
  position: absolute;
  inset: -18%;
  z-index: -1;
  background: radial-gradient(closest-side, rgba(108, 58, 255, .42), rgba(77, 141, 255, .16) 48%, transparent 78%);
  filter: blur(34px);
  transform: translateZ(-46px);
  pointer-events: none;
}

.lpc-midbanner__visual img {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: min(114%, 620px) !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  filter: brightness(1.08) contrast(1.06) saturate(1.08) drop-shadow(0 42px 68px rgba(0,0,0,.44));
  -webkit-mask-image: none !important;
          mask-image: none !important;
}

@media (max-width: 900px) {
  .lpc-hero3d-sec {
    padding-inline: 0 !important;
  }

  .lpc-hero3d {
    border-radius: 0 !important;
  }

  .lpc-hero3d__stage {
    overflow: hidden !important;
  }

  .lpc-hero3d__veil {
    background: linear-gradient(180deg, transparent 30%, rgba(5,7,17,.66) 68%, rgba(5,7,17,.96) 100%) !important;
  }

  .lpc-midbanner--cod {
    border-radius: 0 !important;
  }

  .lpc-midbanner__visual {
    min-height: 260px;
    transform: none !important;
    filter: none;
  }

  .lpc-midbanner__visual img {
    min-height: 0 !important;
    width: min(118%, 620px) !important;
  }
}

@media (max-width: 560px) {
  .lpc-midbanner--cod {
    padding-inline: 20px;
  }

  .lpc-midbanner__visual,
  .lpc-midbanner__visual img {
    min-height: 0 !important;
  }
}

/* Liens légaux du footer */
.lpc-footer__legal-links { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 8px; }
.lpc-footer__legal-links a { font-size: 12.5px; color: var(--lpc-muted, #9aa3b2); text-decoration: none; transition: color .15s ease; }
.lpc-footer__legal-links a:hover { color: #fff; text-decoration: underline; }

/* ==========================================================================
   CATALOGUE — barre de filtrage instantané (catégories, marque, prix, stock, tri)
   ========================================================================== */
.lpc-shop { margin: 0 0 24px; }
.lpc-shop__cats { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.lpc-chip { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 16px; border-radius: 100px; border: 1px solid var(--lpc-border, #E6E9F0); background: #fff; color: var(--lpc-navy, #1b2a4a); font-size: 13.5px; font-weight: 600; line-height: 1; cursor: pointer; text-decoration: none !important; white-space: nowrap; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.lpc-chip:hover { border-color: var(--lpc-primary, #1565F0); color: var(--lpc-primary, #1565F0); }
.lpc-chip.is-active { background: var(--lpc-primary, #1565F0); border-color: var(--lpc-primary, #1565F0); color: #fff; }
.lpc-chip--sm { height: 34px; padding: 0 14px; font-size: 12.5px; }
.lpc-shop__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; background: #fff; border: 1px solid #F1F3F7; border-radius: 18px; box-shadow: 0 6px 24px rgba(19,28,49,.04); padding: 14px 18px; }
.lpc-shop__count { font-size: 13.5px; font-weight: 700; color: var(--lpc-navy, #1b2a4a); white-space: nowrap; }
.lpc-shop__brands { display: flex; flex-wrap: wrap; gap: 8px; }
.lpc-toggle { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--lpc-ink, #5B6B82); cursor: pointer; user-select: none; }
.lpc-toggle input { width: 16px; height: 16px; accent-color: var(--lpc-primary, #1565F0); cursor: pointer; }
.lpc-shop__sort { height: 42px; border: 1px solid var(--lpc-border, #E6E9F0); border-radius: 100px; padding: 0 38px 0 16px; font-size: 13.5px; font-weight: 600; color: var(--lpc-ink, #5B6B82); background-color: #fff; cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235B6B82' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
html[dir="rtl"] .lpc-shop__sort { padding: 0 16px 0 38px; background-position: left 14px center; }
.lpc-shop__sort:focus { border-color: var(--lpc-primary, #1565F0); outline: none; }
.lpc-shop__reset { margin-inline-start: auto; background: none; border: none; font-size: 12.5px; font-weight: 600; color: var(--lpc-muted, #9aa3b2); text-decoration: underline; cursor: pointer; }
.lpc-shop__reset:hover { color: var(--lpc-navy, #1b2a4a); }
.lpc-shop__none { margin: 24px 0; font-size: 15px; color: var(--lpc-muted, #6b7280); text-align: center; }
@media (max-width: 768px) {
  .lpc-shop__bar { gap: 12px 14px; padding: 14px; }
  .lpc-shop__sort { flex: 1 1 100%; }
  .lpc-shop__reset { margin-inline-start: 0; }
}

/* Intro de catégorie (description) : bloc aligné à gauche, lisible, visible sur mobile
   — remplace la description centrée du hero Blocksy */
.lpc-shop__intro { max-width: 880px; margin: 0 0 18px; font-size: 14.5px; line-height: 1.7; color: var(--lpc-ink, #5B6B82); text-align: start; }
.lpc-shop__intro p { margin: 0; }
.lpc-shop__intro strong { color: var(--lpc-navy, #1b2a4a); font-weight: 700; }
.tax-product_cat .entry-header .page-description { display: none !important; }
