/* Polices charg?es via <link> dans header.php (?vite @import bloquant). */

:root {
  /* Charte GXS : Noir ? Vert Petronas ? Violet */
  --petronas: #00D2BE;
  --petronas-dark: #00A89A;
  --petronas-glow: rgba(0, 210, 190, 0.45);
  --violet: #8B5CF6;
  --violet-bright: #A78BFA;
  --violet-deep: #6D28D9;
  --violet-glow: rgba(139, 92, 246, 0.4);
  /* Alerte / pending ? violet charte (pas d?or hors th?me) */
  --warn: var(--violet-bright);
  --warn-soft: #A78BFAcc;
  --warn-bg: rgba(139, 92, 246, 0.12);
  --warn-border: rgba(139, 92, 246, 0.35);
  --black: #030304;
  --dark: #0a0a10;
  --card: #101018;

  /* Th?me ? texte & surfaces (mode nuit par d?faut) */
  --text-primary: #ffffff;
  --text-on-accent: #ffffff;
  --text-secondary: #ffffffb3;
  --text-muted: #ffffff99;
  --text-dim: #ffffff80;
  --text-faint: #ffffff66;
  --text-ghost: #ffffff55;
  --text-subtle: #ffffff70;
  --text-whisper: #ffffff4d;
  --text-strong: #ffffffd9;
  --text-emphasis: #ffffffcc;
  --text-fainter: #ffffff45;
  --text-placeholder: #ffffff08;
  --border-faint: #ffffff0d;
  --border-subtle: rgba(255, 255, 255, 0.06);
  --border-light: #ffffff12;
  --border-mid: #ffffff1a;
  --border-default: rgba(139, 92, 246, 0.1);
  --border-strong: rgba(139, 92, 246, 0.15);
  --border-header: rgba(139, 92, 246, 0.12);
  --bg-header: rgba(3, 3, 4, 0.92);
  --bg-card: rgba(16, 16, 24, 0.9);
  --bg-card-solid: #101018;
  --bg-input: rgba(10, 10, 16, 0.9);
  --bg-elevated: rgba(16, 16, 24, 0.65);
  --bg-ticker-start: #06080a;
  --bg-ticker-end: #0a0e12;
  --bg-overlay: rgba(3, 3, 4, 0.9);
  --bg-spotlight-dim: rgba(3, 3, 8, 0.82);
  --bg-tooltip: #12121c;
  --shadow-color: rgba(0, 0, 0, 0.45);
  --hero-glow-petronas: rgba(0, 210, 190, 0.14);
  --hero-glow-violet: rgba(139, 92, 246, 0.16);
  --neon-shadow: rgba(0, 210, 190, 0.15);

  /* Alias (compatibilit? templates existants) */
  --cyan: var(--petronas);
  --magenta: var(--violet);
  --orange: var(--violet-bright);
  --client-link: var(--petronas);
  --client-link-hover: #ffffff;

  --site-header-h: 70px;
  --site-header-offset-h: var(--site-header-h);
  --site-ticker-h: 0px;
  --impersonation-banner-h: 0px;
  --initie-referral-banner-h: 0px;
  --site-top-stack-h: 0px;
  --mega-menu-bar-h: 0px;
  --product-gallery-sticky-gap: 1rem;
  --product-gallery-sticky-top: calc(
    var(--site-header-offset-h) + var(--site-top-stack-h) + var(--initie-referral-banner-h) + var(--mega-menu-bar-h) + var(--product-gallery-sticky-gap)
  );
}
/* Desktop : le m?ga-menu est visible ? ne pas laisser sticky-top ? 0px avant le sync JS. */
@media (min-width: 1025px) {
  :root {
    --mega-menu-bar-h: 4.57rem;
  }
}

.text-muted { color: var(--text-muted); }
.text-dim { color: var(--text-dim); }
.text-faint { color: var(--text-faint); }
.text-ghost { color: var(--text-ghost); }

* { box-sizing: border-box; margin: 0; padding: 0; }

.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 10000;
  padding: .75rem 1.25rem;
  background: var(--petronas);
  color: #000;
  font-weight: 600;
  text-decoration: none;
  border-radius: 4px;
}
.skip-link:focus {
  left: 1rem;
  top: 1rem;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body {
  font-family: 'Rajdhani', sans-serif;
  background: var(--black);
  color: var(--text-primary);
  line-height: 1.5;
  transition: background-color .25s ease, color .25s ease;
}
.font-display { font-family: 'Orbitron', sans-serif; }
.text-gradient {
  background: linear-gradient(135deg, var(--petronas) 0%, var(--violet-bright) 50%, var(--violet) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.neon { text-shadow: 0 0 12px var(--petronas-glow), 0 0 40px var(--neon-shadow); }

.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; min-width: 0; }

@media (max-width: 768px) {
  html,
  body {
    overflow-x: clip;
    max-width: 100%;
  }
  #main-content {
    overflow-x: clip;
    max-width: 100%;
  }
  .container {
    width: 100%;
    max-width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }
}

body.has-site-ticker {
  --site-ticker-h: 36px;
}
body.has-site-ticker:not(.has-impersonation-banner) {
  --site-top-stack-h: var(--site-ticker-h);
}
body.has-impersonation-banner:not(.has-site-ticker) {
  --site-top-stack-h: var(--impersonation-banner-h);
}
body.has-impersonation-banner.has-site-ticker {
  --site-top-stack-h: calc(var(--impersonation-banner-h) + var(--site-ticker-h));
}
body.has-initie-referral-banner {
  --initie-referral-banner-h: 38px;
}
.pt-header {
  padding-top: max(12px, calc(var(--site-header-offset-h) + var(--site-top-stack-h) + var(--initie-referral-banner-h) + 20px));
}
@media (min-width: 1025px) {
  /* M?ga-menu sticky sous le header : compter sa hauteur r?elle, annuler le d?calage flux. */
  .pt-header {
    padding-top: max(12px, calc(var(--site-header-offset-h) + var(--site-top-stack-h) + var(--initie-referral-banner-h) + var(--mega-menu-bar-h) + 20px));
    margin-top: calc(-1 * var(--mega-menu-bar-h));
  }
}
.page-auth-main {
  padding-bottom: 4rem;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.page-auth-card {
  width: 100%;
  max-width: 420px;
  flex: 0 1 420px;
  min-width: 0;
  box-sizing: border-box;
}
.sticky-below-header {
  position: sticky;
  top: calc(var(--site-header-offset-h) + var(--site-top-stack-h) + var(--initie-referral-banner-h) + 30px);
}

.site-top-stack {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 90;
  display: flex;
  flex-direction: column;
}
.site-top-stack .impersonation-banner {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  z-index: auto;
  flex-shrink: 0;
}
.site-top-stack .site-ticker-bar {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  z-index: auto;
  flex-shrink: 0;
}

/* Bandeau ticker (sticky haut de page) */
.site-ticker-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 110;
  height: var(--site-ticker-h);
  display: flex;
  align-items: stretch;
  background: linear-gradient(180deg, var(--bg-ticker-start) 0%, var(--bg-ticker-end) 100%);
  border-bottom: 1px solid rgba(0, 210, 190, 0.35);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.45);
  overflow: hidden;
  isolation: isolate;
  contain: layout style;
}
.site-ticker-bar::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    90deg,
    transparent,
    transparent 2px,
    rgba(0, 210, 190, 0.03) 2px,
    rgba(0, 210, 190, 0.03) 3px
  );
  pointer-events: none;
  transform: translateZ(0);
  z-index: 2;
}
.site-ticker-live {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: 0 .85rem;
  background: rgba(0, 210, 190, 0.1);
  border-right: 1px solid rgba(0, 210, 190, 0.25);
  position: relative;
  z-index: 1;
}
.site-ticker-pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--petronas);
  box-shadow: 0 0 8px var(--petronas-glow);
  animation: siteTickerPulse 1.4s ease-in-out infinite;
}
.site-ticker-live-text {
  font-size: .62rem;
  letter-spacing: .22em;
  color: var(--petronas);
  font-weight: 700;
}
.site-ticker-viewport {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  position: relative;
  z-index: 1;
  contain: layout paint;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 1.5%, #000 98.5%, transparent);
}
.site-ticker-track {
  display: flex;
  width: max-content;
  height: 100%;
  align-items: center;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform;
  animation: siteTickerScroll var(--site-ticker-duration, 38s) linear infinite;
}
/* Vinyls on this LIVE bar: slower fallback until JS sets duration from measured width (~38 px/s). */
.site-ticker-bar--has-vinyl {
  --site-ticker-duration: 95s;
}
/* Pause on the stable viewport, not the moving track (hover flicker = stutter). */
.site-ticker-viewport:hover .site-ticker-track,
.site-ticker-viewport:focus-within .site-ticker-track {
  animation-play-state: paused;
}
.site-ticker-group {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  padding-right: 3rem;
}
.site-ticker-item {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  white-space: nowrap;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .03em;
  color: #ffffffd9;
  padding: 0 .65rem;
}
.site-ticker-tag {
  font-family: Orbitron, sans-serif;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .08em;
  padding: .15rem .4rem;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff99;
}
.site-ticker-tag--up {
  background: rgba(0, 210, 190, 0.15);
  color: var(--petronas);
  border: 1px solid rgba(0, 210, 190, 0.35);
}
.site-ticker-tag--warn {
  background: var(--warn-bg);
  color: var(--warn);
  border: 1px solid var(--warn-border);
}
.site-ticker-tag--vinyl {
  background: rgba(167, 139, 250, 0.12);
  color: var(--violet-bright);
  border: 1px solid rgba(139, 92, 246, 0.35);
  /* No scale/transform: would fight the track's translate3d marquee. */
}
.site-ticker-tag--initie {
  background: rgba(0, 210, 190, 0.12);
  color: var(--petronas);
  border: 1px solid rgba(0, 210, 190, 0.35);
}
.site-ticker-countdown,
.weekly-promo-countdown:not(.weekly-operation-countdown) {
  font-family: Orbitron, sans-serif;
  font-size: .72rem;
  font-weight: 700;
  color: var(--warn);
  letter-spacing: .06em;
  font-variant-numeric: tabular-nums;
  min-width: 8ch;
  display: inline-block;
}
.site-ticker-item--vinyl { color: var(--violet-bright); }
/* Thumbs sized in CSS so a vinyl photo cannot thrash the marquee layout. */
.site-ticker-vinyl-thumb {
  width: 22px;
  height: 22px;
  border-radius: 3px;
  object-fit: cover;
  flex-shrink: 0;
  display: block;
  background: rgba(255, 255, 255, 0.08);
}
.site-ticker-item--initie { color: var(--petronas); }
.site-ticker-item--closure { color: var(--warn); }
.site-ticker-item--promo { color: var(--petronas); }
.site-ticker-item--info { color: #ffffffd9; }
.site-ticker-link {
  color: inherit;
  text-decoration: none;
  transition: opacity .2s;
}
.site-ticker-link:hover { opacity: .85; text-decoration: underline; text-underline-offset: 2px; }
.site-ticker-code {
  font-family: Orbitron, sans-serif;
  font-size: .68rem;
  padding: .12rem .45rem;
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(0, 210, 190, 0.45);
  color: var(--petronas);
  letter-spacing: .08em;
}
.site-ticker-promo-scope {
  font-size: .68rem;
  color: rgba(255, 255, 255, 0.72);
  letter-spacing: .02em;
  white-space: nowrap;
  padding: .1rem .45rem;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.site-ticker-bar .site-ticker-promo-code {
  font-size: .76rem;
  font-weight: 700;
  padding: .2rem .65rem;
  border-radius: 6px;
  color: #fff;
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.35), rgba(124, 58, 237, 0.4));
  border: 1px solid rgba(0, 210, 190, 0.75);
  letter-spacing: .14em;
  text-transform: uppercase;
  box-shadow: 0 0 10px rgba(0, 210, 190, 0.35);
  animation: siteTickerPromoPulse 2.2s ease-in-out infinite;
}
@keyframes siteTickerPromoPulse {
  0%, 100% {
    color: var(--petronas);
    border-color: rgba(0, 210, 190, 0.55);
    box-shadow: 0 0 8px rgba(0, 210, 190, 0.25);
  }
  50% {
    color: #fff;
    border-color: rgba(0, 210, 190, 1);
    box-shadow: 0 0 14px rgba(0, 210, 190, 0.55), 0 0 22px rgba(124, 58, 237, 0.35);
  }
}
.site-ticker-sep {
  width: 1px;
  height: 14px;
  background: rgba(0, 210, 190, 0.25);
  margin: 0 .75rem;
  flex-shrink: 0;
}
@media (max-width: 640px) {
  body.has-site-ticker {
    --site-ticker-h: 42px;
  }
  body.has-impersonation-banner.has-site-ticker {
    --site-top-stack-h: calc(var(--impersonation-banner-h) + var(--site-ticker-h));
  }
  .site-ticker-live {
    padding: 0 .55rem;
  }
  .site-ticker-live-text {
    font-size: .55rem;
    letter-spacing: .16em;
  }
  .site-ticker-item {
    font-size: .72rem;
    gap: .4rem;
    padding: 0 .45rem;
  }
  .site-ticker-countdown {
    font-size: .66rem;
    letter-spacing: .04em;
  }
  .site-ticker-promo-scope {
    font-size: .62rem;
    max-width: 9rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .site-ticker-promo-code {
    font-size: .7rem;
    letter-spacing: .1em;
    flex-shrink: 0;
  }
}
@keyframes siteTickerScroll {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(var(--site-ticker-shift, -50%), 0, 0); }
}
@keyframes siteTickerPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .55; }
}
@media (prefers-reduced-motion: reduce) {
  .site-ticker-track { animation: none; flex-wrap: wrap; width: 100%; justify-content: flex-start; padding: .35rem .5rem; will-change: auto; transform: none; }
  .site-ticker-group[aria-hidden="true"] { display: none; }
  .site-ticker-viewport { mask-image: none; overflow: auto; transform: none; }
  .site-ticker-pulse { animation: none; }
  .site-ticker-promo-code { animation: none; transform: none; }
}
body.has-site-ticker .skip-link:focus,
body.has-impersonation-banner .skip-link:focus {
  top: calc(var(--site-top-stack-h) + .5rem);
}

/* Header */
.site-header {
  position: fixed;
  top: var(--site-top-stack-h);
  left: 0;
  right: 0;
  z-index: 100;
  background: var(--bg-header);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border-header);
}
.site-header .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  height: var(--site-header-h);
}
.mega-menu {
  position: sticky;
  top: calc(var(--site-top-stack-h) + var(--site-header-offset-h) + var(--initie-referral-banner-h));
  z-index: 98;
  background: #050506;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  --mega-menu-bar-h: 4.57rem;
  /* Hauteur max du panneau : au-delà, les catégories passent à droite. */
  --mega-menu-panel-max-h: 550px;
  /* Inclut le filet séparateur et son retrait : la largeur de texte utile reste ~13.75rem. */
  --mega-menu-cats-col-w: 14.75rem;
}
@media (min-width: 1025px) {
  .site-nav-mobile-cats { display: none; }
}
.mega-menu-bar-inner {
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  gap: 0;
  width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.mega-menu-bar-inner::-webkit-scrollbar { display: none; }
.mega-menu-group {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
}
.mega-menu-group:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 20%;
  bottom: 20%;
  width: 1px;
  background: rgba(255, 255, 255, .18);
  pointer-events: none;
  z-index: 1;
}
.mega-menu-group.is-open:not(:last-child)::after,
.mega-menu-group:not(:last-child):has(+ .mega-menu-group.is-open)::after,
.mega-menu-group:not(:last-child):has(+ .mega-menu-group .mega-menu-tab.is-active)::after {
  background: rgba(0, 0, 0, .14);
}
.mega-menu-tab {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  width: 100%;
  min-height: 4.57rem;
  padding: .55rem .5rem .7rem;
  text-decoration: none;
  color: #ffffffcc;
  transition: color .15s, background .15s, box-shadow .15s;
  --mega-tab-accent: var(--petronas);
}
.mega-menu-tab-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 2rem;
  color: inherit;
}
.mega-menu-tab-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.nav-cat-icon-img {
  display: block;
  width: auto;
  height: 1.85rem;
  max-width: 3.5rem;
  object-fit: contain;
  mix-blend-mode: screen;
  pointer-events: none;
}
.mega-menu-tab:hover .nav-cat-icon-img,
.mega-menu-tab.is-active .nav-cat-icon-img,
.mega-menu-group.is-open > .mega-menu-tab .nav-cat-icon-img {
  mix-blend-mode: multiply;
  filter: invert(1);
}
.mega-menu-tab-label {
  font-family: 'Orbitron', sans-serif;
  font-size: .62rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  text-align: center;
  line-height: 1.25;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mega-menu-tab:hover,
.mega-menu-group.is-open > .mega-menu-tab,
.mega-menu-tab.is-active {
  color: #050506;
  background: #fff;
  box-shadow: inset 0 -3px 0 var(--mega-tab-accent, var(--petronas));
}
.mega-menu-tab:hover .mega-menu-tab-icon,
.mega-menu-group.is-open > .mega-menu-tab .mega-menu-tab-icon,
.mega-menu-tab.is-active .mega-menu-tab-icon {
  color: var(--mega-tab-accent, var(--petronas));
}
.mega-menu-tab.is-active::after,
.mega-menu-group.is-open > .mega-menu-tab::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -1px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #f4f5f7;
  z-index: 2;
}
.mega-menu-panels {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 1;
  pointer-events: none;
  contain: layout style;
}
.mega-menu.is-open .mega-menu-panels {
  pointer-events: auto;
  box-shadow: 0 24px 48px rgba(0, 0, 0, .35);
}
.mega-menu-panel[hidden] {
  display: none !important;
}
.mega-menu-panel {
  background: #f4f5f7;
  color: #1a1a1f;
  border-top: 1px solid rgba(0, 0, 0, .06);
}
.mega-menu-panel-inner {
  padding: 1.35rem 0 1.75rem;
}
@media (min-width: 1025px) {
  .mega-menu-panel {
    height: auto;
    max-height: var(--mega-menu-panel-max-h);
    overflow: hidden;
  }
  .mega-menu-panel-inner {
    height: auto;
    max-height: var(--mega-menu-panel-max-h);
    padding: .75rem 0 1rem;
    overflow: hidden;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .mega-menu-panel-head {
    flex-shrink: 0;
    margin-bottom: .7rem;
    padding-bottom: .55rem;
  }
  .mega-menu-panel-title {
    flex-shrink: 0;
  }
  /* Size to content; shrink + scroll only when panel hits max-height. */
  .mega-menu-panel-body {
    flex: 0 1 auto;
    min-height: 0;
    height: auto;
    max-height: 100%;
    overflow: hidden;
    align-items: start;
    align-content: start;
  }
  /* Catégories : colonnes verticales côte à côte (packing JS → .mega-menu-col-stack).
     Hauteur plafonnée à 550px ; le surplus ouvre une colonne à droite. */
  .mega-menu-columns {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-content: flex-start !important;
    align-items: flex-start !important;
    grid-template-columns: none !important;
    gap: 0 1rem !important;
    height: auto;
    max-height: calc(var(--mega-menu-panel-max-h) - 4.75rem);
    width: max-content;
    max-width: none;
  }
  .mega-menu-columns > .mega-menu-col,
  .mega-menu-columns > .mega-menu-col-stack {
    flex: 0 0 auto;
    width: var(--mega-menu-cats-col-w);
    max-width: var(--mega-menu-cats-col-w);
  }
  .mega-menu-col-stack {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-height: 100%;
    overflow: hidden;
    border-left: 1px solid rgba(17, 24, 39, .12);
  }
  /* Sélecteur descendant obligatoire : la règle de base `.mega-menu-col-stack`
     (padding: 0), déclarée plus bas dans le fichier, écraserait un retrait simple. */
  .mega-menu-columns > .mega-menu-col-stack {
    padding-left: 1rem;
  }
  /* Une colonne plus haute que le panneau reste seule dans sa pile : sans défilement
     interne, la fin de la liste serait purement invisible pour le visiteur. */
  .mega-menu-col-stack--scroll {
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 161, 154, .4) transparent;
  }
  .mega-menu-col-stack--scroll::-webkit-scrollbar {
    width: 5px;
  }
  .mega-menu-col-stack--scroll::-webkit-scrollbar-thumb {
    background: rgba(17, 24, 39, .2);
    border-radius: 999px;
  }
  .mega-menu-columns > .mega-menu-col-stack:first-child,
  .mega-menu-columns > .mega-menu-col:first-child {
    border-left: none;
    padding-left: 0;
  }
  /* Mode « titres à gauche, sous-catégories à droite » : la pile occupe toute la largeur
     disponible et sert de repère au volet déplié, les titres gardant leur colonne étroite. */
  .mega-menu-columns--flyout {
    width: 100%;
  }
  .mega-menu-columns > .mega-menu-col-stack--flyout {
    position: relative;
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
    height: 100%;
    overflow: visible;
  }
  .mega-menu-col-stack > .mega-menu-col {
    width: 100%;
    max-width: none;
    border-left: none;
    padding-left: 0;
  }
  /* Déclarée après la pile ordinaire, qui étire ses blocs sur toute sa largeur : ici la pile
     couvre le panneau entier, mais les titres doivent rester dans leur colonne étroite pour
     laisser la place au volet. */
  .mega-menu-col-stack--flyout > .mega-menu-col {
    width: var(--mega-menu-cats-col-w);
    max-width: var(--mega-menu-cats-col-w);
    flex: 0 0 auto;
  }
  .mega-menu-panel-categories {
    height: auto;
    max-height: calc(var(--mega-menu-panel-max-h) - 4.75rem);
    min-height: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 161, 154, .35) transparent;
  }
  .mega-menu-panel-categories::-webkit-scrollbar {
    width: 6px;
  }
  .mega-menu-panel-categories::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, .22);
    border-radius: 999px;
  }
  .mega-menu-products {
    height: auto;
    max-height: 100%;
    min-width: 0;
    min-height: 0;
    align-self: start;
    overflow-x: hidden;
    overflow-y: hidden; /* no scrollbar */
  }
  .mega-menu-products-grid {
    height: auto;
    max-height: none;
    overflow: visible;
  }
}
.mega-menu-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding-bottom: .85rem;
  border-bottom: 2px solid rgba(0, 0, 0, .08);
}
@media (max-width: 1024px) {
  /* Mobile: always 1 col (override desktop :has 2-col !important) */
  .mega-menu-panel-body,
  .mega-menu-panel-body:has(> .mega-menu-products) {
    grid-template-columns: 1fr !important;
    gap: 0.85rem !important;
  }
  .mega-menu-columns {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    height: auto !important;
    max-height: none !important;
    width: 100% !important;
  }
  .mega-menu-columns > .mega-menu-col,
  .mega-menu-columns > .mega-menu-col-stack {
    width: 100% !important;
    max-width: none !important;
  }
  .mega-menu-col-stack {
    border-left: none !important;
    padding-left: 0 !important;
  }
  .mega-menu-panel-categories {
    max-height: none !important;
    overflow: visible !important;
  }
  .mega-menu-products {
    grid-column: 1;
    max-width: none;
    min-width: 0;
    border-left: none;
    padding-left: 0;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(0, 0, 0, .08);
  }
}
.mega-menu-panel-head-main {
  display: flex;
  align-items: baseline;
  gap: 1.1rem;
  min-width: 0;
}
.mega-menu-panel-title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.35;
  white-space: nowrap;
  overflow: visible;
  min-width: min-content;
}
.mega-menu-panel-title a {
  display: block;
  padding-bottom: .3rem;
  color: #111;
  text-decoration: none;
  white-space: nowrap;
  overflow: visible;
  box-shadow: inset 0 -3px 0 var(--petronas, #00a19a);
}
.mega-menu-panel-title a:hover { color: #000; }
.mega-menu-panel-all {
  font-size: .74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-family: 'Orbitron', sans-serif;
  color: var(--petronas-dark, #00a19a);
  text-decoration: none;
  white-space: nowrap;
}
.mega-menu-panel-all:hover {
  color: #006b5c;
  text-decoration: underline;
}
.mega-menu-panel-close {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(17, 24, 39, .14);
  border-radius: 50%;
  background: #fff;
  color: #6b7280;
  font-size: .8rem;
  line-height: 1;
  cursor: pointer;
  transition: color .15s, border-color .15s, background .15s;
}
.mega-menu-panel-close:hover {
  color: #111;
  border-color: rgba(0, 161, 154, .5);
  background: rgba(0, 161, 154, .08);
}
.mega-menu-panel-close:focus-visible {
  outline: 2px solid var(--petronas, #00a19a);
  outline-offset: 2px;
}
@media (max-width: 1024px) {
  .mega-menu-panel-close { display: none; }
}
.mega-menu-columns {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: flex-start;
  align-items: flex-start;
  gap: 0 1.25rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.mega-menu-col {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  min-width: 0;
  overflow: hidden;
  border-bottom: 1px solid rgba(0, 0, 0, .07);
  /* Garde le bloc catégorie entier dans une même colonne flex. */
  break-inside: avoid;
  page-break-inside: avoid;
}
.mega-menu-col:last-child {
  border-bottom: none;
}
.mega-menu-col-stack {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.mega-menu-col-stack > .mega-menu-col {
  margin-bottom: 0;
  padding-left: 0;
  border-left: none;
}
.mega-menu-col-stack > .mega-menu-col + .mega-menu-col {
  padding-top: 0;
  border-top: none;
}
.mega-menu-col:not(.mega-menu-col--row-start),
.mega-menu-col.mega-menu-col--row-start {
  padding-left: 0;
  border-left: none;
}
.mega-menu-col-stack .mega-menu-col:not(.mega-menu-col--row-start) {
  padding-left: 0;
  border-left: none;
}
@media (min-width: 1025px) {
  .mega-menu-panel-inner.container {
    max-width: min(100%, 1440px);
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
.mega-menu-col-title {
  margin: 0;
  padding: .7rem .65rem .45rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.4;
  white-space: normal;
  overflow: visible;
  overflow-wrap: anywhere;
  word-break: normal;
  text-overflow: clip;
  /* Filet de 2px : segment vert pétrole sous l'amorce du titre, puis trait neutre
     jusqu'au bout de la colonne — l'œil repère le début de chaque bloc. */
  background:
    linear-gradient(90deg, var(--petronas, #00a19a) 0 2.25rem, rgba(17, 24, 39, .12) 2.25rem) left bottom / 100% 2px no-repeat,
    linear-gradient(90deg, rgba(0, 161, 154, .06) 0%, transparent 72%);
  border-bottom: none;
}
.mega-menu-col-title a,
.mega-menu-col-title-link {
  display: flex;
  align-items: flex-start;
  gap: .45rem;
  color: #111;
  text-decoration: none;
  white-space: normal;
  overflow: visible;
  overflow-wrap: anywhere;
}
.mega-menu-col-title-text {
  flex: 1 1 auto;
  min-width: 0;
}
.mega-menu-col-title a:hover,
.mega-menu-col-title-link:hover { color: #000; }
.mega-menu-col-title.is-current .mega-menu-col-title-link,
.mega-menu-col-title-link.is-current {
  color: var(--petronas, #00a19a);
  box-shadow: inset 3px 0 0 var(--petronas, #00a19a);
  padding-left: .55rem;
  margin-left: -.55rem;
  border-radius: 2px;
}
.mega-menu-col-current-marker {
  flex: 0 0 auto;
  margin-left: .2rem;
  font-size: .95em;
  font-weight: 800;
  color: var(--petronas, #00a19a);
  line-height: 1.2;
}
.mega-menu-panel-title.is-current a {
  color: var(--petronas, #00a19a);
  box-shadow: inset 0 -2px 0 var(--petronas, #00a19a);
}
.mega-menu-panel-current-marker {
  font-weight: 800;
  color: var(--petronas, #00a19a);
}
.mega-menu-col-link.is-current {
  color: var(--petronas, #00a19a);
  font-weight: 700;
  background: rgba(0, 161, 154, .1);
  border-left-color: var(--petronas, #00a19a);
}
.mega-menu-col-link.is-current .mega-menu-col-chevron {
  color: var(--petronas, #00a19a);
  font-weight: 800;
}
.mega-menu-col.is-current {
  position: relative;
}
.mega-menu-brand-swatch {
  position: relative;
  flex-shrink: 0;
  align-self: flex-start;
  width: 13px;
  height: 13px;
  margin-top: .24rem;
  border: none;
  border-radius: 50%;
  box-shadow:
    0 0 0 1.5px rgba(255, 255, 255, .96),
    0 0 0 2.5px rgba(17, 24, 39, .1),
    0 2px 5px rgba(17, 24, 39, .14);
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
.mega-menu-brand-swatch::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, .44) 0%,
    rgba(255, 255, 255, .1) 36%,
    transparent 52%,
    rgba(0, 0, 0, .16) 100%
  );
  pointer-events: none;
}
.mega-menu-col-link:hover .mega-menu-brand-swatch,
.mega-menu-col-title-link:hover .mega-menu-brand-swatch {
  transform: scale(1.14);
  box-shadow:
    0 0 0 1.5px rgba(255, 255, 255, .96),
    0 0 0 2.5px rgba(0, 161, 154, .3),
    0 3px 8px rgba(17, 24, 39, .18);
}
.mega-menu-col-link.is-current .mega-menu-brand-swatch,
.mega-menu-col-title-link.is-current .mega-menu-brand-swatch {
  box-shadow:
    0 0 0 1.5px rgba(255, 255, 255, .96),
    0 0 0 2.5px rgba(0, 161, 154, .48),
    0 2px 7px rgba(0, 161, 154, .24);
}
.mega-menu-col-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  color: var(--petronas, #00a19a);
}
.mega-menu-col-icon--badge {
  width: auto;
  min-width: 2.35rem;
  margin-top: .02rem;
}
.mega-menu-col-icon--badge .mega-menu-badge-icon {
  display: block;
  width: auto;
  height: 15px;
  max-width: 3.4rem;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .28));
}
.mega-menu-col-title-link .mega-menu-col-icon--badge .mega-menu-badge-icon {
  height: 16px;
}
.mega-menu-col-icon svg,
.mega-menu-col-icon img {
  display: block;
  width: 26px;
  height: auto;
  max-height: 18px;
}
.mega-menu-col-title-link .mega-menu-col-icon {
  width: 32px;
  margin-top: .1rem;
}
.mega-menu-col-title-link .mega-menu-col-icon svg,
.mega-menu-col-title-link .mega-menu-col-icon img {
  width: 32px;
  max-height: 20px;
}
.mega-menu-brand-swatch--title {
  width: 15px;
  height: 15px;
  margin-top: .12rem;
  box-shadow:
    0 0 0 2px rgba(255, 255, 255, .96),
    0 0 0 3px rgba(17, 24, 39, .11),
    0 3px 8px rgba(17, 24, 39, .16);
}
.mega-menu-col-title-link:hover .mega-menu-brand-swatch--title {
  transform: scale(1.1);
}
/* Rappel du titre réservé au volet latéral : sur mobile la rubrique est déjà juste au-dessus
   de ses liens, le répéter n'apprendrait rien. */
.mega-menu-col-flyout-title {
  display: none;
}
.mega-menu-col-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mega-menu-col-list > li {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  padding: .12rem 0;
}
@media (min-width: 1025px) {
  .mega-menu-col-list {
    display: flex;
    flex-direction: column;
    column-width: auto;
    columns: auto;
    height: auto;
    max-height: none;
    overflow: visible;
    padding: .35rem .5rem .65rem;
    gap: .05rem;
  }
}

/* Navigation en deux temps sur ordinateur : le panneau présente d'abord les rubriques,
   puis la liste d'une rubrique se déploie au survol ou au clic de son titre. Sur mobile,
   où il n'y a pas de survol, tout reste dépliée. */
@media (min-width: 1025px) {
  .mega-menu-col:not(.is-expanded) > .mega-menu-col-flyout {
    display: none;
  }
  /* Le volet se cale sur la pile de titres, jamais sur la rubrique : celle-ci ne doit donc
     ni servir de repère de positionnement (ce que ferait la règle de la rubrique courante)
     ni rogner ce qui sort de sa colonne étroite. */
  .mega-menu-col-stack--flyout > .mega-menu-col {
    position: static;
    overflow: visible;
  }
  /* Les sous-catégories s'ouvrent à droite de la liste des rubriques, dans la place laissée
     libre par les titres : le panneau garde sa hauteur, les titres gardent leur position, et
     l'espace vide à droite sert enfin à quelque chose. Le repère est la pile de titres, dont
     la largeur est fixe : la liste occupe tout ce qui vient après. */
  .mega-menu-col.is-expanded > .mega-menu-col-flyout {
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(var(--mega-menu-cats-col-w) + 1.5rem);
    right: 0;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding-left: 1.5rem;
    border-left: 1px solid rgba(17, 24, 39, .12);
  }
  .mega-menu-col-flyout-title {
    display: block;
    flex: 0 0 auto;
    margin: 0 0 .6rem;
    padding-bottom: .35rem;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #111;
    border-bottom: 2px solid var(--petronas, #00a19a);
    align-self: flex-start;
  }
  /* Liste longue : elle se répartit en colonnes journal sur la largeur disponible plutôt que
     de défiler — 56 marques restent lisibles d'un seul coup d'œil. */
  .mega-menu-col-flyout > .mega-menu-col-list {
    display: block;
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow: hidden;
    column-width: 10rem;
    column-gap: 1.25rem;
    column-fill: auto;
  }
  /* Liste courte : la place gagnée sert à la lisibilité plutôt qu'à du blanc. Le script
     n'accorde ce confort qu'après avoir vérifié que tout tient encore sans défilement. */
  .mega-menu-col.is-roomy > .mega-menu-col-flyout > .mega-menu-col-list {
    column-width: 13rem;
  }
  .mega-menu-col.is-roomy .mega-menu-col-link {
    padding: .5rem .6rem;
    font-size: 1rem;
  }
  .mega-menu-col.is-roomy .mega-menu-col-flyout-title {
    font-size: .95rem;
  }
  .mega-menu-col.is-scrollable > .mega-menu-col-flyout > .mega-menu-col-list {
    overflow: auto;
  }
  /* Sous-catégories en pastilles : elles se suivent sur la ligne et reprennent en dessous.
     Les colonnes journal n'ont plus lieu d'être, c'est le retour à la ligne qui range. */
  .mega-menu-col-flyout > .mega-menu-col-list--chips {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: .4rem;
    columns: auto;
    column-width: auto;
  }
  .mega-menu-col-flyout > .mega-menu-col-list--chips > li {
    max-width: 100%;
  }
  /* Pastille : le lien se referme sur son texte au lieu de tenir la largeur d'une colonne. Le
     chevron disparaît, il annonçait une liste en accordéon que cette disposition n'a plus.
     Réservé au volet : sur mobile, les sous-catégories restent une liste dépliée. */
  .mega-menu-col-flyout > .mega-menu-col-list--chips .mega-menu-col-link {
    align-items: center;
    padding: .32rem .7rem;
    border: 1px solid rgba(17, 24, 39, .14);
    border-radius: 999px;
    line-height: 1.35;
  }
  .mega-menu-col-flyout > .mega-menu-col-list--chips .mega-menu-col-chevron {
    display: none;
  }
  .mega-menu-col-flyout > .mega-menu-col-list--chips .mega-menu-col-link-text {
    flex: 0 1 auto;
  }
  .mega-menu-col-flyout > .mega-menu-col-list--chips .mega-menu-col-link:hover,
  .mega-menu-col-flyout > .mega-menu-col-list--chips .mega-menu-col-link.is-current {
    border-color: rgba(0, 161, 154, .55);
  }
  .mega-menu-col.is-roomy .mega-menu-col-flyout > .mega-menu-col-list--chips .mega-menu-col-link {
    padding: .4rem .85rem;
  }
  .mega-menu-col-flyout > .mega-menu-col-all {
    flex: 0 0 auto;
    align-self: flex-start;
    margin: .35rem 0 0;
  }
  .mega-menu-col-title-link::after {
    content: '\203A';
    flex: 0 0 auto;
    align-self: center;
    opacity: .45;
    transition: transform .18s ease, opacity .18s ease;
  }
  .mega-menu-col.is-expanded > .mega-menu-col-title .mega-menu-col-title-link::after {
    transform: rotate(90deg);
    opacity: 1;
  }
  /* Rubrique sans sous-catégorie : le chevron ne pivote pas, rien ne se déplie sous lui.
     Elle reste soulignée pour dire de quelle catégorie viennent les produits affichés. */
  .mega-menu-col--leaf.is-expanded > .mega-menu-col-title .mega-menu-col-title-link::after {
    transform: none;
  }
  .mega-menu-col.is-expanded > .mega-menu-col-title {
    background:
      linear-gradient(90deg, var(--petronas, #00a19a) 0 100%) left bottom / 100% 2px no-repeat,
      linear-gradient(90deg, rgba(0, 161, 154, .1) 0%, transparent 72%);
  }
}
.mega-menu-col-link {
  display: flex;
  align-items: flex-start;
  gap: .4rem;
  padding: .4rem .55rem;
  font-size: .88rem;
  font-weight: 500;
  color: #374151;
  text-decoration: none;
  line-height: 1.45;
  min-width: 0;
  border-radius: 6px;
  border-left: 3px solid transparent;
  transition: color .15s, background .15s, border-color .15s;
}
.mega-menu-col-link:hover {
  color: #111;
  background: rgba(0, 161, 154, .07);
  border-left-color: rgba(0, 161, 154, .45);
}
.mega-menu-col-link-text {
  white-space: normal;
  overflow: visible;
  overflow-wrap: anywhere;
  word-break: normal;
  text-overflow: clip;
  min-width: 0;
  flex: 1 1 auto;
}
.mega-menu-col-chevron {
  flex-shrink: 0;
  color: #9ca3af;
  font-size: .95rem;
  line-height: 1.2;
}
.mega-menu-col-link:hover .mega-menu-col-chevron { color: #111; }
.mega-menu-col-all {
  display: inline-flex;
  align-items: center;
  margin: -.2rem .5rem .55rem;
  padding: .15rem .55rem;
  font-family: 'Orbitron', sans-serif;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--petronas-dark, #00a19a);
  text-decoration: none;
  border-radius: 5px;
  transition: color .15s, background .15s;
}
.mega-menu-col-all:hover {
  color: #006b5c;
  background: rgba(0, 161, 154, .08);
}

/* NUCLEAR layout: 1-col DEFAULT (no reserved Top-produits track).
   2-col ONLY when a direct child .mega-menu-products exists in the DOM. */
.mega-menu-panel-body {
  display: grid;
  grid-template-columns: 1fr !important;
  gap: 0;
  align-items: stretch;
  min-height: 0;
  width: 100%;
}
.mega-menu-panel-body:has(> .mega-menu-products) {
  /* Vignette agrandie : la colonne s'élargit d'autant, sinon le titre du produit
     n'aurait plus que quelques caractères par ligne. */
  grid-template-columns: minmax(0, 1fr) minmax(300px, 410px) !important;
  gap: 1.25rem;
}
/* Rubrique sans sous-catégories : le volet ne s'ouvre pas, la zone qui lui était réservée
   revient aux produits. Les titres gardent leur colonne, les cartes prennent le reste. */
.mega-menu-panel-body:has(> .mega-menu-products).mega-menu-panel-body--wide-products {
  grid-template-columns: calc(var(--mega-menu-cats-col-w) + 1.5rem) minmax(0, 1fr) !important;
}
.mega-menu-panel-body--wide-products > .mega-menu-products {
  max-width: none;
}
/* Quatre colonnes au plus : la piste minimale vaut le quart de la largeur, si bien qu'une
   cinquième carte ne peut pas s'y glisser, et 13rem prend le relais sur un écran plus court. */
.mega-menu-panel-body--wide-products .mega-menu-products-grid {
  grid-template-columns: repeat(auto-fill, minmax(max(13rem, (100% - 3 * .7rem) / 4), 1fr));
  gap: .7rem;
}
/* Vignette au-dessus du texte : à cette largeur, la carte en ligne laisserait une bande vide
   sous chaque produit alors que la hauteur du panneau, elle, est déjà réservée. */
.mega-menu-panel-body--wide-products .mega-menu-product--card {
  flex-direction: column;
  align-items: stretch;
  gap: .5rem;
}
.mega-menu-panel-body--wide-products .mega-menu-product--card .mega-menu-product-img {
  width: 100%;
  height: 7.5rem;
}
.mega-menu-panel-categories {
  grid-column: 1;
  min-width: 0;
  width: 100%;
  max-width: none;
}
.mega-menu-panel-body:has(> .mega-menu-products) .mega-menu-panel-categories {
  max-width: 100%;
}
.mega-menu-panel-body:not(:has(> .mega-menu-products)) .mega-menu-columns,
.mega-menu-panel-body--full-categories .mega-menu-columns {
  width: max-content;
  max-width: none;
  grid-template-columns: none;
}
/* Encart produits retiré faute de place : la piste qui lui était réservée doit disparaître
   avec lui. Le sélecteur :has() ne voit que sa présence dans le balisage, pas son affichage,
   et laisserait sinon une colonne vide large de 410 px à côté des sous-catégories. */
.mega-menu-panel-body--full-categories:has(> .mega-menu-products) {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0;
}
/* Mode volet : la zone des rubriques doit couvrir toute la largeur du panneau, puisque c'est
   elle qui réserve la place où s'ouvrent les sous-catégories. Réglée ici, après la largeur
   « au plus juste » des panneaux sans encart produits, qui la contredirait autrement. */
.mega-menu-panel-body:not(:has(> .mega-menu-products)) .mega-menu-columns--flyout,
.mega-menu-panel-body--full-categories .mega-menu-columns--flyout,
.mega-menu-panel-body .mega-menu-columns--flyout {
  width: 100%;
  max-width: none;
}
.mega-menu-panel-body:not(:has(> .mega-menu-products)) .mega-menu-panel-categories,
.mega-menu-panel-body--full-categories .mega-menu-panel-categories {
  display: block;
  overflow-x: auto;
  overflow-y: hidden;
}
.mega-menu-col--hidden,
.mega-menu-col[hidden] {
  display: none !important;
}
.mega-menu-product--hidden,
.mega-menu-product[hidden] {
  display: none !important;
}
.mega-menu-products--hidden {
  display: none !important;
}
.mega-menu-products {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  min-width: 0; /* track size comes from parent grid only — never invent empty width */
  max-width: 410px;
  display: flex;
  flex-direction: column;
  border-left: 1px solid rgba(0, 0, 0, .08);
  padding-left: 1.25rem;
  overflow: hidden;
  min-height: 0;
  height: auto;
  align-self: start; /* don't stretch to categories — avoids empty product column */
  box-sizing: border-box;
  flex-shrink: 0;
}
.mega-menu-products-title {
  margin: 0 0 .65rem;
  padding-bottom: .4rem;
  flex-shrink: 0;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .08em;
  color: #111;
  background:
    linear-gradient(90deg, var(--petronas, #00a19a) 0 2.25rem, rgba(17, 24, 39, .12) 2.25rem) left bottom / 100% 2px no-repeat;
}
.mega-menu-products-grid {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: auto;
  gap: .5rem;
  align-items: start;
  align-content: start;
  width: 100%;
  height: auto;
}
.mega-menu-products-grid > .mega-menu-product {
  height: auto;
  min-height: 0;
  max-height: none;
}
.mega-menu-product {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .4rem;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  transition: background .15s, box-shadow .15s;
}
.mega-menu-product:hover {
  background: rgba(0, 0, 0, .04);
}
.mega-menu-product--card {
  flex-direction: row;
  align-items: center;
  gap: .65rem;
  height: auto;
  min-height: 0;
  min-width: 0;
  padding: .4rem;
  background: #fff;
  border: 1px solid rgba(17, 24, 39, .07);
  box-shadow: 0 1px 3px rgba(17, 24, 39, .05);
  overflow: hidden;
}
.mega-menu-product--card:hover {
  background: #fff;
  border-color: rgba(0, 161, 154, .35);
  box-shadow: 0 4px 14px rgba(17, 24, 39, .09);
}
.mega-menu-product-img {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 4px;
  overflow: hidden;
  background: #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mega-menu-product--card .mega-menu-product-img {
  position: relative;
  flex: 0 0 auto;
  width: 9.5rem;
  height: 7rem;
  border-radius: 6px;
  background: #f1f2f4;
}
/* Remise en cours : la pastille reprend le violet des badges promo du catalogue, pour que
   le menu et les fiches parlent le même langage. */
.mega-menu-product-badge {
  position: absolute;
  top: .25rem;
  left: .25rem;
  padding: .1rem .35rem;
  border-radius: 999px;
  background: var(--violet, #7c3aed);
  color: #fff;
  font-family: 'Orbitron', sans-serif;
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .03em;
  line-height: 1.5;
  white-space: nowrap;
  box-shadow: 0 1px 4px rgba(17, 24, 39, .25);
}
.mega-menu-product-badge--pro {
  background: var(--petronas-dark, #007a68);
}
.mega-menu-product-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* Vignette large et courte : un kit déco recadré en « cover » perd ses bords,
   donc on garde l'objet entier dans la carte. */
.mega-menu-product--card .mega-menu-product-img img {
  object-fit: contain;
}
.mega-menu-product-placeholder {
  font-family: 'Orbitron', sans-serif;
  font-size: 1.1rem;
  color: #6b7280;
}
.mega-menu-product-info {
  min-width: 0;
}
.mega-menu-product-name {
  display: block;
  font-size: .78rem;
  line-height: 1.35;
  color: #111;
}
.mega-menu-product--card .mega-menu-product-info {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: .1rem;
  min-width: 0;
}
.mega-menu-product--card .mega-menu-product-name {
  font-size: .74rem;
  font-weight: 700;
  line-height: 1.25;
  color: #111;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
}
.mega-menu-product-meta {
  display: block;
  font-size: .66rem;
  line-height: 1.3;
  color: #6b7280;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mega-menu-product-price {
  display: block;
  margin-top: .15rem;
  font-size: .72rem;
  color: #008f7a;
  font-weight: 600;
}
.mega-menu-product--card .mega-menu-product-price {
  margin-top: .05rem;
  font-size: .74rem;
  font-weight: 700;
  color: #007a68;
}
.mega-menu-product-price--promo {
  color: var(--violet, #7c3aed);
}
.mega-menu-product-compare {
  margin-left: .3rem;
  font-size: .66rem;
  font-weight: 500;
  color: #9ca3af;
}

.site-nav-mobile-head { display: none; }
.site-nav-mobile-cats {
  display: none;
  width: 100%;
  margin-top: .5rem;
  padding-top: .75rem;
  border-top: 1px solid var(--border-header);
}
.site-nav-mobile-cats-label {
  display: block;
  font-family: 'Orbitron', sans-serif;
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--petronas);
  margin-bottom: .5rem;
}
.site-nav-mobile-item {
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.site-nav-mobile-item-row {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-height: 2.75rem;
}
.site-nav-mobile-item-trigger {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.site-nav-mobile-item-trigger:focus-visible {
  outline: 2px solid rgba(0, 210, 190, .45);
  outline-offset: 2px;
}
.site-nav-mobile-item-trigger .site-nav-mobile-item-link {
  pointer-events: none;
}
.site-nav-mobile-item-trigger .site-nav-mobile-item-chevron {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  margin-left: auto;
  border: 1px solid var(--border-default);
  border-radius: 8px;
  background: var(--bg-input);
  color: var(--text-primary);
}
.site-nav-mobile-item-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 1.75rem;
  margin-right: .15rem;
  color: var(--petronas);
}
.site-nav-mobile-item-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.site-nav-mobile-item-icon .nav-cat-icon-img {
  width: auto;
  height: 1.55rem;
  max-width: 2.65rem;
  max-height: 100%;
  object-fit: contain;
  mix-blend-mode: screen;
}
.site-nav-mobile-item-link {
  flex: 1;
  min-width: 0;
  color: var(--text-primary);
  text-decoration: none;
  font-family: 'Orbitron', sans-serif;
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .55rem 0 .55rem .1rem;
}
.site-nav-mobile-item--depth-1 .site-nav-mobile-item-link,
.site-nav-mobile-item--depth-2 .site-nav-mobile-item-link,
.site-nav-mobile-item--depth-3 .site-nav-mobile-item-link {
  font-family: inherit;
  font-size: .84rem;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
  color: #ffffffb3;
}
.site-nav-mobile-item-link.is-active,
.site-nav-mobile-item-link:hover { color: var(--petronas); }
.site-nav-mobile-item-all {
  display: block;
  padding: .45rem .65rem .55rem;
  margin: 0 0 .35rem .35rem;
  font-size: .78rem;
  font-weight: 600;
  color: var(--petronas);
  text-decoration: none;
  border-radius: 8px;
  background: rgba(0, 210, 190, .06);
}
.site-nav-mobile-item-all:hover,
.site-nav-mobile-item-all.is-active {
  color: #fff;
  background: rgba(0, 210, 190, .12);
}
.site-nav-mobile-item-toggle {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  margin: 0;
  padding: 0;
  border: 1px solid var(--border-default);
  border-radius: 8px;
  background: var(--bg-input);
  color: var(--text-primary);
  cursor: pointer;
}
.site-nav-mobile-item-chevron {
  display: block;
  font-size: 1rem;
  line-height: 1;
  transition: transform .2s ease;
}
.site-nav-mobile-item-chevron::before { content: '?'; }
.site-nav-mobile-item.is-open > .site-nav-mobile-item-row .site-nav-mobile-item-chevron,
.site-nav-mobile-item.is-open > .site-nav-mobile-item-trigger .site-nav-mobile-item-chevron {
  transform: rotate(90deg);
}
.site-nav-mobile-item-panel {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 0 .35rem .35rem;
  margin: 0 0 .25rem .5rem;
  border-left: 1px solid rgba(255, 255, 255, .08);
}
.site-nav-mobile-item-panel[hidden] {
  display: none !important;
}
.site-nav-mobile-item--depth-0 > .site-nav-mobile-item-panel {
  margin-left: 0;
  padding-left: 0;
  border-left: none;
}
.site-nav-mobile-item--depth-1 > .site-nav-mobile-item-panel {
  margin-left: .35rem;
}
.logo { font-family: 'Orbitron', sans-serif; font-weight: 900; font-size: 1.25rem; text-decoration: none; color: var(--text-primary); }
.logo span { color: var(--petronas); }
.logo-stack {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.05;
  gap: .1rem;
}
.logo-stack .logo-title span { color: var(--petronas); }
.logo-sub {
  font-size: .52rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: lowercase;
  color: #ffffff80;
}
.header-actions { display: flex; gap: .65rem; align-items: center; flex-shrink: 0; }
.catalog-lang-dropdown {
  position: relative;
  padding-bottom: .55rem;
  margin-bottom: -.55rem;
}
.catalog-lang-dropdown-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  min-width: auto;
  width: auto;
  height: 2.35rem;
  padding: 0 .65rem;
  cursor: pointer;
  font: inherit;
  color: inherit;
}
.catalog-lang-flag {
  font-size: 1.05rem;
  line-height: 1;
}
.catalog-lang-current {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
}
.catalog-lang-chevron {
  margin-left: -.1rem;
}
.catalog-lang-dropdown.is-open .catalog-lang-chevron {
  transform: rotate(180deg);
}
.catalog-lang-menu {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 140;
  min-width: 10.5rem;
  padding: .4rem;
  border-radius: 12px;
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  box-shadow: 0 14px 40px rgba(0, 0, 0, .38);
  backdrop-filter: blur(12px);
  display: none;
}
.catalog-lang-menu-link {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .55rem .75rem;
  border-radius: 8px;
  color: var(--text-primary);
  text-decoration: none;
  font-size: .84rem;
  font-weight: 500;
  transition: background .15s, color .15s;
}
.catalog-lang-menu-link:hover {
  background: rgba(0, 210, 190, .08);
  color: var(--petronas);
}
.catalog-lang-menu-link.is-active {
  background: rgba(0, 210, 190, .12);
  color: var(--petronas);
}
.catalog-lang-menu-text {
  display: flex;
  flex-direction: column;
  gap: .1rem;
  line-height: 1.15;
}
.catalog-lang-menu-label {
  font-weight: 600;
}
.catalog-lang-menu-code {
  font-size: .68rem;
  letter-spacing: .06em;
  color: var(--text-faint);
  text-transform: uppercase;
}
.catalog-lang-menu-link.is-active .catalog-lang-menu-code {
  color: rgba(0, 210, 190, .75);
}
@media (min-width: 1025px) {
  .catalog-lang-dropdown:hover .catalog-lang-menu,
  .catalog-lang-dropdown:focus-within .catalog-lang-menu {
    display: block;
  }
  .catalog-lang-dropdown:hover .catalog-lang-menu::before,
  .catalog-lang-dropdown:focus-within .catalog-lang-menu::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: -.55rem;
    height: .55rem;
  }
}
@media (max-width: 1024px) {
  .site-header,
  .site-header .inner,
  .header-actions {
    overflow: visible;
  }
  .catalog-lang-dropdown {
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .catalog-lang-dropdown.is-open {
    z-index: 220;
  }
  .catalog-lang-dropdown.is-open .catalog-lang-menu {
    display: block;
    z-index: 1000;
  }
  .catalog-lang-dropdown.is-open .catalog-lang-menu.is-mobile-floating {
    top: auto;
    bottom: auto;
    left: auto;
    box-shadow: 0 10px 36px rgba(0, 0, 0, .55);
  }
}
.header-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  min-width: 2.35rem;
  height: 2.35rem;
  padding: 0 .55rem;
  border: 1px solid var(--border-strong);
  border-radius: 10px;
  background: var(--bg-input);
  color: var(--text-primary);
  text-decoration: none;
  line-height: 1;
  flex-shrink: 0;
  box-sizing: border-box;
}
.header-action-btn:hover { border-color: var(--petronas); color: var(--petronas); }
.header-cart-link.header-action-btn { position: relative; padding: 0; width: 2.35rem; }
.header-cart-icon { font-size: 1.05rem; line-height: 1; }
.site-nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 1px solid var(--border-strong);
  border-radius: 10px;
  background: var(--bg-input);
  cursor: pointer;
  flex-shrink: 0;
}
.site-nav-toggle-bar {
  display: block;
  width: 1.1rem;
  height: 2px;
  margin: 0 auto;
  background: var(--text-primary);
  border-radius: 2px;
  transition: transform .2s, opacity .2s;
}
body.site-nav-open .site-nav-toggle-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
body.site-nav-open .site-nav-toggle-bar:nth-child(2) { opacity: 0; }
body.site-nav-open .site-nav-toggle-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.site-nav-backdrop {
  position: fixed;
  inset: 0;
  z-index: 119;
  background: rgba(3, 3, 4, .72);
  backdrop-filter: blur(4px);
}
.site-nav {
  flex: 1;
  min-width: 0;
  display: flex;
  justify-content: center;
}
.site-nav-inner {
  display: flex;
  align-items: center;
  gap: .25rem;
}
.site-nav-links {
  display: flex;
  align-items: center;
  gap: .15rem 1.25rem;
  flex-wrap: wrap;
  justify-content: center;
}
.site-nav-link {
  appearance: none;
  border: 0;
  background: none;
  color: var(--text-secondary);
  text-decoration: none;
  font-family: 'Orbitron', sans-serif;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  padding: .45rem .15rem;
  cursor: pointer;
  white-space: nowrap;
  transition: color .15s;
}
.site-nav-link:hover,
.site-nav-link.is-active { color: var(--petronas); }
.site-nav-dropdown { position: relative; }
.site-nav-dropdown-toggle { display: inline-flex; align-items: center; gap: .25rem; }
.site-nav-chevron { font-size: .55rem; opacity: .75; transition: transform .15s; }
.site-nav-dropdown.is-open .site-nav-chevron { transform: rotate(180deg); }
.site-nav-dropdown-panel {
  position: absolute;
  top: calc(100% + .65rem);
  left: 50%;
  transform: translateX(-50%);
  z-index: 130;
  min-width: min(92vw, 420px);
  max-width: 480px;
  padding: .75rem;
  border-radius: 14px;
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  box-shadow: 0 18px 48px rgba(0, 0, 0, .4);
  backdrop-filter: blur(14px);
}
.site-nav-dropdown-panel--wide {
  min-width: min(94vw, 560px);
  max-width: 620px;
}
.site-nav-categories {
  display: grid;
  grid-template-columns: 1fr;
  gap: .35rem;
  max-height: min(60vh, 360px);
  overflow: auto;
}
.site-nav-category {
  display: block;
  padding: .65rem .75rem;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  border: 1px solid transparent;
  transition: background .15s, border-color .15s;
}
.site-nav-category:hover,
.site-nav-category.is-active {
  background: rgba(0, 210, 190, .08);
  border-color: rgba(0, 210, 190, .22);
}
.site-nav-category-name {
  display: block;
  font-family: 'Orbitron', sans-serif;
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-primary);
}
.site-nav-category-group {
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  padding-bottom: .35rem;
  margin-bottom: .35rem;
}
.site-nav-category-group:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
.site-nav-category--parent {
  display: flex;
  align-items: center;
  gap: .55rem;
}
.site-nav-category-icon {
  flex-shrink: 0;
  width: 2rem;
  height: 1.2rem;
  color: var(--petronas);
}
.site-nav-category-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.site-nav-category--parent .site-nav-category-name {
  color: var(--petronas);
  font-weight: 700;
}
.site-nav-categories--icons .site-nav-category-group {
  display: grid;
  grid-template-columns: 1fr;
}
.site-nav-category-children {
  padding: 0 0 .25rem .65rem;
  display: flex;
  flex-direction: column;
  gap: .15rem;
}
.site-nav-category--child {
  padding: .4rem .6rem;
}
.site-nav-category--child .site-nav-category-name {
  font-size: .66rem;
  text-transform: none;
  letter-spacing: .02em;
  font-family: inherit;
  color: #ffffff99;
}
.site-nav-category-desc {
  display: block;
  margin-top: .2rem;
  font-size: .75rem;
  color: var(--text-secondary);
  line-height: 1.35;
}
.site-nav-mobile-extras { display: none; }
.header-login-link {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-family: 'Orbitron', sans-serif;
  white-space: nowrap;
}
.header-login-label {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-family: 'Orbitron', sans-serif;
  white-space: nowrap;
}
.header-account-label { display: none; }
.header-actions a { color: var(--text-primary); text-decoration: none; position: relative; }
.header-account-dropdown {
  position: relative;
  padding-bottom: .55rem;
  margin-bottom: -.55rem;
}
.header-account-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  line-height: 1;
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  color: inherit;
  text-decoration: none;
}
.header-account-icon svg,
.site-nav-mobile-extra-icon svg {
  width: 1.35rem;
  height: 1.35rem;
  display: block;
}
.header-account-link:hover { color: var(--petronas); }
.header-account-menu {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 140;
  min-width: 11.5rem;
  padding: .4rem;
  border-radius: 12px;
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  box-shadow: 0 14px 40px rgba(0, 0, 0, .38);
  backdrop-filter: blur(12px);
  display: none;
}
.header-account-menu-link {
  display: block;
  padding: .55rem .75rem;
  border-radius: 8px;
  color: var(--text-primary);
  text-decoration: none;
  font-size: .84rem;
  font-weight: 500;
  transition: background .15s, color .15s;
}
.header-account-menu-link:hover {
  background: rgba(0, 210, 190, .08);
  color: var(--petronas);
}
.header-account-menu-link--accent {
  color: var(--petronas);
  font-weight: 600;
}
@media (min-width: 1025px) {
  .header-login-link.header-action-btn {
    width: auto;
    min-width: auto;
    height: 2.35rem;
    padding: 0 .85rem;
  }
  .header-account-dropdown:hover .header-account-menu,
  .header-account-dropdown:focus-within .header-account-menu {
    display: block;
  }
  .header-account-dropdown:hover .header-account-menu::before,
  .header-account-dropdown:focus-within .header-account-menu::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: -.55rem;
    height: .55rem;
  }
}
@media (max-width: 1024px) {
  .header-account-dropdown.is-open .header-account-menu {
    display: block;
  }
}

.header-search {
  position: relative;
  flex: 1;
  max-width: 320px;
  margin: 0 .75rem 0 1.25rem;
}
.header-search-form {
  display: flex;
  align-items: center;
  gap: .35rem;
  background: var(--bg-input);
  border: 1px solid var(--border-strong);
  border-radius: 999px;
  padding: .2rem .2rem .2rem .75rem;
  transition: border-color .2s, box-shadow .2s;
}
.header-search.is-open .header-search-form,
.header-search-form:focus-within {
  border-color: rgba(0, 210, 190, 0.45);
  box-shadow: 0 0 0 2px rgba(0, 210, 190, 0.1);
}
.header-search-icon {
  color: var(--text-secondary);
  font-size: .95rem;
  line-height: 1;
  flex-shrink: 0;
}
.header-search-input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--text-primary);
  font-family: inherit;
  font-size: .85rem;
  padding: .45rem 0;
  outline: none;
}
.header-search-input::placeholder { color: var(--text-secondary); opacity: .85; }
.header-search-input::-webkit-search-cancel-button { cursor: pointer; }
.header-search-submit {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--violet-deep), var(--petronas));
  color: var(--text-on-accent);
  font-size: .95rem;
  line-height: 1;
  cursor: pointer;
  transition: transform .15s;
}
.header-search-submit:hover { transform: scale(1.05); }
.header-search-dropdown {
  position: absolute;
  top: calc(100% + .5rem);
  left: 0;
  right: 0;
  z-index: 120;
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .35);
  overflow: hidden;
  backdrop-filter: blur(12px);
}
.header-search-status {
  margin: 0;
  padding: .85rem 1rem;
  font-size: .84rem;
  color: var(--text-secondary);
}
.header-search-list {
  max-height: min(60vh, 380px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.header-search-hit {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .65rem .85rem;
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid var(--border-default);
  transition: background .15s;
}
.header-search-hit:last-child { border-bottom: 0; }
.header-search-hit:hover,
.header-search-hit.is-active {
  background: rgba(0, 210, 190, 0.08);
}
.header-search-thumb {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
  background: var(--bg-input);
}
.header-search-thumb--letter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Orbitron', sans-serif;
  font-weight: 700;
  color: var(--petronas);
  font-size: 1.1rem;
}
.header-search-hit-body {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
}
.header-search-hit-cat {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--petronas);
}
.header-search-hit-name {
  font-size: .88rem;
  font-weight: 600;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.header-search-hit-price {
  font-size: .8rem;
  color: var(--text-secondary);
}
.header-search-hit-price--hidden {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--petronas);
}
.header-search-view-all {
  display: block;
  padding: .75rem 1rem;
  text-align: center;
  font-size: .78rem;
  font-family: 'Orbitron', sans-serif;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--petronas);
  text-decoration: none;
  border-top: 1px solid var(--border-default);
  background: rgba(0, 210, 190, 0.04);
}
.header-search-view-all:hover { background: rgba(0, 210, 190, 0.1); }

.moto-nav-panel {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: .65rem .75rem;
}
.moto-nav-panel > .moto-category-cascade {
  display: contents;
}
.moto-nav-quick-search {
  flex: 1.15 1 0;
  min-width: min(100%, 10.5rem);
  margin-bottom: 0;
}
.moto-category-level {
  flex: 1 1 0;
  min-width: min(100%, 7.5rem);
}
.moto-category-level .label,
.moto-nav-quick-search .label,
.moto-product-picker .label {
  margin-bottom: .35rem;
}
.moto-category-level .input,
.moto-category-level select,
.moto-product-picker .input,
.moto-product-picker select {
  width: 100%;
  min-width: 0;
}
.moto-category-select.is-loading {
  opacity: 0.65;
  cursor: wait;
}
.moto-product-picker {
  flex: 1 1 0;
  min-width: min(100%, 8rem);
  margin-top: 0;
}
.moto-category-breadcrumb {
  font-size: .82rem;
  color: #ffffff80;
  margin-top: .5rem;
}
.moto-nav-panel > .moto-product-picker:not([hidden]) {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
}
.moto-nav-panel:not(:has(.moto-product-picker:not([hidden]))) > .moto-category-level:last-of-type {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
}

.attr-moto-combo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.moto-product-combo { margin-top: .5rem; }
@media (max-width: 640px) {
  .attr-moto-combo-grid { grid-template-columns: 1fr; }
}

.attr-moto-search { position: relative; max-width: 100%; }
.attr-moto-search-row {
  display: flex;
  align-items: stretch;
  gap: .45rem;
}
.attr-moto-search-field {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
}
.attr-moto-search-submit {
  flex-shrink: 0;
  width: 2.35rem;
  height: auto;
  min-height: 2.65rem;
  padding: 0 .55rem;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--violet-deep), var(--petronas));
  color: var(--text-on-accent);
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  transition: transform .15s ease, opacity .15s ease;
}
.attr-moto-search-submit:hover { transform: scale(1.03); }
.attr-moto-search-submit:disabled {
  opacity: .45;
  cursor: default;
  transform: none;
}
.attr-moto-search-icon {
  position: absolute;
  left: .85rem;
  color: var(--petronas);
  font-size: 1rem;
  pointer-events: none;
  z-index: 1;
}
.attr-moto-search-input {
  width: 100%;
  padding-left: 2.35rem !important;
  padding-right: 2.5rem !important;
}
.attr-moto-search-input.has-value {
  border-color: var(--petronas);
  background: rgba(0, 210, 190, 0.06);
}
.attr-moto-search-clear {
  position: absolute;
  right: .55rem;
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-primary);
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
}
.attr-moto-search-clear:hover { background: rgba(255, 255, 255, 0.14); }
.attr-moto-search-dropdown {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + .35rem);
  z-index: 40;
  max-height: 280px;
  overflow: auto;
  border: 1px solid var(--border-default);
  border-radius: 12px;
  background: var(--bg-card-solid, var(--card));
  box-shadow: 0 12px 40px var(--shadow-color, rgba(0, 0, 0, 0.35));
}
.attr-moto-search-status {
  margin: 0;
  padding: .65rem .85rem;
  font-size: .82rem;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border-faint);
}
.attr-moto-search-list {
  list-style: none;
  margin: 0;
  padding: .35rem 0;
}
.attr-moto-search-item { margin: 0; }
.attr-moto-search-option {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: .45rem;
  width: 100%;
  padding: .4rem .65rem;
  border: none;
  background: transparent;
  color: var(--text-primary);
  text-align: left;
  cursor: pointer;
  font: inherit;
}
.attr-moto-search-option:hover,
.attr-moto-search-option.is-active {
  background: rgba(0, 210, 190, 0.1);
}
.attr-moto-search-option-thumb {
  width: 26px;
  height: 26px;
  border-radius: 6px;
  object-fit: contain;
  object-position: center;
  flex-shrink: 0;
  background: rgba(255, 255, 255, .06);
}
.attr-moto-search-option-thumb--letter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Orbitron', sans-serif;
  font-weight: 700;
  color: var(--petronas);
  font-size: .72rem;
}
.attr-moto-search-option-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .12rem;
  min-width: 0;
  flex: 1 1 auto;
}
.attr-moto-search-option-brand {
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--petronas);
  font-weight: 600;
}
.attr-moto-search-option-name {
  font-size: .84rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.attr-moto-search-option-year {
  color: var(--text-muted);
  font-size: .85em;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: 1px solid var(--border-default);
  border-radius: 10px;
  background: var(--bg-card);
  color: var(--text-primary);
  cursor: pointer;
  transition: border-color .2s, color .2s, background .2s;
  font-family: inherit;
  line-height: 1;
}
.theme-toggle:hover {
  border-color: var(--petronas);
  color: var(--petronas);
}
.theme-toggle-icon { font-size: 1.05rem; }
.theme-toggle .icon-sun { display: inline; }
.theme-toggle .icon-moon { display: none; }
.cart-badge {
  position: absolute; top: -8px; right: -10px;
  background: var(--violet); font-size: 10px; width: 18px; height: 18px;
  border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold;
}
.cart-badge-bump { animation: cartBadgeBump .45s ease; }
.header-cart-shake { animation: cartIconShake .5s ease; }
@keyframes cartBadgeBump {
  0%, 100% { transform: scale(1); }
  40% { transform: scale(1.35); background: var(--petronas); }
  70% { transform: scale(0.9); }
}
@keyframes cartIconShake {
  0%, 100% { transform: rotate(0); }
  25% { transform: rotate(-12deg); }
  75% { transform: rotate(12deg); }
}

/* Cards & buttons */
.card {
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  border-radius: 16px; padding: 1.5rem; backdrop-filter: blur(8px);
}
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .75rem 1.5rem; font-family: 'Orbitron', sans-serif; font-weight: 700;
  font-size: .8rem; text-transform: uppercase; letter-spacing: .1em;
  border-radius: 12px; text-decoration: none; border: none; cursor: pointer; transition: .3s;
}
.btn-primary {
  background: linear-gradient(135deg, var(--violet-deep), var(--violet), var(--petronas));
  color: var(--text-on-accent);
}
.btn-primary:hover {
  box-shadow: 0 0 30px var(--violet-glow), 0 0 60px rgba(0, 210, 190, 0.15);
  transform: scale(1.02);
}
.btn-outline {
  border: 2px solid var(--petronas);
  color: var(--petronas);
  background: transparent;
}
.btn-outline:hover { background: rgba(0, 210, 190, 0.08); }
.btn-ghost {
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #ffffffb8;
  background: rgba(255, 255, 255, 0.04);
}
.btn-ghost:hover {
  color: #fff;
  border-color: rgba(0, 210, 190, 0.4);
  background: rgba(0, 210, 190, 0.08);
}
.input {
  width: 100%; background: var(--bg-input);
  border: 1px solid var(--border-strong);
  border-radius: 12px; padding: .75rem 1rem; color: var(--text-primary); font-family: inherit; font-size: 1rem;
}
.input:focus {
  outline: none;
  border-color: rgba(0, 210, 190, 0.45);
  box-shadow: 0 0 0 2px rgba(0, 210, 190, 0.1);
}
.label { display: block; font-size: .85rem; color: var(--text-secondary); margin-bottom: .35rem; }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.contact-form textarea.input { min-height: 140px; resize: vertical; }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.home-features {
  padding: 0 20px 4rem;
  margin-top: 2.75rem;
}
.hero .home-features--in-hero {
  width: 100%;
  margin: 1.75rem auto 0;
  padding: 0;
  position: relative;
  z-index: 2;
}
.page-home .hero:has(.home-features--in-hero) {
  padding-bottom: 3rem;
}
.home-features-grid {
  gap: 1.25rem;
}
.home-feature-card {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: 1rem 1.1rem;
  border-color: rgba(255, 255, 255, 0.08);
}
.home-feature-body {
  min-width: 0;
  flex: 1 1 auto;
}
.home-feature-icon {
  width: 44px;
  height: 44px;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  flex-shrink: 0;
}
.home-feature-icon svg {
  width: 22px;
  height: 22px;
  display: block;
}
.home-feature-icon--custom {
  color: var(--petronas);
  background: rgba(0, 210, 190, 0.1);
  box-shadow: inset 0 0 0 1px rgba(0, 210, 190, 0.28);
}
.home-feature-icon--shipping {
  color: var(--violet-bright, #a78bfa);
  background: rgba(139, 92, 246, 0.1);
  box-shadow: inset 0 0 0 1px rgba(139, 92, 246, 0.28);
}
.home-feature-icon--payment {
  color: var(--cyan);
  background: rgba(56, 189, 248, 0.1);
  box-shadow: inset 0 0 0 1px rgba(56, 189, 248, 0.28);
}
.home-feature-icon--chat {
  color: var(--petronas);
  background: rgba(0, 210, 190, 0.1);
  box-shadow: inset 0 0 0 1px rgba(0, 210, 190, 0.28);
}
.home-feature-title {
  margin: 0 0 .2rem;
  font-size: .92rem;
  line-height: 1.2;
}
.home-feature-text {
  color: #ffffff80;
  font-size: .82rem;
  line-height: 1.45;
  margin: 0;
}
html[data-store-theme="light"] .home-feature-card {
  border-color: rgba(0, 0, 0, 0.08);
}
html[data-store-theme="light"] .home-feature-icon--custom,
html[data-store-theme="light"] .home-feature-icon--chat {
  color: #0d9488;
  background: rgba(13, 148, 136, 0.08);
  box-shadow: inset 0 0 0 1px rgba(13, 148, 136, 0.22);
}
html[data-store-theme="light"] .home-feature-icon--shipping {
  color: #7c3aed;
  background: rgba(124, 58, 237, 0.08);
  box-shadow: inset 0 0 0 1px rgba(124, 58, 237, 0.22);
}
html[data-store-theme="light"] .home-feature-icon--payment {
  color: #0284c7;
  background: rgba(2, 132, 199, 0.08);
  box-shadow: inset 0 0 0 1px rgba(2, 132, 199, 0.22);
}
html[data-store-theme="light"] .home-feature-text {
  color: #4b5563;
}
@media (max-width: 640px) {
  .home-features {
    margin-top: 2rem;
    padding-bottom: 3rem;
  }
  .hero .home-features--in-hero {
    margin-top: 1.25rem;
  }
  .home-features-grid {
    gap: 1rem;
  }
}
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
@media (max-width: 1100px) {
  .site-nav-links { gap: .15rem .85rem; }
  .site-nav-link { font-size: .62rem; }
  .header-search { max-width: 200px; margin-left: .5rem; }
}
@media (max-width: 1024px) {
  body.site-nav-open { overflow: hidden; }
  .site-header {
    max-width: 100vw;
    overflow-x: clip;
  }
  .site-nav-toggle { display: inline-flex; }
  .site-header .inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas:
      "logo navbtn actions"
      "search search search";
    align-items: center;
    column-gap: .4rem;
    row-gap: .35rem;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: var(--site-header-h);
    padding: .55rem 0;
    box-sizing: border-box;
  }
  .logo,
  .logo.logo-image {
    grid-area: logo;
    order: unset;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }
  .logo.logo-image img {
    max-height: 2.35rem;
    width: auto;
    max-width: 100%;
    object-fit: contain;
  }
  .site-nav-toggle {
    grid-area: navbtn;
    order: unset;
    justify-self: end;
  }
  .header-actions {
    grid-area: actions;
    order: unset;
    margin-left: 0;
    justify-self: end;
    max-width: 100%;
  }
  .header-search {
    grid-area: search;
    order: unset;
    flex: none;
    width: 100%;
    max-width: none;
    margin: 0;
    min-width: 0;
  }
  .site-header--no-home-search .inner {
    grid-template-areas:
      "logo navbtn actions";
    row-gap: 0;
  }
  .mega-menu { display: none; }
  .site-nav {
    order: 4;
    position: fixed;
    top: 0;
    left: 0;
    right: auto;
    bottom: 0;
    width: min(88vw, 320px);
    height: 100dvh;
    max-height: 100dvh;
    z-index: 120;
    flex: none;
    flex-direction: column;
    justify-content: flex-start;
    background: var(--bg-header);
    border-right: 1px solid var(--border-header);
    border-left: none;
    box-shadow: 12px 0 40px rgba(0, 0, 0, .35);
    transform: translateX(-100%);
    transition: transform .25s ease;
    overflow: hidden;
  }
  body.site-nav-open .site-nav { transform: translateX(0); }
  .site-nav-mobile-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-shrink: 0;
    padding: calc(var(--site-top-stack-h) + .85rem) 1rem .85rem;
    border-bottom: 1px solid var(--border-default);
  }
  .site-nav-mobile-title {
    font-size: .9rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--text-primary);
  }
  .site-nav-mobile-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    padding: 0;
    border: 1px solid var(--border-strong);
    border-radius: 10px;
    background: var(--bg-input);
    color: var(--text-primary);
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
  }
  .site-nav-inner {
    flex: 1;
    min-height: 0;
    flex-direction: column;
    align-items: stretch;
    padding: .75rem 1rem 2rem;
    gap: 1rem;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .site-nav-links {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .site-nav-link {
    width: 100%;
    text-align: left;
    padding: .85rem .25rem;
    font-size: .72rem;
    border-bottom: 1px solid var(--border-default);
  }
  .site-nav-mobile-cats { display: block; }
  .site-nav-dropdown-panel {
    position: static;
    transform: none;
    min-width: 0;
    max-width: none;
    margin-top: .35rem;
    box-shadow: none;
    border: 1px solid var(--border-default);
  }
  .site-nav-mobile-extras {
    display: grid;
    grid-template-columns: 1fr;
    gap: .35rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-default);
  }
  .site-nav-mobile-passion {
    display: grid;
    gap: .35rem;
    padding-top: .35rem;
    margin-top: .15rem;
    border-top: 1px dashed rgba(255, 255, 255, .1);
  }
  .site-nav-mobile-passion .site-nav-mobile-cats-label {
    margin-bottom: .15rem;
  }
  .site-nav-mobile-extra {
    display: flex;
    align-items: center;
    gap: .65rem;
    color: var(--text-secondary);
    text-decoration: none;
    font-size: .88rem;
    padding: .65rem .55rem;
    border-radius: 10px;
    border: 1px solid transparent;
    transition: color .15s ease, background .15s ease, border-color .15s ease;
  }
  .site-nav-mobile-extra:hover {
    color: var(--petronas);
    background: rgba(0, 210, 190, .06);
    border-color: rgba(0, 210, 190, .15);
  }
  .site-nav-mobile-extra--primary {
    color: var(--text-primary);
    font-weight: 600;
    background: rgba(0, 210, 190, .08);
    border-color: rgba(0, 210, 190, .22);
  }
  .site-nav-mobile-extra-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    flex-shrink: 0;
    color: var(--petronas);
    font-size: 1rem;
    line-height: 1;
  }
  .header-actions { gap: .35rem; }
  .catalog-lang-current,
  .catalog-lang-chevron {
    display: none;
  }
  .catalog-lang-dropdown-toggle {
    width: 2.15rem;
    height: 2.15rem;
    min-width: 2.15rem;
    padding: 0;
    justify-content: center;
    gap: 0;
  }
  .header-login-label { display: none; }
  .header-account-dropdown .header-account-link.header-action-btn {
    width: 2.15rem;
    min-width: 2.15rem;
    padding: 0;
  }
  .header-login-link.header-action-btn {
    width: 2.15rem;
    min-width: 2.15rem;
    padding: 0;
  }
  .header-cart-link.header-action-btn {
    width: 2.15rem;
    min-width: 2.15rem;
  }
  .header-action-btn {
    min-width: 2.15rem;
    height: 2.15rem;
    padding: 0;
  }
  .header-account-dropdown {
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .header-account-menu {
    top: calc(100% + .35rem);
  }
  .theme-toggle {
    width: 2.15rem;
    height: 2.15rem;
    min-width: 2.15rem;
  }
}
@media (max-width: 768px) {
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .site-header .inner {
    gap: .35rem .3rem;
    padding: .45rem 0;
    min-height: 0;
  }
  .logo-sub { display: none; }
  .logo-stack .logo-title {
    font-size: clamp(.88rem, 3.8vw, 1.1rem);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
  }
  .logo.logo-image img { max-height: 2rem; }
  .header-actions { gap: .25rem; }
  .header-search-input { font-size: .8rem; }
  .header-search-input::placeholder { font-size: .78rem; }
  .header-search-form { padding-left: .65rem; }
  .site-nav-toggle {
    width: 2.15rem;
    height: 2.15rem;
    min-width: 2.15rem;
  }
  .site-nav-mobile-extras {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1024px) and (orientation: landscape) and (max-height: 520px) {
  .site-header .inner {
    padding: .3rem 0;
    row-gap: .25rem;
    column-gap: .28rem;
  }
  .logo-sub { display: none; }
  .logo-stack .logo-title { font-size: .92rem; }
  .logo.logo-image img { max-height: 1.85rem; }
  .header-actions { gap: .22rem; }
  .catalog-lang-dropdown-toggle,
  .header-action-btn,
  .theme-toggle,
  .header-cart-link.header-action-btn,
  .header-account-dropdown .header-account-link.header-action-btn,
  .header-login-link.header-action-btn,
  .site-nav-toggle {
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
  }
  .header-search-form {
    min-height: 2.15rem;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .site-nav-mobile-extras {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .4rem;
  }
  .site-nav-mobile-passion {
    grid-column: 1 / -1;
  }
  .site-nav-mobile-extra--primary {
    grid-column: 1 / -1;
  }
}

/* Hero */
.hero {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}
.page-home .hero {
  padding-top: calc(var(--site-top-stack-h) + var(--site-header-offset-h) + var(--initie-referral-banner-h) + 1.5rem);
  padding-bottom: 2.5rem;
  justify-content: flex-start;
  align-items: flex-start;
}
.page-home .hero > .container {
  width: 100%;
  padding-top: .5rem;
}
.hero-bg {
  position: absolute;
  inset: 0;
  background-color: #050506;
}
.hero-bg-slides {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-bg-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 38%;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 1.4s ease;
  will-change: opacity;
}
.hero-bg-slide.is-active {
  opacity: 1;
}
.hero-bg-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image:
    radial-gradient(ellipse at 25% 45%, rgba(0, 210, 190, 0.14) 0%, transparent 55%),
    radial-gradient(ellipse at 75% 25%, rgba(139, 92, 246, 0.16) 0%, transparent 55%),
    radial-gradient(ellipse at 50% 90%, rgba(109, 40, 217, 0.08) 0%, transparent 50%),
    linear-gradient(180deg, rgba(5, 5, 6, 0.78) 0%, rgba(5, 5, 6, 0.52) 42%, rgba(5, 5, 6, 0.88) 100%);
  background-size: auto, auto, auto, auto;
  background-position: center;
  background-repeat: no-repeat;
}
.hero h1 {
  font-family: 'Orbitron', sans-serif; font-size: clamp(2.5rem, 8vw, 5rem);
  font-weight: 900; text-transform: uppercase; line-height: .95; margin-bottom: 1rem;
  overflow-wrap: anywhere;
}
.hero p { font-size: 1.2rem; color: #ffffff99; max-width: 600px; margin: 0 auto 2rem; }
.badge {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .5rem 1rem; border: 1px solid rgba(0, 210, 190, 0.35);
  border-radius: 999px; background: rgba(0, 210, 190, 0.06);
  color: var(--petronas); font-family: 'Orbitron', sans-serif;
  font-size: .7rem; text-transform: uppercase; letter-spacing: .2em; margin-bottom: 2rem;
}
.stats { display: flex; gap: 3rem; justify-content: center; margin-top: 4rem; flex-wrap: wrap; }
.stats-item { text-align: center; }
.stats .val {
  font-family: 'Orbitron', sans-serif; font-size: 2rem;
  color: var(--petronas); font-weight: 700;
  font-variant-numeric: tabular-nums;
  min-width: 5.5ch;
  display: inline-block;
  transition: text-shadow 0.35s ease, transform 0.35s ease;
}
.stats .lbl { font-size: .7rem; text-transform: uppercase; letter-spacing: .15em; color: #ffffff66; }
.hero-stats .stats-item {
  opacity: 0;
  transform: translateY(1.25rem);
}
.hero-stats.is-visible .stats-item {
  animation: hero-stats-item-in 0.65s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: calc(var(--stats-i, 0) * 0.12s);
}
.hero-stats.is-visible .val.is-counting {
  text-shadow: 0 0 28px rgba(0, 210, 190, 0.45);
}
.hero-stats.is-visible .val.stat-done {
  animation: hero-stat-pulse 0.55s ease;
}
@keyframes hero-stats-item-in {
  to { opacity: 1; transform: translateY(0); }
}
@keyframes hero-stat-pulse {
  0% { transform: scale(1); }
  40% { transform: scale(1.06); }
  100% { transform: scale(1); }
}

/* Accueil ? produit en vedette */
.home-spotlight {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(0, 210, 190, 0.12);
}
.home-spotlight:not(.home-spotlight--slider) {
  min-height: clamp(340px, 52vh, 520px);
  display: flex;
  align-items: center;
}
.home-spotlight-slide {
  position: relative;
  width: 100%;
}
.home-spotlight:not(.home-spotlight--slider) .home-spotlight-slide {
  flex: 1 1 auto;
}
.home-spotlight-bg {
  position: absolute;
  inset: 0;
  background-image: var(--home-spotlight-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: grayscale(1);
  pointer-events: none;
  contain: paint;
}
.home-spotlight-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(105deg, rgba(8, 8, 14, 0.94) 0%, rgba(8, 8, 14, 0.78) 42%, rgba(8, 8, 14, 0.45) 68%, rgba(8, 8, 14, 0.25) 100%),
    linear-gradient(180deg, transparent 55%, rgba(8, 8, 14, 0.55) 100%);
}
.home-spotlight-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding-block: clamp(1.35rem, 4vw, 3.5rem);
  padding-inline: max(16px, env(safe-area-inset-left, 0px)) max(16px, env(safe-area-inset-right, 0px));
  min-width: 0;
  box-sizing: border-box;
}
.home-spotlight-content {
  max-width: 560px;
  min-width: 0;
}
.home-spotlight-kicker {
  display: inline-block;
  color: var(--petronas);
  margin-bottom: .65rem;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.home-spotlight-cat {
  display: block;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--cyan);
  margin-bottom: .35rem;
}
.home-spotlight-title {
  font-size: clamp(1.65rem, 4vw, 2.75rem);
  line-height: 1.05;
  text-transform: uppercase;
  margin: 0 0 .85rem;
}
.home-spotlight-desc {
  margin: 0 0 1.25rem;
  color: #ffffffb3;
  font-size: .98rem;
  line-height: 1.55;
  max-width: 48ch;
}
.home-spotlight-price-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .5rem .75rem;
  margin-bottom: 1.35rem;
}
.home-spotlight-price {
  font-size: 1.75rem;
}
.home-spotlight-price-hint {
  font-size: .72rem;
  color: #ffffff55;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.home-spotlight-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
@media (max-width: 640px) {
  .hero .stats {
    gap: 1.25rem;
    margin-top: 2.5rem;
  }
  .page-home .hero {
    min-height: auto;
    padding-top: calc(var(--site-top-stack-h) + var(--site-header-offset-h) + var(--initie-referral-banner-h) + 1rem);
    padding-bottom: 2rem;
  }
  .page-home .hero h1 {
    font-size: clamp(1.75rem, 8.5vw, 2.65rem);
    line-height: 1.02;
    margin-bottom: .85rem;
  }
  .page-home .hero p {
    font-size: 1rem;
    margin-bottom: 1.35rem;
  }
  .page-home .hero .badge {
    margin-bottom: 1.25rem;
    font-size: .62rem;
    padding: .4rem .75rem;
  }
}

.home-spotlight--slider {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: visible;
}
.home-spotlight--slider .home-spotlight-slide {
  display: none;
  overflow: hidden;
  min-height: clamp(340px, 52vh, 520px);
}
.home-spotlight--slider .home-spotlight-slide.is-active {
  display: block;
}
.home-spotlight--slider .home-spotlight-overlay {
  background:
    linear-gradient(105deg, rgba(8, 8, 14, 0.94) 0%, rgba(8, 8, 14, 0.78) 38%, rgba(8, 8, 14, 0.35) 55%, rgba(8, 8, 14, 0.12) 72%, transparent 88%);
}
.home-spotlight--slider .home-spotlight-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(1.25rem, 4vw, 3rem);
}
.home-spotlight--slider .home-spotlight-content {
  max-width: none;
}
.home-spotlight-photo {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
}
.home-spotlight-photo img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(100%, 420px);
  max-height: clamp(220px, 38vh, 440px);
  object-fit: contain;
  filter: none;
  border-radius: 8px;
  box-shadow:
    0 24px 48px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.08);
}

@media (max-width: 900px) {
  .home-spotlight:not(.home-spotlight--slider) {
    min-height: auto;
  }
  .home-spotlight--slider .home-spotlight-slide,
  .home-spotlight--slider .home-spotlight-slide.is-active {
    min-height: auto;
  }
  .home-spotlight-overlay {
    background:
      linear-gradient(180deg, rgba(8, 8, 14, 0.88) 0%, rgba(8, 8, 14, 0.92) 100%);
  }
  .home-spotlight--slider .home-spotlight-overlay {
    background:
      linear-gradient(180deg, rgba(8, 8, 14, 0.9) 0%, rgba(8, 8, 14, 0.82) 100%);
  }
  .home-spotlight-inner {
    padding-block: clamp(1.15rem, 3.5vw, 2rem);
    padding-inline: max(16px, env(safe-area-inset-left, 0px)) max(16px, env(safe-area-inset-right, 0px));
  }
  .home-spotlight--slider .home-spotlight-inner {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 1rem;
    padding-block-end: 1rem;
  }
  .home-spotlight-content {
    max-width: none;
    width: 100%;
    order: 0;
  }
  .home-spotlight-photo {
    order: 1;
    width: 100%;
    max-width: min(100%, 300px);
    margin-inline: auto;
  }
  .home-spotlight-title {
    font-size: clamp(1.3rem, 5.2vw, 1.85rem);
    margin-bottom: .65rem;
    overflow-wrap: anywhere;
  }
  .home-spotlight-desc {
    font-size: .9rem;
    margin-bottom: 1rem;
    line-height: 1.45;
    max-width: none;
  }
  .home-spotlight-price-row {
    margin-bottom: 1rem;
  }
  .home-spotlight-price {
    font-size: 1.45rem;
  }
  .home-spotlight-actions {
    flex-direction: column;
    align-items: stretch;
    gap: .55rem;
  }
  .home-spotlight-actions .btn {
    width: 100%;
    justify-content: center;
  }
  .home-spotlight-photo img {
    width: 100%;
    max-width: 100%;
    max-height: clamp(150px, 32vw, 240px);
  }
  .home-spotlight-slider-footer {
    padding-bottom: .85rem;
  }
  .home-spotlight-slider-footer-inner {
    padding-inline: max(16px, env(safe-area-inset-left, 0px)) max(16px, env(safe-area-inset-right, 0px));
  }
  .home-spotlight-timer {
    width: 100%;
  }
  .home-spotlight-color-swatches {
    margin-top: .85rem;
  }
}

@media (max-width: 480px) {
  .home-spotlight-inner {
    padding-block: 1.1rem;
    padding-inline: max(12px, env(safe-area-inset-left, 0px)) max(12px, env(safe-area-inset-right, 0px));
  }
  .home-spotlight-kicker {
    font-size: .72rem;
    line-height: 1.35;
  }
  .home-spotlight-cat {
    font-size: .66rem;
  }
  .home-spotlight-title {
    font-size: clamp(1.15rem, 6.5vw, 1.5rem);
  }
  .home-spotlight-desc {
    font-size: .84rem;
  }
  .home-spotlight-price {
    font-size: 1.3rem;
  }
  .home-spotlight-photo img {
    max-height: clamp(130px, 36vw, 190px);
  }
}

.home-spotlight-slider-nav {
  display: flex;
  justify-content: center;
  gap: .5rem;
  flex-wrap: wrap;
}
.home-spotlight-slider-footer {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  margin-top: 0;
  padding: .85rem 0 1.15rem;
  background: rgba(8, 8, 14, 0.98);
  border-top: 1px solid rgba(0, 210, 190, 0.12);
  border-bottom: 1px solid rgba(0, 210, 190, 0.12);
}
.home-spotlight-slider-footer-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .85rem;
}
.home-spotlight-timer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .5rem .75rem;
  width: min(100%, 420px);
}
.home-spotlight-timer-label {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #ffffff70;
  font-family: Orbitron, sans-serif;
}
.home-spotlight-timer-count {
  font-size: .82rem;
  color: var(--petronas);
  font-family: Orbitron, sans-serif;
  min-width: 2.5rem;
}
.home-spotlight-timer-track {
  flex: 1 1 100%;
  height: 3px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  overflow: hidden;
}
.home-spotlight-timer-fill {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--petronas), var(--cyan));
  transition: width .1s linear;
}
.home-spotlight-dot {
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  border: none;
  padding: 0;
  background: rgba(255, 255, 255, 0.28);
  cursor: pointer;
}
.home-spotlight-dot.is-active {
  background: var(--petronas);
  box-shadow: 0 0 0 3px rgba(0, 210, 190, 0.2);
}

.home-spotlight-color-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: 1rem;
  align-items: center;
}
.home-spotlight-color-swatch {
  display: block;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.05));
  transition: transform .15s ease, border-color .15s ease;
}
.home-spotlight-color-swatch:hover {
  transform: scale(1.08);
  border-color: var(--petronas);
}

/* Accueil ? avant / apr?s */
.home-before-after-section {
  padding-bottom: 2rem;
}
.home-before-after-head {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 1.5rem;
}
.home-before-after-kicker {
  display: inline-block;
  margin-bottom: .5rem;
}
.home-before-after-title {
  margin-bottom: .65rem;
}
.home-before-after-caption {
  margin: 0 0 .65rem;
  font-size: clamp(.95rem, 2.4vw, 1.08rem);
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.45;
  text-transform: uppercase;
  background: linear-gradient(90deg, var(--petronas) 0%, #e879f9 52%, var(--violet) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.home-before-after-lead {
  margin: 0;
  color: var(--text-muted);
  font-size: .95rem;
  line-height: 1.6;
}
.home-before-after-actions {
  display: flex;
  justify-content: center;
  margin-top: 1.25rem;
}

/* Accueil ? avis clients */
.home-customer-reviews-section {
  padding-bottom: 2rem;
}
.home-customer-reviews-head {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 1.5rem;
}
.home-customer-reviews-lead {
  margin: 0;
  color: var(--text-muted);
  font-size: .95rem;
  line-height: 1.6;
}
.home-customer-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.home-customer-review-card {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  padding: 1.15rem 1.2rem;
  min-height: 100%;
}
.home-customer-review-stars {
  position: relative;
  display: inline-block;
  font-size: .95rem;
  letter-spacing: .06em;
  line-height: 1;
}
.home-customer-review-stars-base {
  color: rgba(255, 255, 255, .22);
}
.home-customer-review-stars-fill {
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  white-space: nowrap;
  color: #f5c518;
  text-shadow: 0 0 8px rgba(245, 197, 24, .35);
}
.home-customer-review-body {
  margin: 0;
  flex: 1;
  font-size: .92rem;
  line-height: 1.65;
  color: #ffffffd9;
}
.home-customer-review-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem .55rem;
  margin-top: auto;
  padding-top: .15rem;
  font-size: .82rem;
}
.home-customer-review-author {
  color: #fff;
  font-weight: 600;
}
.home-customer-review-meta {
  color: var(--petronas);
  font-size: .78rem;
}
.home-customer-review-date {
  margin-left: auto;
  color: #ffffff55;
  font-size: .74rem;
}
@media (max-width: 980px) {
  .home-customer-reviews-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .home-customer-reviews-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .home-customer-review-date {
    margin-left: 0;
    width: 100%;
  }
}

/* Accueil ? Pourquoi nous choisir (sous avant/apr?s) */
.home-why-choose-us {
  padding-top: 0;
  margin-top: -.25rem;
}
.home-why-choose-us-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 1.25rem;
}
.home-why-choose-us-kicker {
  display: inline-block;
  margin-bottom: .5rem;
  letter-spacing: .14em;
}
.home-why-choose-us-title {
  margin-bottom: .65rem;
}
.home-why-choose-us-lead {
  margin: 0;
  color: var(--text-muted);
  font-size: clamp(.95rem, 2.2vw, 1.05rem);
  line-height: 1.65;
}
.home-why-choose-us-lead p {
  margin: 0 0 .85rem;
}
.home-why-choose-us-lead p:last-child {
  margin-bottom: 0;
}
.home-why-choose-us-lead ul,
.home-why-choose-us-lead ol {
  margin: 0 0 .85rem;
  padding-left: 1.25rem;
}
.home-why-choose-us-lead li {
  margin-bottom: .35rem;
}
.home-why-choose-us-lead li:last-child {
  margin-bottom: 0;
}
.home-why-choose-us-lead a {
  color: var(--petronas);
  text-decoration: underline;
  text-underline-offset: .12em;
}
.home-why-choose-us-lead a:hover {
  color: #fff;
}
.home-why-choose-us-lead strong,
.home-why-choose-us-lead b {
  color: var(--text);
  font-weight: 600;
}
.home-why-choose-us-lead em,
.home-why-choose-us-lead i {
  font-style: italic;
}
.home-why-choose-us-lead [style*="text-transform: uppercase"] {
  letter-spacing: .04em;
}
.home-why-choose-us-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .55rem;
  margin: 0 0 1.35rem;
  padding: 0;
  list-style: none;
}
.product-page-why-choose-us-pills {
  justify-content: flex-start;
  margin: 1rem 0 1.1rem;
}
.home-why-choose-us-pill {
  padding: .45rem .85rem;
  border-radius: 999px;
  border: 1px solid rgba(0, 210, 190, .35);
  background: linear-gradient(135deg, rgba(0, 210, 190, .12), rgba(139, 92, 246, .1));
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1.35;
  color: var(--text);
}
.home-why-choose-us-compare {
  padding: 1rem 1rem .85rem;
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(255, 255, 255, .02);
  position: relative;
  overflow: hidden;
}
.home-why-choose-us-compare.is-revealed {
  background: rgba(8, 10, 14, .42);
  border-color: rgba(255, 255, 255, .14);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow:
    0 12px 40px rgba(0, 0, 0, .28),
    inset 0 1px 0 rgba(255, 255, 255, .07);
}
.home-why-choose-us-compare.is-loading .home-why-choose-us-table-wrap,
.home-why-choose-us-compare.is-loading .home-why-choose-us-footnote {
  opacity: 0;
  visibility: hidden;
}
.home-why-choose-us-compare.is-loading::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(0, 210, 190, .06) 40%,
    rgba(139, 92, 246, .08) 50%,
    rgba(0, 210, 190, .06) 60%,
    transparent 100%
  );
  background-size: 220% 100%;
  animation: homeWhyCompareShimmer 1.15s ease-in-out infinite;
  pointer-events: none;
}
.home-why-choose-us-compare.is-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  width: 2rem;
  height: 2rem;
  margin: -1rem 0 0 -1rem;
  border: 2px solid rgba(0, 210, 190, .2);
  border-top-color: var(--petronas);
  border-radius: 50%;
  animation: homeWhyCompareSpinner .75s linear infinite;
  pointer-events: none;
}
.home-why-choose-us-compare.is-revealed .home-why-choose-us-table-wrap,
.home-why-choose-us-compare.is-revealed .home-why-choose-us-footnote {
  visibility: visible;
}
.home-why-choose-us-compare:not(.is-revealed) .home-why-choose-us-table thead th,
.home-why-choose-us-compare:not(.is-revealed) .home-why-choose-us-table tbody th,
.home-why-choose-us-compare:not(.is-revealed) .home-why-choose-us-table tbody td,
.home-why-choose-us-compare:not(.is-revealed) .home-why-choose-us-footnote {
  opacity: 0;
  visibility: hidden;
  transform: translateX(-1.15rem);
  filter: blur(4px);
}
.home-why-choose-us-compare.is-revealed .home-why-choose-us-table thead th:nth-child(1) { --why-cell-i: 0; }
.home-why-choose-us-compare.is-revealed .home-why-choose-us-table thead th:nth-child(2) { --why-cell-i: 1; }
.home-why-choose-us-compare.is-revealed .home-why-choose-us-table thead th:nth-child(3) { --why-cell-i: 2; }
.home-why-choose-us-compare.is-revealed .home-why-choose-us-table tbody tr th { --why-cell-i: 0; }
.home-why-choose-us-compare.is-revealed .home-why-choose-us-table tbody tr td:nth-child(2) { --why-cell-i: 1; }
.home-why-choose-us-compare.is-revealed .home-why-choose-us-table tbody tr td:nth-child(3) { --why-cell-i: 2; }
.home-why-choose-us-compare.is-revealed .home-why-choose-us-table thead th,
.home-why-choose-us-compare.is-revealed .home-why-choose-us-table tbody th,
.home-why-choose-us-compare.is-revealed .home-why-choose-us-table tbody td,
.home-why-choose-us-compare.is-revealed .home-why-choose-us-footnote {
  opacity: 0;
  visibility: hidden;
  transform: translateX(-1.15rem);
  filter: blur(4px);
  animation: homeWhyCompareCellIn .82s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.home-why-choose-us-compare.is-revealed .home-why-choose-us-table thead th {
  animation-delay: calc(var(--why-cell-i, 0) * 0.24s);
}
.home-why-choose-us-compare.is-revealed .home-why-choose-us-table tbody th,
.home-why-choose-us-compare.is-revealed .home-why-choose-us-table tbody td {
  animation-delay: calc(0.72s + var(--why-row-i, 0) * 0.46s + var(--why-cell-i, 0) * 0.24s);
}
.home-why-choose-us-compare.is-revealed .home-why-choose-us-footnote {
  animation-delay: calc(0.72s + var(--why-row-count, 4) * 0.46s + 0.72s);
}
.home-why-choose-us-compare.is-revealed .home-why-compare-mark--yes.is-glow::after {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: inherit;
  border: 1px solid rgba(0, 210, 190, .35);
  animation: homeWhyCompareYesRing 2.4s ease-in-out infinite;
  pointer-events: none;
}
.home-why-compare-mark-icon {
  display: block;
  line-height: 1;
  transform-origin: center;
}
@keyframes homeWhyCompareShimmer {
  0% { background-position: 120% 0; }
  100% { background-position: -120% 0; }
}
@keyframes homeWhyCompareSpinner {
  to { transform: rotate(360deg); }
}
@keyframes homeWhyCompareCellIn {
  0% {
    opacity: 0;
    visibility: hidden;
    transform: translateX(-1.15rem);
    filter: blur(4px);
  }
  1% {
    visibility: visible;
  }
  100% {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    filter: blur(0);
  }
}
@keyframes homeWhyCompareYesRing {
  0%, 100% { opacity: .35; transform: scale(1); }
  50% { opacity: .9; transform: scale(1.12); }
}
@media (prefers-reduced-motion: reduce) {
  .home-why-choose-us-compare.is-loading::before,
  .home-why-choose-us-compare.is-loading::after,
  .home-why-choose-us-compare.is-revealed .home-why-choose-us-table thead th,
  .home-why-choose-us-compare.is-revealed .home-why-choose-us-table tbody th,
  .home-why-choose-us-compare.is-revealed .home-why-choose-us-table tbody td,
  .home-why-choose-us-compare.is-revealed .home-why-choose-us-footnote {
    animation: none !important;
  }
  .home-why-choose-us-compare.is-revealed .home-why-compare-mark--yes.is-glow::after {
    animation: none !important;
  }
  .home-why-choose-us-compare.is-loading .home-why-choose-us-table-wrap,
  .home-why-choose-us-compare.is-loading .home-why-choose-us-footnote {
    opacity: 1;
    visibility: visible;
  }
  .home-why-choose-us-compare:not(.is-revealed) .home-why-choose-us-table thead th,
  .home-why-choose-us-compare:not(.is-revealed) .home-why-choose-us-table tbody th,
  .home-why-choose-us-compare:not(.is-revealed) .home-why-choose-us-table tbody td,
  .home-why-choose-us-compare:not(.is-revealed) .home-why-choose-us-footnote,
  .home-why-choose-us-compare.is-revealed .home-why-choose-us-table thead th,
  .home-why-choose-us-compare.is-revealed .home-why-choose-us-table tbody th,
  .home-why-choose-us-compare.is-revealed .home-why-choose-us-table tbody td,
  .home-why-choose-us-compare.is-revealed .home-why-choose-us-footnote {
    opacity: 1;
    visibility: visible;
    transform: none;
    filter: none;
  }
}
.home-why-choose-us-table-wrap {
  overflow-x: auto;
}
.home-why-choose-us-table {
  width: 100%;
  min-width: 320px;
  border-collapse: collapse;
}
.home-why-choose-us-table th,
.home-why-choose-us-table td {
  padding: .7rem .65rem;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  text-align: center;
  vertical-align: middle;
}
.home-why-choose-us-table thead th {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-muted);
  border-bottom-width: 2px;
}
.home-why-choose-us-table tbody th {
  text-align: left;
  font-size: .9rem;
  font-weight: 600;
  color: var(--text);
  width: 52%;
}
.home-why-compare-gxs-col {
  color: var(--petronas);
  font-weight: 700;
}
.home-why-compare-other-col {
  color: #f87171;
  font-weight: 700;
}
.home-why-compare-cell {
  width: 24%;
}
.home-why-compare-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 999px;
  font-size: .95rem;
  font-weight: 800;
  line-height: 1;
  position: relative;
}
.home-why-compare-mark--yes {
  color: #052e2b;
  background: var(--petronas);
  box-shadow: 0 0 0 1px rgba(0, 210, 190, .35);
}
.home-why-compare-mark--no {
  color: #fff;
  background: #dc2626;
  box-shadow: 0 0 0 1px rgba(220, 38, 38, .45);
}
.home-why-choose-us-footnote {
  margin: .85rem 0 0;
  font-size: .78rem;
  color: var(--text-muted);
  line-height: 1.5;
  text-align: center;
}

.cart-flash-shipping {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  margin-bottom: 1rem;
  padding: .9rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(0, 210, 190, 0.28);
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.12), rgba(124, 58, 237, 0.1));
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}
.cart-flash-shipping.is-active {
  border-color: rgba(0, 210, 190, 0.45);
}
.cart-flash-shipping.is-pending {
  border-color: rgba(245, 158, 11, 0.35);
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.12), rgba(124, 58, 237, 0.08));
}
.cart-flash-shipping.is-expired {
  border-color: rgba(248, 113, 113, 0.35);
  background: rgba(248, 113, 113, 0.08);
}
.cart-flash-shipping.is-admin-test {
  border-color: rgba(139, 92, 246, 0.45);
  box-shadow: 0 10px 28px rgba(139, 92, 246, 0.08);
}
.cart-flash-shipping-test-kicker {
  margin: 0 0 .4rem;
  font-size: .72rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--violet-bright);
}
.cart-flash-shipping-icon {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: var(--petronas);
  background: rgba(0, 210, 190, 0.12);
  box-shadow: inset 0 0 0 1px rgba(0, 210, 190, 0.28);
}
.cart-flash-shipping-icon svg {
  width: 22px;
  height: 22px;
  display: block;
}
.cart-flash-shipping.is-pending .cart-flash-shipping-icon {
  color: var(--petronas);
  background: rgba(0, 210, 190, 0.1);
  box-shadow: inset 0 0 0 1px rgba(0, 210, 190, 0.24);
}
.cart-flash-shipping.is-expired .cart-flash-shipping-icon {
  color: #fca5a5;
  background: rgba(248, 113, 113, 0.12);
  box-shadow: inset 0 0 0 1px rgba(248, 113, 113, 0.28);
}
.cart-flash-shipping-body {
  min-width: 0;
}
.cart-flash-shipping-kicker {
  margin: 0 0 .35rem;
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #ffffffc8;
}
.cart-flash-shipping-message {
  margin: 0;
  font-size: .92rem;
  line-height: 1.5;
  color: #ffffffde;
}
.cart-flash-shipping-countdown-wrap {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .45rem .6rem;
}
.cart-flash-shipping-countdown-label {
  font-size: .88rem;
  color: #ffffffb8;
}
.cart-flash-shipping-countdown {
  font-family: Orbitron, sans-serif;
  font-size: clamp(1.15rem, 3.5vw, 1.45rem);
  font-weight: 700;
  letter-spacing: .06em;
  font-variant-numeric: tabular-nums;
  background: linear-gradient(90deg, var(--petronas) 0%, #e879f9 50%, var(--violet) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.cart-flash-shipping-countdown.is-expired {
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  -webkit-text-fill-color: #fca5a5;
  color: #fca5a5;
  font-size: 1rem;
}

.flash-shipping-bottom-bar {
  position: fixed;
  left: 50%;
  bottom: calc(.85rem + env(safe-area-inset-bottom, 0px) + var(--gxs-cookie-panel-offset, 0px));
  transform: translate3d(-50%, 0, 0);
  z-index: 125;
  width: min(540px, calc(100% - 1.25rem));
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  gap: .35rem;
  padding: .55rem .55rem .55rem .65rem;
  border-radius: 16px;
  border: 1px solid rgba(0, 210, 190, 0.38);
  background: rgba(8, 10, 14, 0.96);
  backdrop-filter: blur(14px);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
  transition: transform .28s ease, opacity .28s ease, bottom .28s ease, z-index 0s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
body.cookie-consent-open .flash-shipping-bottom-bar {
  /* Au-dessus du backdrop cookies, juste au-dessus du panneau */
  z-index: 1210;
}
.flash-shipping-bottom-bar.is-hidden,
.flash-shipping-bottom-bar.is-dismissed,
.flash-shipping-bottom-bar:not(.is-visible) {
  opacity: 0;
  transform: translate3d(-50%, 110%, 0);
  pointer-events: none;
  visibility: hidden;
}
.flash-shipping-bottom-bar-mount {
  flex: 1 1 auto;
  min-width: 0;
}
.flash-shipping-bottom-bar-close {
  flex: 0 0 auto;
  width: 1.75rem;
  height: 1.75rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffffb8;
  font-size: 1.15rem;
  line-height: 1;
  cursor: pointer;
}
.flash-shipping-bottom-bar-close:hover {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}
.cart-flash-shipping--bottom {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  align-items: center;
  gap: .65rem;
}
.cart-flash-shipping--bottom .cart-flash-shipping-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
}
.cart-flash-shipping--bottom .cart-flash-shipping-icon svg {
  width: 18px;
  height: 18px;
}
.cart-flash-shipping--bottom .cart-flash-shipping-kicker {
  margin: 0 0 .2rem;
  font-size: .68rem;
}
.cart-flash-shipping--bottom .cart-flash-shipping-message {
  font-size: .84rem;
  line-height: 1.35;
}
.cart-flash-shipping--bottom .cart-flash-shipping-countdown-wrap {
  gap: .35rem .5rem;
}
.cart-flash-shipping--bottom .cart-flash-shipping-countdown-label {
  font-size: .78rem;
}
.cart-flash-shipping--bottom .cart-flash-shipping-countdown {
  font-size: clamp(1rem, 3vw, 1.2rem);
}
@media (max-width: 768px) {
  .flash-shipping-bottom-bar {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(8, 10, 14, 0.98);
  }
  .cart-flash-shipping-countdown,
  .cart-flash-shipping--bottom .cart-flash-shipping-countdown {
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
    -webkit-text-fill-color: var(--petronas);
    color: var(--petronas);
  }
}
.cart-flash-shipping--bottom .cart-flash-shipping-test-kicker {
  margin: 0 0 .25rem;
  font-size: .65rem;
}
body.has-flash-shipping-bottom-bar #main-content {
  padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
}
body.has-flash-shipping-bottom-bar #main-content.product-page-main {
  padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px)) !important;
}
/* CTA mobile uniquement ?768px : ne pas remonter la barre flash sur desktop */
@media (max-width: 768px) {
  body.product-page-has-mobile-cta.has-flash-shipping-bottom-bar .flash-shipping-bottom-bar {
    bottom: calc(5.35rem + env(safe-area-inset-bottom, 0px) + var(--gxs-cookie-panel-offset, 0px));
  }
  body.product-page-has-mobile-cta.has-flash-shipping-bottom-bar #main-content.product-page-main {
    padding-bottom: calc(7.25rem + env(safe-area-inset-bottom, 0px)) !important;
  }
}
body.cookie-consent-open.has-flash-shipping-bottom-bar .flash-shipping-bottom-bar {
  /* Cookies ouverts : coll?e juste au-dessus du panneau */
  bottom: calc(.85rem + env(safe-area-inset-bottom, 0px) + var(--gxs-cookie-panel-offset, 0px));
}
body.has-flash-shipping-bottom-bar.cart-page-main,
body.has-flash-shipping-bottom-bar .cart-page-main {
  padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
}
.cart-flash-shipping-wrap--legacy {
  display: none !important;
}
.home-ba {
  max-width: 980px;
  margin: 0 auto;
}
.home-ba-frame {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(0, 210, 190, 0.18);
  background: #0a0a10;
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.42);
  touch-action: none;
  user-select: none;
  aspect-ratio: 16 / 9;
  isolation: isolate;
}
.home-ba-img {
  display: block;
  pointer-events: none;
  object-fit: cover;
  object-position: center center;
}
.home-ba-img--after {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}
.home-ba-before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  height: 100%;
  width: var(--home-ba-pos, 50%);
  overflow: hidden;
  border-right: 2px solid var(--petronas);
  box-shadow: 4px 0 18px rgba(0, 0, 0, 0.25);
}
.home-ba-before-inner {
  position: absolute;
  top: 0;
  left: 0;
  height: var(--home-ba-full-h, 100%);
  width: var(--home-ba-full-w, 100%);
  max-width: none;
  overflow: hidden;
}
.home-ba-img--before {
  position: absolute;
  top: 0;
  left: 0;
  max-width: none;
}
.home-ba-label {
  position: absolute;
  top: .85rem;
  z-index: 3;
  padding: .28rem .65rem;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: rgba(8, 8, 14, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff;
  pointer-events: none;
}
.home-ba-label--before { left: .85rem; }
.home-ba-label--after { right: .85rem; }
.home-ba-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--home-ba-pos, 50%);
  z-index: 4;
  width: 0;
  transform: translateX(-50%);
  pointer-events: none;
}
.home-ba-handle-line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  margin-left: -1px;
  background: var(--petronas);
  box-shadow: 0 0 12px rgba(0, 210, 190, 0.55);
}
.home-ba-handle-knob {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  background: var(--petronas);
  color: #081018;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
  font-size: .95rem;
  font-weight: 700;
}
.home-ba-range {
  position: absolute;
  inset: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: ew-resize;
}
@media (max-width: 640px) {
  .home-ba-frame {
    border-radius: 10px;
  }
  .home-ba-handle-knob {
    width: 2.2rem;
    height: 2.2rem;
    font-size: .82rem;
  }
  .home-ba-label {
    top: .55rem;
    font-size: .62rem;
  }
  .home-ba-label--before { left: .55rem; }
  .home-ba-label--after { right: .55rem; }
}

.home-announcement {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.home-announcement-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .75rem 1.25rem;
  padding: .85rem 20px;
  text-align: center;
}
.home-announcement-text {
  margin: 0;
  font-size: .92rem;
  line-height: 1.45;
  color: #ffffffcc;
}
.home-announcement--promo {
  background: linear-gradient(90deg, rgba(139, 92, 246, 0.18), rgba(0, 210, 190, 0.12));
}
.home-announcement--initie {
  background: linear-gradient(90deg, rgba(0, 210, 190, 0.14), rgba(139, 92, 246, 0.1));
}
.home-announcement--info {
  background: rgba(255, 255, 255, 0.04);
}
.home-announcement-link {
  flex-shrink: 0;
}

.product-share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem .65rem;
  margin: .65rem 0 1rem;
}
.product-share-label {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #ffffff70;
  font-family: Orbitron, sans-serif;
}
.product-share-btn {
  display: inline-flex;
  align-items: center;
  padding: .35rem .75rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-size: .82rem;
  text-decoration: none;
  cursor: pointer;
  font-family: inherit;
}
.product-share-btn:hover {
  border-color: rgba(0, 210, 190, 0.45);
  color: var(--petronas);
}
.product-share-btn--wa {
  border-color: rgba(37, 211, 102, 0.35);
}
.product-share-btn--wa:hover {
  color: #25d366;
  border-color: rgba(37, 211, 102, 0.55);
}
.product-share-feedback {
  font-size: .78rem;
  color: var(--petronas);
}

/* Boutique ? toolbar & vues */
.shop-toolbar {
  display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between;
  gap: 1rem; margin-bottom: 1.5rem;
}
.shop-catalog-search {
  margin-bottom: 1.25rem;
}
.shop-catalog-search-label {
  display: block;
  margin-bottom: .5rem;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #ffffff80;
  font-family: Orbitron, sans-serif;
}
.shop-catalog-search-field {
  position: relative;
  max-width: 520px;
}
.shop-catalog-search-icon {
  position: absolute;
  left: .95rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--petronas);
  font-size: 1rem;
  pointer-events: none;
  opacity: .85;
}
.shop-catalog-search-input {
  width: 100%;
  padding: .8rem 2.75rem .8rem 2.65rem;
  border-radius: 12px;
  background: rgba(16, 16, 24, 0.92);
  border: 1px solid rgba(139, 92, 246, 0.18);
}
.shop-catalog-search-input:focus {
  border-color: rgba(0, 210, 190, 0.45);
  box-shadow: 0 0 0 3px rgba(0, 210, 190, 0.08);
}
.shop-catalog-search-input.has-value {
  border-color: rgba(0, 210, 190, 0.35);
}
.shop-catalog-search-clear {
  position: absolute;
  right: .55rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2rem;
  height: 2rem;
  border: none;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
}
.shop-catalog-search-clear:hover {
  background: rgba(255, 255, 255, 0.14);
}
.shop-catalog-search-meta {
  margin: .55rem 0 0;
  font-size: .85rem;
  color: #ffffff80;
}
.shop-catalog-filter-empty {
  text-align: center;
  color: #ffffff80;
  padding: 2.5rem 1rem 1rem;
}
.catalog-pagination {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.catalog-pagination-meta {
  text-align: center;
  font-size: .82rem;
  color: #ffffff70;
  margin: 0 0 1rem;
}
.catalog-pagination-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .65rem 1rem;
}
.catalog-pagination-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .5rem .9rem;
  border-radius: 10px;
  border: 1px solid rgba(139, 92, 246, 0.22);
  background: rgba(16, 16, 24, 0.85);
  color: var(--petronas);
  font-family: Orbitron, sans-serif;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  text-decoration: none;
  transition: border-color .2s, background .2s, color .2s;
}
.catalog-pagination-btn:hover:not(.is-disabled) {
  border-color: rgba(0, 210, 190, 0.45);
  background: rgba(0, 210, 190, 0.08);
  color: #fff;
}
.catalog-pagination-btn.is-disabled {
  opacity: .35;
  cursor: default;
}
.catalog-pagination-pages {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .35rem;
}
.catalog-pagination-page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.1rem;
  height: 2.1rem;
  padding: 0 .45rem;
  border-radius: 8px;
  border: 1px solid transparent;
  color: #ffffffaa;
  font-size: .82rem;
  text-decoration: none;
  transition: .2s;
}
.catalog-pagination-page:hover {
  color: var(--petronas);
  border-color: rgba(0, 210, 190, 0.25);
  background: rgba(0, 210, 190, 0.06);
}
.catalog-pagination-page.is-current {
  border-color: rgba(0, 210, 190, 0.45);
  background: rgba(0, 210, 190, 0.12);
  color: var(--petronas);
  font-weight: 700;
}
.catalog-pagination-gap {
  color: #ffffff45;
  padding: 0 .15rem;
  user-select: none;
}
@media (max-width: 640px) {
  .catalog-pagination-controls {
    flex-direction: column;
  }
  .catalog-pagination-btn--nav {
    width: 100%;
    max-width: 280px;
  }
}
.catalog-pagination--lazy-seo {
  margin-top: 1.25rem;
}

.catalog-lazy-footer {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  text-align: center;
}
.catalog-lazy-footer.is-loading .catalog-lazy-status {
  display: block;
}
.catalog-lazy-meta {
  font-size: .82rem;
  color: #ffffff70;
  margin: 0 0 1rem;
}
.catalog-lazy-actions[hidden],
.catalog-lazy-end[hidden],
.catalog-lazy-load-more[hidden],
.catalog-lazy-sentinel[hidden] {
  display: none !important;
}
.catalog-lazy-sentinel {
  height: 1px;
  width: 100%;
}
.catalog-lazy-load-more {
  margin-top: .5rem;
  font-size: .78rem;
  padding: .45rem 1rem;
}
.catalog-lazy-status {
  font-size: .82rem;
  color: var(--petronas);
  margin: .75rem 0 0;
}
.catalog-lazy-end {
  font-size: .82rem;
  color: #ffffff55;
  margin: .75rem 0 0;
}
/* Sélecteur de catégories du listing : un menu déroulant qui se nomme, plutôt qu'une rangée de
   boutons dont rien ne disait qu'elle listait des catégories. */
.category-filters { position: relative; margin-bottom: 2rem; max-width: 24rem; }
.category-filters-toggle {
  display: flex; align-items: center; gap: .7rem; width: 100%;
  padding: .6rem .8rem; text-align: left; cursor: pointer;
  background: var(--bg-card); color: var(--text-primary);
  border: 1px solid var(--border-strong); border-radius: 10px;
  transition: border-color .15s, background .15s;
}
.category-filters-toggle:hover { border-color: rgba(0, 210, 190, .45); background: rgba(0, 210, 190, .06); }
.category-filters-toggle[aria-expanded="true"] { border-color: var(--petronas); }
.category-filters-toggle-icon { color: var(--petronas); font-size: .95rem; line-height: 1; }
.category-filters-toggle-text { display: flex; flex-direction: column; gap: .1rem; min-width: 0; flex: 1 1 auto; }
.category-filters-toggle-kicker {
  font-size: .58rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--petronas); font-weight: 700;
}
.category-filters-toggle-current {
  font-size: .9rem; font-weight: 600; color: var(--text-primary);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.category-filters-toggle-count {
  flex-shrink: 0; padding: .1rem .45rem; border-radius: 999px;
  background: rgba(139, 92, 246, .18); border: 1px solid var(--border-strong);
  font-size: .68rem; font-weight: 700; color: var(--violet-bright);
}
.category-filters-toggle-caret { flex-shrink: 0; color: var(--text-dim); transition: transform .15s; }
.category-filters-toggle[aria-expanded="true"] .category-filters-toggle-caret { transform: rotate(180deg); color: var(--petronas); }
.category-filters-panel {
  position: absolute; z-index: 40; top: calc(100% + .4rem); left: 0;
  min-width: 100%; width: max-content; max-width: min(38rem, 92vw);
  max-height: min(60vh, 26rem); overflow: auto;
  padding: .7rem; background: var(--bg-card-solid);
  border: 1px solid var(--border-strong); border-radius: 12px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .55);
}
.category-filters-panel[hidden] { display: none; }
.category-filters-panel-title {
  margin: 0 0 .5rem; padding: 0 .2rem;
  font-size: .6rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-ghost);
}
.category-filters-list {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); gap: .2rem;
}
.category-filters-link {
  display: flex; align-items: center; gap: .45rem;
  padding: .45rem .55rem; border-radius: 8px;
  font-size: .84rem; color: var(--text-secondary); text-decoration: none;
  transition: background .15s, color .15s;
}
.category-filters-link:hover { background: rgba(0, 210, 190, .1); color: var(--text-primary); }
.category-filters-link.is-current { background: rgba(0, 210, 190, .16); color: var(--text-primary); font-weight: 600; }
.category-filters-link-text { min-width: 0; overflow-wrap: anywhere; }
.category-filters-link-icon, .category-filters-link-marker { flex-shrink: 0; color: var(--petronas); font-size: .7rem; }
.category-filters-link-marker { margin-left: auto; }
/* Retour et « toutes les catégories » encadrent la liste : ils changent de rayon, les autres
   liens n'en changent que la profondeur. */
.category-filters-link--back, .category-filters-link--all {
  grid-column: 1 / -1; color: var(--text-dim);
  border-bottom: 1px solid var(--border-light); border-radius: 8px 8px 0 0;
}
@media (max-width: 640px) {
  .category-filters { max-width: none; }
  .category-filters-panel { max-width: none; width: 100%; }
}
.view-switcher {
  display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; padding: .25rem;
  background: rgba(16, 16, 24, 0.9); border: 1px solid rgba(139, 92, 246, 0.15);
  border-radius: 12px;
}
.view-switcher-group {
  display: flex; flex-wrap: wrap; gap: .35rem; align-items: center;
}
.view-switcher-sep {
  width: 1px;
  align-self: stretch;
  min-height: 1.75rem;
  margin: .15rem .1rem;
  background: rgba(255, 255, 255, .12);
  flex-shrink: 0;
}
.view-btn {
  padding: .45rem .85rem; border: none; border-radius: 8px;
  background: transparent; color: #ffffff80; cursor: pointer;
  font-family: Orbitron, sans-serif; font-size: .7rem; text-transform: uppercase;
  letter-spacing: .05em; transition: .2s;
}
.view-btn:hover { color: var(--petronas); background: rgba(0, 210, 190, 0.06); }
.view-btn.active {
  background: rgba(0, 210, 190, 0.12); color: var(--petronas);
  box-shadow: inset 0 0 0 1px rgba(0, 210, 190, 0.25);
}
.view-btn-label-mobile { display: none; }
@media (max-width: 640px) {
  .shop-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  .shop-toolbar > div:first-child h1 {
    font-size: clamp(1.65rem, 7vw, 2.5rem) !important;
  }
  .view-switcher {
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
    overflow: visible;
    flex-wrap: wrap;
    gap: .5rem;
    padding: .4rem;
    position: relative;
    z-index: 2;
  }
  .view-switcher-group {
    flex-wrap: wrap;
    flex: 1 1 auto;
    min-width: 0;
  }
  .view-switcher-sep {
    display: none;
  }
  .view-btn[data-product-view="cols-3"] {
    display: none;
  }
  .view-btn-label-desktop { display: none; }
  .view-btn-label-mobile { display: inline; }
  .view-btn {
    min-height: 44px;
    min-width: 2.75rem;
    padding: .55rem .8rem;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    flex: 1 1 auto;
  }
  .view-switcher-group[aria-label="Classement"] .view-btn {
    flex: 1 1 calc(33.333% - .35rem);
  }
}

/* Grille produits ? auto-fit : derni?re ligne toujours remplie (pas de colonnes vides) */
.products-grid { display: grid; gap: 1.5rem; }
.products-cols-2 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, calc((100% - 1.5rem) / 2)), 1fr));
}
.products-cols-3 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, calc((100% - 2 * 1.5rem) / 3)), 1fr));
}
.products-cols-4 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, calc((100% - 3 * 1.5rem) / 4)), 1fr));
}
.products-list {
  display: flex; flex-direction: column; gap: 1rem;
}
/* auto-fit + span 2 = overflow sur dernière page courte (1 produit + offre semaine). */
.products-grid[data-catalog-keep-tracks="1"].products-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.products-grid[data-catalog-keep-tracks="1"].products-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.products-grid[data-catalog-keep-tracks="1"].products-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.products-cols-4 .catalog-grid-span,
.products-cols-3 .catalog-grid-span { grid-column: span 2; }
.products-cols-2 .catalog-grid-span { grid-column: span 2; }
.products-grid[data-catalog-single-product="1"],
.products-grid[data-catalog-single-visible="1"] {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  align-items: stretch;
}
.products-grid[data-catalog-single-product="1"] > .product-card,
.products-grid[data-catalog-single-visible="1"] > .product-card {
  grid-column: 1;
  grid-row: 1;
}
.products-grid[data-catalog-single-product="1"] > .catalog-initie-card--adaptive,
.products-grid[data-catalog-single-visible="1"] > .catalog-initie-card--adaptive {
  grid-column: 2;
  grid-row: 1;
  min-height: 100%;
}
.products-grid[data-catalog-initie-row-fill="1"] > .catalog-initie-card--row-fill {
  min-height: 100%;
  align-self: stretch;
}
.products-grid[data-catalog-initie-row-fill="1"] > .catalog-initie-card--row-fill .catalog-initie-highlights {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.products-grid[data-catalog-single-product="1"] .catalog-inject-card--promo {
  grid-column: span 1;
}
.catalog-grid-span-full { grid-column: 1 / -1; }

.products-grid[data-catalog-single-product="1"] .catalog-inject-card--promo .catalog-inject-promo-media {
  aspect-ratio: 1;
}
.products-grid[data-catalog-single-product="1"] .catalog-inject-card--promo .catalog-inject-lead {
  display: none;
}
.products-grid[data-catalog-single-product="1"] .catalog-inject-card--promo .catalog-inject-foot {
  padding: .5rem .75rem .7rem;
  font-size: .68rem;
}

.catalog-inject-card {
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  border: 1px solid rgba(139, 92, 246, .28);
  background: linear-gradient(145deg, rgba(139, 92, 246, .12), rgba(0, 210, 190, .06));
  overflow: hidden;
  min-height: 100%;
}
.catalog-inject-card--promo {
  border-color: rgba(139, 92, 246, .35);
}
.catalog-inject-card--inities {
  border-color: rgba(0, 210, 190, .35);
  background: linear-gradient(135deg, rgba(0, 210, 190, .12) 0%, rgba(8, 8, 14, .95) 45%, rgba(139, 92, 246, .14) 100%);
}
.catalog-initie-card {
  position: relative;
  isolation: isolate;
  min-height: 220px;
}
.catalog-initie-aura {
  position: absolute;
  inset: -20% -10%;
  background:
    radial-gradient(ellipse 55% 70% at 15% 50%, rgba(0, 210, 190, .22), transparent 70%),
    radial-gradient(ellipse 45% 60% at 85% 40%, rgba(139, 92, 246, .2), transparent 68%);
  animation: catalogInitieAura 6s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: 0;
}
.catalog-initie-scan {
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 40%, rgba(0, 210, 190, .07) 50%, transparent 60%);
  background-size: 220% 100%;
  animation: catalogInitieScan 5s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}
.catalog-initie-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .85rem;
  padding: 1.35rem 1.5rem 1.5rem;
  width: 100%;
}
.catalog-initie-card--row-fill .catalog-initie-inner,
.catalog-initie-card--banner .catalog-initie-inner {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  align-items: stretch;
  gap: 1rem 1.15rem;
}
.catalog-initie-head {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.catalog-initie-compact-pitch {
  display: none;
  margin: 0;
}
.catalog-initie-main {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  min-width: 0;
}
.catalog-initie-verified {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  min-width: 0;
  padding: .75rem .8rem;
  border-radius: 14px;
  border: 1px solid rgba(0, 210, 190, .22);
  background: rgba(0, 0, 0, .28);
  backdrop-filter: blur(6px);
}
.catalog-initie-verified-kicker {
  margin: 0;
  font-size: .58rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--petronas);
}
.catalog-initie-verified-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .45rem;
}
.catalog-initie-verified-link {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .4rem .45rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(255, 255, 255, .03);
  color: #fff;
  text-decoration: none;
  transition: border-color .2s, background .2s, transform .2s;
}
.catalog-initie-verified-link:hover {
  border-color: rgba(0, 210, 190, .45);
  background: rgba(0, 210, 190, .08);
  transform: translateY(-1px);
}
.catalog-initie-verified-avatar {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid rgba(0, 210, 190, .35);
  background: rgba(0, 210, 190, .12);
  display: flex;
  align-items: center;
  justify-content: center;
}
.catalog-initie-verified-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.catalog-initie-verified-avatar-fallback {
  font-size: .85rem;
  color: var(--petronas);
}
.catalog-initie-verified-meta {
  display: flex;
  align-items: center;
  gap: .35rem;
  min-width: 0;
  flex: 1;
}
.catalog-initie-verified-name {
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.catalog-initie-verified-badge-wrap {
  flex: 0 0 auto;
  display: inline-flex;
}
.catalog-initie-verified-more {
  font-size: .68rem;
  color: #ffffff70;
  text-decoration: none;
  margin-top: .15rem;
}
.catalog-initie-verified-more:hover {
  color: var(--petronas);
}
.catalog-initie-kicker {
  font-size: .62rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--petronas);
}
.catalog-initie-hero {
  margin: 0;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .2rem .55rem;
  line-height: .92;
  text-transform: uppercase;
}
.catalog-initie-hero-line {
  font-size: clamp(1.65rem, 4.5vw, 3.35rem);
  letter-spacing: .04em;
  color: #fff;
  white-space: nowrap;
}
.catalog-initie-hero-accent {
  font-size: clamp(2.2rem, 7vw, 5rem);
  letter-spacing: .02em;
  background: linear-gradient(90deg, var(--petronas) 0%, #7ef9ee 35%, var(--violet) 70%, var(--petronas) 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: catalogInitieTitleShine 4s linear infinite;
  filter: drop-shadow(0 0 18px rgba(0, 210, 190, .25));
}
.catalog-initie-tagline {
  margin: 0;
  max-width: 52ch;
  min-height: 2.9em;
  font-size: clamp(.82rem, 1.6vw, .95rem);
  color: #ffffffa6;
  line-height: 1.5;
  transition: color .25s ease;
}
.catalog-initie-inner.is-animated .catalog-initie-tagline.is-scrambling,
.catalog-initie-inner.is-animated .catalog-initie-highlight-label.is-scrambling {
  color: var(--petronas);
}
.catalog-initie-highlight-value.is-counting {
  color: #fff;
  text-shadow: 0 0 12px rgba(0, 210, 190, .35);
}
.catalog-initie-highlight-value.is-counted {
  animation: catalogInitieValuePop .45s cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes catalogInitieValuePop {
  0% { transform: scale(1); }
  45% { transform: scale(1.08); }
  100% { transform: scale(1); }
}
.catalog-initie-highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  width: 100%;
}
.catalog-initie-highlight {
  padding: .7rem .85rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, .1);
  background: rgba(0, 0, 0, .22);
  backdrop-filter: blur(6px);
}
.catalog-initie-highlight-value {
  display: block;
  font-size: clamp(1rem, 2.2vw, 1.35rem);
  color: var(--petronas);
  letter-spacing: .04em;
  line-height: 1.1;
}
.catalog-initie-highlight-label {
  display: block;
  margin-top: .25rem;
  min-height: 2.2em;
  font-size: .72rem;
  color: #ffffff88;
  line-height: 1.35;
}
.catalog-initie-card--row-fill .catalog-initie-highlight-label {
  min-height: auto;
}
.catalog-initie-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: .25rem;
}
.catalog-initie-actions .btn {
  padding: .6rem 1.15rem;
  font-size: .68rem;
}
.catalog-initie-card--adaptive {
  min-height: 100%;
}
.catalog-initie-card--row-fill {
  min-height: 0;
}
.catalog-initie-card--row-fill .catalog-initie-inner {
  padding: 1rem 1.15rem 1.15rem;
  gap: .65rem;
}
.catalog-initie-card--row-fill .catalog-initie-hero-line {
  font-size: clamp(1.15rem, 2.8vw, 1.85rem);
}
.catalog-initie-card--row-fill .catalog-initie-hero-accent {
  font-size: clamp(1.45rem, 4.5vw, 2.35rem);
}
.catalog-initie-card--row-fill .catalog-initie-tagline {
  font-size: .78rem;
  min-height: auto;
  margin: 0;
}
.catalog-initie-card--prefer-2 .catalog-initie-highlights,
.products-grid[data-catalog-single-product="1"] .catalog-initie-highlights {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.catalog-initie-card--prefer-2.catalog-initie-card--row-fill .catalog-initie-highlights,
.products-grid[data-catalog-single-product="1"] .catalog-initie-card--row-fill .catalog-initie-highlights {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
}
.catalog-initie-card--row-fill .catalog-initie-highlights {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .45rem;
}
.catalog-initie-card--row-fill .catalog-initie-highlight {
  padding: .5rem .55rem;
}
.catalog-initie-card--row-fill .catalog-initie-highlight-label {
  font-size: .65rem;
  min-height: auto;
}
.catalog-initie-card--row-fill .catalog-initie-actions {
  padding-top: .35rem;
  gap: .4rem;
}
.catalog-initie-card--row-fill .catalog-initie-actions .btn {
  padding: .4rem .7rem;
  font-size: .62rem;
}
.catalog-initie-card--banner .catalog-initie-inner {
  padding: 1.35rem 1.5rem 1.5rem;
}
/* Initi?s ? carte compacte (? 270px) */
.catalog-initie-card--compact {
  min-height: 0;
}
.catalog-initie-card--compact .catalog-initie-aura,
.catalog-initie-card--compact .catalog-initie-scan {
  opacity: .35;
}
.catalog-initie-card--compact .catalog-initie-inner,
.catalog-initie-card--compact.catalog-initie-card--row-fill .catalog-initie-inner,
.catalog-initie-card--compact.catalog-initie-card--banner .catalog-initie-inner {
  grid-template-columns: minmax(0, 1fr);
  padding: .7rem .6rem .75rem;
  gap: .45rem;
}
.catalog-initie-card--compact .catalog-initie-head {
  gap: .35rem;
  width: 100%;
}
.catalog-initie-card--compact .catalog-initie-kicker {
  font-size: .55rem;
  letter-spacing: .14em;
  text-align: center;
}
.catalog-initie-card--compact .catalog-initie-hero {
  flex-direction: column;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: .12rem;
  line-height: 1.05;
  width: 100%;
  text-align: center;
}
.catalog-initie-card--compact .catalog-initie-hero-line {
  font-size: .78rem;
  letter-spacing: .06em;
  white-space: normal;
  width: 100%;
}
.catalog-initie-card--compact .catalog-initie-hero-accent {
  font-size: 1.42rem;
  letter-spacing: .04em;
  line-height: 1;
  filter: none;
  display: block;
  width: 100%;
}
.catalog-initie-card--compact .catalog-initie-compact-pitch {
  display: block;
  font-size: .66rem;
  line-height: 1.45;
  color: #ffffffa8;
  text-align: center;
  padding: 0 .15rem;
}
.catalog-initie-card--compact .catalog-initie-tagline,
.catalog-initie-card--compact .catalog-initie-verified {
  display: none;
}
.catalog-initie-card--compact .catalog-initie-main {
  gap: .45rem;
}
.catalog-initie-card--compact .catalog-initie-highlights {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .3rem;
}
.catalog-initie-card--compact .catalog-initie-highlight {
  padding: .35rem .25rem;
  border-radius: 8px;
  text-align: center;
}
.catalog-initie-card--compact .catalog-initie-highlight-value {
  font-size: .72rem;
  line-height: 1.15;
}
.catalog-initie-card--compact .catalog-initie-highlight-label {
  display: none;
}
.catalog-initie-card--compact .catalog-initie-actions {
  margin-top: 0;
  gap: .35rem;
}
.catalog-initie-card--compact .catalog-initie-actions .btn {
  width: 100%;
  padding: .42rem .55rem;
  font-size: .58rem;
  justify-content: center;
}
.catalog-initie-card--compact .catalog-initie-actions .btn-outline {
  display: none;
}
@keyframes catalogInitieAura {
  0% { opacity: .65; transform: scale(1) translateX(0); }
  100% { opacity: 1; transform: scale(1.04) translateX(1.5%); }
}
@keyframes catalogInitieScan {
  0%, 100% { background-position: 120% 0; opacity: 0; }
  45% { opacity: 1; }
  55% { background-position: -20% 0; opacity: 1; }
  70% { opacity: 0; }
}
@keyframes catalogInitieTitleShine {
  0% { background-position: 0% center; }
  100% { background-position: 200% center; }
}
.catalog-inject-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .75rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  background: rgba(0, 0, 0, .18);
}
.catalog-inject-kicker {
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--violet);
}
.catalog-inject-card--inities .catalog-inject-kicker { color: var(--petronas); }
.catalog-inject-meta {
  font-size: .68rem;
  color: #ffffff77;
  white-space: nowrap;
}
.catalog-inject-promo-link {
  display: flex;
  flex: 1;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.catalog-inject-promo-media {
  position: relative;
  aspect-ratio: 16 / 10;
  background: linear-gradient(135deg, rgba(0, 210, 190, .08), rgba(139, 92, 246, .12));
  overflow: hidden;
}
.catalog-inject-promo-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.catalog-inject-promo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 3rem;
  color: #ffffff15;
}
.catalog-inject-discount {
  position: absolute;
  top: .65rem;
  right: .65rem;
  padding: .25rem .55rem;
  border-radius: 999px;
  background: var(--violet);
  color: #fff;
  font-family: 'Orbitron', sans-serif;
  font-size: .68rem;
  font-weight: 700;
}
.catalog-inject-promo-copy {
  padding: 1rem 1rem .5rem;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  flex: 1;
}
.catalog-inject-title {
  margin: 0;
  font-size: 1rem;
  line-height: 1.3;
}
.catalog-inject-lead {
  margin: 0;
  font-size: .82rem;
  color: #ffffff88;
  line-height: 1.45;
}
.catalog-inject-cta {
  align-self: flex-start;
  margin-top: .5rem;
  padding: .5rem 1rem;
  font-size: .65rem;
}
.catalog-inject-foot {
  display: block;
  padding: .65rem 1rem .85rem;
  font-size: .72rem;
  color: var(--petronas);
  text-decoration: none;
  border-top: 1px solid rgba(255, 255, 255, .06);
}
.catalog-inject-foot:hover { color: #fff; }
.catalog-inject-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: auto;
  padding-top: .65rem;
}
.catalog-inject-actions .btn {
  padding: .5rem 1rem;
  font-size: .65rem;
}

@media (max-width: 720px) {
  .catalog-initie-inner { padding: 1.1rem 1rem 1.25rem; }
  .catalog-initie-card--row-fill .catalog-initie-inner,
  .catalog-initie-card--banner .catalog-initie-inner {
    grid-template-columns: 1fr;
  }
  .catalog-initie-hero { flex-direction: column; gap: 0; }
  .catalog-initie-highlights {
    grid-template-columns: 1fr;
  }
  .catalog-initie-card--row-fill .catalog-initie-highlights {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .products-grid[data-catalog-single-product="1"],
  .products-grid[data-catalog-single-visible="1"] {
    grid-template-columns: 1fr;
  }
  .products-grid[data-catalog-single-product="1"] > .product-card,
  .products-grid[data-catalog-single-visible="1"] > .product-card,
  .products-grid[data-catalog-single-product="1"] > .catalog-initie-card--adaptive,
  .products-grid[data-catalog-single-visible="1"] > .catalog-initie-card--adaptive {
    grid-column: 1;
    grid-row: auto;
  }
  .products-grid[data-catalog-initie-row-fill="1"] > .catalog-initie-card--row-fill {
    grid-column: 1 / -1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .catalog-initie-aura,
  .catalog-initie-scan,
  .catalog-initie-hero-accent {
    animation: none;
  }
}

.products-list .catalog-inject-card { width: 100%; }
.products-list .catalog-inject-promo-link {
  flex-direction: row;
  align-items: stretch;
}
.products-list .catalog-inject-promo-media {
  width: 200px;
  min-width: 200px;
  aspect-ratio: auto;
  min-height: 160px;
}
.products-list .catalog-inject-promo-copy {
  justify-content: center;
}

@media (max-width: 1024px) {
  .products-cols-4 {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, calc((100% - 2 * 1.5rem) / 3)), 1fr));
  }
  .products-grid[data-catalog-keep-tracks="1"].products-cols-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .products-cols-4 .catalog-grid-span { grid-column: span 2; }
}
@media (max-width: 768px) {
  .products-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .products-cols-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .products-cols-4 {
    grid-template-columns: minmax(0, 1fr);
  }
  .products-grid[data-catalog-keep-tracks="1"].products-cols-2,
  .products-grid[data-catalog-keep-tracks="1"].products-cols-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .products-grid[data-catalog-keep-tracks="1"].products-cols-4 {
    grid-template-columns: minmax(0, 1fr);
  }
  .products-cols-3 .catalog-grid-span,
  .products-cols-4 .catalog-grid-span,
  .products-cols-2 .catalog-grid-span { grid-column: span 2; }
  .products-cols-4 .catalog-grid-span { grid-column: span 1; }
}
@media (max-width: 600px) {
  .products-list .catalog-inject-promo-link { flex-direction: column; }
  .products-list .catalog-inject-promo-media {
    width: 100%;
    min-width: 0;
    min-height: 140px;
  }
}
@media (max-width: 480px) {
  .products-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .products-cols-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .products-cols-4 {
    grid-template-columns: minmax(0, 1fr);
  }
  .products-grid[data-catalog-keep-tracks="1"].products-cols-2,
  .products-grid[data-catalog-keep-tracks="1"].products-cols-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .products-grid[data-catalog-keep-tracks="1"].products-cols-4 {
    grid-template-columns: minmax(0, 1fr);
  }
  .products-cols-2 .catalog-grid-span,
  .products-cols-3 .catalog-grid-span { grid-column: span 2; }
  .products-cols-4 .catalog-grid-span { grid-column: span 1; }
  .catalog-grid-span-full { grid-column: 1 / -1 !important; }
}

/* Product card */
.product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  transition: transform .3s, border-color .3s;
}
.product-card-hitarea {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  text-decoration: none;
  color: inherit;
}
.product-card-hitarea .product-card-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
.product-card:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 210, 190, 0.25) !important;
}
.product-img {
  aspect-ratio: 1;
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.08), rgba(139, 92, 246, 0.1));
  display: flex; align-items: center; justify-content: center;
  font-family: 'Orbitron', sans-serif; font-size: 4rem; color: #ffffff08; font-weight: 900;
}
.product-img-photo {
  overflow: hidden;
  padding: 0;
}
.product-img > .img-load-host {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  align-self: stretch;
}
.product-img-photo img,
.product-img-photo .img-load-host img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* D?filement multi-images sur listing */
.product-card-cycle {
  position: relative;
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  overflow: hidden;
}
.product-card-cycle .product-card-cycle-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .45s ease;
  pointer-events: none;
}
.product-card-cycle .product-card-cycle-img.is-active {
  opacity: 1;
  z-index: 1;
}
.product-card-flip-face--back .product-card-cycle {
  aspect-ratio: auto;
  height: 100%;
}
@media (prefers-reduced-motion: reduce) {
  .product-card-cycle .product-card-cycle-img {
    transition: none;
  }
  .product-card-cycle .product-card-cycle-img:not(.is-active) {
    display: none;
  }
}
/* Mobile : pas de carousel cartes (m?moire GPU + flash bandeau/CTA). */
@media (max-width: 768px) {
  .product-card-cycle .product-card-cycle-img {
    transition: none;
  }
  .product-card-cycle .product-card-cycle-img:not(.is-active) {
    display: none;
  }
}
/* Product card flip (image reveal) */
.product-img-flip {
  padding: 0;
  overflow: visible;
  background: transparent;
}
.product-card-flip-scene {
  width: 100%;
  aspect-ratio: 1;
  perspective: 900px;
}
.product-card-flip-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform var(--product-card-flip-duration, 720ms) cubic-bezier(.4, .15, .2, 1);
}
.product-card-flip-inner.is-flipped {
  transform: rotateY(180deg);
}
/* Apr?s le flip : image plate (?vite le flash GXS au retour sur l?onglet). */
.product-card-flip-inner.is-flip-settled {
  transition: none !important;
  transform: none !important;
  transform-style: flat;
}
.product-card-flip-inner.is-flip-settled .product-card-flip-face--front {
  display: none !important;
}
.product-card-flip-inner.is-flip-settled .product-card-flip-face--back {
  position: relative;
  inset: auto;
  width: 100%;
  height: 100%;
  transform: none;
  backface-visibility: visible;
  -webkit-backface-visibility: visible;
}
.product-card-flip-face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  overflow: hidden;
}
.product-card-flip-face--front {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.12), rgba(139, 92, 246, 0.16));
  border-bottom: 1px solid rgba(0, 210, 190, 0.12);
}
.product-card-flip-face--back {
  transform: rotateY(180deg);
  background: #0a0f14;
}
.product-card-flip-face--back img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 1;
}
.product-card-flip-logo {
  font-size: clamp(1.1rem, 4vw, 1.65rem);
  letter-spacing: .22em;
  color: #ffffff14;
  font-weight: 900;
  user-select: none;
}
.product-card-flip-glow {
  position: absolute;
  inset: 18%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 210, 190, 0.28), transparent 72%);
  animation: productCardFlipPulse 2.2s ease-in-out infinite;
  pointer-events: none;
}
@keyframes productCardFlipPulse {
  0%, 100% { opacity: .45; transform: scale(.92); }
  50% { opacity: 1; transform: scale(1.04); }
}
/* Lazy image loader (scroll / loading="lazy") */
.img-load-host {
  position: relative;
  display: block;
  max-width: 100%;
  background:
    linear-gradient(135deg, rgba(0, 210, 190, 0.06), rgba(139, 92, 246, 0.08));
}
.img-load-spinner {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 2;
  transition: opacity .28s ease, visibility .28s ease;
}
.img-load-spinner::after {
  content: '';
  width: 30px;
  height: 30px;
  border: 2px solid rgba(0, 210, 190, 0.22);
  border-top-color: var(--petronas);
  border-radius: 50%;
  animation: imgLoadSpin .7s linear infinite;
}
.img-load-host img {
  display: block;
  max-width: 100%;
  opacity: 0;
  transition: opacity .35s ease;
}
.img-load-host.is-loaded img {
  opacity: 1;
}
.img-load-host.is-load-settled img {
  opacity: 1 !important;
  transition: none !important;
}
.img-load-host.is-load-settled {
  background: transparent;
}
/* Fiche produit : pas de flash opacity au retour d?onglet navigateur */
.product-gallery .img-load-host.is-loaded img,
.product-gallery .img-load-host.is-load-settled img,
.product-page-img-photo .img-load-host.is-loaded img,
.product-page-img-photo .img-load-host.is-load-settled img {
  opacity: 1 !important;
  transition: none !important;
}
.product-gallery .img-load-host.is-load-settled,
.product-page-img-photo .img-load-host.is-load-settled {
  background: transparent;
}
.img-load-host.is-loaded .img-load-spinner {
  opacity: 0;
  visibility: hidden;
}
.img-load-host.is-load-settled .img-load-spinner {
  display: none !important;
}
.blog-figure-media .img-load-host,
.initie-directory-card-cover-wrap .img-load-host,
.home-client-projects-slide .img-load-host {
  width: 100%;
}
.blog-figure-media .img-load-host img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
@keyframes imgLoadSpin {
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .img-load-spinner::after {
    animation: none;
    border-top-color: var(--petronas);
    opacity: 0.85;
  }
  .img-load-host img {
    transition: none;
  }
  .product-card-flip-inner {
    transition: none;
  }
  .product-card-flip-glow {
    animation: none;
    opacity: .6;
  }
}
.product-card-body { padding: 1rem; }
.product-cat {
  font-size: .7rem; color: var(--petronas); text-transform: uppercase;
  letter-spacing: .08em;
}
.product-ean {
  margin: .2rem 0 .35rem;
  font-size: .72rem;
  color: #ffffff66;
  font-family: ui-monospace, Consolas, monospace;
  letter-spacing: .03em;
}
.product-catalog-refs {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1rem;
  margin: 0 0 .75rem;
  font-size: .82rem;
  color: #ffffff70;
}
.product-catalog-refs .product-ean {
  margin: 0;
}
.product-page-stock {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem .65rem;
  margin: 0 0 .85rem;
  font-size: .88rem;
}
.product-page-stock-label {
  color: #ffffff66;
  text-transform: uppercase;
  font-size: .72rem;
  letter-spacing: .04em;
}
.product-page-stock-value {
  font-weight: 600;
}
.product-page-stock-value--in {
  color: #7dffb8;
}
.product-page-stock-value--out {
  color: #ff8f8f;
}
.product-page-stock-value--supplier {
  color: #ffd27a;
}
.product-title { margin: .35rem 0; font-size: 1rem; }
.product-rating {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .35rem .45rem;
  margin: .15rem 0 .45rem;
  line-height: 1.2;
}
.product-rating--page {
  margin: .25rem 0 .65rem;
}
.product-rating-stars {
  position: relative;
  display: inline-block;
  font-size: .95rem;
  letter-spacing: .06em;
  line-height: 1;
}
.product-rating--page .product-rating-stars { font-size: 1.1rem; }
.product-rating-stars-base {
  color: rgba(255, 255, 255, .22);
}
.product-rating-stars-fill {
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  white-space: nowrap;
  color: #f5c518;
  text-shadow: 0 0 8px rgba(245, 197, 24, .35);
}
.product-rating-value {
  font-size: .82rem;
  font-weight: 600;
  color: #fff;
}
.product-rating--page .product-rating-value { font-size: .92rem; }
.product-rating-count {
  font-size: .75rem;
  color: #ffffff66;
}
.product-rating--page .product-rating-count { font-size: .82rem; }
.product-desc { display: none; font-size: .85rem; color: #ffffff70; line-height: 1.5; margin: .5rem 0; }
.product-price-cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem .75rem;
  margin-top: .35rem;
  min-height: 0;
}
.product-price-row {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .15rem .5rem;
  min-width: 0;
  flex: 1 1 auto;
}
.product-price-cta-row .product-price-hidden {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}
.product-price-hidden {
  margin: .35rem 0 0;
  font-size: .9rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--petronas);
}
.product-price-hidden--detail {
  font-size: 1.15rem;
  margin: 0;
}
.product-devis-cta {
  margin-top: 1.5rem;
  padding: 1.25rem 1.35rem;
  border-color: rgba(0, 210, 190, .22);
  background: linear-gradient(135deg, rgba(0, 210, 190, .06), rgba(139, 92, 246, .04));
}
.product-devis-cta-title {
  margin: 0 0 .5rem;
  font-size: 1.1rem;
  color: var(--petronas);
}
.product-devis-cta-text {
  margin: 0 0 1rem;
  font-size: .88rem;
  color: #ffffff99;
  line-height: 1.5;
}
.product-devis-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}
.product-list-cta.btn {
  display: none;
  margin: 0;
  padding: .22rem .65rem;
  font-size: .58rem;
  line-height: 1.1;
  letter-spacing: .06em;
  min-height: 0;
  height: auto;
  border-width: 1px;
  border-radius: 8px;
  flex: 0 0 auto;
  white-space: nowrap;
  align-self: center;
  gap: .25rem;
}
.product-price {
  font-family: 'Orbitron', sans-serif; color: var(--petronas);
  font-size: 1.25rem; font-weight: 700;
}
.compare { text-decoration: line-through; color: #ffffff4d; font-size: .9rem; margin-left: .5rem; }

/* Page produit ? galerie sticky */
.product-page-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: start;
}
.product-page-grid > .product-gallery-col,
.product-page-grid > .product-gallery-sticky,
.product-page-grid > .product-page-details {
  min-width: 0;
  max-width: 100%;
}
.product-gallery-col {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  min-width: 0;
  max-width: 100%;
  /* Le grid a align-items:start ? sans stretch, la col = hauteur du contenu
     et sticky n?a plus de marge de glissement (3D + photos). */
  align-self: stretch;
  height: 100%;
}
.product-gallery-sticky {
  position: sticky;
  top: var(--product-gallery-sticky-top);
  align-self: start;
  width: 100%;
  /* Sous header/m?ga-menu (z 98?100) : le top doit d?gager le chrome, pas le z-index. */
  z-index: 1;
  overflow: visible;
  /* Espace r?serv? sous la photo : l?gende + 1 rang?e de miniatures */
  --product-gallery-chrome: 8.75rem;
}
.product-gallery-sticky .product-gallery {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  min-height: 0;
  max-height: calc(100dvh - var(--product-gallery-sticky-top) - .5rem);
}
.product-gallery-sticky .product-page-img {
  min-height: 0;
  flex: 0 1 auto;
  width: 100%;
  max-height: calc(100dvh - var(--product-gallery-sticky-top) - var(--product-gallery-chrome));
  aspect-ratio: auto;
  height: auto;
}
.product-gallery-sticky .product-page-img-photo {
  flex: 0 1 auto;
  min-height: 0;
  max-height: calc(100dvh - var(--product-gallery-sticky-top) - var(--product-gallery-chrome));
  aspect-ratio: auto;
  height: auto;
  width: 100%;
}
.product-gallery-sticky .product-main-image-open {
  min-height: 0;
  height: auto;
  max-height: inherit;
}
.product-gallery-sticky .product-main-image-open img,
.product-gallery-sticky #product-main-img {
  object-fit: contain;
  object-position: center center;
  aspect-ratio: auto;
  width: 100%;
  height: auto;
  max-height: calc(100dvh - var(--product-gallery-sticky-top) - var(--product-gallery-chrome));
}
.product-gallery-sticky .product-page-img-photo .img-load-host,
.product-gallery-sticky .product-main-image-open .img-load-host {
  position: relative;
  inset: auto;
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
}
.product-gallery-sticky .product-page-img-photo .img-load-host img,
.product-gallery-sticky .product-main-image-open .img-load-host img {
  width: 100%;
  height: auto;
  max-height: calc(100dvh - var(--product-gallery-sticky-top) - var(--product-gallery-chrome));
  object-fit: contain;
  object-position: center center;
}
.product-gallery-sticky .product-gallery-thumbs {
  flex: 0 0 auto;
  flex-shrink: 0;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding-bottom: .15rem;
  max-width: 100%;
}
.product-gallery-sticky .product-gallery-thumb {
  flex: 0 0 auto;
}
.product-gallery-sticky .product-main-image-attr {
  flex: 0 0 auto;
}
.product-gallery { display: flex; flex-direction: column; gap: .75rem; }
.product-page-img {
  aspect-ratio: 1;
  min-height: 280px;
  position: relative;
  overflow: hidden;
  font-size: 8rem;
}
.product-page-img-photo {
  padding: 0;
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.06), rgba(139, 92, 246, 0.08));
}
.product-page-img-photo .product-main-image-open {
  box-sizing: border-box;
  /* Coller la photo en haut (align?e avec le titre produit ? droite) */
  padding: 0 clamp(.45rem, 1.6vw, 1rem) clamp(.45rem, 1.6vw, 1rem);
}
/* Vue 3D fiche produit */
.product-page-img-3d,
.product-3d-viewer-shell.product-page-img {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: #111418;
}
.product-gallery-sticky #product-3d-viewer-wrap,
.product-gallery-sticky .product-page-img-3d {
  max-height: calc(100dvh - var(--product-gallery-sticky-top) - var(--product-gallery-chrome));
  aspect-ratio: 1;
}
.product-3d-view-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  flex-shrink: 0;
  padding: .55rem .65rem .15rem;
  border-bottom: 1px solid #ffffff12;
  overflow: visible;
}
.product-3d-view-toolbar > .product-3d-view-tool-btn--recenter {
  flex-shrink: 0;
  order: -1;
}
.product-3d-view-toolbar-scroll {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  min-width: 0;
  flex: 1 1 auto;
}
.product-3d-view-toolbar-presets {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  min-width: 0;
  flex: 1 1 auto;
}
.product-3d-view-toolbar-tools {
  display: flex;
  flex-wrap: nowrap;
  gap: .35rem;
  flex-shrink: 0;
  margin-left: auto;
}
.product-3d-view-preset-btn,
.product-3d-view-tool-btn {
  appearance: none;
  border: 1px solid #ffffff22;
  background: #111418;
  color: #ffffffaa;
  font-size: .68rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: .38rem .7rem;
  border-radius: 999px;
  cursor: pointer;
  transition: border-color .15s, color .15s, background .15s;
  white-space: nowrap;
}
.product-3d-view-preset-btn:hover,
.product-3d-view-preset-btn.is-active,
.product-3d-view-tool-btn:hover,
.product-3d-view-tool-btn.is-active {
  border-color: var(--petronas);
  color: var(--petronas);
  background: rgba(0, 210, 190, .1);
}
.product-3d-view-tool-btn[data-view-recenter],
.product-3d-view-tool-btn--recenter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  border-color: rgba(0, 210, 190, .55);
  color: var(--petronas, #00d2be);
  background: rgba(0, 210, 190, .12);
  font-weight: 700;
}
.product-3d-view-tool-btn[data-view-recenter]:hover,
.product-3d-view-tool-btn--recenter:hover {
  border-color: var(--petronas, #00d2be);
  color: #fff;
  background: rgba(0, 210, 190, .22);
}
.product-3d-recenter-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 0;
}
.product-3d-recenter-label {
  display: inline;
}
.product-3d-viewer-canvas {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  display: block;
  position: relative;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  background-color: var(--gxs-3d-scene-bg, #111418);
}
.product-3d-viewer-canvas canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
}
.product-3d-viewer-shell {
  position: relative;
}
.product-3d-viewer-shell:fullscreen,
.product-3d-viewer-shell:-webkit-full-screen,
.pde-modal-stage-frame:fullscreen,
.pde-modal-stage-frame:-webkit-full-screen,
.product-3d-viewer-shell.is-fullscreen {
  width: 100%;
  height: 100%;
  max-height: none;
  aspect-ratio: auto;
  background: #08090c;
  display: flex;
  flex-direction: column;
  border-radius: 0 !important;
  box-shadow: none;
}
/* Éditeur design : plein écran inclut switch 3D/2D + planche. */
.pde-modal-stage:fullscreen,
.pde-modal-stage:-webkit-full-screen,
.pde-modal-stage.is-fullscreen {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  border: 0;
  border-radius: 0 !important;
  background: #08090c;
  display: flex;
  flex-direction: column;
  box-shadow: none;
}
.pde-modal-stage:fullscreen .pde-view-mode-switch,
.pde-modal-stage:-webkit-full-screen .pde-view-mode-switch,
.pde-modal-stage.is-fullscreen .pde-view-mode-switch {
  flex-shrink: 0;
  z-index: 5;
  background: rgba(0, 0, 0, .55);
}
.pde-modal-stage:fullscreen .pde-modal-stage-frame,
.pde-modal-stage:-webkit-full-screen .pde-modal-stage-frame,
.pde-modal-stage.is-fullscreen .pde-modal-stage-frame,
.pde-modal-stage:fullscreen .pde-modal-2d-stage,
.pde-modal-stage:-webkit-full-screen .pde-modal-2d-stage,
.pde-modal-stage.is-fullscreen .pde-modal-2d-stage {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
}
.pde-modal-stage:fullscreen .pde-modal-stage-caption,
.pde-modal-stage:-webkit-full-screen .pde-modal-stage-caption,
.pde-modal-stage.is-fullscreen .pde-modal-stage-caption,
.pde-modal-stage:fullscreen .pde-modal-stage-bg,
.pde-modal-stage:-webkit-full-screen .pde-modal-stage-bg,
.pde-modal-stage.is-fullscreen .pde-modal-stage-bg {
  display: none !important;
}
.product-3d-viewer-shell:fullscreen .product-3d-viewer-canvas,
.product-3d-viewer-shell:-webkit-full-screen .product-3d-viewer-canvas,
.pde-modal-stage-frame:fullscreen .product-3d-viewer-canvas,
.pde-modal-stage-frame:-webkit-full-screen .product-3d-viewer-canvas,
.product-3d-viewer-shell.is-fullscreen .product-3d-viewer-canvas,
.pde-modal-stage:fullscreen .product-3d-viewer-canvas,
.pde-modal-stage:-webkit-full-screen .product-3d-viewer-canvas,
.pde-modal-stage.is-fullscreen .product-3d-viewer-canvas {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}
.product-3d-view-tool-btn[data-view-fullscreen].is-active,
.product-3d-view-tool-btn[data-view-led].is-active,
.product-3d-view-tool-btn[data-view-zenith].is-active,
.product-3d-view-tool-btn[data-view-rotate].is-active {
  border-color: var(--petronas, #00d2be);
  color: var(--petronas, #00d2be);
  background: rgba(0, 210, 190, .1);
}
.product-3d-led-menu {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.product-3d-floor-menu {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.product-3d-led-menu-btn.is-open,
.product-3d-floor-menu-btn.is-open {
  border-color: var(--petronas, #00d2be);
  color: var(--petronas, #00d2be);
  background: rgba(0, 210, 190, .1);
}
.product-3d-led-panel,
.product-3d-floor-panel {
  position: absolute;
  top: calc(100% + .35rem);
  right: 0;
  z-index: 20;
  box-sizing: border-box;
  min-width: 11.5rem;
  max-width: min(18rem, calc(100vw - 1.2rem));
  padding: .55rem .6rem .65rem;
  border-radius: .55rem;
  border: 1px solid #ffffff1a;
  background: #0e1116f2;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .45);
  backdrop-filter: blur(8px);
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.product-3d-led-panel[hidden],
.product-3d-floor-panel[hidden] {
  display: none !important;
}
.product-3d-floor-panel {
  min-width: 13.5rem;
  z-index: 21;
}
.product-3d-led-panel.is-fixed-mobile,
.product-3d-floor-panel.is-fixed-mobile {
  position: fixed;
  z-index: 13050;
  pointer-events: auto;
}
.product-3d-floor-presets .product-3d-floor-chip {
  text-transform: none;
  letter-spacing: .02em;
  font-size: .6rem;
  border-radius: .4rem;
  max-width: 100%;
  white-space: normal;
  line-height: 1.25;
  text-align: left;
}
.product-3d-floor-accents {
  align-items: center;
  gap: .4rem;
}
.product-3d-floor-accent {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: .2rem;
  font-size: .58rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #ffffff88;
  cursor: pointer;
}
.product-3d-led-panel-label {
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #ffffff88;
  margin: .15rem 0 .35rem;
}
.product-3d-led-panel-row {
  display: flex;
  flex-wrap: wrap;
  gap: .28rem;
  margin-bottom: .45rem;
}
.product-3d-led-panel-row:last-child {
  margin-bottom: 0;
}
.product-3d-led-chip {
  appearance: none;
  border: 1px solid #ffffff22;
  background: #161a20;
  color: #ffffffaa;
  font-size: .62rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: .28rem .5rem;
  border-radius: 999px;
  cursor: pointer;
}
.product-3d-led-chip:hover,
.product-3d-led-chip.is-active {
  border-color: var(--petronas, #00d2be);
  color: var(--petronas, #00d2be);
  background: rgba(0, 210, 190, .1);
}
.product-3d-led-swatches {
  align-items: center;
}
.product-3d-led-swatch {
  appearance: none;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 999px;
  border: 2px solid #ffffff28;
  background: var(--led-swatch, #fff);
  cursor: pointer;
  padding: 0;
}
.product-3d-led-swatch.is-active,
.product-3d-led-swatch:hover {
  border-color: var(--petronas, #00d2be);
  box-shadow: 0 0 0 2px rgba(0, 210, 190, .25);
}
.product-3d-led-color-picker {
  width: 1.35rem;
  height: 1.15rem;
  padding: 0;
  border: 1px solid #ffffff22;
  border-radius: .3rem;
  background: transparent;
  cursor: pointer;
}
.product-3d-loader {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background:
    radial-gradient(ellipse 60% 50% at 50% 42%, rgba(0, 210, 190, .1), transparent 62%),
    rgba(10, 13, 17, .82);
  backdrop-filter: blur(4px);
  pointer-events: none;
}
.product-3d-loader[hidden] {
  display: none !important;
}
.product-3d-loader-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .55rem;
  width: min(280px, 88%);
  text-align: center;
}
.product-3d-loader-spinner {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .14);
  border-top-color: var(--petronas, #00d2be);
  animation: product-3d-loader-spin .7s linear infinite;
}
@keyframes product-3d-loader-spin {
  to { transform: rotate(360deg); }
}
.product-3d-loader-label {
  margin: 0;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .03em;
  color: #fff;
}
.product-3d-loader-detail {
  margin: 0;
  font-size: .72rem;
  line-height: 1.35;
  color: rgba(255, 255, 255, .62);
}
.product-3d-loader-detail[hidden] {
  display: none !important;
}
.product-3d-loader-bar {
  width: 100%;
  height: 3px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .12);
  overflow: hidden;
  margin-top: .15rem;
}
.product-3d-loader-bar-fill {
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #00a896, var(--petronas, #00d2be));
  transition: width .2s ease;
}
.product-3d-loader-bar-fill.is-indeterminate {
  width: 38% !important;
  animation: product-3d-loader-bar 1.1s ease-in-out infinite;
}
@keyframes product-3d-loader-bar {
  0% { transform: translateX(-120%); }
  100% { transform: translateX(280%); }
}
.product-3d-loader.is-error .product-3d-loader-label {
  color: #ffb4b4;
}
.product-3d-loader.is-error .product-3d-loader-spinner {
  border-top-color: #ff8a8a;
  animation: none;
}
.product-gallery-thumb-3d {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: var(--cyan);
}
.product-gallery-thumb-3d-label {
  font-size: .85rem;
  letter-spacing: .04em;
}
.pde-launcher {
  margin: 0;
  flex-shrink: 0;
}
.product-gallery-sticky > .pde-launcher--gallery {
  margin-top: .65rem;
  width: 100%;
}
.pde-launcher--gallery {
  margin-top: .15rem;
}
.pde-launcher-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.2rem;
  border-radius: 14px;
  border: 1px solid rgba(0, 210, 190, .28);
  background: linear-gradient(135deg, rgba(0, 210, 190, .1), rgba(0, 0, 0, .35) 55%, rgba(18, 22, 28, .9));
  box-shadow: 0 12px 40px rgba(0, 0, 0, .28);
}
.pde-launcher-kicker {
  display: block;
  font-size: .68rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--petronas, #00d2be);
  margin-bottom: .35rem;
  font-weight: 700;
}
.pde-launcher-title {
  display: block;
  font-size: 1.05rem;
  letter-spacing: .02em;
}
.pde-launcher-lead {
  margin: .35rem 0 0;
  font-size: .82rem;
  line-height: 1.45;
  color: #ffffff99;
  max-width: 34rem;
}
.pde-launcher-btn { white-space: nowrap; }
@media (max-width: 768px) {
  .pde-launcher--gallery,
  .product-gallery-sticky > .pde-launcher--gallery {
    margin-top: .5rem;
  }
  .pde-launcher-card {
    flex-direction: column;
    align-items: stretch;
    gap: .85rem;
    padding: .95rem 1rem;
  }
  .pde-launcher-btn {
    width: 100%;
    justify-content: center;
  }
}
@media (min-width: 769px) {
  .pde-launcher--gallery {
    margin-top: .35rem;
  }
  .product-gallery-sticky > .pde-launcher--gallery {
    margin-top: .65rem;
  }
}
.product-main-image-attr {
  margin: .35rem 0 0;
  padding: 0 .15rem;
  font-size: .72rem;
  line-height: 1.35;
  letter-spacing: .02em;
  color: rgba(255, 255, 255, 0.62);
  text-align: center;
}
.product-main-image-attr[hidden] {
  display: none !important;
}
.product-gallery-disclaimer {
  position: absolute;
  left: .28rem;
  top: 50%;
  z-index: 2;
  margin: 0;
  padding: 0;
  max-height: calc(100% - 2.75rem);
  writing-mode: vertical-rl;
  transform: translateY(-50%) rotate(180deg);
  font-family: Rajdhani, sans-serif;
  font-size: .62rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.38);
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}
.product-image-lightbox-caption {
  position: absolute;
  left: 50%;
  bottom: 1.1rem;
  transform: translateX(-50%);
  z-index: 5;
  margin: 0;
  max-width: min(90vw, 36rem);
  padding: .45rem .85rem;
  border-radius: 999px;
  background: rgba(8, 8, 14, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.88);
  font-size: .75rem;
  line-height: 1.3;
  letter-spacing: .02em;
  text-align: center;
  pointer-events: none;
}
.product-image-lightbox-caption[hidden] {
  display: none !important;
}
.product-main-image-open {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
  background: transparent;
  cursor: zoom-in;
  position: relative;
  overflow: hidden;
}
.product-main-image-open img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top center;
  display: block;
  aspect-ratio: auto;
  transition: transform .35s ease;
}
.product-main-image-open:hover img,
.product-main-image-open:focus-visible img {
  transform: none;
}
.product-main-image-zoom-hint {
  position: absolute;
  right: .75rem;
  bottom: .75rem;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .4rem .7rem;
  border-radius: 999px;
  background: rgba(8, 8, 14, 0.78);
  border: 1px solid rgba(0, 210, 190, 0.25);
  color: #fff;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-family: Orbitron, sans-serif;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .2s, transform .2s;
  pointer-events: none;
}
.product-main-image-open:hover .product-main-image-zoom-hint,
.product-main-image-open:focus-visible .product-main-image-zoom-hint {
  opacity: 1;
  transform: translateY(0);
}
.product-main-image-zoom-icon {
  color: var(--petronas);
  font-size: .95rem;
}
.product-image-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.product-image-lightbox[hidden] { display: none !important; }
.product-image-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 4, 10, 0.92);
  backdrop-filter: blur(8px);
}
.product-image-lightbox-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 3;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  background: rgba(16, 16, 24, 0.9);
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}
.product-image-lightbox-close:hover {
  border-color: rgba(0, 210, 190, 0.4);
  color: var(--petronas);
}
.product-image-lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  background: rgba(16, 16, 24, 0.9);
  color: #fff;
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
}
.product-image-lightbox-nav:hover {
  border-color: rgba(0, 210, 190, 0.4);
  color: var(--petronas);
}
.product-image-lightbox-prev { left: 1rem; }
.product-image-lightbox-next { right: 1rem; }
.product-image-lightbox-counter {
  position: absolute;
  top: 1.15rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  margin: 0;
  padding: .35rem .75rem;
  border-radius: 999px;
  background: rgba(16, 16, 24, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #ffffffb3;
  font-size: .8rem;
}
.product-image-lightbox-toolbar {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  gap: .5rem;
}
.product-image-lightbox-zoom {
  padding: .5rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(0, 210, 190, 0.35);
  background: rgba(16, 16, 24, 0.92);
  color: var(--petronas);
  font-family: Orbitron, sans-serif;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  cursor: pointer;
}
.product-image-lightbox-zoom[aria-pressed="true"] {
  background: rgba(0, 210, 190, 0.15);
}
.product-image-lightbox-stage {
  position: relative;
  z-index: 2;
  max-width: min(96vw, 1100px);
  max-height: calc(100vh - 6rem);
  overflow: auto;
  border-radius: 14px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
  cursor: zoom-in;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
}
.product-image-lightbox-stage.is-zoomed {
  cursor: zoom-out;
  max-width: min(96vw, 100%);
}
.product-image-lightbox-stage img {
  display: block;
  /* Fit viewport without upscaling beyond the photo?s natural pixels */
  max-width: 100%;
  max-height: calc(100vh - 6rem);
  width: auto;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  transform: none;
  transform-origin: center center;
}
.product-image-lightbox-stage.is-zoomed img {
  /* Zoom = taille d?origine du fichier (1:1), scrollable si plus grand que l??cran */
  max-width: none;
  max-height: none;
  width: auto;
  height: auto;
  transform: none;
}
@media (max-width: 768px) {
  .product-image-lightbox-nav { display: none; }
  .product-main-image-zoom-hint { opacity: 1; transform: none; }
  .product-image-lightbox-stage {
    cursor: default;
    max-height: calc(100dvh - 5rem);
  }
  .product-image-lightbox-stage img {
    max-height: calc(100dvh - 5rem);
  }
  .product-image-lightbox-zoom {
    display: none;
  }
}
.product-gallery-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.product-gallery-thumb {
  width: 72px;
  height: 72px;
  padding: 0;
  border: 2px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  background: rgba(16, 16, 24, 0.9);
  transition: border-color .2s, box-shadow .2s;
}
.product-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 1;
}
.product-gallery-thumb .img-load-host {
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: block;
  background: transparent;
}
.product-main-image-open .img-load-host,
.product-page-img-photo .img-load-host {
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  min-height: 0;
  display: block;
  background: transparent;
}
.product-gallery-thumb .img-load-host img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
}
.product-main-image-open .img-load-host img,
.product-page-img-photo .img-load-host img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top center;
  opacity: 0;
}
#product-main-img {
  object-position: top center;
}
.product-gallery-thumb .img-load-host.is-loaded img,
.product-main-image-open .img-load-host.is-loaded img,
.product-page-img-photo .img-load-host.is-loaded img {
  opacity: 1;
}
.product-gallery-thumb .img-load-spinner,
.product-main-image-open .img-load-spinner,
.product-page-img-photo .img-load-spinner {
  display: flex;
}
.product-gallery-thumb .img-load-spinner::after {
  width: 18px;
  height: 18px;
  border-width: 2px;
}
.product-main-image-open .img-load-spinner::after,
.product-page-img-photo .img-load-spinner::after {
  width: 36px;
  height: 36px;
}
.product-gallery-thumb:hover {
  border-color: rgba(0, 210, 190, 0.35);
}
#product-main-img.product-img-color-switch {
  animation: productImgColorSwitch .45s ease;
}
@keyframes productImgColorSwitch {
  0% { opacity: 0.4; transform: scale(0.98); }
  100% { opacity: 1; transform: scale(1); }
}
.product-image-admin-row img {
  flex-shrink: 0;
}
.product-image-admin-row.is-missing-file {
  border-color: rgba(255, 180, 80, .45);
  background: rgba(255, 140, 40, .06);
}
.admin-photo-missing-placeholder {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  border-radius: 8px;
  border: 1px dashed rgba(255, 180, 80, .55);
  background:
    repeating-linear-gradient(-45deg, rgba(255,180,80,.08) 0 6px, transparent 6px 12px),
    #0b0d10;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffd59a;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.admin-photo-missing-label {
  margin: 0 0 .5rem;
  font-size: .78rem;
  font-weight: 600;
  color: #ffd59a;
}
.admin-photo-replace-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .65rem;
  margin: 0 0 .65rem;
}
.admin-photo-replace-label {
  cursor: pointer;
  margin: 0;
}
.admin-photo-replace-status {
  margin: 0;
  font-size: .75rem;
}
.admin-photo-dnd-board {
  padding: .9rem 1rem 1rem;
  margin: 0 0 1.15rem;
  border: 1px solid #ffffff14;
}
.admin-photo-dnd-board-head {
  margin-bottom: .75rem;
}
.admin-photo-dnd-bulk {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: .55rem .65rem;
  margin: 0 0 .9rem;
  padding: .75rem;
  border: 1px solid #ffffff14;
  border-radius: .55rem;
  background: #ffffff08;
}
.admin-photo-dnd-bulk-field {
  display: grid;
  gap: .25rem;
  margin: 0;
  min-width: min(100%, 11rem);
  flex: 1 1 10rem;
}
.admin-photo-dnd-bulk-label {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #ffffff66;
}
.admin-photo-dnd-bulk .input {
  min-height: 2.15rem;
  font-size: .85rem;
}
.admin-photo-dnd-bulk .btn {
  flex: 0 0 auto;
}
.admin-photo-dnd-size-to-colors {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: .55rem .65rem;
  margin: 0 0 .9rem;
  padding: .75rem;
  border: 1px solid rgba(0, 210, 190, 0.28);
  border-radius: .55rem;
  background: rgba(0, 210, 190, 0.06);
}
.admin-photo-name-group {
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(0, 210, 190, 0.22);
  background: #ffffff06;
}
.admin-photo-name-group.is-dnd-over {
  border-color: var(--petronas, #00d2be);
  box-shadow: 0 0 0 1px rgba(0, 210, 190, 0.35);
}
.admin-photo-name-group-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: .65rem .85rem;
  padding: .85rem 1rem;
  border-bottom: 1px solid #ffffff14;
  background: rgba(0, 210, 190, 0.07);
}
.admin-photo-name-group-title {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 8rem;
  margin-right: auto;
}
.admin-photo-name-group-key {
  font-size: .95rem;
  letter-spacing: .02em;
  color: #fff;
}
.admin-photo-name-group-meta {
  font-size: .75rem;
  color: #ffffff77;
}
.admin-photo-name-group-assign {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: .45rem .55rem;
}
.admin-photo-name-group-assign-field {
  display: grid;
  gap: .2rem;
  margin: 0;
  min-width: 7.5rem;
}
.admin-photo-name-group-assign .input {
  min-height: 2rem;
  font-size: .8rem;
}
.admin-photo-name-group-rows {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  padding: .85rem 1rem 1rem;
}
.admin-photo-name-group-rows .product-image-admin-row {
  margin: 0;
}
.admin-photo-dnd-clear {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem .75rem;
  margin-bottom: .85rem;
  border: 1px dashed #ffffff33;
  border-radius: .5rem;
  font-size: .78rem;
  color: #ffffff88;
  cursor: copy;
  user-select: none;
}
.admin-photo-dnd-clear.is-dnd-over {
  border-color: var(--magenta, #ff2d55);
  color: #ffb4b4;
  background: rgba(255, 45, 85, 0.08);
}
.admin-photo-dnd-attrs {
  display: grid;
  gap: 1rem;
}
.admin-photo-dnd-attr-title {
  margin: 0;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #ffffff66;
}
.admin-photo-dnd-attr-drop {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem .65rem;
  width: 100%;
  margin: 0 0 .45rem;
  padding: .45rem .6rem;
  border: 1px dashed #ffffff28;
  border-radius: .45rem;
  background: #ffffff08;
  color: inherit;
  cursor: grab;
  text-align: left;
}
.admin-photo-dnd-attr-drop:hover,
.admin-photo-dnd-attr-drop.is-dnd-over {
  border-color: var(--petronas, #00d2be);
  background: rgba(0, 210, 190, 0.1);
}
.admin-photo-dnd-attr-only-hint {
  font-size: .68rem;
  text-transform: none;
  letter-spacing: 0;
  color: #ffffff55;
}
.admin-photo-dnd-options {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.admin-photo-dnd-option {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  max-width: 100%;
  padding: .4rem .55rem;
  border: 1px solid #ffffff22;
  border-radius: .5rem;
  background: #ffffff0a;
  color: inherit;
  font: inherit;
  font-size: .78rem;
  cursor: grab;
  user-select: none;
}
.admin-photo-dnd-option:hover {
  border-color: rgba(0, 210, 190, 0.35);
}
.admin-photo-dnd-option.is-dnd-over,
.admin-photo-dnd-option.has-photos {
  border-color: rgba(0, 210, 190, 0.55);
  background: rgba(0, 210, 190, 0.08);
}
.admin-photo-dnd-option.is-dnd-dragging {
  opacity: .55;
}
.admin-photo-dnd-swatch {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  flex-shrink: 0;
  border: 1px solid #ffffff33;
  background: var(--dnd-swatch, #666);
}
.admin-photo-dnd-option-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 11rem;
}
.admin-photo-dnd-count {
  min-width: 1.1rem;
  padding: 0 .28rem;
  border-radius: 999px;
  background: #ffffff14;
  font-size: .68rem;
  text-align: center;
  color: #ffffff99;
}
.admin-photo-dnd-option.has-photos .admin-photo-dnd-count {
  background: rgba(0, 210, 190, 0.25);
  color: #fff;
}
.product-image-admin-row.is-dnd-over {
  outline: 2px solid rgba(0, 210, 190, 0.55);
  outline-offset: 2px;
}
.product-image-admin-row.is-dnd-dragging {
  opacity: .7;
}
.product-image-admin-row.is-dnd-linked {
  animation: adminPhotoDndFlash .7s ease;
}
.product-image-admin-row.is-dnd-cleared {
  animation: adminPhotoDndClear .7s ease;
}
@keyframes adminPhotoDndFlash {
  0% { box-shadow: 0 0 0 0 rgba(0, 210, 190, 0.45); }
  100% { box-shadow: 0 0 0 0 transparent; }
}
@keyframes adminPhotoDndClear {
  0% { box-shadow: 0 0 0 0 rgba(255, 45, 85, 0.35); }
  100% { box-shadow: 0 0 0 0 transparent; }
}
body.admin-photo-dnd-active .admin-photo-dnd-option,
body.admin-photo-dnd-active .admin-photo-dnd-clear {
  transition: border-color .15s ease, background .15s ease;
}
.product-gallery-thumb.active {
  border-color: rgba(0, 210, 190, 0.55);
  box-shadow: 0 0 0 1px rgba(0, 210, 190, 0.2);
}
.product-page-details {
  min-width: 0;
  max-width: 100%;
}
.product-page-details > * {
  max-width: 100%;
}

.product-page-mobile-cta {
  display: none;
}

@media (max-width: 768px) {
  .product-page-grid {
    grid-template-columns: 1fr;
  }
  .product-gallery-sticky {
    position: static;
    top: auto;
    --product-gallery-chrome: 7.5rem;
  }
  .product-gallery-sticky .product-gallery {
    max-height: none;
  }
  .product-gallery-sticky .product-page-img-photo,
  .product-gallery-sticky .product-page-img:not(.product-page-img-3d) {
    max-height: min(72vw, 320px);
    min-height: 0;
    aspect-ratio: auto;
  }
  /* Ne pas collapser la coque 3D (aspect-ratio:auto + min-height:0 ? canvas 0px). */
  .product-gallery-sticky .product-page-img-3d {
    max-height: min(72vw, 320px);
    width: 100%;
    min-height: min(72vw, 280px);
    aspect-ratio: 1 / 1;
  }
  .product-gallery-sticky .product-main-image-open img,
  .product-gallery-sticky #product-main-img,
  .product-gallery-sticky .product-page-img-photo .img-load-host img {
    max-height: min(72vw, 320px);
    height: auto;
  }
  .product-page-img { min-height: 180px; font-size: 5rem; }
  .product-gallery-disclaimer {
    left: .18rem;
    font-size: .55rem;
    letter-spacing: .12em;
  }
  .product-page-img-3d {
    min-height: min(72vw, 280px);
    aspect-ratio: 1 / 1;
  }
  .product-3d-view-toolbar {
    flex-wrap: nowrap;
    overflow: visible;
    padding: .4rem .45rem .08rem;
    gap: .28rem;
  }
  .product-3d-view-toolbar-scroll {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    min-width: 0;
    flex: 1 1 auto;
    gap: .28rem;
    padding-bottom: .05rem;
  }
  .product-3d-view-toolbar-scroll::-webkit-scrollbar { display: none; }
  .product-3d-view-toolbar-presets {
    flex-wrap: nowrap;
    flex: 0 0 auto;
  }
  .product-3d-view-toolbar-tools {
    margin-left: 0;
    flex-wrap: nowrap;
  }
  .product-3d-view-preset-btn,
  .product-3d-view-tool-btn {
    flex-shrink: 0;
    font-size: .6rem;
    padding: .34rem .55rem;
    min-height: 2.05rem;
  }
  .product-3d-view-tool-btn--recenter,
  .product-3d-view-tool-btn[data-view-recenter] {
    order: -1;
    min-height: 2.45rem;
    padding: .42rem .72rem;
    font-size: .68rem;
    letter-spacing: .04em;
    border-width: 1.5px;
    box-shadow: 0 0 0 1px rgba(0, 210, 190, .18);
  }
  .product-3d-recenter-icon svg {
    width: 15px;
    height: 15px;
  }
  .product-3d-recenter-label {
    display: inline !important;
  }
  .product-3d-led-panel,
  .product-3d-floor-panel {
    /* Anchored/clamped by JS (.is-fixed-mobile) so overflow-x scroll cannot clip or push them off-screen. */
    max-width: min(18rem, calc(100vw - 1.2rem));
  }
  body.product-page-has-mobile-cta #main-content.product-page-main {
    padding-bottom: calc(5.75rem + env(safe-area-inset-bottom, 0px)) !important;
  }
  .product-page-mobile-cta {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 110;
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
    padding: .55rem .75rem calc(.55rem + env(safe-area-inset-bottom, 0px));
    background: rgba(5, 5, 6, 0.98);
    border-top: 1px solid rgba(0, 210, 190, 0.28);
    backdrop-filter: blur(12px);
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.45);
  }
  .product-page-mobile-cta.is-hidden-modal {
    transform: translateY(100%);
    visibility: hidden;
    pointer-events: none;
  }
  .product-page-mobile-cta-inner {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: .6rem;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
  }
  .product-page-mobile-cta-media {
    width: 52px;
    height: 52px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .product-page-mobile-cta-media img,
  .product-page-mobile-cta-media .img-load-host,
  .product-page-mobile-cta-media .img-load-host img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 1 !important;
    transition: none !important;
  }
  .product-page-mobile-cta-media .img-load-spinner {
    display: none !important;
  }
  .product-page-mobile-cta-placeholder {
    font-size: 1.35rem;
    color: var(--petronas);
    text-transform: uppercase;
    line-height: 1;
  }
  .product-page-mobile-cta-copy {
    min-width: 0;
  }
  .product-page-mobile-cta-name {
    margin: 0;
    font-size: .72rem;
    line-height: 1.25;
    color: #ffffff88;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .product-page-mobile-cta-price {
    margin: .1rem 0 0;
    font-family: Orbitron, sans-serif;
    font-size: .95rem;
    font-weight: 700;
    color: var(--petronas);
    line-height: 1.2;
  }
  .product-page-mobile-cta-btn {
    flex-shrink: 0;
    min-width: 7.5rem;
    max-width: 11rem;
    padding-left: .85rem;
    padding-right: .85rem;
    white-space: nowrap;
  }
}

/* Vue liste */
.products-list .product-card {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  transform: none !important;
}
.products-list .product-card-hitarea {
  flex: 1 1 auto;
  flex-direction: row;
  align-items: stretch;
  min-width: 0;
}
.products-list .product-card:hover { transform: none; border-color: rgba(0, 210, 190, 0.3) !important; }
.products-list .product-card-media {
  flex: 0 0 160px;
  width: 160px;
  min-width: 160px;
  max-width: 160px;
  align-self: stretch;
  position: relative;
}
.products-list .product-card-media .product-img,
.products-list .product-card-media .product-img-flip {
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 140px;
  aspect-ratio: auto;
}
.products-list .product-card-media .product-card-flip-scene {
  width: 100%;
  height: 100%;
  min-height: 140px;
  aspect-ratio: auto;
}
.products-list .product-img {
  width: 160px; min-width: 160px; aspect-ratio: auto; min-height: 140px;
  font-size: 3rem;
}
.products-list .product-card-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.25rem 1.5rem;
}
.products-list .product-title { font-size: 1.15rem; }
.products-list .product-desc { display: block; }
.products-list .product-list-cta.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.products-list .product-price-cta-row {
  width: 100%;
  margin-top: .45rem;
}
@media (max-width: 600px) {
  .products-list .product-card { flex-direction: column; }
  .products-list .product-card-hitarea { flex-direction: column; }
  .products-list .product-card-media {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    max-width: none;
  }
  .products-list .product-card-media .product-img,
  .products-list .product-card-media .product-img-flip,
  .products-list .product-img {
    width: 100%;
    min-width: 0;
    min-height: 120px;
    aspect-ratio: 16 / 10;
  }
  .products-list .product-card-media .product-card-flip-scene {
    min-height: 120px;
    aspect-ratio: 16 / 10;
  }
  .products-list .product-price-cta-row {
    gap: .35rem .5rem;
  }
  .products-list .product-list-cta.btn {
    padding: .2rem .5rem;
    font-size: .55rem;
  }
}

/* Modale confirmation commande */
.order-modal-overlay {
  position: fixed; inset: 0; z-index: 1000;
  background: rgba(3, 3, 4, 0.88);
  backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  padding: 1.5rem;
  animation: modalFadeIn .3s ease;
}
.order-modal {
  width: 100%; max-width: 420px; text-align: center;
  padding: 2rem 1.75rem;
  border-color: rgba(0, 210, 190, 0.35);
  box-shadow: 0 0 60px rgba(0, 210, 190, 0.12);
  animation: modalSlideUp .35s ease;
}
.order-modal-icon {
  width: 64px; height: 64px; margin: 0 auto 1rem;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 1.75rem; font-weight: bold;
  background: rgba(0, 210, 190, 0.12);
  color: var(--petronas);
  border: 2px solid rgba(0, 210, 190, 0.35);
}
.order-modal-title { font-size: 1.25rem; margin-bottom: .75rem; text-transform: uppercase; }
.order-modal-text { color: #ffffff99; line-height: 1.6; font-size: .95rem; }
.order-modal-ref { margin-top: 1rem; font-size: .9rem; color: #ffffff80; }
.order-modal-total { font-size: 1.5rem; margin-top: .35rem; }
.order-modal-payment-instructions { margin-top: 1rem; text-align: left; width: 100%; }
.payment-instructions-box {
  padding: 1rem 1.1rem;
  border-radius: 12px;
  background: #ffffff08;
  border: 1px solid #ffffff18;
}
.payment-instructions-box--wire { border-color: rgba(0, 240, 255, .35); }
.payment-instructions-box--cheque { border-color: rgba(255, 0, 170, .35); }
.payment-instructions-kicker {
  margin: 0 0 .75rem;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--cyan);
  font-family: var(--font-display, inherit);
}
.payment-instructions-box--cheque .payment-instructions-kicker { color: var(--magenta); }
.payment-instructions-list { margin: 0; }
.payment-instructions-list > div {
  display: grid;
  grid-template-columns: minmax(110px, 38%) 1fr;
  gap: .35rem .75rem;
  padding: .4rem 0;
  border-bottom: 1px solid #ffffff10;
  font-size: .9rem;
}
.payment-instructions-list > div:last-child { border-bottom: 0; }
.payment-instructions-list dt { margin: 0; color: #ffffff66; }
.payment-instructions-list dd { margin: 0; color: #fff; }
.payment-instructions-mono { font-family: ui-monospace, Consolas, monospace; font-size: .88rem; word-break: break-all; }
.payment-instructions-note {
  margin: .85rem 0 0;
  font-size: .82rem;
  color: #ffffff80;
  line-height: 1.5;
}
@keyframes modalFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes modalSlideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

/* Bandeau r?assurance (au-dessus du footer) */
.trust-strip {
  position: relative;
  z-index: 5;
  margin-top: 4rem;
  padding: 2.5rem 0 1.25rem;
  background:
    linear-gradient(180deg, rgba(10, 10, 16, 0) 0%, rgba(10, 10, 16, 0.95) 20%),
    radial-gradient(ellipse at 50% 0%, rgba(0, 210, 190, 0.07) 0%, transparent 55%),
    var(--dark);
  border-top: 1px solid rgba(139, 92, 246, 0.15);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.trust-strip .footer-newsletter-container {
  margin-bottom: 1.75rem;
}
.trust-strip .footer-newsletter {
  margin-top: 0;
}
.trust-strip-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 1.25rem;
}
.trust-strip-item {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 1.25rem 1rem;
  background: rgba(16, 16, 24, 0.75);
  border: 1px solid rgba(139, 92, 246, 0.12);
  border-radius: 14px;
  transition: border-color .25s, transform .25s, box-shadow .25s;
}
.trust-strip-item:hover {
  border-color: rgba(0, 210, 190, 0.3);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}
.trust-strip-item-link {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.trust-strip-item-link:hover { transform: translateY(-2px); }
.trust-strip-icon {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: var(--petronas);
}
.trust-strip-icon svg { width: 44px; height: 44px; }
.trust-strip-icon-ship {
  background: rgba(0, 210, 190, 0.1);
  box-shadow: inset 0 0 0 1px rgba(0, 210, 190, 0.2);
}
.trust-strip-icon-pay {
  color: var(--violet-bright);
  background: rgba(139, 92, 246, 0.12);
  box-shadow: inset 0 0 0 1px rgba(139, 92, 246, 0.25);
}
.trust-strip-icon-made {
  background: rgba(0, 210, 190, 0.08);
  box-shadow: inset 0 0 0 1px rgba(0, 210, 190, 0.15);
}
.trust-strip-icon-faq {
  color: #fff;
  background: linear-gradient(135deg, rgba(109, 40, 217, 0.5), rgba(0, 210, 190, 0.25));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}
.trust-strip-icon-refund {
  color: var(--petronas);
  background: rgba(0, 210, 190, 0.1);
  box-shadow: inset 0 0 0 1px rgba(0, 210, 190, 0.22);
}
.trust-strip-title {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #fff;
  margin-bottom: .4rem;
  line-height: 1.3;
}
.trust-strip-text p {
  font-size: .82rem;
  color: #ffffff99;
  line-height: 1.5;
  margin: 0;
}
.trust-strip-sub {
  margin-top: .35rem !important;
  font-size: .75rem !important;
  color: #ffffff66 !important;
}
.trust-strip-cta {
  display: inline-block;
  margin-top: .5rem;
  font-size: .72rem;
  font-family: Orbitron, sans-serif;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--petronas);
}
.trust-strip-note {
  margin-top: 1rem;
  font-size: .72rem;
  color: #ffffff45;
  text-align: center;
}
.trust-strip-note a { color: #ffffff66; }

.trust-strip-item--pay-4x {
  border-color: rgba(0, 156, 222, 0.28);
  background:
    linear-gradient(135deg, rgba(0, 48, 135, 0.12) 0%, rgba(16, 16, 24, 0.82) 55%);
}
.trust-strip-item--pay-4x:hover {
  border-color: rgba(0, 156, 222, 0.42);
}
.trust-strip-item--pay-4x .trust-strip-icon-pay-paypal {
  color: #7dd3fc;
  background: rgba(0, 48, 135, 0.22);
  box-shadow: inset 0 0 0 1px rgba(0, 156, 222, 0.3);
}
.trust-strip-pay-4x {
  margin-top: .45rem;
}
.trust-strip-pay-4x-row {
  display: flex;
  align-items: center;
  gap: .65rem;
  flex-wrap: wrap;
}
.trust-strip-pay-4x-logo {
  flex-shrink: 0;
  font-size: .58rem !important;
  padding: .22rem .5rem !important;
  min-width: auto !important;
}
.trust-strip-pay-4x-steps {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  gap: 0;
}
.trust-strip-pay-4x-step {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #003087, #009cde);
}
.trust-strip-pay-4x-step span {
  font-family: Orbitron, sans-serif;
  font-size: .58rem;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}
.trust-strip-pay-4x-step-line {
  flex: 1;
  height: 2px;
  min-width: 4px;
  background: rgba(0, 156, 222, 0.45);
  border-radius: 2px;
}
.trust-strip-pay-4x-meta {
  font-size: .75rem !important;
  line-height: 1.45 !important;
  color: #ffffff88 !important;
  margin: .45rem 0 0 !important;
}

.client-satisfaction-badge {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 0;
  font-size: .84rem;
  line-height: 1.45;
  color: #ffffffb3;
}
.client-satisfaction-badge--product {
  margin-top: .85rem;
  padding: .7rem .85rem;
  border-radius: 10px;
  border: 1px solid rgba(0, 210, 190, 0.18);
  background: rgba(0, 210, 190, 0.06);
}
.client-satisfaction-badge--cart {
  margin-top: .85rem;
  padding: .75rem .85rem;
  border-radius: 10px;
  border: 1px solid rgba(139, 92, 246, 0.16);
  background: rgba(16, 16, 24, 0.55);
}
.client-satisfaction-badge-icon {
  flex-shrink: 0;
  width: 1.35rem;
  height: 1.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(0, 210, 190, 0.14);
  color: var(--petronas);
  font-size: .78rem;
  font-weight: 700;
  line-height: 1;
}
.client-satisfaction-badge-text {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .3rem;
  min-width: 0;
  line-height: 1.35;
}
.client-satisfaction-badge-text strong {
  color: #ffffffe6;
  font-weight: 600;
  white-space: nowrap;
}
.client-satisfaction-badge-sub {
  font-size: .8rem;
  color: #ffffff80;
}

.paypal-4x-banner {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin-top: .65rem;
  padding: .55rem .75rem;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(0, 48, 135, 0.35) 0%, rgba(0, 156, 222, 0.12) 100%);
  border: 1px solid rgba(0, 156, 222, 0.35);
}
.paypal-4x-banner-logo {
  flex-shrink: 0;
  font-size: .58rem !important;
  padding: .2rem .45rem !important;
  min-width: auto !important;
}
.paypal-4x-banner-text {
  font-size: .78rem;
  line-height: 1.35;
  color: #ffffffcc;
}
.paypal-4x-banner-text strong {
  color: #7dd3fc;
  font-weight: 700;
}
.paypal-4x-banner--product {
  margin-top: 1rem;
}
.paypal-4x-banner--checkout {
  margin-bottom: 1rem;
}

.free-shipping-banner {
  margin: 0;
  padding: 0;
}
.free-shipping-banner--footer {
  position: relative;
  z-index: 5;
  padding: 1.35rem 0 1.5rem;
  background: linear-gradient(180deg, rgba(0, 210, 190, 0.06) 0%, transparent 100%);
  border: none;
  box-shadow: none;
}
.free-shipping-banner-container {
  width: 100%;
  background: transparent;
  border: none;
  box-shadow: none;
}
.free-shipping-banner--footer .free-shipping-banner-inner:not(.free-shipping-banner-inner--animated),
.free-shipping-banner-container .free-shipping-banner-inner:not(.free-shipping-banner-inner--animated) {
  max-width: none;
  margin: 0;
  padding: 1rem 1.25rem;
  border-radius: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}
.free-shipping-banner-inner--animated {
  position: relative;
  align-items: center;
  gap: 1.15rem;
  max-width: 1180px;
  margin: 0 auto;
  padding: 1.2rem 1.45rem 1.2rem 1.25rem;
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(0, 210, 190, 0.2) 0%, rgba(0, 48, 135, 0.28) 52%, rgba(88, 28, 135, 0.22) 100%);
  border: 1px solid rgba(0, 210, 190, 0.45);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 12px 36px rgba(0, 0, 0, 0.28),
    0 0 32px rgba(0, 210, 190, 0.14);
  overflow: hidden;
  isolation: isolate;
  animation: freeShippingBannerPulse 3.6s ease-in-out infinite;
}
.free-shipping-banner-inner--animated > * {
  position: relative;
  z-index: 1;
}
.free-shipping-banner-inner--animated::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(
    110deg,
    transparent 0%,
    rgba(0, 210, 190, 0.15) 35%,
    rgba(0, 210, 190, 0.85) 50%,
    rgba(0, 210, 190, 0.15) 65%,
    transparent 100%
  );
  background-size: 220% 100%;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  animation: freeShippingBannerShimmer 2.8s linear infinite;
}
.free-shipping-banner-inner--animated::after {
  content: '';
  position: absolute;
  top: -40%;
  right: -8%;
  width: 42%;
  height: 180%;
  background: radial-gradient(ellipse at center, rgba(0, 210, 190, 0.16) 0%, transparent 68%);
  pointer-events: none;
  animation: freeShippingDeliveryGlow 3.2s ease-in-out infinite;
}
.free-shipping-banner--product {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: .75rem 0 1rem;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.18) 0%, rgba(0, 48, 135, 0.22) 100%);
  border: 1px solid rgba(0, 210, 190, 0.4);
}
.free-shipping-banner-inner {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: .85rem 1rem;
  max-width: 1200px;
  margin: 0 auto;
}
.free-shipping-banner--product .free-shipping-banner-inner {
  max-width: none;
  margin: 0;
  align-items: flex-start;
  padding: .65rem .85rem;
}
.free-shipping-banner-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  color: var(--petronas);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(0, 210, 190, 0.12);
  box-shadow: inset 0 0 0 1px rgba(0, 210, 190, 0.28);
}
.free-shipping-banner--product .free-shipping-banner-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
}
.free-shipping-banner-icon svg {
  width: 36px;
  height: 36px;
  display: block;
}
.free-shipping-banner--product .free-shipping-banner-icon svg {
  width: 30px;
  height: 30px;
}
.free-shipping-banner-text {
  flex: 1;
  min-width: 0;
}
.free-shipping-banner-line {
  margin: 0;
  font-size: .92rem;
  line-height: 1.45;
  color: #ffffffe6;
  font-weight: 600;
}
.free-shipping-banner-line + .free-shipping-banner-line {
  margin-top: .35rem;
}
.free-shipping-banner--footer .free-shipping-banner-line {
  font-size: 1.02rem;
  text-align: left;
  color: #fff;
  text-shadow: 0 1px 12px rgba(0, 210, 190, 0.22);
}
.free-shipping-banner-kicker {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin: 0 0 .45rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--petronas);
  text-shadow: 0 0 14px rgba(0, 210, 190, 0.45);
}
.free-shipping-banner-kicker::before {
  content: '';
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--petronas), transparent);
  box-shadow: 0 0 8px var(--petronas-glow);
}
.free-shipping-banner-delivery-scene {
  position: relative;
  flex-shrink: 0;
  width: 156px;
  height: 76px;
  overflow: hidden;
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.22);
  box-shadow:
    inset 0 0 0 1px rgba(0, 210, 190, 0.28),
    0 6px 18px rgba(0, 0, 0, 0.22);
}
.free-shipping-banner-delivery-badge {
  position: absolute;
  top: 6px;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
  padding: .12rem .5rem;
  border-radius: 999px;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #042a28;
  background: linear-gradient(135deg, var(--petronas) 0%, #7dffe8 100%);
  box-shadow: 0 2px 10px rgba(0, 210, 190, 0.45);
  animation: freeShippingBadgePop 2.6s ease-in-out infinite;
}
.free-shipping-banner-delivery-glow {
  position: absolute;
  inset: 10px 6px auto;
  height: 42px;
  border-radius: 999px;
  background: radial-gradient(ellipse at center, rgba(0, 210, 190, 0.38) 0%, transparent 72%);
  animation: freeShippingDeliveryGlow 2.4s ease-in-out infinite;
}
.free-shipping-banner-delivery-speedlines {
  position: absolute;
  inset: 18px 8px 20px;
  overflow: hidden;
  pointer-events: none;
}
.free-shipping-banner-speedline {
  position: absolute;
  left: 100%;
  height: 2px;
  width: 28px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(0, 210, 190, 0.85), transparent);
  opacity: 0;
  animation: freeShippingSpeedLine 1.4s linear infinite;
}
.free-shipping-banner-speedline:nth-child(1) {
  top: 28%;
  animation-delay: 0s;
}
.free-shipping-banner-speedline:nth-child(2) {
  top: 48%;
  width: 22px;
  animation-delay: .45s;
}
.free-shipping-banner-speedline:nth-child(3) {
  top: 66%;
  width: 18px;
  animation-delay: .9s;
}
.free-shipping-banner-road {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 9px;
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 0 10px rgba(0, 210, 190, 0.15);
}
.free-shipping-banner-road-dash {
  display: block;
  width: 200%;
  height: 100%;
  background: repeating-linear-gradient(
    90deg,
    rgba(0, 210, 190, 0.95) 0 12px,
    transparent 12px 24px
  );
  animation: freeShippingRoadScroll 0.85s linear infinite;
}
.free-shipping-banner-vehicle {
  position: absolute;
  left: 50%;
  bottom: 10px;
  width: 68px;
  height: 68px;
  margin-left: -34px;
  color: var(--petronas);
  filter: drop-shadow(0 6px 14px rgba(0, 210, 190, 0.38));
  animation: freeShippingTruckDrive 2.2s ease-in-out infinite;
}
.free-shipping-banner-vehicle svg {
  width: 100%;
  height: 100%;
  display: block;
}
.free-shipping-banner-wheel {
  transform-box: fill-box;
  transform-origin: center;
  animation: freeShippingWheelSpin 0.65s linear infinite;
}
.free-shipping-banner-parcel {
  transform-box: fill-box;
  transform-origin: center bottom;
  animation: freeShippingParcelBounce 2.2s ease-in-out infinite;
}
.free-shipping-banner-route-dot {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--petronas);
  box-shadow: 0 0 12px rgba(0, 210, 190, 0.75);
  opacity: 0;
}
.free-shipping-banner-route-dot--a {
  left: 12px;
  bottom: 26px;
  animation: freeShippingRouteDot 2.2s ease-in-out infinite;
}
.free-shipping-banner-route-dot--b {
  right: 10px;
  bottom: 32px;
  animation: freeShippingRouteDot 2.2s ease-in-out 1.1s infinite;
}
.free-shipping-banner-route-dot--c {
  left: 50%;
  bottom: 38px;
  margin-left: -3px;
  animation: freeShippingRouteDot 2.2s ease-in-out .55s infinite;
}
@keyframes freeShippingRoadScroll {
  from { transform: translateX(0); }
  to { transform: translateX(-24px); }
}
@keyframes freeShippingTruckDrive {
  0%, 100% { transform: translateX(-16px) translateY(0) rotate(-1deg); }
  35% { transform: translateX(4px) translateY(-3px) rotate(0deg); }
  65% { transform: translateX(16px) translateY(-1px) rotate(1deg); }
}
@keyframes freeShippingWheelSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes freeShippingParcelBounce {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  35% { transform: translateY(-2px) rotate(-2deg); }
  65% { transform: translateY(-3px) rotate(2deg); }
}
@keyframes freeShippingDeliveryGlow {
  0%, 100% { opacity: 0.5; transform: scale(0.94); }
  50% { opacity: 1; transform: scale(1.08); }
}
@keyframes freeShippingRouteDot {
  0%, 18%, 100% { opacity: 0; transform: scale(0.5); }
  42%, 58% { opacity: 1; transform: scale(1.15); }
}
@keyframes freeShippingBannerShimmer {
  from { background-position: 200% 0; }
  to { background-position: -200% 0; }
}
@keyframes freeShippingBannerPulse {
  0%, 100% { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06) inset, 0 12px 36px rgba(0, 0, 0, 0.28), 0 0 28px rgba(0, 210, 190, 0.12); }
  50% { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08) inset, 0 14px 40px rgba(0, 0, 0, 0.32), 0 0 44px rgba(0, 210, 190, 0.28); }
}
@keyframes freeShippingBadgePop {
  0%, 100% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(1.06); }
}
@keyframes freeShippingSpeedLine {
  0% { left: 100%; opacity: 0; }
  12% { opacity: 0.85; }
  100% { left: -20%; opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .free-shipping-banner-road-dash,
  .free-shipping-banner-vehicle,
  .free-shipping-banner-wheel,
  .free-shipping-banner-parcel,
  .free-shipping-banner-delivery-glow,
  .free-shipping-banner-route-dot,
  .free-shipping-banner-speedline,
  .free-shipping-banner-delivery-badge,
  .free-shipping-banner-inner--animated,
  .free-shipping-banner-inner--animated::before,
  .free-shipping-banner-inner--animated::after {
    animation: none !important;
  }
}
@media (max-width: 640px) {
  .free-shipping-banner--footer {
    padding: 1rem 0 1.15rem;
    overflow-x: hidden;
    max-width: 100%;
  }
  .free-shipping-banner-container {
    overflow-x: hidden;
    max-width: 100%;
  }
  .free-shipping-banner-inner--animated {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    padding: .85rem .9rem .95rem;
    border-radius: 14px;
  }
  .free-shipping-banner-delivery-scene {
    order: 1;
    width: 100%;
    max-width: none;
    height: 54px;
    margin: 0;
  }
  .free-shipping-banner-vehicle {
    width: 46px;
    height: 46px;
    margin-left: -23px;
    bottom: 8px;
  }
  .free-shipping-banner-delivery-badge {
    top: 4px;
    font-size: .52rem;
    padding: .08rem .42rem;
  }
  .free-shipping-banner-road {
    bottom: 7px;
    height: 3px;
  }
  .free-shipping-banner-text {
    order: 2;
    text-align: left;
    min-width: 0;
  }
  .free-shipping-banner-kicker {
    justify-content: flex-start;
    width: auto;
    margin-bottom: .35rem;
  }
  .free-shipping-banner--footer .free-shipping-banner-line {
    font-size: .88rem;
    text-align: left;
    line-height: 1.4;
  }
  .free-shipping-banner--product .free-shipping-banner-inner {
    flex-wrap: wrap;
  }
  .free-shipping-banner--product .free-shipping-banner-icon {
    width: 36px;
    height: 36px;
  }
  .free-shipping-banner--product .free-shipping-banner-icon svg {
    width: 26px;
    height: 26px;
  }
}
.free-shipping-banner--product .free-shipping-banner-line {
  font-size: .88rem;
}
.free-shipping-banner-inner--estimate {
  margin: 0 0 .85rem;
  padding: .65rem .85rem;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.14) 0%, rgba(0, 48, 135, 0.18) 100%);
  border: 1px solid rgba(0, 210, 190, 0.32);
  align-items: flex-start;
}
.free-shipping-banner-inner--estimate .free-shipping-banner-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
}
.free-shipping-banner-inner--estimate .free-shipping-banner-icon svg {
  width: 30px;
  height: 30px;
}
.free-shipping-banner-inner--estimate .free-shipping-banner-line {
  font-size: .86rem;
}
.shipping-option--free .shipping-option-price {
  color: var(--petronas);
  font-weight: 700;
}

/* Bandeau fabrication & exp?ditions (au-dessus du footer) */
.shipping-eco-strip {
  position: relative;
  z-index: 5;
  padding: 1.75rem 0;
  background: linear-gradient(90deg, rgba(0, 210, 190, 0.06) 0%, rgba(139, 92, 246, 0.08) 50%, rgba(0, 210, 190, 0.06) 100%);
  border-top: 1px solid rgba(0, 210, 190, 0.2);
  border-bottom: 1px solid rgba(139, 92, 246, 0.15);
}
.shipping-eco-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  align-items: center;
}
.shipping-eco-item {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.shipping-eco-item-link {
  text-decoration: none;
  color: inherit;
  border-radius: 12px;
  padding: .5rem .35rem;
  margin: -.5rem -.35rem;
  transition: background .2s, transform .2s;
}
.shipping-eco-item-link:hover {
  background: rgba(255, 255, 255, 0.04);
  transform: translateY(-1px);
}
.shipping-eco-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: var(--petronas);
}
.shipping-eco-icon svg { width: 40px; height: 40px; }
.shipping-eco-icon-stock {
  background: rgba(0, 210, 190, 0.12);
  box-shadow: inset 0 0 0 1px rgba(0, 210, 190, 0.25);
}
.shipping-eco-icon-ship {
  color: var(--violet-bright);
  background: rgba(139, 92, 246, 0.12);
  box-shadow: inset 0 0 0 1px rgba(139, 92, 246, 0.25);
}
.shipping-eco-icon-eco {
  background: rgba(0, 210, 190, 0.1);
  box-shadow: inset 0 0 0 1px rgba(0, 210, 190, 0.2);
}
.shipping-eco-title {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #fff;
  margin-bottom: .25rem;
  line-height: 1.3;
}
.shipping-eco-text p {
  font-size: .85rem;
  color: #ffffffb3;
  line-height: 1.45;
  margin: 0;
}
.shipping-eco-lead {
  font-size: .85rem !important;
  color: #ffffffcc !important;
}
@media (max-width: 900px) {
  .shipping-eco-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .shipping-eco-item { padding: 0 .25rem; }
  .shipping-eco-item-link { margin: 0; padding: .35rem .25rem; }
}

/* Page production responsable */
.production-page-breadcrumb {
  font-size: .85rem;
  color: #ffffff66;
  margin-bottom: 1rem;
}
.production-page-breadcrumb a { color: #ffffff66; }
.production-page-breadcrumb a:hover { color: var(--petronas); }
.production-page-hero { margin-bottom: 1.75rem; }
.production-page-kicker {
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--petronas);
  margin-bottom: .5rem;
}
.production-page-title {
  font-size: clamp(1.75rem, 4vw, 2.2rem);
  margin: 0 0 .75rem;
  line-height: 1.15;
}
.production-page-lead {
  color: #ffffff99;
  line-height: 1.65;
  margin: 0;
}
.production-page-visual {
  margin: 0 0 1.75rem;
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: #0a0a10;
}
.production-page-visual-media {
  position: relative;
  width: 100%;
}
.production-page-visual-media img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: center 42%;
  filter: brightness(0.55) contrast(1.08) saturate(0.9);
}
.production-page-visual-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(10, 10, 16, 0.15) 0%, rgba(10, 10, 16, 0.05) 40%, rgba(10, 10, 16, 0.75) 100%),
    linear-gradient(90deg, rgba(10, 10, 16, 0.35) 0%, transparent 45%, transparent 55%, rgba(10, 10, 16, 0.35) 100%),
    radial-gradient(ellipse at 75% 35%, rgba(0, 210, 190, 0.12) 0%, transparent 55%);
  pointer-events: none;
}
.production-page-visual-caption {
  padding: .75rem 1rem;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--petronas);
  background: rgba(16, 16, 24, 0.92);
  border-top: 1px solid rgba(0, 210, 190, 0.15);
}
.production-section-figure {
  margin: 1.15rem 0 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.25);
}
.production-section-figure img {
  width: 100%;
  display: block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  filter: brightness(0.62) contrast(1.06) saturate(0.88);
}
.production-section-figure figcaption {
  padding: .65rem .85rem;
  font-size: .78rem;
  color: #ffffff66;
  line-height: 1.45;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.production-section {
  margin-bottom: 1.25rem;
  padding: 1.35rem 1.25rem;
}
.production-section--eco {
  border-color: rgba(0, 210, 190, 0.25);
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.06), rgba(16, 16, 24, 0.85));
}
.production-section-head {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1.15rem;
}
.production-section-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
}
.production-section-icon svg { width: 40px; height: 40px; }
.production-section-icon--made {
  color: var(--petronas);
  background: rgba(0, 210, 190, 0.12);
  box-shadow: inset 0 0 0 1px rgba(0, 210, 190, 0.25);
}
.production-section-icon--ship {
  color: var(--violet-bright);
  background: rgba(139, 92, 246, 0.12);
  box-shadow: inset 0 0 0 1px rgba(139, 92, 246, 0.25);
}
.production-section-icon--eco {
  color: var(--petronas);
  background: rgba(0, 210, 190, 0.1);
  box-shadow: inset 0 0 0 1px rgba(0, 210, 190, 0.2);
}
.production-section-title {
  font-size: 1.05rem;
  margin: 0 0 .25rem;
  color: #fff;
}
.production-section-sub {
  font-size: .78rem;
  color: #ffffff66;
  margin: 0;
}
.production-section-body {
  color: #ffffff99;
  font-size: .9rem;
  line-height: 1.65;
}
.production-section-body p { margin: 0 0 .85rem; }
.production-subtitle {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--petronas);
  margin: 1rem 0 .65rem;
}
.production-list {
  margin: 0;
  padding-left: 1.1rem;
}
.production-list li { margin-bottom: .5rem; }
.production-list strong { color: #fff; }
.production-callout {
  margin-top: 1rem;
  padding: .85rem 1rem;
  border-radius: 10px;
  background: rgba(139, 92, 246, 0.1);
  border: 1px solid rgba(139, 92, 246, 0.22);
  font-size: .88rem;
  color: #ffffffb3;
  line-height: 1.55;
}
.production-schedule {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .75rem;
  margin: 1rem 0;
}
.production-schedule-day {
  padding: .85rem 1rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.production-schedule-label {
  display: block;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--petronas);
  margin-bottom: .35rem;
}
.production-schedule-desc {
  font-size: .82rem;
  color: #ffffff88;
  line-height: 1.45;
}
.production-note {
  font-size: .82rem;
  color: #ffffff66;
  line-height: 1.55;
  margin: 0;
}
.production-page-cta {
  text-align: center;
  padding: 1.5rem;
  margin-top: .5rem;
}
.production-page-cta p {
  color: #ffffff99;
  margin: 0 0 1rem;
}
.production-page-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: center;
}
@media (max-width: 600px) {
  .production-schedule { grid-template-columns: 1fr; }
}

/* Page investisseurs */
.investor-page .investor-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .75rem;
  padding: .85rem 1rem;
  margin-bottom: 1.5rem;
}
.investor-nav a {
  font-size: .72rem;
  font-family: Orbitron, sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #ffffffb0;
  text-decoration: none;
  padding: .35rem .65rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: color .2s, border-color .2s, background .2s;
}
.investor-nav a:hover {
  color: var(--petronas);
  border-color: rgba(0, 210, 190, 0.35);
  background: rgba(0, 210, 190, 0.06);
}
.investor-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
  margin-bottom: 1.75rem;
}
.investor-stat {
  padding: 1rem .75rem;
  text-align: center;
}
.investor-stat-val {
  margin: 0;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  line-height: 1.1;
  color: var(--petronas);
}
.investor-stat-label {
  margin: .35rem 0 0;
  font-size: .72rem;
  line-height: 1.4;
  color: #ffffff66;
}
.investor-pillars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}
.investor-pillar {
  padding: 1rem 1.1rem;
}
.investor-pillar-title {
  margin: 0 0 .45rem;
  font-size: .88rem;
  letter-spacing: .04em;
  color: #fff;
}
.investor-pillar p {
  margin: 0;
  font-size: .84rem;
  line-height: 1.55;
  color: #ffffff88;
}
.investor-contact-note {
  margin: 1rem 0 0;
  font-size: .78rem;
  color: #ffffff55;
  text-align: center;
}
.investor-dossier-list {
  margin: .85rem 0 1rem;
  padding-left: 1.15rem;
  color: #ffffff99;
  line-height: 1.55;
  font-size: .9rem;
}
.investor-dossier-list li { margin-bottom: .25rem; }
.investor-dossier-actions { margin-top: .25rem; }
.investor-dossier-section { margin-bottom: 1.25rem; }
.investor-dossier-section .investor-contact-note { text-align: left; }

/* Panier ? donation */
.cart-donation-block { margin-bottom: 1rem; padding: 1rem 1.15rem; }
.cart-donation-disclosure {
  border: none;
  margin: 0;
  padding: 0;
}
.cart-donation-disclosure-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  list-style: none;
  cursor: pointer;
  user-select: none;
  padding: 0;
}
.cart-donation-disclosure-summary::-webkit-details-marker { display: none; }
.cart-donation-disclosure-title {
  font-size: .95rem;
  color: #fff;
}
.cart-donation-disclosure-hint {
  font-size: .72rem;
  color: #ffffff66;
  margin-left: auto;
  margin-right: .35rem;
  text-align: right;
}
.cart-donation-disclosure-badge {
  margin-left: auto;
  margin-right: .35rem;
  font-size: .78rem;
  font-weight: 600;
  color: var(--petronas);
}
.cart-donation-disclosure-summary::after {
  content: '+';
  font-family: Orbitron, sans-serif;
  color: var(--petronas);
  font-size: 1rem;
  line-height: 1;
  flex-shrink: 0;
}
.cart-donation-disclosure[open] .cart-donation-disclosure-summary::after {
  content: '?';
}
.cart-donation-disclosure-body {
  padding-top: .75rem;
  margin-top: .75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.cart-donation-desc,
.cart-donation-hint {
  font-size: .82rem;
  color: #ffffff80;
  line-height: 1.45;
  margin: 0 0 .65rem;
}
.cart-donation-percent-row {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.cart-summary-row--donation span:last-child {
  color: var(--petronas);
  font-weight: 600;
}

/* Panier ? commande prioritaire */
.cart-priority-block-wrap { margin-bottom: 1rem; }
.cart-priority-block { padding: 0; }
.cart-priority-option {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  cursor: pointer;
  margin: 0;
}
.cart-priority-checkbox {
  margin-top: .2rem;
  width: 1.1rem;
  height: 1.1rem;
  accent-color: var(--violet-bright);
  flex-shrink: 0;
}
.cart-priority-option-body {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  flex: 1;
  min-width: 0;
}
.cart-priority-option-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
}
.cart-priority-label {
  font-size: .95rem;
  color: #fff;
}
.cart-priority-price {
  font-family: var(--font-display, inherit);
  font-size: .9rem;
  color: var(--violet-bright);
  font-weight: 700;
}
.cart-priority-description {
  font-size: .82rem;
  color: #ffffff80;
  line-height: 1.45;
}
.cart-priority-delay {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .78rem;
  color: var(--petronas);
  font-weight: 600;
}
.cart-priority-delay-icon { line-height: 1; }
.cart-summary-row--priority span:last-child {
  color: var(--violet-bright);
  font-weight: 600;
}
.cart-summary-priority-detail {
  margin: .65rem 0 .25rem;
  padding: .75rem .85rem;
  border-radius: 12px;
  border: 1px solid rgba(139, 92, 246, 0.28);
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.1), rgba(124, 58, 237, 0.08));
}
.cart-summary-priority-head {
  display: flex;
  align-items: center;
  gap: .45rem;
  flex-wrap: wrap;
  margin-bottom: .35rem;
}
.cart-summary-priority-icon {
  line-height: 1;
}
.cart-summary-priority-label {
  flex: 1 1 auto;
  font-size: .88rem;
  color: #fff;
}
.cart-summary-priority-price {
  font-family: Orbitron, sans-serif;
  font-size: .82rem;
  color: var(--violet-bright);
}
.cart-summary-priority-description,
.cart-summary-priority-delay {
  margin: .2rem 0 0;
  font-size: .8rem;
  line-height: 1.45;
  color: #ffffffb3;
}
.cart-summary-priority-delay {
  display: flex;
  align-items: flex-start;
  gap: .35rem;
  font-size: .78rem;
  color: var(--petronas);
  font-weight: 600;
}
.cart-summary-priority-delay-icon {
  flex: 0 0 auto;
  line-height: 1.35;
}
.cart-summary-priority-delay-text {
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1.45;
}
.order-priority-recap {
  padding: .85rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(139, 92, 246, 0.28);
  background: rgba(139, 92, 246, 0.08);
}
.order-priority-recap-head {
  display: flex;
  align-items: center;
  gap: .45rem;
  flex-wrap: wrap;
}
.order-priority-recap-label {
  flex: 1 1 auto;
  color: #fff;
}
.order-priority-recap-price {
  color: var(--violet-bright);
  font-family: Orbitron, sans-serif;
  font-size: .9rem;
}
.order-priority-recap-description,
.order-priority-recap-delay,
.order-priority-recap-deadline {
  margin: .45rem 0 0;
  font-size: .84rem;
  line-height: 1.45;
  color: #ffffffb8;
}
.order-priority-recap-delay {
  display: flex;
  align-items: flex-start;
  gap: .35rem;
}
.order-priority-recap-delay-icon {
  flex: 0 0 auto;
  line-height: 1.35;
}
.order-priority-recap-deadline {
  color: var(--violet-bright);
  font-size: .8rem;
}

.account-order-donation-badge {
  display: inline-block;
  margin-top: .35rem;
  padding: .2rem .55rem;
  border-radius: 999px;
  font-size: .72rem;
  color: var(--petronas);
  background: rgba(0, 210, 190, 0.12);
  border: 1px solid rgba(0, 210, 190, 0.28);
}
.donation-receipt-body { margin-top: 1.25rem; }
.donation-receipt-intro {
  margin: 0 0 1rem;
  font-size: .9rem;
  color: #ffffff99;
  line-height: 1.5;
}
.donation-receipt-desc { font-size: .82rem; color: #ffffff77; }
.donation-receipt-note {
  margin: 1rem 0 0;
  font-size: .78rem;
  color: #ffffff66;
  line-height: 1.45;
}
.invoice-doc-totals-row--donation span:last-child {
  color: var(--petronas);
  font-weight: 600;
}

@media (max-width: 768px) {
  .investor-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .investor-pillars {
    grid-template-columns: 1fr;
  }
  .investor-nav {
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }
  .investor-nav::-webkit-scrollbar { display: none; }
}

/* Codes promo publics */
.public-promo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}
.public-promo-card {
  position: relative;
  padding: 1.35rem 1.25rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.public-promo-card--weekly {
  border-color: rgba(0, 210, 190, .35);
  box-shadow: 0 0 0 1px rgba(0, 210, 190, .12) inset;
}
.public-promo-badge {
  align-self: flex-start;
  font-size: .65rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--petronas);
  background: rgba(0, 210, 190, .12);
  border: 1px solid rgba(0, 210, 190, .25);
  border-radius: 999px;
  padding: .2rem .55rem;
}
.public-promo-card-title {
  margin: 0;
  font-size: 1rem;
  line-height: 1.35;
  color: #fff;
}
.public-promo-discount {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--petronas);
}
.public-promo-scope,
.public-promo-meta,
.public-promo-countdown {
  margin: 0;
  font-size: .82rem;
  color: #ffffff88;
  line-height: 1.45;
}
.public-promo-countdown-time {
  color: #fff;
  font-variant-numeric: tabular-nums;
}
.public-promo-code-row {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
  margin-top: .15rem;
}
.public-promo-code {
  font-size: 1rem;
  letter-spacing: .06em;
}
.public-promo-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .35rem;
}
.public-promo-help-list {
  margin: 0;
  padding-left: 1.15rem;
  color: #ffffff99;
  line-height: 1.6;
}
.public-promo-help-list a {
  color: var(--client-link);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.public-promo-help-list a:hover { color: var(--client-link-hover); }

/* FAQ */
.faq-list { display: flex; flex-direction: column; gap: .75rem; }
.faq-item { padding: 0; overflow: hidden; }
.faq-item summary {
  list-style: none;
  cursor: pointer;
  padding: 1.1rem 1.25rem;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: '+';
  font-family: Orbitron, sans-serif;
  color: var(--petronas);
  font-size: 1.1rem;
  flex-shrink: 0;
}
.faq-item[open] summary::after { content: '?'; }
.faq-answer {
  padding: 0 1.25rem 1.15rem;
  color: #ffffff99;
  font-size: .95rem;
  line-height: 1.65;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  margin: 0;
  padding-top: .85rem;
}

/* Blog */
.blog-article-page {
  padding-bottom: 4rem;
  max-width: 100%;
}
@media (min-width: 1025px) {
  .blog-article-page {
    max-width: 1120px;
  }
}
.blog-article.card {
  padding: 1.75rem 1.5rem;
}
@media (min-width: 1025px) {
  .blog-article.card {
    padding: 2rem 2.25rem;
  }
}
.blog-article-nav.card {
  margin-top: 1.5rem;
  padding: 1rem 1.25rem;
}
.blog-breadcrumb {
  font-size: .85rem;
  color: #ffffff66;
  margin-bottom: 1rem;
}
.blog-breadcrumb a { color: #ffffff66; }
.blog-breadcrumb a:hover { color: var(--petronas); }
.shop-breadcrumb {
  font-size: .85rem;
  color: #ffffff66;
  margin-bottom: 1rem;
}
.shop-breadcrumb a { color: #ffffff66; }
.shop-breadcrumb a:hover { color: var(--petronas); }
.shop-breadcrumb [aria-current="page"] {
  color: #ffffffa8;
}
.blog-page-kicker,
.blog-page-head .blog-page-kicker {
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--petronas);
  margin: 0 0 .35rem;
}
.blog-page-title {
  font-size: 2rem;
  margin: 0 0 .5rem;
}
.blog-page-lead {
  color: #ffffff80;
  margin: 0 0 2rem;
  max-width: 42rem;
  line-height: 1.6;
}
.blog-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 720px) {
  .blog-grid { grid-template-columns: 1fr; }
}
.blog-card {
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow: hidden;
}
.blog-card-body {
  padding: 1.25rem 1.35rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  flex: 1 1 auto;
}
.blog-card-media-link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.blog-card-media,
.blog-article-hero {
  margin: 0;
  overflow: hidden;
  border-radius: 0;
  background: #0a0a0f;
  line-height: 0;
}
.blog-card-media img,
.blog-article-hero img,
.blog-figure img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 280px;
  object-fit: cover;
  object-position: center;
}
.blog-article-body .blog-figure img {
  max-height: 360px;
}
.blog-figure {
  margin: 0 0 1.25rem;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .08);
  background: #0a0a0f;
}
.blog-figure-media {
  position: relative;
  line-height: 0;
}
.blog-figure-censor {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  background: rgba(5, 5, 6, 0.28);
  backdrop-filter: blur(11px);
  -webkit-backdrop-filter: blur(11px);
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
}
.blog-figure-censor--zone {
  inset: auto;
}
.blog-figure figcaption {
  padding: .65rem .85rem;
  font-size: .82rem;
  line-height: 1.45;
  color: #ffffff70;
  background: rgba(0, 0, 0, .25);
}
.blog-figure-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1rem;
  margin: 0 0 1.5rem;
}
.blog-figure-grid .blog-figure {
  margin: 0;
}
.blog-article-body .blog-figure--press img {
  max-height: 520px;
  object-fit: contain;
  background: #111;
}
.blog-figure--montage-board {
  margin: 2rem 0;
  border-radius: 12px;
  border-color: rgba(0, 210, 190, 0.18);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.32);
}
.blog-article-body .blog-figure--montage-board img {
  max-height: none;
  width: 100%;
  height: auto;
  object-fit: contain;
  background: #0a0c12;
}
.blog-figure--montage-board figcaption {
  color: #ffffff85;
  font-size: .84rem;
}
.blog-lead--magazine {
  font-size: 1.05rem;
  line-height: 1.7;
}
.blog-magazine-kicker {
  display: block;
  font-size: .62rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--petronas);
  margin-bottom: .5rem;
}
.blog-montage-panel {
  margin: 2rem 0;
  padding: 1.15rem;
  border-radius: 16px;
  border: 1px solid rgba(0, 210, 190, 0.14);
  background:
    linear-gradient(145deg, rgba(0, 210, 190, 0.05) 0%, rgba(10, 10, 16, 0.4) 42%, rgba(139, 92, 246, 0.07) 100%);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
}
.blog-montage-panel--video {
  padding-bottom: 1rem;
}
.blog-montage-panel-kicker {
  margin: 0 0 .85rem;
  font-size: .6rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--petronas);
}
.blog-montage {
  display: grid;
  gap: .65rem;
}
.blog-montage--hero {
  grid-template-columns: minmax(0, 1fr);
}
.blog-montage--compare {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: stretch;
}
.blog-montage--duo {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.blog-montage--stack-engine {
  grid-template-columns: minmax(0, 1fr);
}
.blog-montage--detail-trio {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.blog-montage--exhaust {
  grid-template-columns: minmax(0, 1fr);
}
.blog-montage--wide {
  grid-template-columns: minmax(0, 1fr);
}
.blog-figure--montage {
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  overflow: hidden;
  background: #0a0a10;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.32);
}
.blog-figure--montage.blog-figure--span-2 {
  grid-column: 1 / -1;
}
.blog-figure-media--ratio-16x9 { aspect-ratio: 16 / 9; }
.blog-figure-media--ratio-21x9 { aspect-ratio: 21 / 9; }
.blog-figure-media--ratio-4x3 { aspect-ratio: 4 / 3; }
.blog-figure-media--ratio-3x4 { aspect-ratio: 3 / 4; }
.blog-figure-media--ratio-1x1 { aspect-ratio: 1 / 1; }
.blog-figure--montage .blog-figure-media {
  position: relative;
  overflow: hidden;
  background: #0a0a10;
}
.blog-figure--montage .blog-figure-media > img,
.blog-figure--montage .blog-figure-media > .img-load-host {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.blog-figure--montage .blog-figure-media img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
}
.blog-figure--montage-board .img-load-host {
  display: block;
  width: 100%;
  min-height: 120px;
}
.blog-montage-tag {
  position: absolute;
  top: .6rem;
  left: .6rem;
  z-index: 2;
  padding: .32rem .62rem;
  border-radius: 999px;
  font-size: .56rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--petronas);
  background: rgba(10, 10, 16, 0.88);
  border: 1px solid rgba(0, 210, 190, 0.35);
  backdrop-filter: blur(6px);
}
.blog-figure--montage figcaption {
  padding: .55rem .72rem;
  font-size: .76rem;
  line-height: 1.45;
  color: #ffffff78;
  background: rgba(10, 10, 16, 0.88);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.blog-figure--video.blog-figure--montage {
  margin: 0;
}
.blog-figure-media--video video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  background: #0a0a0f;
}
@media (max-width: 820px) {
  .blog-montage-panel {
    padding: .85rem;
    margin: 1.5rem 0;
  }
  .blog-montage--compare,
  .blog-montage--duo,
  .blog-montage--detail-trio {
    grid-template-columns: minmax(0, 1fr);
  }
  .blog-figure--montage.blog-figure--span-2 {
    grid-column: auto;
  }
}
.blog-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem .75rem;
  font-size: .78rem;
  color: #ffffff66;
}
.blog-card-category {
  font-family: Orbitron, sans-serif;
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--petronas);
}
.blog-card-title {
  font-size: 1rem;
  margin: 0;
  line-height: 1.35;
}
.blog-card-title a {
  color: #fff;
  text-decoration: none;
}
.blog-card-title a:hover { color: var(--petronas); }
.blog-card-excerpt {
  margin: 0;
  color: #ffffff85;
  font-size: .92rem;
  line-height: 1.55;
  flex: 1 1 auto;
}
.blog-card-link {
  font-size: .82rem;
  font-weight: 600;
  color: var(--petronas);
  text-decoration: none;
  margin-top: .25rem;
}
.blog-card-link:hover { text-decoration: underline; }
.blog-article-title {
  font-size: 1.65rem;
  margin: .35rem 0 0;
  line-height: 1.25;
}
.blog-article-body {
  margin-top: 1.5rem;
  color: #ffffffb3;
  font-size: .96rem;
  line-height: 1.7;
  border-top: 1px solid rgba(255, 255, 255, .08);
  padding-top: 1.25rem;
}
.blog-article-body h2 {
  font-family: Orbitron, sans-serif;
  font-size: .92rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #fff;
  margin: 1.5rem 0 .65rem;
}
.blog-article-body h2:first-child { margin-top: 0; }
.blog-article-body p { margin: 0 0 .85rem; }
.blog-article-body ul,
.blog-article-body ol {
  margin: 0 0 1rem;
  padding-left: 1.2rem;
}
.blog-article-body li { margin-bottom: .35rem; }
.blog-article-intro {
  margin: .75rem 0 0;
  font-size: 1.05rem;
  line-height: 1.65;
  color: #ffffffb8;
}
.blog-article-excerpts {
  margin: 1.35rem 0 1.75rem;
  padding: 1.1rem 1.2rem;
  border: 1px solid rgba(0, 210, 190, 0.22);
  border-radius: var(--radius, 12px);
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.06), rgba(139, 92, 246, 0.08));
}
.blog-article-excerpts-kicker {
  margin: 0 0 .65rem;
  font-size: .68rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--petronas);
}
.blog-article-excerpts-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.blog-article-excerpts-list li {
  position: relative;
  margin: 0;
  padding: .45rem 0 .45rem 1rem;
  font-size: .92rem;
  line-height: 1.55;
  color: #ffffffcc;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.blog-article-excerpts-list li:first-child {
  border-top: 0;
  padding-top: 0;
}
.blog-article-excerpts-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .72rem;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--petronas);
}
.blog-pullquote {
  margin: 1.35rem 0;
  padding: .9rem 1.1rem;
  border-left: 3px solid var(--violet);
  border-radius: 0 8px 8px 0;
  background: rgba(139, 92, 246, 0.07);
}
.blog-pullquote p {
  margin: 0;
  font-size: clamp(1rem, 2.2vw, 1.12rem);
  line-height: 1.55;
  color: #ffffffd4;
}
.blog-timeline {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  margin: 1.25rem 0 1.5rem;
  padding: 1rem 0 0;
  border-top: 1px solid #ffffff14;
}
.blog-timeline-item {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  gap: .85rem 1rem;
  align-items: start;
  padding-bottom: .85rem;
  border-bottom: 1px solid #ffffff0d;
}
.blog-timeline-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.blog-timeline-year {
  font-size: 1rem;
  font-weight: 700;
  color: var(--petronas);
  letter-spacing: .04em;
  line-height: 1.4;
}
.blog-timeline-text {
  margin: 0;
  font-size: .95rem;
  line-height: 1.55;
  color: #ffffffcc;
}
.footer-timeline {
  list-style: none;
  margin: .85rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .45rem;
}
.footer-timeline li {
  font-size: .82rem;
  line-height: 1.45;
  color: #ffffff99;
}
.footer-timeline li strong {
  color: var(--petronas);
  font-weight: 700;
}
.footer-timeline-more {
  margin: .65rem 0 0;
  font-size: .82rem;
}
.footer-timeline-more a {
  color: var(--petronas);
  text-decoration: none;
}
.footer-timeline-more a:hover {
  text-decoration: underline;
}
@media (max-width: 520px) {
  .blog-timeline-item {
    grid-template-columns: 1fr;
    gap: .35rem;
  }
}
.blog-lead {
  font-size: 1.02rem;
  color: #ffffffd9;
  line-height: 1.65;
}
.blog-article-back {
  color: var(--petronas);
  text-decoration: none;
  font-size: .88rem;
  font-weight: 600;
}
.blog-article-back:hover { text-decoration: underline; }

@media (max-width: 1024px) {
  .trust-strip-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .trust-strip-grid { grid-template-columns: 1fr; }
  .trust-strip-item { padding: 1rem; }
}

/* Footer */
.site-footer {
  position: relative;
  z-index: 5;
  background: var(--dark);
  border-top: none;
  margin-top: 0;
}
.site-footer--photo {
  background-color: #0a0a10;
  isolation: isolate;
}
.site-footer--photo::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--footer-bg-image);
  background-size: cover;
  background-position: center 42%;
  background-repeat: no-repeat;
  filter: brightness(0.34) contrast(1.14) saturate(0.82);
  pointer-events: none;
}
.site-footer--photo::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(180deg, rgba(10, 10, 16, 0.88) 0%, rgba(10, 10, 16, 0.5) 28%, rgba(10, 10, 16, 0.65) 52%, rgba(10, 10, 16, 0.92) 100%),
    linear-gradient(90deg, rgba(10, 10, 16, 0.65) 0%, transparent 38%, transparent 62%, rgba(10, 10, 16, 0.65) 100%),
    radial-gradient(ellipse at 72% 38%, rgba(0, 210, 190, 0.11) 0%, transparent 52%),
    radial-gradient(ellipse at 22% 52%, rgba(139, 92, 246, 0.13) 0%, transparent 48%);
  pointer-events: none;
}
.site-footer--photo > * {
  position: relative;
  z-index: 1;
}
.footer-hero {
  padding: 3rem 0 2.5rem;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(0, 210, 190, 0.08) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 30%, rgba(139, 92, 246, 0.1) 0%, transparent 50%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.site-footer--photo .footer-hero {
  background: transparent;
}
.footer-kicker {
  display: block;
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .25em;
  color: var(--petronas);
  margin-bottom: .75rem;
}
.footer-headline {
  font-size: clamp(1.35rem, 3.5vw, 2rem);
  text-transform: uppercase;
  line-height: 1.2;
  margin-bottom: 1rem;
  max-width: 900px;
}
.footer-lead {
  font-size: 1.05rem;
  color: #ffffffa6;
  max-width: 780px;
  line-height: 1.7;
}
.footer-body { padding: 2.5rem 20px 2rem; }
.footer-about-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.footer-block {
  background: rgba(16, 16, 24, 0.65);
  border: 1px solid rgba(139, 92, 246, 0.1);
  border-radius: 14px;
  padding: 1.35rem 1.25rem;
}
.footer-block-title {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--petronas);
  margin-bottom: .85rem;
  line-height: 1.45;
}
.footer-block p {
  color: #ffffff99;
  font-size: .92rem;
  line-height: 1.65;
  margin-bottom: .75rem;
}
.footer-block p:last-child { margin-bottom: 0; }
.footer-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-list li {
  position: relative;
  padding-left: 1rem;
  margin-bottom: .65rem;
  color: #ffffff99;
  font-size: .92rem;
  line-height: 1.55;
}
.footer-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .55rem;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--petronas);
}
.footer-list strong { color: #ffffffd9; }
.footer-highlight { color: #ffffffcc !important; font-weight: 500; }
.footer-cta { margin-top: 1rem; font-size: .7rem; }
.footer-columns {
  margin-top: 0;
}
.footer-nav-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) repeat(4, minmax(0, 1fr));
  gap: 2rem 1.75rem;
  align-items: start;
}
.footer-shop-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0 1.5rem;
  align-items: start;
}
.footer-col-nav {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.footer-col-nav--secondary {
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.footer-col-nav--categories {
  max-height: 18rem;
  overflow: auto;
  padding-right: .25rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
}
.footer-subnav-label {
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #ffffff55;
  margin: 0 0 .55rem;
}
.footer-col--aside {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.footer-col--nested {
  padding: 0;
  margin: 0;
}
.footer-col--nested h4 {
  margin-bottom: .85rem;
}
.footer-col--nested .footer-mail {
  margin-top: .65rem;
}
.footer-columns {
  display: block;
}
.footer-link-highlight {
  color: var(--petronas) !important;
  font-weight: 600;
}
.footer-link-highlight:hover { color: #fff !important; }
.footer-col h4 {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .15em;
  color: var(--petronas);
  margin-bottom: 1rem;
}
.footer-col a {
  color: #ffffff80;
  text-decoration: none;
  font-size: .9rem;
  display: block;
  margin-bottom: .5rem;
  transition: color .2s;
}
.footer-col a:hover { color: var(--client-link); }
.footer-col--boutique {
  min-width: 0;
}
.footer-col-links--2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1.25rem;
  align-content: start;
}
.footer-col-links--2 a {
  margin-bottom: .5rem;
}
.footer-contact-intro,
.footer-social-intro {
  color: #ffffff80;
  font-size: .88rem;
  line-height: 1.55;
  margin-bottom: 1rem;
}
.footer-hours { margin: 0; }
.footer-hours > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .35rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  font-size: .88rem;
}
.footer-hours dt { color: #ffffff99; font-weight: 500; }
.footer-hours dd { color: #ffffffcc; margin: 0; text-align: right; }
.footer-closed { color: #ffffff66 !important; }
.footer-mail {
  display: inline-block;
  margin-top: .85rem;
  color: var(--petronas) !important;
  font-weight: 600;
}
.footer-social { display: flex; flex-direction: column; gap: .5rem; }
.footer-social-link {
  display: inline-flex !important;
  align-items: center;
  gap: .6rem;
  padding: .5rem .75rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.02);
  transition: border-color .2s, background .2s;
}
.footer-social-link svg { width: 18px; height: 18px; flex-shrink: 0; }
.footer-social-link:hover {
  color: var(--petronas) !important;
  border-color: rgba(0, 210, 190, 0.35);
  background: rgba(0, 210, 190, 0.06);
}
.footer-section-head {
  margin-bottom: 1.25rem;
}
.footer-section-head--center {
  text-align: center;
}
.footer-section-kicker {
  display: block;
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--petronas);
  margin-bottom: .35rem;
}
.footer-section-title {
  font-size: 1.35rem;
  text-transform: uppercase;
  margin: 0 0 .35rem;
}
.footer-section-lead {
  margin: 0;
  font-size: .88rem;
  color: #ffffff80;
  max-width: 42rem;
}
.footer-section-head--center .footer-section-lead {
  margin-left: auto;
  margin-right: auto;
}

.footer-brands {
  padding: 1.75rem 0 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.footer-brands .footer-section-head {
  margin-bottom: 1rem;
}
.footer-brands .footer-section-title {
  font-size: clamp(1rem, 2vw, 1.15rem);
}
.footer-brands .footer-section-lead {
  font-size: .82rem;
}
.footer-brands-row {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 1.15rem;
  overflow-x: auto;
  padding: .15rem .5rem .35rem;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.footer-brands-row::-webkit-scrollbar {
  display: none;
}
.footer-brand-badge {
  flex: 0 0 auto;
  width: clamp(64px, 7.5vw, 96px);
  display: block;
  border-radius: 0;
  overflow: hidden;
  text-decoration: none;
  background: transparent;
  border: none;
  box-shadow: none;
  opacity: 0;
  transform: translateY(10px) scale(0.94);
  animation: footerBrandReveal .45s cubic-bezier(.22, 1, .36, 1) forwards;
  animation-delay: calc(var(--brand-i, 0) * 0.08s + 0.12s);
  transition: transform .2s ease, opacity .2s ease;
}
.footer-brand-badge:hover {
  transform: translateY(-2px) scale(1.04);
  opacity: 1;
}
.footer-brand-badge-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  object-fit: cover;
}
@keyframes footerBrandReveal {
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .footer-brand-badge {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

.footer-trust-partners {
  padding: 1.5rem 0 2.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  overflow: hidden;
}
.footer-trust-slider-viewport {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.footer-trust-slider-track {
  display: flex;
  width: max-content;
  animation: footerTrustScroll var(--footer-trust-duration, 36s) linear infinite;
}
.footer-trust-slider-group {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  padding: .5rem 1.25rem;
  flex-shrink: 0;
}
.footer-trust-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  height: 56px;
  padding: 0;
  border: none;
  background: transparent;
  text-decoration: none;
}
.footer-trust-logo-img {
  max-height: 40px;
  max-width: 140px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(1) brightness(1.15);
  opacity: .88;
  transition: filter .2s, opacity .2s;
}
.footer-trust-logo:hover .footer-trust-logo-img {
  filter: none;
  opacity: 1;
}
@keyframes footerTrustScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(var(--footer-trust-shift, -50%)); }
}

.footer-trust-slider--static .footer-trust-slider-viewport--static {
  mask-image: none;
  display: flex;
  justify-content: center;
}
.footer-trust-slider-group--static {
  justify-content: center;
  width: 100%;
}

@media (max-width: 640px) {
  .footer-brands-row {
    justify-content: flex-start;
    gap: .85rem;
    padding-bottom: .5rem;
  }
  .footer-brand-badge {
    width: 62px;
  }
  .footer-trust-slider-group {
    gap: 1.25rem;
  }
  .footer-trust-logo {
    min-width: 96px;
    height: 48px;
  }
}

.footer-trust {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(3, 3, 4, 0.5);
  padding: 1.75rem 0;
}
.footer-trust-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.5rem 4rem;
}
.footer-trust-group { text-align: center; }
.footer-trust-label {
  display: block;
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: #ffffff66;
  margin-bottom: .85rem;
}
.footer-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .65rem;
}
.footer-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 .75rem;
  border-radius: 6px;
  font-size: .68rem;
  font-family: Orbitron, sans-serif;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
  color: #ffffffcc;
}
.footer-logo svg { display: block; height: 32px; width: auto; }
.footer-logo-paypal { background: #003087; border-color: #009cde; color: #fff; min-width: 72px; }
.checkout-payment-option:has(input:checked) { border-color: rgba(0, 210, 190, 0.45); background: rgba(0, 210, 190, 0.06); }
.checkout-payment-disabled { opacity: .55; cursor: not-allowed; }
.footer-logo-virement { background: rgba(0, 210, 190, 0.12); border-color: rgba(0, 210, 190, 0.35); color: var(--petronas); }
.footer-logo-cheque { background: rgba(139, 92, 246, 0.12); border-color: rgba(139, 92, 246, 0.35); color: var(--violet-bright); }
.footer-logo-colissimo,
.footer-logo-chronopost,
.footer-logo-relais { padding: 0; border: none; background: transparent; }
.footer-logos .footer-logo {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.88);
}
.footer-logos .footer-logo-paypal,
.footer-logos .footer-logo-virement,
.footer-logos .footer-logo-cheque {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.88);
}
.footer-logos .footer-logo svg {
  filter: grayscale(1);
  opacity: 0.9;
}
.footer-legal {
  padding: 1.75rem 0 2rem;
  text-align: center;
  color: #ffffff55;
  font-size: .78rem;
  line-height: 1.65;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(3, 3, 4, 0.55);
}
.site-footer--photo .footer-legal {
  background: rgba(3, 3, 4, 0.78);
  backdrop-filter: blur(8px);
}
.footer-legal-inner {
  max-width: 960px;
}
.footer-legal p { margin-bottom: .65rem; max-width: 920px; margin-left: auto; margin-right: auto; }
.footer-legal-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0 auto 0.85rem;
  max-width: 960px;
  padding: 0.35rem 0;
}
.footer-legal-nav-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
  width: 100%;
}
.footer-legal-nav-list li {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}
.footer-legal-nav-list li:not(:last-child)::after {
  content: '?';
  margin: 0 .55rem;
  color: rgba(255, 255, 255, 0.28);
  font-weight: 300;
  user-select: none;
  pointer-events: none;
}
.footer-legal-nav > a,
.footer-legal-nav-list a {
  color: #ffffff8a;
  font-size: .82rem;
  text-decoration: none;
  transition: color .2s;
  padding: .15rem 0;
  white-space: nowrap;
}
.footer-legal-nav > a:hover,
.footer-legal-nav-list a:hover { color: var(--petronas); }
.footer-legal-nav .footer-legal-nav-cookie,
.footer-cookie-manage {
  appearance: none;
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  font-size: .9rem;
  font-weight: 500;
  color: #ffffff80;
  cursor: pointer;
  text-decoration: none;
  transition: color .2s;
  text-align: left;
  display: block;
  margin: 0;
}
.footer-legal-nav-cookie:hover,
.footer-cookie-manage:hover { color: var(--petronas); }
.footer-legal-copy {
  margin-bottom: .65rem;
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  color: #ffffff55;
  font-size: .78rem;
  line-height: 1.65;
}
.footer-disclaimer {
  color: #ffffff66;
  font-style: normal;
  font-size: .8rem;
  line-height: 1.55;
}
.footer-disclaimer-label {
  font-style: italic;
  color: #ffffff88;
  font-weight: 600;
}
.footer-memory {
  margin-top: 1rem !important;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  color: #ffffff45;
  font-style: italic;
}
.footer-newsletter {
  margin-top: 2.5rem;
  padding: 1.5rem 1.75rem;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 1.25rem 2rem;
  align-items: center;
  border-color: rgba(0, 210, 190, 0.22);
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.06), rgba(139, 92, 246, 0.05));
}
.footer-newsletter-kicker {
  font-size: .62rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--petronas);
}
.footer-newsletter-title {
  font-size: 1.15rem;
  text-transform: uppercase;
  margin: .25rem 0 .5rem;
}
.footer-newsletter-copy p {
  font-size: .88rem;
  color: #ffffff80;
  line-height: 1.55;
  margin: 0;
}
.footer-newsletter-form {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}
.footer-newsletter-input {
  flex: 1;
  min-width: 200px;
}
.footer-newsletter-btn {
  flex-shrink: 0;
  font-size: .72rem;
  padding: .7rem 1.25rem;
}
.footer-newsletter-feedback {
  grid-column: 1 / -1;
  font-size: .85rem;
  margin: 0;
  min-height: 1.2em;
}
.footer-newsletter-feedback.is-success { color: var(--petronas); }
.footer-newsletter-feedback.is-error { color: #ffb4b4; }

@media (max-width: 1200px) {
  .footer-nav-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .footer-about-grid { grid-template-columns: 1fr; }
  .footer-nav-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-col--aside { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; }
  .footer-col--nested { flex: 1 1 220px; }
}
@media (max-width: 600px) {
  .footer-nav-grid { grid-template-columns: 1fr; }
  .footer-shop-grid { grid-template-columns: 1fr; }
  .footer-col--aside { flex-direction: column; }
  .footer-col-nav--categories { max-height: none; overflow: visible; }
  .footer-newsletter { grid-template-columns: 1fr; }
  .footer-newsletter-form { flex-direction: column; }
  .footer-newsletter-btn { width: 100%; }
  .footer-trust-inner { flex-direction: column; align-items: center; }
  .footer-hours > div { flex-direction: column; gap: .15rem; }
  .footer-hours dd { text-align: left; }
  .footer-legal-nav,
  .footer-legal-nav-list {
    justify-content: center;
    gap: 0.2rem 0;
  }
  .footer-legal-nav > a,
  .footer-legal-nav-list a,
  .footer-legal-nav .footer-legal-nav-cookie {
    font-size: .78rem;
  }
  .footer-legal-nav-list li:not(:last-child)::after {
    margin: 0 0.4rem;
  }
}

/* Admin */
.admin-layout { display: flex; min-height: 100vh; background: var(--black); }
.admin-sidebar {
  width: 272px; background: var(--dark);
  border-right: 1px solid rgba(139, 92, 246, 0.12);
  padding: 1.5rem 1rem 1rem;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  height: 100vh;
  max-height: 100vh;
  position: sticky;
  top: 0;
  overflow: hidden;
}
.admin-sidebar-brand {
  margin-bottom: 0;
  padding: 0;
  flex: 1;
  min-width: 0;
}
.admin-sidebar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: 1rem;
  padding: 0 .5rem;
  flex-shrink: 0;
}
.admin-sidebar-collapse-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border-radius: 8px;
  border: 1px solid var(--border-light);
  background: rgba(255, 255, 255, .04);
  color: var(--text-subtle);
  font-size: 1.15rem;
  line-height: 1;
  cursor: pointer;
  transition: border-color .2s, background .2s, color .2s;
}
.admin-sidebar-collapse-btn:hover {
  border-color: rgba(0, 210, 190, .35);
  background: rgba(0, 210, 190, .08);
  color: var(--petronas);
}
.admin-sidebar-reopen-btn {
  position: fixed;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 120;
  display: none;
  align-items: center;
  gap: .35rem;
  padding: .55rem .65rem .55rem .5rem;
  border: 1px solid rgba(139, 92, 246, .22);
  border-left: none;
  border-radius: 0 10px 10px 0;
  background: var(--dark);
  color: var(--petronas);
  font-family: inherit;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 4px 0 18px rgba(0, 0, 0, .35);
  transition: background .2s, border-color .2s, padding .2s;
}
.admin-sidebar-reopen-btn:hover {
  background: var(--bg-elevated);
  border-color: rgba(0, 210, 190, .35);
  padding-right: .85rem;
}
.admin-sidebar-reopen-icon {
  font-size: 1rem;
  line-height: 1;
}
html.admin-sidebar-collapsed .admin-sidebar {
  width: 0;
  min-width: 0;
  padding: 0;
  border-right: none;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
html.admin-sidebar-collapsed .admin-sidebar-reopen-btn {
  display: inline-flex;
}
.admin-sidebar-nav {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  padding-right: .15rem;
  margin-right: -.15rem;
}
.admin-nav-toolbar {
  display: flex;
  gap: .35rem;
  padding: 0 .25rem .45rem;
  margin-bottom: .15rem;
  border-bottom: 1px solid var(--border-subtle);
}
.admin-menu-search {
  position: relative;
  margin-bottom: .65rem;
  padding: 0 .25rem;
  flex-shrink: 0;
}
.admin-menu-search-label {
  display: block;
  font-size: .58rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-faint);
  margin-bottom: .35rem;
}
.admin-menu-search-field {
  position: relative;
}
.admin-menu-search-input {
  width: 100%;
  padding: .5rem .75rem;
  padding-right: 4.25rem;
  font-size: .82rem;
  border-radius: 8px;
}
.admin-menu-search-kbd {
  position: absolute;
  right: .45rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: .58rem;
  letter-spacing: .04em;
  color: var(--text-faint);
  border: 1px solid var(--border-mid);
  border-radius: 4px;
  padding: .12rem .35rem;
  line-height: 1.3;
  pointer-events: none;
}
.admin-menu-search-results {
  position: absolute;
  left: .25rem;
  right: .25rem;
  top: calc(100% + .25rem);
  z-index: 40;
  max-height: min(52vh, 420px);
  overflow-y: auto;
  border-radius: 10px;
  border: 1px solid var(--border-mid);
  background: var(--bg-elevated);
  box-shadow: 0 16px 40px var(--shadow-color);
  padding: .35rem;
}
.admin-menu-search-item {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  padding: .55rem .65rem;
  border-radius: 8px;
  text-decoration: none;
  color: var(--text-primary);
  transition: background .15s;
}
.admin-menu-search-item:hover,
.admin-menu-search-item.is-active {
  background: rgba(0, 210, 190, 0.12);
}
.admin-menu-search-item-label {
  font-size: .84rem;
  line-height: 1.3;
}
.admin-menu-search-item-meta {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .68rem;
  color: var(--text-faint);
}
.admin-menu-search-item-type {
  opacity: .75;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.admin-menu-search-empty {
  padding: .65rem .75rem;
  font-size: .82rem;
  color: var(--text-faint);
  margin: 0;
}
.admin-nav-toolbar .btn {
  flex: 1;
  padding: .35rem .4rem;
  font-size: .58rem;
  letter-spacing: .04em;
}
.admin-nav-section {
  border-radius: 10px;
  border: 1px solid transparent;
  transition: border-color .2s, background .2s;
  display: block;
}
.admin-nav-section[open] {
  border-color: rgba(139, 92, 246, 0.14);
  background: var(--bg-elevated);
}
.admin-nav-section[open].has-active {
  border-color: rgba(0, 210, 190, 0.22);
}
.admin-nav-section:not([open]) > .admin-nav-section-items {
  display: none !important;
}
.admin-nav-section-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  list-style: none;
  cursor: pointer;
  user-select: none;
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--petronas);
  margin: 0;
  padding: .6rem .75rem;
  opacity: .92;
  border-radius: 10px;
  transition: background .2s;
  position: relative;
  z-index: 1;
}
.admin-nav-section[open] .admin-nav-section-label {
  border-radius: 10px 10px 0 0;
  border-bottom: 1px solid var(--border-subtle);
}
.admin-nav-section-label::-webkit-details-marker { display: none; }
.admin-nav-section-label::after {
  content: '?';
  font-size: .72rem;
  color: var(--text-faint);
  transition: transform .2s;
  flex-shrink: 0;
}
.admin-nav-section:not([open]) .admin-nav-section-label::after {
  transform: rotate(-90deg);
}
.admin-nav-section-label:hover {
  background: rgba(0, 210, 190, 0.06);
}
.admin-nav-section-text {
  flex: 1;
  min-width: 0;
  line-height: 1.3;
}
.admin-nav-section-notify {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.15rem;
  height: 1.15rem;
  padding: 0 .3rem;
  border-radius: 999px;
  font-size: .58rem;
  font-weight: 700;
  color: #fff;
  background: #ef4444;
  box-shadow: 0 0 8px rgba(239, 68, 68, .4);
  flex-shrink: 0;
}
.admin-nav-section-notify--hidden {
  display: none !important;
}
.admin-nav-section--has-pending > .admin-nav-section-label .admin-nav-section-notify,
.admin-nav-section--client-project-new > .admin-nav-section-label .admin-nav-section-notify {
  display: inline-flex !important;
}
.admin-nav-section--client-project-new > .admin-nav-section-label .admin-nav-section-notify {
  animation: adminNavSectionNotifyPulse 1.1s ease-in-out 4;
}
.admin-nav-link--has-pending::before {
  content: '';
  position: absolute;
  left: .35rem;
  top: 50%;
  width: .42rem;
  height: .42rem;
  margin-top: -.21rem;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 8px rgba(239, 68, 68, .55);
}
@keyframes adminNavSectionNotifyPulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 8px rgba(239, 68, 68, .4); }
  50% { transform: scale(1.12); box-shadow: 0 0 14px rgba(239, 68, 68, .75); }
}
.admin-nav-section-items {
  display: block;
  padding: .35rem .35rem .45rem .55rem;
  border-left: 1px solid var(--border-subtle);
  margin: 0 .5rem 0 1rem;
  border-radius: 0 0 10px 10px;
}
.admin-nav-badge--inline {
  position: static;
  min-width: 1rem;
  height: 1rem;
  font-size: .55rem;
}
.admin-nav-link {
  display: block;
  position: relative;
  padding: .48rem .65rem .48rem .85rem;
  color: var(--text-dim);
  text-decoration: none;
  border-radius: 8px;
  margin-bottom: .12rem;
  font-size: .84rem;
  line-height: 1.35;
  transition: background .2s, color .2s;
}
.admin-nav-section-items .admin-nav-link::before {
  content: '';
  position: absolute;
  left: .2rem;
  top: 50%;
  width: 4px;
  height: 4px;
  margin-top: -2px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .18);
}
.admin-nav-section-items .admin-nav-link.active::before {
  background: var(--petronas);
  box-shadow: 0 0 6px rgba(0, 210, 190, .45);
}
.admin-nav-link:hover,
.admin-nav-link.active {
  background: rgba(0, 210, 190, 0.08);
  color: var(--petronas);
}
.admin-nav-link-external {
  font-size: .82rem;
  color: var(--text-muted);
  border: 1px solid rgba(139, 92, 246, 0.2);
  text-align: center;
  margin-bottom: 0;
  width: 100%;
  box-sizing: border-box;
}
.admin-nav-link-external:hover {
  border-color: rgba(0, 210, 190, 0.35);
}
.admin-sidebar-footer {
  flex-shrink: 0;
  margin-top: auto;
  padding-top: .85rem;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  flex-direction: column;
  gap: .5rem;
  background: var(--dark);
}
.admin-theme-toggle {
  width: 100%;
  height: auto;
  min-height: 2.35rem;
  padding: .5rem .75rem;
  gap: .5rem;
  justify-content: flex-start;
  border-radius: 8px;
  font-size: .82rem;
  font-family: inherit;
  letter-spacing: .02em;
}
.admin-theme-toggle-label { flex: 1; text-align: left; }
.admin-theme-toggle--compact {
  width: 2.25rem;
  min-height: 2.25rem;
  padding: 0;
  justify-content: center;
}
.admin-sidebar-footer .admin-nav-link {
  margin-bottom: 0;
}
.admin-nav-logout {
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-size: .82rem;
  color: var(--text-subtle);
  text-decoration: none;
  text-align: center;
  padding: .55rem .75rem;
  border-radius: 8px;
  border: 1px solid var(--border-light);
  line-height: 1.35;
  transition: color .2s, border-color .2s, background .2s;
}
.admin-nav-logout:hover {
  color: #ffb4b4;
  border-color: rgba(255, 107, 107, 0.35);
  background: rgba(255, 107, 107, 0.06);
}
.admin-content { flex: 1; padding: 2rem; min-width: 0; }
.admin-content--order-full {
  padding: 1.25rem 1.5rem 2rem;
  width: 100%;
  max-width: none;
}
@media (max-width: 900px) {
  .admin-layout { flex-direction: column; }
  .admin-sidebar {
    width: 100%;
    height: auto;
    max-height: none;
    position: static;
    border-right: none;
    border-bottom: 1px solid rgba(139, 92, 246, 0.12);
    padding: 1rem;
    overflow: visible;
  }
  html.admin-sidebar-collapsed .admin-sidebar {
    width: 100%;
    height: 0;
    min-height: 0;
    padding: 0;
    border-bottom: none;
    opacity: 0;
    overflow: hidden;
  }
  html.admin-sidebar-collapsed .admin-sidebar-reopen-btn {
    top: .65rem;
    transform: none;
    border-left: 1px solid rgba(139, 92, 246, .22);
    border-radius: 0 10px 10px 0;
  }
  .admin-sidebar-nav {
    max-height: 52vh;
    overflow-y: auto;
    flex: 0 1 auto;
  }
  .admin-sidebar-footer {
    margin-top: .75rem;
  }
  .admin-content { padding: 1.25rem 1rem 2rem; }
}
.admin-login-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--black);
}
.admin-login-wrap { width: 100%; max-width: 400px; margin: 20px; }
.admin-login-card { width: 100%; }
.admin-login-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .5rem;
}
.admin-login-title { margin: 0; text-align: left; flex: 1; }
.admin-login-sub { text-align: center; font-size: .9rem; margin-bottom: 1.5rem; color: var(--text-muted); }

.admin-app .admin-page-subtitle,
.admin-app .admin-order-meta,
.admin-app .admin-orders-client span,
.admin-app .admin-chat-upload-title { color: var(--text-dim); }
.admin-app .admin-back-link a,
.admin-app .admin-dashboard-top-body span,
.admin-app .admin-dashboard-recent-main span,
.admin-app .admin-orders-empty,
.admin-app .admin-orders-paid,
.admin-app .admin-order-muted,
.admin-app .admin-chat-upload-hint,
.admin-app .admin-attr-lead,
.admin-app .admin-attr-empty,
.admin-app .admin-groups-list-item span { color: var(--text-faint); }
.admin-app .admin-badge--muted,
.admin-app .admin-order-relay,
.admin-app .admin-attr-badge--text { color: var(--text-muted); }
.admin-app .admin-attr-count,
.admin-app .admin-attr-config,
.admin-app .admin-attr-section-title { color: var(--text-emphasis); }
.admin-app .admin-order-product-name { color: var(--text-strong); }
.admin-app .admin-order-attrs span,
.admin-app .admin-attr-optional { color: var(--text-whisper); }
.admin-app .admin-badge--muted {
  background: var(--bg-elevated);
  border-color: var(--border-light);
}
.admin-app .admin-cell-muted { font-size: .82rem; color: var(--text-faint); }
.admin-app .admin-cell-subtle { font-size: .85rem; color: var(--text-muted); }
.admin-app .admin-cell-mono {
  font-family: ui-monospace, Consolas, monospace;
  font-size: .78rem;
  color: var(--text-faint);
}
.admin-app .admin-table-empty {
  text-align: center;
  color: var(--text-faint);
  padding: 2rem;
}
.admin-app .admin-order-note-muted { font-size: .9rem; color: var(--text-muted); margin: .35rem 0 .75rem; }
.admin-app .admin-order-vat-note { font-size: .82rem; color: var(--text-faint); max-width: 220px; text-align: right; }

/* Liens texte admin (Modifier, etc.) */
.admin-app .admin-content a:where(:not([class])),
.admin-app .admin-content a.admin-text-link,
.admin-app .admin-content table a:not(.btn):not([class*="btn-"]):not(.admin-order-link):not(.admin-cat-action) {
  color: var(--petronas);
  font-weight: 500;
  text-decoration: none;
}
.admin-app .admin-content a:where(:not([class])):hover,
.admin-app .admin-content a.admin-text-link:hover,
.admin-app .admin-content table a:not(.btn):not([class*="btn-"]):not(.admin-order-link):not(.admin-cat-action):hover {
  color: #7ef9ee;
  text-decoration: underline;
}
.admin-app .admin-content a:where(:not([class])):visited,
.admin-app .admin-content a.admin-text-link:visited,
.admin-app .admin-content table a:not(.btn):not([class*="btn-"]):not(.admin-order-link):not(.admin-cat-action):visited {
  color: var(--petronas);
}
.admin-app .btn-link {
  display: inline;
  appearance: none;
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  font-weight: 500;
  color: var(--petronas);
  cursor: pointer;
  text-decoration: none;
}
.admin-app .btn-link:hover {
  color: #7ef9ee;
  text-decoration: underline;
}

.admin-attr-cat-products-dynamic-hint { margin-top: -.15rem; }
.admin-attr-cat-products-alert {
  margin: .65rem 0 0;
  padding: .75rem .9rem;
  border-radius: 8px;
  border: 1px solid rgba(139, 92, 246, 0.35);
  background: rgba(139, 92, 246, 0.08);
  font-size: .82rem;
  color: var(--text-muted);
  line-height: 1.5;
}
.admin-attr-cat-products-alert-list {
  margin: .5rem 0 0;
  padding-left: 1.1rem;
}

table { width: 100%; border-collapse: collapse; font-size: .9rem; }
th, td { padding: .75rem 1rem; text-align: left; border-bottom: 1px solid var(--border-faint); }
th { color: var(--text-dim); font-weight: 500; }
.alert { padding: .75rem 1rem; border-radius: 10px; margin-bottom: 1rem; }
.alert-error {
  background: rgba(139, 92, 246, 0.1);
  border: 1px solid rgba(139, 92, 246, 0.3);
  color: var(--violet-bright);
}
.alert-success {
  background: rgba(0, 210, 190, 0.08);
  border: 1px solid rgba(0, 210, 190, 0.3);
  color: var(--petronas);
}

/* Chat */
.chat-box { display: flex; flex-direction: column; height: 400px; }
.chat-pending-banner {
  margin: 0;
  padding: .65rem 1rem;
  font-size: .78rem;
  line-height: 1.45;
  color: var(--warn);
  background: rgba(139, 92, 246, 0.1);
  border-bottom: 1px solid rgba(139, 92, 246, 0.28);
}
.chat-pending-banner[hidden] { display: none !important; }
.chat-messages { flex: 1; overflow-y: auto; padding: 1rem; }
.chat-msg { max-width: 80%; padding: .75rem 1rem; border-radius: 16px; margin-bottom: .75rem; font-size: .9rem; }
.chat-msg.admin {
  background: rgba(0, 210, 190, 0.08);
  border: 1px solid rgba(0, 210, 190, 0.2);
}
.chat-msg.client {
  background: rgba(139, 92, 246, 0.1);
  border: 1px solid rgba(139, 92, 246, 0.22);
  margin-left: auto;
}
.chat-form { display: flex; flex-direction: column; gap: .5rem; padding: 1rem; border-top: 1px solid var(--border-faint); }
.chat-compose { display: flex; gap: .5rem; align-items: center; width: 100%; }
.chat-attach-btn { padding: .5rem .65rem; font-size: 1rem; line-height: 1; flex-shrink: 0; }
.chat-hint { font-size: .72rem; color: var(--text-ghost); margin: 0; }
.chat-empty { font-size: .85rem; color: var(--text-dim); padding: .5rem 0; }
.chat-empty--error { color: #f87171; }
.chat-box--enhanced { position: relative; height: min(70vh, 560px); }
.chat-box--enhanced .chat-messages { min-height: 200px; }
#order-chat,
#order-chat-panel {
  scroll-margin-top: calc(var(--site-header-offset-h, 72px) + 1rem);
}
.chat-msg-meta { font-size: .7rem; color: var(--text-faint); margin-bottom: .35rem; }
.chat-msg-text { line-height: 1.45; white-space: pre-wrap; word-break: break-word; }
.chat-role { color: var(--petronas); }
.chat-image-wrap { margin: .35rem 0; }
.chat-image-open {
  display: block;
  position: relative;
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  cursor: zoom-in;
  max-width: 100%;
  text-align: left;
}
.chat-image-open:focus-visible {
  outline: 2px solid var(--petronas);
  outline-offset: 3px;
  border-radius: 10px;
}
.chat-image {
  max-width: 100%; max-height: 280px; border-radius: 10px;
  border: 1px solid #ffffff1a; display: block;
}
.chat-image-lightbox-caption {
  position: absolute;
  bottom: 1.1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  max-width: min(90vw, 640px);
  padding: .45rem .85rem;
  border-radius: 8px;
  background: rgba(16, 16, 24, 0.88);
  border: 1px solid #ffffff18;
  color: #ffffffcc;
  font-size: .82rem;
  text-align: center;
  line-height: 1.35;
}
.chat-image-lightbox-caption[hidden] { display: none !important; }
.chat-annotate-count {
  color: var(--petronas);
  font-weight: 600;
}
.chat-annotate-pins {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.chat-annotate-pin {
  position: absolute;
  transform: translate(-50%, -100%);
  width: 1.55rem;
  height: 1.55rem;
  margin: 0;
  padding: 0;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--petronas);
  color: #0a0a0f;
  font-size: .68rem;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
  cursor: default;
}
.chat-annotate-pins--interactive .chat-annotate-pin {
  pointer-events: auto;
  cursor: pointer;
}
.chat-annotate-pin-num { line-height: 1; }
.chat-annotate-summary {
  list-style: none;
  margin: .45rem 0 0;
  padding: .55rem .65rem;
  border-radius: 8px;
  background: rgba(0, 210, 190, 0.06);
  border: 1px solid rgba(0, 210, 190, 0.22);
  font-size: .78rem;
  line-height: 1.4;
}
.chat-annotate-summary li + li { margin-top: .35rem; }
.chat-annotate-summary-meta {
  color: var(--text-faint);
  font-size: .7rem;
}
.chat-image-lightbox .chat-annotate-toolbar {
  position: absolute;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .5rem .75rem;
  max-width: min(92vw, 720px);
  padding: .55rem .75rem;
  border-radius: 10px;
  background: rgba(16, 16, 24, 0.92);
  border: 1px solid #ffffff18;
}
.chat-annotate-hint {
  font-size: .78rem;
  color: #ffffffb3;
  line-height: 1.35;
}
#chat-annotate-toggle.is-active {
  background: rgba(0, 210, 190, 0.18);
  border-color: var(--petronas);
  color: var(--petronas);
}
.chat-image-lightbox .chat-annotate-list {
  position: absolute;
  top: 4.5rem;
  right: 1rem;
  z-index: 4;
  width: min(320px, 42vw);
  max-height: min(40vh, 280px);
  overflow: auto;
  margin: 0;
  padding: .45rem;
  list-style: none;
  border-radius: 10px;
  background: rgba(16, 16, 24, 0.94);
  border: 1px solid #ffffff18;
}
.chat-annotate-list-item {
  display: flex;
  align-items: flex-start;
  gap: .45rem;
  padding: .4rem .35rem;
  border-bottom: 1px solid #ffffff10;
}
.chat-annotate-list-item:last-child { border-bottom: none; }
.chat-annotate-list-num {
  flex-shrink: 0;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
  background: var(--petronas);
  color: #0a0a0f;
  font-size: .68rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.chat-annotate-list-body { flex: 1; min-width: 0; }
.chat-annotate-list-meta {
  display: block;
  font-size: .68rem;
  color: #ffffff80;
  margin-bottom: .15rem;
}
.chat-annotate-list-note {
  margin: 0;
  font-size: .78rem;
  line-height: 1.35;
  color: #ffffffd9;
  word-break: break-word;
}
.chat-annotate-delete {
  flex-shrink: 0;
  border: none;
  background: transparent;
  color: #ffffff88;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  padding: .1rem .25rem;
}
.chat-annotate-delete:hover { color: #ff6b6b; }
.chat-image-lightbox .chat-annotate-form {
  position: absolute;
  bottom: 4.5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  width: min(92vw, 480px);
  padding: .75rem;
  border-radius: 10px;
  background: rgba(16, 16, 24, 0.96);
  border: 1px solid rgba(0, 210, 190, 0.35);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}
.chat-annotate-form .label {
  display: block;
  margin-bottom: .35rem;
  font-size: .78rem;
  color: #ffffffcc;
}
.chat-annotate-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: .5rem;
  margin-top: .55rem;
}
.chat-annotate-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.chat-lightbox-media {
  position: relative;
  display: block;
  max-width: 100%;
  margin: 0 auto;
  line-height: 0;
}
.chat-lightbox-stage.is-annotate-mode {
  cursor: crosshair;
}
.chat-lightbox-stage.is-annotate-mode img {
  cursor: crosshair;
}
.chat-image-name { font-size: .72rem; color: var(--text-dim); margin-top: .35rem; }
.chat-mockup-consent-cb {
  width: 1.1rem;
  height: 1.1rem;
  margin-top: .1rem;
  flex-shrink: 0;
  accent-color: var(--petronas);
  cursor: pointer;
}
.chat-bat-validation {
  margin: .65rem 0 .35rem;
  padding: .75rem .85rem;
  border-radius: 10px;
  background: rgba(139, 92, 246, 0.1);
  border: 1px solid rgba(139, 92, 246, 0.4);
}
.chat-bat-validation--done {
  background: rgba(0, 210, 190, 0.1);
  border-color: rgba(0, 210, 190, 0.4);
}
.chat-bat-validation-label {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  cursor: pointer;
  margin-bottom: .45rem;
}
.chat-bat-validation-title {
  font-size: .92rem;
  font-weight: 700;
  color: var(--warn);
  line-height: 1.35;
}
.chat-bat-validation--done .chat-bat-validation-title { color: var(--petronas); }
.chat-bat-validation-details {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  font-size: .78rem;
  color: #ffffffb3;
  line-height: 1.45;
}
.chat-bat-validation-details strong { color: #ffffffee; }
.chat-bat-validation-hint {
  font-size: .72rem;
  color: #ffffff75;
}
.chat-bat-validation-badge {
  display: inline-block;
  margin-bottom: .4rem;
  font-size: .78rem;
  font-weight: 700;
  color: var(--petronas);
}
.chat-bat-validation--admin {
  margin-top: .5rem;
  padding: .55rem .7rem;
}
.mockups-history-card { margin-bottom: 1.5rem; border-color: rgba(0, 210, 190, 0.3); }
.mockups-history-list { display: flex; flex-direction: column; gap: 1rem; }
.mockup-history-item {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 1rem;
  align-items: start;
  padding: 1rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.mockup-history-open {
  display: block;
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  cursor: zoom-in;
  border-radius: 8px;
  flex-shrink: 0;
}
.mockup-history-open:focus-visible {
  outline: 2px solid var(--petronas);
  outline-offset: 2px;
}
.mockup-history-thumb {
  display: block;
  width: 96px;
  height: 96px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.mockups-history-lightbox-caption {
  position: absolute;
  bottom: 4.5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  max-width: min(90vw, 640px);
  padding: .45rem .85rem;
  border-radius: 8px;
  background: rgba(16, 16, 24, 0.88);
  border: 1px solid #ffffff18;
  color: #ffffffee;
  font-size: .84rem;
  text-align: center;
  line-height: 1.35;
}
.mockups-history-lightbox-caption[hidden],
.mockups-history-lightbox-sub[hidden] {
  display: none !important;
}
.mockups-history-lightbox-sub {
  position: absolute;
  bottom: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  max-width: min(90vw, 640px);
  padding: .4rem .75rem;
  border-radius: 8px;
  background: rgba(16, 16, 24, 0.75);
  color: #ffffffb3;
  font-size: .76rem;
  text-align: center;
  line-height: 1.4;
}
.mockup-history-meta { font-size: .82rem; color: #ffffff99; line-height: 1.5; }
.mockup-history-meta strong { color: #fff; display: block; margin-bottom: .2rem; }
.mockup-history-file { font-family: ui-monospace, Consolas, monospace; font-size: .75rem; color: #ffffff66; }
@media (max-width: 560px) {
  .mockup-history-item { grid-template-columns: 1fr; }
  .mockup-history-thumb { width: 100%; height: auto; max-height: 200px; }
}
.chat-dropzone {
  display: none; position: absolute; inset: 0; z-index: 5;
  background: rgba(3, 3, 4, 0.88); border: 2px dashed var(--petronas);
  border-radius: 12px; align-items: center; justify-content: center;
  font-family: Orbitron, sans-serif; font-size: .85rem; color: var(--petronas);
  pointer-events: none;
}
.chat-drag-active .chat-dropzone { display: flex; }

/* Admin ? dashboard */
.admin-dashboard-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}
.admin-dashboard-kpi {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  padding: 1.1rem 1.2rem;
}
.admin-dashboard-kpi--link {
  text-decoration: none;
  color: inherit;
  transition: border-color .2s, background .2s;
}
.admin-dashboard-kpi--link:hover {
  border-color: rgba(0, 210, 190, 0.28);
  background: rgba(0, 210, 190, 0.04);
}
.admin-dashboard-kpi-label {
  font-size: .78rem;
  color: var(--text-faint);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.admin-dashboard-kpi-value {
  font-family: Orbitron, sans-serif;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.2;
}
.admin-dashboard-kpi-value--warn { color: var(--warn); }
.admin-dashboard-kpi-value--alert { color: #fca5a5; }
.admin-dashboard-kpi-value--success { color: var(--petronas); }
.admin-dashboard-kpi-meta {
  font-size: .78rem;
  color: var(--text-ghost);
}
.admin-dashboard-kpi-meta--up { color: #6ee7b7; }
.admin-dashboard-kpi-meta--down { color: #fca5a5; }
.admin-home-sections-sortable {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .65rem;
  max-width: 58rem;
}
.admin-home-section-card {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: .85rem 1rem;
  padding: .9rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(12, 12, 18, 0.72);
  cursor: grab;
  transition: border-color .2s, box-shadow .2s, opacity .2s;
}
.admin-home-section-card.is-disabled {
  opacity: .62;
}
.admin-home-section-card.is-dragging {
  opacity: .55;
  cursor: grabbing;
  border-color: rgba(0, 210, 190, 0.45);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
}
.admin-home-section-card.is-drag-over {
  border-color: rgba(0, 210, 190, 0.55);
  box-shadow: inset 0 0 0 1px rgba(0, 210, 190, 0.22);
}
.admin-home-section-drag {
  border: 0;
  background: transparent;
  color: #ffffff55;
  font-size: 1rem;
  line-height: 1;
  padding: .2rem .15rem;
  cursor: grab;
}
.admin-home-section-icon {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(0, 210, 190, 0.1);
  font-size: 1rem;
}
.admin-home-section-title {
  display: block;
  font-size: .95rem;
  margin-bottom: .2rem;
}
.admin-home-section-desc {
  margin: 0;
  font-size: .8rem;
  color: #ffffff70;
  line-height: 1.45;
}
.admin-home-section-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .45rem;
}
.admin-home-section-toggle {
  font-size: .82rem;
  white-space: nowrap;
}
.admin-home-section-order {
  font-family: Orbitron, sans-serif;
  font-size: .78rem;
  color: var(--petronas);
  min-width: 1.4rem;
  text-align: right;
}
@media (max-width: 768px) {
  .admin-home-section-card {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "drag main"
      "icon main"
      "actions actions"
      "order order";
  }
  .admin-home-section-drag { grid-area: drag; }
  .admin-home-section-icon { grid-area: icon; }
  .admin-home-section-main { grid-area: main; }
  .admin-home-section-actions {
    grid-area: actions;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .admin-home-section-order { grid-area: order; text-align: left; }
}
.admin-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.admin-dashboard-panel {
  padding: 1.15rem 1.25rem;
}
.admin-dashboard-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.admin-dashboard-panel-head .admin-section-title { margin: 0; }
.admin-dashboard-panel--tax {
  margin-bottom: 1rem;
}
.admin-dashboard-tax-due {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  margin-bottom: 1.25rem;
}
.admin-dashboard-tax-due-card {
  padding: 1rem 1.1rem;
  border-radius: 12px;
  border: 1px solid rgba(139, 92, 246, 0.28);
  background: rgba(139, 92, 246, 0.08);
}
.admin-dashboard-tax-due-card--year {
  border-color: rgba(139, 92, 246, 0.4);
  background: rgba(139, 92, 246, 0.12);
}
.admin-dashboard-tax-due-label {
  display: block;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #ffffff88;
  margin-bottom: .4rem;
}
.admin-dashboard-tax-due-value {
  font-family: Orbitron, sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--orange);
}
.admin-dashboard-tax-due--income .admin-dashboard-tax-due-card {
  border-color: rgba(167, 139, 250, 0.32);
  background: rgba(167, 139, 250, 0.1);
}
.admin-dashboard-tax-due--income .admin-dashboard-tax-due-card--year {
  border-color: rgba(167, 139, 250, 0.45);
  background: rgba(167, 139, 250, 0.14);
}
.admin-dashboard-tax-due--income .admin-dashboard-tax-due-value {
  color: var(--violet-bright);
}
.admin-dashboard-tax-quarter-due {
  padding: .45rem .55rem;
  margin: -.15rem -.55rem .35rem;
  border-radius: 8px;
  background: rgba(139, 92, 246, 0.1);
}
@media (max-width: 800px) {
  .admin-dashboard-tax-due { grid-template-columns: 1fr; }
}
.admin-dashboard-tax-subtitle {
  margin: .35rem 0 0;
  font-size: .82rem;
  color: #ffffff66;
}
.admin-dashboard-tax-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr);
  gap: 1.25rem;
  align-items: start;
}
.admin-dashboard-tax-heading {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--petronas);
  margin: 0 0 .75rem;
}
.admin-dashboard-tax-table-wrap {
  overflow-x: auto;
}
.admin-dashboard-tax-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .82rem;
}
.admin-dashboard-tax-table th,
.admin-dashboard-tax-table td {
  padding: .5rem .55rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  text-align: right;
  white-space: nowrap;
}
.admin-dashboard-tax-table th:first-child,
.admin-dashboard-tax-table td:first-child {
  text-align: left;
}
.admin-dashboard-tax-table thead th {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #ffffff66;
}
.admin-dashboard-tax-table tfoot th {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--text-primary);
}
.admin-dashboard-tax-row--current td {
  background: rgba(0, 210, 190, 0.06);
}
.admin-dashboard-tax-row--empty td {
  color: #ffffff44;
}
.admin-dashboard-tax-vat {
  color: var(--orange) !important;
}
.admin-dashboard-tax-income,
.admin-dashboard-kpi-value.admin-dashboard-tax-income {
  color: var(--violet-bright) !important;
}
.admin-dashboard-tax-quarter-rows .admin-dashboard-tax-income {
  color: var(--violet-bright);
}
.admin-dashboard-tax-now {
  display: inline-block;
  margin-left: .35rem;
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--petronas);
  font-weight: 600;
}
.admin-dashboard-tax-quarters {
  display: flex;
  flex-direction: column;
  gap: .65rem;
}
.admin-dashboard-tax-quarter {
  padding: .85rem .95rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.02);
}
.admin-dashboard-tax-quarter--current {
  border-color: rgba(0, 210, 190, 0.28);
  background: rgba(0, 210, 190, 0.05);
}
.admin-dashboard-tax-quarter-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .2rem;
}
.admin-dashboard-tax-quarter-months {
  margin: 0 0 .65rem;
  font-size: .75rem;
  color: #ffffff55;
}
.admin-dashboard-tax-quarter-rows {
  display: grid;
  gap: .4rem;
  font-size: .82rem;
}
.admin-dashboard-tax-quarter-rows div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #ffffff88;
}
.admin-dashboard-tax-quarter-rows strong {
  color: var(--text-primary);
  font-weight: 600;
}
.admin-dashboard-tax-hint {
  grid-column: 1 / -1;
  font-size: .72rem;
  color: #ffffff55;
  margin-top: -.15rem;
}
@media (max-width: 1000px) {
  .admin-dashboard-tax-layout { grid-template-columns: 1fr; }
}
.admin-dashboard-empty {
  font-size: .9rem;
  color: #ffffff66;
  margin: 0;
}
.admin-dashboard-bars {
  display: flex;
  align-items: flex-end;
  gap: .45rem;
  height: 180px;
  padding-top: .5rem;
}
.admin-dashboard-bar {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: .4rem;
  height: 100%;
  min-width: 0;
}
.admin-dashboard-bar-fill {
  width: 100%;
  max-width: 36px;
  border-radius: 6px 6px 2px 2px;
  background: linear-gradient(180deg, rgba(0, 210, 190, 0.85), rgba(0, 210, 190, 0.25));
  transition: height .3s ease;
}
.admin-dashboard-bar--current .admin-dashboard-bar-fill {
  background: linear-gradient(180deg, var(--magenta), rgba(244, 63, 94, 0.35));
}
.admin-dashboard-bar-label {
  font-size: .65rem;
  color: #ffffff55;
  text-transform: capitalize;
}
.admin-dashboard-status-list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.admin-dashboard-status-row { display: flex; flex-direction: column; gap: .35rem; }
.admin-dashboard-status-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .82rem;
}
.admin-dashboard-status-track {
  height: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  overflow: hidden;
}
.admin-dashboard-status-fill {
  height: 100%;
  border-radius: 999px;
  background: var(--petronas);
}
.admin-dashboard-status-fill--pending { background: #ffffff55; }
.admin-dashboard-status-fill--confirmed { background: #93c5fd; }
.admin-dashboard-status-fill--in_production { background: var(--warn); }
.admin-dashboard-status-fill--shipped { background: var(--petronas); }
.admin-dashboard-status-fill--delivered { background: #6ee7b7; }
.admin-dashboard-status-fill--cancelled { background: #fca5a5; }
.admin-dashboard-top-list {
  display: flex;
  flex-direction: column;
  gap: .65rem;
}
.admin-dashboard-top-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .75rem;
  align-items: center;
  padding: .55rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  font-size: .88rem;
}
.admin-dashboard-top-rank {
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  font-size: .72rem;
  color: var(--petronas);
  font-weight: 700;
}
.admin-dashboard-top-body {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
}
.admin-dashboard-top-body strong {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.admin-dashboard-top-body span { font-size: .78rem; color: #ffffff55; }
.admin-dashboard-top-revenue { font-size: .9rem; white-space: nowrap; }
.admin-dashboard-recent {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.admin-dashboard-recent-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: .75rem 1rem;
  align-items: center;
  padding: .65rem .5rem;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  font-size: .85rem;
  border: 1px solid transparent;
}
.admin-dashboard-recent-row:hover {
  border-color: rgba(0, 210, 190, 0.2);
  background: rgba(0, 210, 190, 0.04);
}
.admin-dashboard-recent-row--urgent {
  background: linear-gradient(90deg, rgba(239, 68, 68, .16), rgba(239, 68, 68, .06) 65%);
  border-color: rgba(239, 68, 68, .28);
}
.admin-dashboard-recent-row--urgent:hover {
  border-color: rgba(239, 68, 68, .42);
  background: linear-gradient(90deg, rgba(239, 68, 68, .22), rgba(239, 68, 68, .1) 65%);
}
.admin-dashboard-recent-main {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
}
.admin-dashboard-recent-main span { color: #ffffff66; font-size: .78rem; }
.admin-dashboard-recent-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
  justify-content: flex-end;
}
.admin-dashboard-recent-total { font-size: .9rem; white-space: nowrap; }
@media (max-width: 1100px) {
  .admin-dashboard-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .admin-dashboard-kpis,
  .admin-dashboard-grid { grid-template-columns: 1fr; }
  .admin-dashboard-recent-row {
    grid-template-columns: 1fr;
    gap: .5rem;
  }
  .admin-dashboard-recent-badges { justify-content: flex-start; }
}

/* Admin ? commandes */
.admin-page-title { font-size: 1.75rem; margin: 0 0 .25rem; text-transform: uppercase; }
.admin-page-subtitle { margin: 0; font-size: .88rem; color: var(--text-dim); }
.admin-btn-sm { font-size: .68rem !important; padding: .4rem .75rem !important; }
.admin-demo-orders-menu { position: relative; display: inline-block; }
.admin-demo-orders-menu > summary {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}
.admin-demo-orders-menu > summary::-webkit-details-marker { display: none; }
.admin-demo-orders-menu > summary::after {
  content: '?';
  font-size: .65rem;
  opacity: .7;
}
.admin-demo-orders-menu[open] > summary::after { transform: rotate(180deg); }
.admin-demo-orders-menu-body {
  position: absolute;
  top: calc(100% + .35rem);
  right: 0;
  z-index: 40;
  min-width: 14.5rem;
  padding: .5rem;
  display: flex;
  flex-direction: column;
  gap: .4rem;
  background: var(--card-bg, #fff);
  border: 1px solid var(--border, rgba(255,255,255,.12));
  border-radius: .5rem;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}
.admin-demo-orders-menu-body form { margin: 0; }
.admin-demo-orders-menu-body .btn { width: 100%; justify-content: center; }
.admin-demo-orders-menu-body .admin-demo-orders-delete:not(:disabled) {
  border-color: rgba(220, 53, 69, .45);
  color: #dc3545;
}
.admin-demo-orders-menu-body .admin-demo-orders-delete:not(:disabled):hover {
  background: rgba(220, 53, 69, .08);
}
.admin-product-desc-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .35rem;
}
.admin-product-desc-toolbar .label {
  margin: 0;
}
.admin-back-link { margin-bottom: 1rem; }
.admin-back-link a { color: var(--text-faint); font-size: .88rem; text-decoration: none; }
.admin-back-link a:hover { color: var(--petronas); }

.admin-badge {
  display: inline-block;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .03em;
  padding: .2rem .5rem;
  border-radius: 999px;
  border: 1px solid transparent;
  white-space: nowrap;
}
.admin-badge--muted { color: var(--text-muted); background: var(--bg-elevated); border-color: var(--border-light); }
.admin-badge--info { color: #93c5fd; background: rgba(59,130,246,.12); border-color: rgba(59,130,246,.25); }
.admin-badge--warn { color: var(--warn); background: var(--warn-bg); border-color: var(--warn-border); }
.admin-badge--accent { color: var(--petronas); background: rgba(0,210,190,.1); border-color: rgba(0,210,190,.28); }
.admin-badge--success { color: #6ee7b7; background: rgba(16,185,129,.1); border-color: rgba(16,185,129,.28); }
.admin-badge--danger { color: #fca5a5; background: rgba(244,63,94,.1); border-color: rgba(244,63,94,.28); }

.admin-orders-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.admin-orders-toolbar {
  padding: 0;
  margin-bottom: 1rem;
  display: block;
  overflow: hidden;
}
.admin-collapsible-panel {
  border-radius: 12px;
  transition: border-color .2s, background .2s;
}
.admin-collapsible-panel[open],
.admin-collapsible-panel.has-active-filters {
  border-color: rgba(0, 210, 190, 0.22);
}
.admin-collapsible-panel-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
  list-style: none;
  cursor: pointer;
  user-select: none;
  margin: 0;
  padding: .85rem 1.15rem;
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--petronas);
  transition: background .2s;
}
.admin-collapsible-panel-summary::-webkit-details-marker { display: none; }
.admin-collapsible-panel-summary::after {
  content: '?';
  font-size: .85rem;
  color: #ffffff66;
  transition: transform .2s;
  flex-shrink: 0;
}
.admin-collapsible-panel:not([open]) .admin-collapsible-panel-summary::after {
  transform: rotate(-90deg);
}
.admin-collapsible-panel-summary:hover {
  background: rgba(0, 210, 190, 0.06);
}
.admin-collapsible-panel-title {
  flex: 1;
  min-width: 0;
}
.admin-collapsible-panel-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 .35rem;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: #fff;
  background: var(--petronas);
  flex-shrink: 0;
}
.admin-collapsible-panel-body {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  padding: 0 1.15rem 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.admin-collapsible-panel:not([open]) .admin-collapsible-panel-body {
  display: none;
}
.admin-orders-toolbar .admin-collapsible-panel-body {
  padding-top: 1rem;
}
.admin-orders-search {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.admin-orders-search:has(> .admin-orders-search-grid) {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: .75rem 1rem;
}
.admin-orders-search:has(> .admin-orders-search-grid) .admin-orders-search-grid {
  flex: 1 1 0;
  min-width: min(100%, 420px);
}
.admin-orders-search-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: .65rem .75rem;
}
.admin-orders-search-field {
  display: flex;
  flex-direction: column;
  gap: .25rem;
}
.admin-orders-search-field .label {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #ffffff66;
}
.admin-orders-search-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  flex-shrink: 0;
}
.admin-orders-search:has(> .admin-orders-search-grid) .admin-orders-search-actions {
  align-self: flex-end;
}
.admin-products-bulk-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem .75rem;
  margin-bottom: .35rem;
}
.admin-products-bulk-title {
  font-size: .95rem;
  color: var(--petronas);
}
.admin-products-bulk-count {
  font-size: .82rem;
  color: #ffffff66;
}
.admin-products-bulk-lead {
  font-size: .82rem;
  color: #ffffff66;
  margin: 0 0 .85rem;
}
.admin-products-bulk-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: .85rem 1rem;
}
.admin-products-bulk-block {
  padding: .75rem .85rem;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 8px;
  background: rgba(255, 255, 255, .02);
}
.admin-products-bulk-block--danger {
  border-color: rgba(255, 80, 140, .22);
}
.admin-products-bulk-label {
  display: block;
  font-size: .78rem;
  color: #ffffff80;
  margin-bottom: .45rem;
}
.admin-products-bulk-row {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
}
.admin-products-bulk-row--actions {
  gap: .5rem;
}
.admin-products-bulk-activate {
  border-color: rgba(0, 210, 190, .35);
  color: var(--petronas);
}
.admin-products-bulk-deactivate {
  border-color: rgba(139, 92, 246, .35);
  color: var(--warn);
}
.admin-products-bulk-input {
  width: 6.5rem;
  min-width: 0;
}
.admin-products-bulk-select {
  width: auto;
  min-width: 7.5rem;
}
.admin-products-bulk-delete {
  background: rgba(255, 80, 140, .12);
  border-color: rgba(255, 80, 140, .45);
  color: #ffb4d8;
}
.admin-products-bulk-delete:hover {
  background: rgba(255, 80, 140, .2);
}
.admin-product-select-cell {
  width: 2.25rem;
  text-align: center;
  vertical-align: middle;
}
.admin-product-select-cell input {
  margin: 0;
}
.admin-products-search-wrap {
  position: relative;
}
.admin-products-search-wrap .input {
  width: 100%;
}
.admin-products-search-status {
  position: absolute;
  right: .65rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: .72rem;
  color: #ffffff55;
  pointer-events: none;
}
.admin-products-search-wrap .input:focus + .admin-products-search-status,
.admin-products-search-wrap .input:not(:placeholder-shown) + .admin-products-search-status {
  right: .5rem;
}
.admin-products-search-option {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-top: .45rem;
  font-size: .78rem;
  color: #ffffff99;
  cursor: pointer;
  user-select: none;
}
.admin-products-search-option input {
  margin: 0;
  accent-color: var(--petronas, #00d2be);
}
.admin-products-filter-btn.is-active {
  background: rgba(0, 255, 200, .12);
  border-color: var(--petronas);
  color: var(--petronas);
}
.admin-products-filter-card.admin-collapsible-panel {
  padding: 0;
  margin-bottom: 1rem;
}
.admin-products-filter-panel-body {
  padding: 0 1.15rem 1.15rem;
}
.admin-products-list-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 1rem;
  margin-bottom: 1.25rem;
}
.admin-products-list-head .btn {
  min-height: 44px;
  flex: 0 0 auto;
}
.admin-products-list-head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}
.admin-product-actions-cell {
  min-width: 14rem;
  vertical-align: middle;
}
.admin-product-row-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .7rem;
}
.admin-product-row-actions .admin-product-action {
  font-size: .8rem;
  color: var(--petronas);
  text-decoration: none;
  white-space: nowrap;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
}
.admin-product-row-actions .admin-product-action--edit {
  color: var(--cyan, #22d3ee);
}
.admin-product-row-actions .admin-product-action--copy {
  color: var(--petronas);
}
.admin-product-row-actions .admin-product-action--mirror {
  color: var(--violet-bright);
  font-weight: 600;
}
.admin-product-row-actions .admin-product-action--delete {
  color: var(--magenta, #ff4fa3);
}
.admin-product-row-actions .admin-product-action:hover {
  text-decoration: underline;
}
.admin-product-action-form {
  display: inline;
  margin: 0;
}
.btn.admin-product-action--mirror {
  border-color: rgba(167, 139, 250, .45);
  color: var(--violet-bright);
}
.admin-products-filter {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: flex-end;
}
.admin-products-filter-fields {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: stretch;
  flex: 1 1 100%;
  width: 100%;
}
.admin-products-filter-field {
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
}
.admin-products-filter-field .admin-cat-picker,
.admin-products-filter-field .admin-products-search-wrap,
.admin-products-filter-field > .input {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.admin-products-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: stretch;
  margin-top: .15rem;
}
.admin-products-filter-actions .btn {
  min-height: 44px;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.admin-product-row--source {
  background: rgba(0, 210, 190, 0.05);
}
.admin-product-row--source > td {
  border-top: 1px solid rgba(0, 210, 190, 0.18);
}
.admin-product-row--derivative > td {
  background: rgba(255, 255, 255, 0.015);
}
.admin-product-row--derivative > td:first-child {
  padding-left: 2.15rem;
  box-shadow: inset 3px 0 0 rgba(168, 85, 247, 0.42);
}
.admin-product-row--derivative .admin-product-name-cell {
  padding-left: .35rem;
}
.admin-product-name-cell {
  min-width: 14rem;
}
.admin-product-name-text {
  display: block;
  margin-top: .2rem;
  font-weight: 600;
}
.admin-product-color-role {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .16rem .5rem;
  border-radius: 999px;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1.3;
}
.admin-product-color-role--source {
  color: #8ff7ea;
  background: rgba(0, 210, 190, 0.14);
  border: 1px solid rgba(0, 210, 190, 0.28);
}
.admin-product-color-role--derivative {
  color: #f5d0fe;
  background: rgba(168, 85, 247, 0.14);
  border: 1px solid rgba(168, 85, 247, 0.28);
}
.admin-badge--linked {
  color: #93c5fd;
  background: rgba(59, 130, 246, 0.14);
  border-color: rgba(59, 130, 246, 0.32);
}
.admin-product-color-role-swatch {
  width: .72rem;
  height: .72rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.35);
  flex-shrink: 0;
}
.admin-product-color-source-hint {
  display: block;
  margin-top: .25rem;
  font-size: .72rem;
  color: #ffffff88;
}
.admin-product-color-catalog-notice {
  margin: 0 0 1rem;
  padding: .85rem 1rem;
  border-radius: 10px;
  border: 1px solid rgba(0, 210, 190, 0.24);
  background: rgba(0, 210, 190, 0.07);
}
.admin-product-color-catalog-notice--derivative {
  border-color: rgba(168, 85, 247, 0.28);
  background: rgba(168, 85, 247, 0.08);
}
.admin-product-color-catalog-notice strong {
  display: block;
  margin-bottom: .35rem;
}
.admin-product-color-catalog-notice p {
  margin: 0;
  font-size: .84rem;
  color: #ffffffb3;
  line-height: 1.5;
}
.admin-product-color-catalog-notice-meta {
  margin-top: .55rem !important;
}
.admin-product-color-catalog-variant-list {
  list-style: none;
  margin: .65rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .75rem;
}
.admin-product-color-catalog-variant-list li {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .82rem;
}
@media (max-width: 640px) {
  .admin-products-filter-actions {
    flex-direction: column;
  }
  .admin-products-filter-actions .btn {
    width: 100%;
    justify-content: center;
  }
}
.admin-orders-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
}
.admin-orders-filters--payment {
  margin-top: .35rem;
}
.admin-orders-filters-label {
  font-size: .68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #ffffff55;
  margin-right: .15rem;
}
.admin-filter-chip--payment.is-active {
  color: #93c5fd;
  border-color: rgba(59,130,246,.4);
  background: rgba(59,130,246,.1);
}
.admin-filter-chip {
  font-size: .72rem;
  padding: .35rem .65rem;
  border-radius: 999px;
  border: 1px solid rgba(139,92,246,.2);
  color: #ffffff80;
  text-decoration: none;
  transition: .2s;
}
.admin-filter-chip:hover,
.admin-filter-chip.is-active {
  color: var(--petronas);
  border-color: rgba(0,210,190,.35);
  background: rgba(0,210,190,.08);
}
.admin-filter-chip--replies {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}
.admin-filter-chip--replies.is-active {
  color: #fca5a5;
  border-color: rgba(244,63,94,.45);
  background: rgba(244,63,94,.12);
}
.admin-filter-chip--validations {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}
.admin-filter-chip--validations.is-active {
  color: var(--petronas);
  border-color: rgba(0,210,190,.45);
  background: rgba(0,210,190,.12);
}
.admin-filter-count {
  opacity: .65;
  font-size: .9em;
}
.admin-filter-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 .35rem;
  border-radius: 999px;
  font-size: .65rem;
  font-weight: 700;
  line-height: 1;
}
.admin-filter-badge--danger {
  color: #fff;
  background: #ef4444;
  box-shadow: 0 0 0 2px rgba(239,68,68,.25);
}
.admin-filter-badge--success {
  color: #0a1a18;
  background: var(--petronas);
  box-shadow: 0 0 0 2px rgba(0,210,190,.25);
}
.admin-page-tabs,
.admin-promos-subnav {
  margin-bottom: 1.25rem;
}
.admin-page-tabs--nested {
  margin-top: -0.35rem;
  margin-bottom: 1rem;
}
.admin-page-tabs__track,
.admin-promos-subnav-track {
  display: flex;
  flex-wrap: nowrap;
  gap: .5rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 210, 190, 0.35) transparent;
  padding: .15rem .15rem .55rem;
  -webkit-overflow-scrolling: touch;
}
.admin-page-tabs__track::-webkit-scrollbar,
.admin-promos-subnav-track::-webkit-scrollbar {
  height: 4px;
}
.admin-page-tabs__track::-webkit-scrollbar-thumb,
.admin-promos-subnav-track::-webkit-scrollbar-thumb {
  background: rgba(0, 210, 190, 0.35);
  border-radius: 999px;
}
.admin-page-tabs__btn,
.admin-promos-subnav-btn {
  flex: 0 0 auto;
  scroll-snap-align: start;
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: #ffffff88;
  font-family: var(--font-display, inherit);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: .55rem .9rem;
  border-radius: 999px;
  cursor: pointer;
  transition: color .2s, border-color .2s, background .2s, transform .2s;
  white-space: nowrap;
  text-decoration: none;
  box-sizing: border-box;
}
.admin-page-tabs__btn:hover,
.admin-promos-subnav-btn:hover {
  color: #fff;
  border-color: rgba(0, 210, 190, 0.35);
}
.admin-page-tabs__btn.is-active,
.admin-promos-subnav-btn.is-active {
  color: #fff;
  border-color: var(--petronas);
  background: rgba(0, 210, 190, 0.14);
  box-shadow: 0 0 0 1px rgba(0, 210, 190, 0.2);
  transform: translateY(-1px);
}
.admin-page-tabs__count,
.admin-promos-subnav-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 .35rem;
  border-radius: 999px;
  font-size: .62rem;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffffcc;
}
.admin-page-tabs__btn.is-active .admin-page-tabs__count,
.admin-promos-subnav-btn.is-active .admin-promos-subnav-count {
  background: rgba(0, 210, 190, 0.22);
  color: #fff;
}
.admin-promos-panels {
  display: block;
}
.admin-promos-panel {
  padding: 1.25rem;
}
.admin-promos-panel[hidden] {
  display: none !important;
}
.admin-promos-panel-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: 1rem;
}
.admin-promos-panel-title {
  font-size: 1rem;
  margin: 0;
}
.admin-promos-table-wrap {
  overflow-x: auto;
}
.admin-promos-active-check {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1rem;
}
.admin-promos-initie-note {
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  border-color: rgba(0, 210, 190, 0.35);
  background: rgba(0, 210, 190, 0.06);
}
.admin-promos-initie-note p {
  font-size: .82rem;
  color: #ffffffaa;
  margin: 0;
  line-height: 1.55;
}
.admin-promos-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .25rem;
}
.admin-promos-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: 1.25rem;
}
.admin-promos-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .35rem .65rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.25);
  color: #ffffffb3;
  font-size: .72rem;
  text-decoration: none;
  transition: border-color .2s, background .2s, color .2s;
}
.admin-promos-filter-chip:hover {
  border-color: rgba(0, 210, 190, 0.45);
  color: #fff;
}
.admin-promos-filter-chip.is-active {
  border-color: rgba(0, 210, 190, 0.75);
  background: rgba(0, 210, 190, 0.12);
  color: #fff;
}
.admin-promos-filter-chip.is-empty:not(.is-active) {
  opacity: .45;
}
.admin-promos-filter-count {
  font-family: Orbitron, sans-serif;
  font-size: .62rem;
  padding: .1rem .35rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffffaa;
}
.admin-promos-filter-chip.is-active .admin-promos-filter-count {
  background: rgba(0, 210, 190, 0.25);
  color: var(--petronas);
}
.admin-orders-filter-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: .75rem 1rem;
  margin-bottom: .75rem;
}
.admin-orders-status-select {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  min-width: 220px;
}
.admin-orders-status-select .label {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #ffffff66;
}
.admin-inline-alert {
  color: #fca5a5;
}
.admin-inline-alert--success {
  color: var(--petronas);
}
.admin-nav-badge {
  position: absolute;
  top: .15rem;
  right: .35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.1rem;
  height: 1.1rem;
  padding: 0 .28rem;
  border-radius: 999px;
  font-size: .58rem;
  font-weight: 700;
  line-height: 1;
}
.admin-nav-badge--danger {
  color: #fff;
  background: #ef4444;
  box-shadow: 0 0 10px rgba(239,68,68,.45);
}
.admin-nav-badge--warn {
  color: #1a1a24;
  background: var(--violet-bright);
  box-shadow: 0 0 10px rgba(139,92,246,.35);
}
.admin-nav-badge--success {
  color: #0a1a18;
  background: var(--petronas);
  box-shadow: 0 0 10px rgba(0,210,190,.35);
}
.admin-balance-paid-bar-list {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.admin-balance-paid-bar-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem .75rem;
  padding: .5rem 0;
  border-top: 1px solid rgba(255,255,255,.08);
}
.admin-balance-paid-bar-item:first-child { border-top: none; padding-top: 0; }
.admin-balance-paid-dismiss { margin-left: auto; }
.admin-maintenance-test-bar {
  margin-bottom: 1rem;
  padding: .65rem 1rem;
  border-radius: 8px;
  background: rgba(167, 139, 250, 0.09);
  border: 1px solid rgba(167, 139, 250, 0.25);
  font-size: .85rem;
  color: var(--violet-bright);
  line-height: 1.45;
}
.admin-maintenance-test-bar-btn {
  background: transparent;
  border: 1px solid rgba(167, 139, 250, 0.38);
  color: var(--violet-bright);
  border-radius: 6px;
  padding: .2rem .55rem;
  font-size: .78rem;
  cursor: pointer;
}
.admin-maintenance-test-bar-link {
  margin-left: .5rem;
  color: var(--petronas);
  font-size: .78rem;
}
.site-status-preset-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
  gap: .5rem;
}
.site-status-preset-btn {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .2rem;
  padding: .55rem .65rem;
  border-radius: 8px;
  border: 1px solid var(--border-mid);
  background: var(--bg-card);
  color: var(--text-primary);
  cursor: pointer;
  text-align: left;
  transition: border-color .15s, background .15s;
}
.site-status-preset-btn:hover {
  border-color: rgba(0, 210, 190, 0.45);
  background: rgba(0, 210, 190, 0.08);
}
.site-status-preset-btn.is-applied {
  border-color: var(--petronas);
  background: rgba(0, 210, 190, 0.14);
}
.site-status-preset-btn-label {
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.25;
}
.site-status-preset-btn-hint {
  font-size: .65rem;
  color: var(--text-faint);
  line-height: 1.35;
}
.site-status-preset-applied {
  margin: .75rem 0 0;
  font-size: .82rem;
  color: var(--petronas);
}
.admin-orders-row--balance-paid {
  background: rgba(0, 210, 190, .06);
}
.admin-orders-balance-paid-tag {
  display: inline-block;
  margin-left: .35rem;
  font-size: .65rem;
  color: var(--petronas);
  font-weight: 600;
  vertical-align: middle;
}
.admin-nav-link span:last-child {
  padding-right: .5rem;
}
.admin-order-chat-alert {
  display: inline-flex;
  align-items: center;
  gap: .15rem;
  margin-left: .35rem;
  padding: .1rem .4rem;
  border-radius: 999px;
  font-size: .68rem;
  color: #fff;
  background: #ef4444;
  vertical-align: middle;
}
.admin-order-chat-alert strong {
  font-weight: 700;
}
.admin-order-mockup-alert {
  display: inline-flex;
  align-items: center;
  gap: .15rem;
  margin-left: .35rem;
  padding: .1rem .4rem;
  border-radius: 999px;
  font-size: .68rem;
  color: #0a1a18;
  background: var(--petronas);
  vertical-align: middle;
}
.admin-order-mockup-alert strong {
  font-weight: 700;
}
.admin-orders-table-wrap { padding: 0; overflow: hidden; }
.admin-orders-empty { padding: 2.5rem; text-align: center; color: #ffffff66; }
.admin-orders-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.admin-orders-table thead th {
  padding: .75rem 1rem;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #ffffff66;
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-weight: 600;
}
.admin-orders-table tbody td {
  padding: .85rem 1rem;
  vertical-align: top;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.admin-orders-table tbody tr:hover { background: rgba(0,210,190,.03); }
.admin-orders-bulk-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem .75rem;
  padding: .75rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: rgba(0,210,190,.04);
}
.admin-orders-bulk-label { font-size: .85rem; color: #ffffff99; }
.admin-orders-select-col {
  width: 36px;
  text-align: center;
  vertical-align: middle;
}
.admin-orders-select-col input[type="checkbox"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
}
.admin-atelier-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  align-items: flex-start;
}
.admin-atelier-head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.admin-atelier-filter-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: .75rem 1rem;
}
.admin-atelier-queue {
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.admin-atelier-order-card {
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(255, 255, 255, .02);
  overflow: hidden;
}
.admin-atelier-order-card--priority {
  border-color: rgba(255, 193, 7, .35);
  background: linear-gradient(180deg, rgba(255, 193, 7, .08), rgba(255, 255, 255, .02) 42%);
}
.admin-atelier-order-card--urgent {
  border-color: rgba(239, 68, 68, .35);
  background: linear-gradient(180deg, rgba(239, 68, 68, .12), rgba(255, 255, 255, .02) 45%);
}
.admin-atelier-order-card--priority.admin-atelier-order-card--urgent {
  border-color: rgba(239, 68, 68, .4);
  background: linear-gradient(180deg, rgba(239, 68, 68, .1), rgba(255, 193, 7, .07) 38%, rgba(255, 255, 255, .02) 55%);
}
.admin-atelier-order-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1rem;
  padding: .85rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.admin-atelier-order-head-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .65rem;
  min-width: 0;
  flex: 1 1 220px;
}
.admin-atelier-order-number {
  font-size: 1rem;
  font-weight: 700;
}
.admin-atelier-urgent-tag {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .2rem .5rem;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 700;
  color: #fecaca;
  background: rgba(239, 68, 68, .18);
  border: 1px solid rgba(239, 68, 68, .35);
}
.admin-atelier-order-head-timers {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .75rem;
  flex: 1 1 280px;
}
.admin-atelier-order-since-wrap {
  display: inline-flex;
  align-items: baseline;
  gap: .35rem;
  padding: .28rem .55rem;
  border-radius: 8px;
  background: rgba(0, 210, 190, .08);
  border: 1px solid rgba(0, 210, 190, .2);
}
.admin-atelier-order-card--urgent .admin-atelier-order-since-wrap {
  background: rgba(239, 68, 68, .12);
  border-color: rgba(239, 68, 68, .28);
}
.admin-atelier-order-card--priority .admin-atelier-order-since-wrap {
  background: rgba(255, 193, 7, .12);
  border-color: rgba(255, 193, 7, .28);
}
.admin-atelier-order-since-label {
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #ffffff80;
}
.admin-atelier-order-since {
  font-size: .92rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--petronas);
}
.admin-atelier-order-card--urgent .admin-atelier-order-since {
  color: #fca5a5;
}
.admin-atelier-order-card--priority .admin-atelier-order-since {
  color: var(--violet-bright);
}
.admin-atelier-order-passed {
  font-size: .72rem;
  color: #ffffff66;
  font-variant-numeric: tabular-nums;
}
.admin-atelier-order-items-wrap {
  border-radius: 0;
  border: 0;
}
.admin-atelier-order-items thead th {
  padding-top: .55rem;
  padding-bottom: .55rem;
}
.admin-atelier-order-items tbody tr:last-child td {
  border-bottom: 0;
}
.admin-atelier-table-wrap { padding: 0; overflow: hidden; }
.admin-atelier-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .88rem;
}
.admin-atelier-table thead th {
  padding: .75rem 1rem;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #ffffff66;
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-weight: 600;
}
.admin-atelier-table tbody td {
  padding: .75rem 1rem;
  vertical-align: top;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.admin-atelier-table tbody tr:hover { background: rgba(0,210,190,.03); }
.admin-atelier-stockage-badge {
  display: inline-block;
  padding: .2rem .5rem;
  border-radius: 6px;
  background: rgba(255,255,255,.08);
  font-family: Orbitron, sans-serif;
  font-size: .72rem;
  letter-spacing: .04em;
}
.admin-atelier-timer {
  display: inline-flex;
  flex-direction: column;
  gap: .15rem;
  font-family: Orbitron, sans-serif;
  font-size: .82rem;
  color: var(--petronas);
}
.admin-atelier-timer--overdue { color: #ff6b8a; }
.admin-atelier-timer--priority { color: var(--violet-bright); }
.admin-atelier-timer-meta {
  font-size: .68rem;
  color: #ffffff66;
  font-family: inherit;
}
.admin-atelier-dymo-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}
@media (max-width: 900px) {
  .admin-atelier-filter-grid { grid-template-columns: 1fr; }
  .admin-atelier-table-wrap { overflow-x: auto; }
  .admin-atelier-table { min-width: 760px; }
}
.admin-orders-ref { min-width: 140px; }
.admin-order-link {
  display: inline-block;
  font-family: inherit;
  font-size: .88rem;
  font-weight: 500;
  color: var(--petronas);
  text-decoration: none;
  margin-bottom: 0;
}
.admin-order-link:hover {
  color: #7ef9ee;
  text-decoration: underline;
}
.admin-order-link:visited { color: var(--petronas); }
.admin-orders-elapsed-cell { min-width: 88px; white-space: nowrap; }
.admin-orders-elapsed {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .78rem;
  color: #ffffff80;
  font-variant-numeric: tabular-nums;
}
.admin-orders-elapsed--urgent {
  color: #fca5a5;
  font-weight: 600;
}
.admin-orders-elapsed--shipped {
  color: var(--petronas, #00a19a);
  font-weight: 500;
}
.admin-orders-urgent-icon {
  font-size: .95rem;
  line-height: 1;
  animation: admin-orders-urgent-pulse 1.4s ease-in-out infinite;
}
@keyframes admin-orders-urgent-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.12); opacity: .85; }
}
.admin-orders-priority-icon {
  margin-left: .25rem;
  font-size: .9rem;
  line-height: 1;
  filter: drop-shadow(0 0 4px rgba(255, 193, 7, .55));
}
.admin-orders-row--priority {
  background: linear-gradient(90deg, rgba(255, 193, 7, .06), transparent 55%);
}
.admin-orders-row--urgent {
  background: linear-gradient(90deg, rgba(239, 68, 68, .14), rgba(239, 68, 68, .05) 58%);
}
.admin-orders-row--urgent td {
  border-top-color: rgba(239, 68, 68, .12);
  border-bottom-color: rgba(239, 68, 68, .12);
}
.admin-orders-row--priority.admin-orders-row--urgent {
  background: linear-gradient(90deg, rgba(239, 68, 68, .12), rgba(255, 193, 7, .08) 45%, transparent 70%);
}
.admin-order-priority-badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .28rem .55rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 700;
  color: #0a0614;
  background: linear-gradient(135deg, var(--violet-bright), var(--violet));
  border: 1px solid rgba(139, 92, 246, .65);
  white-space: nowrap;
}
.admin-order-priority-badge--compact {
  flex-direction: column;
  align-items: flex-start;
  gap: .2rem;
  border-radius: 8px;
  white-space: normal;
}
.admin-order-priority-badge--expired {
  background: linear-gradient(135deg, #ff5252, #c62828);
  color: #fff;
  border-color: rgba(255, 82, 82, .65);
  animation: admin-orders-urgent-pulse 1.2s ease-in-out infinite;
}
.admin-order-priority-icon { line-height: 1; }
.admin-order-priority-timer {
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
}
.admin-badge--priority {
  color: #1a1400;
  background: var(--violet-bright);
  border-color: rgba(255, 193, 7, .55);
}
.admin-filter-chip--priority.is-active {
  border-color: rgba(255, 193, 7, .55);
  background: rgba(255, 193, 7, .12);
}
.admin-filter-chip--urgent.is-active {
  border-color: rgba(239, 68, 68, .55);
  background: rgba(239, 68, 68, .12);
}

.admin-priority-prices-section {
  margin-top: 1rem;
  padding: 1rem;
}
.admin-cat-picker--priority .admin-cat-picker-selected-meta {
  display: none;
}
.admin-cat-priority-tree {
  max-height: min(58vh, 520px);
  overflow: auto;
  border: 1px solid var(--border-light);
  border-radius: 10px;
  background: var(--bg-card-solid);
  padding: .35rem .25rem;
}
.admin-cat-priority-row {
  align-items: center;
  gap: .55rem;
}
.admin-cat-priority-row .admin-cat-picker-name {
  flex: 1;
  min-width: 0;
}
.admin-cat-priority-side {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: .45rem;
  margin-left: auto;
}
.admin-cat-priority-fields {
  display: flex;
  align-items: center;
  gap: .65rem;
  flex-wrap: wrap;
}
.admin-cat-priority-price-wrap {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}
.admin-cat-priority-effective {
  font-size: .82rem;
  color: var(--petronas);
  white-space: nowrap;
  text-align: right;
}
.admin-cat-priority-panel.is-priority-priced > .admin-cat-row {
  background: rgba(255, 193, 7, .06);
}
.admin-priority-prices-input {
  width: 6.25rem;
  text-align: right;
  padding: .45rem .55rem !important;
  font-size: .84rem !important;
}
.admin-priority-prices-suffix {
  font-size: .72rem;
  color: var(--text-muted);
  white-space: nowrap;
}
.admin-priority-prices-inherit {
  display: block;
  font-size: .65rem;
  color: var(--text-whisper);
  font-weight: 400;
  margin-top: .15rem;
}
.admin-priority-general {
  padding: 1rem;
}
.admin-priority-rule-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: .75rem 1rem;
}
.admin-priority-rule-head .admin-color-rule-title-wrap {
  flex: 1 1 14rem;
  min-width: 0;
}
.admin-priority-rule-price-wrap {
  flex: 0 1 9rem;
  min-width: 7rem;
}
.admin-priority-rules-section .admin-color-rule-card + .admin-color-rule-card {
  margin-top: 1rem;
}
.admin-priority-rules {
  display: grid;
  gap: .65rem;
}
.admin-priority-rule-disclosure {
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 12px;
  background: rgba(255, 255, 255, .02);
  overflow: hidden;
}
.admin-priority-rule-disclosure[open] {
  background: rgba(255, 255, 255, .03);
}
.admin-priority-rule-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 1rem;
  padding: .8rem 1rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.admin-priority-rule-summary::-webkit-details-marker {
  display: none;
}
.admin-priority-rule-summary::before {
  content: '';
  width: .45rem;
  height: .45rem;
  margin-right: .15rem;
  border-right: 2px solid rgba(255, 255, 255, .55);
  border-bottom: 2px solid rgba(255, 255, 255, .55);
  transform: rotate(-45deg);
  transition: transform .22s ease;
  flex-shrink: 0;
}
.admin-priority-rule-disclosure[open] > .admin-priority-rule-summary::before {
  transform: rotate(45deg);
}
.admin-priority-rule-summary-main {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  min-width: 0;
  flex: 1;
}
.admin-priority-rule-summary-name {
  font-size: .92rem;
  color: #f2fbff;
}
.admin-priority-rule-summary-meta {
  font-size: .78rem;
  color: #ffffff66;
}
.admin-priority-rule-summary .admin-priority-rule-remove {
  flex-shrink: 0;
}
.admin-priority-rule-body-wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .24s ease;
}
.admin-priority-rule-disclosure[open] > .admin-priority-rule-body-wrap {
  grid-template-rows: 1fr;
}
.admin-priority-rule-body {
  overflow: hidden;
  padding: 0 1rem 1rem;
  border-top: 1px solid rgba(255, 255, 255, .06);
}
.admin-priority-rule-disclosure[open] > .admin-priority-rule-body-wrap > .admin-priority-rule-body {
  padding-top: 1rem;
}
.admin-priority-rules-section .admin-cart-section-head {
  flex-wrap: wrap;
}
.admin-priority-rules-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  justify-content: flex-end;
}
.admin-priority-rule-card.admin-priority-rule-disclosure {
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .08);
}
.admin-prestashop-htaccess-preview {
  margin: 0;
  padding: .85rem 1rem;
  max-height: 280px;
  overflow: auto;
  border-radius: 10px;
  background: #0a0f14;
  border: 1px solid #ffffff14;
  font-size: .74rem;
  line-height: 1.45;
  color: #b8e8ff;
  white-space: pre-wrap;
  word-break: break-word;
}
.admin-prestashop-seo-filters .btn.is-active {
  border-color: var(--petronas);
  color: var(--petronas);
}
.admin-priority-form-grid,
.admin-form-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.admin-priority-form-grid .admin-check-row,
.admin-form-grid .admin-check-row {
  grid-column: 1 / -1;
}

.admin-priority-price-grid {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  max-height: min(60vh, 520px);
  overflow: auto;
  padding: .75rem;
  border: 1px solid #ffffff14;
  border-radius: 10px;
  background: #ffffff05;
}
.admin-priority-price-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: center;
  padding: .45rem .55rem;
  border-radius: 8px;
}
.admin-priority-price-row--child {
  margin-left: calc(var(--priority-depth, 1) * .85rem);
  background: #ffffff04;
}
.admin-priority-price-cat {
  display: flex;
  align-items: center;
  gap: .45rem;
  min-width: 0;
}
.admin-priority-price-branch {
  color: #ffffff44;
  font-size: .85rem;
  flex-shrink: 0;
}
.admin-priority-price-name {
  font-size: .86rem;
  color: #ffffffdd;
}
.admin-priority-price-tag {
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #ffffff55;
  padding: .12rem .35rem;
  border-radius: 999px;
  border: 1px solid #ffffff18;
  flex-shrink: 0;
}
.admin-priority-price-field {
  display: flex;
  align-items: center;
  gap: .35rem;
  flex-shrink: 0;
}
.admin-priority-price-input {
  width: 6.5rem;
  text-align: right;
  padding: .4rem .55rem !important;
  font-size: .82rem !important;
}
.admin-priority-price-suffix {
  font-size: .72rem;
  color: #ffffff55;
  white-space: nowrap;
}

.admin-orders-date,
.admin-orders-invoice {
  display: block;
  font-size: .72rem;
  color: #ffffff55;
  line-height: 1.4;
}
.admin-orders-client strong { display: block; margin-bottom: .15rem; }
.admin-orders-client span { font-size: .78rem; color: #ffffff66; word-break: break-all; }
.admin-orders-total .product-price { display: block; font-size: 1rem; }
.admin-orders-paid,
.admin-orders-balance {
  display: block;
  font-size: .72rem;
  margin-top: .15rem;
}
.admin-orders-paid { color: #ffffff66; }
.admin-orders-balance { color: var(--violet-bright); }
.admin-orders-balance-paid-at {
  display: block;
  font-size: .7rem;
  color: var(--petronas);
  margin-top: .2rem;
  line-height: 1.35;
}
.admin-order-balance-paid-at {
  color: var(--petronas);
  font-size: .82rem;
}
.account-order-balance-paid-at {
  margin-top: .25rem;
  font-size: .75rem;
  color: var(--petronas);
  line-height: 1.35;
}
.admin-orders-status-cell { min-width: 130px; }
.admin-orders-status-cell .admin-badge { margin-bottom: .4rem; }
.admin-inline-form { margin: 0; }
.admin-select-sm {
  padding: .25rem .4rem !important;
  font-size: .72rem !important;
  min-height: auto;
}
.admin-col-actions { width: 1%; white-space: nowrap; }
.admin-col-actions--stack {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .35rem;
}
.admin-col-actions--stack .admin-btn-danger {
  width: auto;
  height: auto;
  padding: .35rem .65rem;
  font-size: .68rem;
}
.admin-orders-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: .35rem;
  align-items: center;
  justify-content: flex-end;
  max-width: 100%;
  overflow-x: auto;
  padding-bottom: .1rem;
  -webkit-overflow-scrolling: touch;
}
.admin-orders-actions form {
  display: inline-flex;
  margin: 0;
  flex: 0 0 auto;
}
.admin-orders-actions .btn,
.admin-orders-actions > a,
.admin-orders-actions .admin-btn-danger {
  flex: 0 0 auto;
  white-space: nowrap;
}
.admin-btn-danger {
  background: none;
  border: 1px solid rgba(244,63,94,.35);
  color: #fca5a5;
  border-radius: 8px;
  width: 1.75rem;
  height: 1.75rem;
  cursor: pointer;
  font-size: .75rem;
  line-height: 1;
}
.admin-btn-danger:hover { background: rgba(244,63,94,.12); }

.import-cat-structure { margin-top: 2rem; }
.import-cat-structure-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: .85rem;
  margin-bottom: 1.5rem;
}
.import-cat-structure-block {
  padding: .85rem 1rem;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(255, 255, 255, .02);
}
.import-cat-structure-name {
  margin: 0 0 .4rem;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--petronas);
}
.import-cat-structure-children {
  margin: 0;
  font-size: .8rem;
  color: #ffffff99;
  line-height: 1.45;
}
.import-cat-structure-note {
  margin: .45rem 0 0;
  font-size: .72rem;
  color: #ffffff55;
}
.import-cat-preview {
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, .08);
  max-height: 420px;
  overflow: auto;
}
.import-cat-preview-title {
  margin: 0;
  font-size: .9rem;
  color: #fff;
}
.import-cat-preview-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 1rem;
  margin-bottom: 1rem;
}
.import-cat-preview-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.import-cat-preview-tree {
  max-height: min(70vh, 640px);
  overflow: auto;
  padding: .35rem .15rem .15rem 0;
}
.import-cat-tree {
  list-style: none;
  margin: 0;
  padding: 0;
}
.import-cat-tree--nested {
  margin: .2rem 0 .1rem 0;
  padding-left: 0;
  border-left: none;
}
.import-cat-tree-item { margin: 0 0 .2rem; }
.import-cat-tree-row {
  display: flex;
  align-items: center;
  gap: .35rem;
  min-height: 1.65rem;
}
.import-cat-tree-toggle {
  flex: 0 0 1.35rem;
  width: 1.35rem;
  height: 1.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 6px;
  background: rgba(255, 255, 255, .04);
  color: #ffffffb0;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
}
.import-cat-tree-toggle:hover {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .22);
  color: #fff;
}
.import-cat-tree-toggle--spacer {
  border-color: transparent;
  background: transparent;
  cursor: default;
  pointer-events: none;
}
.import-cat-tree-chevron {
  width: .45rem;
  height: .45rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transition: transform .15s ease;
  margin-top: -.12rem;
}
.import-cat-tree-toggle[aria-expanded="true"] .import-cat-tree-chevron {
  transform: rotate(45deg);
  margin-top: -.2rem;
}
.import-cat-tree-label { font-size: .82rem; color: #ffffffcc; line-height: 1.35; }
.import-cat-tree-count { font-size: .72rem; color: var(--petronas); }
.import-cat-tree-children {
  display: none;
  margin-left: 1.15rem;
  padding-left: .65rem;
  border-left: 1px solid rgba(255, 255, 255, .1);
}
.import-cat-tree-children.is-open { display: block; }

.catalog-purge-zone {
  margin-top: 2rem;
  border-color: rgba(244, 63, 94, .35);
}
.catalog-purge-title {
  margin: 0 0 .65rem;
  font-size: 1rem;
  color: #fca5a5;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.catalog-purge-lead {
  margin: 0 0 1rem;
  font-size: .86rem;
  color: #ffffff88;
  line-height: 1.55;
  max-width: 52rem;
}
.catalog-purge-stats {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  margin-bottom: 1rem;
  font-size: .88rem;
  color: #ffffff99;
}
.catalog-purge-stat-warn { color: var(--warn); }
.catalog-purge-flash {
  margin: 0 0 1rem;
  padding: .75rem 1rem;
  border-radius: 10px;
  font-size: .86rem;
  line-height: 1.5;
}
.catalog-purge-flash p { margin: 0 0 .35rem; }
.catalog-purge-flash p:last-child { margin-bottom: 0; }
.catalog-purge-flash--ok {
  border: 1px solid rgba(0, 210, 190, .35);
  background: rgba(0, 210, 190, .08);
  color: #a7f3d0;
}
.catalog-purge-flash--error {
  border: 1px solid rgba(244, 63, 94, .35);
  background: rgba(244, 63, 94, .08);
  color: #ffb4b4;
}
.catalog-purge-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}
.catalog-purge-btn {
  font-size: .72rem;
}
.catalog-purge-btn--all {
  border-color: var(--magenta);
  background: rgba(244, 63, 94, .12);
}
.catalog-purge-btn--all:hover {
  background: rgba(244, 63, 94, .22);
  border-color: #f43f5e;
}

/* Admin ? d?tail commande */
.admin-order-page {
  width: 100%;
  max-width: none;
}
.admin-section-title {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--petronas);
  margin: 0;
}
.admin-card-title {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--petronas);
  margin: 0 0 1rem;
}

.admin-order-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.5rem;
  flex-wrap: wrap;
  padding: 1.35rem 1.5rem;
  margin-bottom: 1rem;
  border-color: rgba(0, 210, 190, 0.2);
}
.admin-order-hero-kicker {
  font-size: .58rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #ffffff55;
  margin: 0 0 .35rem;
}
.admin-order-title { font-size: 1.5rem; margin: 0 0 .4rem; text-transform: uppercase; line-height: 1.1; }
.admin-order-meta { margin: 0 0 .75rem; font-size: .88rem; color: #ffffff80; line-height: 1.5; }
.admin-order-badges { display: flex; flex-wrap: wrap; gap: .4rem; }
.admin-order-hero-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .65rem;
  min-width: 160px;
  flex: 0 1 auto;
  max-width: min(100%, 34rem);
}
.admin-order-hero-side .admin-order-deposit-flags {
  width: 100%;
  min-width: min(100%, 28rem);
  margin: 0;
  align-self: stretch;
}
.admin-order-hero-side .admin-order-deposit-flags .admin-order-shipping-flag-text {
  text-align: left;
}
.admin-order-doc-links-bar {
  margin-bottom: .75rem;
}
.admin-order-kpi { text-align: right; }
.admin-order-doc-links {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: .45rem;
  margin-top: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  padding-bottom: .15rem;
  -webkit-overflow-scrolling: touch;
}
.admin-order-doc-links form {
  display: inline-flex;
  margin: 0;
  flex: 0 0 auto;
}
.admin-order-doc-links .btn,
.admin-order-doc-links > a,
.admin-order-doc-links > span {
  flex: 0 0 auto;
  white-space: nowrap;
}
.admin-order-kpi-label {
  display: block;
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #ffffff55;
  margin-bottom: .15rem;
}
.admin-order-kpi-value { font-family: Orbitron, sans-serif; font-size: 1.1rem; font-weight: 700; }
.admin-order-kpi--balance .admin-order-kpi-value { color: var(--violet-bright); }

.admin-order-deposit-flags {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0;
  width: 100%;
  margin: 0;
}
.admin-order-deposit-flags .admin-order-shipping-flag {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  border-radius: 0;
}
.admin-order-deposit-flags .admin-order-shipping-flag:first-child {
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
}
.admin-order-deposit-flags .admin-order-shipping-flag:last-child {
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
}
.admin-order-deposit-flags .admin-order-shipping-flag + .admin-order-shipping-flag {
  margin-left: -1px;
}
.admin-order-deposit-hint {
  font-size: .72rem;
  color: #ffffff80;
  line-height: 1.35;
}
.admin-order-shipping-flag--deposit {
  color: #a5f3fc;
  background: rgba(6, 182, 212, 0.1);
  border-color: rgba(6, 182, 212, 0.35);
  box-shadow: none;
}
.admin-order-shipping-flag--deposit-due {
  color: #ddd6fe;
  background: rgba(139, 92, 246, 0.12);
  border-color: rgba(139, 92, 246, 0.38);
}
.admin-order-deposit-flags .admin-order-shipping-flag--compact {
  margin: 0;
}
.admin-order-shipping-flag--deposit-due .admin-order-shipping-flag-sub {
  color: var(--violet-bright);
}

.admin-order-totals-deposit {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px dashed rgba(0, 210, 190, 0.25);
  display: flex;
  flex-direction: column;
  gap: .4rem;
}
.admin-order-totals-deposit-title {
  margin: 0 0 .35rem;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--petronas);
}
.admin-order-totals-deposit > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: .88rem;
  color: #ffffff99;
}
.admin-order-totals-deposit-due {
  margin-top: .25rem;
  padding-top: .5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: .95rem;
  color: #fff;
}

.admin-order-manage {
  padding: 1.15rem 1.35rem;
  margin-bottom: 1rem;
  border-color: rgba(139, 92, 246, 0.22);
}
.admin-order-manage-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.1rem;
  padding-bottom: .85rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.admin-order-manage-head-main {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.admin-order-manage-link {
  font-size: .78rem;
  color: var(--petronas);
  text-decoration: none;
}
.admin-order-manage-link:hover { text-decoration: underline; }
.admin-order-manage-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.admin-order-manage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem 1.25rem;
}
.admin-order-manage-field .label { font-size: .78rem; margin-bottom: .4rem; }
.admin-label-hint { color: #ffffff55; font-weight: 400; font-size: .72rem; }
.admin-order-manage-field--tracking { grid-column: 1 / -1; }
.admin-order-tracking-row { display: flex; gap: .5rem; align-items: center; }
.admin-order-tracking-row .input { flex: 1; min-width: 0; }
.admin-orders-tracking-cell { min-width: 12rem; vertical-align: middle; }
.admin-orders-tracking-form { margin: 0; }
.admin-orders-tracking-row { display: flex; gap: .35rem; align-items: center; }
.admin-orders-tracking-input { flex: 1; min-width: 0; font-size: .78rem; padding: .28rem .45rem; }
.admin-orders-edit-banner--tracking { background: rgba(59, 130, 246, .08); border-color: rgba(59, 130, 246, .25); color: inherit; }
.admin-order-manage-summary {
  margin-top: 1rem;
  padding-top: .85rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.admin-order-status-history {
  padding: 1.15rem 1.35rem;
  margin-bottom: 1rem;
  border-color: rgba(0, 210, 190, 0.22);
}
.admin-order-status-history .admin-section-title {
  margin-bottom: .85rem;
}
.admin-order-status-history-empty {
  margin: 0;
  font-size: .88rem;
  color: #ffffff80;
}
.admin-order-status-history-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 18rem;
  overflow: auto;
}
.admin-order-status-history-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: .65rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.admin-order-status-history-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.admin-order-status-history-item:first-child {
  padding-top: 0;
}
.admin-order-status-history-date {
  flex: 0 0 auto;
  min-width: 9.5rem;
  font-size: .82rem;
  color: #ffffff80;
  font-variant-numeric: tabular-nums;
}
.admin-order-status-history-body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .65rem;
  min-width: 0;
}
.admin-order-status-history-from,
.admin-order-status-history-actor {
  font-size: .78rem;
  color: #ffffff80;
}
.admin-order-status-history-actor {
  color: var(--violet-bright, #a78bfa);
}
.admin-order-status-history-email {
  font-size: .72rem;
}
.admin-order-status-history-email--sent {
  color: var(--petronas, #00d2be);
}
.admin-order-status-history-email--skipped {
  color: #ffffff66;
}

.admin-order-status-email-opt {
  display: flex;
  align-items: flex-start;
  gap: .45rem;
  margin: .1rem 0 .5rem;
  font-size: .8rem;
  line-height: 1.35;
  color: #ffffffcc;
  cursor: pointer;
  user-select: none;
}
.admin-order-status-email-opt input {
  margin-top: .15rem;
  flex-shrink: 0;
  accent-color: var(--petronas, #00d2be);
}
.admin-order-status-email-opt--compact {
  margin: .35rem 0 .3rem;
  font-size: .72rem;
  color: #ffffff99;
}

.admin-order-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 22rem);
  gap: 1.25rem;
  align-items: start;
  margin-bottom: 1.25rem;
}
.admin-order-shipping-flag {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  width: 100%;
  margin: 0 0 1rem;
  padding: .85rem 1rem;
  border-radius: 12px;
  border: 1px solid transparent;
}
.admin-order-shipping-flag--compact {
  margin: 0 0 .85rem;
  padding: .65rem .85rem;
}
.admin-order-shipping-flag--colissimo {
  color: #a5f3fc;
  background: rgba(6, 182, 212, 0.1);
  border-color: rgba(6, 182, 212, 0.35);
  box-shadow: 0 0 24px rgba(6, 182, 212, 0.08);
}
.admin-order-shipping-flag--relay {
  color: #fecaca;
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.4);
  box-shadow: 0 0 24px rgba(239, 68, 68, 0.1);
}
.admin-order-shipping-flag-icon {
  font-size: 1.5rem;
  line-height: 1;
  flex-shrink: 0;
}
.admin-order-shipping-flag--compact .admin-order-shipping-flag-icon { font-size: 1.25rem; }
.admin-order-shipping-flag-text {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  min-width: 0;
}
.admin-order-shipping-flag-title {
  font-family: Orbitron, sans-serif;
  font-size: .82rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.admin-order-shipping-flag-sub {
  font-size: .84rem;
  color: #ffffff99;
  line-height: 1.45;
}
.admin-order-info-card--shipping {
  border-color: rgba(139, 92, 246, 0.22);
}
.admin-order-lines-card {
  padding: 1.2rem 1.35rem;
  position: sticky;
  top: 1rem;
  align-self: start;
  max-height: calc(100vh - 2rem);
  overflow: auto;
  z-index: 2;
}
.admin-order-lines-card .admin-section-title { margin-bottom: 1rem; }
.admin-order-table-wrap { overflow-x: auto; margin: 0 -0.25rem; }
.admin-order-lines-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.admin-order-lines-table thead th {
  padding: .6rem .75rem;
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #ffffff55;
  font-weight: 600;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.02);
}
.admin-order-lines-table tbody td {
  padding: .85rem .75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  vertical-align: top;
}
.admin-order-lines-table tbody tr:last-child td { border-bottom: none; }
.admin-order-lines-table tbody tr:hover { background: rgba(0, 210, 190, 0.03); }
.admin-order-product-name { font-weight: 600; color: var(--text-strong); }
.admin-order-line-product {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  min-width: 0;
}
.admin-order-line-product-body {
  flex: 1;
  min-width: 0;
}
.admin-order-line-thumb {
  display: block;
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.03);
}
.admin-order-line-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.admin-order-line-thumb--empty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff44;
  font-size: .85rem;
}
a.admin-order-line-thumb {
  transition: border-color .2s, box-shadow .2s;
}
a.admin-order-line-thumb:hover {
  border-color: rgba(0, 210, 190, .45);
  box-shadow: 0 0 0 2px rgba(0, 210, 190, .12);
}
.admin-order-product-link {
  color: var(--text-strong);
  text-decoration: none;
}
.admin-order-product-link:hover {
  color: var(--petronas);
  text-decoration: underline;
}
.product-admin-private-notes {
  margin: .25rem 0 1rem;
  padding: 1rem 1.1rem;
  border-radius: 10px;
  border: 1px dashed rgba(139, 92, 246, .35);
  background: rgba(139, 92, 246, .06);
}
.product-admin-private-notes-input {
  min-height: 7rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .84rem;
  line-height: 1.55;
}
.admin-order-product-private-notes {
  margin-top: .45rem;
  padding: .45rem .55rem;
  border-radius: 8px;
  border: 1px dashed rgba(139, 92, 246, .28);
  background: rgba(139, 92, 246, .05);
  font-size: .76rem;
  line-height: 1.45;
}
.admin-order-product-private-notes-label {
  display: block;
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--violet-bright);
  margin-bottom: .2rem;
  font-weight: 600;
}
.admin-order-product-private-notes-body a {
  color: var(--petronas);
  word-break: break-all;
}
.admin-order-stockage {
  font-size: .82rem;
  font-weight: 600;
  color: var(--petronas);
  white-space: nowrap;
  vertical-align: top;
}
.order-item-preparation {
  margin-top: .5rem;
  padding: .45rem .55rem;
  border-radius: 8px;
  background: rgba(0, 210, 190, 0.08);
  border: 1px solid rgba(0, 210, 190, 0.18);
  font-size: .78rem;
}
.order-item-preparation-line {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .5rem;
  align-items: baseline;
  margin: 0;
}
.order-item-preparation-line + .order-item-preparation-line { margin-top: .35rem; }
.order-item-preparation-label {
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #ffffff66;
}
.order-item-preparation-product { color: #ffffff99; }
.order-item-preparation-value { color: var(--petronas); }
.product-stockage-ref {
  display: inline-block;
  margin-left: .5rem;
  padding: .15rem .45rem;
  border-radius: 999px;
  background: rgba(0, 210, 190, 0.12);
  color: var(--petronas);
  font-size: .75rem;
  font-weight: 600;
}
.admin-order-qty { font-family: Orbitron, sans-serif; font-weight: 600; color: var(--petronas); }
.admin-col-num { text-align: right !important; white-space: nowrap; }
.admin-order-attrs,
.admin-app .order-item-attrs--admin {
  list-style: none;
}
.admin-app .order-item-attrs--admin dt { color: var(--text-whisper); }
.admin-app .order-item-attrs--admin dd { color: var(--text-faint); }
.admin-order-totals {
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  max-width: 300px;
  margin-left: auto;
  font-size: .86rem;
}
.admin-order-totals > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .3rem 0;
  color: var(--text-muted);
}
.admin-order-totals-grand {
  margin-top: .4rem;
  padding-top: .55rem !important;
  border-top: 1px solid var(--border-light);
  font-weight: 700;
  font-size: .95rem;
  color: var(--text-strong) !important;
}

/* Mode ?dition commande admin */
.admin-order-page--edit {
  width: 100%;
  max-width: none;
}
.admin-order-page--edit .admin-order-edit-layout {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
}
.admin-orders-page--edit {
  width: 100%;
  max-width: none;
}
.admin-content--order-full .admin-orders-page--edit .admin-orders-table-wrap--edit {
  width: 100%;
  max-width: none;
}
.admin-orders-page--edit .admin-orders-table {
  width: 100%;
}
.admin-order-edit-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.35rem;
  margin-bottom: 1rem;
}
.admin-order-edit-kicker {
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--petronas);
  margin: 0 0 .35rem;
}
.admin-order-edit-title { font-size: 1.45rem; margin: 0 0 .35rem; }
.admin-order-edit-meta { margin: 0; font-size: .86rem; color: var(--text-muted); }
.admin-order-edit-head-actions { display: flex; flex-wrap: wrap; gap: .45rem; }
.admin-order-edit-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  gap: 1rem;
  align-items: start;
}
@media (max-width: 960px) {
  .admin-order-edit-layout { grid-template-columns: 1fr; }
}
.admin-order-edit-lines {
  padding: 1.2rem 1.35rem;
  position: sticky;
  top: 1rem;
  align-self: start;
  max-height: calc(100vh - 2rem);
  overflow: auto;
  z-index: 2;
}
.admin-order-edit-section-head { margin-bottom: 1rem; }
.admin-order-edit-section-head .admin-section-title { margin-bottom: .35rem; }
.admin-order-edit-table .admin-order-edit-row:hover { background: rgba(0, 210, 190, 0.04); }
.admin-order-edit-product .input { width: 100%; min-width: 10rem; }
.admin-order-edit-badge { display: inline-block; margin-top: .35rem; font-size: .62rem; }
.admin-order-edit-qty { width: 4.25rem; text-align: center; }
.admin-order-edit-price { width: 6.5rem; text-align: right; }
.admin-col-qty { text-align: center; white-space: nowrap; }
.admin-col-actions { width: 4.5rem; text-align: right; white-space: nowrap; }
.admin-order-edit-row-meta td {
  padding: 0 .75rem .75rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.admin-order-edit-remove { font-size: .72rem; color: #ff8a8a; border-color: rgba(255, 120, 120, 0.35); }
.admin-order-edit-empty {
  text-align: center;
  color: var(--text-muted);
  padding: 1.5rem !important;
}
.admin-order-edit-add {
  margin-top: 1.15rem;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.admin-order-edit-add-fields {
  display: grid;
  gap: .65rem;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  margin-top: .75rem;
}
.admin-order-edit-add-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .75rem;
  align-items: center;
}
.admin-order-edit-aside { display: flex; flex-direction: column; gap: .75rem; }
.admin-order-edit-aside-card { padding: 1rem 1.15rem; }
.admin-order-edit-aside-card .admin-order-totals {
  margin: 0;
  padding: 0;
  border: none;
  max-width: none;
}
.admin-order-totals--edit { font-size: .84rem; }
.admin-order-edit-inline-field {
  display: flex;
  gap: .45rem;
  flex-wrap: wrap;
  align-items: center;
}
.admin-order-edit-inline-field .input { flex: 1; min-width: 120px; }
.admin-order-edit-shipping-label { font-size: .78rem; margin: 0 0 .5rem; }
.admin-order-edit-promo-remove { padding: .75rem 1.15rem; }
.admin-order-edit-client-fields {
  display: flex;
  flex-direction: column;
  gap: .65rem;
}
.admin-order-edit-client-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .55rem;
}
@media (max-width: 520px) {
  .admin-order-edit-client-row { grid-template-columns: 1fr; }
}
.admin-order-edit-client-fields .label { font-size: .72rem; margin-bottom: .2rem; }
.admin-order-edit-client-fields .input { font-size: .84rem; }

.admin-order-info { display: flex; flex-direction: column; gap: .75rem; }
.admin-order-info-card { padding: 1rem 1.15rem; }
.admin-info-title {
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--petronas);
  margin: 0 0 .75rem;
}
.admin-order-client-name { font-weight: 600; margin: 0 0 .35rem; font-size: 1rem; }
.admin-order-mail { color: var(--petronas); font-size: .88rem; word-break: break-all; text-decoration: none; }
.admin-order-mail:hover { text-decoration: underline; }
.admin-order-muted { font-size: .84rem; color: #ffffff70; margin: .25rem 0 0; }
.admin-order-relay { font-size: .88rem; line-height: 1.55; color: #ffffff99; margin: 0; }
.admin-order-address {
  font-style: normal;
  font-size: .88rem;
  line-height: 1.6;
  color: #ffffff99;
  margin: 0;
}

.admin-order-chat-section {
  margin-top: .5rem;
  padding-top: .25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.admin-order-page--with-chat {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 2.5rem);
}
.admin-order-chat-section-head {
  margin-bottom: .75rem;
  flex-shrink: 0;
}
.admin-order-chat-section .admin-chat-upload-zone {
  flex-shrink: 0;
}
.admin-order-chat-section .chat-schedule-panel {
  flex-shrink: 0;
}
.admin-order-chat-lead {
  margin: .35rem 0 0;
  font-size: .84rem;
  color: #ffffff66;
  line-height: 1.5;
  max-width: 720px;
}
.admin-chat-upload-zone {
  position: relative;
  margin-bottom: .75rem;
  padding: 1.25rem 1.5rem;
  border: 2px dashed rgba(0, 210, 190, 0.35);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.06), rgba(139, 92, 246, 0.05));
  cursor: pointer;
  transition: border-color .2s, background .2s, box-shadow .2s;
  outline: none;
}
.admin-chat-upload-zone:hover,
.admin-chat-upload-zone:focus-visible,
.admin-chat-upload-zone.is-drag-over {
  border-color: var(--petronas);
  background: rgba(0, 210, 190, 0.1);
  box-shadow: 0 0 0 3px rgba(0, 210, 190, 0.12);
}
.admin-chat-upload-inner { text-align: center; pointer-events: none; }
.admin-chat-upload-icon {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(0, 210, 190, 0.12);
  border: 1px solid rgba(0, 210, 190, 0.35);
  font-size: 1.1rem;
  color: var(--petronas);
  margin-bottom: .5rem;
}
.admin-chat-upload-title { margin: 0; font-size: .92rem; color: var(--text-emphasis); }
.admin-chat-upload-hint { margin: .35rem 0 0; font-size: .78rem; color: var(--text-ghost); }

.admin-order-chat-section .chat-box--admin-full {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 20rem);
  height: auto;
  max-height: none;
  border-radius: 14px;
  overflow: hidden;
}
.admin-order-chat-section .chat-box--admin-full .chat-messages {
  flex: 1 1 auto;
  min-height: 12rem;
  max-height: none;
  overflow-y: visible;
  overflow-x: hidden;
  padding: 1rem 1.15rem;
  background: var(--bg-elevated);
}
.admin-order-chat-section .chat-msg { max-width: 70%; }
.admin-order-chat-section .chat-form {
  flex-shrink: 0;
  padding: 1rem 1.15rem;
  background: var(--bg-card-solid);
  border-top: 1px solid var(--border-faint);
}
.admin-order-chat-section.is-drag-over .admin-chat-upload-zone {
  border-color: var(--petronas);
  background: rgba(0, 210, 190, 0.14);
}

@media (max-width: 900px) {
  .admin-order-manage-grid { grid-template-columns: 1fr; }
  .admin-order-body { grid-template-columns: 1fr; }
  .admin-order-status-history-item { flex-direction: column; gap: .35rem; }
  .admin-order-status-history-date { min-width: 0; }
  .admin-order-lines-card {
    position: static;
    max-height: none;
    overflow: visible;
  }
  .admin-order-hero-side { align-items: flex-start; width: 100%; flex-direction: row; flex-wrap: wrap; }
  .admin-order-kpi { text-align: left; }
  .admin-orders-table-wrap { overflow-x: auto; }
  .admin-orders-table { min-width: 860px; }
}
@media (max-width: 600px) {
  .admin-orders-filters { gap: .3rem; }
  .admin-filter-chip { font-size: .65rem; padding: .3rem .5rem; }
}

/* Color swatch */
.color-swatches { display: flex; flex-wrap: wrap; gap: .5rem; }
.color-swatch--split,
.shop-catalog-color-swatch--split,
.cart-color-suggestions-swatch--split,
.cart-color-suggestion-swatch--split {
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.18);
}
.color-swatch {
  width: 72px; height: 72px; min-height: 72px; border-radius: 10px;
  border: 2px solid rgba(255, 255, 255, 0.12); cursor: pointer; display: inline-flex;
  flex-direction: column; align-items: center; justify-content: flex-end;
  padding: .35rem; margin: 0; position: relative; overflow: hidden;
}
.color-swatch-label {
  display: block; width: 100%; font-size: .6rem; line-height: 1.2;
  text-align: center; color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.9);
  background: linear-gradient(transparent, rgba(0,0,0,.75)); padding: .35rem .2rem .15rem;
  border-radius: 0 0 8px 8px;
}
.color-swatch-label small { display: block; color: var(--petronas); font-size: .55rem; }
.color-swatch.selected {
  border-color: rgba(0, 210, 190, 0.55);
  box-shadow: 0 0 0 1px rgba(0, 210, 190, 0.2);
}
.attr-option--unavailable,
.attr-option--unavailable.attr-option-image-btn,
.attr-option--unavailable.option-btn,
.vinyl-choice-btn.attr-option--unavailable {
  opacity: .55;
  cursor: not-allowed;
  filter: grayscale(.4);
  position: relative;
}
.attr-option--unavailable.selected {
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: none;
}
/* Barre ? hors stock ? sur pastilles option / prix */
.option-btn.attr-priced-option.attr-option--unavailable::after,
.attr-option-image-btn.attr-priced-option.attr-option--unavailable::after,
.color-swatch.attr-option--unavailable::after,
.option-btn.attr-priced-option[data-unavailable="1"]::after,
.attr-option-image-btn.attr-priced-option[data-unavailable="1"]::after,
.color-swatch[data-unavailable="1"]::after {
  content: '';
  position: absolute;
  left: 8%;
  right: 8%;
  top: 50%;
  height: 2px;
  background: rgba(255, 120, 120, 0.9);
  transform: rotate(-28deg);
  transform-origin: center;
  pointer-events: none;
  z-index: 3;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35);
}
.option-btn.attr-priced-option.attr-option--unavailable,
.option-btn.attr-priced-option[data-unavailable="1"] {
  position: relative;
  text-decoration: line-through;
  text-decoration-color: rgba(255, 140, 140, 0.85);
}
.attr-option-image-btn.attr-priced-option[data-unavailable="1"],
.color-swatch[data-unavailable="1"] {
  position: relative;
  opacity: .55;
  cursor: not-allowed;
  filter: grayscale(.4);
}
.vinyl-choice-btn.attr-option--unavailable .attr-option-unavailable-badge {
  position: relative;
  top: auto;
  margin-top: .25rem;
}
.attr-option-unavailable-badge {
  display: block;
  font-size: .58rem;
  line-height: 1.1;
  color: #ff8a8a;
  text-align: center;
  margin-top: .1rem;
}
.color-swatch .attr-option-unavailable-badge,
.attr-option-image-btn .attr-option-unavailable-badge {
  position: absolute;
  top: .2rem;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  padding: .1rem .25rem;
  border-radius: 4px;
  background: rgba(0, 0, 0, .65);
  z-index: 2;
}
.attr-price-hint { color: var(--petronas); font-size: .8em; }

/* Options payantes ? hint au survol (configurateur) */
.product-config-modal .attr-has-hint,
.moto-config-modal .attr-has-hint {
  position: relative;
}
.product-config-modal .color-swatch.attr-has-hint,
.moto-config-modal .color-swatch.attr-has-hint {
  overflow: visible;
  z-index: 1;
}
.product-config-modal .color-swatch.attr-has-hint:hover,
.moto-config-modal .color-swatch.attr-has-hint:hover,
.product-config-modal .color-swatch.attr-has-hint:focus-visible,
.moto-config-modal .color-swatch.attr-has-hint:focus-visible {
  z-index: 5;
}
.attr-hint-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.1rem;
  height: 1.1rem;
  padding: 0 .2rem;
  margin-left: .15rem;
  border-radius: 4px;
  font-size: .58rem;
  font-weight: 700;
  line-height: 1;
  color: var(--petronas);
  background: rgba(0, 210, 190, 0.15);
  border: 1px solid rgba(0, 210, 190, 0.35);
  flex-shrink: 0;
}
.color-swatch .attr-hint-badge {
  position: absolute;
  top: 4px;
  right: 4px;
  margin: 0;
  min-width: 1rem;
  height: 1rem;
  font-size: .5rem;
}
.attr-hint-badge.attr-has-hint {
  position: relative;
  cursor: help;
  z-index: 3;
}
.color-swatch .attr-hint-badge.attr-has-hint {
  position: absolute;
}
.attr-hint-badge.attr-has-hint::after {
  content: attr(data-attr-hint);
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  padding: .35rem .6rem;
  background: #0f0f16;
  border: 1px solid rgba(0, 210, 190, 0.45);
  border-radius: 8px;
  font-size: .72rem;
  font-weight: 600;
  color: var(--petronas);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity .15s ease, visibility .15s ease, transform .15s ease;
  z-index: 30;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}
.attr-hint-badge.attr-has-hint::before {
  content: '';
  position: absolute;
  bottom: calc(100% + 1px);
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: rgba(0, 210, 190, 0.45);
  opacity: 0;
  visibility: hidden;
  transition: opacity .15s ease, visibility .15s ease;
  z-index: 31;
  pointer-events: none;
}
.attr-hint-badge.attr-has-hint:hover,
.attr-hint-badge.attr-has-hint:focus-visible {
  z-index: 10;
}
.attr-hint-badge.attr-has-hint:hover::after,
.attr-hint-badge.attr-has-hint:hover::before,
.attr-hint-badge.attr-has-hint:focus-visible::after,
.attr-hint-badge.attr-has-hint:focus-visible::before {
  opacity: 1;
  visibility: visible;
}
.color-swatch .attr-hint-badge.attr-has-hint:hover,
.color-swatch .attr-hint-badge.attr-has-hint:focus-visible {
  z-index: 12;
}
.product-inline-options-section .color-swatches,
#add-to-cart-form .color-swatches {
  overflow: visible;
}
.product-inline-options-section .color-swatch,
#add-to-cart-form .color-swatch {
  overflow: visible;
}
.product-inline-options-section .attr-checkbox-label,
#add-to-cart-form .attr-checkbox-label,
.product-inline-options-section .option-btn,
#add-to-cart-form .option-btn,
.product-inline-options-section .attr-option-image-card,
#add-to-cart-form .attr-option-image-card,
.product-inline-options-section .attr-option-image-btn,
#add-to-cart-form .attr-option-image-btn {
  position: relative;
  overflow: visible;
}
.product-inline-options-section .attr-cat-product-card,
#add-to-cart-form .attr-cat-product-card {
  overflow: visible;
}

/* Boutique ? hint prix option c?t? client */
.attr-hint-badge--client {
  min-width: 1.28rem;
  height: 1.28rem;
  font-size: .64rem;
  margin-left: .28rem;
  vertical-align: middle;
}
.attr-hint-badge--client.is-touch-open {
  z-index: 40;
}
.attr-hint-badge--client.is-touch-open::after,
.attr-hint-badge--client.is-touch-open::before {
  opacity: 1;
  visibility: visible;
}
#add-to-cart-form .attr-has-price-hint,
.product-inline-options-section .attr-has-price-hint,
.product-config-modal .attr-has-price-hint,
.moto-config-modal .attr-has-price-hint {
  overflow: visible;
}
#add-to-cart-form .attr-has-price-hint[data-price-hint],
.product-inline-options-section .attr-has-price-hint[data-price-hint],
.product-config-modal .attr-has-price-hint[data-price-hint],
.moto-config-modal .attr-has-price-hint[data-price-hint] {
  position: relative;
}
#add-to-cart-form .attr-has-price-hint[data-price-hint]:hover::after,
.product-inline-options-section .attr-has-price-hint[data-price-hint]:hover::after,
.product-config-modal .attr-has-price-hint[data-price-hint]:hover::after,
.moto-config-modal .attr-has-price-hint[data-price-hint]:hover::after,
#add-to-cart-form .attr-has-price-hint[data-price-hint]:focus-within::after,
.product-inline-options-section .attr-has-price-hint[data-price-hint]:focus-within::after,
.product-config-modal .attr-has-price-hint[data-price-hint]:focus-within::after,
.moto-config-modal .attr-has-price-hint[data-price-hint]:focus-within::after {
  content: attr(data-price-hint);
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  padding: .35rem .65rem;
  background: #0f0f16;
  border: 1px solid rgba(0, 210, 190, 0.45);
  border-radius: 8px;
  font-size: .74rem;
  font-weight: 600;
  color: var(--petronas);
  white-space: nowrap;
  pointer-events: none;
  z-index: 35;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}
#add-to-cart-form .attr-checkbox-label.attr-has-price-hint[data-price-hint]:hover::after,
.product-inline-options-section .attr-checkbox-label.attr-has-price-hint[data-price-hint]:hover::after {
  left: auto;
  right: 0;
  transform: none;
}
.product-config-modal .attr-has-hint::after,
.moto-config-modal .attr-has-hint::after {
  content: attr(data-attr-hint);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  padding: .4rem .65rem;
  background: #0f0f16;
  border: 1px solid rgba(0, 210, 190, 0.45);
  border-radius: 8px;
  font-size: .75rem;
  font-weight: 600;
  color: var(--petronas);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity .15s ease, visibility .15s ease, transform .15s ease;
  z-index: 20;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}
.product-config-modal .attr-has-hint::before,
.moto-config-modal .attr-has-hint::before {
  content: '';
  position: absolute;
  bottom: calc(100% + 2px);
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: rgba(0, 210, 190, 0.45);
  opacity: 0;
  visibility: hidden;
  transition: opacity .15s ease, visibility .15s ease;
  z-index: 21;
  pointer-events: none;
}
.product-config-modal .attr-has-hint:hover::after,
.product-config-modal .attr-has-hint:hover::before,
.product-config-modal .attr-has-hint:focus-visible::after,
.product-config-modal .attr-has-hint:focus-visible::before,
.moto-config-modal .attr-has-hint:hover::after,
.moto-config-modal .attr-has-hint:hover::before,
.moto-config-modal .attr-has-hint:focus-visible::after,
.moto-config-modal .attr-has-hint:focus-visible::before {
  opacity: 1;
  visibility: visible;
}
.product-config-modal .attr-checkbox-label.attr-has-hint::after,
.moto-config-modal .attr-checkbox-label.attr-has-hint::after {
  left: 0;
  transform: translateX(0);
  bottom: calc(100% + 6px);
}
.product-config-modal .attr-checkbox-label.attr-has-hint::before,
.moto-config-modal .attr-checkbox-label.attr-has-hint::before {
  left: 1.25rem;
  transform: translateX(0);
}
.option-btn {
  padding: .75rem; border: 1px solid rgba(139, 92, 246, 0.15);
  border-radius: 12px; cursor: pointer; text-align: center;
  background: transparent; color: #fff; font-family: inherit;
}
.option-btn.selected {
  border-color: var(--petronas);
  background: rgba(0, 210, 190, 0.08);
  color: var(--petronas);
}

/* Badges produit */
.product-badge {
  position: absolute; top: 12px; left: 12px; z-index: 2;
  padding: .25rem .6rem; border-radius: 6px;
  font-family: Orbitron, sans-serif; font-size: .65rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .05em;
}
.badge-new { background: var(--petronas); color: var(--black); }
.product-3d-photo-badge {
  position: absolute; top: 10px; right: 10px; z-index: 3;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2rem; height: 2rem; padding: 0 .35rem; border-radius: 8px;
  background: rgba(0, 210, 190, .18); border: 1px solid rgba(0, 210, 190, .45);
  color: var(--petronas); font-family: Orbitron, sans-serif;
  font-size: .58rem; font-weight: 700; letter-spacing: .04em; pointer-events: none;
}
.product-3d-photo-badge--thumb { top: 4px; right: 4px; min-width: 1.35rem; height: 1.35rem; font-size: .48rem; border-radius: 5px; }
.product-card-media { position: relative; width: 100%; isolation: isolate; }
.product-3d-photo-badge--catalog {
  top: 8px;
  right: 8px;
  z-index: 12;
  min-width: 2.35rem;
  height: 2.35rem;
  font-size: .62rem;
  background: rgba(3, 3, 4, 0.9);
  border: 2px solid var(--petronas, #00d2be);
  color: var(--petronas, #00d2be);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.55), 0 0 12px rgba(0, 210, 190, 0.22);
}
.product-card-media--has-3d .product-img,
.product-card-media--has-3d .product-img-flip { position: relative; z-index: 1; }
.products-list .product-card-media {
  flex: 0 0 160px;
  width: 160px;
  min-width: 160px;
  max-width: 160px;
  align-self: stretch;
}
.products-list .product-3d-photo-badge--catalog { top: 6px; right: 6px; min-width: 2rem; height: 2rem; font-size: .56rem; }
.product-3d-photo-badge--admin { top: 2px; right: 2px; min-width: 1.2rem; height: 1.2rem; font-size: .48rem; border-radius: 4px; }
.product-multi-color-badge {
  position: absolute;
  z-index: 12;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: rgba(3, 3, 4, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.45);
  pointer-events: none;
}
.product-multi-color-badge-icon {
  display: block;
  width: .82rem;
  height: .82rem;
}
.product-multi-color-badge--catalog {
  left: 8px;
  bottom: 8px;
  width: 1.65rem;
  height: 1.65rem;
}
.product-multi-color-badge--catalog .product-multi-color-badge-icon {
  width: 1rem;
  height: 1rem;
}
.product-multi-color-badge--admin {
  left: 2px;
  bottom: 2px;
  width: 1.15rem;
  height: 1.15rem;
}
.product-multi-color-badge--admin .product-multi-color-badge-icon {
  width: .72rem;
  height: .72rem;
}
.product-multi-color-badge--compat {
  position: static;
  vertical-align: middle;
}
.product-badge--loyalty {
  background: linear-gradient(135deg, #7B5CF0 0%, var(--petronas) 100%);
  color: var(--black);
  font-weight: 700;
}
.product-loyalty-points {
  margin: .45rem 0 0;
  font-size: .82rem;
  color: #ffffffb0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .5rem;
}
.product-loyalty-points-icon {
  color: var(--petronas);
}
.product-loyalty-points-meta {
  font-size: .75rem;
  color: #ffffff55;
}
.product-loyalty-points--page {
  margin-top: .75rem;
  padding: .55rem .75rem;
  background: #ffffff08;
  border-radius: 8px;
  border: 1px solid #ffffff12;
}
.account-loyalty-dashboard {
  margin-bottom: 1.25rem;
  padding: 1.25rem 1.35rem;
  border-color: rgba(0, 210, 190, 0.35);
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.08) 0%, rgba(123, 92, 240, 0.08) 100%);
}
.account-loyalty-dashboard-head {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}
.account-loyalty-dashboard-title {
  margin: 0 0 .35rem;
  font-size: 1.15rem;
}
.account-loyalty-dashboard-intro {
  margin: 0;
  font-size: .9rem;
  color: #ffffff88;
  max-width: 36rem;
  line-height: 1.45;
}
.account-loyalty-dashboard-balance {
  text-align: center;
  min-width: 120px;
  padding: .65rem 1rem;
  border-radius: 10px;
  background: #00000035;
  border: 1px solid #ffffff14;
}
.account-loyalty-dashboard-balance-label {
  display: block;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #ffffff55;
}
.account-loyalty-dashboard-balance-value {
  display: block;
  font-size: 2rem;
  line-height: 1.1;
  color: var(--petronas);
}
.account-loyalty-dashboard-balance-unit {
  font-size: .8rem;
  color: #ffffff66;
}
.account-loyalty-dashboard-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1rem;
  margin-bottom: 1rem;
}
.account-loyalty-dashboard-ready {
  font-size: .85rem;
  color: #ffffff70;
}
.account-loyalty-dashboard-recent-title {
  margin: 0 0 .5rem;
  font-size: .85rem;
  color: #ffffff66;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.account-loyalty-dashboard-recent-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .35rem;
}
.account-loyalty-dashboard-recent-list li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .75rem;
  align-items: center;
  font-size: .88rem;
  padding: .35rem 0;
  border-bottom: 1px solid #ffffff08;
}
.account-loyalty-dashboard-recent-date {
  color: #ffffff55;
  font-size: .8rem;
}
.account-loyalty-dashboard-recent-points.is-plus {
  color: var(--petronas);
  font-weight: 700;
}
.account-loyalty-dashboard-recent-points.is-minus {
  color: #ffb4b4;
  font-weight: 700;
}
.account-stat-value--loyalty {
  color: var(--petronas);
}
.badge-promo { background: var(--violet); color: #fff; }
.badge-group { background: var(--petronas); color: var(--black); max-width: calc(100% - 24px); white-space: normal; line-height: 1.25; }

.product-group-price-note {
  display: block;
  font-size: .85rem;
  color: var(--petronas);
  margin-top: .35rem;
  line-height: 1.45;
}
.product-group-price-note--muted {
  color: #ffffff66;
}

/* Op?ration semaine */
.home-products-grid { margin-top: 0; }
.home-mobile-view-bar {
  display: none;
  margin: 1.5rem 0 0;
  padding-top: .25rem;
}
.home-mobile-view-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
}
.home-mobile-view-label {
  font-family: Orbitron, sans-serif;
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #ffffff66;
}
.home-mobile-view-switcher {
  margin-left: auto;
}
@media (max-width: 768px) {
  .page-home .home-mobile-view-bar {
    display: block;
  }
  html[data-home-mobile-cols="1"] [data-home-products-grid].products-cols-4,
  html[data-home-mobile-cols="1"] [data-home-products-grid].home-universe-products-grid,
  html[data-home-mobile-cols="1"] .home-recently-viewed [data-home-products-grid] {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  html[data-home-mobile-cols="2"] [data-home-products-grid].products-cols-4,
  html[data-home-mobile-cols="2"] [data-home-products-grid].home-universe-products-grid,
  html[data-home-mobile-cols="2"] .home-recently-viewed [data-home-products-grid] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
.home-weekly-promo-section {
  padding-top: 0;
}
.home-weekly-promo-block {
  margin-bottom: 0;
  padding: 1.75rem 1.75rem 1.5rem;
}
.home-weekly-promo-intro {
  position: relative;
  z-index: 1;
}
.home-weekly-promo-title {
  font-size: 1.75rem;
  margin-top: 0.35rem;
}
.home-weekly-promo-lead {
  margin-top: 0.5rem;
  max-width: 600px;
}
.home-weekly-promo-note {
  margin-top: 0.75rem;
  font-size: 0.82rem;
  max-width: 640px;
}
.home-weekly-promo-grid {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(139, 92, 246, 0.22);
  position: relative;
  z-index: 1;
}
.home-weekly-promo-empty {
  margin: 1.5rem 0 0;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(139, 92, 246, 0.22);
  text-align: center;
  color: #ffffff66;
}

.inities-page-title {
  font-size: 2rem;
  text-transform: uppercase;
  margin-bottom: .5rem;
}
.inities-page-lead {
  color: #ffffff99;
  max-width: 720px;
  margin-bottom: 1rem;
}
.initie-application-photos-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin: 0 0 .85rem;
  padding: .75rem;
  border: 1px solid rgba(0, 210, 190, 0.35);
  border-radius: 10px;
  background: rgba(0, 210, 190, .06);
}
.initie-application-photo-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .35rem;
}
.initie-application-photo-thumb-link {
  display: block;
  width: 72px;
  height: 72px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #ffffff22;
}
.initie-application-photo-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.initie-application-photo-delete {
  font-size: .62rem;
  padding: .2rem .4rem;
}

/* Programme Initi?s ? accueil */
.home-initie-section {
  padding-bottom: 4rem;
}
.home-initie-banner {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(0, 210, 190, 0.25);
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.08), rgba(139, 92, 246, 0.1));
  padding: 2rem;
}
.home-initie-glow {
  position: absolute;
  top: -40%;
  right: -10%;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(0, 210, 190, 0.15), transparent 70%);
  pointer-events: none;
}
.home-initie-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 2rem;
  align-items: start;
}
.home-initie-lead {
  color: #ffffff99;
  font-size: 1rem;
  line-height: 1.65;
  margin: .75rem 0 1.25rem;
  max-width: 560px;
}
.home-initie-lead strong { color: var(--petronas); }
.home-initie-perks {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
  display: grid;
  gap: .65rem;
}
.home-initie-perks li {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  font-size: .9rem;
  color: #ffffffb3;
}
.home-initie-perk-icon { flex-shrink: 0; line-height: 1.2; }
.home-initie-perks strong { color: #fff; }
.home-initie-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.home-initie-card {
  border-color: rgba(139, 92, 246, 0.25);
  background: rgba(8, 8, 14, 0.65);
}
.home-initie-card-kicker {
  font-size: .65rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--violet-bright);
  margin-bottom: .75rem;
}
.home-initie-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .75rem;
}
.home-initie-steps li {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  font-size: .88rem;
  color: #ffffff99;
  line-height: 1.5;
}
.home-initie-steps li span {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Orbitron, sans-serif;
  font-size: .7rem;
  font-weight: 700;
  color: var(--petronas);
  border: 1px solid rgba(0, 210, 190, 0.4);
  background: rgba(0, 210, 190, 0.08);
}
.home-initie-steps li > div {
  flex: 1;
  min-width: 0;
}
.home-initie-bonus-tiers {
  margin: .5rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .35rem;
}
.home-initie-bonus-tiers li {
  font-size: .78rem;
  color: #ffffffaa;
  padding: .35rem .5rem;
  border-radius: 8px;
  background: rgba(0, 210, 190, 0.06);
  border: 1px solid rgba(0, 210, 190, 0.15);
  line-height: 1.45;
}
.home-initie-bonus-tiers-fallback {
  margin: .5rem 0 0;
  font-size: .78rem;
  color: #ffffff77;
  line-height: 1.5;
}
.home-initie-card-note {
  margin: 1rem 0 0;
  font-size: .78rem;
  color: #ffffff55;
  line-height: 1.5;
}
.home-initie-featured {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(0, 210, 190, 0.2);
}
.home-initie-featured-kicker {
  font-size: .62rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--petronas);
  margin: 0 0 .75rem;
}
.home-initie-pseudo-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .65rem;
}
.home-initie-pseudo-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .4rem .75rem;
  border-radius: 999px;
  border: 1px solid rgba(0, 210, 190, 0.28);
  background: rgba(0, 210, 190, 0.06);
  color: #fff;
  font-size: .85rem;
  text-decoration: none;
  transition: border-color .2s, background .2s, transform .2s;
}
.home-initie-pseudo-link:hover {
  border-color: rgba(0, 210, 190, 0.55);
  background: rgba(0, 210, 190, 0.12);
  transform: translateY(-1px);
}
.home-initie-pseudo-name { font-weight: 600; }

.initie-verified-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #3897f0;
  line-height: 0;
}
.initie-verified-badge svg {
  display: block;
  width: 1.15em;
  height: 1.15em;
}
.initie-verified-badge--sm svg {
  width: 1em;
  height: 1em;
}

.initie-profile-page {
  padding-bottom: 0;
}
.initie-profile-body,
.initie-magazine-body {
  padding-top: 1.25rem;
}

/* Initi? profil ? disposition showcase 3 colonnes (th?me site) */
.initie-showcase-breadcrumb {
  margin-bottom: 1rem;
}
.initie-showcase-head {
  text-align: center;
  margin-bottom: 1.35rem;
}
.initie-showcase-title {
  font-size: clamp(1.5rem, 3.8vw, 2.35rem);
  font-weight: 900;
  font-style: italic;
  text-transform: uppercase;
  margin: 0 0 .55rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  flex-wrap: wrap;
  line-height: 1.1;
  color: #fff;
}
.initie-showcase-subtitle {
  font-size: clamp(.88rem, 2vw, 1.05rem);
  font-weight: 700;
  font-style: italic;
  margin: 0;
  color: #ffffffd9;
  line-height: 1.35;
}
/* Profil Initi? ? bloc magazine compact sans vide */
.initie-showcase-stack {
  margin-bottom: 1.5rem;
  border: 1px solid var(--border-strong);
  background: var(--bg-card);
  overflow: hidden;
}
.initie-showcase-hero-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  align-items: stretch;
  min-height: clamp(360px, 52vh, 560px);
  border-bottom: 1px solid var(--border-strong);
}
.initie-showcase-copy {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 1rem 1.15rem;
  border-right: 1px solid var(--border-strong);
  background: rgba(8, 8, 14, 0.55);
}
.initie-showcase-kicker {
  font-size: .62rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--petronas);
  margin: 0;
}
.initie-showcase-practice {
  margin: .35rem 0 0;
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #ffffff70;
}
.initie-showcase-title-main {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .4rem;
  margin: .45rem 0 0;
  font-size: clamp(1.5rem, 3.2vw, 2.35rem);
  font-weight: 900;
  font-style: italic;
  text-transform: uppercase;
  line-height: 1.05;
  color: #fff;
}
.initie-showcase-tagline {
  margin: .4rem 0 0;
  font-size: .82rem;
  font-weight: 700;
  font-style: italic;
  color: #ffffff90;
  line-height: 1.35;
}
.initie-showcase-bio {
  flex: 1;
  min-height: 0;
  margin-top: .85rem;
  overflow: auto;
  font-size: .86rem;
  line-height: 1.62;
  color: #ffffffc0;
}
.initie-showcase-hero {
  display: flex;
  flex-direction: column;
  min-height: 0;
  margin: 0;
  background: #080810;
}
.initie-showcase-hero-btn {
  flex: 1;
  min-height: 0;
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  background: #080810;
  cursor: zoom-in;
  position: relative;
}
.initie-showcase-hero-btn img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  display: block;
}
.initie-showcase-hero-legend {
  margin: 0;
  padding: .55rem .85rem;
  font-size: .78rem;
  font-style: italic;
  line-height: 1.4;
  color: #ffffff85;
  border-top: 1px solid var(--border-strong);
  background: rgba(3, 3, 4, 0.65);
}
.initie-showcase-framed {
  border-bottom: 1px solid var(--border-strong);
  background: rgba(8, 8, 14, 0.35);
}
.initie-showcase-framed-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.85fr);
  align-items: stretch;
  min-height: clamp(160px, 22vw, 240px);
}
.initie-showcase-framed-photo {
  border-right: 1px solid var(--border-strong);
  background: #080810;
  min-height: 0;
}
.initie-showcase-framed-photo-btn {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(160px, 22vw, 240px);
  border: 0;
  padding: 0;
  background: #080810;
  cursor: zoom-in;
  position: relative;
}
.initie-showcase-framed-photo-btn img {
  width: 100%;
  height: 100%;
  min-height: clamp(160px, 22vw, 240px);
  object-fit: cover;
  display: block;
}
.initie-showcase-framed-body {
  padding: .75rem .95rem;
  min-width: 0;
}
.initie-showcase-framed-title {
  margin: 0 0 .45rem;
  font-size: .88rem;
  font-weight: 900;
  font-style: italic;
  text-transform: uppercase;
  color: #fff;
  letter-spacing: .02em;
}
.initie-showcase-framed-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: .76rem;
  line-height: 1.5;
  color: #ffffffb8;
}
.initie-showcase-framed-list li {
  margin-bottom: .15rem;
}
.initie-showcase-framed-label {
  font-weight: 800;
  color: #ffffffe6;
}
.initie-showcase-thumbs {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  border-bottom: 1px solid var(--border-strong);
  scrollbar-width: thin;
}
.initie-showcase-thumb {
  flex: 0 0 16.666%;
  min-width: 88px;
  max-width: 140px;
  aspect-ratio: 1;
  border: 0;
  border-right: 1px solid var(--border-strong);
  padding: 0;
  background: #080810;
  cursor: zoom-in;
  overflow: hidden;
}
.initie-showcase-thumb:last-child {
  border-right: 0;
}
.initie-showcase-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .25s ease, opacity .25s ease;
}
.initie-showcase-thumb:hover img,
.initie-showcase-thumb:focus-visible img {
  transform: scale(1.05);
  opacity: .92;
}
.initie-showcase-meta-row {
  margin-bottom: 1rem;
}
.initie-featured-products-block {
  margin-top: .25rem;
}
.initie-featured-products-layout {
  display: grid;
  grid-template-columns: minmax(200px, 34%) minmax(0, 1fr);
  gap: .75rem;
  align-items: start;
}
.initie-featured-cat-nav {
  border: 1px solid var(--border-strong);
  border-radius: 10px;
  background: rgba(8, 8, 14, 0.55);
  padding: .5rem;
  max-height: 320px;
  overflow: auto;
}
.initie-featured-cat-tree,
.initie-featured-cat-children {
  margin: 0;
  padding: 0;
  list-style: none;
}
.initie-featured-cat-children {
  margin-left: .65rem;
  padding-left: .45rem;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}
.initie-featured-cat-item {
  display: grid;
  grid-template-columns: 1.1rem minmax(0, 1fr);
  gap: .2rem .35rem;
  align-items: start;
  margin-bottom: .15rem;
}
.initie-featured-cat-item:has(.initie-featured-cat-children) {
  grid-template-rows: auto auto;
}
.initie-featured-cat-item .initie-featured-cat-children {
  grid-column: 1 / -1;
}
.initie-featured-cat-toggle {
  width: 1.1rem;
  height: 1.1rem;
  border: 0;
  background: none;
  color: #ffffff70;
  cursor: pointer;
  font-size: .72rem;
  line-height: 1;
  padding: 0;
}
.initie-featured-cat-toggle--leaf {
  display: inline-block;
  text-align: center;
  color: #ffffff35;
  cursor: default;
}
.initie-featured-cat-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .45rem;
  width: 100%;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #ffffffc8;
  cursor: pointer;
  font-size: .78rem;
  line-height: 1.35;
  padding: .35rem .45rem;
  text-align: left;
}
.initie-featured-cat-btn:hover,
.initie-featured-cat-btn:focus-visible {
  background: rgba(0, 210, 190, 0.08);
  border-color: rgba(0, 210, 190, 0.2);
  color: #fff;
}
.initie-featured-cat-btn.is-active {
  background: rgba(0, 210, 190, 0.14);
  border-color: rgba(0, 210, 190, 0.45);
  color: #fff;
}
.initie-featured-cat-btn--root {
  margin-bottom: .45rem;
  font-weight: 600;
}
.initie-featured-cat-btn-count {
  font-size: .68rem;
  color: #ffffff55;
  flex-shrink: 0;
}
.initie-featured-cat-btn.is-active .initie-featured-cat-btn-count {
  color: var(--petronas);
}
.initie-featured-products-main {
  min-width: 0;
}
.initie-featured-products-hint {
  margin: .35rem 0 0;
}
.initie-featured-products-selected {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: .5rem 0 .65rem;
}
.initie-featured-product-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .28rem .5rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  font-size: .78rem;
}
.initie-featured-product-chip-remove {
  border: 0;
  background: none;
  color: #ffffff80;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  padding: 0 .1rem;
}
.initie-featured-product-chip-remove:hover {
  color: var(--magenta);
}
.initie-featured-products-results {
  margin: .35rem 0 0;
  padding: 0;
  list-style: none;
  max-height: 280px;
  overflow: auto;
  border: 1px solid var(--border-strong);
  border-radius: 10px;
  background: var(--bg-card);
}
.initie-featured-products-results li {
  padding: .55rem .75rem;
  font-size: .82rem;
  cursor: pointer;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.initie-featured-products-results li:hover {
  background: rgba(0, 210, 190, 0.08);
}
.initie-featured-product-cat {
  color: #ffffff55;
  font-size: .74rem;
}

/* Initi? public ? magazine brutal tuning (Scooter Crew / Fifty Rider) */
.initie-magazine-brutal {
  --mag-asphalt: #0a0a0c;
  --mag-ink: #f2f2f2;
  --mag-muted: #9a9aa8;
  background: var(--mag-asphalt);
}
.initie-magazine-brutal .font-mag-title {
  font-family: 'Bebas Neue', 'Archivo Black', sans-serif;
  letter-spacing: 0.04em;
}
.initie-magazine-brutal .magazine-spread {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
  gap: 0;
  border: 3px solid var(--moto-accent, var(--petronas));
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(255, 255, 255, 0.04), transparent 55%),
    linear-gradient(165deg, #121218 0%, #060608 48%, #0c0c10 100%);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
  overflow: hidden;
}
.initie-profile-stamps {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 25;
  pointer-events: none;
  overflow: visible;
}
.initie-profile-stamp {
  position: absolute;
  pointer-events: none;
  max-width: min(94vw, 640px);
}
.initie-profile-stamp--evo {
  top: 8%;
  right: 2%;
  transform: rotate(-14deg);
  animation:
    initieEvoStampAppear 0.7s cubic-bezier(0.22, 1.25, 0.36, 1) both,
    initieEvoStampPulse 2.6s ease-in-out 0.75s infinite;
}
.initie-profile-stamp--sold {
  top: 34%;
  right: 6%;
  max-width: min(88vw, 520px);
  transform: rotate(10deg);
  animation:
    initieSoldStampAppear 0.75s cubic-bezier(0.22, 1.2, 0.36, 1) 0.15s both,
    initieSoldStampPulse 3s ease-in-out 0.9s infinite;
}
.initie-evo-stamp {
  position: absolute;
  top: 8%;
  right: 2%;
  z-index: 25;
  pointer-events: none;
  max-width: min(94vw, 640px);
  transform: rotate(-14deg);
  animation:
    initieEvoStampAppear 0.7s cubic-bezier(0.22, 1.25, 0.36, 1) both,
    initieEvoStampPulse 2.6s ease-in-out 0.75s infinite;
}
.initie-evo-stamp-inner {
  display: block;
  padding: .85rem 1.75rem .95rem;
  border: 8px solid #e10600;
  color: #e10600;
  font-size: clamp(2.75rem, 12vw, 6.5rem);
  line-height: 0.95;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  text-align: center;
  background: rgba(8, 8, 12, 0.78);
  box-shadow:
    0 0 0 5px rgba(225, 6, 0, 0.2),
    0 18px 40px rgba(0, 0, 0, 0.5);
  text-shadow: 0 0 24px rgba(225, 6, 0, 0.45);
}
@keyframes initieEvoStampAppear {
  0% {
    opacity: 0;
    transform: rotate(-24deg) scale(1.55);
    filter: blur(2px);
  }
  70% {
    opacity: 1;
    transform: rotate(-11deg) scale(0.96);
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: rotate(-14deg) scale(1);
  }
}
@keyframes initieEvoStampPulse {
  0%, 100% {
    transform: rotate(-14deg) scale(1);
    filter: brightness(1);
  }
  50% {
    transform: rotate(-11deg) scale(1.05);
    filter: brightness(1.18);
  }
}
.initie-sold-stamp-inner {
  display: block;
  padding: .75rem 1.5rem .85rem;
  border: 7px solid var(--violet-bright);
  color: var(--warn);
  font-size: clamp(2rem, 9vw, 5rem);
  line-height: 0.95;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  background: rgba(8, 8, 12, 0.82);
  box-shadow:
    0 0 0 4px rgba(139, 92, 246, 0.22),
    0 16px 36px rgba(0, 0, 0, 0.48);
  text-shadow: 0 0 20px rgba(139, 92, 246, 0.4);
}
@keyframes initieSoldStampAppear {
  0% {
    opacity: 0;
    transform: rotate(22deg) scale(1.45);
    filter: blur(2px);
  }
  70% {
    opacity: 1;
    transform: rotate(7deg) scale(0.96);
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: rotate(10deg) scale(1);
  }
}
@keyframes initieSoldStampPulse {
  0%, 100% {
    transform: rotate(10deg) scale(1);
    filter: brightness(1);
  }
  50% {
    transform: rotate(7deg) scale(1.04);
    filter: brightness(1.12);
  }
}
.initie-showcase-head--stamps,
.initie-showcase-head--evo {
  position: relative;
  padding-top: 4rem;
  margin-bottom: 1.25rem;
}
.initie-showcase-head--stamps .initie-profile-stamps {
  position: absolute;
  top: -0.25rem;
  right: 0;
  left: 0;
  height: auto;
}
.initie-showcase-head--stamps .initie-profile-stamp--evo,
.initie-showcase-head--evo .initie-evo-stamp {
  top: 0;
  right: 0;
  max-width: min(100%, 520px);
}
.initie-showcase-head--stamps .initie-profile-stamp--sold {
  top: 3.5rem;
  right: 4%;
  max-width: min(92%, 480px);
}
.initie-magazine-brutal .magazine-title-band .initie-profile-stamps,
.initie-magazine-brutal .magazine-title-band .client-project-profile-stamps {
  position: absolute;
  inset: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  overflow: visible;
  min-height: auto;
}
.initie-magazine-brutal .magazine-title-band .initie-profile-stamp,
.initie-magazine-brutal .magazine-title-band .client-project-public-stamp,
.initie-magazine-brutal .magazine-title-band .initie-evo-stamp,
.initie-magazine-brutal .magazine-title-band .initie-sold-stamp,
.initie-magazine-brutal .magazine-title-band .initie-showcase-stamp,
.initie-magazine-brutal .magazine-title-band .initie-impound-stamp {
  position: relative;
  top: auto;
  right: auto;
  left: auto;
  width: min(112%, 52rem);
  max-width: none;
  margin: 0;
}
.initie-magazine-brutal .magazine-title-band .initie-evo-stamp-inner,
.initie-magazine-brutal .magazine-title-band .initie-sold-stamp-inner,
.initie-magazine-brutal .magazine-title-band .initie-showcase-stamp-inner,
.initie-magazine-brutal .magazine-title-band .initie-impound-stamp-inner {
  font-size: clamp(1.85rem, 7.5vw, 4.75rem);
  padding: .6rem 1.35rem .7rem;
  border-width: 6px;
}
.initie-magazine-brutal .magazine-title-band:has(.initie-profile-stamps, .client-project-profile-stamps) {
  min-height: clamp(6.25rem, 17vw, 8.75rem);
  padding-top: clamp(1.35rem, 3vw, 2rem);
  padding-bottom: clamp(1.35rem, 3vw, 2rem);
}
.initie-magazine-brutal .magazine-title-band:has(.initie-profile-stamps, .client-project-profile-stamps) > :not(.initie-profile-stamps):not(.client-project-profile-stamps):not(.magazine-title-band-glow) {
  position: relative;
  z-index: 2;
}
@media (max-width: 720px) {
  .initie-evo-stamp {
    top: 6%;
    right: 0;
    left: 0;
    margin: 0 auto;
    max-width: 96vw;
    transform: rotate(-12deg);
  }
  .initie-evo-stamp-inner {
    font-size: clamp(2.2rem, 14vw, 4.5rem);
    padding: .7rem 1.25rem .8rem;
    border-width: 6px;
  }
  .initie-showcase-head--evo .initie-evo-stamp,
  .initie-showcase-head--stamps .initie-profile-stamps {
    position: relative;
    margin-bottom: 1rem;
  }
  .initie-showcase-head--stamps .initie-profile-stamp--evo,
  .initie-showcase-head--evo .initie-evo-stamp {
    transform: rotate(-12deg);
  }
  .initie-showcase-head--stamps .initie-profile-stamp--sold {
    top: auto;
    right: auto;
    margin-top: .5rem;
    transform: rotate(8deg);
  }
  .initie-sold-stamp-inner {
    font-size: clamp(1.8rem, 12vw, 3.5rem);
    padding: .65rem 1.1rem .75rem;
    border-width: 5px;
  }
}
.initie-magazine-brutal .magazine-title-band {
  grid-column: 1 / -1;
  position: relative;
  padding: clamp(1rem, 2.5vw, 1.65rem) clamp(1rem, 2.5vw, 1.75rem) clamp(.85rem, 1.8vw, 1.25rem);
  border-bottom: 2px solid rgba(255, 255, 255, 0.12);
  overflow: visible;
}
.initie-magazine-brutal .magazine-title-band-glow {
  position: absolute;
  inset: -20% -10%;
  background:
    radial-gradient(55% 80% at 15% 50%, color-mix(in srgb, var(--moto-accent, var(--petronas)) 28%, transparent), transparent 70%),
    radial-gradient(45% 70% at 88% 40%, color-mix(in srgb, var(--moto-accent, var(--petronas)) 18%, transparent), transparent 65%);
  opacity: 0;
  pointer-events: none;
  animation: mag-title-glow-pulse 4.5s ease-in-out 1.2s infinite;
}
.initie-magazine-brutal .magazine-title-band-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: .35rem clamp(.65rem, 2vw, 1.35rem);
  margin-top: .35rem;
}
.initie-magazine-brutal .magazine-title-anim {
  opacity: 0;
  animation: mag-title-reveal 0.95s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.initie-magazine-brutal .magazine-title-anim--1 { animation-delay: 0.05s; }
.initie-magazine-brutal .magazine-title-anim--2 {
  animation: mag-title-reveal-skew 0.95s cubic-bezier(0.22, 1, 0.36, 1) 0.18s forwards;
}
.initie-magazine-brutal .magazine-title-anim--3 { animation-delay: 0.28s; }
.initie-magazine-brutal .magazine-title-anim--4 {
  animation:
    mag-title-reveal 0.95s cubic-bezier(0.22, 1, 0.36, 1) 0.42s forwards,
    mag-title-modele-shine 5s ease-in-out 1.4s infinite;
}
.initie-magazine-brutal .magazine-title-anim--5 { animation-delay: 0.55s; }
@keyframes mag-title-reveal {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.97);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}
@keyframes mag-title-reveal-skew {
  from {
    opacity: 0;
    transform: skewX(-12deg) translateY(18px) scale(0.97);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    transform: skewX(-12deg) translateY(0) scale(1);
    filter: blur(0);
  }
}
@keyframes mag-title-glow-pulse {
  0%, 100% { opacity: 0.35; transform: scale(1); }
  50% { opacity: 0.85; transform: scale(1.04); }
}
@keyframes mag-title-modele-shine {
  0% { background-position: 120% center; }
  100% { background-position: -20% center; }
}
.initie-magazine-brutal .magazine-page {
  min-width: 0;
  padding: 1.1rem 1.15rem 1.25rem;
}
.initie-magazine-brutal .magazine-page--left {
  border-right: 2px solid rgba(255, 255, 255, 0.12);
  display: grid;
  gap: 1rem;
  align-content: start;
}
.initie-magazine-brutal .magazine-page--right {
  display: grid;
  grid-template-rows: minmax(280px, 1fr) auto;
  gap: .75rem;
  padding: .85rem;
  position: relative;
}
.initie-magazine-brutal .magazine-brand {
  margin: 0;
  font-size: clamp(.62rem, 1.2vw, .78rem);
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--moto-accent, var(--petronas));
}
.initie-magazine-brutal .magazine-race-num {
  margin: 0;
  display: inline-block;
  padding: .2rem clamp(.65rem, 1.5vw, 1rem) .12rem;
  font-size: clamp(2.8rem, 7vw, 5.2rem);
  line-height: 1;
  color: #fff;
  background: var(--moto-accent, var(--petronas));
  transform: skewX(-12deg);
  box-shadow: 8px 8px 0 rgba(0, 0, 0, 0.45);
}
.initie-magazine-brutal .magazine-headline {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: .12rem;
  line-height: 1.02;
  text-transform: uppercase;
  width: 100%;
  min-width: 0;
}
.initie-magazine-brutal .magazine-headline-marque,
.initie-magazine-brutal .magazine-headline-modele {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow: visible;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
  line-height: 1.02;
}
.initie-magazine-brutal .magazine-headline-marque {
  font-size: clamp(2.4rem, 9vw, 9.5rem);
  color: #fff;
  letter-spacing: 0.02em;
  transform-origin: left center;
}
.initie-magazine-brutal .magazine-headline-modele {
  font-size: clamp(2rem, 7.5vw, 7.5rem);
  color: var(--moto-accent, var(--petronas));
  text-align: right;
  letter-spacing: 0.04em;
  transform-origin: right center;
  background: linear-gradient(
    105deg,
    var(--moto-accent, var(--petronas)) 0%,
    color-mix(in srgb, var(--moto-accent, var(--petronas)) 70%, #fff) 42%,
    var(--moto-accent, var(--petronas)) 58%,
    color-mix(in srgb, var(--moto-accent, var(--petronas)) 55%, #fff) 100%
  );
  background-size: 220% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-block: 0.02em;
}
.initie-magazine-brutal .magazine-pilote {
  margin: .55rem 0 0;
  font-size: clamp(.92rem, 1.8vw, 1.15rem);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mag-muted);
  display: flex;
  align-items: center;
  gap: .4rem;
}
.initie-magazine-brutal .magazine-section-label {
  margin: 0 0 .5rem;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  text-transform: uppercase;
  color: #fff;
  letter-spacing: 0.06em;
  border-bottom: 0;
  padding-bottom: 0;
}
.initie-magazine-brutal .magazine-interview-columns {
  column-count: 2;
  column-gap: 1.1rem;
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  font-size: .84rem;
  line-height: 1.62;
  color: var(--mag-ink);
}
.initie-magazine-brutal .magazine-cycles-inner,
.initie-magazine-brutal .magazine-la-prepa-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: .65rem;
  align-items: stretch;
  border: 2px solid rgba(255, 255, 255, 0.85);
  background: rgba(0, 0, 0, 0.35);
  padding: .45rem;
}
.initie-magazine-brutal .magazine-cycles-photo,
.initie-magazine-brutal .magazine-la-prepa-photo {
  margin: 0;
  min-height: 120px;
}
.initie-magazine-brutal .magazine-photo-btn {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 120px;
  border: 0;
  padding: 0;
  cursor: zoom-in;
  background: #080810;
}
.initie-magazine-brutal .magazine-photo-btn img {
  width: 100%;
  height: 100%;
  min-height: 120px;
  object-fit: cover;
  display: block;
}
.initie-magazine-brutal .magazine-spec-list {
  margin: 0;
  padding: .35rem .25rem;
  list-style: none;
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  font-size: .76rem;
  line-height: 1.5;
  color: #ffffffd0;
}
.initie-magazine-brutal .magazine-spec-list li {
  margin-bottom: .2rem;
}
.initie-magazine-brutal .magazine-la-prepa-title,
.initie-magazine-brutal .initie-mag-kicker {
  margin: 0 0 .5rem;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  text-transform: uppercase;
  color: #fff;
  letter-spacing: 0.06em;
  line-height: 1.05;
}
.initie-magazine-brutal .magazine-la-prepa-list {
  margin: 0;
  padding: .25rem .15rem;
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  font-size: .76rem;
  line-height: 1.45;
}
.initie-magazine-brutal .magazine-la-prepa-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .35rem .5rem;
  margin-bottom: .22rem;
}
.initie-magazine-brutal .magazine-la-prepa-row dt {
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
}
.initie-magazine-brutal .magazine-la-prepa-row dd {
  margin: 0;
  color: #ffffffc8;
}
.initie-magazine-brutal .magazine-la-prepa-row--solo {
  grid-column: 1 / -1;
}
.initie-magazine-brutal .magazine-hero {
  margin: 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
  border: 3px solid #fff;
  background: #080810;
  box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.5);
}
.initie-magazine-brutal .magazine-hero-btn {
  flex: 1;
  min-height: 0;
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  cursor: zoom-in;
  background: #080810;
}
.initie-magazine-brutal .magazine-hero-btn img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  display: block;
}
.initie-magazine-brutal .magazine-hero-legend {
  margin: 0;
  padding: .5rem .7rem;
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  font-size: .78rem;
  font-style: italic;
  color: #ffffffa6;
  border-top: 2px solid rgba(255, 255, 255, 0.2);
  background: rgba(0, 0, 0, 0.55);
}
.initie-magazine-brutal .magazine-vignettes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .55rem;
  align-items: end;
  padding: .25rem .15rem .35rem;
}
.initie-magazine-brutal .magazine-vignette {
  border: 0;
  padding: 0;
  background: none;
  cursor: zoom-in;
  text-align: left;
  position: relative;
  z-index: var(--v-z, 1);
  transform: rotate(var(--v-rotate, -6deg)) scale(1);
  transition: transform .35s cubic-bezier(.2, .9, .2, 1), z-index .35s ease;
}
.initie-magazine-brutal .magazine-vignette-frame {
  display: block;
  border: 3px solid #fff;
  background: #080810;
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.45);
  overflow: hidden;
}
.initie-magazine-brutal .magazine-vignette img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
}
.initie-magazine-brutal .magazine-vignette-caption {
  display: block;
  margin-top: .28rem;
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  font-size: .62rem;
  line-height: 1.3;
  color: #ffffff80;
  max-height: 2.6em;
  overflow: hidden;
}
.initie-magazine-brutal .magazine-vignette:hover,
.initie-magazine-brutal .magazine-vignette:focus-visible,
.initie-magazine-brutal .magazine-vignette.is-active {
  transform: rotate(0deg) scale(1.08);
  z-index: 30;
}
.initie-magazine-brutal .initie-mag-gallery,
.initie-magazine-brutal .initie-mag-products {
  margin-top: 1.5rem;
  border: 2px solid rgba(255, 255, 255, 0.12);
  padding: 1rem;
  background: rgba(8, 8, 14, 0.85);
}
.initie-magazine-brutal .initie-mag-title,
.initie-magazine-brutal .initie-mag-kicker {
  font-family: 'Bebas Neue', 'Archivo Black', sans-serif;
}
.initie-magazine-brutal .initie-mag-gallery-grid {
  gap: .5rem;
}
.initie-magazine-brutal .initie-mag-gallery-item {
  border: 2px solid rgba(255, 255, 255, 0.35);
}
@media (prefers-reduced-motion: reduce) {
  .initie-evo-stamp,
  .initie-profile-stamp--evo {
    animation: none;
    opacity: 1;
    transform: rotate(-14deg);
    filter: none;
  }
  .initie-profile-stamp--sold {
    animation: none;
    opacity: 1;
    transform: rotate(10deg);
    filter: none;
  }
  .initie-magazine-brutal .magazine-title-band .initie-profile-stamp--evo,
  .initie-magazine-brutal .magazine-title-band .client-project-public-stamp.initie-profile-stamp--evo,
  .initie-magazine-brutal .magazine-title-band .initie-evo-stamp {
    animation: none;
    opacity: 1;
    transform: rotate(-14deg);
    filter: none;
  }
  .initie-magazine-brutal .magazine-title-band .initie-profile-stamp--sold,
  .initie-magazine-brutal .magazine-title-band .client-project-public-stamp.initie-profile-stamp--sold {
    animation: none;
    opacity: 1;
    transform: rotate(10deg);
    filter: none;
  }
  .initie-magazine-brutal .magazine-title-band .initie-profile-stamp--showcase,
  .initie-magazine-brutal .magazine-title-band .client-project-public-stamp.initie-profile-stamp--showcase,
  .initie-magazine-brutal .magazine-title-band .initie-showcase-stamp {
    animation: none;
    opacity: 1;
    transform: rotate(-8deg);
    filter: none;
  }
  .initie-magazine-brutal .magazine-title-band .initie-profile-stamp--impounded,
  .initie-magazine-brutal .magazine-title-band .client-project-public-stamp.initie-profile-stamp--impounded,
  .initie-magazine-brutal .magazine-title-band .initie-impound-stamp {
    animation: none;
    opacity: 1;
    transform: rotate(-11deg);
    filter: none;
  }
  .initie-magazine-brutal .magazine-title-anim,
  .initie-magazine-brutal .magazine-title-band-glow {
    animation: none;
    opacity: 1;
    filter: none;
    transform: none;
  }
  .initie-magazine-brutal .magazine-race-num.magazine-title-anim--2 {
    transform: skewX(-12deg);
  }
  .initie-magazine-brutal .magazine-headline-modele {
    -webkit-text-fill-color: var(--moto-accent, var(--petronas));
  }
}
@media (max-width: 900px) {
  .initie-magazine-brutal .magazine-spread {
    grid-template-columns: 1fr;
  }
  .initie-magazine-brutal .magazine-title-band-main {
    grid-template-columns: 1fr;
  }
  .initie-magazine-brutal .magazine-title-band .initie-evo-stamp-inner,
  .initie-magazine-brutal .magazine-title-band .initie-sold-stamp-inner,
  .initie-magazine-brutal .magazine-title-band .initie-showcase-stamp-inner,
  .initie-magazine-brutal .magazine-title-band .initie-impound-stamp-inner {
    font-size: clamp(1.45rem, 10vw, 3.2rem);
    padding: .5rem 1rem .55rem;
    border-width: 5px;
  }
  .initie-magazine-brutal .magazine-title-band .initie-profile-stamp,
  .initie-magazine-brutal .magazine-title-band .initie-evo-stamp,
  .initie-magazine-brutal .magazine-title-band .initie-impound-stamp {
    width: min(118%, 100vw);
  }
  .initie-magazine-brutal .magazine-race-num {
    margin-bottom: .25rem;
  }
  .initie-magazine-brutal .magazine-headline-marque {
    font-size: clamp(2.2rem, 12vw, 4.5rem);
  }
  .initie-magazine-brutal .magazine-headline-modele {
    font-size: clamp(1.9rem, 10vw, 3.6rem);
    text-align: left;
    transform-origin: left center;
  }
  .initie-magazine-brutal .magazine-page--left {
    border-right: 0;
    border-bottom: 2px solid rgba(255, 255, 255, 0.12);
  }
  .initie-magazine-brutal .magazine-interview-columns {
    column-count: 1;
  }
  .initie-magazine-brutal .magazine-cycles-inner,
  .initie-magazine-brutal .magazine-la-prepa-inner {
    grid-template-columns: 1fr;
  }
  .initie-magazine-brutal .magazine-vignettes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Double page magazine ? legacy spread */
.initie-mag-spread-wrap {
  margin-bottom: 1.5rem;
}
.initie-mag-spread {
  display: grid;
  grid-template-columns: minmax(240px, 0.92fr) minmax(0, 1.38fr);
  gap: 1rem 1.35rem;
  align-items: start;
}
.initie-mag-spread:has(.initie-showcase-spec--wide) {
  grid-template-columns: minmax(280px, 1fr) minmax(0, 1.25fr);
}
.initie-mag-spread-copy {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  min-width: 0;
}
.initie-mag-masthead {
  margin: 0;
}
.initie-mag-masthead-practice {
  margin: .35rem 0 0;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #ffffff80;
  font-weight: 600;
}
.initie-mag-masthead-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .15rem;
  margin: .5rem 0 0;
  font-size: clamp(2rem, 4.8vw, 3.6rem);
  font-weight: 900;
  font-style: italic;
  text-transform: uppercase;
  line-height: 0.92;
  color: #fff;
}
.initie-mag-masthead-title-line {
  display: block;
}
.initie-mag-masthead-title .initie-verified-badge {
  margin-top: .35rem;
}
.initie-mag-masthead-tagline {
  margin: .45rem 0 0;
  font-size: .82rem;
  font-weight: 700;
  font-style: italic;
  color: #ffffff99;
  line-height: 1.35;
}
.initie-mag-spread-kicker {
  font-size: .62rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--petronas);
  margin: 0;
}
.initie-mag-spread-intro-snippet {
  font-size: .84rem;
  line-height: 1.62;
  color: #ffffffb8;
  padding: 0;
  background: none;
  border: none;
  text-align: left;
}
.initie-mag-spread-specs {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  margin-top: .25rem;
}
.initie-mag-inset-frame {
  border: 2px solid rgba(255, 255, 255, 0.82);
  background: #080810;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35);
}
.initie-mag-prep-title {
  font-size: .92rem;
  font-weight: 900;
  font-style: italic;
  text-transform: uppercase;
  margin: 0 0 .45rem;
  letter-spacing: .02em;
  color: #fff;
}
.initie-mag-prep-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: .76rem;
  line-height: 1.5;
  color: #ffffffb3;
}
.initie-mag-prep-list li {
  margin-bottom: .18rem;
}
.initie-mag-prep-label {
  font-weight: 800;
  color: #ffffffe0;
}
.initie-mag-spread-visual {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  min-width: 0;
}
.initie-mag-spread-thumbs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  position: sticky;
  top: calc(var(--site-header-offset-h) + var(--site-top-stack-h) + var(--initie-referral-banner-h) + .5rem);
  z-index: 9;
  align-self: flex-end;
  width: 72%;
  max-width: 420px;
  margin-left: auto;
}
.initie-mag-spread-thumb {
  margin: 0;
  overflow: hidden;
}
.initie-mag-spread-thumb .initie-showcase-photo-btn {
  border: 0;
  border-radius: 0;
  aspect-ratio: 16 / 10;
  min-height: auto;
  background: #080810;
}
.initie-mag-spread-hero {
  position: relative;
  overflow: hidden;
  background: #080810;
  align-self: center;
  width: 88%;
  max-width: 100%;
}
.initie-mag-spread-hero--sticky {
  position: sticky;
  top: calc(var(--site-header-offset-h) + var(--site-top-stack-h) + var(--initie-referral-banner-h) + 5.5rem);
  z-index: 8;
  height: clamp(280px, 48vh, min(68vh, 640px));
}
.initie-mag-spread-hero .initie-showcase-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}
.initie-mag-spread-hero .initie-showcase-photo-btn {
  width: 100%;
  height: 100%;
  min-height: 100%;
  border: 0;
  border-radius: 0;
}
.initie-mag-spread-details {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .45rem;
}
.initie-mag-spread-detail {
  position: relative;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: #080810;
}
.initie-mag-spread-detail-num {
  position: absolute;
  top: .3rem;
  left: .3rem;
  z-index: 2;
  font-size: .62rem;
  font-weight: 800;
  line-height: 1;
  padding: .18rem .38rem;
  border-radius: 4px;
  background: var(--petronas);
  color: #030304;
}
.initie-showcase-photo--detail .initie-showcase-photo-btn {
  min-height: 72px;
  aspect-ratio: 1;
}
.initie-mag-spread-detail-captions {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: .68rem;
  line-height: 1.45;
  color: #ffffff70;
}
.initie-mag-spread-detail-captions li {
  margin-bottom: .28rem;
}
.initie-mag-spread-detail-captions-num {
  color: var(--petronas);
  font-weight: 800;
  margin-right: .25rem;
}
.initie-showcase-spec {
  background: var(--bg-card);
  border: 1px solid var(--border-strong);
  border-radius: 14px;
  padding: 1rem 1rem 1.1rem;
  color: var(--text-secondary);
  min-height: 0;
  min-width: 0;
}
.initie-showcase-spec--editorial {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
}
.initie-showcase-spec--editorial .initie-showcase-spec-title {
  color: #fff;
}
.initie-showcase-spec--cycles,
.initie-showcase-spec--motor {
  align-self: stretch;
}
.initie-showcase-spec--wide.initie-showcase-spec--cycles,
.initie-showcase-spec--wide.initie-showcase-spec--motor {
  max-width: none;
}
.initie-showcase-spec-title {
  font-size: .88rem;
  font-weight: 800;
  font-style: italic;
  text-transform: uppercase;
  margin: 0 0 .75rem;
  letter-spacing: .02em;
  color: var(--petronas);
}
.initie-showcase-spec-photo-wrap {
  margin-bottom: .65rem;
  overflow: hidden;
  max-width: 168px;
}
.initie-showcase-spec--cycles .initie-showcase-spec-photo-wrap,
.initie-showcase-spec--motor .initie-showcase-spec-photo-wrap {
  max-width: 156px;
}
.initie-showcase-spec-photo-btn {
  border: 0;
  border-radius: 0;
}
.initie-showcase-spec-photo-btn img {
  width: 100%;
  aspect-ratio: 1;
  height: auto;
  object-fit: cover;
}
.initie-showcase-spec-list {
  margin: 0;
  padding-left: 1.1rem;
  font-size: .76rem;
  line-height: 1.55;
  color: #ffffffb3;
}
.initie-showcase-spec--wide .initie-showcase-spec-list {
  font-size: .8rem;
  line-height: 1.5;
}
.initie-showcase-spec-list li {
  margin-bottom: .22rem;
}
.initie-showcase-photo--secondary .initie-showcase-photo-btn {
  border-radius: 12px;
}
.initie-showcase-photo--hero .initie-showcase-photo-btn {
  min-height: 100%;
}
.initie-showcase-photo {
  margin: 0;
  min-height: 0;
}
.initie-showcase-photo--tall {
  flex: 1;
}
.initie-showcase-photo--tall .initie-showcase-photo-btn {
  min-height: clamp(200px, 22vw, 300px);
  height: 100%;
}
.initie-showcase-photo--short .initie-showcase-photo-btn {
  min-height: clamp(110px, 13vw, 150px);
}
.initie-showcase-photo-btn {
  display: block;
  width: 100%;
  border: none;
  padding: 0;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  cursor: zoom-in;
  background: #080810;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.initie-showcase-photo-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.initie-showcase-photo-caption {
  margin: .35rem 0 0;
  font-size: .72rem;
  color: #ffffff70;
  line-height: 1.35;
  font-style: italic;
}

.initie-mag-masthead {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.initie-mag-masthead-meta {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #ffffff55;
  text-align: right;
}
.initie-mag-issue { color: var(--violet-bright); }
.initie-magazine-body--wide {
  max-width: min(100%, 1420px);
}
.initie-mag-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 1.5rem;
  align-items: start;
}
.initie-mag-layout--full {
  grid-template-columns: minmax(0, 1fr);
}
.initie-mag-promo-banner {
  margin-bottom: 1.25rem;
  padding: 1rem 1.15rem;
}
.initie-mag-promo-banner-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
}
.initie-mag-promo-banner-copy {
  min-width: 0;
}
.initie-mag-promo-banner-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .35rem;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}
.initie-profile-promo-cta {
  position: relative;
  z-index: 2;
  width: 100%;
  justify-content: center;
  text-decoration: none;
}
.initie-promo-ready-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 1rem;
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  border-color: rgba(0, 210, 190, 0.35);
  background: rgba(0, 210, 190, 0.08);
}
.initie-promo-ready-banner-text {
  margin: 0;
  font-size: .88rem;
  line-height: 1.5;
  color: #ffffffcc;
}
.initie-promo-ready-banner-offer {
  color: var(--petronas);
}
.initie-promo-ready-banner-hint {
  display: block;
  margin-top: .2rem;
  font-size: .78rem;
  color: #ffffff80;
}
.initie-mag-promo-banner .initie-profile-promo-code {
  margin: .15rem 0 .25rem;
}
.initie-mag-promo-banner .initie-profile-promo-hint {
  margin: 0;
  text-align: right;
}
.initie-mag-kicker {
  font-size: .62rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--petronas);
  margin: 0 0 .45rem;
}
.initie-mag-title {
  font-size: clamp(1.15rem, 2.5vw, 1.55rem);
  margin: 0 0 .85rem;
  line-height: 1.2;
}
.initie-mag-article {
  margin-bottom: 1.75rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.initie-mag-pullquote {
  margin: 0 0 1rem;
  padding: .85rem 1rem;
  border-left: 3px solid var(--violet);
  color: #ffffffd9;
  font-size: clamp(1rem, 2.2vw, 1.25rem);
  line-height: 1.45;
  background: rgba(139, 92, 246, 0.06);
}
.initie-mag-prose {
  color: #ffffffb3;
  line-height: 1.75;
  font-size: .95rem;
}
.initie-mag-prose--muted { color: #ffffff66; font-size: .88rem; }
.initie-mag-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1rem;
  margin-top: 1rem;
  font-size: .82rem;
  color: #ffffff80;
}
.initie-mag-meta-item a { color: var(--client-link); }
.initie-mag-meta-item a:hover { color: var(--client-link-hover); }
.initie-mag-spread {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 1.25rem;
  align-items: center;
  margin-bottom: 1.75rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.initie-mag-spread--reverse .initie-mag-copy { order: 2; }
.initie-mag-spread--reverse .initie-mag-figure { order: 1; }
.initie-mag-figure {
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: #080810;
}
.initie-mag-figure img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.initie-mag-figcaption {
  padding: .55rem .75rem;
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #ffffff99;
  background: rgba(0, 0, 0, 0.45);
}
.initie-mag-gallery {
  margin-bottom: 1.75rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.initie-mag-gallery-hint {
  margin: -.35rem 0 1rem;
  font-size: .78rem;
  color: #ffffff55;
}
.initie-mag-gallery-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: .75rem;
  align-items: stretch;
}
.initie-mag-gallery-hero {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: .75rem;
  align-items: stretch;
  min-height: clamp(220px, 40vw, 540px);
}
.initie-mag-gallery-side {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  min-height: 0;
}
.initie-mag-gallery-item {
  margin: 0;
  grid-column: span 4;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.initie-mag-gallery-item--lead,
.initie-mag-gallery-item--side,
.initie-mag-gallery-item--solo {
  grid-column: auto;
}
.initie-mag-gallery-hero > .initie-mag-gallery-item--lead {
  grid-column: 1;
  min-height: 0;
  height: 100%;
  align-self: stretch;
}
.initie-mag-gallery-hero > .initie-mag-gallery-side {
  grid-column: 2;
  min-height: 0;
  height: 100%;
  align-self: stretch;
}
.initie-mag-gallery-item--side {
  flex: 1 1 0;
  min-height: 0;
}
.initie-mag-gallery-item--lead .initie-mag-gallery-btn,
.initie-mag-gallery-item--side .initie-mag-gallery-btn,
.initie-mag-gallery-item--solo .initie-mag-gallery-btn {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.initie-mag-gallery-item--lead .initie-mag-gallery-btn img,
.initie-mag-gallery-item--side .initie-mag-gallery-btn img,
.initie-mag-gallery-item--solo .initie-mag-gallery-btn img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
}
.initie-mag-gallery-grid > .initie-mag-gallery-item--solo {
  grid-column: 1 / -1;
}
.initie-mag-gallery-grid > .initie-mag-gallery-item--lead {
  grid-column: span 8;
}
.initie-mag-gallery-btn {
  border-radius: 12px;
}
.initie-mag-gallery-caption {
  margin-top: .45rem;
  font-size: .75rem;
  color: #ffffff80;
  line-height: 1.4;
  font-style: italic;
}
.initie-mag-products {
  margin-bottom: 1.75rem;
}
.initie-mag-products-intro {
  color: #ffffff99;
  line-height: 1.65;
  font-size: .9rem;
  margin: -.25rem 0 1.1rem;
  max-width: 42rem;
}
.initie-mag-products-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
}
.initie-mag-product-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  overflow: hidden;
  background: rgba(8, 8, 14, 0.55);
  transition: border-color .2s, transform .2s;
}
.initie-mag-product-card:hover {
  border-color: rgba(0, 210, 190, 0.35);
  transform: translateY(-2px);
}
.initie-mag-product-media {
  position: relative;
  background: rgba(255, 255, 255, 0.04);
}
.initie-mag-product-media img,
.initie-mag-product-media-fallback {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: block;
}
.initie-mag-product-media img {
  object-fit: cover;
}
.initie-mag-product-media-fallback {
  background:
    linear-gradient(145deg, rgba(0, 210, 190, 0.12), rgba(8, 8, 14, 0.9)),
    repeating-linear-gradient(
      -45deg,
      rgba(255, 255, 255, 0.04),
      rgba(255, 255, 255, 0.04) 8px,
      transparent 8px,
      transparent 16px
    );
}
.initie-mag-product-body { padding: .75rem .85rem; }
.initie-mag-product-tag {
  display: block;
  font-size: .58rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--petronas);
  margin-bottom: .35rem;
}
.initie-mag-product-name {
  font-size: .88rem;
  color: #fff;
  line-height: 1.35;
}
.initie-mag-sidebar { position: sticky; top: calc(var(--site-header-offset-h) + var(--site-top-stack-h) + var(--initie-referral-banner-h) + 1rem); }
.initie-mag-promo { padding: 1.15rem; }
.initie-mag-footer-cta { margin-top: .5rem; }
.initie-profile-lightbox-caption {
  position: absolute;
  left: 50%;
  bottom: 4.5rem;
  transform: translateX(-50%);
  z-index: 4;
  max-width: min(90vw, 520px);
  text-align: center;
  font-size: .88rem;
  color: #ffffffcc;
  font-style: italic;
  padding: .35rem .75rem;
  background: rgba(8, 8, 14, 0.72);
  border-radius: 8px;
}
.initie-public-config-photo-preview {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .5rem;
}
.initie-public-config-photo-preview img {
  border-radius: 8px;
  object-fit: cover;
}
.initie-public-photo-captions {
  display: grid;
  gap: .65rem;
}
.initie-public-caption-row {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: .65rem;
  align-items: center;
}
.initie-public-caption-row img {
  border-radius: 8px;
  object-fit: cover;
}
.initie-public-magazine-captions {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.initie-public-caption-row--actions {
  align-items: flex-start;
}
.initie-public-caption-fields {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  min-width: 0;
}
.initie-public-caption-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.initie-public-caption-actions .btn {
  font-size: .72rem;
  padding: .38rem .7rem;
}
.initie-public-caption-delete {
  display: inline-flex;
  cursor: pointer;
}
.initie-public-caption-delete-input {
  display: none !important;
}
.initie-public-caption-delete-btn {
  cursor: pointer;
}
.initie-public-caption-row.is-removed {
  opacity: .45;
}
.initie-public-caption-row.is-removed img {
  filter: grayscale(1);
}
.initie-public-caption-row.is-removed .initie-public-caption-delete-btn {
  border-color: var(--magenta);
  color: var(--magenta);
}
.initie-profile-hero-banner {
  position: relative;
  width: 100%;
  min-height: clamp(220px, 42vw, 420px);
  max-height: 480px;
  overflow: hidden;
  background: #080810;
  margin-bottom: 0;
}
.initie-profile-hero-banner--empty {
  min-height: clamp(180px, 28vw, 280px);
}
.initie-profile-hero-fallback {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(0, 210, 190, 0.18), rgba(139, 92, 246, 0.22)),
    radial-gradient(circle at 20% 80%, rgba(255, 0, 110, 0.15), transparent 55%),
    #0a0a12;
}
.initie-profile-hero-track {
  position: absolute;
  inset: 0;
}
.initie-profile-hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  opacity: 0;
  transition: opacity .65s ease;
  transform: scale(1.02);
}
.initie-profile-hero-slide.is-active {
  opacity: 1;
  transform: scale(1);
  transition: opacity .65s ease, transform 8s ease;
}
.initie-profile-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(8, 8, 14, 0.15) 0%,
    rgba(8, 8, 14, 0.35) 45%,
    rgba(8, 8, 14, 0.92) 100%
  );
  pointer-events: none;
}
.initie-profile-hero-identity {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1.5rem clamp(1rem, 4vw, 2rem) 1.35rem;
  max-width: 960px;
  margin: 0 auto;
  z-index: 2;
}
.initie-profile-name--hero {
  margin: 0 0 .35rem;
  color: #fff;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.55);
}
.initie-profile-practice--hero {
  margin: 0;
  color: var(--petronas);
  font-size: .95rem;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
}
.initie-profile-hero-dots {
  position: absolute;
  bottom: 1rem;
  right: clamp(1rem, 4vw, 2rem);
  display: flex;
  gap: .4rem;
  z-index: 3;
}
.initie-profile-hero-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.45);
  background: transparent;
  padding: 0;
  cursor: pointer;
  transition: background .2s, transform .2s;
}
.initie-profile-hero-dot.is-active,
.initie-profile-hero-dot:hover {
  background: var(--petronas);
  border-color: var(--petronas);
  transform: scale(1.15);
}
.initie-profile-hero-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(8, 8, 14, 0.55);
  color: #fff;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  transition: background .2s, border-color .2s;
}
.initie-profile-hero-nav:hover {
  background: rgba(0, 210, 190, 0.25);
  border-color: var(--petronas);
}
.initie-profile-hero-nav--prev { left: clamp(.5rem, 3vw, 1.25rem); }
.initie-profile-hero-nav--next { right: clamp(.5rem, 3vw, 1.25rem); }
.initie-profile-config {
  color: #ffffffb3;
  line-height: 1.7;
  font-size: .92rem;
}
.initie-profile-gallery-hint {
  font-size: .78rem;
  color: #ffffff55;
  margin: -.35rem 0 .85rem;
}
.initie-profile-photo-btn {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  background: none;
  cursor: zoom-in;
  position: relative;
}
.initie-profile-photo-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}
.initie-profile-photo-btn:hover img {
  transform: scale(1.04);
}
.initie-profile-photo-zoom {
  position: absolute;
  right: .5rem;
  bottom: .5rem;
  width: 2rem;
  height: 2rem;
  border-radius: 8px;
  background: rgba(8, 8, 14, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .2s;
}
.initie-profile-photo-btn:hover .initie-profile-photo-zoom,
.initie-profile-photo-btn:focus-visible .initie-profile-photo-zoom {
  opacity: 1;
}
.initie-public-config-input { min-height: 5.5rem; resize: vertical; }
.initie-profile-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .5rem;
  font-size: .82rem;
  color: #ffffff66;
  margin-bottom: 1.25rem;
}
.initie-profile-breadcrumb a {
  color: #ffffff99;
  text-decoration: none;
}
.initie-profile-breadcrumb a:hover { color: var(--petronas); }
.initie-profile-hero {
  margin-bottom: 1.25rem;
  padding: 1.5rem;
  border-color: rgba(0, 210, 190, 0.25);
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.06), rgba(139, 92, 246, 0.08));
}
.initie-profile-hero-main {
  display: grid;
  grid-template-columns: 1fr minmax(220px, 0.9fr);
  gap: 1.5rem;
  align-items: start;
}
.initie-profile-name {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem;
  font-size: clamp(1.5rem, 4vw, 2rem);
  margin: 0 0 .5rem;
}
.initie-profile-practice {
  color: var(--petronas);
  font-size: .95rem;
  margin: 0 0 .35rem;
}
.initie-profile-social {
  margin: 0;
  font-size: .88rem;
  color: #ffffff99;
}
.initie-profile-social a { color: var(--client-link); }
.initie-profile-social a:hover { color: var(--client-link-hover); }
.initie-profile-promo-card {
  padding: 1.15rem;
  border-color: rgba(139, 92, 246, 0.35);
  background: rgba(8, 8, 14, 0.55);
}
.initie-profile-promo-kicker {
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--violet-bright);
  margin: 0 0 .5rem;
}
.initie-profile-promo-code {
  font-size: 1.35rem;
  margin: 0 0 .35rem;
}
.initie-profile-promo-offer {
  margin: 0 0 .85rem;
  font-size: .9rem;
  color: #ffffffb3;
}
.initie-profile-promo-hint {
  margin: .65rem 0 0;
  font-size: .75rem;
  color: #ffffff55;
}
.initie-profile-section {
  margin-bottom: 1.25rem;
  padding: 1.35rem;
}
.initie-profile-section-title {
  font-size: 1rem;
  margin: 0 0 .85rem;
}
.initie-profile-bio {
  color: #ffffffb3;
  line-height: 1.7;
  font-size: .95rem;
}
.initie-profile-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: .75rem;
}
.initie-profile-photo {
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  aspect-ratio: 4 / 3;
  background: rgba(0, 0, 0, 0.25);
}
.initie-profile-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.initie-profile-footer-cta {
  padding: 1.35rem;
  text-align: center;
}
.initie-profile-footer-text {
  color: #ffffff99;
  max-width: 520px;
  margin: 0 auto .85rem;
  line-height: 1.6;
}
.initie-profile-footer-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .65rem;
}

.initie-profile-stats {
  margin: .85rem 0 0;
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #ffffff66;
}
.initie-profile-stat strong {
  color: var(--petronas);
  font-size: 1.1rem;
  letter-spacing: .04em;
}

.initie-profile-badges {
  margin-bottom: 1.25rem;
  padding: 1.25rem 1.35rem;
  border-radius: 16px;
  border: 1px solid rgba(139, 92, 246, 0.22);
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.06), rgba(0, 210, 190, 0.04));
}
.initie-profile-badges-kicker {
  font-size: .62rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--violet-bright);
  margin: 0 0 .85rem;
}
.initie-profile-badge-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: .65rem;
}
.initie-profile-badge {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .55rem .7rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(8, 8, 14, 0.45);
  min-height: 3.25rem;
}
.initie-profile-badge-icon {
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.initie-profile-badge-icon svg {
  width: 1.15rem;
  height: 1.15rem;
  display: block;
}
.initie-profile-badge-text {
  display: flex;
  flex-direction: column;
  gap: .1rem;
  min-width: 0;
}
.initie-profile-badge-label {
  font-size: .82rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.25;
}
.initie-profile-badge-hint {
  font-size: .7rem;
  color: #ffffff66;
  line-height: 1.35;
}
.initie-profile-badge--petronas .initie-profile-badge-icon {
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.9), rgba(0, 160, 145, 0.85));
  box-shadow: 0 4px 14px rgba(0, 210, 190, 0.25);
}
.initie-profile-badge--violet .initie-profile-badge-icon {
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.95), rgba(109, 40, 217, 0.9));
  box-shadow: 0 4px 14px rgba(139, 92, 246, 0.28);
}
.initie-profile-badge--magenta .initie-profile-badge-icon {
  background: linear-gradient(135deg, rgba(236, 72, 153, 0.95), rgba(190, 24, 93, 0.9));
  box-shadow: 0 4px 14px rgba(236, 72, 153, 0.25);
}
.initie-profile-badge--gold .initie-profile-badge-icon {
  background: linear-gradient(135deg, #f5c542, #d4a017);
  color: #1a1200;
  box-shadow: 0 4px 14px rgba(245, 197, 66, 0.35);
}

.initie-public-workspace {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.initie-public-workspace-head {
  margin-bottom: .15rem;
}
.initie-public-subnav {
  position: sticky;
  top: calc(var(--header-height, 72px) + .5rem);
  z-index: 12;
  margin: 0 -.15rem;
  padding: .35rem 0;
  background: linear-gradient(180deg, rgba(8, 8, 14, 0.98) 70%, rgba(8, 8, 14, 0));
}
.initie-public-subnav-track {
  display: flex;
  gap: .45rem;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 210, 190, 0.35) transparent;
  padding: .15rem .15rem .55rem;
  -webkit-overflow-scrolling: touch;
}
.initie-public-subnav-track::-webkit-scrollbar {
  height: 4px;
}
.initie-public-subnav-track::-webkit-scrollbar-thumb {
  background: rgba(0, 210, 190, 0.35);
  border-radius: 999px;
}
.initie-public-subnav-btn {
  flex: 0 0 auto;
  scroll-snap-align: start;
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: #ffffff88;
  font-family: var(--font-display, inherit);
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: .55rem .85rem;
  border-radius: 999px;
  cursor: pointer;
  transition: color .2s, border-color .2s, background .2s, transform .2s;
  white-space: nowrap;
}
.initie-public-subnav-btn:hover {
  color: #fff;
  border-color: rgba(0, 210, 190, 0.35);
}
.initie-public-subnav-btn.is-active {
  color: #fff;
  border-color: var(--petronas);
  background: rgba(0, 210, 190, 0.14);
  box-shadow: 0 0 0 1px rgba(0, 210, 190, 0.2);
  transform: translateY(-1px);
}
.initie-public-sections {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
.initie-public-sections > .initie-public-section {
  grid-area: 1 / 1;
  min-width: 0;
  animation: initie-public-section-in 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}
.initie-public-sections > .initie-public-section:not(.is-active) {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  z-index: 0;
}
.initie-public-sections > .initie-public-section.is-active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  position: relative;
  z-index: 1;
}
.initie-share-panel[hidden] {
  display: none !important;
}
@keyframes initie-public-section-in {
  from {
    opacity: 0;
    transform: translateX(12px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.initie-public-section-title {
  margin: 0 0 .35rem;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.initie-public-section-lead {
  margin: 0 0 1rem;
}
.initie-public-form-bar-checks {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  min-width: min(100%, 420px);
}
.initie-public-form-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .85rem 1.25rem;
  position: sticky;
  bottom: .75rem;
  z-index: 11;
  border-color: rgba(0, 210, 190, 0.25);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}
.initie-public-form-bar .initie-public-profile-actions {
  margin-top: 0;
}
.initie-public-profile-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.initie-public-profile-grid-full { grid-column: 1 / -1; }
.initie-public-bio-input { min-height: 7rem; resize: vertical; }
.initie-public-profile-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.initie-public-profile-thumbs img {
  width: 88px;
  height: 88px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.initie-public-moto-photos-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem;
}
.initie-public-moto-photos-count {
  font-size: .78rem;
  color: var(--petronas);
}
.initie-public-moto-photos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: .85rem;
  margin: .85rem 0 1rem;
}
.initie-public-moto-photo-card {
  display: flex;
  flex-direction: column;
  gap: .45rem;
}
.initie-public-moto-photo-card.is-removed {
  opacity: .45;
}
.initie-public-moto-photo-card.is-removed img {
  filter: grayscale(1);
}
.initie-public-moto-photo-card img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.initie-public-moto-photo-remove {
  display: flex;
  align-items: center;
  gap: .35rem;
  font-size: .75rem;
  color: #ffffff80;
  cursor: pointer;
}
.initie-public-moto-photos-upload {
  margin-top: .5rem;
}
.initie-public-moto-photos-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.initie-public-moto-photos-pending {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .75rem;
}
.initie-public-moto-photos-pending-thumb {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.initie-public-moto-photos-pending-label {
  font-size: .78rem;
  color: #ffffff99;
  margin-top: .35rem;
}
.initie-public-moto-photos-upload-btn {
  margin-top: .85rem;
  width: 100%;
}
.initie-public-moto-photos-upload-btn[hidden] {
  display: none !important;
}
.initie-moto-photos-upload-form {
  display: block;
}
.initie-moto-upload-progress {
  margin-top: 1rem;
  padding: 1rem 1.1rem 1.05rem;
  border-radius: 12px;
  border: 1px solid rgba(0, 210, 190, 0.22);
  background: linear-gradient(145deg, rgba(0, 210, 190, 0.08), rgba(255, 255, 255, 0.03));
}
.initie-moto-upload-progress[hidden] {
  display: none !important;
}
.initie-moto-upload-progress-track {
  position: relative;
  padding-top: 2.1rem;
}
.initie-moto-upload-progress-bar {
  height: 10px;
  background: #ffffff14;
  border-radius: 6px;
  overflow: hidden;
}
.initie-moto-upload-progress-fill {
  height: 100%;
  width: 0;
  border-radius: 6px;
  background: linear-gradient(90deg, var(--petronas), var(--violet));
  transition: width .25s ease;
}
.initie-moto-upload-progress-rider {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(-50%);
  transition: left .25s ease;
  color: var(--petronas);
  filter: drop-shadow(0 2px 6px rgba(0, 210, 190, 0.35));
}
.initie-moto-upload-progress-icon {
  width: 52px;
  height: auto;
  display: block;
}
.initie-moto-upload-progress-label {
  margin: .75rem 0 0;
  font-size: .82rem;
  color: #ffffffb3;
  text-align: center;
}
.initie-public-publish {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  font-size: .9rem;
  color: #ffffffb3;
  cursor: pointer;
}
.initie-public-publish input { margin-top: .2rem; }
.initie-public-profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1rem;
}
.initie-profile-published-badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .82rem;
  color: var(--petronas);
}

.home-initie-pseudo-badges {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .25rem;
  margin-left: .15rem;
}
.home-initie-badge-chip {
  display: inline-flex;
  align-items: center;
  gap: .2rem;
  padding: .12rem .4rem;
  border-radius: 999px;
  font-size: .62rem;
  font-weight: 600;
  line-height: 1.2;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.home-initie-badge-chip .initie-profile-badge-icon svg {
  width: .75em;
  height: .75em;
}
.home-initie-top-month { margin-top: 1.25rem; }
.home-initie-top-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .45rem;
}
.home-initie-top-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .5rem;
  font-size: .85rem;
}
.home-initie-top-rank {
  color: var(--petronas);
  font-size: .72rem;
  min-width: 1.25rem;
}
.home-initie-top-link {
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .25rem;
}
.home-initie-top-link:hover { color: var(--petronas); }
.home-initie-top-sales {
  font-size: .72rem;
  color: #ffffff66;
}
.home-initie-directory-link {
  display: inline-block;
  margin-top: .65rem;
  font-size: .78rem;
  color: var(--client-link);
  text-decoration: none;
}
.home-initie-directory-link:hover {
  color: var(--client-link-hover);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.home-best-fallback-hint {
  margin: .35rem 0 0;
  font-size: .78rem;
  color: #ffffff55;
  line-height: 1.45;
  max-width: 36rem;
}
.home-universes-slider-wrap {
  position: relative;
  min-width: 0;
  max-width: 100%;
}
.home-universes-track {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  min-width: 0;
}
.home-universes-slider-nav {
  display: none;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  margin-top: .85rem;
}
.home-universes-slider-btn {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  border: 1px solid rgba(0, 210, 190, 0.45);
  background: rgba(0, 0, 0, 0.45);
  color: var(--petronas);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  transition: background .2s, border-color .2s, opacity .2s;
}
.home-universes-slider-btn:hover:not(:disabled) {
  background: rgba(0, 210, 190, 0.12);
  border-color: var(--petronas);
}
.home-universes-slider-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.home-universes-slider-dots {
  display: flex;
  align-items: center;
  gap: .45rem;
}
.home-universes-slider-dot {
  width: .45rem;
  height: .45rem;
  border-radius: 999px;
  border: none;
  padding: 0;
  background: rgba(255, 255, 255, 0.28);
  cursor: pointer;
  transition: transform .2s, background .2s;
}
.home-universes-slider-dot.is-active {
  background: var(--petronas);
  transform: scale(1.35);
}
.home-section {
  padding: 4rem 0 2rem;
}
.home-nouveautes-section {
  padding-top: 4rem;
  padding-bottom: 2rem;
}
.home-best-sellers-section,
.home-best-nouveautes-section {
  padding-bottom: 4rem;
}
.home-view3d-section {
  padding-bottom: 3.5rem;
}
.home-view3d-lead {
  margin: .45rem 0 0;
  max-width: 36rem;
  color: #ffffff88;
  font-size: .9rem;
  line-height: 1.45;
}
/* Un seul kit 3D : la grille auto-fit étirait la photo — on la bride et on explique le module à côté. */
.home-view3d-layout--solo {
  display: grid;
  grid-template-columns: minmax(200px, 260px) minmax(0, 1fr);
  gap: 1.35rem 1.6rem;
  align-items: stretch;
}
.home-view3d-grid--solo {
  display: block;
  margin-top: 0;
  max-width: 260px;
  width: 100%;
}
.home-view3d-section--solo .home-view3d-grid--solo .product-card {
  height: 100%;
}
.home-view3d-section--solo .home-view3d-grid--solo .product-img,
.home-view3d-section--solo .home-view3d-grid--solo .product-card-flip-scene {
  aspect-ratio: 1;
  max-height: 220px;
}
.home-view3d-explainer {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .65rem;
  min-width: 0;
  padding: 1.35rem 1.5rem 1.45rem;
  border-radius: 16px;
  border: 1px solid rgba(0, 210, 190, .28);
  background:
    linear-gradient(145deg, rgba(0, 210, 190, .12) 0%, rgba(8, 8, 14, .92) 42%, rgba(139, 92, 246, .14) 100%);
  overflow: hidden;
}
.home-view3d-explainer::before {
  content: '';
  position: absolute;
  inset: -40% -20% auto auto;
  width: 280px;
  height: 280px;
  background: radial-gradient(circle, rgba(0, 210, 190, .18), transparent 68%);
  pointer-events: none;
  z-index: 0;
}
.home-view3d-explainer-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.4rem;
  height: 2.4rem;
  padding: 0 .45rem;
  border-radius: 10px;
  border: 1px solid rgba(0, 210, 190, .45);
  background: rgba(0, 0, 0, .45);
  color: var(--petronas);
  font-size: .72rem;
  letter-spacing: .08em;
  font-weight: 700;
}
.home-view3d-explainer-kicker,
.home-view3d-explainer-title,
.home-view3d-explainer-lead,
.home-view3d-explainer-list,
.home-view3d-explainer-cta {
  position: relative;
  z-index: 1;
}
.home-view3d-explainer-kicker {
  margin: 0;
  font-size: .62rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--petronas);
}
.home-view3d-explainer-title {
  margin: 0;
  max-width: 22rem;
  font-size: clamp(1.15rem, 2.4vw, 1.55rem);
  line-height: 1.2;
  color: #fff;
}
.home-view3d-explainer-lead {
  margin: 0;
  max-width: 36rem;
  color: #ffffff99;
  font-size: .9rem;
  line-height: 1.5;
}
.home-view3d-explainer-list {
  list-style: none;
  margin: .15rem 0 .2rem;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem .85rem;
}
.home-view3d-explainer-list li {
  position: relative;
  padding-left: 1.15rem;
  color: #ffffffe0;
  font-size: .84rem;
  line-height: 1.35;
}
.home-view3d-explainer-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .42em;
  width: .55rem;
  height: .55rem;
  border-radius: 999px;
  background: var(--petronas);
  box-shadow: 0 0 0 3px rgba(0, 210, 190, .18);
}
.home-view3d-explainer-cta {
  align-self: flex-start;
  margin-top: .35rem;
}
@media (max-width: 768px) {
  .home-view3d-layout--solo {
    grid-template-columns: 1fr;
    justify-items: stretch;
  }
  .home-view3d-section--solo .home-view3d-grid--solo.products-grid {
    display: block !important;
    max-width: 240px;
    margin-inline: auto;
  }
  .home-view3d-explainer-list {
    grid-template-columns: 1fr;
  }
}
.home-best-nouveautes-header {
  align-items: flex-start;
}
.home-best-nouveautes-heading {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  min-width: 0;
}
.home-products-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.home-products-tab {
  appearance: none;
  border: 1px solid rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .03);
  color: #ffffff88;
  font-family: var(--font-display, inherit);
  font-size: clamp(.95rem, 2vw, 1.35rem);
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: .45rem .85rem;
  border-radius: 10px;
  cursor: pointer;
  transition: color .2s, border-color .2s, background .2s;
  line-height: 1.2;
}
.home-products-tab:hover {
  color: #fff;
  border-color: rgba(0, 210, 190, .35);
}
.home-products-tab.is-active {
  color: #fff;
  border-color: var(--petronas);
  background: rgba(0, 210, 190, .12);
}
.home-products-tab-panels {
  min-height: 120px;
}
.home-products-tab-panel {
  display: none;
}
.home-products-tab-panel.is-active {
  display: block;
}
@media (max-width: 640px) {
  .home-best-nouveautes-header {
    flex-direction: column;
    align-items: stretch;
  }
  .home-products-tabs {
    width: 100%;
  }
  .home-products-tab {
    flex: 1 1 calc(50% - .25rem);
    text-align: center;
  }
}
.home-section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}
.home-section-kicker--petronas {
  color: var(--petronas);
}
.home-section-kicker--violet {
  color: var(--violet);
}
.home-section-cta {
  flex-shrink: 0;
  padding: .55rem 1.1rem;
  font-size: .68rem;
  letter-spacing: .08em;
  white-space: nowrap;
}
.home-categories-section {
  padding: 2rem 0 3rem;
}
.home-categories-kicker {
  color: var(--petronas);
}
.home-categories-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}
.home-universe-block {
  padding: 1.15rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  background: rgba(16, 16, 24, 0.45);
  min-width: 0;
}
.home-universe-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: .5rem .75rem;
  margin-bottom: .85rem;
}
.home-universe-head-main {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  min-width: 0;
  flex: 1 1 auto;
}
.home-universe-head-main > div {
  min-width: 0;
}
.home-universe-title {
  margin: 0 0 .25rem;
  font-size: 1.15rem;
  line-height: 1.2;
}
.home-universe-title a {
  color: #fff;
  text-decoration: none;
  transition: color .2s;
}
.home-universe-title a:hover { color: var(--petronas); }
.home-universe-desc {
  margin: 0;
  font-size: .82rem;
  color: #ffffff66;
  line-height: 1.45;
  max-width: 36rem;
}
.home-universe-all-link {
  align-self: flex-start;
}
.home-universe-products-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  min-width: 0;
}
.home-universe-products-grid > .product-card {
  min-width: 0;
}
.home-universe-products-grid .product-card-body {
  padding: .85rem;
}
.home-universe-products-grid .product-title {
  font-size: clamp(.82rem, 2.4vw, 1rem);
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.home-universe-empty {
  font-size: .85rem;
  color: #ffffff55;
  padding: .5rem 0 1rem;
}
.home-categories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: .85rem;
}
.shop-subcategory-listing {
  margin: 0 0 2rem;
}
.shop-subcategory-listing-lead {
  margin: 0 0 1rem;
  color: #ffffff88;
  font-size: .92rem;
  text-align: center;
}
.shop-subcategory-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
}
.shop-subcategory-card {
  min-height: 100%;
}
.shop-subcategory-cover {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 8px 8px 0 0;
  margin: -1rem -1rem .85rem;
}
.shop-subcategory-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-category-card {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: 1rem 1.1rem;
  text-decoration: none;
  color: inherit;
  transition: border-color .2s, transform .2s, background .2s;
}
.home-category-card:hover {
  border-color: rgba(0, 210, 190, 0.35);
  transform: translateY(-2px);
  background: rgba(0, 210, 190, 0.04);
}
.home-category-icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(139, 92, 246, 0.12);
  color: var(--violet-bright);
}
.home-category-icon svg {
  width: 1.35rem;
  height: 1.35rem;
}
.home-category-icon .nav-cat-icon-img {
  max-width: 100%;
  max-height: 1.65rem;
  width: auto;
  height: auto;
  object-fit: contain;
}
.home-category-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.home-category-name {
  font-size: .92rem;
  color: #fff;
}
.home-category-desc {
  font-size: .78rem;
  color: #ffffff66;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.home-category-count {
  font-size: .72rem;
  color: var(--petronas);
  letter-spacing: .04em;
}
.home-category-arrow {
  flex-shrink: 0;
  color: #ffffff45;
  font-size: 1.1rem;
  transition: color .2s, transform .2s;
}
.home-category-card:hover .home-category-arrow {
  color: var(--petronas);
  transform: translateX(3px);
}

.initie-referral-banner {
  position: fixed;
  top: calc(var(--site-top-stack-h) + var(--site-header-offset-h));
  left: 0;
  right: 0;
  z-index: 99;
  background: var(--black);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: .45rem 0;
}
.initie-referral-banner-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem 1rem;
  font-size: .85rem;
}
.initie-referral-banner-text {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: #ffffffcc;
}
.initie-referral-banner-link {
  color: var(--petronas);
  font-size: .8rem;
}
.initie-referral-banner-close {
  margin-left: auto;
  background: none;
  border: none;
  color: #ffffff88;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  padding: .15rem .35rem;
}

.initie-share-grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: start;
}
.initie-share-copy-row {
  display: flex;
  gap: .5rem;
  align-items: center;
}
.initie-share-input { font-size: .82rem; }
.initie-share-qr-col {
  display: flex;
  gap: .65rem;
  flex-wrap: wrap;
}
.initie-share-qr {
  text-align: center;
  margin: 0;
}
.initie-share-qr img {
  display: block;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: #fff;
}
.initie-share-qr figcaption {
  font-size: .68rem;
  color: #ffffff66;
  margin-top: .25rem;
}
.gxs-profile-share.initie-profile-share-public,
.gxs-profile-share.client-project-share-public {
  margin-top: 1.5rem;
  margin-bottom: 0;
}
.gxs-profile-share.client-project-share-account {
  margin-bottom: 1rem;
}
.initie-mag-main .gxs-profile-share .initie-panel-title {
  font-size: 1rem;
}
.initie-social-preview { margin-top: 1rem; }
.initie-social-preview-kicker {
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--violet-bright);
  margin: 0 0 .5rem;
}
.initie-social-preview-card {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: .75rem;
  max-width: 360px;
  padding: .65rem;
  border-radius: 12px;
  border: 1px solid rgba(139, 92, 246, 0.3);
  background: rgba(8, 8, 14, 0.65);
}
.initie-social-preview-media {
  width: 100px;
  height: 100px;
  border-radius: 10px;
  background-size: cover;
  background-position: center;
}
.initie-social-preview-media--fallback {
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.25), rgba(139, 92, 246, 0.25));
}
.initie-social-preview-name {
  display: flex;
  align-items: center;
  gap: .35rem;
  margin: 0 0 .25rem;
  font-weight: 600;
}
.initie-social-preview-code {
  margin: 0;
  color: var(--petronas);
  font-size: 1rem;
}
.initie-social-preview-hint {
  margin: .25rem 0 0;
  font-size: .72rem;
  color: #ffffff66;
}

.initie-profile-badge-more-wrap { grid-column: 1 / -1; }
.initie-profile-badge-more {
  border: 1px dashed rgba(139, 92, 246, 0.45);
  background: transparent;
  color: var(--violet-bright);
  border-radius: 999px;
  padding: .35rem .85rem;
  font-size: .78rem;
  cursor: pointer;
}
.initie-profile-badge-list--hidden { margin-top: .5rem; }

.initie-profile-products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: .75rem;
}
.initie-profile-product-card {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: .5rem;
  background: rgba(0, 0, 0, 0.2);
  transition: border-color .2s, transform .2s;
}
.initie-profile-product-card:hover {
  border-color: rgba(0, 210, 190, 0.35);
  transform: translateY(-2px);
}
.initie-profile-product-card img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 8px;
}
.initie-profile-product-name {
  font-size: .82rem;
  line-height: 1.35;
}

.initie-directory-head { margin-bottom: 1.5rem; }
.initie-directory-title { font-size: clamp(1.5rem, 4vw, 2rem); margin-bottom: .5rem; }
.initie-directory-lead { color: #ffffff99; max-width: 640px; line-height: 1.65; }
.initie-directory-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1rem;
}
.initie-directory-filters {
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem;
}
.initie-directory-filter-row { max-width: 320px; }
.initie-directory-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
}
.initie-directory-card { padding: 1rem; }
.initie-directory-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.initie-directory-card-cover {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: .75rem;
  display: block;
  background: #ffffff08;
}
.initie-directory-card-name {
  display: flex;
  align-items: center;
  gap: .35rem;
  font-size: 1rem;
  margin: 0 0 .35rem;
}
.initie-directory-card-practice {
  font-size: .82rem;
  color: var(--petronas);
  margin: 0 0 .5rem;
}
.initie-directory-card-badges { margin-bottom: .5rem; }
.initie-directory-card-code { font-size: .85rem; margin: 0; }
.initie-directory-empty { padding: 1.5rem; text-align: center; color: #ffffff99; }

.admin-cat-panel.is-filter-hidden { display: none; }
.admin-cat-picker-selected-meta {
  font-size: .78rem;
  color: var(--text-muted);
  white-space: nowrap;
}
.admin-cat-picker-search {
  min-width: 160px;
  max-width: 220px;
  padding: .35rem .55rem;
  font-size: .78rem;
}
.admin-attr-client-preview {
  margin-top: 1rem;
  padding: 1rem 1.15rem;
  border-color: rgba(139, 92, 246, 0.22);
}
.admin-attr-client-preview-frame {
  padding: .85rem;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.admin-attr-preview-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}
.admin-attr-preview-swatch {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.2);
}
.admin-attr-preview-swatch--split {
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.18);
}
.admin-attr-preview-check {
  display: block;
  font-size: .85rem;
  margin-bottom: .35rem;
}

.initie-admin-photos-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: flex-start;
}
.initie-admin-photos-grid--edit {
  gap: .75rem;
  margin-bottom: .75rem;
}
.initie-admin-table-photos-cell {
  min-width: 0;
  max-width: 280px;
  vertical-align: top;
}
.initie-admin-photo-thumb {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .35rem;
  font-size: .72rem;
  color: #ffffff99;
  max-width: 100%;
  cursor: pointer;
}
.initie-admin-photo-thumb--table {
  display: block;
  text-decoration: none;
  cursor: pointer;
}
.initie-admin-photo-thumb img {
  width: 128px;
  height: 96px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: block;
  background: rgba(255, 255, 255, 0.04);
}
.initie-admin-photos-grid--table .initie-admin-photo-thumb img {
  width: 56px;
  height: 42px;
  border-radius: 6px;
}
.initie-admin-photo-thumb--table:hover img {
  border-color: rgba(0, 210, 190, 0.45);
}
.initie-admin-photos-more {
  font-size: .68rem;
  color: #ffffff70;
  padding: .15rem .35rem;
  align-self: center;
  line-height: 1.2;
}
.initie-admin-edit-form .grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 768px) {
  .initie-admin-edit-form .grid-2 {
    grid-template-columns: 1fr;
  }
  .initie-share-grid { grid-template-columns: 1fr; }
  .home-initie-pseudo-link { flex-wrap: wrap; }
  .home-section {
    padding: 2.5rem 0 1.5rem;
    overflow-x: hidden;
    max-width: 100%;
  }
  .home-best-sellers-section,
  .home-best-nouveautes-section {
    padding-bottom: 3rem;
  }
  .home-section-header,
  .home-categories-header {
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 1.25rem;
  }
  .home-section-cta,
  .home-categories-header-link,
  .home-universe-all-link {
    width: 100%;
    justify-content: center;
    text-align: center;
    white-space: normal;
  }
  .home-universes-slider-wrap.is-slider-mode {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
  }
  .home-universes-slider-wrap.is-slider-mode .home-universes-track {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: .25rem;
    width: 100%;
    max-width: 100%;
  }
  .home-universes-slider-wrap.is-slider-mode .home-universes-track::-webkit-scrollbar {
    display: none;
  }
  .home-universes-slider-wrap.is-slider-mode .home-universe-block {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    overflow: hidden;
  }
  .home-universes-slider-wrap.is-slider-mode .home-universes-slider-nav {
    display: flex;
  }
  .home-categories-section {
    padding: 1.5rem 0 2.5rem;
    overflow-x: hidden;
    max-width: 100%;
  }
  .home-universe-block {
    padding: 1rem;
  }
  .home-universe-head {
    flex-direction: column;
    align-items: stretch;
    gap: .65rem;
  }
  .home-universe-head-main {
    width: 100%;
  }
  .home-universe-products-grid {
    grid-template-columns: 1fr;
    gap: .85rem;
  }
  .section-title {
    font-size: 1.55rem;
    line-height: 1.15;
  }
}
@media (max-width: 480px) {
  .home-universe-head-main {
    gap: .65rem;
  }
  .home-category-icon {
    width: 2.15rem;
    height: 2.15rem;
  }
  .home-universe-title {
    font-size: 1.05rem;
  }
  .home-universe-desc {
    font-size: .78rem;
  }
}

@media (max-width: 900px) {
  .home-initie-grid { grid-template-columns: 1fr; }
  .initie-profile-hero-main { grid-template-columns: 1fr; }
  .initie-profile-hero-nav { display: none; }
  .initie-profile-hero-identity { padding-bottom: 1.75rem; }
  .initie-mag-layout { grid-template-columns: 1fr; }
  .initie-mag-sidebar { position: static; }
  .initie-mag-spread,
  .initie-mag-spread--reverse { grid-template-columns: 1fr; }
  .initie-mag-spread--reverse .initie-mag-copy,
  .initie-mag-spread--reverse .initie-mag-figure { order: unset; }
  .initie-mag-gallery-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .initie-mag-gallery-side {
    flex-direction: row;
    min-height: clamp(140px, 34vw, 220px);
  }
  .initie-mag-gallery-item--side {
    flex: 1 1 0;
  }
  .initie-mag-gallery-item,
  .initie-mag-gallery-item--lead { grid-column: span 6; }
  .initie-mag-products-grid { grid-template-columns: 1fr; }
  .initie-public-profile-grid { grid-template-columns: 1fr; }
  .initie-public-form-bar {
    flex-direction: column;
    align-items: stretch;
  }
  .initie-public-subnav {
    top: calc(var(--header-height, 64px) + .25rem);
  }
  .initie-featured-products-layout {
    grid-template-columns: 1fr;
  }
  .initie-featured-cat-nav {
    max-height: 200px;
  }
  .initie-mag-promo-banner-inner {
    flex-direction: column;
    align-items: stretch;
  }
  .initie-mag-promo-banner-actions {
    align-items: stretch;
  }
  .initie-mag-promo-banner .initie-profile-promo-hint {
    text-align: left;
  }
  .initie-mag-spread,
  .initie-mag-spread:has(.initie-showcase-spec--wide) {
    grid-template-columns: 1fr;
  }
  .initie-mag-spread-intro-snippet {
    columns: 1;
  }
  .initie-mag-spread-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .initie-showcase-hero-row {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .initie-showcase-copy {
    border-right: 0;
    border-bottom: 1px solid var(--border-strong);
  }
  .initie-showcase-bio {
    max-height: none;
    overflow: visible;
  }
  .initie-showcase-hero-btn img {
    min-height: 220px;
  }
  .initie-showcase-framed-inner {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.9fr);
  }
  .initie-showcase-thumb {
    flex-basis: 25%;
    min-width: 72px;
  }
  .initie-mag-spread-thumbs {
    width: 100%;
    max-width: none;
    position: relative;
    top: auto;
  }
  .initie-mag-spread-hero {
    width: 100%;
  }
  .initie-mag-spread-hero--sticky {
    height: clamp(220px, 52vw, 50vh);
    position: relative;
    top: auto;
  }
  .initie-showcase-spec--wide.initie-showcase-spec--cycles,
  .initie-showcase-spec--wide.initie-showcase-spec--motor {
    max-width: none;
  }
}

.promo-banner {
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.14), rgba(0, 210, 190, 0.06));
  border: 1px solid rgba(139, 92, 246, 0.28);
  border-radius: 20px;
  padding: 2rem;
  margin-bottom: 2rem;
  position: relative;
  overflow: visible;
}
.home-weekly-promo-block.promo-banner {
  margin-bottom: 0;
}
.promo-banner::before {
  content: ''; position: absolute; top: -50%; right: -20%;
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.18), transparent 70%);
  pointer-events: none;
  border-radius: inherit;
  clip-path: inset(0 round 20px);
}
.weekly-operation-countdown-banner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .5rem;
  margin-top: 1.15rem;
  width: 100%;
  max-width: 100%;
}
.weekly-operation-timer {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1rem;
  padding: .75rem 1.25rem;
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.48);
  border: 1px solid rgba(0, 210, 190, 0.35);
  max-width: 100%;
  box-sizing: border-box;
}
.weekly-operation-timer-label {
  font-family: Orbitron, sans-serif;
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #ffffffb8;
}
.weekly-promo-countdown,
.weekly-operation-countdown,
.product-card-countdown,
.catalog-inject-countdown,
.product-page-countdown {
  white-space: nowrap;
  flex-shrink: 1;
  min-width: 0;
  max-width: 100%;
}
.weekly-operation-countdown {
  font-family: Orbitron, sans-serif;
  font-size: clamp(1.1rem, 4.8vw, 1.75rem);
  font-weight: 700;
  letter-spacing: .06em;
  font-variant-numeric: tabular-nums;
  line-height: 1.15;
  display: inline-block;
  overflow-wrap: anywhere;
  word-break: break-word;
  background: linear-gradient(
    90deg,
    var(--petronas) 0%,
    #e879f9 48%,
    var(--violet) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.weekly-operation-countdown.is-expired {
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  -webkit-text-fill-color: #fca5a5;
  color: #fca5a5;
  font-size: 1.05rem;
}
.weekly-operation-dates {
  margin-top: 0;
  font-size: .92rem;
}
.weekly-operation-countdown-banner .promo-countdown,
.product-page-weekly-timer .promo-countdown {
  margin-top: 0;
}
@media (max-width: 640px) {
  .home-weekly-promo-block.promo-banner {
    padding: 1.25rem 1rem 1.15rem;
  }
  .weekly-operation-countdown-banner {
    align-items: stretch;
  }
  .weekly-operation-timer {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: .35rem;
    padding: .65rem .85rem;
  }
  .weekly-operation-timer-label {
    font-size: .72rem;
    line-height: 1.25;
    white-space: normal;
  }
  .weekly-operation-countdown {
    font-size: clamp(1rem, 6.5vw, 1.35rem);
    letter-spacing: .04em;
    white-space: nowrap;
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
  }
  .weekly-operation-dates {
    font-size: .82rem;
    line-height: 1.35;
  }
  .product-page-weekly-timer .weekly-operation-timer {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
  }
  .catalog-inject-timer .weekly-operation-timer {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
  }
}
.product-card-weekly-timer {
  margin: .55rem 0 .65rem;
  max-width: 100%;
  overflow: hidden;
}
.product-card-weekly-timer .weekly-operation-timer {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  padding: .55rem .75rem;
  gap: .2rem;
  flex-wrap: wrap;
  white-space: normal;
}
.product-card-weekly-timer .weekly-operation-timer-label {
  font-size: .68rem;
  line-height: 1.2;
  letter-spacing: .05em;
  max-width: 100%;
}
.product-card-weekly-timer .weekly-operation-countdown,
.product-card-weekly-timer .product-card-countdown {
  font-size: clamp(.95rem, 2.8vw, 1.15rem);
  letter-spacing: .04em;
  line-height: 1.15;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  text-overflow: clip;
  white-space: nowrap;
  display: block;
  min-width: 0;
}
.product-page-weekly-timer {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .5rem;
  margin: .85rem 0 .5rem;
}
.product-page-weekly-timer .weekly-operation-timer {
  flex-wrap: nowrap;
  white-space: nowrap;
}
.product-page-weekly-timer .weekly-operation-countdown {
  font-size: 1.85rem;
}
.product-page-weekly-promo-hint {
  display: block;
  font-size: .85rem;
  color: var(--violet-bright);
  margin-top: .35rem;
}
.catalog-inject-timer {
  padding: 0 1rem .5rem;
}
.catalog-inject-timer .weekly-operation-timer {
  width: 100%;
  justify-content: space-between;
  padding: .65rem 1rem;
  flex-wrap: nowrap;
  white-space: nowrap;
}
.product-card-weekly-timer .weekly-operation-timer-label,
.catalog-inject-timer .weekly-operation-timer-label,
.product-page-weekly-timer .weekly-operation-timer-label {
  white-space: nowrap;
  flex-shrink: 0;
}
.catalog-inject-timer .weekly-operation-countdown {
  font-size: 1.45rem;
}
.weekly-promo-code-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  margin-top: 1rem;
}
.weekly-promo-code-box {
  font-size: .9rem;
  color: #ffffff99;
}
.initie-steps {
  margin: 0;
  padding-left: 1.15rem;
  color: #ffffff99;
  font-size: .9rem;
  line-height: 1.65;
}
.initie-steps li { margin-bottom: .65rem; }
.initie-steps strong { color: #fff; }

/* Page graphistes freelance */
.graphiste-page-breadcrumb {
  font-size: .85rem;
  color: #ffffff66;
  margin-bottom: 1rem;
}
.graphiste-page-breadcrumb a { color: #ffffff66; }
.graphiste-page-breadcrumb a:hover { color: var(--petronas); }
.graphiste-page-hero { margin-bottom: 1.75rem; }
.graphiste-page-kicker {
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--petronas);
  margin-bottom: .5rem;
}
.graphiste-page-title {
  font-size: clamp(1.75rem, 4vw, 2.35rem);
  margin: 0 0 .75rem;
  line-height: 1.15;
}
.graphiste-page-lead {
  color: #ffffff99;
  line-height: 1.65;
  max-width: 720px;
  margin: 0;
}
.graphiste-page-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 1.75rem;
}
.graphiste-page-stat {
  text-align: center;
  padding: 1.15rem 1rem;
  border-color: rgba(139, 92, 246, 0.2);
}
.graphiste-page-stat-value {
  display: block;
  font-size: 1.35rem;
  color: var(--petronas);
  margin-bottom: .35rem;
}
.graphiste-page-stat-label {
  font-size: .75rem;
  color: #ffffff77;
  line-height: 1.35;
}
.graphiste-page-card-title {
  font-size: 1rem;
  margin-bottom: 1rem;
  color: var(--petronas);
}
.graphiste-page-highlight {
  border-color: rgba(0, 210, 190, 0.28);
  background: linear-gradient(145deg, rgba(0, 210, 190, 0.06), rgba(16, 16, 24, 0.9));
}
.graphiste-page-list {
  margin: 0;
  padding-left: 1.1rem;
  color: #ffffff99;
  font-size: .9rem;
  line-height: 1.65;
}
.graphiste-page-list li { margin-bottom: .45rem; }
.graphiste-page-note {
  margin: 1rem 0 0;
  font-size: .78rem;
  color: #ffffff55;
  line-height: 1.5;
}
.graphiste-page-benefits { margin-bottom: 2rem; }
.graphiste-benefits-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
.graphiste-benefit-title {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #fff;
  margin: 0 0 .35rem;
}
.graphiste-benefits-grid p {
  margin: 0;
  font-size: .88rem;
  color: #ffffff88;
  line-height: 1.55;
}
.graphiste-page-form-lead {
  font-size: .88rem;
  color: #ffffff77;
  line-height: 1.6;
  margin: 0 0 1.25rem;
}
.graphiste-page-recaptcha-hint,
.initie-recaptcha-hint,
.recaptcha-admin-hint {
  font-size: .8rem;
  color: #ffffff55;
  margin: 0 0 1rem;
  line-height: 1.45;
}
.graphiste-apply-success {
  padding: 2rem;
  text-align: center;
  border-color: var(--petronas);
}
.graphiste-tech-specs {
  margin-bottom: 2rem;
  padding: 1.5rem;
}
.graphiste-tech-specs--compact {
  margin-bottom: 1.5rem;
  padding: 1.25rem;
  border-color: rgba(0, 210, 190, .25);
}
.graphiste-tech-specs-lead {
  color: #ffffff80;
  font-size: .9rem;
  line-height: 1.6;
  margin-bottom: 1.25rem;
}
.graphiste-tech-specs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.graphiste-tech-specs-block {
  padding: 1rem;
  border: 1px solid #ffffff14;
  border-radius: 8px;
  background: rgba(255, 255, 255, .03);
}
.graphiste-tech-specs-block p {
  font-size: .86rem;
  color: #ffffff99;
  line-height: 1.6;
  margin: 0;
}
.graphiste-tech-specs-heading {
  font-size: .82rem;
  color: var(--petronas);
  margin: 0 0 .5rem;
}
.graphiste-tech-code {
  font-family: ui-monospace, monospace;
  font-size: .82em;
  color: var(--cyan);
  background: #ffffff0a;
  padding: .1rem .35rem;
  border-radius: 4px;
}
.graphiste-tech-specs-note {
  font-size: .82rem;
  color: #ffffff66;
  line-height: 1.55;
  margin: 0 0 .75rem;
}
.graphiste-tech-download-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .5rem;
}
.graphiste-tech-download-item {
  margin: 0;
}
.graphiste-tech-download-link {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: .75rem 1rem;
  border: 1px solid #ffffff18;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  transition: border-color .2s, background .2s;
}
.graphiste-tech-download-link:hover {
  border-color: var(--petronas);
  background: rgba(0, 210, 190, .06);
}
.graphiste-tech-download-icon {
  font-family: ui-monospace, monospace;
  font-size: .72rem;
  font-weight: 700;
  color: var(--petronas);
  background: rgba(0, 210, 190, .12);
  padding: .35rem .5rem;
  border-radius: 4px;
  flex-shrink: 0;
}
.graphiste-tech-download-meta {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  font-size: .82rem;
  color: #ffffff66;
}
.graphiste-tech-download-meta strong {
  color: #ffffffcc;
  font-size: .88rem;
}
@media (max-width: 900px) {
  .graphiste-tech-specs-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .graphiste-page-stats { grid-template-columns: 1fr; }
  .graphiste-benefits-grid { grid-template-columns: 1fr; }
}

.initie-commitment-check {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  font-size: .88rem;
  color: #ffffffaa;
  line-height: 1.55;
  margin-top: .25rem;
}
.initie-commitment-check input {
  margin-top: .2rem;
  flex-shrink: 0;
}
.initie-existing-client-options .account-panel-check {
  font-size: .88rem;
}

.promo-countdown {
  display: inline-block; margin-top: .5rem; padding: .35rem .75rem;
  background: rgba(0, 0, 0, 0.4); border-radius: 999px;
  font-size: .8rem; color: var(--petronas);
}

.section-header { margin-bottom: 2rem; }
.section-label { font-family: Orbitron, sans-serif; font-size: .7rem; text-transform: uppercase; letter-spacing: .2em; }
.section-title { font-family: Orbitron, sans-serif; font-size: 2rem; text-transform: uppercase; margin-top: .35rem; }

.error-page { min-height: 55vh; display: flex; align-items: center; padding-bottom: 4rem; }
.error-page-inner { max-width: 640px; text-align: center; margin: 0 auto; }
.error-page-code {
  font-size: clamp(4rem, 14vw, 7rem);
  line-height: 1;
  margin: 0 0 .5rem;
  color: rgba(255, 255, 255, .08);
  letter-spacing: .05em;
}
.error-page-title { font-size: clamp(1.5rem, 4vw, 2rem); margin: 0 0 1rem; }
.error-page-message { color: #ffffff99; font-size: 1.05rem; margin: 0 0 .75rem; line-height: 1.6; }
.error-page-hint { color: #ffffff55; font-size: .9rem; margin: 0 0 2rem; }
.error-page-actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }

/* Guide vinyles */
.vinyl-guide { margin-top: 4rem; padding-top: 3rem; border-top: 1px solid rgba(139, 92, 246, 0.12); }
.product-page-before-after-wrap {
  margin-top: 3rem;
  padding-top: 2.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.product-page-before-after-wrap .home-before-after-section {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.product-page-before-after-wrap .home-why-choose-us {
  margin-top: 2.5rem;
}
.product-page-before-after-wrap + .vinyl-guide {
  margin-top: 2.5rem;
  padding-top: 2.5rem;
}
.vinyl-section-header { margin-bottom: 1.5rem; }
.vinyl-label {
  font-family: Orbitron, sans-serif; font-size: .65rem; text-transform: uppercase;
  letter-spacing: .25em; color: var(--petronas);
}
.vinyl-title { font-size: 1.5rem; text-transform: uppercase; margin-top: .25rem; }
.vinyl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.25rem; }
.vinyl-card { position: relative; overflow: hidden; padding: 1.25rem; transition: border-color .3s, transform .3s; }
.vinyl-card--has-image {
  padding: 0;
  display: flex;
  flex-direction: column;
}
.vinyl-card:hover {
  border-color: rgba(0, 210, 190, 0.28) !important;
  transform: translateY(-2px);
}
.vinyl-card-accent {
  position: absolute; top: 0; left: 0; width: 4px; height: 100%;
  background: var(--vinyl-accent, var(--petronas));
  z-index: 1;
}
.vinyl-card-media {
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: rgba(255, 255, 255, .04);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.vinyl-card-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.vinyl-card-body {
  padding: 1rem 1.15rem 1.2rem 1.35rem;
  min-width: 0;
}
.vinyl-card:not(.vinyl-card--has-image) .vinyl-card-body {
  padding: 0;
}
.vinyl-card-title { font-size: .85rem; margin-bottom: .35rem; padding-left: .5rem; line-height: 1.3; }
.vinyl-card-tagline {
  font-size: .8rem; color: var(--violet-bright); font-weight: 600;
  padding-left: .5rem; margin-bottom: .5rem;
}
.vinyl-card-desc { font-size: .85rem; color: #ffffff80; line-height: 1.55; padding-left: .5rem; }
.vinyl-badge {
  position: absolute; top: 10px; right: 10px; padding: .2rem .5rem; border-radius: 4px;
  font-family: Orbitron, sans-serif; font-size: .6rem; font-weight: 700;
}
.vinyl-badge-new { background: var(--petronas); color: var(--black); }
.vinyl-badge-hot { background: var(--violet); color: #fff; }
/* Choix vinyle fiche produit */
.product-vinyl-choices { margin-bottom: 1.5rem; }
.product-vinyl-group { margin-bottom: 1.5rem; }
.vinyl-pair-advice {
  margin-top: .85rem;
  padding: .75rem 1rem;
  border-radius: 10px;
  background: var(--warn-bg);
  border: 1px solid var(--warn-border);
  color: var(--warn);
}
.vinyl-pair-advice[hidden] { display: none !important; }
.vinyl-pair-advice-label {
  display: block;
  font-family: Orbitron, sans-serif;
  font-size: .65rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: .35rem;
  color: var(--warn);
}
.vinyl-pair-advice-text {
  margin: 0;
  font-size: .88rem;
  line-height: 1.45;
  color: var(--text, #e8e8f0);
}
.product-vinyl-choices--config .vinyl-pair-advice {
  margin-top: .75rem;
}
.vinyl-choice-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: .65rem;
}
.vinyl-choice-btn {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  padding: .85rem .85rem .85rem 1rem;
  min-height: 88px;
  overflow: hidden;
}
.vinyl-choice-btn.selected {
  border-color: rgba(0, 210, 190, 0.55) !important;
  background: rgba(0, 210, 190, 0.08);
  box-shadow: inset 0 0 0 1px rgba(0, 210, 190, 0.2);
}
.vinyl-choice-accent {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--vinyl-accent, var(--petronas));
}
.vinyl-choice-badge {
  position: absolute;
  top: .5rem;
  right: .5rem;
  font-size: .55rem;
  font-family: Orbitron, sans-serif;
  padding: .15rem .4rem;
  border-radius: 4px;
  background: var(--violet);
  color: #fff;
}
.vinyl-choice-title {
  font-family: Orbitron, sans-serif;
  font-size: .72rem;
  line-height: 1.35;
  margin-bottom: .25rem;
  padding-right: 2rem;
}
.vinyl-choice-tagline {
  font-size: .75rem;
  color: #ffffff70;
  line-height: 1.4;
}
.vinyl-choice-price-hint {
  display: block;
  margin-top: .4rem;
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--petronas);
}
.vinyl-choice-btn.has-vinyl-image .vinyl-choice-price-hint {
  margin-top: .25rem;
}
/* Fiche produit : vignette compacte (bases + finitions) */
.vinyl-choice-btn.has-vinyl-image.vinyl-choice-btn--compact-thumb {
  flex-direction: row;
  align-items: center;
  gap: .65rem;
  padding: .7rem .85rem .7rem 1rem;
  min-height: 72px;
}
.vinyl-choice-btn.has-vinyl-image.vinyl-choice-btn--compact-thumb .vinyl-choice-accent {
  display: block;
}
.vinyl-choice-btn.has-vinyl-image.vinyl-choice-btn--compact-thumb .vinyl-choice-thumb {
  width: 48px;
  height: 48px;
  aspect-ratio: 1;
  border-radius: 8px;
  overflow: hidden;
  background: #ffffff08;
  flex-shrink: 0;
  border: 1px solid #ffffff14;
}
.vinyl-choice-btn.has-vinyl-image.vinyl-choice-btn--compact-thumb .vinyl-choice-thumb--swatch {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}
.vinyl-choice-btn.has-vinyl-image.vinyl-choice-btn--compact-thumb .vinyl-choice-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.vinyl-choice-btn.has-vinyl-image.vinyl-choice-btn--compact-thumb .vinyl-choice-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 0;
  min-width: 0;
}
.vinyl-choice-btn.has-vinyl-image.vinyl-choice-btn--compact-thumb .vinyl-choice-title,
.vinyl-choice-btn.has-vinyl-image.vinyl-choice-btn--compact-thumb .vinyl-choice-tagline {
  padding: 0;
}
.vinyl-choice-btn.has-vinyl-image.vinyl-choice-btn--compact-thumb .vinyl-choice-title {
  margin-top: 0;
  margin-bottom: .15rem;
  padding-right: 1.75rem;
}
.vinyl-choice-btn.has-vinyl-image.vinyl-choice-btn--compact-thumb .vinyl-choice-price-hint {
  margin-top: .2rem;
}
/* Vinyles avec image ? configurateur produit (grandes cartes) */
.product-vinyl-choices--config .product-vinyl-group { margin-bottom: 0; }
.vinyl-choice-grid--config {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .85rem;
}
.vinyl-choice-btn.has-vinyl-image:not(.vinyl-choice-btn--compact-thumb) {
  padding: 0;
  min-height: 0;
  align-items: stretch;
  overflow: hidden;
  border-radius: 10px;
}
.vinyl-choice-btn.has-vinyl-image:not(.vinyl-choice-btn--compact-thumb) .vinyl-choice-accent { display: none; }
.vinyl-choice-btn.has-vinyl-image.selected {
  box-shadow: inset 0 0 0 2px var(--vinyl-accent, var(--petronas)), 0 0 0 1px rgba(0, 210, 190, 0.25);
}
.vinyl-choice-btn.has-vinyl-image .vinyl-choice-badge { z-index: 2; }
.vinyl-choice-btn.has-vinyl-image:not(.vinyl-choice-btn--compact-thumb) .vinyl-choice-thumb {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #ffffff08;
  flex-shrink: 0;
}
.vinyl-choice-btn.has-vinyl-image:not(.vinyl-choice-btn--compact-thumb) .vinyl-choice-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.vinyl-choice-btn.has-vinyl-image:not(.vinyl-choice-btn--compact-thumb) .vinyl-choice-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: .55rem .65rem .65rem;
  min-width: 0;
}
.vinyl-choice-btn.has-vinyl-image:not(.vinyl-choice-btn--compact-thumb) .vinyl-choice-title,
.vinyl-choice-btn.has-vinyl-image:not(.vinyl-choice-btn--compact-thumb) .vinyl-choice-tagline {
  padding: 0;
}
.vinyl-choice-btn.has-vinyl-image:not(.vinyl-choice-btn--compact-thumb) .vinyl-choice-title {
  margin-top: 0;
  margin-bottom: .2rem;
  padding-right: 1.75rem;
}
.vinyl-choice-btn.has-vinyl-image:not(.vinyl-choice-btn--compact-thumb) .vinyl-choice-tagline {
  padding-bottom: 0;
}
@media (max-width: 960px) {
  .vinyl-choice-grid--config {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .vinyl-choice-grid--config {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* Configurateur : choix 1 ou 2 colonnes sur mobile (voir product-config-wizard.js) */
.product-config-vinyl-view-bar,
.product-config-cat-view-bar {
  display: none;
  align-items: center;
  flex-wrap: wrap;
  gap: .35rem;
  margin-bottom: .65rem;
}
.product-config-vinyl-view-label,
.product-config-cat-view-label {
  font-size: .72rem;
  color: #ffffff88;
  margin-right: .15rem;
}
@media (max-width: 768px) {
  .product-config-vinyl-view-bar,
  .product-config-cat-view-bar {
    display: flex;
  }
  html[data-config-vinyl-mobile-cols="1"] .product-config-modal .vinyl-choice-grid--config {
    grid-template-columns: 1fr !important;
  }
  html[data-config-vinyl-mobile-cols="2"] .product-config-modal .vinyl-choice-grid--config {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  html[data-config-cat-mobile-cols="1"] .product-config-modal .attr-cat-products-grid {
    grid-template-columns: 1fr !important;
    max-height: none;
  }
  html[data-config-cat-mobile-cols="2"] .product-config-modal .attr-cat-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-height: none;
  }
}

/* Attributs li?s ? une image produit ? configurateur */
.attr-option-image-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
}
.color-swatches.attr-option-image-grid {
  display: grid;
}
.attr-option-image-btn,
.attr-option-image-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 1px solid #ffffff18;
  border-radius: 10px;
  background: #ffffff06;
  overflow: hidden;
  cursor: pointer;
  text-align: left;
  color: inherit;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.attr-option-image-btn.has-attr-option-image {
  min-height: 0;
}
.attr-option-image-btn.selected,
.attr-option-image-card:has(.attr-priced-checkbox:checked) {
  border-color: rgba(0, 210, 190, 0.55);
  box-shadow: inset 0 0 0 2px var(--petronas), 0 0 0 1px rgba(0, 210, 190, 0.2);
  background: rgba(0, 210, 190, 0.06);
}
.attr-option-image-thumb {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #ffffff08;
  flex-shrink: 0;
}
.attr-option-image-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.attr-option-image-label {
  display: block;
  padding: .55rem .65rem .65rem;
  font-size: .82rem;
  line-height: 1.35;
  font-weight: 600;
}
.attr-option-image-label small,
.attr-option-image-label .attr-price-hint {
  display: block;
  font-size: .72rem;
  font-weight: 500;
  color: #ffffff70;
  margin-top: .15rem;
}
.attr-option-image-btn .attr-hint-badge,
.attr-option-image-card .attr-hint-badge {
  position: absolute;
  top: .45rem;
  right: .45rem;
}
.attr-option-image-btn .attr-hint-badge.attr-has-hint,
.attr-option-image-card .attr-hint-badge.attr-has-hint {
  position: absolute;
}
.attr-checkbox-image-card .attr-priced-checkbox {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.product-config-modal:has(.attr-option-image-grid) {
  max-width: min(96vw, 1040px);
}
.product-config-modal .attr-field[data-attr-type="CHECKBOX"]:has(.attr-option-image-grid--checkbox) {
  display: block;
}
.product-config-modal .attr-field[data-attr-type="CHECKBOX"]:has(.attr-option-image-grid--checkbox) > .label {
  margin-bottom: .65rem;
}
@media (max-width: 960px) {
  .attr-option-image-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  .attr-option-image-grid {
    grid-template-columns: 1fr;
  }
}

.vinyl-secret {
  margin: 2.5rem 0; padding: 1.75rem;
  border-color: rgba(0, 210, 190, 0.18);
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.05), rgba(139, 92, 246, 0.04));
}

/* Modale confirmation commande */
.order-modal-overlay {
  position: fixed; inset: 0; z-index: 1000;
  background: rgba(3, 3, 4, 0.88);
  backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  padding: 1.5rem;
  animation: modalFadeIn .3s ease;
}
.order-modal {
  width: 100%; max-width: 420px; text-align: center;
  padding: 2rem 1.75rem;
  border-color: rgba(0, 210, 190, 0.35);
  box-shadow: 0 0 60px rgba(0, 210, 190, 0.12);
  animation: modalSlideUp .35s ease;
}
.order-modal-icon {
  width: 64px; height: 64px; margin: 0 auto 1rem;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 1.75rem; font-weight: bold;
  background: rgba(0, 210, 190, 0.12);
  color: var(--petronas);
  border: 2px solid rgba(0, 210, 190, 0.35);
}
.order-modal-title { font-size: 1.25rem; margin-bottom: .75rem; text-transform: uppercase; }
.order-modal-text { color: #ffffff99; line-height: 1.6; font-size: .95rem; }
.order-modal-ref { margin-top: 1rem; font-size: .9rem; color: #ffffff80; }
.order-modal-total { font-size: 1.5rem; margin-top: .35rem; }
.order-modal-payment-instructions { margin-top: 1rem; text-align: left; width: 100%; }
.payment-instructions-box {
  padding: 1rem 1.1rem;
  border-radius: 12px;
  background: #ffffff08;
  border: 1px solid #ffffff18;
}
.payment-instructions-box--wire { border-color: rgba(0, 240, 255, .35); }
.payment-instructions-box--cheque { border-color: rgba(255, 0, 170, .35); }
.payment-instructions-kicker {
  margin: 0 0 .75rem;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--cyan);
  font-family: var(--font-display, inherit);
}
.payment-instructions-box--cheque .payment-instructions-kicker { color: var(--magenta); }
.payment-instructions-list { margin: 0; }
.payment-instructions-list > div {
  display: grid;
  grid-template-columns: minmax(110px, 38%) 1fr;
  gap: .35rem .75rem;
  padding: .4rem 0;
  border-bottom: 1px solid #ffffff10;
  font-size: .9rem;
}
.payment-instructions-list > div:last-child { border-bottom: 0; }
.payment-instructions-list dt { margin: 0; color: #ffffff66; }
.payment-instructions-list dd { margin: 0; color: #fff; }
.payment-instructions-mono { font-family: ui-monospace, Consolas, monospace; font-size: .88rem; word-break: break-all; }
.payment-instructions-note {
  margin: .85rem 0 0;
  font-size: .82rem;
  color: #ffffff80;
  line-height: 1.5;
}
@keyframes modalFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes modalSlideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

/* Modale ajout panier */
.newsletter-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: rgba(3, 3, 4, .82);
  backdrop-filter: blur(6px);
}
body.newsletter-modal-open { overflow: hidden; }
.newsletter-modal {
  width: 100%;
  max-width: 420px;
  text-align: center;
  padding: 2rem 1.5rem 1.5rem;
  border-color: rgba(0, 210, 190, .35);
  box-shadow: 0 24px 64px rgba(0, 0, 0, .45), 0 0 0 1px rgba(0, 210, 190, .12);
  animation: newsletterModalIn .28s ease;
}
@keyframes newsletterModalIn {
  from { opacity: 0; transform: translateY(12px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.newsletter-modal-icon-wrap {
  position: relative;
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1rem;
}
.newsletter-modal-icon {
  position: relative;
  z-index: 1;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-on-accent);
  background: linear-gradient(135deg, var(--violet-deep), var(--petronas));
  box-shadow: 0 0 24px rgba(0, 210, 190, .35);
}
.newsletter-modal-pulse {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: rgba(0, 210, 190, .25);
  animation: newsletterModalPulse 1.6s ease-out infinite;
}
@keyframes newsletterModalPulse {
  0% { transform: scale(1); opacity: .55; }
  100% { transform: scale(1.55); opacity: 0; }
}
.newsletter-modal-title {
  font-size: 1.15rem;
  text-transform: uppercase;
  margin: 0 0 .65rem;
  letter-spacing: .04em;
}
.newsletter-modal-text {
  margin: 0;
  color: #ffffff99;
  font-size: .95rem;
  line-height: 1.55;
}
.newsletter-modal-email {
  margin: .75rem 0 0;
  font-size: .88rem;
  color: var(--petronas);
  font-family: ui-monospace, Consolas, monospace;
  word-break: break-all;
}
.newsletter-modal-hint {
  margin: 1rem 0 0;
  font-size: .78rem;
  color: #ffffff55;
  line-height: 1.45;
}
.newsletter-modal-actions {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  margin-top: 1.35rem;
}
.newsletter-modal-actions .btn { width: 100%; }

.cart-modal-overlay {
  position: fixed; inset: 0; z-index: 1100;
  background: rgba(3, 3, 4, 0.9);
  backdrop-filter: blur(10px);
  display: flex; align-items: center; justify-content: center;
  padding: 1.5rem;
  animation: modalFadeIn .25s ease;
}
.cart-modal {
  width: 100%; max-width: 440px; text-align: center;
  padding: 2rem 1.75rem;
  border-color: rgba(0, 210, 190, 0.4);
  box-shadow: 0 0 80px rgba(0, 210, 190, 0.15);
  animation: modalSlideUp .35s ease;
}
.cart-modal-icon-wrap {
  position: relative; width: 72px; height: 72px; margin: 0 auto 1.25rem;
}
.cart-modal-icon {
  position: relative; z-index: 1;
  width: 72px; height: 72px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 2rem; font-weight: bold; color: var(--petronas);
  background: rgba(0, 210, 190, 0.12);
  border: 2px solid rgba(0, 210, 190, 0.45);
  animation: cartCheckPop .5s cubic-bezier(.34, 1.56, .64, 1);
}
.cart-modal-pulse {
  position: absolute; inset: 0; border-radius: 50%;
  border: 2px solid rgba(0, 210, 190, 0.5);
  animation: cartPulseRing 1.2s ease-out .15s 2;
}
.cart-modal-title { font-size: 1.2rem; text-transform: uppercase; margin-bottom: .5rem; }
.cart-modal-product { color: #ffffffcc; font-size: 1rem; margin-bottom: .25rem; }
.cart-modal-qty { color: #ffffff80; font-size: .9rem; margin-bottom: .5rem; }
.cart-modal-total { font-size: 1.35rem; margin-bottom: 1.5rem; }
.cart-modal-actions { display: flex; flex-direction: column; gap: .75rem; }
.cart-modal-actions .btn { width: 100%; }
@keyframes cartCheckPop {
  0% { transform: scale(0); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes cartPulseRing {
  0% { transform: scale(1); opacity: .8; }
  100% { transform: scale(1.8); opacity: 0; }
}

/* Modale alerte / confirmation (remplace alert & confirm natifs) ? au-dessus des modales admin */
.gxs-dialog-overlay {
  position: fixed; inset: 0; z-index: 13000;
  background: rgba(3, 3, 4, 0.92);
  backdrop-filter: blur(10px);
  display: flex; align-items: center; justify-content: center;
  padding: 1.5rem;
  animation: modalFadeIn .25s ease;
}
.gxs-dialog {
  width: 100%; max-width: 440px; text-align: center;
  padding: 2rem 1.75rem;
  border-color: rgba(0, 210, 190, 0.35);
  box-shadow: 0 0 60px rgba(0, 210, 190, 0.12);
  animation: modalSlideUp .3s ease;
}
.gxs-dialog-icon {
  width: 56px; height: 56px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.75rem; font-weight: 700;
  margin: 0 auto 1rem;
  background: rgba(0, 210, 190, 0.12);
  border: 2px solid rgba(0, 210, 190, 0.4);
  color: var(--petronas);
}
.gxs-dialog-error .gxs-dialog {
  border-color: rgba(244, 63, 94, 0.4);
  box-shadow: 0 0 60px rgba(244, 63, 94, 0.12);
}
.gxs-dialog-error .gxs-dialog-icon {
  background: rgba(244, 63, 94, 0.12);
  border-color: rgba(244, 63, 94, 0.45);
  color: #fb7185;
}
.gxs-dialog-confirm .gxs-dialog-icon {
  background: rgba(139, 92, 246, 0.15);
  border-color: rgba(139, 92, 246, 0.45);
  color: var(--violet-bright);
}
.gxs-dialog-success .gxs-dialog {
  border-color: rgba(0, 210, 190, 0.45);
  box-shadow: 0 0 60px rgba(0, 210, 190, 0.15);
}
.gxs-dialog-success .gxs-dialog-icon {
  background: rgba(0, 210, 190, 0.15);
  border-color: rgba(0, 210, 190, 0.5);
  color: var(--petronas);
}
.gxs-dialog-warning .gxs-dialog {
  border-color: rgba(139, 92, 246, 0.4);
  box-shadow: 0 0 60px rgba(139, 92, 246, 0.1);
}
.gxs-dialog-warning .gxs-dialog-icon {
  background: rgba(139, 92, 246, 0.12);
  border-color: rgba(139, 92, 246, 0.45);
  color: var(--violet-bright);
}
.gxs-dialog-title {
  font-size: 1.1rem; text-transform: uppercase;
  margin-bottom: .65rem; line-height: 1.35;
}
.gxs-dialog-message {
  color: #ffffffb3; font-size: .95rem; line-height: 1.55;
  margin-bottom: 1.5rem; white-space: pre-wrap;
}
.gxs-dialog-actions {
  display: flex; gap: .75rem; justify-content: center; flex-wrap: wrap;
}
.gxs-dialog-actions .btn { min-width: 120px; flex: 1; }
.gxs-dialog-spinner {
  width: 52px; height: 52px; margin: 0 auto 1rem;
  border-radius: 50%;
  border: 3px solid rgba(0, 210, 190, 0.2);
  border-top-color: var(--petronas);
  animation: gxsDialogSpin .8s linear infinite;
}
.gxs-dialog-loading .gxs-dialog {
  border-color: rgba(0, 210, 190, 0.45);
  box-shadow: 0 0 60px rgba(0, 210, 190, 0.16);
}
@keyframes gxsDialogSpin {
  to { transform: rotate(360deg); }
}
.btn-add-cart-loading { opacity: .7; pointer-events: none; }
.btn-add-cart-loading .btn-add-cart-label::after {
  content: '?'; animation: dots 1s steps(3, end) infinite;
}
.btn-add-cart-success {
  animation: btnAddSuccess .5s ease;
  box-shadow: 0 0 24px rgba(0, 210, 190, 0.4);
}
@keyframes btnAddSuccess {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.03); }
}
@keyframes dots {
  0% { content: ''; }
  33% { content: '.'; }
  66% { content: '..'; }
  100% { content: '...'; }
}

/* Choix acompte / totalit? */
.pay-amount-mode { display: flex; flex-direction: column; gap: .65rem; }
.pay-amount-mode-title {
  font-size: .8rem; text-transform: uppercase; letter-spacing: .04em;
  color: var(--cyan); margin: 0 0 .25rem;
}
.pay-amount-option {
  display: flex; gap: .75rem; align-items: flex-start;
  padding: .85rem 1rem; border: 1px solid #ffffff1a; border-radius: 12px;
  cursor: pointer; transition: border-color .2s, background .2s;
}
.pay-amount-option:hover { border-color: #ffffff33; }
.pay-amount-option.active {
  border-color: rgba(0, 210, 190, 0.5);
  background: rgba(0, 210, 190, 0.06);
}
.pay-amount-option input { margin-top: .2rem; accent-color: var(--petronas); }
.pay-amount-option-body { display: flex; flex-direction: column; gap: .15rem; flex: 1; }
.pay-amount-option-body strong { font-size: .9rem; }
.pay-amount-option-price { font-size: 1.05rem; }
.pay-amount-option-body small { font-size: .75rem; color: #ffffff66; }
.order-payment-balance-paid-at {
  margin: .65rem 0 0;
  font-size: .82rem;
  color: var(--petronas);
  line-height: 1.45;
}
.order-payment-summary {
  padding: .85rem 1rem;
  background: #ffffff06;
  border: 1px solid #ffffff12;
  border-radius: 12px;
}
.order-payment-summary--compact {
  padding: .65rem .85rem;
  background: #ffffff08;
}
.order-payment-summary--checkout {
  padding: 0;
  background: transparent;
  border: none;
}
.order-payment-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  font-size: .9rem;
  margin-bottom: .35rem;
}
.order-payment-summary-row:last-of-type { margin-bottom: 0; }
.order-payment-summary-row span { color: #ffffff99; }

.cart-item-deposit-tag {
  display: inline-block;
  margin: .35rem 0 .25rem;
  padding: .25rem .55rem;
  border-radius: 6px;
  font-size: .72rem;
  font-weight: 600;
  color: var(--petronas);
  background: rgba(0, 210, 190, 0.1);
  border: 1px solid rgba(0, 210, 190, 0.28);
  line-height: 1.4;
}
.cart-deposit-kicker {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--petronas);
  margin-bottom: .65rem;
}

/* Admin ? frais de port group?s */
.shipping-admin-groups {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.shipping-admin-method {
  padding: 1.25rem 1.25rem .5rem;
}
.shipping-admin-method-title {
  display: flex;
  align-items: center;
  gap: .65rem;
  font-size: 1.05rem;
  color: var(--petronas);
  margin-bottom: 1.25rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid #ffffff12;
}
.shipping-admin-method-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 8px;
  font-size: 1rem;
}
.shipping-admin-method-icon--colissimo {
  background: rgba(255, 204, 0, 0.12);
  border: 1px solid rgba(255, 204, 0, 0.35);
}
.shipping-admin-method-icon--relais {
  background: rgba(139, 92, 246, 0.12);
  border: 1px solid rgba(139, 92, 246, 0.35);
}
.shipping-admin-zone {
  margin-bottom: 1.25rem;
}
.shipping-admin-zone:last-child {
  margin-bottom: .5rem;
}
.shipping-admin-zone-title {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #ffffffcc;
  margin-bottom: .65rem;
}
.shipping-admin-zone-code {
  font-size: .68rem;
  color: #ffffff55;
  padding: .15rem .4rem;
  border-radius: 4px;
  background: #ffffff08;
  letter-spacing: .04em;
}
.shipping-admin-table-wrap {
  overflow-x: auto;
  border: 1px solid #ffffff0d;
  border-radius: 10px;
}
.shipping-admin-table {
  width: 100%;
  margin: 0;
}
.shipping-admin-table th {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #ffffff66;
  background: #ffffff05;
}
.shipping-admin-table td {
  font-size: .88rem;
}
.shipping-admin-actions {
  white-space: nowrap;
}

/* Admin ? acomptes */
.admin-deposit-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 1.25rem;
}
@media (max-width: 900px) {
  .admin-deposit-stats { grid-template-columns: repeat(2, 1fr); }
}
.admin-deposit-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.1rem 1rem;
  text-decoration: none;
  color: inherit;
  transition: border-color .2s, transform .2s;
}
.admin-deposit-stat:hover {
  border-color: rgba(0, 210, 190, 0.35);
  transform: translateY(-2px);
}
.admin-deposit-stat--active {
  border-color: var(--petronas) !important;
  box-shadow: 0 0 24px rgba(0, 210, 190, 0.12);
}
.admin-deposit-stat-value {
  font-family: Orbitron, sans-serif;
  font-size: 1.75rem;
  color: var(--petronas);
  line-height: 1.1;
}
.admin-deposit-stat-label {
  font-size: .78rem;
  color: #ffffff80;
  margin-top: .35rem;
}
/* Configurateur moto accueil */
.moto-config-modal {
  position: relative;
  max-width: min(92vw, 720px);
  max-height: 90vh;
  overflow: hidden;
  background-color: #050508;
  background-image:
    linear-gradient(165deg, rgba(5, 5, 8, 0.9) 0%, rgba(5, 5, 8, 0.78) 42%, rgba(5, 5, 8, 0.92) 100%),
    url('https://gxs-racing.com/themes/at_movic/assets/img/modules/appagebuilder/images/BACKGROUND3.3.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  backdrop-filter: none;
}
.moto-config-modal .product-config-step-desc.moto-config-step-desc {
  margin-bottom: .85rem;
  font-size: .84rem;
}
.moto-config-modal .moto-config-nav-panel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: .75rem;
}
.moto-config-modal .moto-config-search-block {
  width: 100%;
}
.moto-config-modal .moto-config-cascade-block {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  width: 100%;
}
.moto-config-modal .moto-config-cascade-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem .75rem;
  width: 100%;
}
.moto-config-modal .moto-config-cascade-grid .moto-category-level {
  flex: none;
  width: 100%;
  min-width: 0;
}
.moto-config-modal .moto-config-product-picker {
  width: 100%;
}
.moto-config-modal .moto-config-empty-hint {
  margin: 0;
  font-size: .85rem;
  color: #ffffff66;
  grid-column: 1 / -1;
}
.moto-config-modal .moto-config-breadcrumb {
  margin-top: .35rem;
  margin-bottom: 0;
}
.moto-config-modal #moto-config-form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.moto-config-modal .moto-config-step,
.moto-config-modal #moto-dynamic-steps {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}
.moto-config-modal .moto-config-error,
.moto-config-modal .product-config-footer {
  flex-shrink: 0;
}
.moto-config-modal .product-config-footer {
  display: flex;
  gap: .65rem;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #ffffff12;
}
.moto-config-modal .attr-moto-search-dropdown {
  position: static;
  margin-top: .35rem;
  max-height: min(720px, 78vh);
  overflow: auto;
}
.moto-config-modal .attr-moto-search-status:not([hidden]) {
  display: block;
}
.moto-config-modal .attr-moto-search-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .45rem;
  padding: .5rem;
}
.moto-config-modal .attr-moto-search-item {
  min-width: 0;
}
.moto-config-modal .attr-moto-search-option {
  flex-direction: column;
  align-items: stretch;
  gap: .3rem;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: .45rem .4rem .5rem;
  border-radius: 10px;
  border: 1px solid var(--border-faint);
  background: rgba(255, 255, 255, .02);
}
.moto-config-modal .attr-moto-search-option:hover,
.moto-config-modal .attr-moto-search-option.is-active {
  border-color: rgba(0, 210, 190, .35);
  background: rgba(0, 210, 190, 0.1);
}
.moto-config-modal .attr-moto-search-option--category:hover,
.moto-config-modal .attr-moto-search-option--category.is-active {
  border-color: rgba(167, 139, 250, .45);
  background: rgba(167, 139, 250, .1);
}
.moto-config-modal .attr-moto-search-option-thumb {
  width: 100%;
  border-radius: 8px;
}
.moto-config-modal .attr-moto-search-option:not(.attr-moto-search-option--category) .attr-moto-search-option-thumb {
  min-height: 150px;
  height: 150px;
  max-height: none;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .06);
}
.moto-config-modal .attr-moto-search-option:not(.attr-moto-search-option--category) .attr-moto-search-option-thumb img {
  width: 100%;
  height: 100%;
  min-height: 150px;
  object-fit: contain;
  object-position: center;
}
.moto-config-modal .attr-moto-search-option--category .attr-moto-search-option-thumb {
  min-height: 3.5rem;
  height: 3.5rem;
  max-height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(167, 139, 250, .12);
}
.moto-config-modal .attr-moto-search-option-thumb--letter {
  font-size: .85rem;
}
.moto-config-modal .attr-moto-search-option--category .attr-moto-search-option-thumb--letter {
  color: var(--violet-bright, #a78bfa);
  font-size: 1rem;
}
.moto-config-modal .attr-moto-search-option-body {
  gap: .1rem;
}
.moto-config-modal .attr-moto-search-option-name {
  font-size: .76rem;
  line-height: 1.2;
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--text-primary);
}
.moto-config-modal .attr-moto-search-option-name--category {
  color: var(--violet-bright, #a78bfa);
  font-weight: 600;
}
.moto-config-modal .attr-moto-search-option--category .attr-moto-search-option-brand {
  color: var(--violet-bright, #a78bfa);
}
.moto-config-modal .attr-moto-search-option-year {
  font-size: .68rem;
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 900px) {
  .moto-config-modal .attr-moto-search-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px) {
  .moto-config-modal .moto-config-cascade-grid {
    grid-template-columns: 1fr;
  }
  .moto-config-modal .attr-moto-search-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .4rem;
    padding: .4rem;
  }
}
@media (max-width: 420px) {
  .moto-config-modal .attr-moto-search-list {
    grid-template-columns: 1fr;
  }
}
.moto-nav-search-progress-overlay {
  position: absolute;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 1rem 1.1rem;
  background: rgba(5, 5, 8, 0.78);
  backdrop-filter: blur(8px);
  border-radius: inherit;
}
.moto-nav-search-progress-overlay[hidden] {
  display: none !important;
}
.moto-nav-panel > .moto-nav-search-progress-overlay {
  border-radius: 12px;
}
.moto-nav-search-progress-overlay .moto-nav-search-progress {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: .85rem 1rem .95rem;
  border: 1px solid var(--border-default);
  border-radius: 12px;
  background: var(--bg-card-solid, var(--card));
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
}
.moto-nav-search-progress {
  padding: .7rem .85rem .8rem;
  border-bottom: 1px solid var(--border-faint);
}
.moto-nav-search-progress-overlay .moto-nav-search-progress {
  border-bottom: none;
}
.moto-nav-search-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .45rem;
  font-size: .82rem;
  color: var(--text-muted);
}
.moto-nav-search-progress-pct {
  font-family: Orbitron, sans-serif;
  font-size: .72rem;
  color: var(--petronas);
  letter-spacing: .04em;
}
.moto-nav-search-progress-track {
  height: 5px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}
.moto-nav-search-progress-bar {
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--petronas, #00d4aa), var(--violet-bright, #8b5cf6));
  transition: width .12s linear;
}
.moto-nav-search-progress-overlay.is-indeterminate .moto-nav-search-progress-bar,
.moto-nav-search-progress-bar.is-indeterminate {
  width: 40% !important;
  transition: none;
  animation: moto-nav-search-progress-indeterminate 1.1s ease-in-out infinite;
}
@keyframes moto-nav-search-progress-indeterminate {
  0% { transform: translateX(-120%); }
  100% { transform: translateX(280%); }
}
.moto-choice-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: .75rem;
}
.moto-product-grid.moto-choice-grid {
  max-height: min(48vh, 420px);
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding-right: .15rem;
  scrollbar-width: thin;
}
.moto-choice-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: .75rem .5rem;
  min-height: 0;
  gap: .35rem;
}
.moto-choice-btn.selected {
  border-color: rgba(0, 210, 190, 0.55) !important;
  background: rgba(0, 210, 190, 0.08);
}
.moto-choice-thumb {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 8px;
  overflow: hidden;
  background: #ffffff08;
}
.moto-choice-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: .35rem;
}
.moto-choice-year {
  font-size: .7rem;
  color: #ffffff66;
}
.moto-product-grid .moto-choice-btn {
  min-height: 140px;
}
.moto-choice-name {
  font-size: .78rem;
  line-height: 1.25;
  color: var(--text);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}
.moto-choice-price {
  font-size: .72rem;
  color: var(--petronas);
  font-family: Orbitron, sans-serif;
  letter-spacing: .02em;
}
.moto-choice-thumb--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Orbitron, sans-serif;
  font-size: 1.35rem;
  color: #ffffff44;
}
.moto-product-grid-status {
  grid-column: 1 / -1;
  font-size: .85rem;
  color: #ffffff66;
  padding: .35rem 0;
  margin: 0;
}
.moto-config-modal .moto-config-product-picker {
  flex: 1 1 100%;
  min-width: 100%;
  max-width: 100%;
}
.moto-config-modal .moto-product-grid {
  margin-top: .4rem;
}
.moto-config-modal .moto-product-grid.moto-choice-grid {
  grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
}
.attr-moto-product-picker .moto-product-grid.moto-choice-grid {
  margin-top: .4rem;
  grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
}
.moto-config-error {
  margin-top: 1rem;
  padding: .65rem .85rem;
  font-size: .85rem;
  color: #ffb4b4;
  background: rgba(255, 80, 80, 0.1);
  border-radius: 8px;
  border: 1px solid rgba(255, 80, 80, 0.25);
}
.moto-flash-hint {
  font-size: .8rem;
  color: #ffffff66;
  margin-top: 1rem;
  padding: .55rem .65rem;
  background: #ffffff06;
  border-radius: 8px;
}

.order-payment-shipping-notice {
  margin: .75rem 0 0;
  padding: .55rem .65rem;
  font-size: .78rem;
  line-height: 1.45;
  color: var(--violet-bright);
  background: rgba(139, 92, 246, 0.08);
  border-radius: 8px;
  border: 1px solid rgba(139, 92, 246, 0.2);
}

/* Page contact */
.contact-page {
  position: relative;
  padding-bottom: 4rem;
  max-width: 1080px;
  overflow: visible;
}

/* Tampon fermeture ? en travers sur contact-hero, fond noir 85 % */
.contact-hero {
  position: relative;
  margin-bottom: 2rem;
  padding-bottom: 1.75rem;
  border-bottom: 1px solid #ffffff10;
  overflow: visible;
}
.contact-closed-stamp {
  position: absolute;
  z-index: 4;
  top: 52%;
  left: 55%;
  width: min(28rem, 92%);
  margin: 0;
  pointer-events: none;
  user-select: none;
  transform: translate(-50%, -50%) rotate(-16deg);
  transform-origin: center center;
  animation: contact-stamp-slam 0.85s cubic-bezier(0.18, 0.89, 0.32, 1.28) both;
  filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.45));
}
.contact-closed-stamp-inner {
  position: relative;
  display: grid;
  gap: 0.5rem;
  padding: 1.15rem 1.35rem 1.25rem;
  text-align: center;
  border: 3px solid rgba(245, 158, 11, 0.92);
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.85);
  box-shadow:
    inset 0 0 0 2px rgba(245, 158, 11, 0.55),
    inset 0 0 18px rgba(245, 158, 11, 0.06);
}
.contact-closed-stamp-inner::before {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1.5px solid rgba(245, 158, 11, 0.45);
  border-radius: 1px;
  pointer-events: none;
}
.contact-closed-stamp--vacation .contact-closed-stamp-inner {
  border-color: rgba(225, 6, 0, 0.92);
  background: rgba(0, 0, 0, 0.85);
  box-shadow:
    inset 0 0 0 2px rgba(225, 6, 0, 0.55),
    inset 0 0 18px rgba(225, 6, 0, 0.06);
}
.contact-closed-stamp--vacation .contact-closed-stamp-inner::before {
  border-color: rgba(225, 6, 0, 0.45);
}
.contact-closed-stamp--weekend .contact-closed-stamp-inner {
  border-color: rgba(245, 158, 11, 0.92);
}
.contact-closed-stamp-tag {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: clamp(1.35rem, 3.8vw, 1.85rem);
  line-height: 1.05;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: center;
  color: var(--violet-bright);
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
  opacity: 0.95;
}
.contact-closed-stamp--vacation .contact-closed-stamp-tag {
  color: #ff4d4d;
}
.contact-closed-stamp-meta {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.82);
}
.contact-closed-stamp-meta strong {
  color: #fff;
  font-weight: 700;
}
.contact-closed-stamp-text {
  position: relative;
  z-index: 1;
  margin: 0.15rem 0 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.78);
  text-align: center;
}

@keyframes contact-stamp-slam {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(-28deg) translate3d(12%, -120%, 0) scale(1.55);
    filter: drop-shadow(0 28px 28px rgba(0, 0, 0, 0.15)) blur(1.5px);
  }
  58% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(-14deg) translate3d(0, 4%, 0) scale(0.94);
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.45));
  }
  74% {
    transform: translate(-50%, -50%) rotate(-17deg) translate3d(-1%, -2%, 0) scale(1.04);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(-16deg) translate3d(0, 0, 0) scale(1);
    filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.45));
  }
}

@media (max-width: 700px) {
  .contact-closed-stamp {
    top: 58%;
    left: 50%;
    width: min(22rem, 94%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-closed-stamp {
    animation: none;
    opacity: 1;
  }
}

@media (min-width: 861px) {
  .contact-closed-stamp {
    left: 58%;
    width: min(32rem, 62%);
  }
  .contact-closed-stamp-inner {
    padding: 1.35rem 1.65rem 1.45rem;
  }
}

.contact-hero-eyebrow {
  position: relative;
  z-index: 1;
  color: var(--petronas);
  margin-bottom: .65rem;
}
.contact-hero-title {
  position: relative;
  z-index: 1;
  font-size: clamp(2rem, 4.5vw, 2.65rem);
  margin: 0 0 .75rem;
  line-height: 1.1;
}
.contact-hero-lead {
  position: relative;
  z-index: 1;
  max-width: 40rem;
  margin: 0 0 1.35rem;
  color: #ffffff99;
  line-height: 1.65;
  font-size: 1rem;
}
.contact-hero-meta {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}
.contact-hero-chip {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 10rem;
  padding: .7rem .9rem;
  border-radius: 12px;
  border: 1px solid #ffffff14;
  background: linear-gradient(135deg, rgba(0, 210, 190, .06), rgba(139, 92, 246, .04));
  text-decoration: none;
  transition: border-color .2s, transform .2s;
}
a.contact-hero-chip:hover {
  border-color: rgba(0, 210, 190, .45);
  transform: translateY(-1px);
}
.contact-hero-chip-label {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #ffffff66;
}
.contact-hero-chip-value {
  font-size: .88rem;
  color: #ffffffdd;
  line-height: 1.35;
}
.contact-status-panel {
  margin-bottom: 1.75rem;
}
.contact-status-panel-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: .75rem 1rem;
  margin-bottom: .85rem;
}
.contact-status-eyebrow {
  margin-bottom: .35rem;
  color: var(--petronas);
}
.contact-status-heading {
  font-size: 1.15rem;
  margin: 0;
}
.contact-status-detail-link {
  font-size: .82rem;
  color: var(--petronas);
  text-decoration: none;
}
.contact-status-detail-link:hover {
  text-decoration: underline;
}
.contact-status-card {
  margin-bottom: 0;
}
.contact-status-panel .site-status-conges-active {
  margin-top: 1rem;
  margin-bottom: 0;
}
.contact-page-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media (min-width: 900px) {
  .contact-page-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr);
    align-items: start;
  }
  .contact-page-main {
    position: sticky;
    top: calc(var(--site-header-offset-h, 70px) + var(--site-top-stack-h, 0px) + var(--initie-referral-banner-h, 0px) + 1rem);
    align-self: start;
  }
}
.contact-form-card,
.contact-success-card {
  position: relative;
  z-index: 1;
  padding: 1.35rem 1.45rem;
}
@media (min-width: 640px) {
  .contact-form-card,
  .contact-success-card { padding: 1.5rem 1.65rem; }
}
.contact-form-card-head {
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ffffff10;
}
.contact-form-title {
  font-size: 1.2rem;
  margin: 0 0 .35rem;
}
.contact-form-subtitle {
  margin: 0;
  font-size: .85rem;
  color: #ffffff77;
}
.contact-form-alert {
  margin-bottom: 1rem;
}
.contact-form-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 640px) {
  .contact-form-grid { grid-template-columns: 1fr 1fr; }
}
.contact-form-field {
  margin-bottom: 1rem;
}
.contact-form-field .label {
  margin-bottom: .4rem;
}
.contact-form-submit {
  width: 100%;
  margin-top: .25rem;
}
.contact-success-card {
  text-align: center;
  padding: 2.25rem 1.5rem;
  border-color: rgba(0, 210, 190, .35);
  background: linear-gradient(180deg, rgba(0, 210, 190, .08), rgba(16, 16, 24, .95));
}
.contact-success-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  margin-bottom: 1rem;
  border-radius: 999px;
  background: rgba(0, 210, 190, .15);
  border: 1px solid rgba(0, 210, 190, .45);
  color: var(--petronas);
  font-size: 1.5rem;
  font-weight: 700;
}
.contact-success-title {
  margin: 0 0 .65rem;
  font-size: 1.35rem;
}
.contact-success-text {
  margin: 0 auto;
  max-width: 28rem;
  color: #ffffff99;
  line-height: 1.6;
}
.contact-success-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  justify-content: center;
  margin-top: 1.35rem;
}
.contact-page-aside {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.contact-page-aside .contact-info-block--closures {
  margin: 0;
  padding: 1.2rem 1.3rem;
}
.contact-page-aside .contact-info-title {
  font-size: .95rem;
}
.contact-page-aside .contact-info-block-lead {
  font-size: .82rem;
  margin-bottom: .75rem;
}
.contact-aside-card {
  padding: 1.2rem 1.3rem;
}
.contact-aside-title {
  font-size: .95rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--petronas);
  margin: 0 0 .65rem;
}
.contact-aside-intro {
  margin: 0 0 1rem;
  font-size: .88rem;
  color: #ffffff99;
  line-height: 1.5;
}
.contact-hours-grid {
  display: grid;
  gap: .55rem;
  margin-bottom: 1rem;
}
.contact-hours-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .25rem .75rem;
  padding: .55rem .65rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, .03);
  border: 1px solid #ffffff0a;
  font-size: .86rem;
}
.contact-hours-row--closed .contact-hours-time {
  color: #ffffff55;
}
.contact-hours-day {
  color: #ffffffcc;
  font-weight: 500;
}
.contact-hours-time {
  color: #ffffff99;
  text-align: right;
}
.contact-aside-highlight {
  padding: .85rem .9rem;
  margin-bottom: .85rem;
  border-radius: 10px;
  border: 1px solid rgba(0, 210, 190, .22);
  background: rgba(0, 210, 190, .06);
}
.contact-aside-highlight-label {
  margin: 0 0 .2rem;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #ffffff66;
}
.contact-aside-highlight-value {
  margin: 0;
  font-family: Orbitron, sans-serif;
  font-size: 1.05rem;
  color: var(--petronas);
}
.contact-aside-highlight-note {
  margin: .35rem 0 0;
  font-size: .75rem;
}
.contact-aside-form-hint {
  margin: 0;
  font-size: .82rem;
  color: #ffffff77;
  line-height: 1.5;
}
.contact-quick-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .45rem;
}
.contact-quick-links a {
  display: block;
  padding: .55rem .65rem;
  border-radius: 8px;
  border: 1px solid #ffffff10;
  background: rgba(255, 255, 255, .02);
  color: #ffffffcc;
  font-size: .88rem;
  text-decoration: none;
  transition: border-color .15s, color .15s, background .15s;
}
.contact-quick-links a:hover {
  border-color: rgba(0, 210, 190, .35);
  color: #fff;
  background: rgba(0, 210, 190, .06);
}
.contact-page-infos {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  padding-top: .5rem;
  border-top: 1px solid #ffffff10;
  width: 100%;
}
.contact-page-infos > .contact-info-block--faq,
.contact-info-block--faq {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
}
@media (min-width: 768px) {
  .contact-page-infos:has(> :nth-child(2)) {
    grid-template-columns: 1fr 1fr;
  }
}
.contact-info-block {
  padding: 1.35rem 1.45rem;
  height: 100%;
}
.contact-info-block-head {
  margin-bottom: 1rem;
  padding-bottom: .85rem;
  border-bottom: 1px solid #ffffff10;
}
.contact-info-title {
  font-size: .95rem;
  text-transform: uppercase;
  margin: 0 0 .35rem;
  color: var(--petronas);
  letter-spacing: .04em;
}
.contact-info-block-lead {
  margin: 0;
  font-size: .82rem;
  color: #ffffff66;
  line-height: 1.45;
}
.contact-delay-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .5rem;
}
.contact-delay-item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .25rem .75rem;
  padding: .6rem .7rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, .025);
  border: 1px solid #ffffff0a;
  font-size: .86rem;
}
.contact-delay-label {
  color: #ffffffcc;
}
.contact-delay-value {
  color: #ffffff99;
  text-align: right;
}
.contact-closures-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .45rem;
}
.contact-closures-item {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .65rem;
  padding: .6rem .7rem .6rem 1.15rem;
  border-radius: 8px;
  background: rgba(139, 92, 246, .05);
  border: 1px solid rgba(139, 92, 246, .14);
  font-size: .86rem;
  color: #ffffffb3;
  line-height: 1.45;
}
.contact-closures-item-main {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  min-width: 0;
}
.contact-closures-item-dates {
  font-size: .75rem;
  color: #ffffff66;
}
.contact-closures-item--past {
  text-decoration: line-through;
  opacity: .5;
  background: rgba(255, 255, 255, .02);
  border-color: #ffffff10;
}
.contact-closures-item--past::before {
  background: #ffffff44;
}
.contact-closures-item--past .contact-closures-item-dates {
  text-decoration: line-through;
}
.contact-closures-item--upcoming {
  border: 2px solid rgba(0, 210, 190, .55);
  background: rgba(0, 210, 190, .08);
  box-shadow: 0 0 0 2px rgba(0, 210, 190, .12);
  color: #ffffffdd;
}
.contact-closures-item--upcoming::before {
  background: var(--petronas);
  box-shadow: 0 0 8px rgba(0, 210, 190, .55);
}
.contact-closures-item--current {
  border: 2px solid rgba(139, 92, 246, .55);
  background: rgba(139, 92, 246, .1);
  box-shadow: 0 0 0 2px rgba(139, 92, 246, .12);
}
.contact-closures-badge {
  flex-shrink: 0;
  align-self: center;
  padding: .2rem .5rem;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--petronas);
  border: 1px solid rgba(0, 210, 190, .45);
  background: rgba(0, 210, 190, .12);
  white-space: nowrap;
}
.contact-closures-badge--current {
  color: var(--violet-bright);
  border-color: rgba(139, 92, 246, .45);
  background: rgba(139, 92, 246, .12);
}
.contact-closures-item::before {
  content: '';
  position: absolute;
  left: .55rem;
  top: .95rem;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--violet-bright);
}
.contact-closures-empty {
  margin: 0;
  font-size: .88rem;
}
.contact-info-bilingual h3 {
  font-size: .8rem; text-transform: uppercase; color: #ffffff99;
  margin: 0 0 .5rem; letter-spacing: .03em;
}
.contact-info-bilingual h3:not(:first-child) { margin-top: 1rem; }
.contact-info-list {
  margin: 0; padding-left: 1.15rem; font-size: .9rem; color: #ffffffb3; line-height: 1.7;
}
.contact-info-list li { margin-bottom: .25rem; }
.contact-info-closures li { padding: .2rem 0; }
.contact-info-text { font-size: .9rem; color: #ffffffb3; line-height: 1.6; margin: 0; }
.contact-info-muted { color: #ffffff66; font-weight: normal; }
.contact-info-shipping {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #ffffff12;
}
.contact-info-delays strong { color: #ffffffdd; }
.contact-info-subtitle {
  font-size: .85rem; text-transform: uppercase; margin: 0 0 .75rem;
  color: var(--cyan);
}

/* Fiche produit ? acompte */
.product-deposit-badge {
  display: flex; gap: .85rem; align-items: flex-start;
  margin: 1rem 0 0; padding: 1rem 1.15rem;
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.12), rgba(139, 92, 246, 0.08));
  border: 1px solid rgba(0, 210, 190, 0.45); border-radius: 12px;
  font-size: .9rem;
  box-shadow: 0 0 24px rgba(0, 210, 190, 0.08);
}
.product-deposit-badge--inline { margin-top: 1.15rem; }
.product-deposit-badge-main { display: flex; flex-wrap: wrap; gap: .35rem .65rem; align-items: baseline; margin-bottom: .35rem; }
.product-deposit-pct {
  color: var(--petronas); font-size: 1rem; text-transform: uppercase; letter-spacing: .03em;
}
.product-deposit-amount { color: #ffffffee; font-weight: 600; }
.product-deposit-balance { font-size: .85rem; color: #ffffff99; line-height: 1.45; }
.product-deposit-balance strong { color: #ffffffdd; }
.product-deposit-source { font-size: .72rem; color: #ffffff55; margin-top: .45rem; font-style: italic; }
.product-deposit-icon { font-size: 1.5rem; line-height: 1; flex-shrink: 0; }

/* Tutoriel commande interactif */
.product-order-tuto-launch {
  margin-bottom: 1.25rem;
  border: 1px solid rgba(0, 210, 190, 0.28);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.07), rgba(139, 92, 246, 0.06));
  overflow: hidden;
}
.product-order-tuto-launch-toggle {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .95rem 1.15rem;
  cursor: pointer;
  user-select: none;
}
.product-order-tuto-launch-toggle::-webkit-details-marker { display: none; }
.product-order-tuto-launch-toggle::after {
  content: '';
  width: .55rem;
  height: .55rem;
  border-right: 2px solid var(--petronas);
  border-bottom: 2px solid var(--petronas);
  transform: rotate(45deg);
  flex-shrink: 0;
  margin-top: -.2rem;
  transition: transform .2s ease;
}
.product-order-tuto-launch[open] .product-order-tuto-launch-toggle::after {
  transform: rotate(-135deg);
  margin-top: .15rem;
}
.product-order-tuto-launch-toggle-label {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
}
.product-order-tuto-launch-toggle-label strong {
  font-size: .9rem;
  color: var(--petronas);
}
.product-order-tuto-launch-toggle-hint {
  font-size: .82rem;
  color: #ffffff88;
  line-height: 1.4;
}
.product-order-tuto-launch-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 0 1.15rem 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.product-order-tuto-launch-text {
  font-size: .88rem;
  color: #ffffff99;
  line-height: 1.5;
  max-width: 420px;
  margin: 0;
}
.product-order-tuto-launch-text strong { color: var(--petronas); }
#btn-order-tour {
  flex-shrink: 0;
  font-size: .72rem;
  padding: .65rem 1.1rem;
}
.order-tour-relaunch {
  display: inline-block;
  margin-top: .5rem;
  font-size: .78rem;
  color: var(--petronas);
  text-decoration: underline;
  text-underline-offset: 2px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  font-family: inherit;
}

body.order-tour-active {
  overflow: hidden;
  position: relative;
}
.order-tour-overlay {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: none;
  touch-action: none;
}
.order-tour-backdrop {
  position: fixed;
  inset: 0;
  z-index: 0;
  background: rgba(3, 3, 8, 0.45);
  touch-action: none;
}
.order-tour-spotlight {
  position: fixed;
  border-radius: 12px;
  box-shadow: 0 0 0 9999px rgba(3, 3, 8, 0.82);
  border: 2px solid var(--petronas);
  pointer-events: none;
  transition: top .2s ease, left .2s ease, width .2s ease, height .2s ease;
  z-index: 1;
}
.order-tour-tooltip {
  position: fixed;
  z-index: 2;
  width: min(340px, calc(100vw - 2rem));
  max-height: min(70vh, 520px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 1.1rem 1.15rem 1rem;
  padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
  background: #12121c;
  border: 1px solid rgba(0, 210, 190, 0.4);
  border-radius: 14px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55), 0 0 30px rgba(0, 210, 190, 0.12);
  touch-action: auto;
}
.order-tour-tooltip--mobile {
  width: auto;
  max-height: min(45vh, 380px);
  border-radius: 16px 16px 14px 14px;
}
.order-tour-missing-hint {
  font-size: .78rem;
  color: var(--violet-bright);
  margin: -.35rem 0 .75rem;
  line-height: 1.45;
}
.order-tour-kicker {
  font-size: .62rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--petronas);
  margin-bottom: .35rem;
}
.order-tour-title {
  font-size: .95rem;
  text-transform: uppercase;
  margin-bottom: .5rem;
  color: #fff;
}
.order-tour-text {
  font-size: .86rem;
  color: #ffffffb3;
  line-height: 1.55;
  margin-bottom: 1rem;
}
.order-tour-actions {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "close counter"
    "nav nav";
  align-items: center;
  gap: .5rem .65rem;
}
.order-tour-close {
  grid-area: close;
  font-size: .65rem;
  padding: .45rem .75rem;
  justify-self: start;
}
.order-tour-counter {
  grid-area: counter;
  font-size: .72rem;
  color: #ffffff55;
  font-family: Orbitron, sans-serif;
  justify-self: end;
}
.order-tour-nav {
  grid-area: nav;
  display: flex;
  gap: .4rem;
  width: 100%;
}
.order-tour-nav .btn {
  font-size: .65rem;
  padding: .5rem .75rem;
  flex: 1;
  justify-content: center;
}
.order-tour-nav .order-tour-next {
  flex: 1.2;
}
.order-tour-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border: 9px solid transparent;
}
.order-tour-tooltip[data-placement="bottom"] .order-tour-arrow {
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: rgba(0, 210, 190, 0.55);
}
.order-tour-tooltip[data-placement="top"] .order-tour-arrow {
  bottom: -18px;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: rgba(0, 210, 190, 0.55);
}
.order-tour-tooltip[data-placement="right"] .order-tour-arrow {
  left: -18px;
  top: 50%;
  transform: translateY(-50%);
  border-right-color: rgba(0, 210, 190, 0.55);
}
.order-tour-tooltip[data-placement="left"] .order-tour-arrow {
  right: -18px;
  top: 50%;
  transform: translateY(-50%);
  border-left-color: rgba(0, 210, 190, 0.55);
}
.order-tour-tooltip[data-placement="center"] .order-tour-arrow,
.order-tour-tooltip[data-placement="mobile"] .order-tour-arrow { display: none; }

#vinyl-guide-head {
  scroll-margin-top: calc(var(--site-header-offset-h, 72px) + 1.5rem);
}

@media (max-width: 767px) {
  .product-order-tuto-launch-toggle {
    padding: .85rem 1rem;
  }
  .product-order-tuto-launch-body {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    gap: .75rem;
    padding: .75rem 1rem 1rem;
  }
  .product-order-tuto-launch-text {
    max-width: none;
  }
  #btn-order-tour {
    width: 100%;
    font-size: .78rem;
  }
  .order-tour-spotlight {
    border-width: 2px;
    border-radius: 10px;
  }
  .order-tour-title {
    font-size: .88rem;
  }
  .order-tour-text {
    font-size: .84rem;
  }
}

.product-page-description {
  color: #ffffff99;
  margin: 0 0 1rem;
  line-height: 1.55;
  font-size: .95rem;
}
.product-page-description p {
  margin: 0 0 .85rem;
}
.product-page-description p:last-child {
  margin-bottom: 0;
}
.product-page-description h2,
.product-page-description h3,
.product-page-description h4 {
  font-family: 'Orbitron', sans-serif;
  color: #ffffffd4;
  line-height: 1.35;
  margin: 1rem 0 .5rem;
}
.product-page-description h2 {
  font-size: 1.05rem;
}
.product-page-description h3 {
  font-size: .95rem;
}
.product-page-description h4 {
  font-size: .88rem;
}
.product-page-description ul,
.product-page-description ol {
  margin: 0 0 .85rem 1.15rem;
  padding: 0;
}
.product-page-description li {
  margin-bottom: .35rem;
}
.product-page-description li:last-child {
  margin-bottom: 0;
}
.product-page-description a {
  color: var(--petronas);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.product-page-description a:hover {
  color: #fff;
}
.product-page-description strong,
.product-page-description b {
  font-weight: 700;
  color: #ffffffcc;
}
.product-page-description em,
.product-page-description i {
  font-style: italic;
}
.product-page-description blockquote {
  margin: 0 0 .85rem;
  padding: .5rem .75rem;
  border-left: 3px solid rgba(0, 210, 190, 0.45);
  color: #ffffffb0;
}
.product-page-description [style*="text-transform: uppercase"] {
  text-transform: uppercase;
}

/* UFO ? mod?les compatibles (centr?, m?me largeur que la fiche produit) */
.ufo-compat-wrap {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0 20px 2.5rem;
}
.ufo-compat-wrap--inline {
  padding: 0;
  margin: 1.5rem 0 0;
}
.ufo-compat-wrap--inline .ufo-compat {
  padding-top: 1.25rem;
}
.ufo-compat-inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.ufo-compat {
  margin: 0;
  padding-top: 1.5rem;
  border-top: 1px solid #ffffff14;
  width: 100%;
}
.ufo-compat-title {
  font-family: 'Orbitron', sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: #ffffffd4;
  margin: 0 0 .35rem;
}
.ufo-compat-lead {
  margin: 0 0 1rem;
  font-size: .82rem;
  color: var(--text-faint);
}
.ufo-compat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem 1.5rem;
  align-items: start;
  width: 100%;
}
.ufo-compat-brand {
  min-width: 0;
  width: 100%;
}
/* Une seule marque : table pleine largeur du conteneur produit */
.ufo-compat-grid--single,
.ufo-compat-grid:has(> .ufo-compat-brand:only-child) {
  grid-template-columns: 1fr;
}
.ufo-compat-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .84rem;
  color: var(--text-secondary);
}
.ufo-compat-table thead th {
  background: #ffffff12;
  color: #ffffffcc;
  font-weight: 600;
  text-align: left;
  padding: .55rem .65rem;
  border-bottom: 1px solid #ffffff18;
}
.ufo-compat-table tbody td {
  padding: .5rem .65rem;
  border-bottom: 1px solid #ffffff0a;
  vertical-align: top;
  line-height: 1.4;
}
.ufo-compat-table tbody tr:nth-child(even) td {
  background: #ffffff08;
}
.ufo-compat-table tbody tr.is-current td {
  background: #ffffff10;
}
.ufo-compat-table tbody td:first-child {
  font-weight: 600;
  color: #ffffffd9;
  min-width: 8rem;
}
.ufo-compat-table a {
  color: var(--cyan, #00e5ff);
  text-decoration: none;
}
.ufo-compat-table a:hover {
  text-decoration: underline;
}
.ufo-compat-colors-cell {
  white-space: nowrap;
}
.ufo-compat-swatches {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .28rem;
  align-items: center;
}
.ufo-compat-swatches li {
  margin: 0;
  padding: 0;
  line-height: 0;
}
.ufo-compat-swatch {
  display: inline-block;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.25);
  vertical-align: middle;
}
.ufo-compat-swatch--split {
  border-radius: 4px;
}
.ufo-compat-colors-empty {
  color: var(--text-faint);
}
.ufo-compat-notes-html {
  font-size: .88rem;
  color: #ffffffb0;
  line-height: 1.5;
}
/* Indications de compatibilit? longues : scroll interne (titre/lead hors scroll) */
.ufo-compat-wrap--notes .ufo-compat-notes-html,
.ufo-compat-wrap--notes .ufo-compat-grid,
.ufo-compat-wrap--listing .ufo-compat-grid {
  max-height: min(16rem, 50vh);
  overflow-y: auto;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.ufo-compat-empty {
  color: var(--text-faint);
}
.ufo-compat-notes-html .ufo-compat-table,
.ufo-compat-notes-html table {
  width: 100%;
  border-collapse: collapse;
}
.ufo-compat-notes-html table thead th {
  text-align: left;
  font-size: .72rem;
  font-weight: 600;
  color: #ffffff70;
  padding: .45rem .55rem .55rem 0;
  border-bottom: 1px solid #ffffff18;
}
.ufo-compat-notes-html table tbody td {
  padding: .55rem .55rem .55rem 0;
  border-bottom: 1px solid #ffffff0e;
  color: #ffffffa8;
  font-size: .86rem;
  vertical-align: top;
}
.ufo-compat-notes-html table tbody td:first-child {
  color: var(--petronas);
  font-weight: 600;
}
.ufo-compat-wrap--notes + .ufo-compat-wrap .ufo-compat {
  border-top-color: #ffffff10;
}
@media (max-width: 900px) {
  .ufo-compat-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .ufo-compat-wrap {
    padding-left: 16px;
    padding-right: 16px;
  }
  .ufo-compat-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.product-client-files-field {
  margin: 0 0 1.25rem;
  padding: .85rem 1rem;
  border: 1px solid #ffffff14;
  border-radius: 10px;
  background: #ffffff06;
}
.product-client-files-hint {
  font-size: .78rem;
  color: #ffffff66;
  margin: .35rem 0 .65rem;
  line-height: 1.45;
}
.product-client-files-input {
  font-size: .82rem;
}
.product-client-files-list {
  list-style: none;
  margin: .5rem 0 0;
  padding: 0;
  font-size: .8rem;
  color: #ffffff99;
}
.product-client-files-list li {
  padding: .2rem 0;
}
.order-client-files-panel--client .order-client-files-list,
.order-client-files-panel--admin .order-client-files-list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: .85rem;
}
.order-client-files-link {
  color: var(--petronas);
  text-decoration: underline;
}
.order-client-files-product,
.order-client-files-size {
  color: #ffffff66;
  font-size: .78rem;
}
.order-help-center {
  margin-top: 1.5rem;
  margin-bottom: 0;
  padding: 1rem 1.15rem;
}
.order-deposit-validation-notice {
  margin: 0 0 1rem;
  padding: .85rem 1rem;
  border-radius: 10px;
  border: 1px solid rgba(0, 210, 190, 0.35);
  background: rgba(0, 210, 190, 0.08);
  font-size: .88rem;
  line-height: 1.55;
  color: #e8fff9;
}
.order-deposit-validation-notice strong {
  color: var(--petronas);
}
.order-deposit-validation-notice-hint {
  display: block;
  margin-top: .35rem;
  font-size: .8rem;
  color: #ffffff80;
}
.order-help-center-title {
  font-size: 1rem;
  margin: 0 0 .35rem;
}
.order-help-center-lead {
  font-size: .82rem;
  color: #ffffff66;
  margin: 0 0 .85rem;
}
.order-help-center-list .order-help-item {
  margin-bottom: .45rem;
}
.order-help-center-more {
  font-size: .78rem;
  color: #ffffff55;
  margin: .85rem 0 0;
}
.order-help-center-more a {
  color: var(--petronas);
}
.site-status-banner {
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  border-radius: 10px;
  border: 1px solid #ffffff18;
  font-size: .88rem;
}
.site-status-banner--warning {
  border-color: rgba(139, 92, 246, .45);
  background: rgba(139, 92, 246, .08);
}
.site-status-banner--maintenance {
  border-color: rgba(248, 113, 113, .45);
  background: rgba(248, 113, 113, .08);
}
.site-status-banner-title {
  display: block;
  color: #fff;
  margin-bottom: .35rem;
}
.site-status-banner-text {
  color: #ffffff99;
  margin: 0;
  line-height: 1.5;
}
.site-status-banner-note,
.site-status-banner-link {
  font-size: .78rem;
  margin: .5rem 0 0;
  color: #ffffff66;
}
.site-status-banner-link a {
  color: var(--petronas);
}
.site-status-page .site-status-card {
  display: flex;
  gap: 1rem;
  padding: 1.25rem 1.35rem;
  border-radius: 12px;
}
.site-status-card--normal {
  border-color: rgba(0, 210, 190, .35);
}
.site-status-card--warning {
  border-color: rgba(139, 92, 246, .45);
}
.site-status-card--maintenance {
  border-color: rgba(248, 113, 113, .45);
}
.site-status-card-indicator {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin-top: .35rem;
  background: var(--petronas);
  flex-shrink: 0;
}
.site-status-card--warning .site-status-card-indicator {
  background: var(--violet-bright);
}
.site-status-card--maintenance .site-status-card-indicator {
  background: #f87171;
}
.site-status-card-level {
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #ffffff66;
  margin: 0 0 .35rem;
}
.site-status-card-title {
  font-size: 1.15rem;
  margin: 0 0 .5rem;
}
.site-status-card-message {
  color: #ffffff99;
  line-height: 1.55;
  margin: 0;
}
.site-status-card-updated {
  font-size: .75rem;
  color: #ffffff55;
  margin: .75rem 0 0;
}
.site-status-card-alert {
  margin: .75rem 0 0;
  color: #f87171;
  font-size: .85rem;
}
.site-status-closures-title {
  font-size: 1.05rem;
  margin: 0 0 .35rem;
}
.site-status-closures-intro {
  font-size: .82rem;
  color: #ffffff66;
  margin: 0 0 1rem;
  line-height: 1.45;
}
.site-status-closures-empty {
  color: #ffffff55;
  margin: 0;
  font-size: .88rem;
}
.site-status-closures-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-status-closures-item {
  display: grid;
  gap: .2rem;
  padding: .75rem 0;
  border-bottom: 1px solid #ffffff10;
  font-size: .88rem;
}
.site-status-closures-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.site-status-closures-dates {
  font-weight: 600;
  color: #ffffffcc;
}
.site-status-closures-line {
  color: #ffffff99;
}
.site-status-closures-resume {
  font-size: .78rem;
  color: var(--petronas);
}
.site-status-closures-badge {
  display: inline-block;
  font-size: .68rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: .15rem .45rem;
  border-radius: 4px;
  margin-top: .25rem;
}
.site-status-closures-badge--current {
  background: #f8717120;
  color: #f87171;
}
.site-status-closures-badge--upcoming {
  background: rgba(167, 139, 250, 0.12);
  color: var(--violet-bright);
}
.site-status-closures-foot {
  margin: 1rem 0 0;
  font-size: .82rem;
}
.site-status-closures-foot a {
  color: var(--petronas);
}
.site-status-conges-active {
  padding: 1.25rem 1.35rem;
}
.site-status-conges-block + .site-status-conges-block {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #ffffff12;
}
.site-status-conges-line {
  font-size: 1rem;
  margin: 0 0 .25rem;
}
.site-status-conges-dates {
  font-size: .82rem;
  color: #ffffff66;
  margin: 0 0 .5rem;
}
.site-status-conges-message strong,
.site-status-conges-maquette strong {
  color: #ffffffcc;
}
.site-status-conges-maquette {
  font-size: .88rem;
  color: #ffffff99;
  line-height: 1.55;
  margin-top: .75rem;
}
.site-status-conges-open-note {
  font-size: .82rem;
  color: var(--petronas);
  margin: 1rem 0 0;
  line-height: 1.45;
}
.site-status-conges-courtesy {
  font-size: .88rem;
  color: #ffffffaa;
  margin: .65rem 0 0;
  line-height: 1.5;
  font-style: italic;
}
.maintenance-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 20% 15%, var(--hero-glow-petronas), transparent 42%),
    radial-gradient(circle at 80% 85%, var(--hero-glow-violet), transparent 38%),
    var(--black);
  color: var(--text-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
}
.maintenance-page--preview {
  padding-top: 3.5rem;
}
.maintenance-preview-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  padding: .55rem 1rem;
  background: var(--violet-bright);
  color: #1a1a1a;
  font-size: .82rem;
  text-align: center;
  line-height: 1.4;
}
.maintenance-preview-bar a {
  color: #1a1a1a;
  font-weight: 600;
  text-decoration: underline;
}
.maintenance-wrap {
  width: 100%;
  max-width: 720px;
  text-align: center;
}
.maintenance-logo {
  display: inline-flex;
  margin-bottom: 1.5rem;
  text-decoration: none;
}
.maintenance-badge {
  display: inline-block;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--petronas);
  border: 1px solid rgba(0, 210, 190, 0.35);
  border-radius: 999px;
  padding: .35rem .85rem;
  margin-bottom: 1rem;
}
.maintenance-title {
  font-size: clamp(1.75rem, 5vw, 2.75rem);
  line-height: 1.1;
  margin-bottom: 1rem;
}
.maintenance-message {
  color: var(--text-muted);
  font-size: 1.05rem;
  line-height: 1.6;
  margin-bottom: 2rem;
}
.maintenance-countdown {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.maintenance-countdown-unit {
  min-width: 5.5rem;
  padding: 1rem .75rem;
  border-radius: 12px;
  background: var(--bg-card);
  border: 1px solid var(--border-mid);
  box-shadow: 0 12px 40px var(--shadow-color);
}
.maintenance-countdown-num {
  display: block;
  font-family: 'Orbitron', 'Rajdhani', sans-serif;
  font-size: clamp(2rem, 8vw, 3.25rem);
  font-weight: 700;
  line-height: 1;
  color: var(--petronas);
  text-shadow: 0 0 24px var(--petronas-glow);
}
.maintenance-countdown-label {
  display: block;
  margin-top: .45rem;
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-faint);
}
.maintenance-countdown-sep {
  font-family: 'Orbitron', sans-serif;
  font-size: 2rem;
  color: var(--violet-bright);
  line-height: 1;
  padding: 0 .15rem;
}
.maintenance-reopen-label {
  color: var(--text-dim);
  font-size: .92rem;
  margin-bottom: 2rem;
}
.maintenance-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
}
.maintenance-account-hint {
  font-size: .82rem;
  color: var(--text-faint);
  max-width: 420px;
}
.drop-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 15% 20%, rgba(255, 45, 149, 0.14), transparent 40%),
    radial-gradient(circle at 85% 80%, var(--hero-glow-petronas), transparent 42%),
    var(--black);
  color: var(--text-primary);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
}
.drop-page--preview { padding-top: 3.5rem; }
.drop-page--early-access { padding-top: 3.25rem; }
.drop-preview-bar,
.drop-early-access-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  padding: .55rem 1rem;
  font-size: .82rem;
  text-align: center;
}
.drop-preview-bar {
  background: var(--violet-bright);
  color: #1a1a1a;
}
.drop-preview-bar a { color: #1a1a1a; font-weight: 600; }
.drop-early-access-bar {
  background: rgba(0, 210, 190, 0.15);
  border-bottom: 1px solid rgba(0, 210, 190, 0.35);
  color: var(--petronas);
}
.drop-early-access-bar .btn { margin-left: .5rem; vertical-align: middle; }
.drop-wrap {
  max-width: 560px;
  width: 100%;
  text-align: center;
}
.drop-wrap--countdown {
  max-width: min(1120px, 96vw);
}
.drop-logo { margin: 0 auto 1.5rem; }
.drop-badge {
  display: inline-block;
  padding: .35rem .9rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255, 45, 149, 0.28), rgba(0, 210, 190, 0.22));
  border: 1px solid rgba(255, 45, 149, 0.4);
  color: #ff9ed4;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: 1.15rem;
}
.drop-title {
  font-size: clamp(2.1rem, 7vw, 3.75rem);
  margin: 0 0 1rem;
  line-height: 1.05;
  letter-spacing: .03em;
  text-transform: uppercase;
  background: linear-gradient(90deg, #ffffff 0%, #d8fff8 45%, #f5b8ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.drop-message {
  color: #ffffffd4;
  font-size: clamp(1.05rem, 2.5vw, 1.35rem);
  line-height: 1.55;
  margin: 0 auto 1.75rem;
  max-width: 38rem;
  font-weight: 500;
}
.drop-countdown {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(.35rem, 2vw, 1.1rem);
  margin: 1.25rem 0 1rem;
  padding: 1.25rem .5rem;
}
.drop-countdown-unit {
  min-width: clamp(4.75rem, 16vw, 8.5rem);
}
.drop-countdown-num {
  display: block;
  font-family: var(--font-display, inherit);
  font-size: clamp(3.5rem, 16vw, 8rem);
  font-weight: 700;
  line-height: .95;
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    var(--petronas) 42%,
    #e879f9 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0 40px rgba(0, 210, 190, 0.18);
}
.drop-countdown-label {
  display: block;
  margin-top: .35rem;
  font-size: clamp(.62rem, 1.6vw, .82rem);
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #ffffff8c;
  font-weight: 700;
}
.drop-countdown-sep {
  font-family: var(--font-display, inherit);
  font-size: clamp(2.25rem, 10vw, 5rem);
  font-weight: 700;
  line-height: 1;
  color: #ffffff55;
  padding-bottom: clamp(1rem, 4vw, 2.35rem);
}
.drop-reopen-label {
  color: #ffffff99;
  font-size: clamp(.9rem, 2vw, 1.05rem);
  margin-bottom: 2rem;
  letter-spacing: .03em;
}
.drop-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  margin-top: .5rem;
}
@media (max-width: 520px) {
  .drop-countdown-sep {
    display: none;
  }
  .drop-countdown {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem 1rem;
    width: 100%;
  }
  .drop-countdown-unit {
    min-width: 0;
    padding: .65rem .35rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
  }
}
.admin-drop-access-url-wrap {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  align-items: stretch;
}
.admin-drop-access-url {
  flex: 1;
  min-width: 200px;
  font-family: ui-monospace, monospace;
  font-size: .78rem;
}
.admin-shop-mode-state {
  display: inline-flex;
  align-items: center;
  margin: 0 0 .4rem;
  padding: .4rem .9rem;
  border-radius: 999px;
  font-family: 'Orbitron', sans-serif;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.admin-shop-mode-state--open {
  color: var(--petronas);
  background: rgba(0, 210, 190, 0.12);
  border: 1px solid rgba(0, 210, 190, 0.35);
}
.admin-shop-mode-state--drop {
  color: #e9d5ff;
  background: rgba(139, 92, 246, 0.18);
  border: 1px solid rgba(167, 139, 250, 0.45);
}
.admin-shop-mode-state--maintenance {
  color: #fecaca;
  background: rgba(248, 113, 113, 0.14);
  border: 1px solid rgba(248, 113, 113, 0.4);
}
.admin-shop-mode-hint {
  margin: 0 0 .5rem;
  font-size: .9rem;
  color: #ffffffcc;
  line-height: 1.45;
}
.admin-shop-mode-meta {
  margin: 0 0 .75rem;
  font-size: .82rem;
  color: #ffffff80;
}
.admin-shop-mode-meta strong {
  color: var(--petronas);
}
.admin-shop-mode-warn {
  margin: 0 0 .75rem;
  font-size: .82rem;
  color: #fbbf24;
}
.admin-shop-mode-exclusive {
  margin: 0 0 1rem;
  font-size: .82rem;
  color: #ffffff99;
  line-height: 1.45;
}
.admin-shop-mode-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: stretch;
}
.admin-shop-mode-actions form {
  margin: 0;
}
.admin-shop-mode-cta {
  min-width: 14rem;
  padding: .95rem 1.6rem;
  font-size: .85rem;
}
.admin-shop-ip-current {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  margin: 0 0 1rem;
}
.admin-shop-ip-current-label {
  font-size: .85rem;
  color: #ffffff99;
}
.admin-shop-ip-value {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .88rem;
  color: var(--petronas);
  background: rgba(0, 210, 190, 0.08);
  border: 1px solid rgba(0, 210, 190, 0.28);
  border-radius: 8px;
  padding: .35rem .7rem;
}
.admin-shop-ip-badge {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--petronas);
}
.admin-shop-ip-missing {
  font-size: .85rem;
  color: #f87171;
}
.admin-shop-ip-add {
  margin: 0 0 1rem;
}
.admin-shop-ip-add .btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.admin-shop-ip-list {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  border-top: 1px solid #ffffff12;
}
.admin-shop-ip-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .65rem 0;
  border-bottom: 1px solid #ffffff12;
}
.admin-shop-ip-item:last-child {
  border-bottom: 0;
}
.admin-shop-ip-item.is-current .admin-shop-ip-value {
  box-shadow: 0 0 0 1px var(--petronas);
}
.admin-shop-ip-item form {
  margin: 0;
}
.product-inline-options-section {
  margin: 1.25rem 0 1.25rem;
}
.product-color-only-section {
  margin: 0 0 1.25rem;
}
.product-price-recap {
  margin-top: 1.25rem;
  padding: .85rem 1rem;
  background: rgba(0, 210, 190, 0.06);
  border: 1px solid rgba(0, 210, 190, 0.18);
  border-radius: 12px;
}
.product-price-recap[hidden] {
  display: none !important;
}
.product-price-recap-label {
  margin: 0 0 .4rem;
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-fainter);
}
.product-price-recap-main {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
}
.product-price-recap-text {
  font-size: .9rem;
  color: #ffffffb3;
}
.product-price-recap-tax {
  font-size: .78rem;
  color: #ffffff66;
}
.product-price-recap-value {
  font-size: 1.35rem;
  line-height: 1.1;
}
.product-price-recap-hint {
  margin: .5rem 0 0;
  font-size: .8rem;
  line-height: 1.45;
  color: var(--text-fainter);
}
.product-price-recap-hint[hidden] {
  display: none !important;
}
.product-price-recap-deposit {
  margin-top: .55rem;
  font-size: .85rem;
  color: #ffffff80;
}
.product-price-recap-deposit[hidden] {
  display: none !important;
}
.product-color-only-section .attr-field {
  margin-bottom: 0 !important;
}
.product-color-only-section .label {
  display: block;
  font-size: .72rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #ffffff66;
  margin-bottom: .55rem;
}
.product-color-only-section .color-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.product-page-color-suggestions {
  margin-top: 1.25rem;
  overflow: visible;
  max-height: none;
}
.product-page-kit-deco-suggestions {
  margin-top: 1.5rem;
}
.product-page-kit-deco-suggestions + .product-page-color-suggestions {
  margin-top: 1.5rem;
}
/* Kit déco : même chrome / cartes que « Complétez votre look » (--product-page). */

.product-page-color-suggestions[hidden] {
  display: none !important;
}
.product-page-color-suggestions .cart-color-suggestions {
  margin: 0;
}
/* Fiche produit ? bouton ajouter au panier sous chaque carte */
.cart-color-suggestions--product-page .cart-color-suggestions-list {
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: .85rem;
  align-items: stretch;
}
.cart-color-suggestions--product-page .cart-color-suggestion-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  height: 100%;
  min-height: 100%;
}
.cart-color-suggestions--product-page .cart-color-suggestion-card {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
}
.cart-color-suggestions--product-page .cart-color-suggestion-body {
  flex: 1 1 auto;
  justify-content: flex-start;
}
.cart-color-suggestions--product-page .cart-color-suggestion-body .product-price,
.cart-color-suggestions--product-page .cart-color-suggestion-body .product-price-hidden {
  margin-top: auto;
  padding-top: .25rem;
}
.cart-color-suggestions--product-page .cart-color-suggestion-body .cart-color-suggestion-stock {
  margin-top: 0;
  padding-top: 0;
}
.cart-color-suggestions--product-page .cart-color-suggestion-add-btn {
  width: 100%;
  margin-top: auto;
  flex-shrink: 0;
  padding: .45rem .65rem;
  font-size: .78rem;
}

/* Guide des tailles ? accord?on sous suggestions couleur */
.product-size-guide {
  margin: 1.15rem 0 0;
  border: 1px solid rgba(0, 210, 190, 0.22);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(0, 210, 190, 0.08), rgba(255, 255, 255, 0.02));
  overflow: hidden;
}
.product-size-guide-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 0.9rem 1rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.product-size-guide-toggle::-webkit-details-marker { display: none; }
.product-size-guide-toggle::after {
  content: '';
  width: 0.55rem;
  height: 0.55rem;
  border-right: 2px solid rgba(255, 255, 255, 0.55);
  border-bottom: 2px solid rgba(255, 255, 255, 0.55);
  transform: rotate(45deg);
  transition: transform 0.2s ease;
  flex-shrink: 0;
  margin-right: 0.15rem;
}
.product-size-guide[open] .product-size-guide-toggle::after {
  transform: rotate(-135deg);
  margin-top: 0.35rem;
}
.product-size-guide-toggle-main {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}
.product-size-guide-kicker {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  background: rgba(0, 210, 190, 0.12);
  border: 1px solid rgba(0, 210, 190, 0.28);
  color: var(--petronas, #00d2be);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex-shrink: 0;
}
.product-size-guide-toggle-text {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}
.product-size-guide-title {
  margin: 0;
  color: #fff;
  font-size: 0.95rem;
  letter-spacing: 0.02em;
  line-height: 1.25;
}
.product-size-guide-toggle-hint {
  color: #ffffff88;
  font-size: 0.78rem;
}
.product-size-guide-body {
  padding: 0 1rem 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.product-size-guide-lead {
  margin: 0.85rem 0 0.85rem;
  color: #ffffffb3;
  font-size: 0.9rem;
}
.product-size-guide-image-btn {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
  border-radius: 0.75rem;
  overflow: hidden;
}
.product-size-guide-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: #fff;
}
.product-size-guide-zoom-hint {
  position: absolute;
  right: 0.75rem;
  bottom: 0.75rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.72);
  border: 1px solid rgba(0, 210, 190, 0.35);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  pointer-events: none;
}
html.product-size-guide-modal-open,
html.product-size-guide-modal-open body {
  overflow: hidden;
}
.product-size-guide-modal {
  position: fixed;
  inset: 0;
  z-index: 12500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.85rem;
}
.product-size-guide-modal[hidden] {
  display: none !important;
}
.product-size-guide-modal-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  margin: 0;
  background: rgba(4, 7, 10, 0.82);
  backdrop-filter: blur(8px);
  cursor: pointer;
}
.product-size-guide-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(960px, 100%);
  max-height: min(94vh, 920px);
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(180deg, #151a21 0%, #0e1217 100%);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
  overflow: hidden;
}
.product-size-guide-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.95rem 1.1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}
.product-size-guide-modal-title {
  margin: 0;
  font-size: 1.05rem;
  color: #fff;
  letter-spacing: 0.02em;
}
.product-size-guide-modal-close {
  appearance: none;
  border: 0;
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
}
.product-size-guide-modal-close:hover {
  background: rgba(255, 255, 255, 0.12);
}
.product-size-guide-modal-body {
  padding: 0.85rem;
  overflow: auto;
  min-height: 0;
  background: #fff;
}
.product-size-guide-modal-image {
  display: block;
  width: 100%;
  height: auto;
}

.cart-color-suggestions--product-page .cart-color-suggestion-add-btn.is-added {
  opacity: .75;
  background: rgba(0, 210, 190, .15);
  border-color: rgba(0, 210, 190, .35);
  color: var(--petronas);
}

/* Modale configuration produit */
.product-config-overlay { z-index: 1100; }
.product-config-modal {
  position: relative;
  width: 100%;
  max-width: min(92vw, 720px);
  max-height: 90vh;
  overflow: hidden;
  text-align: left;
  padding: 1.5rem;
  padding-bottom: 0;
  border-color: rgba(0, 210, 190, 0.3);
  display: flex;
  flex-direction: column;
}
.product-config-header,
.product-config-stepper,
.product-config-progress,
.product-config-restore-banner {
  flex-shrink: 0;
}
.product-config-modal:has(.attr-cat-products-picker),
.product-config-modal:has(.vinyl-choice-grid--config),
.product-config-modal:has(.attr-field[data-attr-type="CHECKBOX"]) {
  max-width: min(96vw, 1040px);
}
.product-config-modal .attr-field[data-attr-type="CHECKBOX"]:not(:has(.attr-cat-products-picker)) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1rem;
  row-gap: 0;
}
.product-config-modal .attr-field[data-attr-type="CHECKBOX"]:not(:has(.attr-cat-products-picker)) > .label {
  grid-column: 1 / -1;
  margin-bottom: .5rem;
}
@media (max-width: 720px) {
  .product-config-modal .attr-field[data-attr-type="CHECKBOX"]:not(:has(.attr-cat-products-picker)) {
    grid-template-columns: 1fr;
  }
}
.product-config-header {
  display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem; margin-bottom: .65rem;
}
.product-config-header-main {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  min-width: 0;
}
.product-config-current-step-name {
  font-size: 1rem;
  line-height: 1.25;
  color: #fff;
  font-weight: 600;
}
.product-config-stepper {
  display: flex;
  gap: .35rem;
  overflow-x: auto;
  padding-bottom: .65rem;
  margin-bottom: .35rem;
  scrollbar-width: thin;
}
.product-config-stepper-btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  max-width: 9rem;
  padding: .35rem .55rem;
  border-radius: 999px;
  border: 1px solid #ffffff14;
  background: #ffffff06;
  color: #ffffff88;
  font-size: .68rem;
  cursor: pointer;
  transition: border-color .2s, background .2s, color .2s;
}
.product-config-stepper-btn.is-done {
  border-color: rgba(0, 210, 190, .28);
  color: var(--petronas);
}
.product-config-stepper-btn.is-active {
  border-color: rgba(0, 210, 190, .45);
  background: rgba(0, 210, 190, .1);
  color: #fff;
}
.product-config-stepper-icon {
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ffffff10;
  font-size: .72rem;
  flex-shrink: 0;
}
.product-config-stepper-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-config-steps-wrap {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: .25rem;
}
.product-config-step.is-entering {
  animation: productConfigStepIn .22s ease;
}
@keyframes productConfigStepIn {
  from { opacity: 0; transform: translateX(10px); }
  to { opacity: 1; transform: translateX(0); }
}
.product-config-step-choices {
  margin-bottom: .85rem;
  border-radius: 10px;
  background: rgba(0, 210, 190, .06);
  border: 1px solid rgba(0, 210, 190, .14);
  overflow: hidden;
}
.product-config-step-choices[hidden] {
  display: none !important;
}
.product-config-step-choices-summary {
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem .65rem;
  cursor: pointer;
  list-style: none;
  font-size: .78rem;
  font-weight: 600;
  color: #ffffffdd;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.product-config-step-choices-summary::-webkit-details-marker {
  display: none;
}
.product-config-step-choices-summary::marker {
  content: '';
}
.product-config-step-choices-summary::after {
  content: '';
  width: .42rem;
  height: .42rem;
  margin-left: auto;
  border-right: 2px solid var(--petronas);
  border-bottom: 2px solid var(--petronas);
  transform: rotate(45deg);
  transition: transform .2s ease;
  flex-shrink: 0;
}
.product-config-step-choices[open] .product-config-step-choices-summary::after {
  transform: rotate(-135deg);
  margin-top: .18rem;
}
.product-config-step-choices-summary-text {
  font-family: Orbitron, sans-serif;
  font-size: .68rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.product-config-step-choices-count {
  color: var(--petronas);
  font-size: .72rem;
  font-weight: 700;
}
.product-config-step-choices-body {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  padding: 0 .65rem .6rem;
}
.product-config-step-choices:not([open]) .product-config-step-choices-body {
  padding-top: 0;
}
.product-config-choice-chip {
  display: inline-flex;
  align-items: baseline;
  gap: .35rem;
  max-width: 100%;
  padding: .2rem .5rem;
  border-radius: 999px;
  background: #ffffff08;
  font-size: .72rem;
  line-height: 1.35;
}
.product-config-choice-chip-label {
  color: #ffffff66;
  text-transform: uppercase;
  letter-spacing: .04em;
  flex-shrink: 0;
}
.product-config-choice-chip-value {
  color: #ffffffdd;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-config-step-error {
  margin: 0 0 .85rem;
  padding: .55rem .7rem;
  border-radius: 8px;
  background: rgba(255, 77, 141, .12);
  border: 1px solid rgba(255, 77, 141, .35);
  color: #ffb4d0;
  font-size: .82rem;
  line-height: 1.45;
}
.product-config-step-error[hidden] {
  display: none !important;
}
.product-config-step-meta {
  margin: -.65rem 0 .85rem;
  font-size: .78rem;
  color: var(--petronas);
}
.product-config-intro-meta {
  color: #ffffff99;
}
.product-config-intro-skip {
  margin-top: 1rem;
}
.product-config-restore-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: 1rem;
  padding: .75rem .85rem;
  border-radius: 10px;
  background: rgba(139, 92, 246, .1);
  border: 1px solid rgba(139, 92, 246, .28);
}
.product-config-restore-banner[hidden] {
  display: none !important;
}
.product-config-restore-text {
  margin: 0;
  font-size: .84rem;
  color: #ffffffcc;
}
.product-config-restore-actions {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}
.product-config-footer-sticky {
  position: relative;
  flex-shrink: 0;
  z-index: 3;
  margin-top: 0;
  padding: .85rem 0 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: var(--bg-card-solid, #101016);
  box-shadow: 0 -10px 24px rgba(0, 0, 0, 0.35);
}
.product-config-live-price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: .45rem;
  margin-bottom: .65rem;
  padding: .55rem .75rem;
  border-radius: 10px;
  background: rgba(0, 210, 190, .08);
  border: 1px solid rgba(0, 210, 190, .22);
}
.product-config-live-price-label {
  font-size: .75rem;
  color: #ffffff88;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.product-config-live-price-value {
  font-size: 1.15rem;
  color: #fff;
}
.product-config-live-price-suffix {
  font-size: .75rem;
  color: #ffffff66;
}
.product-config-field-invalid {
  outline: 2px solid rgba(255, 77, 141, .55) !important;
  outline-offset: 2px;
}
.product-config-qty-stepper {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}
.product-config-qty-btn {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 8px;
  border: 1px solid #ffffff20;
  background: #ffffff08;
  color: #fff;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
}
.product-config-qty-stepper .input {
  width: 4.5rem;
  text-align: center;
}
.product-config-summary-choice-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .15rem .65rem;
  align-items: start;
  padding: .55rem 0;
  border-bottom: 1px solid #ffffff10;
}
.product-config-summary-choice-row:last-child {
  border-bottom: 0;
}
.product-config-summary-choice-row dt {
  grid-column: 1;
  margin: 0;
}
.product-config-summary-choice-row dd {
  grid-column: 1;
  margin: 0;
}
.product-config-summary-edit {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  border: 0;
  background: none;
  color: var(--petronas);
  font-size: .75rem;
  cursor: pointer;
  text-decoration: underline;
  padding: .15rem 0;
}
.attr-cat-product-badge--popular {
  display: inline-block;
  margin-top: .15rem;
  padding: .1rem .35rem;
  border-radius: 999px;
  font-size: .62rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  background: rgba(255, 180, 80, .16);
  color: #ffc978;
  border: 1px solid rgba(255, 180, 80, .28);
}
@media (max-width: 720px) {
  .product-config-stepper-label {
    display: none;
  }
  .product-config-stepper-btn {
    max-width: none;
    padding: .35rem;
  }
  .product-config-footer-sticky {
    position: sticky;
    bottom: 0;
    margin-left: -1rem;
    margin-right: -1rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
  }
}
.product-config-step-label { font-size: .75rem; color: #ffffff66; text-transform: uppercase; letter-spacing: .05em; }
.product-config-close {
  background: none; border: none; color: #ffffff80; font-size: 1.5rem; cursor: pointer; line-height: 1;
}
.product-config-progress {
  height: 4px; background: #ffffff12; border-radius: 4px; margin-bottom: 1.25rem; overflow: hidden;
}
.product-config-progress-bar {
  height: 100%; background: linear-gradient(90deg, var(--petronas), var(--violet-bright));
  border-radius: 4px; transition: width .3s ease;
}
.product-config-step-title { font-size: 1.1rem; margin-bottom: .5rem; text-transform: uppercase; }
.product-config-step-desc { font-size: .88rem; color: #ffffff80; margin-bottom: 1.25rem; line-height: 1.5; }
.product-config-intro-list {
  margin: 0; padding-left: 1.2rem; font-size: .9rem; color: #ffffff99; line-height: 1.7;
}
.product-config-nav {
  display: flex; gap: .75rem; justify-content: flex-end; margin-top: 1.5rem;
  padding-top: 1.25rem; border-top: 1px solid #ffffff12;
}
.product-config-summary {
  padding: 1rem; background: #ffffff06; border-radius: 12px; border: 1px solid #ffffff10;
}
.product-config-summary-price,
.product-config-summary-deposit {
  display: flex; justify-content: space-between; align-items: center;
  padding: .5rem 0; font-size: .95rem;
}
.product-config-summary-deposit { color: var(--petronas); border-top: 1px solid #ffffff10; margin-top: .5rem; padding-top: .75rem; }
.product-config-summary-choices {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ffffff10;
}
.product-config-summary-choices-list {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.product-config-summary-choices-list dt {
  font-size: .72rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #ffffff55;
  margin: 0;
}
.product-config-summary-choices-list dd {
  margin: .1rem 0 0;
  font-size: .9rem;
  color: #ffffffdd;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
}
.product-config-summary-empty {
  margin: 0;
  font-size: .85rem;
  color: #ffffff66;
}

.attr-cat-products-picker {
  margin-top: .25rem;
}
.attr-cat-products-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
  margin-bottom: .85rem;
}
.attr-cat-products-search-wrap {
  position: relative;
  flex: 1 1 220px;
  min-width: 180px;
}
.attr-cat-products-search-wrap .attr-cat-products-search {
  padding-left: 2rem;
  width: 100%;
}
.attr-cat-products-search-icon {
  position: absolute;
  left: .7rem;
  top: 50%;
  transform: translateY(-50%);
  color: #ffffff66;
  pointer-events: none;
}
.attr-cat-products-meta {
  font-size: .75rem;
  color: #ffffff66;
  white-space: nowrap;
}
.attr-cat-products-limit-hint {
  color: #ffffff88;
}
.attr-cat-products-selected-count {
  color: var(--petronas);
  font-weight: 600;
}
.attr-cat-products-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
  max-height: min(48vh, 420px);
  overflow: auto;
  padding-right: .15rem;
}
.attr-cat-product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  margin: 0;
  padding: .7rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 10px;
  background: rgba(255, 255, 255, .03);
  cursor: pointer;
  text-align: left;
  color: inherit;
  font: inherit;
  transition: border-color .15s, background .15s, box-shadow .15s;
}
.attr-cat-product-card--filtered-out {
  display: none !important;
}
.attr-cat-product-card--select {
  appearance: none;
}
.attr-cat-product-card:hover {
  border-color: rgba(0, 210, 190, .35);
  background: rgba(255, 255, 255, .05);
}
.attr-cat-product-card:has(.attr-cat-products-checkbox:checked),
.attr-cat-product-card--select.selected {
  border-color: rgba(0, 210, 190, .55);
  background: rgba(0, 210, 190, .08);
  box-shadow: 0 0 0 1px rgba(0, 210, 190, .15) inset;
}
.attr-cat-product-card .attr-cat-products-checkbox {
  position: absolute;
  top: .55rem;
  right: .55rem;
  margin: 0;
  z-index: 2;
}
.attr-cat-product-thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 148px;
  border-radius: 10px;
  background: rgba(0, 0, 0, .25);
  overflow: hidden;
  padding: .5rem;
}
.attr-cat-product-img {
  width: 100%;
  max-height: 140px;
  object-fit: contain;
  display: block;
}
.attr-cat-product-img-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 120px;
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--petronas);
}
.attr-cat-product-body {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
  padding-right: 1.1rem;
}
.attr-cat-product-name {
  font-size: .86rem;
  line-height: 1.35;
  color: #ffffffde;
  font-weight: 600;
}
.attr-cat-product-sku {
  font-size: .68rem;
  color: #ffffff55;
}
.attr-cat-products-empty {
  margin: .75rem 0 0;
  font-size: .85rem;
  color: #ffffff66;
  text-align: center;
}
.product-config-modal .attr-cat-product-card .attr-hint-badge {
  position: absolute;
  top: .45rem;
  left: .45rem;
  right: auto;
}
.product-config-modal .attr-cat-products-grid {
  max-height: none;
  overflow: visible;
  padding-right: 0;
}
@media (max-width: 720px) {
  .attr-cat-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: min(52vh, 460px);
  }
  .attr-cat-product-thumb { min-height: 120px; }
  .attr-cat-product-img { max-height: 112px; }
}
@media (max-width: 480px) {
  .attr-cat-products-grid {
    grid-template-columns: 1fr;
  }
  .attr-cat-product-thumb { min-height: 140px; }
  .attr-cat-product-img { max-height: 132px; }
}

/* Fiche produit ? options inline : m?me format que color-swatch attr-priced-option */
#product-options-fields .attr-cat-products-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  max-height: none;
  overflow: visible;
  padding-right: 0;
}
#product-options-fields .attr-cat-product-card {
  width: 72px;
  min-width: 72px;
  min-height: 72px;
  max-width: 72px;
  padding: 0;
  margin: 0;
  gap: 0;
  border-radius: 12px;
  border-width: 2px;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  overflow: hidden;
  text-align: center;
}
#product-options-fields .attr-cat-product-card--select.selected {
  box-shadow: 0 0 0 2px rgba(0, 210, 190, 0.35);
}
#product-options-fields .attr-cat-product-card .attr-cat-products-checkbox {
  top: 4px;
  right: 4px;
  left: auto;
  width: .85rem;
  height: .85rem;
}
#product-options-fields .attr-cat-product-card .attr-hint-badge {
  position: absolute;
  top: 4px;
  right: 4px;
  left: auto;
  margin: 0;
  min-width: 1rem;
  height: 1rem;
  font-size: .5rem;
  z-index: 3;
}
#product-options-fields .attr-cat-product-thumb {
  position: absolute;
  inset: 0;
  min-height: 0;
  padding: .2rem;
  border-radius: 0;
  background: rgba(0, 0, 0, .2);
}
#product-options-fields .attr-cat-product-img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center;
}
#product-options-fields .attr-cat-product-img-fallback {
  min-height: 0;
  height: 100%;
  font-size: 1.35rem;
}
#product-options-fields .attr-cat-product-body {
  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 0;
  padding: .35rem .2rem .15rem;
  padding-right: .2rem;
  background: rgba(0, 0, 0, 0.85);
  border-radius: 0 0 8px 8px;
  gap: 0;
}
#product-options-fields .attr-cat-product-name {
  display: block;
  font-size: .6rem;
  line-height: 1.2;
  font-weight: 600;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .9);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#product-options-fields .attr-cat-product-sku {
  display: none;
}
#product-options-fields .grid-2:not(.attr-option-image-grid) {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  grid-template-columns: unset;
}
#product-options-fields .attr-option-image-grid,
#product-options-fields .color-swatches.attr-option-image-grid,
#add-to-cart-form .attr-option-image-grid,
#add-to-cart-form .color-swatches.attr-option-image-grid,
.product-inline-options-section .attr-option-image-grid,
.product-inline-options-section .color-swatches.attr-option-image-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  grid-template-columns: unset;
}
#product-options-fields .option-btn.attr-priced-option {
  width: 72px;
  min-width: 72px;
  max-width: 72px;
  height: 72px;
  min-height: 72px;
  max-height: 72px;
  padding: .35rem;
  border-radius: 10px;
  border: 2px solid rgba(255, 255, 255, 0.12);
  font-size: .6rem;
  line-height: 1.2;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-shrink: 0;
}
#product-options-fields .option-btn.attr-priced-option.selected {
  border-color: rgba(0, 210, 190, 0.55);
  box-shadow: 0 0 0 1px rgba(0, 210, 190, 0.2);
}
#product-options-fields .attr-option-image-btn.attr-priced-option {
  width: 72px;
  min-width: 72px;
  max-width: 72px;
  height: 72px;
  min-height: 72px;
  max-height: 72px;
  border-radius: 10px;
  border: 2px solid rgba(255, 255, 255, 0.12);
  padding: 0;
  overflow: hidden;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-end;
  background: rgba(16, 16, 24, 0.9);
  flex-shrink: 0;
}
#product-options-fields .attr-option-image-btn.attr-priced-option:hover {
  border-color: rgba(0, 210, 190, 0.35);
}
#product-options-fields .attr-option-image-btn.attr-priced-option.selected {
  border-color: rgba(0, 210, 190, 0.55);
  box-shadow: 0 0 0 1px rgba(0, 210, 190, 0.2);
}
#product-options-fields .attr-option-image-btn .attr-option-image-thumb {
  position: absolute;
  inset: 0;
  aspect-ratio: auto;
  min-height: 0;
  padding: 0;
  background: #000;
}
#product-options-fields .attr-option-image-btn .attr-option-image-thumb img {
  object-fit: cover;
  object-position: center;
}
#product-options-fields .attr-option-image-btn {
  position: relative;
}
#product-options-fields .attr-option-image-btn .attr-option-image-label {
  position: relative;
  z-index: 1;
  width: 100%;
  box-sizing: border-box;
  padding: .35rem .2rem .15rem;
  font-size: .6rem;
  line-height: 1.2;
  font-weight: 600;
  text-align: center;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .9);
  background: rgba(0, 0, 0, 0.85);
  border-radius: 0 0 8px 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#add-to-cart-form .attr-option-image-btn .attr-option-image-label,
.product-inline-options-section .attr-option-image-btn .attr-option-image-label {
  width: 100%;
  box-sizing: border-box;
  padding: .35rem .2rem .15rem;
  font-size: .6rem;
  line-height: 1.2;
  font-weight: 600;
  text-align: center;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .9);
  background: rgba(0, 0, 0, 0.85);
  border-radius: 0 0 8px 8px;
}
#product-options-fields .attr-option-image-btn .attr-option-image-label small,
#product-options-fields .attr-option-image-btn .attr-option-image-label .attr-price-hint {
  display: none;
}
#product-options-fields .attr-option-image-btn .attr-hint-badge {
  top: 4px;
  right: 4px;
  left: auto;
  min-width: 1rem;
  height: 1rem;
  font-size: .5rem;
}

.cart-page.cart-page--unified {
  width: 100%;
  max-width: 1100px;
}
.cart-page-head,
.cart-page-layout--unified,
.cart-page--unified > .card {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.cart-page-title {
  font-size: clamp(1.75rem, 4vw, 2.35rem);
  margin-bottom: .35rem;
  width: 100%;
}
.cart-page-lead {
  color: #ffffff80;
  font-size: .92rem;
  margin-bottom: 1.5rem;
  max-width: none;
}
.cart-promo-block {
  margin-bottom: 1.25rem;
  padding: 1rem 1.15rem;
}
.cart-promo-block .promo-code-box {
  margin: 0;
  padding: 0;
  border: none;
}
.cart-promo-initie-ref {
  font-size: .82rem;
  line-height: 1.5;
  color: #ffffffb3;
  margin: 0 0 .65rem;
  padding: .55rem .65rem;
  border: 1px solid rgba(0, 210, 190, 0.28);
  border-radius: 8px;
  background: rgba(0, 210, 190, 0.08);
}
.cart-promo-initie-ref strong { color: #fff; }
.cart-promo-initie-offer { color: var(--petronas); }
.cart-promo-apply-row,
.cart-promo-apply-form {
  display: block;
  width: 100%;
}
.cart-promo-initie-pending {
  margin: .5rem 0 0;
  font-size: .78rem;
  line-height: 1.45;
  color: #ffffff80;
}
.cart-promo-code-input.site-ticker-code {
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--petronas);
}
.cart-item-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: .85rem;
  align-items: center;
  padding: .75rem 1rem;
  margin-bottom: .65rem;
}
.cart-item-thumb {
  width: 72px;
  height: 72px;
  min-width: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .8rem;
  font-weight: 700;
  color: var(--petronas);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.12), rgba(139, 92, 246, 0.12));
  overflow: hidden;
}
.cart-item-thumb--photo {
  padding: 0;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .08);
}
.cart-item-thumb--photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cart-item-thumb--photo .img-load-host,
.cart-color-suggestion-media .img-load-host,
.cart-gift-offer-media .img-load-host {
  width: 100%;
  height: 100%;
}
.cart-item-thumb--photo .img-load-host {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
}
.cart-item-thumb--photo .img-load-host img,
.cart-color-suggestion-media .img-load-host img,
.cart-gift-offer-media .img-load-host img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cart-page .img-load-host img {
  opacity: 1;
}
.cart-page .img-load-spinner {
  display: none;
}
.order-item-attr-uploads {
  margin-top: 0.35rem;
}
.order-attr-files-panel {
  margin-top: 0.75rem;
}
.order-attr-files-group-title {
  font-size: 0.82rem;
  margin: 0 0 0.5rem;
  color: var(--text-fainter);
}
.order-attr-files-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.order-attr-files-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.15);
  max-width: 100%;
}
.order-attr-files-thumb-link {
  display: block;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  overflow: hidden;
  border-radius: 4px;
}
.order-attr-files-thumb,
.order-attr-files-thumb-link img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 48px;
  max-height: 48px;
  object-fit: cover;
  border-radius: 4px;
}
.order-attr-files-thumb-link .img-load-host {
  display: block;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}
.order-attr-files-thumb-link .img-load-host img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
}
.order-attr-files-thumb-link .img-load-spinner {
  display: none;
}
.order-attr-files-meta {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  font-size: 0.85rem;
  min-width: 0;
}
.order-attr-files-link {
  color: var(--petronas);
  text-decoration: underline;
  word-break: break-word;
}
.order-attr-files-dpi {
  color: var(--petronas);
  font-size: 0.8rem;
}
.order-attr-files-dpi.is-warn {
  color: var(--violet-bright);
}
.order-attr-files-size {
  color: var(--text-fainter);
  font-size: 0.78rem;
}
.cart-item-body h3 { font-size: 1rem; margin: 0 0 .25rem; }
.order-item-attrs,
.cart-item-attrs {
  margin: .5rem 0 0;
  display: grid;
  gap: .45rem;
}
.order-item-attr-row,
.cart-item-attr-row { line-height: 1.4; }
.order-item-attrs dt,
.cart-item-attrs dt {
  font-size: .68rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--text-fainter);
  margin: 0;
}
.order-item-attrs dd,
.cart-item-attrs dd {
  margin: .08rem 0 0;
  font-size: .82rem;
  color: var(--text-muted);
  white-space: pre-wrap;
  word-break: break-word;
}
.order-item-attrs--admin {
  margin-top: .45rem;
  padding-top: .45rem;
  border-top: 1px dashed var(--border-faint);
}
.order-item-attrs--admin dt { font-size: .62rem; }
.order-item-attrs--admin dd { font-size: .75rem; }
.order-item-attrs--account { margin-top: .35rem; }
.account-order-line {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  padding: .75rem 0;
  border-bottom: 1px solid var(--border-faint);
}
.account-order-line-main { flex: 1; min-width: 0; }
.account-order-line-price { flex-shrink: 0; }
.cart-item-side { text-align: right; }
.cart-item-ht { font-size: .72rem; color: #ffffff55; }
.cart-item-qty-form {
  display: flex;
  gap: .35rem;
  align-items: center;
  margin: .5rem 0 0;
  justify-content: flex-end;
}
.cart-item-qty-form .input { width: 3.5rem; padding: .35rem .5rem; text-align: center; }
.cart-qty-hidden-form { display: none; }
.cart-summary-line {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: .88rem;
  color: #ffffff99;
  margin-bottom: .45rem;
}
.cart-summary-divider { border: none; border-top: 1px solid #ffffff14; margin: .85rem 0; }
.cart-summary-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: .9rem;
  margin-bottom: .4rem;
  color: #ffffffb3;
}
.cart-summary-row--promo { color: var(--petronas); }
.cart-summary-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: .75rem;
  padding-top: .75rem;
  border-top: 1px solid #ffffff14;
}
.cart-checkout-section-title {
  font-size: 1.05rem;
  margin-bottom: 1rem;
}
.cart-checkout-mode {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  cursor: pointer;
  padding: .65rem .75rem;
  border: 1px solid #ffffff14;
  border-radius: 10px;
}
.cart-checkout-mode input { margin-top: .2rem; }
.shipping-option {
  display: flex;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid #ffffff1a;
  border-radius: 12px;
  margin-bottom: .5rem;
  cursor: pointer;
}
.shipping-option:has(input:checked) {
  border-color: var(--petronas);
  background: #00d4aa0a;
}
.shipping-option input { margin-top: .2rem; flex-shrink: 0; }
.shipping-option-body {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  font-size: .88rem;
  color: #ffffff99;
}
.cart-checkout-submit {
  width: 100%;
  margin-top: 1rem;
  padding: .85rem 1.25rem;
  font-size: .95rem;
}
@media (max-width: 640px) {
  .cart-item-card {
    grid-template-columns: 56px minmax(0, 1fr);
    grid-template-rows: auto auto;
  }
  .cart-item-thumb,
  .cart-item-thumb--photo {
    width: 56px;
    height: 56px;
    min-width: 56px;
    font-size: .72rem;
  }
  .cart-item-side {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    padding-top: .5rem;
    border-top: 1px solid #ffffff10;
  }
  .cart-item-qty-form { margin-top: 0; }
}
.cart-page-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: 1.5rem;
  align-items: start;
  margin-top: 0;
}
.cart-page-main {
  max-height: calc(100vh - var(--site-header-offset-h) - var(--site-top-stack-h) - 48px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.cart-page-aside,
.cart-page-summary {
  overflow: visible;
  max-height: none;
}
@media (max-width: 900px) {
  .cart-page-layout {
    grid-template-columns: 1fr;
  }
  .cart-page-main {
    position: static;
    max-height: none;
    overflow: visible;
  }
}
.cart-page-layout--unified {
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  max-width: 100%;
}
.cart-page-layout--unified .cart-page-main,
.cart-page-layout--unified .cart-page-aside {
  min-width: 0;
  width: 100%;
  max-width: 100%;
}
.cart-page-layout--unified .cart-page-main {
  max-height: none;
  overflow: visible;
}
.cart-page-layout--unified .cart-item-card,
.cart-page-layout--unified .cart-checkout-section,
.cart-page-layout--unified .cart-page-summary {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.cart-page-layout--unified .cart-page-summary.sticky-below-header {
  position: static;
  top: auto;
}
.cart-items-block.is-loading {
  opacity: 0.55;
  pointer-events: none;
  transition: opacity .2s ease;
}

.cart-color-suggestions {
  margin: 1.5rem 0 1.75rem;
  padding: 1.25rem 1.35rem 1.35rem;
  border-radius: 14px;
  border: 1px solid rgba(0, 210, 190, .18);
  background: linear-gradient(135deg, rgba(0, 210, 190, .06) 0%, rgba(139, 92, 246, .05) 100%);
  overflow: visible;
  max-height: none;
}
.cart-color-suggestion-row--extra.is-collapsed {
  display: none !important;
}
.cart-color-suggestions-more {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}
.cart-color-suggestions-more-btn {
  min-width: 10rem;
}
.cart-color-suggestions-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1rem;
  margin-bottom: 1rem;
}
.cart-color-suggestions-title {
  margin: 0;
  font-size: clamp(1.05rem, 2.2vw, 1.35rem);
  flex: 1 1 220px;
}
.cart-color-suggestions-lead {
  margin: 0;
  flex: 1 1 100%;
  font-size: .86rem;
  color: #ffffff88;
  line-height: 1.45;
}
.cart-color-suggestions-swatches {
  display: inline-flex;
  gap: .35rem;
  align-items: center;
}
.cart-color-suggestions-swatch,
.cart-color-suggestion-swatch {
  display: inline-block;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .35);
  box-shadow: 0 0 10px rgba(0, 0, 0, .35);
}
.cart-color-suggestion-swatch {
  position: absolute;
  right: .55rem;
  bottom: .55rem;
  width: 1.35rem;
  height: 1.35rem;
}
.cart-color-suggestions-grid,
.cart-color-suggestions-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, auto);
  gap: .65rem;
  overflow: visible;
  max-height: none;
}
.cart-color-suggestions:not(.cart-color-suggestions--config):not(.cart-color-suggestions--product-page) .cart-color-suggestions-list {
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  grid-template-rows: none;
  gap: .85rem;
  align-items: stretch;
}
.cart-color-suggestions--cols-2:not(.cart-color-suggestions--config) .cart-color-suggestions-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: none;
  gap: .85rem;
}
.cart-color-suggestions--cols-3:not(.cart-color-suggestions--config) .cart-color-suggestions-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: none;
  gap: .8rem;
}
.cart-color-suggestions--cols-4:not(.cart-color-suggestions--config) .cart-color-suggestions-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: none;
  gap: .75rem;
}
.cart-color-suggestions--cols-2.cart-color-suggestions--config {
  --config-suggest-visible: 2;
}
.cart-color-suggestions--cols-3.cart-color-suggestions--config {
  --config-suggest-visible: 3;
}
.cart-color-suggestions--cols-4.cart-color-suggestions--config {
  --config-suggest-visible: 4;
}
@media (max-width: 1100px) {
  .cart-color-suggestions--cols-4:not(.cart-color-suggestions--config) .cart-color-suggestions-list,
  .cart-color-suggestions--cols-3:not(.cart-color-suggestions--config) .cart-color-suggestions-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .cart-color-suggestions--cols-4:not(.cart-color-suggestions--config) .cart-color-suggestions-list,
  .cart-color-suggestions--cols-3:not(.cart-color-suggestions--config) .cart-color-suggestions-list,
  .cart-color-suggestions--cols-2:not(.cart-color-suggestions--config) .cart-color-suggestions-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 480px) {
  .cart-color-suggestions--cols-4:not(.cart-color-suggestions--config) .cart-color-suggestions-list,
  .cart-color-suggestions--cols-3:not(.cart-color-suggestions--config) .cart-color-suggestions-list,
  .cart-color-suggestions--cols-2:not(.cart-color-suggestions--config) .cart-color-suggestions-list {
    grid-template-columns: 1fr;
  }
}
.cart-color-suggestion-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: .35rem;
  min-width: 0;
}
.cart-color-suggestions:not(.cart-color-suggestions--config):not(.cart-color-suggestions--product-page) .cart-color-suggestion-row {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  height: 100%;
  min-height: 100%;
  min-width: 0;
}
.cart-color-suggestion-row--disabled {
  opacity: .55;
}
.cart-color-suggestion-check {
  flex: 0 0 auto;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
  accent-color: var(--petronas);
  cursor: pointer;
}
.cart-color-suggestion-check:disabled {
  cursor: wait;
  opacity: .5;
}
.cart-color-suggestion-check-placeholder {
  flex: 0 0 1.15rem;
  width: 1.15rem;
}
.cart-color-suggestions:not(.cart-color-suggestions--config):not(.cart-color-suggestions--product-page) .cart-color-suggestion-check {
  position: absolute;
  top: .55rem;
  left: .55rem;
  z-index: 3;
  flex: none;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
  border-radius: 4px;
  background: rgba(10, 10, 18, .82);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .18);
}
.cart-color-suggestions:not(.cart-color-suggestions--config):not(.cart-color-suggestions--product-page) .cart-color-suggestion-check-placeholder {
  display: none;
}
.cart-color-suggestion-card {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: stretch;
  color: inherit;
  overflow: hidden;
  min-width: 0;
  height: 100%;
  padding: 0;
  margin: 0;
  cursor: pointer;
}
.cart-color-suggestions:not(.cart-color-suggestions--config):not(.cart-color-suggestions--product-page) .cart-color-suggestion-card {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
}
.cart-color-suggestion-card.is-selected {
  border-color: rgba(0, 210, 190, .45);
  box-shadow: 0 0 0 1px rgba(0, 210, 190, .2);
}
.cart-color-suggestion-card--out-of-stock {
  cursor: default;
}
.cart-color-suggestion-stock {
  margin: 0;
  font-size: .72rem;
  color: #ff8a8a;
}
.cart-color-suggestion-media {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 1;
  background: rgba(255, 255, 255, .03);
  overflow: hidden;
}
.cart-color-suggestion-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cart-color-suggestion-body {
  flex: 1;
  min-width: 0;
  padding: .55rem .75rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .2rem;
}
.cart-color-suggestions:not(.cart-color-suggestions--config) .cart-color-suggestion-body {
  flex: 1 1 auto;
  justify-content: flex-start;
  gap: .25rem;
  padding: .75rem .85rem .9rem;
}
.cart-color-suggestions:not(.cart-color-suggestions--config) .cart-color-suggestion-body .product-price,
.cart-color-suggestions:not(.cart-color-suggestions--config) .cart-color-suggestion-body .product-price-hidden,
.cart-color-suggestions:not(.cart-color-suggestions--config) .cart-color-suggestion-body .cart-color-suggestion-stock {
  margin-top: auto;
  padding-top: .35rem;
}
.cart-color-suggestion-body h3 {
  margin: 0;
  font-size: .92rem;
  line-height: 1.25;
}
.cart-color-suggestion-match {
  margin: 0;
  font-size: .72rem;
  color: var(--petronas);
}
.cart-color-suggestion-size-wrap {
  display: flex;
  flex-direction: column;
  gap: .3rem;
  margin: .35rem 0 0;
  min-width: 0;
}
.cart-color-suggestion-size-label {
  font-size: .72rem;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .55);
}
.cart-color-suggestion-size {
  width: 100%;
  min-height: 2rem;
  padding: .35rem .55rem;
  font-size: .85rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(10, 10, 18, .72);
  color: #fff;
}
.cart-color-suggestion-size:focus {
  outline: 1px solid rgba(0, 210, 190, .55);
  border-color: rgba(0, 210, 190, .45);
}
.cart-color-suggestions:not(.cart-color-suggestions--config):not(.cart-color-suggestions--product-page) .cart-color-suggestion-size-wrap {
  padding: 0 .65rem .65rem;
}
.cart-color-suggestions--config .cart-color-suggestion-size-wrap {
  padding: 0 .15rem .15rem;
}
.cart-color-suggestions--product-page .cart-color-suggestion-size-wrap {
  margin: .45rem 0 .55rem;
}

.config-color-suggestions {
  margin-top: .65rem;
  overflow: visible;
  max-height: none;
}
.config-color-suggestions[hidden] {
  display: none !important;
}
.cart-color-suggestions--config {
  margin: 0;
  padding: .55rem .65rem .6rem;
  overflow: visible;
  max-height: none;
}
.cart-color-suggestions--config .cart-color-suggestions-head {
  gap: .35rem .5rem;
  margin-bottom: .45rem;
  align-items: center;
}
.cart-color-suggestions--config .cart-color-suggestions-title {
  font-size: .82rem;
  flex: 1 1 auto;
  line-height: 1.2;
}
.cart-color-suggestions--config .cart-color-suggestions-lead {
  display: none;
}
.cart-color-suggestions--config .cart-color-suggestions-swatches {
  flex: 0 0 auto;
}
.cart-color-suggestions--config .cart-color-suggestions-swatch {
  width: .85rem;
  height: .85rem;
}
.config-color-suggestions-slider-wrap {
  position: relative;
  min-width: 0;
  width: 100%;
}
.cart-color-suggestions--config .cart-color-suggestions-list {
  --config-suggest-gap: .28rem;
  --config-suggest-visible: 4;
  --config-suggest-col: calc((100% - (var(--config-suggest-visible) - 1) * var(--config-suggest-gap)) / var(--config-suggest-visible));
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: var(--config-suggest-gap);
  grid-template-columns: unset;
  grid-template-rows: unset;
  grid-auto-flow: unset;
  grid-auto-columns: unset;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  max-height: none;
}
.cart-color-suggestions--config .cart-color-suggestions-list::-webkit-scrollbar {
  display: none;
}
.config-color-suggestions-slider-wrap.is-slider .cart-color-suggestions-list {
  padding-bottom: .1rem;
}
.config-color-suggestions-slider-nav {
  display: flex;
  justify-content: center;
  gap: .35rem;
  margin-top: .35rem;
}
.config-color-suggestions-slider-nav[hidden] {
  display: none !important;
}
.config-color-suggestions-slider-btn {
  width: 1.65rem;
  height: 1.65rem;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  background: rgba(255, 255, 255, .04);
  color: #ffffffcc;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, opacity .15s ease;
}
.config-color-suggestions-slider-btn:hover:not(:disabled) {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(0, 210, 190, .35);
  color: var(--petronas);
}
.config-color-suggestions-slider-btn:disabled {
  opacity: .35;
  cursor: default;
}
.cart-color-suggestions--config .cart-color-suggestion-row {
  flex: 0 0 var(--config-suggest-col);
  width: var(--config-suggest-col);
  min-width: var(--config-suggest-col);
  max-width: var(--config-suggest-col);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: .2rem;
  scroll-snap-align: start;
  min-height: 0;
  align-self: stretch;
}
.cart-color-suggestions--config .cart-color-suggestion-check {
  width: .8rem;
  height: .8rem;
}
.cart-color-suggestions--config .cart-color-suggestion-check-placeholder {
  flex-basis: .8rem;
  width: .8rem;
}
.cart-color-suggestions--config .cart-color-suggestion-media {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  min-height: 3.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .06);
  border-radius: 8px;
}
.product-config-modal .cart-color-suggestions--config .cart-color-suggestion-media,
.moto-config-modal .cart-color-suggestions--config .cart-color-suggestion-media {
  min-height: 4.5rem;
}
.cart-color-suggestions--config .cart-color-suggestion-media img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}
.cart-color-suggestions--config .cart-color-suggestion-swatch {
  width: .75rem;
  height: .75rem;
  right: .35rem;
  bottom: .35rem;
}
.cart-color-suggestions--config .cart-color-suggestion-card {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
}
.cart-color-suggestions--config .cart-color-suggestion-body {
  flex: 1 1 auto;
  justify-content: flex-start;
  padding: .2rem .25rem .2rem 0;
  gap: 0;
}
.cart-color-suggestions--config .cart-color-suggestion-body h3 {
  font-size: .64rem;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cart-color-suggestions--config .cart-color-suggestion-body .product-cat {
  display: none;
}
.cart-color-suggestions--config .cart-color-suggestion-match {
  font-size: .56rem;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cart-color-suggestions--config .cart-color-suggestion-stock {
  font-size: .56rem;
  line-height: 1.1;
}
.cart-color-suggestions--config .cart-color-suggestion-body .product-price,
.cart-color-suggestions--config .cart-color-suggestion-body .product-price-hidden {
  margin-top: auto;
  padding-top: .15rem;
  font-size: .64rem;
  line-height: 1.1;
}
.product-config-modal .product-config-summary .config-color-suggestions {
  margin-top: .55rem;
  padding-top: .5rem;
  border-top: 1px solid #ffffff10;
  overflow: visible;
  max-height: none;
}
.config-color-suggestions-loading .config-color-suggestions-loading-head {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: .35rem;
}
.config-color-suggestions-loading .cart-color-suggestions-title {
  flex: 1 1 auto;
  min-width: 0;
}
.config-color-suggestions-spinner {
  flex: 0 0 auto;
  width: 1.1rem;
  height: 1.1rem;
  border: 2px solid #ffffff22;
  border-top-color: var(--petronas);
  border-radius: 50%;
  animation: configColorSuggestionsSpin .7s linear infinite;
}
.config-color-suggestions-loading-text {
  margin: 0;
  font-size: .78rem;
  color: #ffffff66;
}
@keyframes configColorSuggestionsSpin {
  to { transform: rotate(360deg); }
}
.product-config-modal .product-config-summary .config-color-suggestions[hidden] {
  display: none !important;
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
@media (max-width: 640px) {
  .cart-color-suggestions:not(.cart-color-suggestions--config):not(.cart-color-suggestions--product-page) .cart-color-suggestions-list,
  .cart-color-suggestions--product-page .cart-color-suggestions-list,
  .cart-gift-offers-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cart-color-suggestions--config .cart-color-suggestions-list {
    --config-suggest-visible: 2;
  }
}
.product-config-modal .product-config-step[data-step-type="summary"] .product-config-step-title {
  font-size: .95rem;
  margin-bottom: .25rem;
}
.product-config-modal .product-config-step[data-step-type="summary"] .product-config-step-desc {
  font-size: .78rem;
  margin-bottom: .55rem;
  line-height: 1.35;
}
.product-config-modal .product-config-step[data-step-type="summary"] .product-config-summary {
  padding: .55rem .65rem;
}
.product-config-modal .product-config-step[data-step-type="summary"] .product-config-summary-choices {
  margin-bottom: .45rem;
  padding-bottom: .45rem;
}
.product-config-modal .product-config-step[data-step-type="summary"] .product-config-summary-choices-list {
  gap: .35rem .75rem;
}
.product-config-modal .product-config-step[data-step-type="summary"] .product-config-summary-choices-list dt {
  font-size: .64rem;
}
.product-config-modal .product-config-step[data-step-type="summary"] .product-config-summary-choices-list dd {
  font-size: .78rem;
  margin-top: 0;
}
.product-config-modal .product-config-step[data-step-type="summary"] .product-config-summary-price,
.product-config-modal .product-config-step[data-step-type="summary"] .product-config-summary-deposit {
  padding: .25rem 0;
  font-size: .82rem;
}
.product-config-modal .product-config-step[data-step-type="summary"] .product-config-summary-deposit {
  margin-top: .25rem;
  padding-top: .45rem;
}
.product-config-modal .product-config-step[data-step-type="summary"] .label {
  margin-top: .45rem !important;
  margin-bottom: .2rem;
  font-size: .72rem;
}
.product-config-modal .product-config-step[data-step-type="summary"] #config-quantity {
  padding: .35rem .5rem;
  font-size: .85rem;
}
.product-config-modal .product-config-step[data-step-type="summary"] .product-config-nav {
  margin-top: .85rem;
  padding-top: .75rem;
}

.cart-gift-offers {
  margin: 0 0 1.5rem;
  padding: 1.25rem 1.35rem 1.35rem;
  border-radius: 14px;
  border: 1px solid rgba(139, 92, 246, .22);
  background: linear-gradient(135deg, rgba(139, 92, 246, .07) 0%, rgba(0, 210, 190, .04) 100%);
}
.cart-gift-offers-head { margin-bottom: 1rem; }
.cart-gift-offers-title {
  margin: 0 0 .35rem;
  font-size: clamp(1.05rem, 2.2vw, 1.3rem);
}
.cart-gift-offers-lead {
  margin: 0;
  font-size: .86rem;
  color: #ffffff88;
}
.cart-gift-offers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: .85rem;
  align-items: stretch;
}
.cart-gift-offer-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
  overflow: visible;
}
.cart-gift-offer-select-form {
  margin-top: auto;
  padding-top: .35rem;
  display: grid;
  gap: .45rem;
}
.cart-gift-offer-attr {
  display: grid;
  gap: .2rem;
  font-size: .75rem;
  color: #d7ece6;
}
.cart-gift-offer-attr-select {
  width: 100%;
  min-height: 2.15rem;
  font-size: .82rem;
}
.cart-gift-offer-select-btn { width: 100%; }
.cart-gift-offers-selected {
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  border-radius: 10px;
  border: 1px solid rgba(0, 210, 190, .28);
  background: rgba(0, 210, 190, .08);
}
.cart-gift-offers-selected-title {
  margin: 0 0 .5rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--petronas);
}
.cart-gift-offers-selected-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: .45rem;
}
.cart-gift-offers-selected-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  font-size: .88rem;
}
.cart-gift-offers-selected-thumb {
  flex: 0 0 3rem;
  width: 3rem;
  height: 3rem;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(255, 255, 255, .04);
}
.cart-gift-offers-selected-thumb img,
.cart-gift-offers-selected-thumb .img-load-host,
.cart-gift-offers-selected-thumb .img-load-host img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cart-gift-offers-selected-copy {
  flex: 1 1 auto;
  min-width: 0;
  display: grid;
  gap: .15rem;
}
.cart-gift-offers-selected-copy strong {
  font-weight: 650;
}
.cart-gift-offers-selected-copy em {
  font-style: normal;
  font-size: .78rem;
  color: #ffffff88;
}
.cart-item-card--gift { border-color: rgba(139, 92, 246, .35); }
.cart-item-gift-tag {
  margin: .2rem 0 0;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #c4b5fd;
}
.cart-item-gift-price { color: var(--petronas); font-size: .95rem; }
.cart-gift-offer-badge {
  position: absolute;
  top: .55rem;
  left: .55rem;
  z-index: 2;
  padding: .2rem .5rem;
  border-radius: 999px;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(139, 92, 246, .92);
}
.cart-gift-offer-media {
  aspect-ratio: 1;
  background: rgba(255, 255, 255, .03);
  overflow: hidden;
}
.cart-gift-offer-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cart-gift-offer-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 2rem;
  color: var(--violet);
}
.cart-gift-offer-body {
  flex: 1 1 auto;
  padding: .75rem .85rem .9rem;
  display: flex;
  flex-direction: column;
  gap: .25rem;
}
.cart-gift-offer-body h3 {
  margin: 0;
  font-size: .92rem;
  line-height: 1.25;
}
.cart-gift-offer-threshold {
  margin: 0;
  font-size: .72rem;
  color: #ffffff88;
}
.cart-gift-offers-teaser,
.cart-gift-offers-next-tier-teaser,
.cart-summary-gift-teaser {
  padding: .85rem 1rem;
  border-radius: 10px;
  border: 1px solid rgba(139, 92, 246, .28);
  background: rgba(139, 92, 246, .1);
}
.cart-gift-offers-teaser-text,
.cart-gift-offers-next-tier-teaser-text,
.cart-summary-gift-teaser-text {
  margin: 0;
  font-size: .9rem;
  line-height: 1.45;
  color: #ffffffd9;
}
.cart-gift-offers-teaser-text strong,
.cart-gift-offers-next-tier-teaser-text strong,
.cart-summary-gift-teaser-text strong {
  color: #e9ddff;
}
.cart-gift-offers-teaser-detail,
.cart-gift-offers-next-tier-teaser-detail,
.cart-summary-gift-teaser-detail {
  margin: .35rem 0 0;
  font-size: .78rem;
  color: #ffffff88;
}
.cart-gift-offers-next-tier-teaser {
  margin-top: 1rem;
  padding-top: .85rem;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.cart-summary-gift-teaser {
  margin: .75rem 0 .25rem;
}
.admin-cart-tabs-card {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.admin-cart-tabs {
  margin-bottom: 0;
}
.admin-cart-tab-panels {
  min-height: 200px;
}
.admin-cart-tab-panel {
  padding-top: .15rem;
}
.admin-cart-tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  margin-left: .4rem;
  padding: 0 .35rem;
  border-radius: 999px;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: inherit;
  background: rgba(255, 255, 255, .1);
}
.admin-product-tab.is-active .admin-cart-tab-count {
  background: rgba(0, 210, 190, .22);
}
.admin-cart-form-actions {
  padding-top: .25rem;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.admin-cart-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}
.admin-cart-config-summary-title {
  margin: 0 0 .75rem;
  font-size: .95rem;
}
.admin-cart-config-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.admin-cart-config-summary-block {
  display: grid;
  gap: .35rem;
}
.admin-cart-config-summary-label {
  font-size: .78rem;
  color: #ffffff66;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.admin-cart-config-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin: .35rem 0 0;
  padding: 0;
  list-style: none;
}
.admin-cart-config-chips li {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}
.admin-cart-config-chip {
  display: inline-flex;
  align-items: center;
  padding: .2rem .55rem;
  border-radius: 999px;
  background: rgba(0, 212, 255, .12);
  border: 1px solid rgba(0, 212, 255, .22);
  font-size: .78rem;
  color: #dff9ff;
}
.admin-cart-config-chip-meta {
  font-size: .74rem;
  color: #ffffff66;
}
.admin-color-rules,
.admin-gift-tier-groups {
  display: grid;
  gap: 1rem;
}
.admin-gift-tier-groups {
  gap: .65rem;
}
.admin-color-rule-card,
.admin-gift-tier-group {
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 12px;
  background: rgba(255, 255, 255, .02);
}
details.admin-gift-tier-group.admin-priority-rule-disclosure {
  padding: 0;
  overflow: hidden;
}
details.admin-gift-tier-group.admin-priority-rule-disclosure[open],
details.admin-gift-tier-group.admin-priority-rule-disclosure[open] > .admin-priority-rule-body-wrap,
details.admin-gift-tier-group.admin-priority-rule-disclosure[open] > .admin-priority-rule-body-wrap > .admin-priority-rule-body {
  overflow: visible;
}
.admin-gift-tier-group.is-inactive .admin-priority-rule-summary-name {
  color: #ffffff88;
}
.admin-gift-rule-identity {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) auto;
  gap: .75rem 1.25rem;
  align-items: end;
  margin-bottom: .85rem;
}
.admin-gift-rule-active-label {
  display: flex;
  align-items: center;
  gap: .45rem;
  min-height: 2.5rem;
  font-size: .85rem;
  color: #d7ece6;
  white-space: nowrap;
  cursor: pointer;
}
.admin-priority-rule-summary .admin-gift-tier-remove {
  margin-bottom: 0;
  flex-shrink: 0;
}
.admin-color-rule-head,
.admin-gift-tier-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: .85rem;
  flex-wrap: wrap;
}
.admin-gift-tier-triggers {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 1rem;
  margin: 0 0 1rem;
}
.admin-gift-tier-trigger-cats,
.admin-gift-tier-trigger-products {
  min-width: 0;
  padding: .85rem;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 10px;
  background: rgba(0, 0, 0, .16);
}
.admin-gift-tier-trigger-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .55rem;
}
.admin-gift-tier-trigger-hint {
  display: block;
  margin: 0 0 .65rem;
  font-size: .75rem;
  color: #ffffff66;
  line-height: 1.4;
}
.admin-gift-tier-picker-slot .admin-cat-picker {
  max-height: 22rem;
  overflow: auto;
}
.admin-gift-trigger-row {
  display: flex;
  gap: .5rem;
  align-items: center;
  margin-bottom: .5rem;
}
.admin-gift-trigger-row .input {
  flex: 1;
  min-width: 0;
}
.admin-gift-tier-gifts-head {
  margin: .25rem 0 .55rem;
}
.admin-gift-product-search {
  position: relative;
}
.admin-gift-product-search-wrap {
  position: relative;
}
.admin-gift-product-search-wrap .admin-gift-product-q {
  width: 100%;
  padding-right: 2.1rem;
}
.admin-gift-product-clear {
  position: absolute;
  right: .35rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.6rem;
  height: 1.6rem;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #ffffff88;
  cursor: pointer;
  line-height: 1;
}
.admin-gift-product-clear:hover {
  color: #fff;
  background: rgba(255, 255, 255, .08);
}
.admin-gift-product-results {
  position: relative;
  z-index: 4;
  margin-top: .35rem;
  max-height: 16rem;
  overflow: auto;
  padding: .35rem;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 10px;
  background: #12171d;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .35);
}
.admin-gift-product-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.admin-gift-product-result {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .15rem;
  width: 100%;
  margin: 0;
  padding: .45rem .55rem;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #fff;
  text-align: left;
  cursor: pointer;
  font: inherit;
}
.admin-gift-product-result:hover,
.admin-gift-product-result:focus {
  background: rgba(0, 210, 190, .12);
}
.admin-gift-product-result-name {
  font-size: .85rem;
  line-height: 1.3;
}
.admin-gift-product-result-meta,
.admin-gift-product-empty {
  font-size: .75rem;
  color: #ffffff77;
}
.admin-gift-product-empty {
  margin: .35rem .45rem;
}
.admin-gift-product-picked {
  margin: .4rem 0 0;
  font-size: .78rem;
  color: var(--petronas);
}
@media (max-width: 960px) {
  .admin-gift-tier-triggers {
    grid-template-columns: 1fr;
  }
}
.admin-color-rule-title-wrap {
  flex: 1;
  min-width: 0;
}
.admin-color-rule-cats-priority {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
.admin-color-rule-cats-col,
.admin-color-rule-priority-col {
  min-width: 0;
}
.admin-color-rule-priority-panel {
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 10px;
  background: rgba(0, 0, 0, .18);
  overflow: hidden;
}
.admin-color-rule-priority-toolbar {
  display: flex;
  gap: .5rem;
  align-items: center;
  padding: .55rem .65rem;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.admin-color-rule-priority-search {
  flex: 1;
  min-width: 0;
}
.admin-color-rule-priority-count {
  flex-shrink: 0;
  font-size: .75rem;
  color: rgba(255, 255, 255, .55);
  white-space: nowrap;
}
.admin-color-rule-priority-list {
  max-height: 28rem;
  overflow: auto;
  padding: .35rem .45rem .55rem;
}
.admin-color-rule-priority-group + .admin-color-rule-priority-group {
  margin-top: .55rem;
  padding-top: .45rem;
  border-top: 1px solid rgba(255, 255, 255, .06);
}
.admin-color-rule-priority-group-title {
  font-size: .72rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .45);
  margin: .15rem .2rem .35rem;
}
.admin-color-rule-priority-check {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  padding: .28rem .35rem;
  border-radius: 6px;
  font-size: .86rem;
  line-height: 1.35;
  color: rgba(255, 255, 255, .88);
  cursor: pointer;
}
.admin-color-rule-priority-check:hover {
  background: rgba(255, 255, 255, .05);
}
.admin-color-rule-priority-check input {
  margin-top: .15rem;
  flex-shrink: 0;
}
@media (max-width: 960px) {
  .admin-color-rule-cats-priority {
    grid-template-columns: 1fr;
  }
}
.admin-cat-priority-products {
  margin: .15rem 0 .45rem;
  padding: .4rem .55rem .5rem;
  border-left: 2px solid rgba(0, 212, 255, .35);
  background: rgba(0, 212, 255, .04);
  border-radius: 0 6px 6px 0;
}
.admin-cat-priority-products-label {
  font-size: .68rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: rgba(0, 212, 255, .75);
  margin: 0 0 .3rem;
}
.admin-cat-priority-products-list {
  display: flex;
  flex-direction: column;
  gap: .1rem;
}
.admin-cat-priority-product-check {
  display: flex;
  align-items: flex-start;
  gap: .45rem;
  padding: .2rem .25rem;
  border-radius: 5px;
  font-size: .82rem;
  line-height: 1.3;
  color: rgba(255, 255, 255, .88);
  cursor: pointer;
}
.admin-cat-priority-product-check:hover {
  background: rgba(255, 255, 255, .05);
}
.admin-cat-priority-product-check input {
  margin-top: .12rem;
  flex-shrink: 0;
}
.admin-cat-picker-panel.has-priority-product > .admin-cat-row {
  box-shadow: inset 2px 0 0 rgba(0, 212, 255, .55);
}
.admin-gift-tier-head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  justify-content: flex-end;
}
.admin-gift-tier-gifts-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem 1rem;
  margin: 1rem 0 .65rem;
}
.admin-gift-tier-gifts-head-copy {
  display: grid;
  gap: .25rem;
  min-width: 0;
  flex: 1 1 220px;
}
.admin-gift-tiers-footer-actions {
  display: flex;
  justify-content: flex-start;
  margin: 1rem 0 .25rem;
}
.admin-cart-rule-selected {
  margin-bottom: .85rem;
  padding: .65rem .75rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, .03);
  border: 1px dashed rgba(255, 255, 255, .1);
}
.admin-gift-tier-gifts {
  display: grid;
  gap: .75rem;
}
.admin-gift-item-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(160px, 1fr) auto;
  gap: .75rem;
  align-items: end;
  padding: .75rem;
  border-radius: 10px;
  background: var(--bg-elevated);
  border: 1px solid var(--border-faint);
}
.admin-gift-item-remove,
.admin-gift-tier-remove {
  margin-bottom: .15rem;
}
@media (max-width: 900px) {
  .admin-cart-config-summary-grid,
  .admin-color-rule-head,
  .admin-gift-tier-head,
  .admin-gift-rule-identity,
  .admin-gift-item-row {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }
  .admin-cart-section-head {
    flex-direction: column;
    align-items: stretch;
  }
  .cart-item-card {
    grid-template-columns: 56px minmax(0, 1fr);
    grid-template-areas:
      "thumb body"
      "side side";
  }
  .cart-item-thumb,
  .cart-item-thumb--photo {
    width: 56px;
    height: 56px;
    min-width: 56px;
    grid-area: thumb;
  }
  .cart-item-body { grid-area: body; }
  .cart-item-side {
    grid-area: side;
    text-align: left;
    margin-top: .25rem;
  }
}

.cart-checkout-legal-hint {
  font-size: .85rem;
  color: #ffffff80;
  margin: 0 0 .5rem;
  line-height: 1.45;
}
.cart-checkout-comment {
  width: 100%;
  resize: vertical;
  min-height: 4.5rem;
  margin-bottom: 1rem;
}
.cart-checkout-check {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  font-size: .84rem;
  line-height: 1.5;
  color: #ffffff99;
  margin-bottom: .75rem;
  cursor: pointer;
}
.cart-checkout-check input { margin-top: .2rem; flex-shrink: 0; }
.cart-checkout-check a { color: var(--cyan); text-decoration: underline; }
.cart-checkout-flash--error { color: #ffb4b4; font-size: .88rem; }
.cart-checkout-flash--ok { color: var(--petronas); font-size: .88rem; }

.boxtal-relay-map {
  height: 420px;
  min-height: 420px;
  border-radius: 12px;
  overflow: hidden;
  background: #ffffff08;
  border: 1px solid #ffffff14;
  margin-bottom: .75rem;
}
.boxtal-relay-map .leaflet-container {
  height: 100%;
  width: 100%;
  border-radius: 12px;
  font-family: inherit;
}
.boxtal-relay-map .leaflet-popup-content-wrapper {
  border-radius: 8px;
}
.relay-section-lead {
  font-size: .9rem;
  color: #ffffff80;
  margin: 0 0 .75rem;
  line-height: 1.45;
}
.relay-search-toolbar {
  margin-top: .75rem;
  display: flex;
  flex-direction: column;
  gap: .65rem;
  align-items: flex-start;
}
.relay-address-hint {
  margin: 0;
  font-size: .84rem;
  line-height: 1.45;
  color: #ffffff80;
}
.relay-address-hint--warn { color: var(--warn); }
.relay-address-hint--ok { color: var(--petronas); }
#relay-search-btn.is-disabled,
#relay-search-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
  pointer-events: none;
  border-color: #ffffff28;
  color: #ffffff66;
}
.relay-list {
  margin-top: .75rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.relay-list-msg {
  margin: 0;
  padding: .75rem 1rem;
  font-size: .88rem;
  color: #ffffff99;
  background: #ffffff06;
  border: 1px solid #ffffff14;
  border-radius: 10px;
  line-height: 1.45;
}
.relay-list-msg--error { color: #ffb4b4; border-color: rgba(167, 139, 250, .35); }
.relay-list-msg--warn { color: var(--warn); }
.relay-list-msg--loading { color: var(--petronas); }
.relay-point-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .2rem;
  width: 100%;
  text-align: left;
  padding: .75rem 1rem;
  border: 1px solid #ffffff1a;
  border-radius: 10px;
  background: #ffffff06;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  transition: border-color .15s, background .15s;
}
.relay-point-card:hover,
.relay-point-card.is-selected {
  border-color: var(--petronas);
  background: rgba(0, 210, 190, 0.08);
}
.relay-point-card-name {
  font-weight: 600;
  font-size: .9rem;
  color: var(--text-primary);
}
.relay-point-card-addr {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  font-size: .82rem;
  color: #ffffff99;
  line-height: 1.4;
}
.relay-point-card-street {
  color: #ffffffcc;
  font-weight: 500;
}
.relay-point-card-city {
  color: #ffffff88;
}
.relay-point-card-dist {
  font-size: .75rem;
  color: var(--petronas);
}
.relay-selected-summary {
  margin-top: .75rem;
  padding: .75rem 1rem;
  border: 1px solid var(--petronas);
  border-radius: 8px;
  font-size: .9rem;
  color: #ffffffcc;
  line-height: 1.5;
}

body.has-impersonation-banner {
  --impersonation-banner-h: 42px;
}
.impersonation-banner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 120;
  width: 100%;
  background: linear-gradient(90deg, rgba(139, 92, 246, 0.22), rgba(244, 63, 94, 0.16));
  border-bottom: 1px solid rgba(139, 92, 246, 0.35);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
}
.impersonation-banner-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
  padding: .55rem 20px;
  font-size: .85rem;
  min-height: var(--impersonation-banner-h);
  box-sizing: border-box;
}
.impersonation-banner-text {
  position: relative;
  z-index: 1;
  color: var(--text-primary);
  line-height: 1.4;
}
.impersonation-banner-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
}
.impersonation-test-mode-label {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .82rem;
  color: var(--text-primary);
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}
.impersonation-test-mode-label input {
  flex-shrink: 0;
}
.admin-client-impersonate-form {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
}
.admin-client-test-mode-inline {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .85rem;
  color: var(--text-muted);
  cursor: pointer;
  user-select: none;
}
.admin-client-test-mode-inline input {
  flex-shrink: 0;
}
.admin-client-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.admin-client-panel {
  padding: 1.15rem 1.25rem;
}
.admin-client-panel--wide {
  grid-column: 1 / -1;
}
.admin-client-group-summary {
  padding: .75rem 1rem;
  background: rgba(0, 210, 190, .06);
  border: 1px solid rgba(0, 210, 190, .15);
  border-radius: 8px;
}
.admin-client-group-summary p { margin: 0; }
.admin-client-address-list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  margin-bottom: .5rem;
}
.admin-client-address-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: .75rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  font-size: .88rem;
  color: #ffffff99;
}
.admin-client-address-item p { margin: .35rem 0 0; line-height: 1.5; }
.admin-client-address-actions {
  display: flex;
  align-items: center;
  gap: .35rem;
  flex-shrink: 0;
}
.admin-client-orders-list {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.admin-client-order-link {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: .75rem 1rem;
  align-items: center;
  padding: .65rem .75rem;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  text-decoration: none;
  color: inherit;
  font-size: .88rem;
}
.admin-client-order-link:hover {
  border-color: rgba(0, 210, 190, 0.25);
  background: rgba(0, 210, 190, 0.04);
}
@media (max-width: 900px) {
  .admin-client-grid { grid-template-columns: 1fr; }
  .admin-client-order-link { grid-template-columns: 1fr; }
}

.admin-groups-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}
.admin-groups-list-items { display: flex; flex-direction: column; gap: .4rem; }
.admin-groups-list-item {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  padding: .65rem .75rem;
  border-radius: 10px;
  border: 1px solid rgba(139, 92, 246, 0.15);
  text-decoration: none;
  color: inherit;
  font-size: .88rem;
  transition: border-color .2s, background .2s;
}
.admin-groups-list-item:hover,
.admin-groups-list-item.is-active {
  border-color: rgba(0, 210, 190, 0.35);
  background: rgba(0, 210, 190, 0.06);
}
.admin-groups-list-item span { font-size: .75rem; color: #ffffff66; }
.admin-groups-subtitle {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--cyan);
  margin: 0 0 .5rem;
}
.admin-groups-rules-table-wrap {
  overflow-x: auto;
  max-height: 320px;
  overflow-y: auto;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
}
.admin-groups-rules-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .82rem;
}
.admin-groups-rules-table th,
.admin-groups-rules-table td {
  padding: .5rem .65rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  vertical-align: middle;
}
.admin-groups-rules-table thead th {
  position: sticky;
  top: 0;
  background: var(--bg-card-solid);
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-faint);
}
.admin-groups-member-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: .65rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
@media (max-width: 960px) {
  .admin-groups-layout { grid-template-columns: 1fr; }
}

/* Admin ? r?f?rents commande */
.admin-referents-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}
.admin-referents-head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.admin-referents-kpis {
  margin-bottom: 1.25rem;
  gap: 1rem;
}
.admin-referents-kpi {
  padding: 1rem 1.15rem;
}
.admin-referents-kpi-label {
  color: #ffffff66;
  font-size: .82rem;
  margin-bottom: .35rem;
}
.admin-referents-kpi-value {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.2;
}
.admin-referents-kpi-value--accent {
  color: var(--petronas);
}
.admin-referents-kpi-suffix {
  font-size: .85rem;
  color: #ffffff55;
  font-weight: 600;
}
.admin-referents-kpi-meta {
  font-size: .88rem;
  color: #ffffffaa;
  line-height: 1.45;
}
.admin-referents-kpi-link {
  display: inline-block;
  margin-top: .45rem;
  font-size: .78rem;
}
.admin-referents-list {
  padding: 1rem;
}
.admin-referents-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: 1rem;
}
.admin-referents-list-foot {
  margin: 1rem 0 0;
  font-size: .78rem;
}
.admin-referents-form-card {
  padding: 1.25rem;
}
.admin-referents-form-grid {
  gap: .85rem;
  margin-bottom: 1rem;
}
.admin-referents-commission-box {
  margin-bottom: 1rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(0, 210, 190, .22);
  border-radius: 10px;
  background: rgba(0, 210, 190, .05);
}
.admin-referents-commission-input {
  max-width: 10rem;
}
.admin-referents-commission-hint {
  margin: .45rem 0 0;
}
.admin-referents-active-check {
  margin-bottom: 1rem;
}
.admin-referents-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.admin-referents-delete-form {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.admin-referents-delete-btn {
  color: #ff8a8a;
}
.admin-referents-settings-card {
  padding: 1.25rem;
  max-width: 720px;
}
.admin-referents-settings-intro {
  margin: 0 0 1.25rem;
  font-size: .85rem;
  line-height: 1.55;
}
.admin-referents-settings-block {
  border: none;
  padding: 0;
  margin: 0 0 1.25rem;
}
.admin-referents-settings-hint {
  margin: 0 0 .75rem;
}
.admin-referents-status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem .85rem;
}
.admin-referents-status-code {
  font-size: .72rem;
  color: #ffffff55;
}
@media (max-width: 640px) {
  .admin-referents-status-grid { grid-template-columns: 1fr; }
}

.admin-groups-cat-row.is-highlighted {
  background: rgba(0, 210, 190, .12);
  outline: 1px solid rgba(0, 210, 190, .35);
}
.admin-groups-cat-row.is-highlighted td {
  background: transparent;
}
.admin-cat-pro-grid {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.admin-cat-pro-item {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .65rem .85rem;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 8px;
  background: rgba(255, 255, 255, .02);
  cursor: pointer;
  font-size: .88rem;
}
.admin-cat-pro-item:hover { background: rgba(255, 255, 255, .04); }
.admin-cat-pro-text { flex: 1; min-width: 0; }
.admin-cat-pro-text strong { display: inline; margin-right: .35rem; }
.admin-cat-pro-hint {
  display: block;
  font-size: .75rem;
  color: #ffffff55;
  margin-top: .15rem;
}
.admin-cat-pro-config {
  flex-shrink: 0;
  font-size: .78rem;
  white-space: nowrap;
}
.admin-cat-pro-cell { min-width: 120px; }
.admin-cat-actions { white-space: nowrap; }

.admin-cat-page-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem 1.25rem;
  margin-bottom: 1.25rem;
}
.admin-cat-page-head .admin-cat-page-title {
  margin: 0 0 .35rem;
}
.admin-cat-page-head .admin-cat-page-lead {
  margin: 0;
}
.admin-cat-page-head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  flex-shrink: 0;
}
.admin-cat-page-head-actions .btn {
  white-space: nowrap;
}
.admin-cat-page-title {
  margin-bottom: .35rem;
}
.admin-cat-page-lead {
  margin: 0 0 1.25rem;
  font-size: .88rem;
  color: #ffffff77;
  max-width: 820px;
  line-height: 1.5;
}
.admin-cat-mirrors-card {
  margin-bottom: 1rem;
  padding: 0;
  border: 2px solid rgba(168, 85, 247, .55);
  background: rgba(168, 85, 247, .1);
  overflow: hidden;
}
.admin-cat-mirrors-card.admin-collapsible-panel[open],
.admin-cat-mirrors-card.admin-collapsible-panel.has-active-filters {
  border-color: rgba(168, 85, 247, .75);
}
.admin-cat-mirrors-summary {
  color: #e9d5ff;
  text-transform: none;
  letter-spacing: .03em;
  font-size: .95rem;
}
.admin-cat-mirrors-summary:hover {
  background: rgba(168, 85, 247, .14);
}
.admin-cat-mirrors-badge {
  background: rgba(168, 85, 247, .85);
}
.admin-cat-mirrors-body {
  gap: .65rem;
  padding-top: .85rem;
}
.admin-cat-split-card {
  padding: 0;
  overflow: hidden;
  margin-bottom: 1.25rem;
}
.admin-cat-split {
  display: flex;
  align-items: stretch;
  min-height: min(72vh, 760px);
}
.admin-cat-split-tree-pane {
  width: 42%;
  min-width: 280px;
  max-width: 68%;
  padding: 1rem;
  overflow: auto;
  border-right: 1px solid rgba(255, 255, 255, .08);
}
.admin-cat-split-target-pane {
  flex: 1;
  min-width: 280px;
  padding: 1rem 1.15rem;
  overflow: auto;
  display: flex;
  flex-direction: column;
}
.admin-cat-target-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem 1rem;
  margin-bottom: .85rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.admin-cat-target-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.admin-cat-target-hint {
  margin: .85rem 0 0;
  font-size: .78rem;
  color: #ffffff55;
  line-height: 1.5;
}
.admin-cat-tree--target {
  flex: 1;
  min-height: 200px;
}
.admin-cat-tree--target.is-layout-modified {
  outline: 1px dashed rgba(0, 210, 190, .25);
  border-radius: 10px;
  padding: .35rem;
}
.admin-cat-tree--source.is-drop-root {
  outline: 2px dashed rgba(0, 210, 190, .35);
  background: rgba(0, 210, 190, .04);
  border-radius: 10px;
}
.admin-cat-tree--target.is-drop-root {
  outline: 2px dashed rgba(0, 210, 190, .35);
  background: rgba(0, 210, 190, .04);
}
.admin-cat-tree--source .admin-cat-drag-handle {
  cursor: grab;
}
.admin-cat-row--target {
  grid-template-columns: auto auto 1fr auto auto;
}
.admin-cat-reorder-btns {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  flex-shrink: 0;
}
.admin-cat-reorder-btn {
  width: 1.45rem;
  height: 1.15rem;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 4px;
  background: rgba(255, 255, 255, .04);
  color: #ffffff88;
  font-size: .68rem;
  line-height: 1;
  padding: 0;
  cursor: pointer;
}
.admin-cat-reorder-btn:hover:not(:disabled) {
  color: var(--petronas);
  border-color: rgba(0, 210, 190, .35);
  background: rgba(0, 210, 190, .08);
}
.admin-cat-reorder-btn:disabled {
  opacity: .25;
  cursor: default;
}
.admin-cat-name--target {
  font-weight: 600;
}
.admin-cat-edit-card {
  padding: 1.15rem 1.25rem;
  margin-bottom: 1.25rem;
}
.admin-nav-roots-title {
  margin: 0 0 .35rem;
}
.admin-nav-roots-lead {
  margin: 0 0 1.25rem;
  font-size: .88rem;
  color: #ffffff77;
  max-width: 900px;
  line-height: 1.55;
}
.admin-nav-roots-ref-card {
  padding: 1rem 1.15rem;
  margin-bottom: 1rem;
}
.admin-nav-roots-ref-title {
  font-size: .92rem;
  margin: 0 0 .75rem;
  color: #ffffffaa;
}
.admin-nav-roots-ref-lead {
  margin: 0 0 .85rem;
  font-size: .78rem;
  color: #ffffff66;
  line-height: 1.45;
  max-width: 720px;
}
.admin-nav-roots-ref-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: .65rem;
}
.admin-nav-roots-ref-item {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  padding: .75rem .65rem;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(255, 255, 255, .02);
}
.admin-nav-roots-ref-item.is-present {
  border-color: rgba(0, 210, 190, .25);
}
.admin-nav-roots-ref-item.is-missing {
  border-color: rgba(255, 255, 255, .08);
  opacity: .92;
}
.admin-nav-roots-ref-item.is-active {
  border-color: rgba(0, 210, 190, .45);
  box-shadow: inset 0 0 0 1px rgba(0, 210, 190, .08);
}
.admin-nav-roots-ref-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
}
.admin-nav-roots-ref-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  color: var(--ref-accent, var(--petronas));
}
.admin-nav-roots-ref-icon .nav-cat-icon-img,
.admin-nav-roots-ref-icon svg {
  width: 48px;
  height: auto;
  max-height: 28px;
}
.admin-nav-roots-ref-status {
  font-size: .68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #ffffff55;
}
.admin-nav-roots-ref-item.is-active .admin-nav-roots-ref-status {
  color: var(--petronas);
}
.admin-nav-roots-ref-activate {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: .78rem;
  color: #ffffffbb;
  cursor: pointer;
}
.admin-nav-roots-ref-fields {
  display: flex;
  flex-direction: column;
  gap: .45rem;
}
.admin-nav-roots-ref-field {
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.admin-nav-roots-ref-field-label {
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #ffffff55;
}
.admin-nav-roots-ref-field .input {
  font-size: .78rem;
  padding: .35rem .45rem;
  min-height: 0;
}
.admin-nav-roots-ref-field--color .admin-nav-roots-ref-color-input {
  width: 100%;
  height: 2rem;
  padding: .15rem;
  cursor: pointer;
}
.admin-nav-roots-ref-toggles {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .75rem;
  padding-top: .15rem;
}
.admin-nav-roots-ref-actions {
  display: flex;
  gap: .5rem;
}
.admin-nav-roots-ref-note {
  margin: 0;
  font-size: .65rem;
  color: #ffffff44;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.admin-nav-roots-card {
  padding: 1rem 1.15rem;
  margin-bottom: 1rem;
}
.admin-nav-roots-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: .75rem;
  margin-bottom: 1rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.admin-nav-roots-toolbar-lead {
  margin: .25rem 0 0;
  font-size: .78rem;
  color: #ffffff60;
}
.admin-nav-roots-empty {
  margin: 0;
  color: #ffffff88;
  font-size: .88rem;
}
.admin-nav-roots-list {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.admin-nav-root-row {
  display: grid;
  grid-template-columns: auto auto minmax(140px, 1.4fr) auto auto auto;
  gap: .65rem .75rem;
  align-items: center;
  padding: .65rem .75rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 10px;
  background: rgba(255, 255, 255, .02);
}
.admin-nav-root-row.is-inactive {
  opacity: .55;
}
.admin-nav-root-row.is-hidden-menu:not(.is-inactive) {
  border-style: dashed;
}
.admin-nav-root-row.is-hidden-site-nav:not(.is-inactive) {
  border-left: 3px solid rgba(255, 255, 255, .12);
}
.admin-nav-root-reorder {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.admin-nav-root-move {
  width: 1.5rem;
  height: 1.15rem;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 4px;
  background: rgba(255, 255, 255, .04);
  color: #ffffff88;
  font-size: .68rem;
  line-height: 1;
  padding: 0;
  cursor: pointer;
}
.admin-nav-root-move:hover:not(:disabled) {
  color: var(--petronas);
  border-color: rgba(0, 210, 190, .35);
}
.admin-nav-root-move:disabled {
  opacity: .25;
  cursor: default;
}
.admin-nav-root-icon .nav-cat-icon-img,
.admin-nav-root-icon svg {
  display: block;
  width: 56px;
  height: auto;
  max-height: 32px;
  color: var(--petronas);
}
.admin-nav-root-name {
  border: none;
  background: none;
  padding: 0;
  font: inherit;
  font-weight: 600;
  color: #ffffffe8;
  cursor: pointer;
  text-align: left;
}
.admin-nav-root-name:hover {
  color: var(--cyan);
}
.admin-nav-root-rename-input {
  width: 100%;
  font: inherit;
  font-weight: 600;
  color: inherit;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(0, 210, 190, .45);
  border-radius: 6px;
  padding: .2rem .45rem;
}
.admin-nav-root-slug {
  margin-top: .15rem;
  font-size: .72rem;
  color: #ffffff55;
}
.admin-nav-root-slug code {
  font-size: inherit;
}
.admin-nav-root-note {
  margin-left: .35rem;
  cursor: help;
  color: var(--cyan);
}
.admin-nav-root-toggles {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  font-size: .72rem;
  color: #ffffff88;
}
.admin-nav-root-toggle {
  display: flex;
  align-items: center;
  gap: .35rem;
  cursor: pointer;
  white-space: nowrap;
}
.admin-nav-root-meta {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  font-size: .72rem;
  color: #ffffff60;
  min-width: 72px;
}
.admin-nav-root-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .5rem;
  justify-content: flex-end;
}
.admin-nav-roots-create-card {
  padding: 1rem 1.15rem;
  margin-bottom: 1.25rem;
}
.admin-nav-roots-create-fields {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: flex-end;
}
.admin-nav-roots-create-fields > div {
  flex: 1 1 180px;
  min-width: 160px;
}
.admin-nav-roots-create-hint {
  margin: .65rem 0 0;
  font-size: .75rem;
  color: #ffffff55;
  line-height: 1.45;
}
@media (max-width: 960px) {
  .admin-nav-root-row {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "reorder icon"
      "main main"
      "toggles meta"
      "actions actions";
  }
  .admin-nav-root-reorder { grid-area: reorder; }
  .admin-nav-root-icon { grid-area: icon; }
  .admin-nav-root-main { grid-area: main; }
  .admin-nav-root-toggles { grid-area: toggles; }
  .admin-nav-root-meta { grid-area: meta; }
  .admin-nav-root-actions { grid-area: actions; justify-content: flex-start; }
}
.admin-cat-split-detail-pane {
  flex: 1;
  min-width: 280px;
  padding: 1.15rem 1.25rem;
  overflow: auto;
}
.admin-cat-split-resizer {
  flex: 0 0 6px;
  cursor: col-resize;
  background: rgba(255, 255, 255, .06);
  transition: background .15s;
  touch-action: none;
}
.admin-cat-split-resizer:hover,
.admin-cat-split-resizer.is-dragging {
  background: rgba(0, 210, 190, .35);
}
.admin-cat-detail-head {
  margin-bottom: 1rem;
}
.admin-cat-detail-head-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: .85rem 1rem;
}
.admin-cat-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
}
.admin-cat-detail-empty {
  padding: .5rem 0 1rem;
  color: #ffffff88;
  font-size: .9rem;
  line-height: 1.55;
}
.admin-cat-detail-hints ul {
  margin: 0;
  padding-left: 1.15rem;
  color: #ffffff70;
  font-size: .84rem;
  line-height: 1.65;
}
.admin-cat-tree--splitter {
  gap: .25rem;
}
.admin-cat-panel--splitter {
  border-radius: 8px;
}
.admin-cat-panel.is-selected-panel {
  border-color: rgba(0, 210, 190, .45);
  box-shadow: 0 0 0 1px rgba(0, 210, 190, .15);
}
.admin-cat-row--splitter {
  grid-template-columns: auto auto auto 1fr auto auto auto;
  gap: .45rem;
  padding: .5rem .55rem;
}
.admin-cat-tree--source > .admin-cat-panel > .admin-cat-row--splitter {
  grid-template-columns: auto auto auto auto 1fr auto auto auto;
}
.admin-cat-panel.is-dragging {
  opacity: .45;
  pointer-events: none;
}
.admin-cat-drag-handle {
  width: 1.45rem;
  height: 1.65rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 6px;
  background: rgba(255, 255, 255, .03);
  color: #ffffff66;
  font-size: .72rem;
  line-height: 1.65rem;
  text-align: center;
  cursor: grab;
  padding: 0;
  flex-shrink: 0;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
}
.admin-cat-drag-handle:active {
  cursor: grabbing;
  color: var(--petronas);
  border-color: rgba(0, 210, 190, .35);
}
.admin-cat-name-link.is-selected {
  color: var(--petronas);
}
.admin-cat-rename-btn {
  border: none;
  background: none;
  color: #ffffff55;
  cursor: pointer;
  font-size: .82rem;
  padding: 0 .15rem;
  line-height: 1;
}
.admin-cat-rename-btn:hover {
  color: var(--cyan);
}
.admin-cat-rename-input {
  width: min(220px, 100%);
  font: inherit;
  font-weight: 600;
  color: inherit;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(0, 210, 190, .45);
  border-radius: 6px;
  padding: .15rem .4rem;
}
.admin-cat-meta--compact .admin-cat-meta-item,
.admin-cat-side--compact .admin-cat-action {
  font-size: .72rem;
}
.admin-cat-side--compact {
  gap: .35rem;
}
.admin-cat-panel.is-drop-before > .admin-cat-row {
  box-shadow: inset 0 3px 0 var(--petronas);
}
.admin-cat-panel.is-drop-after > .admin-cat-row {
  box-shadow: inset 0 -3px 0 var(--petronas);
}
.admin-cat-panel.is-drop-inside > .admin-cat-row {
  background: rgba(0, 210, 190, .08);
  outline: 1px dashed rgba(0, 210, 190, .45);
}
.admin-cat-panel.is-drop-forbidden > .admin-cat-row {
  background: rgba(255, 80, 120, .08);
  outline: 1px dashed rgba(255, 80, 120, .45);
}
.admin-cat-children-inner.is-drop-target {
  background: rgba(0, 210, 190, .05);
  outline: 1px dashed rgba(0, 210, 190, .25);
  border-radius: 8px;
  min-height: 1.5rem;
}
.admin-cat-children-wrap:not(.is-open) > .admin-cat-children-inner.is-drop-target {
  min-height: 0;
  outline: none;
  background: transparent;
}
@media (max-width: 960px) {
  .admin-cat-split {
    flex-direction: column;
    min-height: 0;
  }
  .admin-cat-split-tree-pane,
  .admin-cat-split-source-pane {
    width: 100%;
    max-width: none;
    max-height: 45vh;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
  }
  .admin-cat-split-target-pane {
    min-height: 320px;
  }
  .admin-cat-split-resizer {
    display: none;
  }
  .admin-cat-split-detail-pane {
    min-height: 320px;
  }
}
.admin-cat-view-tabs {
  margin-bottom: 1.25rem;
}
.admin-cat-view-tabs .admin-product-tab {
  text-decoration: none;
}
.admin-categories-tabs-card {
  padding: 1.25rem 1.35rem 1.35rem;
}
.admin-cat-tab-panels {
  min-height: 120px;
}
.admin-cat-tab-heading {
  margin: 0 0 .35rem;
  font-size: 1.05rem;
}
.admin-cat-tab-lead {
  margin: 0 0 1.15rem;
  font-size: .86rem;
  color: #ffffff66;
}
.admin-cat-tab-empty {
  padding: 1.5rem 1rem;
  border: 1px dashed rgba(255, 255, 255, .12);
  border-radius: 10px;
  text-align: center;
  color: #ffffff88;
  font-size: .9rem;
}
.admin-cat-tab-empty p {
  margin: 0 0 1rem;
}
.admin-cat-edit-danger {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid #ffffff14;
}
.admin-cat-edit-danger-title {
  font-size: .9rem;
  color: var(--magenta);
  margin: 0 0 .5rem;
}
.admin-cat-edit-danger-lead {
  font-size: .82rem;
  color: #ffffff66;
  margin: 0 0 .75rem;
}
.admin-cat-edit-danger-btn {
  border-color: var(--magenta);
  color: var(--magenta);
}
.admin-cat-tree-card { overflow: hidden; }
.admin-cat-tree-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.admin-cat-tree-title {
  margin: 0 0 .25rem;
  font-size: 1rem;
}
.admin-cat-tree-lead {
  margin: 0;
  font-size: .8rem;
  color: #ffffff66;
}
.admin-cat-tree-toolbar-actions {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}
.admin-cat-tree-empty {
  margin: 0;
  font-size: .88rem;
  color: #ffffff77;
}
.admin-cat-tree {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.admin-cat-tree--splitter .admin-cat-children-wrap {
  display: none;
  grid-template-rows: unset;
  transition: none;
}
.admin-cat-tree--splitter .admin-cat-children-wrap.is-open {
  display: block;
  grid-template-rows: unset;
}
.admin-cat-tree--splitter .admin-cat-children-inner {
  overflow: visible;
  min-height: auto;
}
.admin-cat-panel {
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 10px;
  background: rgba(255, 255, 255, .015);
  overflow: hidden;
}
.admin-cat-panel[data-depth="0"] {
  background: rgba(0, 210, 190, .03);
  border-color: rgba(0, 210, 190, .15);
}
.admin-cat-panel.is-highlighted {
  border-color: rgba(0, 210, 190, .45);
  box-shadow: 0 0 0 1px rgba(0, 210, 190, .12);
}
.admin-cat-row {
  display: grid;
  grid-template-columns: auto auto auto 1fr auto auto;
  align-items: center;
  gap: .65rem;
  padding: .65rem .75rem;
}
.admin-cat-select-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  cursor: pointer;
  flex-shrink: 0;
}
.admin-cat-select {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.admin-cat-select-ui {
  width: 1.05rem;
  height: 1.05rem;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 4px;
  background: rgba(255, 255, 255, .04);
  display: block;
  transition: border-color .15s, background .15s, box-shadow .15s;
}
.admin-cat-select:checked + .admin-cat-select-ui {
  background: rgba(255, 0, 170, .22);
  border-color: rgba(255, 0, 170, .55);
  box-shadow: inset 0 0 0 2px rgba(255, 0, 170, .35);
}
.admin-cat-panel.is-selected > .admin-cat-row {
  background: rgba(255, 0, 170, .04);
}
.admin-cat-cascade-select-label {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .78rem;
  color: #ffffff88;
  cursor: pointer;
  user-select: none;
}
.admin-cat-cascade-select-label input {
  accent-color: var(--petronas);
}
.admin-cat-bulk-delete-btn:not(:disabled) {
  border-color: rgba(255, 0, 170, .45);
  color: #ffb4d9;
}
.admin-cat-panel[data-depth="1"] .admin-cat-row { padding-left: 1.35rem; }
.admin-cat-panel[data-depth="2"] .admin-cat-row { padding-left: 2rem; }
.admin-cat-panel[data-depth="3"] .admin-cat-row { padding-left: 2.65rem; }
.admin-cat-toggle {
  width: 1.65rem;
  height: 1.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 6px;
  background: rgba(255, 255, 255, .03);
  color: #ffffffaa;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  transition: border-color .15s, color .15s, background .15s;
}
.admin-cat-panel > .admin-cat-row .admin-cat-toggle:not(.admin-cat-toggle--spacer) {
  border-color: rgba(0, 210, 190, .35);
  color: var(--petronas);
  background: rgba(0, 210, 190, .08);
}
.admin-cat-toggle:hover {
  color: var(--petronas);
  border-color: rgba(0, 210, 190, .55);
  background: rgba(0, 210, 190, .16);
}
.admin-cat-toggle--spacer {
  border-color: transparent;
  background: transparent;
  cursor: default;
}
.admin-cat-chevron {
  width: .45rem;
  height: .45rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transition: transform .25s ease;
  margin-top: -.15rem;
}
.admin-cat-panel.is-open > .admin-cat-row .admin-cat-chevron {
  transform: rotate(45deg);
  margin-top: .1rem;
}
.admin-cat-icon {
  width: 2rem;
  height: 1.25rem;
  color: var(--petronas);
  flex-shrink: 0;
}
.admin-cat-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.admin-cat-main {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .35rem .5rem;
  min-width: 0;
}
.admin-cat-name {
  font-family: 'Orbitron', sans-serif;
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
}
.admin-cat-name:hover { color: var(--petronas); }
.admin-cat-badge {
  font-size: .65rem;
  padding: .12rem .4rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .06);
  color: #ffffff88;
}
.admin-cat-badge--muted {
  background: rgba(244, 63, 94, .12);
  color: #fda4af;
}
.admin-cat-select-wrap--spacer,
.admin-cat-drag-handle--spacer {
  visibility: hidden;
  pointer-events: none;
}
.admin-cat-select-wrap--unmirror {
  visibility: visible;
  pointer-events: auto;
}
.admin-cat-select-wrap--unmirror .admin-cat-select-ui {
  border-color: rgba(168, 85, 247, .55);
}
.admin-cat-unmirror-select:checked + .admin-cat-select-ui {
  background: rgba(168, 85, 247, .85);
  border-color: #c084fc;
}
.admin-cat-panel--mirror-ghost.is-unmirror-selected > .admin-cat-row,
.admin-cat-mirror-proof-item.is-unmirror-selected {
  background: rgba(168, 85, 247, .12);
}
.admin-cat-mirror-proof-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .5rem;
  margin: .2rem 0;
}
.admin-cat-select-wrap--proof {
  flex: 0 0 auto;
}
.admin-cat-bulk-unmirror-btn:not([hidden]) {
  border-color: rgba(168, 85, 247, .55);
  color: #e9d5ff;
}
.admin-cat-badge--mirror {
  background: rgba(56, 189, 248, .16);
  color: #7dd3fc;
}
.admin-cat-badge--mirror-ghost {
  background: rgba(168, 85, 247, .14);
  color: #d8b4fe;
}
.admin-cat-panel--mirror-ghost {
  opacity: .92;
  border-left: 2px solid rgba(168, 85, 247, .45);
}
.admin-cat-tree--mirror-mode {
  outline: 1px dashed rgba(56, 189, 248, .45);
  outline-offset: 4px;
  border-radius: 8px;
}
.admin-cat-tree--mirror-mode .admin-cat-panel.is-drop-inside > .admin-cat-row {
  background: rgba(56, 189, 248, .12);
  outline: 1px dashed rgba(56, 189, 248, .65);
}
.admin-cat-tree--mirror-mode .admin-cat-panel.is-selected > .admin-cat-row {
  background: rgba(56, 189, 248, .08);
  box-shadow: inset 3px 0 0 #38bdf8;
}
#admin-cat-mirror-mode.is-active {
  background: rgba(56, 189, 248, .18);
  border-color: #38bdf8;
  color: #e0f2fe;
}
.admin-cat-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .65rem;
  justify-content: flex-end;
}
.admin-cat-meta-item {
  font-size: .72rem;
  color: #ffffff66;
  white-space: nowrap;
}
.admin-cat-side {
  display: flex;
  align-items: center;
  gap: .65rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.admin-cat-vinyl {
  font-size: .72rem;
  color: #ffffff55;
  white-space: nowrap;
  text-decoration: none;
}
.admin-cat-vinyl:hover { color: var(--petronas); }
.admin-cat-vinyl--on {
  color: var(--petronas);
  font-weight: 600;
}
.admin-cat-sep { color: #ffffff33; }
.admin-cat-action {
  background: none;
  border: none;
  padding: 0;
  font-size: .85rem;
  font-weight: 500;
  color: var(--petronas);
  cursor: pointer;
  text-decoration: none;
}
.admin-cat-action:hover {
  color: #7ef9ee;
  text-decoration: underline;
}
.admin-cat-action--danger { color: #fca5a5; }
.admin-cat-action--danger:hover { color: #fecaca; }
.admin-cat-delete-form { display: inline; margin-left: .45rem; }

.admin-cat-delete-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(0, 0, 0, .72);
}
.admin-cat-delete-modal-overlay[hidden] { display: none !important; }
.admin-cat-delete-modal {
  width: min(100%, 520px);
  padding: 1.35rem 1.5rem;
}
.admin-cat-delete-title {
  margin: 0 0 .5rem;
  font-size: 1.15rem;
  color: var(--magenta);
}
.admin-cat-delete-lead {
  margin: 0 0 1rem;
  font-size: .9rem;
  color: #ffffff99;
}
.admin-cat-delete-label {
  margin: 0 0 .75rem;
  font-size: .85rem;
  color: #ffffff80;
}
.admin-cat-delete-notice {
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  border-radius: 10px;
  background: rgba(255, 0, 128, .08);
  border: 1px solid rgba(255, 0, 128, .22);
}
.admin-cat-delete-notice-text {
  margin: 0;
  font-size: .86rem;
  color: #ffffffb3;
  line-height: 1.5;
}
.admin-cat-delete-options {
  display: grid;
  gap: .75rem;
  margin-bottom: 1.25rem;
}
.admin-cat-delete-option {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  padding: .85rem 1rem;
  border: 1px solid #ffffff18;
  border-radius: 10px;
  cursor: pointer;
}
.admin-cat-delete-option input { margin-top: .2rem; flex-shrink: 0; }
.admin-cat-delete-option strong {
  display: block;
  margin-bottom: .45rem;
  font-size: .88rem;
}
.admin-cat-delete-target { width: 100%; margin-top: .15rem; }
.admin-cat-delete-option--tree > input { margin-top: .35rem; }
.admin-cat-delete-option--tree > span { flex: 1; min-width: 0; }
.admin-cat-delete-target-tree {
  margin-top: .65rem;
  width: 100%;
}
.admin-cat-delete-target-tree .admin-cat-picker {
  max-height: 260px;
  margin: 0;
}
.admin-cat-delete-hint {
  display: block;
  font-size: .78rem;
  color: #ffffff55;
  line-height: 1.45;
}
.admin-cat-delete-actions {
  display: flex;
  gap: .75rem;
  justify-content: flex-end;
}
.admin-cat-create-title {
  margin: 0 0 .5rem;
  font-size: 1.15rem;
  color: var(--petronas);
}
.admin-cat-create-form .label {
  display: block;
  margin-bottom: .35rem;
  font-size: .82rem;
  color: #ffffff88;
}
.admin-cat-children-wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .32s ease;
}
.admin-cat-children-wrap.is-open {
  grid-template-rows: 1fr;
}
.admin-cat-children-inner {
  overflow: hidden;
  min-height: 0;
  padding: 0 .5rem .5rem;
  display: flex;
  flex-direction: column;
  gap: .3rem;
}
.admin-cat-icon--spacer {
  width: 1.35rem;
  visibility: hidden;
}
.admin-cat-picker {
  border: 1px solid var(--border-light);
  border-radius: 10px;
  padding: .75rem;
  background: var(--bg-card-solid);
  max-height: 420px;
  overflow: auto;
}
.admin-cat-picker-toolbar {
  margin-bottom: .75rem;
  padding-bottom: .65rem;
  border-bottom: 1px solid var(--border-faint);
}
.admin-cat-picker-row {
  grid-template-columns: auto auto 1fr auto;
}
.admin-cat-picker-row--single {
  grid-template-columns: auto auto minmax(0, 1fr);
}
.admin-cat-picker--compact {
  max-height: 360px;
  overflow: auto;
}
.admin-cat-picker--compact .admin-cat-picker-toolbar {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--bg-card-solid);
  margin-bottom: .65rem;
  padding-bottom: .55rem;
}
.admin-cat-picker--compact .admin-cat-picker-tree {
  max-height: none;
  overflow: visible;
}
.admin-cat-picker--compact .admin-cat-children-wrap {
  display: none;
  grid-template-rows: unset;
  transition: none;
}
.admin-cat-picker--compact .admin-cat-children-wrap.is-open {
  display: block;
  grid-template-rows: unset;
}
.admin-cat-picker--compact .admin-cat-children-inner {
  overflow: visible;
  min-height: auto;
}
.admin-cat-picker-check {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-width: 0;
  font-size: .85rem;
  cursor: pointer;
}
.admin-cat-picker-name {
  font-weight: 600;
  color: var(--text-strong);
}
.admin-cat-picker-side {
  display: flex;
  align-items: center;
  gap: .65rem;
  flex-shrink: 0;
}
.admin-cat-picker-select-desc,
.admin-cat-picker-deselect-desc {
  padding: .2rem .45rem;
  font-size: .68rem;
  line-height: 1.2;
  white-space: nowrap;
}
.admin-cat-picker-select-all-desc,
.admin-cat-picker-deselect-all-desc,
.admin-cat-picker-deselect-all {
  white-space: nowrap;
}
.admin-cat-picker-include-group {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  flex-shrink: 0;
}
.admin-cat-picker-include {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .72rem;
  color: var(--petronas);
  white-space: nowrap;
  cursor: pointer;
}
.admin-cat-picker-include input {
  margin: 0;
}
.admin-cat-picker-include-deselect {
  padding: .2rem .45rem;
  font-size: .68rem;
  line-height: 1.2;
  white-space: nowrap;
  color: var(--text-dim);
}
.admin-cat-picker-include-deselect:hover {
  color: var(--text-strong);
}
.admin-cat-picker-meta {
  font-size: .68rem;
  color: var(--text-ghost);
  white-space: nowrap;
}
.admin-cat-picker-panel.is-include-desc > .admin-cat-row {
  background: rgba(0, 210, 190, .06);
}
.admin-cat-picker-panel.is-include-locked > .admin-cat-row {
  opacity: .55;
}
.admin-cat-picker-panel.is-include-locked > .admin-cat-row .admin-cat-picker-input {
  pointer-events: none;
}
.admin-cat-picker-panel.is-include-locked > .admin-cat-row .admin-cat-picker-include-group {
  display: none;
}
.admin-cat-picker--single .admin-cat-picker-empty {
  display: flex;
  align-items: center;
  gap: .45rem;
  font-size: .85rem;
  color: #ffffffaa;
  margin-bottom: .65rem;
  padding: .35rem .5rem;
  border-radius: 6px;
  cursor: pointer;
}
.admin-cat-picker--single .admin-cat-picker-empty input {
  margin: 0;
}
.admin-cat-grid-picker {
  border: 1px solid var(--border-light);
  border-radius: 10px;
  padding: .85rem;
  background: var(--bg-card-solid);
}
.admin-cat-grid-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .85rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.admin-cat-grid-search-wrap {
  position: relative;
  flex: 1 1 240px;
  min-width: 200px;
  max-width: 420px;
}
.admin-cat-grid-search-wrap .admin-cat-grid-search {
  padding-left: 2rem;
}
.admin-cat-grid-search-icon {
  position: absolute;
  left: .7rem;
  top: 50%;
  transform: translateY(-50%);
  color: #ffffff66;
  pointer-events: none;
  font-size: .95rem;
}
.admin-cat-grid-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
}
.admin-cat-grid-meta {
  font-size: .75rem;
  color: #ffffff77;
  white-space: nowrap;
}
.admin-cat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  max-height: 520px;
  overflow: auto;
  padding-right: .15rem;
}
.admin-cat-grid-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .45rem;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 10px;
  background: rgba(255, 255, 255, .02);
  padding: .55rem;
  transition: border-color .15s, background .15s, box-shadow .15s;
}
.admin-cat-grid-card.is-selected {
  border-color: rgba(0, 210, 190, .45);
  background: rgba(0, 210, 190, .06);
  box-shadow: 0 0 0 1px rgba(0, 210, 190, .12) inset;
}
.admin-cat-grid-card.is-inactive {
  opacity: .72;
}
.admin-cat-grid-card-main {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  cursor: pointer;
  min-height: 100%;
}
.admin-cat-grid-card-main input {
  position: absolute;
  top: .55rem;
  right: .55rem;
  margin: 0;
  z-index: 1;
}
.admin-cat-grid-card-media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 88px;
  border-radius: 8px;
  background: rgba(0, 0, 0, .22);
  overflow: hidden;
  padding: .35rem;
}
.admin-cat-grid-img {
  width: 100%;
  max-height: 84px;
  object-fit: contain;
  display: block;
}
.admin-cat-grid-img--icon {
  max-height: 56px;
  width: auto;
}
.admin-cat-grid-img-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  color: var(--petronas);
}
.admin-cat-grid-img-fallback svg {
  width: 56px;
  height: 32px;
}
.admin-cat-grid-card-body {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  min-width: 0;
  padding-right: 1.2rem;
}
.admin-cat-grid-name {
  font-size: .82rem;
  line-height: 1.25;
  color: #ffffffde;
}
.admin-cat-grid-path {
  font-size: .68rem;
  line-height: 1.35;
  color: #ffffff66;
}
.admin-cat-grid-meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  font-size: .66rem;
  color: #ffffff55;
}
.admin-cat-grid-select-desc {
  align-self: flex-start;
  padding: .18rem .45rem;
  font-size: .66rem;
  line-height: 1.2;
}
.admin-cat-grid-empty {
  margin: .5rem 0 0;
  font-size: .82rem;
  color: #ffffff66;
  text-align: center;
}
@media (max-width: 1200px) {
  .admin-cat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .admin-cat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .admin-cat-grid {
    grid-template-columns: 1fr;
  }
}
.admin-cat-picker--rules {
  max-height: 520px;
}
.admin-cat-rules-row {
  grid-template-columns: auto auto minmax(120px, 1fr) auto;
}
.admin-cat-rules-fields .admin-cat-picker-select-desc {
  flex-shrink: 0;
}
.admin-cat-rules-name {
  font-weight: 600;
  color: #ffffffdd;
  font-size: .85rem;
  min-width: 0;
}
.admin-cat-rules-fields {
  display: grid;
  grid-template-columns: auto minmax(120px, 1fr) 88px;
  gap: .45rem;
  align-items: center;
  flex-shrink: 0;
}
.admin-cat-rules-check {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .72rem;
  color: #ffffff99;
  white-space: nowrap;
  cursor: pointer;
}
.admin-cat-rules-check input { margin: 0; }
.admin-cat-rules-value { min-width: 0; }
.admin-cat-rules-panel.is-highlighted {
  border-color: rgba(0, 210, 190, .45);
  box-shadow: 0 0 0 1px rgba(0, 210, 190, .12);
}
.admin-attr-grid-full {
  grid-column: 1 / -1;
}

.admin-cat-children-inner > .admin-cat-panel {
  margin-left: .35rem;
}

@media (max-width: 900px) {
  .admin-cat-row {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "toggle main"
      ". meta"
      ". side";
  }
  .admin-cat-icon { display: none; }
  .admin-cat-main { grid-area: main; }
  .admin-cat-meta {
    grid-area: meta;
    justify-content: flex-start;
    padding-left: 2.3rem;
  }
  .admin-cat-side {
    grid-area: side;
    justify-content: flex-start;
    padding-left: 2.3rem;
  }
}

.admin-order-comment {
  font-size: .88rem;
  line-height: 1.55;
  color: #ffffff99;
  margin: 0;
  white-space: pre-wrap;
}
.badge-success {
  display: inline-block;
  padding: .15rem .45rem;
  border-radius: 6px;
  font-size: .72rem;
  background: #00d4aa22;
  color: var(--petronas);
}
.badge-muted {
  display: inline-block;
  padding: .15rem .45rem;
  border-radius: 6px;
  font-size: .72rem;
  background: #ffffff10;
  color: #ffffff66;
}

.account-order-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  margin-bottom: .75rem;
  padding: 1rem 1.1rem;
}
.account-order-main {
  text-decoration: none;
  color: inherit;
  min-width: 0;
}
.account-order-meta {
  font-size: .85rem;
  color: #ffffff66;
  margin-top: .15rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
}
.account-order-elapsed {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .12rem .5rem;
  border-radius: 999px;
  background: rgba(0, 210, 190, 0.12);
  border: 1px solid rgba(0, 210, 190, 0.28);
  color: var(--petronas);
  font-size: .76rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
.account-order-elapsed-icon {
  font-size: .82em;
  opacity: .9;
}
.account-order-payment {
  font-size: .8rem;
  margin-top: .25rem;
}
.account-order-payment--paid { color: var(--petronas); }
.account-order-payment--partial { color: var(--cyan); }
.account-order-payment--due { color: var(--violet-bright); }
.account-order-payment--muted { color: #ffffff55; }
.account-order-payment-detail {
  font-size: .75rem;
  color: #ffffff55;
  margin-top: .35rem;
  line-height: 1.45;
}
.account-order-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .65rem;
  flex-shrink: 0;
}
.account-order-actions {
  display: flex;
  align-items: center;
  gap: .35rem;
}
.account-order-action {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
  text-decoration: none;
  transition: border-color .2s, background .2s, transform .15s;
}
.account-order-action:hover {
  border-color: rgba(0, 210, 190, 0.35);
  background: rgba(0, 210, 190, 0.08);
  transform: translateY(-1px);
}
.account-order-action--alert {
  border-color: rgba(244, 63, 94, 0.45);
  background: rgba(244, 63, 94, 0.1);
}
.account-order-action-icon {
  font-size: 1rem;
  line-height: 1;
}
.account-order-action-badge {
  position: absolute;
  top: -.35rem;
  right: -.35rem;
  min-width: 1.1rem;
  height: 1.1rem;
  padding: 0 .25rem;
  border-radius: 999px;
  background: #f43f5e;
  color: #fff;
  font-size: .62rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.account-order-price {
  white-space: nowrap;
  text-align: right;
  font-size: 1rem;
}
.account-balance-alert {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  align-items: flex-start;
}
.account-balance-pay-btn {
  font-size: .78rem;
  padding: .45rem .85rem;
}
.account-order-pay-btn {
  font-size: .72rem;
  padding: .4rem .75rem;
  white-space: nowrap;
  flex-shrink: 0;
}
.account-order-price-balance {
  font-size: .7rem;
  color: #ffffff55;
  font-weight: normal;
  margin-top: .2rem;
  font-family: inherit;
}
.account-chat-modal-dialog {
  position: relative;
  max-width: 420px;
  width: calc(100% - 2rem);
  margin: 0 auto;
}
.account-chat-modal {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  max-width: 420px;
  width: calc(100% - 2rem);
  margin: 0 auto;
}
.account-chat-modal-dialog .account-chat-modal {
  width: 100%;
  margin: 0;
}
.account-chat-modal:hover {
  border-color: rgba(0, 210, 190, 0.35);
}
.account-chat-modal-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1001;
  width: 2.35rem;
  height: 2.35rem;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  background: rgba(16, 16, 24, 0.95);
  color: #fff;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transform: translate(35%, -35%);
  pointer-events: auto;
}
.account-chat-modal-close:hover {
  border-color: rgba(0, 210, 190, 0.4);
  color: var(--petronas);
}
.account-chat-modal-dismiss-hint {
  margin: 1rem 0 0;
  font-size: .78rem;
  color: #ffffff55;
  line-height: 1.45;
}
.order-modal-overlay[hidden],
.order-modal-overlay.account-modal-overlay--hidden,
.account-modal-overlay[hidden],
.account-modal-overlay.account-modal-overlay--hidden {
  display: none !important;
  pointer-events: none;
}
/* Compte client ? tableau de bord */
.account-page {
  padding-bottom: 4rem;
  max-width: 960px;
}
.account-page-head {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1.5rem;
}
.account-page-title { margin: 0 0 .25rem; font-size: clamp(1.35rem, 3vw, 1.75rem); }
.account-page-email { margin: 0; color: #ffffff66; font-size: .92rem; }
.account-page-group { margin: .45rem 0 0; color: var(--petronas); font-size: .88rem; }
.account-page-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  padding: .85rem 1.1rem;
  min-width: min(100%, 260px);
}
.account-stat-label {
  display: block;
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #ffffff55;
  margin-bottom: .15rem;
}
.account-stat-value { font-family: var(--font-display, inherit); font-size: 1.1rem; color: #fff; }
.account-stat-value--sm { font-size: .82rem; }
.account-stat-value--alert { color: var(--violet-bright); }
.account-impersonate-banner {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  border-color: rgba(139, 92, 246, .4);
  font-size: .88rem;
  color: var(--warn);
}
.account-admin-test-mode-banner {
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  border-color: rgba(56, 189, 248, .35);
  background: rgba(14, 116, 144, .12);
}
.account-admin-test-mode-label {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  font-size: .9rem;
  color: #e0f2fe;
  cursor: pointer;
}
.account-admin-test-mode-label input {
  margin-top: .2rem;
  flex-shrink: 0;
}
.account-admin-test-mode-hint {
  margin: .5rem 0 0;
  font-size: .8rem;
  color: #7dd3fc;
  opacity: .85;
}
.account-flash {
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  font-size: .88rem;
}
.account-flash--ok { border-color: var(--petronas); color: #a7f3d0; }
.account-flash--error { border-color: var(--magenta); color: #ffb4b4; }
.account-quick-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: .75rem;
  margin-bottom: 1.5rem;
}
.account-quick-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  padding: 1rem .75rem;
  text-decoration: none;
  color: inherit;
  transition: border-color .15s, transform .15s;
}
.account-quick-link:hover {
  border-color: rgba(0, 210, 190, .4);
  transform: translateY(-1px);
}
.account-quick-link--accent { border-color: rgba(0, 210, 190, .3); }
.account-quick-link-icon { font-size: 1.35rem; line-height: 1; }
.account-quick-link-label {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #ffffff99;
  text-align: center;
}
.account-quick-link--pay .account-quick-link-label {
  color: var(--warn);
}
.account-pay-back {
  margin-bottom: 1rem;
}
.account-pay-back a {
  color: #ffffff66;
  font-size: .9rem;
  text-decoration: none;
}
.account-pay-head {
  margin-bottom: 1.25rem;
}
.account-page-subtitle {
  margin: .35rem 0 0;
  font-size: .9rem;
  color: #ffffff70;
  line-height: 1.5;
}
.account-pay-selector {
  margin-bottom: 1rem;
  padding: 1.15rem 1.25rem;
}
.account-pay-order-meta {
  margin: .65rem 0 0;
  font-size: .82rem;
  color: #ffffff66;
}
.client-order-payment-title {
  font-size: 1rem;
  margin-bottom: .75rem;
}
.client-order-payment-charge {
  font-size: 1rem;
  margin-bottom: 1rem;
}
.client-order-payment-hint {
  font-size: .8rem;
  color: #ffffff55;
  margin: .5rem 0 .75rem;
}
.client-order-payment-deposit-choice {
  margin-bottom: 1rem;
}
.client-order-offline-pay {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #ffffff14;
}
.client-order-offline-pay-hint {
  margin: .55rem 0 0;
  font-size: .78rem;
  color: #ffffff66;
  line-height: 1.45;
}
.account-donations-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}
.account-donations-desc {
  margin: .65rem 0 0;
  font-size: .88rem;
  color: #ffffff70;
  line-height: 1.5;
  max-width: 42rem;
}
.account-donations-summary {
  padding: 1rem 1.15rem;
  min-width: 180px;
  text-align: center;
  border-color: rgba(0, 210, 190, .28);
}
.account-donations-summary-label {
  display: block;
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #ffffff66;
}
.account-donations-summary-value {
  display: block;
  font-size: 1.65rem;
  color: var(--petronas);
  margin-top: .25rem;
}
.account-donations-summary-meta {
  display: block;
  font-size: .78rem;
  color: #ffffff60;
  margin-top: .2rem;
}
.account-donations-summary-deduction {
  display: block;
  margin-top: .65rem;
  padding-top: .65rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: .78rem;
  color: #ffffff88;
  line-height: 1.4;
}
.account-donations-tax-card {
  margin-bottom: 1.25rem;
  padding: 1.15rem 1.25rem;
  border-color: rgba(0, 210, 190, .22);
}
.account-donations-tax-title {
  font-size: 1rem;
  margin: 0 0 .65rem;
}
.account-donations-tax-lead {
  margin: 0 0 .5rem;
  font-size: .9rem;
  color: #ffffffb3;
  line-height: 1.55;
  max-width: 46rem;
}
.account-donations-tax-hint {
  margin: 0 0 1rem;
  font-size: .82rem;
  color: #ffffff66;
  line-height: 1.5;
  max-width: 46rem;
}
.account-donations-tax-simulator-row {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: stretch;
}
.account-donations-tax-simulator-input {
  flex: 1 1 160px;
  min-width: 0;
}
.account-donations-tax-simulator-result {
  flex: 1 1 180px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .15rem;
  padding: .65rem .85rem;
  border-radius: 10px;
  border: 1px solid rgba(0, 210, 190, .25);
  background: rgba(0, 210, 190, .06);
}
.account-donations-tax-simulator-result-label {
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #ffffff66;
}
.account-donations-tax-simulator-result-value {
  font-size: 1.2rem;
  color: var(--petronas);
}
.account-donation-item-deduction {
  margin: .2rem 0 .35rem;
  font-size: .82rem;
  color: var(--petronas);
}
.account-donations-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-bottom: 1.75rem;
}
.account-donations-list-title {
  font-size: 1rem;
  margin: 0 0 1rem;
  color: var(--petronas);
}
.account-donations-list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.account-donation-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
}
.account-donation-item-main strong {
  font-size: 1.15rem;
  color: var(--petronas);
}
.account-donation-item-label {
  display: block;
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #ffffff66;
  margin-top: .15rem;
}
.account-donation-item-meta {
  margin: .45rem 0 0;
  font-size: .85rem;
  color: #ffffff80;
}
.account-donation-item-meta a {
  color: var(--petronas);
  text-decoration: none;
}
.account-donation-item-meta a:hover {
  text-decoration: underline;
}
.account-donation-item-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.job-offers-page .job-offers-empty {
  padding: 1.5rem;
  text-align: center;
}
.job-offers-grid {
  display: grid;
  gap: 1rem;
}
.job-offer-card {
  padding: 1.25rem 1.35rem;
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.job-offer-card-title {
  font-size: 1.15rem;
  margin: 0;
  line-height: 1.3;
}
.job-offer-card-title a {
  color: inherit;
  text-decoration: none;
}
.job-offer-card-title a:hover {
  color: var(--petronas);
}
.job-offer-card-subtitle {
  margin: .25rem 0 0;
  font-size: .92rem;
  color: #ffffffb3;
}
.job-offer-card-meta {
  margin: .35rem 0 0;
  font-size: .82rem;
  color: var(--petronas);
  letter-spacing: .02em;
}
.job-offer-card-excerpt p {
  margin: 0;
  font-size: .9rem;
  color: #ffffff88;
  line-height: 1.55;
}
.job-offer-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .15rem;
}
.job-offer-detail {
  padding: 1.35rem 1.5rem;
}
.job-offer-detail-header {
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.job-offer-detail-section {
  margin-bottom: 1.25rem;
}
.job-offer-detail-section-title {
  font-size: .95rem;
  margin: 0 0 .65rem;
  color: var(--petronas);
  text-transform: uppercase;
  letter-spacing: .08em;
}
.job-offer-detail-body p,
.job-offer-detail-body li {
  font-size: .92rem;
  color: #ffffffaa;
  line-height: 1.6;
}
.job-offer-detail-body p {
  margin: 0 0 .65rem;
}
.job-offer-list {
  margin: 0;
  padding-left: 1.1rem;
}
.job-offer-list li {
  margin-bottom: .4rem;
}
.job-offer-detail-cta {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.product-admin-rating-box {
  padding-top: .25rem;
}
.product-admin-rating-preview {
  margin-top: 1rem;
  padding: .85rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(0, 0, 0, .2);
}
.product-admin-rating-preview-label {
  display: block;
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #ffffff55;
  margin-bottom: .5rem;
}
.account-settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}
.account-panel { padding: 1.15rem 1.25rem; }
.account-panel--wide { grid-column: 1 / -1; }
.account-panel-title {
  margin: 0 0 1rem;
  font-size: 1rem;
  color: var(--petronas);
}
.account-panel-subtitle {
  margin: 1.25rem 0 .75rem;
  font-size: .85rem;
  color: #ffffff99;
}
.account-panel-hint {
  margin: -.5rem 0 1rem;
  font-size: .82rem;
  color: #ffffff66;
  line-height: 1.45;
}
.account-panel-empty {
  margin: 0 0 1rem;
  font-size: .88rem;
  color: #ffffff66;
}
.account-panel-grid { gap: 1rem; }
.account-panel-grid-full { grid-column: 1 / -1; }
.account-panel-submit { margin-top: 1rem; font-size: .75rem; }
.account-panel-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}
.account-panel-check {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .88rem;
  min-height: 42px;
}
.account-address-list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  margin-bottom: .5rem;
}
.account-address-item {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  align-items: flex-start;
  padding: .85rem 1rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .08);
}
.account-address-body { font-size: .85rem; color: #ffffff99; line-height: 1.5; }
.account-address-body strong { color: #fff; display: block; margin-bottom: .25rem; }
.account-address-actions {
  display: flex;
  gap: .5rem;
  align-items: center;
}
.account-address-delete {
  background: none;
  border: none;
  color: var(--magenta);
  cursor: pointer;
  font-size: .9rem;
  padding: .25rem .4rem;
}
.account-address-default-check {
  display: flex;
  align-items: flex-end;
}
.account-tabs-root { margin-top: .5rem; }
.account-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  padding-bottom: .65rem;
}
.account-tab {
  appearance: none;
  border: 1px solid rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .03);
  color: #ffffff88;
  font-family: var(--font-display, inherit);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: .6rem 1rem;
  border-radius: 8px;
  cursor: pointer;
  transition: color .2s, border-color .2s, background .2s;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}
.account-tab:hover {
  color: #fff;
  border-color: rgba(0, 210, 190, .35);
}
.account-tab.is-active {
  color: #fff;
  border-color: var(--petronas);
  background: rgba(0, 210, 190, .12);
}
.account-tab-badge {
  font-size: .65rem;
  font-family: var(--font-body, inherit);
  text-transform: none;
  letter-spacing: 0;
  padding: .1rem .4rem;
  border-radius: 999px;
  background: rgba(0, 210, 190, .2);
  color: var(--petronas);
}
.account-tab-panels { min-height: 120px; }
.account-tab-panel { display: none; }
.account-tab-panel.is-active { display: block; }
.account-orders-section { margin-top: 0; }
.account-orders-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.account-orders-count { font-size: .82rem; color: #ffffff55; }
.account-empty-orders {
  text-align: center;
  padding: 2rem 1.5rem;
  color: #ffffff80;
}
.account-empty-orders .btn { margin-top: 1rem; }
.account-page-footer { margin-top: 2rem; }
.account-logout { color: #ffffff66; font-size: .9rem; text-decoration: none; }
.account-logout:hover { color: #fff; }
.mockups-history-card { margin-bottom: 1.5rem; }
@media (max-width: 768px) {
  .account-settings-grid { grid-template-columns: 1fr; }
  .account-panel--wide { grid-column: auto; }
  .account-page-stats { width: 100%; }
  .account-tab { flex: 1 1 calc(50% - .25rem); justify-content: center; text-align: center; }
}

.guest-order-page {
  display: flex;
  justify-content: center;
  padding-bottom: 4rem;
  max-width: 520px;
  margin: 0 auto;
}
.guest-order-card { padding: 1.75rem 1.5rem; width: 100%; }
.guest-order-kicker {
  display: block;
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--petronas);
  margin-bottom: .5rem;
}
.guest-order-title { margin: 0 0 .75rem; font-size: 1.35rem; }
.guest-order-lead {
  margin: 0 0 1.25rem;
  font-size: .92rem;
  color: #ffffff99;
  line-height: 1.55;
}
.guest-order-form { display: flex; flex-direction: column; gap: 1rem; }
.guest-order-submit { width: 100%; margin-top: .25rem; }
.guest-order-help {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, .08);
  font-size: .85rem;
  color: #ffffff77;
  line-height: 1.6;
}
.guest-order-help p { margin: 0 0 .5rem; }
.guest-order-help a { color: var(--petronas); }

/* Pages l?gales (CGV, etc.) */
.legal-page {
  padding-bottom: 4rem;
  max-width: 860px;
}
.legal-page-head { margin-bottom: 1.75rem; }
.legal-page-title {
  font-size: clamp(1.5rem, 4vw, 2rem);
  margin: 0 0 .5rem;
  line-height: 1.15;
}
.legal-page-lead {
  margin: 0;
  color: #ffffff80;
  font-size: .92rem;
}
.legal-toc {
  padding: 1.15rem 1.25rem;
  margin-bottom: 2rem;
  border-color: rgba(0, 210, 190, .2);
}
.legal-toc-title {
  margin: 0 0 .85rem;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--petronas);
}
.legal-toc-list {
  margin: 0;
  padding-left: 1.15rem;
  columns: 1;
  gap: 2rem;
  font-size: .84rem;
  line-height: 1.55;
}
.legal-toc-list a {
  color: #ffffff99;
  text-decoration: none;
}
.legal-toc-list a:hover { color: var(--petronas); }
.legal-section {
  margin-bottom: 2.25rem;
  scroll-margin-top: calc(var(--site-header-offset-h) + var(--site-top-stack-h) + 1rem);
}
.legal-section-title {
  font-size: 1.05rem;
  color: var(--petronas);
  margin: 0 0 1rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.legal-subtitle {
  font-size: .92rem;
  margin: 1.15rem 0 .5rem;
  color: #fff;
  font-weight: 600;
}
.legal-section p,
.legal-section li {
  color: #ffffffa8;
  font-size: .9rem;
  line-height: 1.65;
}
.legal-section p { margin: 0 0 .85rem; }
.legal-section ul {
  margin: 0 0 .85rem;
  padding-left: 1.25rem;
}
.legal-section li { margin-bottom: .4rem; }
.legal-section em { color: #ffffff88; font-style: italic; }
.legal-contact-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
}
.legal-contact-list li { margin-bottom: .35rem; }
.legal-contact-list a { color: var(--petronas); }
.legal-page-footer {
  margin-top: 2rem;
  padding: 1.5rem;
  text-align: center;
}
.legal-page-footer p { margin: 0 0 1rem; color: #ffffff88; }
@media (min-width: 720px) {
  .legal-toc-list { columns: 2; }
}

/* Banni?re cookies / RGPD */
.cookie-consent {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  pointer-events: none;
}
.cookie-consent.is-visible { pointer-events: auto; }
.cookie-consent-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3, 3, 4, .55);
  backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity .28s ease;
}
.cookie-consent.is-visible .cookie-consent-backdrop { opacity: 1; }
.cookie-consent-panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  margin: 0;
  border-radius: 18px 18px 0 0;
  border-bottom: none;
  padding: 1.35rem 1.25rem 1.5rem;
  border-color: rgba(0, 210, 190, .28);
  box-shadow: 0 -12px 48px rgba(0, 0, 0, .45);
  transform: translateY(100%);
  transition: transform .32s cubic-bezier(.22, 1, .36, 1);
}
.cookie-consent.is-visible .cookie-consent-panel { transform: translateY(0); }
body.cookie-consent-open { overflow: hidden; }
.cookie-consent-main {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.25rem 1.5rem;
  align-items: end;
}
.cookie-consent-kicker {
  display: block;
  font-size: .65rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--petronas);
  margin-bottom: .35rem;
}
.cookie-consent-title {
  margin: 0 0 .55rem;
  font-size: clamp(1rem, 2.5vw, 1.2rem);
  text-transform: uppercase;
  letter-spacing: .03em;
}
.cookie-consent-desc {
  margin: 0;
  font-size: .86rem;
  line-height: 1.55;
  color: #ffffff99;
  max-width: 52rem;
}
.cookie-consent-links {
  margin: .65rem 0 0;
  font-size: .78rem;
  color: #ffffff66;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .55rem;
  align-items: center;
}
.cookie-consent-links a {
  color: var(--petronas);
  text-decoration: none;
}
.cookie-consent-links a:hover { text-decoration: underline; }
.cookie-consent-actions {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  min-width: min(100%, 200px);
}
.cookie-consent-actions .btn {
  width: 100%;
  font-size: .72rem;
  padding: .55rem 1rem;
  white-space: nowrap;
}
.cookie-consent-customize-btn {
  appearance: none;
  border: 0;
  background: none;
  color: #ffffff88;
  font-size: .75rem;
  text-decoration: underline;
  cursor: pointer;
  padding: .25rem;
}
.cookie-consent-customize-btn:hover { color: #fff; }
.cookie-consent-preferences { margin-top: .25rem; }
.cookie-consent-prefs-title {
  margin: 0 0 1rem;
  font-size: .9rem;
  color: var(--petronas);
  text-transform: uppercase;
  letter-spacing: .05em;
}
.cookie-consent-option {
  padding: .85rem 0;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.cookie-consent-option p,
.cookie-consent-option small {
  margin: .35rem 0 0;
  font-size: .8rem;
  color: #ffffff80;
  line-height: 1.45;
}
.cookie-consent-option-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
}
.cookie-consent-badge {
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #ffffff99;
  padding: .2rem .5rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .15);
}
.cookie-consent-toggle {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  cursor: pointer;
}
.cookie-consent-toggle input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.cookie-consent-toggle-ui {
  flex-shrink: 0;
  width: 2.5rem;
  height: 1.35rem;
  border-radius: 999px;
  background: #ffffff22;
  border: 1px solid rgba(255, 255, 255, .18);
  position: relative;
  transition: background .2s, border-color .2s;
  margin-top: .1rem;
}
.cookie-consent-toggle-ui::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(1.35rem - 6px);
  height: calc(1.35rem - 6px);
  border-radius: 50%;
  background: #fff;
  transition: transform .2s;
}
.cookie-consent-toggle input:checked + .cookie-consent-toggle-ui {
  background: rgba(0, 210, 190, .35);
  border-color: var(--petronas);
}
.cookie-consent-toggle input:checked + .cookie-consent-toggle-ui::after {
  transform: translateX(1.1rem);
}
.cookie-consent-toggle input:focus-visible + .cookie-consent-toggle-ui {
  outline: 2px solid var(--petronas);
  outline-offset: 2px;
}
.cookie-consent-toggle-label {
  display: flex;
  flex-direction: column;
  gap: .15rem;
}
.cookie-consent-toggle-label strong { font-size: .88rem; color: #fff; }
.cookie-consent-prefs-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1rem;
}
.cookie-consent-fab {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 90;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  border: 1px solid rgba(0, 210, 190, .35);
  background: var(--bg-card);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
  transition: transform .15s, border-color .15s;
}
.cookie-consent-fab:hover {
  transform: scale(1.05);
  border-color: var(--petronas);
}
.footer-cookie-manage {
  appearance: none;
  border: 0;
  background: none;
  padding: 0;
  margin: 0 0 .5rem;
  font: inherit;
  font-size: .9rem;
  color: #ffffff80;
  text-align: left;
  cursor: pointer;
  text-decoration: none;
  display: block;
  transition: color .2s;
}
.footer-cookie-manage:hover { color: var(--client-link); }
@media (min-width: 900px) {
  .cookie-consent {
    align-items: flex-end;
    padding: 0 1rem 1rem;
  }
  .cookie-consent-panel {
    max-width: 920px;
    border-radius: 16px;
    border-bottom: 1px solid rgba(0, 210, 190, .28);
  }
}
@media (max-width: 768px) {
  .cookie-consent-main {
    grid-template-columns: 1fr;
  }
  .cookie-consent-actions {
    flex-direction: row;
    flex-wrap: wrap;
    min-width: 0;
  }
  .cookie-consent-actions .btn { flex: 1 1 calc(50% - .25rem); }
  .cookie-consent-customize-btn {
    flex: 1 1 100%;
    text-align: center;
  }
  .cookie-consent-fab {
    right: .75rem;
    bottom: .75rem;
  }
}

.account-chat-modal-overlay {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
@media (max-width: 640px) {
  .account-order-card {
    grid-template-columns: 1fr;
    gap: .75rem;
  }
  .account-order-side {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
}

.invoice-vat-exempt-notice {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  text-align: center;
}
.invoice-vat-exempt-notice p {
  margin: 0;
  font-size: .88rem;
  color: #ffffff88;
  font-style: italic;
}

.order-print-doc,
.delivery-note-doc,
.invoice-doc {
  padding: 1.25rem 1.35rem;
}
.order-print-doc-toolbar,
.delivery-note-toolbar {
  text-align: right;
  margin-bottom: 1rem;
}
.order-print-doc-header,
.delivery-note-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  font-size: .9rem;
}
.order-print-doc-company,
.delivery-note-company {
  font-size: 1rem;
  display: block;
  margin-bottom: .35rem;
}
.order-print-doc-emitter p,
.order-print-doc-emitter-details,
.order-print-doc-emitter-details span,
.order-print-doc-meta p,
.order-print-doc-contact,
.delivery-note-emitter p,
.delivery-note-meta p {
  margin: .2rem 0;
  color: #ffffff99;
  line-height: 1.5;
  font-size: .9rem;
}
.order-print-doc-emitter-details strong {
  font-size: 1rem;
  color: var(--text-primary);
}
.order-print-doc-meta,
.delivery-note-meta {
  text-align: right;
}
.order-print-doc-title,
.delivery-note-title {
  font-family: Orbitron, sans-serif;
  font-size: 1.15rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin: 0 0 .65rem;
  color: var(--petronas);
}
.order-print-doc-addresses,
.delivery-note-addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}
.order-print-doc-block h3,
.delivery-note-block h3 {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #ffffff66;
  margin: 0 0 .45rem;
}
.order-print-doc-block p,
.delivery-note-block p {
  margin: 0;
  font-size: .9rem;
  line-height: 1.55;
  color: #ffffffcc;
}
.order-print-doc-table,
.delivery-note-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .88rem;
  margin-bottom: 1.25rem;
}
.order-print-doc-table th,
.order-print-doc-table td,
.delivery-note-table th,
.delivery-note-table td {
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: .55rem .65rem;
  text-align: left;
  vertical-align: top;
}
.order-print-doc-table th,
.delivery-note-table th {
  background: rgba(255, 255, 255, 0.05);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.order-print-doc-col-qty,
.delivery-note-col-qty {
  width: 4rem;
  text-align: center !important;
}
.order-print-doc-col-money {
  width: 6.5rem;
  text-align: right !important;
  white-space: nowrap;
}
.invoice-doc-totals {
  margin-left: auto;
  max-width: 320px;
  font-size: .9rem;
}
.invoice-doc-totals-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .3rem 0;
  color: #ffffff99;
}
.invoice-doc-totals-row--discount { color: var(--petronas); }
.invoice-doc-totals-row--vat-exempt {
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  font-size: .82rem;
  color: #ffffff88;
}
.invoice-doc-totals-grand {
  margin-top: .5rem;
  padding-top: .65rem;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  color: var(--text-primary);
  font-size: 1rem;
}
.invoice-doc-totals-grand strong {
  font-family: Orbitron, sans-serif;
  color: var(--petronas);
}
.delivery-note-attrs {
  font-size: .82rem;
  color: #ffffff99;
}
.delivery-note-comment {
  margin-bottom: 1.25rem;
  padding: .75rem .85rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
}
.delivery-note-logo {
  display: block;
  max-width: 160px;
  max-height: 52px;
  width: auto;
  height: auto;
  object-fit: contain;
  margin-bottom: .65rem;
}
.delivery-note-thanks {
  margin-bottom: 1.25rem;
  padding: 1rem 1.1rem;
  border-radius: 12px;
  border: 1px solid rgba(0, 210, 190, 0.28);
  background: linear-gradient(135deg, rgba(0, 210, 190, 0.1), rgba(139, 92, 246, 0.08));
}
.delivery-note-thanks-kicker {
  margin: 0 0 .45rem;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--petronas);
  font-weight: 600;
}
.delivery-note-thanks-body {
  margin: 0;
  font-size: .92rem;
  line-height: 1.65;
  color: #ffffffdd;
}
.delivery-note-signatures {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-top: 2rem;
  padding-top: 1rem;
}
.delivery-note-signatures--company-only {
  grid-template-columns: 1fr;
  max-width: 18rem;
  margin-left: auto;
}
.delivery-note-signature-box p {
  margin: 0 0 .35rem;
  font-size: .82rem;
  color: #ffffff88;
}
.delivery-note-signature-line {
  height: 3.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}
.delivery-note-signature-caption {
  margin: .45rem 0 0;
  font-size: .78rem;
  color: #ffffff77;
}
.delivery-note-signature-for {
  margin: 0 0 .25rem;
  font-size: .82rem;
  color: #ffffff88;
}
.delivery-note-signature-script {
  font-family: "Segoe Script", "Brush Script MT", cursive;
  font-size: 1.55rem;
  line-height: 1.2;
  color: var(--petronas);
  margin: .15rem 0 .35rem;
  min-height: 2rem;
}
.delivery-note-signature-name {
  margin: .5rem 0 .15rem;
  font-size: .9rem;
}
.delivery-note-signature-title {
  margin: 0;
  font-size: .8rem;
  color: #ffffff88;
}
.delivery-note-signature-box--company {
  padding: .85rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.02);
}
.admin-order-delivery-note-wrap {
  margin: 1.25rem 0 1.5rem;
}
.admin-order-delivery-note-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem 1rem;
  margin-bottom: .85rem;
}
.admin-order-delivery-note-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
}
.admin-order-delivery-page {
  max-width: 960px;
  margin: 0 auto;
}
.chat-schedule-panel {
  margin-top: 1rem;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
  border-radius: 12px;
  overflow: hidden;
}
.chat-schedule-panel-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .5rem .75rem;
  padding: .85rem 1rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.chat-schedule-panel-summary::-webkit-details-marker {
  display: none;
}
.chat-schedule-panel-summary::after {
  content: '?';
  margin-left: auto;
  font-size: .85rem;
  color: var(--text-faint, #ffffff66);
  transition: transform .2s;
}
.chat-schedule-panel[open] .chat-schedule-panel-summary::after {
  transform: rotate(180deg);
}
.chat-schedule-panel-summary-title {
  font-size: .95rem;
  color: var(--petronas, #00d2be);
}
.chat-schedule-panel-summary-hint {
  font-size: .78rem;
  color: var(--text-ghost, #ffffff55);
  flex: 1 1 100%;
}
@media (min-width: 640px) {
  .chat-schedule-panel-summary-hint {
    flex: 1 1 auto;
    text-align: right;
  }
}
.chat-schedule-panel-body {
  padding: 0 1rem 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.chat-schedule-compose {
  margin-top: .85rem;
  padding-top: .85rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.delivery-note-doc--admin {
  max-width: 920px;
}
@media (max-width: 700px) {
  .order-print-doc-header,
  .delivery-note-header,
  .order-print-doc-addresses,
  .delivery-note-addresses,
  .delivery-note-signatures { grid-template-columns: 1fr; }
  .order-print-doc-meta,
  .delivery-note-meta { text-align: left; }
  .invoice-doc-totals { max-width: none; }
}

@media print {
  @page {
    size: A4;
    margin: 12mm;
  }
  .site-header,
  .site-footer,
  .site-top-stack,
  .site-ticker-bar,
  .impersonation-banner,
  .skip-link,
  .no-print { display: none !important; }
  body {
    background: #fff !important;
    color: #000 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body:has(#bl-print) *,
  body:has(#invoice-print) * {
    visibility: hidden;
  }
  body:has(#bl-print) #bl-print,
  body:has(#bl-print) #bl-print *,
  body:has(#invoice-print) #invoice-print,
  body:has(#invoice-print) #invoice-print * {
    visibility: visible;
  }
  body:has(#bl-print) #bl-print,
  body:has(#invoice-print) #invoice-print {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    padding: 0;
    margin: 0;
    border: none !important;
    box-shadow: none !important;
    background: #fff !important;
  }
  body:has(#bl-print) .container.pt-header,
  body:has(#invoice-print) .container.pt-header {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .order-print-doc,
  .order-print-doc.card,
  .delivery-note-doc,
  .delivery-note-doc.card,
  .invoice-doc,
  .invoice-doc.card {
    border: none !important;
    box-shadow: none !important;
    background: #fff !important;
    color: #000 !important;
  }
  .order-print-doc-company,
  .delivery-note-company,
  .order-print-doc-title,
  .delivery-note-title,
  .order-print-doc-emitter-details strong {
    color: #000 !important;
  }
  .order-print-doc-emitter p,
  .order-print-doc-emitter-details,
  .order-print-doc-emitter-details span,
  .order-print-doc-meta p,
  .order-print-doc-contact,
  .delivery-note-emitter p,
  .delivery-note-meta p,
  .order-print-doc-block p,
  .delivery-note-block p,
  .delivery-note-signature-box p,
  .delivery-note-attrs,
  .invoice-doc-totals-row,
  .invoice-doc-totals-grand {
    color: #222 !important;
  }
  .order-print-doc-block h3,
  .delivery-note-block h3 {
    color: #444 !important;
  }
  .order-print-doc-header,
  .delivery-note-header,
  .order-print-doc-table th,
  .order-print-doc-table td,
  .delivery-note-table th,
  .delivery-note-table td,
  .delivery-note-comment,
  .invoice-doc-totals-grand {
    border-color: #bbb !important;
  }
  .order-print-doc-table th,
  .delivery-note-table th {
    background: #f3f3f3 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .delivery-note-signature-line {
    border-color: #333 !important;
  }
  .delivery-note-thanks {
    border-color: #ccc !important;
    background: #f7f7f7 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .delivery-note-thanks-kicker { color: #0d9488 !important; }
  .delivery-note-thanks-body { color: #222 !important; }
  .delivery-note-signature-script { color: #0d9488 !important; }
  .delivery-note-signature-box--company {
    border-color: #ddd !important;
    background: #fafafa !important;
  }
  .invoice-doc-totals-grand strong {
    color: #000 !important;
  }
  .invoice-doc-totals-row--discount {
    color: #0d6b62 !important;
  }
  .invoice-doc-totals-row--vat-exempt {
    color: #444 !important;
  }
  .invoice-vat-exempt-notice {
    border-top-color: #ccc;
    margin-top: 2rem;
  }
  .invoice-vat-exempt-notice p {
    color: #333;
    font-size: 10pt;
  }
}

/* Admin ? Attributs produits */
.admin-attr-page { max-width: 1100px; }
.admin-attr-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
}
.admin-attr-title { font-size: 1.35rem; margin: 0 0 .35rem; }
.admin-attr-lead { margin: 0; font-size: .88rem; color: #ffffff66; }
.admin-attr-flash { margin-bottom: 1rem; padding: .75rem 1rem; font-size: .88rem; }
.admin-attr-flash--ok { border-color: rgba(0,210,190,.35); color: var(--petronas); }
.admin-attr-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1rem 1.5rem;
  margin-bottom: 1rem;
  padding: 1rem 1.25rem;
}
.admin-attr-batch-panel {
  padding: 0;
  margin-bottom: 1rem;
  display: block;
  overflow: hidden;
}
.admin-attr-batch-panel .admin-collapsible-panel-body {
  padding: 1.25rem;
}
.admin-attr-filter { margin: 0; }
.admin-attr-filter-field { min-width: 200px; }
.admin-attr-count { margin: 0; font-size: .82rem; color: #ffffff88; }
.admin-attr-duplicate-search-wrap {
  margin-bottom: .65rem;
}
.admin-attr-duplicate-search-wrap .input {
  width: 100%;
}
.admin-attr-duplicate-product-list {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  max-height: min(42vh, 360px);
  overflow: auto;
  padding-right: .15rem;
}
.admin-attr-duplicate-product-list--targets {
  max-height: min(48vh, 420px);
}
.admin-attr-duplicate-source-item.is-selected {
  border-color: rgba(0, 210, 190, .45);
  background: rgba(0, 210, 190, .06);
}
.admin-attr-duplicate-preview {
  margin-top: .85rem;
  padding: .75rem .85rem;
  border: 1px solid rgba(0, 210, 190, .25);
  border-radius: 10px;
  background: rgba(0, 210, 190, .04);
}
.admin-attr-duplicate-attr-names {
  margin: .35rem 0 0;
  font-size: .78rem;
  color: #ffffff88;
  line-height: 1.45;
}
.admin-attr-page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}
.admin-attr-assign-hint {
  margin: 0 0 0 auto;
  font-size: .78rem;
  color: #ffffff55;
  text-align: right;
}
.admin-attr-assign-hint a { color: var(--petronas); }
.admin-attr-view-tabs {
  margin-bottom: 1.25rem;
}
.admin-attr-view-tabs .admin-product-tab {
  text-decoration: none;
}
.admin-vinyl-display-page .admin-attr-lead { max-width: 720px; }
.admin-vinyl-display-stats {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1.25rem;
  padding: .85rem 1.1rem;
  margin-bottom: 1rem;
  font-size: .88rem;
}
.admin-vinyl-display-stats-hint {
  color: var(--text-dim);
  font-size: .8rem;
}
.admin-vinyl-display-override-badge {
  display: inline-flex;
  align-items: center;
  padding: .22rem .55rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 600;
  color: var(--magenta);
  background: rgba(255, 0, 127, .12);
  border: 1px solid rgba(255, 0, 127, .35);
  text-decoration: none;
}
.admin-vinyl-display-override-badge:hover {
  color: #fff;
  background: var(--magenta);
}
.admin-vinyl-display-bulk { margin-bottom: 1rem; padding: 1.25rem 1.35rem; }
.admin-vinyl-display-bulk-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 1.25rem;
  align-items: start;
}
.admin-vinyl-display-bulk-cats .admin-cat-picker {
  max-height: min(50vh, 480px);
}
.admin-vinyl-display-bulk-modes {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin-bottom: 1rem;
}
.admin-vinyl-display-bulk-mode {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  font-size: .88rem;
  line-height: 1.45;
}
.admin-vinyl-display-bulk-cards-opt {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  font-size: .85rem;
  margin-bottom: .5rem;
}
.admin-vinyl-display-bulk-cards-panel {
  margin-bottom: 1rem;
  padding: .75rem;
  border-radius: 10px;
  border: 1px solid var(--border-light);
  background: var(--bg-elevated);
  max-height: 320px;
  overflow: auto;
}
.admin-vinyl-display-cards-edit {
  margin-bottom: 1rem;
  padding: 1.25rem 1.35rem;
  border-color: rgba(0, 210, 190, .35);
}
.admin-vinyl-display-cards-edit-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: .5rem;
}
.admin-vinyl-display-toolbar { margin-bottom: 1rem; }
.admin-vinyl-display-tree .admin-vinyl-display-row {
  flex-wrap: wrap;
  gap: .5rem .75rem;
}
.admin-vinyl-display-toggle-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .75rem;
  margin-left: auto;
}
.admin-vinyl-display-toggle {
  display: flex;
  align-items: center;
  gap: .45rem;
  font-size: .82rem;
  white-space: nowrap;
}
.admin-vinyl-display-cards-hint {
  font-size: .75rem;
  color: var(--text-dim);
}
.admin-vinyl-display-source-badge {
  display: inline-flex;
  align-items: center;
  padding: .18rem .5rem;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 600;
  line-height: 1.3;
}
.admin-vinyl-display-source-badge--attr {
  color: var(--petronas);
  background: rgba(0, 210, 190, .1);
  border: 1px solid rgba(0, 210, 190, .28);
}
.admin-vinyl-display-source-badge--hint {
  color: #f5d565;
  background: rgba(245, 213, 101, .1);
  border: 1px solid rgba(245, 213, 101, .28);
}
.admin-vinyl-display-panel.is-cards-edit > .admin-vinyl-display-row {
  background: rgba(0, 210, 190, .08);
}
.admin-vinyl-display-grid-footer {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-light);
}
.admin-vinyl-add-panel {
  margin-bottom: 1.25rem;
  padding: 0;
  overflow: hidden;
}
.admin-vinyl-add-panel > summary {
  list-style: none;
  cursor: pointer;
  padding: 1rem 1.25rem;
  font-size: 1rem;
  user-select: none;
}
.admin-vinyl-add-panel > summary::-webkit-details-marker { display: none; }
.admin-vinyl-add-panel > summary::before {
  content: '?';
  display: inline-block;
  margin-right: .5rem;
  color: var(--petronas);
  transition: transform .2s ease;
}
.admin-vinyl-add-panel[open] > summary::before {
  transform: rotate(90deg);
}
.admin-vinyl-add-panel-body {
  padding: 0 1.25rem 1.25rem;
  border-top: 1px solid var(--border-light);
}
.admin-vinyl-catalog-table-card table {
  width: 100%;
}
.admin-vinyl-price-sim-bar {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 180px)) minmax(0, 1fr);
  gap: .75rem 1rem;
  align-items: end;
  padding: 1rem 1.1rem 0;
}
.admin-vinyl-price-sim-field .label {
  margin-bottom: .3rem;
  font-size: .75rem;
}
.admin-vinyl-price-sim-input {
  font-size: .85rem;
  padding: .45rem .55rem;
}
.admin-vinyl-price-sim-hint {
  margin: 0;
  font-size: .78rem;
  line-height: 1.45;
  color: var(--text-dim);
  align-self: center;
}
.admin-vinyl-price-sim-cell {
  min-width: 11rem;
  vertical-align: top;
}
.admin-vinyl-price-sim-result {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  font-size: .75rem;
  line-height: 1.35;
}
.admin-vinyl-price-sim-amount {
  color: var(--petronas);
  font-size: .82rem;
}
.admin-vinyl-price-sim-detail {
  color: #ffffff88;
}
.admin-vinyl-price-sim-total {
  color: #ffffffaa;
  font-size: .72rem;
}
.admin-vinyl-price-sim-empty {
  color: #ffffff55;
}
.admin-vinyl-price-cell {
  min-width: 16rem;
  vertical-align: top;
}
.admin-vinyl-price-inline-form {
  margin: 0;
}
.admin-vinyl-price-quick-form {
  margin: 0;
  display: inline;
}
.admin-vinyl-prices-all-footer {
  display: flex;
  align-items: center;
  gap: .75rem 1rem;
  flex-wrap: wrap;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-light);
}
.admin-vinyl-prices-all-hint {
  font-size: .8rem;
  color: var(--text-dim);
}
.admin-vinyl-price-inline {
  display: grid;
  grid-template-columns: minmax(7.5rem, 1fr) minmax(4.5rem, .75fr) auto;
  gap: .35rem;
  align-items: center;
}
.admin-vinyl-price-inline-type,
.admin-vinyl-price-inline-value {
  font-size: .75rem;
  padding: .35rem .45rem;
  min-width: 0;
}
.admin-vinyl-price-inline-save {
  padding: .3rem .55rem;
  min-width: 2rem;
  line-height: 1;
}
.admin-vinyl-price-inline-preview {
  margin: .35rem 0 0;
  font-size: .72rem;
  line-height: 1.35;
  color: var(--text-dim);
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .5rem;
  align-items: center;
}
.admin-vinyl-price-inline-type-label {
  display: inline-flex;
  padding: .12rem .4rem;
  border-radius: 999px;
  font-weight: 600;
  color: var(--petronas);
  background: rgba(0, 210, 190, .1);
  border: 1px solid rgba(0, 210, 190, .25);
}
.admin-vinyl-price-inline-calc {
  color: #ffffff99;
}
.admin-vinyl-price-inline-empty {
  color: #ffffff55;
  font-style: italic;
}
@media (max-width: 960px) {
  .admin-vinyl-display-bulk-grid { grid-template-columns: 1fr; }
  .admin-vinyl-display-toggle-wrap { margin-left: 0; width: 100%; }
  .admin-vinyl-price-sim-bar {
    grid-template-columns: 1fr 1fr;
  }
  .admin-vinyl-price-sim-hint {
    grid-column: 1 / -1;
  }
  .admin-vinyl-price-inline {
    grid-template-columns: 1fr 1fr;
  }
  .admin-vinyl-price-inline-save {
    grid-column: 1 / -1;
    justify-self: start;
  }
}
.admin-attr-assign-presets-panel {
  margin-bottom: 1rem;
  width: 100%;
}
.admin-attr-assign-presets-list {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  margin-bottom: 1.1rem;
}
.admin-attr-assign-preset {
  display: block;
  padding: .75rem .9rem;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(255, 255, 255, .02);
  transition: border-color .15s ease, background .15s ease;
}
.admin-attr-assign-preset.is-active {
  border-color: rgba(0, 210, 190, .45);
  background: rgba(0, 210, 190, .08);
}
.admin-attr-assign-preset.is-editing {
  border-color: rgba(0, 210, 190, .55);
  background: rgba(0, 210, 190, .06);
}
.admin-attr-assign-preset-view {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem 1rem;
}
.admin-attr-assign-preset-main {
  flex: 1 1 220px;
  min-width: 0;
}
.admin-attr-assign-preset-name {
  display: inline-block;
  margin-right: .5rem;
}
.admin-attr-assign-preset-meta {
  font-size: .82rem;
  color: rgba(255, 255, 255, .55);
}
.admin-attr-assign-preset-labels {
  margin: .35rem 0 0;
  font-size: .82rem;
  color: rgba(255, 255, 255, .62);
  line-height: 1.45;
}
.admin-attr-assign-preset-cats {
  margin-top: .55rem;
}
.admin-attr-assign-preset-cats-title {
  display: block;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .48);
  margin-bottom: .35rem;
}
.admin-attr-assign-preset-cats-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}
.admin-attr-assign-preset-cat {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .28rem .55rem;
  border-radius: 999px;
  font-size: .78rem;
  line-height: 1.3;
  border: 1px solid rgba(255, 255, 255, .1);
  background: rgba(255, 255, 255, .03);
  color: rgba(255, 255, 255, .78);
}
.admin-attr-assign-preset-cat.is-complete {
  border-color: rgba(0, 210, 190, .28);
  background: rgba(0, 210, 190, .08);
}
.admin-attr-assign-preset-cat.is-partial {
  border-color: rgba(255, 196, 84, .22);
  background: rgba(255, 196, 84, .07);
}
.admin-attr-assign-preset-cat-badge {
  font-size: .66rem;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: rgba(255, 196, 84, .92);
}
.admin-attr-assign-preset-cats-empty {
  margin: 0;
  font-size: .8rem;
}
.admin-attr-assign-preset-cats--edit {
  margin-top: .85rem;
  padding-top: .75rem;
  border-top: 1px solid rgba(255, 255, 255, .06);
}
.admin-attr-assign-preset-apply-form {
  margin-top: .85rem;
  padding-top: .85rem;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.admin-attr-assign-preset-apply-cats {
  margin: .75rem 0;
}
.admin-attr-assign-preset-apply-cats .admin-cat-picker {
  max-height: min(38vh, 320px);
}
.admin-attr-assign-preset-cats-legend {
  display: flex;
  align-items: center;
  gap: .4rem;
  margin: 0 0 .55rem;
  font-size: .78rem;
  color: rgba(255, 255, 255, .55);
}
.admin-attr-assign-preset-cat-shared-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: #ffc454;
}
.admin-cat-picker-check .admin-attr-assign-preset-cat-shared-icon {
  margin-left: .2rem;
}
.admin-attr-assign-preset-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
}
.admin-attr-assign-preset-delete-form {
  display: inline;
  margin: 0;
}
.admin-attr-assign-preset-reapply-form {
  display: inline;
  margin: 0;
}
.admin-attr-assign-preset-edit-form {
  margin-top: .85rem;
  padding-top: .85rem;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.admin-attr-assign-preset-edit-head {
  margin-bottom: .75rem;
}
.admin-attr-assign-preset-edit-head .input {
  max-width: 360px;
}
.admin-attr-assign-preset-edit-attrs-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .55rem;
}
.admin-attr-assign-preset-edit-attrs-tools {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}
.admin-attr-assign-preset-edit-attrs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: .45rem;
  max-height: min(42vh, 360px);
  overflow: auto;
  padding-right: .15rem;
  margin-bottom: .75rem;
}
.admin-attr-assign-check--compact {
  padding: .45rem .55rem;
}
.admin-attr-assign-preset-edit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.admin-attr-assign-preset-create-panel {
  margin-bottom: 1rem;
  padding: 1rem 1.2rem;
  width: 100%;
}
.admin-attr-assign-preset-save {
  padding-top: .15rem;
  border-top: 1px solid rgba(255, 255, 255, .06);
}
.admin-attr-assign-preset-save-row {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  align-items: center;
  margin-top: .35rem;
}
.admin-attr-assign-preset-save-row .input {
  flex: 1 1 220px;
  max-width: 320px;
}
.admin-attr-assign-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-bottom: 1rem;
  width: 100%;
}
.admin-attr-assign-panel {
  padding: 1.25rem 1.35rem;
  width: 100%;
}
.admin-attr-assign-panel .admin-cat-picker {
  max-height: min(62vh, 560px);
}
.admin-cat-picker .admin-cat-panel.is-linked-preview > .admin-cat-row {
  background: rgba(0, 210, 190, 0.1);
  border-radius: 8px;
}
.admin-attr-assign-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}
.admin-attr-assign-panel-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.admin-attr-assign-attrs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: .5rem;
  max-height: none;
  overflow: visible;
  padding-right: 0;
}
.admin-attr-assign-check {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  padding: .55rem .65rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, .06);
  background: rgba(255, 255, 255, .02);
  cursor: pointer;
  font-size: .86rem;
}
.admin-attr-assign-check:hover {
  border-color: rgba(0, 210, 190, .22);
  background: rgba(0, 210, 190, .04);
}
.admin-attr-assign-check input {
  margin-top: .2rem;
}
.admin-attr-assign-check-body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
}
.admin-attr-assign-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
}
.admin-attr-assign-mode {
  display: grid;
  gap: .5rem;
}
.admin-attr-assign-mode-option {
  display: flex;
  gap: .55rem;
  align-items: flex-start;
  font-size: .86rem;
  color: #ffffff99;
  cursor: pointer;
}
.admin-attr-assign-mode-option input {
  margin-top: .2rem;
}
.admin-attr-assign-colors-panel {
  margin-bottom: 1rem;
}
.admin-attr-assign-colors-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
  gap: .55rem .75rem;
}
.admin-attr-assign-color-option {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .55rem .65rem;
  border: 1px solid var(--border-light);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.02);
  cursor: pointer;
  font-size: .82rem;
}
.admin-attr-assign-color-option:hover {
  border-color: rgba(0, 210, 190, 0.35);
  background: rgba(0, 210, 190, 0.06);
}
.admin-attr-assign-color-option input {
  flex-shrink: 0;
}
.admin-attr-assign-color-swatch {
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: var(--swatch, #666);
  flex-shrink: 0;
}
.admin-attr-assign-color-label {
  line-height: 1.25;
}
.admin-attr-cat-count {
  font-size: .78rem;
  color: var(--petronas);
}
.admin-attr-cat-count--none {
  color: #ffffff44;
}
@media (max-width: 900px) {
  .admin-attr-assign-attrs {
    grid-template-columns: 1fr;
  }
  .admin-attr-assign-panel-head,
  .admin-attr-assign-actions {
    flex-direction: column;
    align-items: stretch;
  }
}
.admin-attr-list-card { padding: 0; overflow: hidden; }
.admin-attr-empty { padding: 2rem; text-align: center; color: #ffffff66; font-size: .9rem; }
.admin-attr-table-wrap { overflow-x: auto; }
.admin-attr-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.admin-attr-table thead th {
  padding: .75rem 1rem;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #ffffff66;
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-weight: 600;
  text-align: left;
}
.admin-attr-table tbody td {
  padding: .85rem 1rem;
  vertical-align: middle;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.admin-attr-table tbody tr:hover { background: rgba(0,210,190,.03); }
.admin-attr-table tbody tr.is-inactive { opacity: .72; }
.admin-attr-rupture-cell { min-width: 12rem; max-width: 22rem; }
.admin-attr-rupture-toggles {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}
.admin-attr-rupture-form { margin: 0; }
.admin-attr-rupture-btn {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .28rem .5rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .04);
  color: #ffffffcc;
  font-size: .72rem;
  cursor: pointer;
  transition: border-color .15s, background .15s, opacity .15s;
}
.admin-attr-rupture-btn:hover {
  border-color: rgba(0, 210, 190, .35);
  background: rgba(0, 210, 190, .08);
}
.admin-attr-rupture-btn.is-unavailable {
  border-color: rgba(255, 120, 120, .35);
  background: rgba(255, 80, 80, .1);
  color: #ffb4b4;
}
.admin-attr-rupture-btn.is-locked {
  cursor: not-allowed;
  opacity: .82;
}
.admin-attr-rupture-btn.is-locked:hover {
  border-color: rgba(255, 120, 120, .35);
  background: rgba(255, 80, 80, .1);
}
.admin-attr-rupture-flag--site { color: var(--magenta); }
.admin-attr-rupture-flag--product { color: #ffb86a; }
.admin-attr-rupture-flag--per_product { color: #9fd4ff; }
.admin-attr-rupture-swatch {
  width: .85rem;
  height: .85rem;
  border-radius: 3px;
  border: 1px solid rgba(255, 255, 255, .25);
  background: var(--rupture-swatch, #666);
  flex-shrink: 0;
}
.admin-attr-rupture-flag {
  font-size: .62rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--magenta);
}
.admin-rupture-site-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr));
}
.admin-rupture-site-card {
  padding: 1rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.admin-rupture-site-card.is-inactive {
  opacity: .72;
}
.admin-rupture-site-card-head {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: flex-start;
}
.admin-rupture-site-card-title {
  margin: 0 0 .35rem;
  font-size: 1rem;
}
.admin-rupture-site-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .55rem;
  align-items: center;
  margin: 0;
}
.admin-rupture-site-card-stats {
  font-size: .72rem;
  color: #ffffff70;
  white-space: nowrap;
  font-family: Orbitron, sans-serif;
}
.admin-rupture-site-card-body .admin-attr-rupture-toggles {
  gap: .45rem;
}
.admin-rupture-site-card-foot {
  border-top: 1px solid rgba(255, 255, 255, .08);
  padding-top: .65rem;
  font-size: .82rem;
}
.admin-attr-global-unavailable {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .45rem;
  font-size: .82rem;
  color: #ff9a9a;
  margin-top: .15rem;
}
.admin-attr-global-unavailable.is-unavailable {
  color: #ff9a9a;
}
.admin-attr-global-unavailable.is-locked {
  cursor: help;
}
.admin-attr-global-unavailable.is-locked .admin-attr-opt-unavail-input {
  opacity: .75;
  cursor: not-allowed;
}
.admin-attr-global-unavailable .admin-attr-rupture-flag {
  font-size: .68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.admin-attr-status-badge {
  display: inline-block;
  padding: .18rem .5rem;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.admin-attr-status-badge.is-active {
  color: #86efac;
  background: rgba(34, 197, 94, .12);
  border: 1px solid rgba(34, 197, 94, .28);
}
.admin-attr-status-badge.is-inactive {
  color: #fca5a5;
  background: rgba(239, 68, 68, .1);
  border: 1px solid rgba(239, 68, 68, .22);
}
.admin-attr-toggle-form { margin: .35rem 0 0; }
.admin-attr-toggle-btn {
  background: none;
  border: none;
  color: var(--petronas);
  cursor: pointer;
  font-size: .74rem;
  padding: 0;
}
.admin-attr-toggle-btn:hover { text-decoration: underline; }
.admin-attr-slug {
  display: block;
  font-size: .72rem;
  color: #ffffff44;
  font-family: monospace;
  margin-top: .15rem;
}
.admin-attr-required {
  display: inline-block;
  margin-top: .25rem;
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--magenta);
}
.admin-attr-config { color: #ffffff88; font-size: .82rem; }
.admin-attr-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
  justify-content: flex-end;
  white-space: nowrap;
}
.admin-attr-actions form { margin: 0; }
.admin-attr-delete {
  background: none;
  border: none;
  color: #ff6b8a;
  cursor: pointer;
  font-size: .78rem;
  padding: 0;
}
.admin-attr-delete:hover { text-decoration: underline; }
.admin-attr-badge {
  display: inline-block;
  padding: .2rem .55rem;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  background: rgba(255,255,255,.08);
  color: #ffffffaa;
}
.admin-attr-badge--color { background: rgba(255,0,170,.15); color: #ff8fd4; }
.admin-attr-badge--text { background: rgba(255,255,255,.1); color: #ffffff99; }
.admin-attr-badge--select { background: rgba(0,210,190,.15); color: var(--petronas); }
.admin-attr-badge--checkbox { background: rgba(124,58,237,.2); color: #c4b5fd; }
.admin-attr-badge--moto_model { background: rgba(255,107,0,.15); color: #ffb380; }
.admin-attr-section { margin-bottom: 1rem; padding: 1.25rem 1.5rem; }
.admin-attr-section-title { font-size: .95rem; margin: 0 0 1rem; color: #ffffffcc; }
.admin-attr-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.admin-attr-section-head .admin-attr-section-title { margin: 0; }
.admin-attr-grid { gap: 1rem; }
.admin-attr-optional { font-weight: 400; color: #ffffff55; font-size: .85em; }
.admin-attr-checkline { display: flex; align-items: flex-end; }
.admin-attr-checkline label {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .88rem;
  color: #ffffffaa;
  cursor: pointer;
}
.admin-attr-type-hint {
  margin: .75rem 0 0;
  font-size: .82rem;
  color: #ffffff55;
  line-height: 1.5;
}
.admin-attr-type-hint a { color: var(--petronas); }
.admin-attr-type-panel { display: none; }
.admin-attr-type-panel:first-of-type { margin-top: 0; }
.admin-attr-checklist {
  max-height: 280px;
  overflow: auto;
  border: 1px solid var(--border-light);
  border-radius: 8px;
  padding: .5rem;
  background: var(--bg-elevated);
}
.admin-attr-check-item {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .4rem .5rem;
  cursor: pointer;
  border-radius: 6px;
  font-size: .88rem;
}
.admin-attr-check-item:hover { background: rgba(255,255,255,.04); }
.admin-attr-options { margin-top: .5rem; }
.admin-attr-option-row {
  padding: 1rem;
  margin-bottom: .75rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-light);
  border-radius: 10px;
}
.admin-attr-collapsible-row.admin-attr-option-row,
.admin-attr-collapsible-row.attr-group-input-admin-row {
  padding: 0;
  overflow: hidden;
}
.admin-attr-collapsible-row .admin-collapsible-panel-summary {
  padding: .85rem 1rem;
}
.admin-attr-collapsible-row--compact .admin-collapsible-panel-summary {
  padding: .65rem .85rem;
  font-size: .68rem;
}
.admin-attr-collapsible-row .admin-collapsible-panel-body {
  padding: 0 1rem 1rem;
}
.admin-attr-collapsible-row.attr-group-input-admin-row {
  margin-bottom: .75rem;
  background: rgba(255, 255, 255, .02);
  border: 1px solid var(--border-light);
  border-radius: 10px;
}
.admin-attr-collapsible-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: .5rem 0 .75rem;
}
.admin-attr-collapsible-swatch {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .2);
  min-width: 1.25rem;
  padding: 0;
  letter-spacing: 0;
  text-transform: none;
  background: #ccc;
}
.admin-attr-collapsible-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-attr-option-grid { gap: .75rem; align-items: end; }
.admin-attr-color-field { display: flex; gap: .5rem; align-items: center; }
.admin-attr-color-field .opt-color-swatch-preview {
  width: 48px;
  height: 40px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  flex-shrink: 0;
  box-sizing: border-box;
}
.admin-attr-color-field .opt-color-swatch-preview--split {
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.18);
}
.admin-attr-color-field--gradient .opt-color-picker {
  display: none !important;
}
.admin-attr-color-gradient-hint {
  margin: .35rem 0 0;
  font-size: .72rem;
  color: #ffffff66;
  line-height: 1.4;
}
.admin-attr-options--color-duo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.admin-attr-options--color-duo .admin-attr-option-row {
  margin-bottom: 0;
}
.admin-attr-dedupe-form-hidden {
  display: none;
}
.admin-attr-dedupe-modal {
  width: min(100%, 640px);
}
.admin-attr-dedupe-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  padding: 1.25rem 0 1rem;
  text-align: center;
  color: #ffffffb0;
  font-size: .9rem;
}
.admin-attr-dedupe-loading[hidden] { display: none !important; }
.admin-attr-dedupe-spinner {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 3px solid #ffffff22;
  border-top-color: var(--petronas);
  animation: adminAttrDedupeSpin .8s linear infinite;
}
@keyframes adminAttrDedupeSpin {
  to { transform: rotate(360deg); }
}
.admin-attr-dedupe-summary {
  margin: 0 0 .85rem;
  font-size: .9rem;
  color: #ffffffc0;
  line-height: 1.5;
  text-align: center;
}
.admin-attr-dedupe-list {
  max-height: 320px;
  overflow: auto;
  border: 1px solid #ffffff14;
  border-radius: 10px;
  padding: .75rem .85rem;
  margin-bottom: .25rem;
}
.admin-attr-dedupe-list[hidden] { display: none !important; }
.admin-attr-dedupe-list-label {
  margin: 0 0 .55rem;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #ffffff80;
}
.admin-attr-dedupe-list-label + .admin-attr-dedupe-junk,
.admin-attr-dedupe-groups + .admin-attr-dedupe-list-label {
  margin-top: 1rem;
}
.admin-attr-dedupe-groups,
.admin-attr-dedupe-junk,
.admin-attr-dedupe-remove {
  list-style: none;
  margin: 0;
  padding: 0;
}
.admin-attr-dedupe-group {
  padding: .65rem .7rem;
  border: 1px solid #ffffff12;
  border-radius: 8px;
  margin-bottom: .55rem;
  background: #ffffff08;
}
.admin-attr-dedupe-group:last-child { margin-bottom: 0; }
.admin-attr-dedupe-keep {
  font-size: .88rem;
  color: #ffffffd9;
  line-height: 1.45;
}
.admin-attr-dedupe-count {
  color: #ffffff66;
  font-size: .78rem;
}
.admin-attr-dedupe-remove {
  margin-top: .45rem;
  padding-left: .15rem;
}
.admin-attr-dedupe-remove li,
.admin-attr-dedupe-junk li {
  font-size: .82rem;
  color: #ffffff99;
  line-height: 1.45;
  margin-top: .28rem;
}
.admin-attr-dedupe-badge {
  display: inline-block;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: .12rem .4rem;
  border-radius: 4px;
  background: rgba(0, 210, 190, .16);
  color: var(--petronas);
  margin-right: .25rem;
  vertical-align: middle;
}
.admin-attr-dedupe-badge--remove {
  background: rgba(255, 0, 128, .14);
  color: #ff8fc8;
}
.admin-attr-dedupe-actions .btn[hidden] { display: none !important; }
@media (max-width: 720px) {
  .admin-attr-options--color-duo {
    grid-template-columns: 1fr;
  }
}
.admin-attr-color-field .opt-color-picker {
  width: 48px;
  height: 40px;
  border: none;
  background: transparent;
  cursor: pointer;
  flex-shrink: 0;
}
.admin-attr-option-remove {
  margin-top: .75rem;
  background: none;
  border: none;
  color: var(--magenta);
  cursor: pointer;
  font-size: .8rem;
  padding: 0;
}
.admin-attr-option-remove:hover { text-decoration: underline; }
.admin-attr-form-actions {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: .5rem;
}
.admin-attr-vinyl-grid { gap: 1.25rem; align-items: start; }
.admin-attr-vinyl-col-title {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--petronas);
  margin: 0 0 .65rem;
}
.admin-attr-linked-categories-summary {
  margin-bottom: .85rem;
  padding: .75rem .85rem;
  border-radius: 10px;
  border: 1px solid var(--border-light);
  background: var(--bg-elevated);
}
.admin-attr-linked-categories-count {
  margin: 0 0 .5rem;
  font-size: .8rem;
  color: var(--text-dim);
}
.admin-attr-linked-categories-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.admin-attr-linked-categories-list li {
  padding: .28rem .55rem;
  border-radius: 999px;
  background: var(--bg-card-solid);
  border: 1px solid var(--border-light);
  font-size: .78rem;
  color: var(--text-strong);
}
.admin-attr-linked-products-panel {
  margin-top: 1rem;
  padding: 1rem;
  border-radius: 12px;
  border: 1px solid var(--border-light);
  background: var(--bg-elevated);
}
.admin-attr-linked-products-count {
  margin: 0 0 .65rem;
  font-size: .82rem;
  color: var(--text-dim);
}
.admin-attr-linked-products {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 280px;
  overflow: auto;
  display: grid;
  gap: .45rem;
}
.admin-attr-linked-products li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  padding: .45rem .55rem;
  border-radius: 8px;
  background: var(--bg-card-solid);
}
.admin-attr-linked-product-link {
  color: var(--text-strong);
  text-decoration: none;
}
.admin-attr-linked-product-link:hover { color: var(--petronas); }
.admin-attr-linked-product-meta {
  font-size: .78rem;
  color: var(--text-ghost);
}
.admin-attr-linked-product-inactive {
  font-size: .72rem;
  color: #fca5a5;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.admin-attr-cat-products-panel-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .75rem;
}
.admin-attr-cat-products-panel-head .admin-attr-vinyl-col-title {
  margin: 0;
}
.admin-attr-cat-products-picker-wrap:not(.is-open) {
  display: none;
}
.admin-attr-cat-products-picker-list {
  max-height: 360px;
}
.admin-attr-cat-product-check {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  width: 100%;
  cursor: pointer;
}
.admin-attr-cat-product-check input {
  margin-top: .2rem;
  flex-shrink: 0;
}
.admin-attr-cat-product-check-body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  min-width: 0;
}
.attr-cat-products-list-title {
  margin: 0 0 .65rem;
  font-size: .9rem;
  font-weight: 600;
  color: var(--text-strong);
  line-height: 1.45;
}
.attr-vinyl-hidden { display: none !important; }
.admin-attr-badge--group { background: rgba(0, 176, 255, .15); color: #7dd3fc; }
.admin-attr-badge--vinyl { background: rgba(0, 210, 190, .22); color: #5eead4; }
.admin-attr-badge--plaque { background: rgba(139, 92, 246, .15); color: var(--warn); }
.admin-attr-badge--cat_products { background: rgba(167, 139, 250, .18); color: #c4b5fd; }
.admin-attr-badge--textarea { background: rgba(96, 165, 250, .15); color: #93c5fd; }
.attr-textarea-wrap { display: flex; flex-direction: column; gap: .35rem; }
.attr-textarea-input {
  min-height: 5.5rem;
  resize: vertical;
  line-height: 1.45;
}
.attr-textarea-counter {
  margin: 0;
  font-size: .78rem;
  color: #ffffff66;
  text-align: right;
}
.attr-textarea-counter-value { color: var(--petronas); font-weight: 600; }
.attr-textarea-wrap.is-near-limit .attr-textarea-counter { color: var(--warn); }
.attr-textarea-wrap.is-at-limit .attr-textarea-counter { color: #fca5a5; }
.attr-textarea-wrap.is-at-limit .attr-textarea-counter-value { color: #fca5a5; }
.plaque-preview-widget { margin-top: .35rem; }
.plaque-preview-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}
.plaque-preview-stage {
  position: sticky;
  top: 0.75rem;
  z-index: 2;
  align-self: start;
  width: 100%;
  aspect-ratio: 5 / 3;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(0, 210, 190, .22);
  background: #0a0a10;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .35);
}
.product-config-modal .plaque-preview-stage {
  top: 0.35rem;
}
.plaque-preview-stage.has-bg-color .plaque-preview-bg-tint {
  pointer-events: none;
}
.plaque-preview-stage.has-bg-color--svg .plaque-preview-bg-svg {
  display: block !important;
  visibility: visible;
  opacity: 1;
}
.plaque-preview-stage.has-bg-color--svg .plaque-preview-bg.plaque-preview-bg--raster-fallback {
  display: none !important;
}
.plaque-preview-stage.has-bg-color--raster .plaque-preview-bg {
  opacity: 1;
}
.plaque-preview-bg-tint {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: transparent;
  transition: background-color .2s ease;
}
.plaque-preview-bg-box {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
  border-radius: inherit;
  background: #0a0a10;
}
.plaque-preview-bg-box .plaque-preview-bg-tint,
.plaque-preview-bg-box .plaque-preview-bg-svg,
.plaque-preview-bg-box .plaque-preview-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.plaque-preview-bg-box .plaque-preview-bg-svg { z-index: 1; }
.plaque-preview-bg-box .plaque-preview-bg { z-index: 1; }
.plaque-preview-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity .2s ease;
  pointer-events: none;
}
.plaque-preview-number,
.plaque-preview-name {
  position: absolute;
  z-index: 2;
  transform: translate(-50%, -50%);
  font-family: 'Orbitron', sans-serif;
  font-weight: 900;
  letter-spacing: .06em;
  text-align: center;
  white-space: nowrap;
  max-width: 88%;
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .55);
  pointer-events: none;
  line-height: 1.1;
}
.plaque-preview-controls {
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.plaque-preview-field .label { margin-bottom: .35rem; }
.plaque-preview-field-hint {
  margin: .35rem 0 0;
  font-size: .75rem;
  color: #ffffff55;
}
.plaque-color-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.plaque-color-swatch {
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  border: 2px solid rgba(255, 255, 255, .2);
  background: var(--swatch-color, #fff);
  cursor: pointer;
  padding: 0;
  transition: transform .15s, box-shadow .15s, border-color .15s;
}
.plaque-color-swatch.is-active {
  border-color: var(--petronas);
  box-shadow: 0 0 0 2px rgba(0, 210, 190, .35);
  transform: scale(1.08);
}
.plaque-font-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.plaque-font-swatch {
  min-width: 4.5rem;
  padding: .4rem .65rem;
  border-radius: 8px;
  border: 2px solid rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .04);
  color: #fff;
  cursor: pointer;
  font-size: .78rem;
  line-height: 1.1;
  letter-spacing: .03em;
  transition: transform .15s, box-shadow .15s, border-color .15s, background .15s;
}
.plaque-font-swatch.is-active {
  border-color: var(--petronas);
  background: rgba(0, 210, 190, .12);
  box-shadow: 0 0 0 2px rgba(0, 210, 190, .28);
  transform: translateY(-1px);
}
.admin-plaque-font-checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .85rem;
}
.admin-plaque-font-check {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .88rem;
  color: #ffffffcc;
  cursor: pointer;
}
.admin-plaque-font-check input {
  accent-color: var(--petronas);
}
.admin-plaque-font-check--custom span {
  color: #c4b5fd;
}
.admin-plaque-bg-color-checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem .85rem;
}
.admin-plaque-bg-color-check {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .86rem;
  color: #ffffffcc;
  cursor: pointer;
}
.admin-plaque-bg-color-check input {
  accent-color: var(--petronas);
}
.admin-plaque-bg-color-swatch {
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .22);
  background: var(--swatch-color, #fff);
  flex-shrink: 0;
}
.admin-plaque-font-guide-steps {
  margin: 0;
  padding-left: 1.2rem;
  color: #ffffffb3;
  font-size: .88rem;
  line-height: 1.65;
}
.admin-plaque-font-guide-steps li {
  margin-bottom: .45rem;
}
.admin-plaque-custom-font-row-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: .65rem;
}
@media (min-width: 720px) {
  .admin-plaque-custom-font-row-grid {
    grid-template-columns: 1fr 1fr 120px 90px;
    align-items: end;
  }
}
.admin-plaque-custom-font-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.6rem;
  border-radius: 8px;
  border: 1px solid #ffffff14;
  background: rgba(255, 255, 255, .03);
  font-size: 1.15rem;
  letter-spacing: .04em;
  color: #fff;
}
.plaque-font-swatch--custom {
  border-style: dashed;
  border-color: rgba(139, 92, 246, .35);
}
.plaque-font-swatch--custom.is-active {
  border-color: var(--violet);
  background: rgba(139, 92, 246, .12);
}
.plaque-preview-hint {
  margin: .75rem 0 0;
  font-size: .78rem;
  color: #ffffff66;
}
.plaque-preview-bg-svg {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.plaque-preview-bg-svg svg {
  display: block;
  width: 100%;
  height: 100%;
}
.admin-plaque-svg-guide-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}
.admin-plaque-svg-guide-img {
  display: block;
  width: 100%;
  max-width: 420px;
  height: auto;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, .08);
}
.admin-plaque-layer-list {
  margin: 0;
  padding-left: 1.15rem;
  font-size: .82rem;
  color: #d4d4d8;
  line-height: 1.55;
}
.admin-plaque-layer-list li { margin-bottom: .4rem; }
.admin-plaque-layer-list code {
  font-size: .78rem;
  color: #00D2BE;
}
.admin-plaque-live-preview {
  margin-bottom: 0;
  padding: 1rem 1.05rem;
  border: 1px solid rgba(0, 210, 190, .2);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(10, 10, 16, .98) 0%, rgba(8, 8, 12, .96) 100%);
  box-shadow: 0 14px 40px rgba(0, 0, 0, .35);
}
.admin-plaque-editor-layout {
  display: grid;
  grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
  gap: 1.35rem;
  align-items: start;
  margin-top: 1rem;
}
.admin-plaque-editor-aside {
  position: sticky;
  top: 1rem;
  z-index: 3;
  align-self: start;
  max-height: calc(100vh - 2rem);
  overflow: auto;
}
.admin-plaque-editor-main {
  min-width: 0;
}
.admin-plaque-preview-stage {
  max-width: 100%;
  width: 100%;
}
.admin-plaque-range-field { margin-bottom: .15rem; }
.admin-plaque-range-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .35rem;
}
.admin-plaque-range-head .label { margin: 0; }
.admin-plaque-range-value {
  font-size: .82rem;
  font-weight: 600;
  color: var(--petronas);
  font-variant-numeric: tabular-nums;
}
.admin-plaque-range {
  width: 100%;
  accent-color: var(--petronas);
  cursor: pointer;
}
.admin-plaque-order-warning {
  margin-top: .5rem;
  color: #fca5a5 !important;
}
.admin-plaque-linked-color-field { margin-bottom: .25rem; }
.admin-plaque-catalog-preview { margin-top: .5rem; }
.admin-plaque-catalog-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.admin-plaque-catalog-swatch {
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: var(--swatch-color, #ccc);
  border: 2px solid rgba(255, 255, 255, .22);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
}
@media (max-width: 900px) {
  .admin-plaque-svg-guide-layout { grid-template-columns: 1fr; }
  .admin-plaque-editor-layout {
    grid-template-columns: 1fr;
  }
  .admin-plaque-editor-aside {
    position: sticky;
    top: .75rem;
    z-index: 4;
    max-height: none;
    overflow: visible;
  }
}
@media (max-width: 768px) {
  .plaque-preview-layout { grid-template-columns: 1fr; }
  .product-config-modal .plaque-preview-layout {
    gap: 1rem;
  }
  .product-config-modal .plaque-preview-stage {
    position: relative;
    top: auto;
    width: min(100%, 320px);
    margin: 0 auto;
    max-height: 220px;
    aspect-ratio: 5 / 3;
  }
  .product-config-modal .plaque-preview-controls {
    display: flex;
    flex-direction: column;
    gap: .85rem;
  }
  .product-config-modal .plaque-color-swatches,
  .product-config-modal .plaque-font-swatches {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(2.35rem, 1fr));
    gap: .4rem;
  }
  .product-config-modal .plaque-preview-field .label {
    font-size: .82rem;
  }
  .product-config-modal .plaque-preview-hint {
    font-size: .75rem;
    margin-top: .35rem;
  }
}
.product-admin-vinyl-default-hint { color: #ffffff66; font-size: .8rem; font-weight: 400; }
.attr-group-inputs {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.attr-group-inputs--multi .attr-group-input {
  flex: 1 1 6rem;
  min-width: 5rem;
}
.attr-group-input { flex: 1 1 100%; }
.attr-group-admin-head {
  margin-bottom: .75rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.attr-group-admin-inputs-title {
  margin: 0 0 .65rem;
  font-size: .78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.attr-group-input-admin-row {
  margin-bottom: .75rem;
  padding: .85rem;
  background: rgba(255, 255, 255, .02);
}
.admin-attr-collapsible-row.attr-group-input-admin-row {
  padding: 0;
}
.attr-group-admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  margin-top: .5rem;
}
.admin-attr-group-select-opt-row {
  margin-bottom: .75rem;
}
.attr-group-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
}
.attr-group-fields--zoned {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.attr-group-zone {
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, .1);
  padding: .75rem .85rem;
  background: rgba(255, 255, 255, .02);
}
.attr-group-zone--avant,
.attr-group-zone--garde_boue_avant {
  border-color: rgba(0, 210, 190, .32);
  background: rgba(0, 210, 190, .04);
}
.attr-group-zone--arriere,
.attr-group-zone--garde_boue_arriere {
  border-color: rgba(167, 139, 250, .35);
  background: rgba(167, 139, 250, .05);
}
.attr-group-zone--garde_boue {
  border-color: rgba(56, 189, 248, .3);
  background: rgba(56, 189, 248, .04);
}
.attr-group-zone--plaque {
  border-color: rgba(167, 139, 250, .28);
  background: rgba(139, 92, 246, .04);
}
.attr-group-zone--principal {
  border-color: rgba(255, 255, 255, .28);
  background: rgba(255, 255, 255, .05);
}
.attr-group-zone--ouies {
  border-color: rgba(34, 211, 238, .32);
  background: rgba(34, 211, 238, .05);
}
.attr-group-zone--airbox {
  border-color: rgba(251, 146, 60, .35);
  background: rgba(251, 146, 60, .05);
}
.attr-group-zone--reservoir {
  border-color: rgba(244, 114, 182, .32);
  background: rgba(244, 114, 182, .05);
}
.attr-group-zone--carter {
  border-color: rgba(148, 163, 184, .35);
  background: rgba(148, 163, 184, .05);
}
.attr-group-zone--bras {
  border-color: rgba(52, 211, 153, .32);
  background: rgba(52, 211, 153, .05);
}
.attr-group-zone--sabot,
.attr-group-zone--silencieux,
.attr-group-zone--fourche,
.attr-group-zone--guidon {
  border-color: rgba(129, 140, 248, .3);
  background: rgba(129, 140, 248, .04);
}
.attr-group-zone[class*="attr-group-zone--family_"] {
  border-color: rgba(255, 255, 255, .16);
  background: rgba(255, 255, 255, .03);
}
.attr-group-zone-title {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: 0 0 .7rem;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-family: Orbitron, sans-serif;
}
.attr-group-zone--avant .attr-group-zone-title,
.attr-group-zone--garde_boue_avant .attr-group-zone-title { color: var(--petronas); }
.attr-group-zone--arriere .attr-group-zone-title,
.attr-group-zone--garde_boue_arriere .attr-group-zone-title { color: #c4b5fd; }
.attr-group-zone--garde_boue .attr-group-zone-title { color: #7dd3fc; }
.attr-group-zone--plaque .attr-group-zone-title { color: var(--warn); }
.attr-group-zone--principal .attr-group-zone-title { color: #f8fafc; }
.attr-group-zone--ouies .attr-group-zone-title { color: #67e8f9; }
.attr-group-zone--airbox .attr-group-zone-title { color: #fdba74; }
.attr-group-zone--reservoir .attr-group-zone-title { color: #f9a8d4; }
.attr-group-zone--carter .attr-group-zone-title { color: #cbd5e1; }
.attr-group-zone--bras .attr-group-zone-title { color: #6ee7b7; }
.attr-group-zone--sabot .attr-group-zone-title,
.attr-group-zone--silencieux .attr-group-zone-title,
.attr-group-zone--fourche .attr-group-zone-title,
.attr-group-zone--guidon .attr-group-zone-title { color: #a5b4fc; }
.attr-group-zone--other .attr-group-zone-title,
.attr-group-zone[class*="attr-group-zone--family_"] .attr-group-zone-title { color: #ffffffcc; }
.attr-group-zone-icon {
  width: .45rem;
  height: .45rem;
  border-radius: 999px;
  flex-shrink: 0;
}
.attr-group-zone--avant .attr-group-zone-icon,
.attr-group-zone--garde_boue_avant .attr-group-zone-icon { background: var(--petronas); }
.attr-group-zone--arriere .attr-group-zone-icon,
.attr-group-zone--garde_boue_arriere .attr-group-zone-icon { background: #a78bfa; }
.attr-group-zone--garde_boue .attr-group-zone-icon { background: #38bdf8; }
.attr-group-zone--plaque .attr-group-zone-icon { background: var(--violet-bright); }
.attr-group-zone--principal .attr-group-zone-icon { background: #f8fafc; }
.attr-group-zone--ouies .attr-group-zone-icon { background: #22d3ee; }
.attr-group-zone--airbox .attr-group-zone-icon { background: #fb923c; }
.attr-group-zone--reservoir .attr-group-zone-icon { background: #f472b6; }
.attr-group-zone--carter .attr-group-zone-icon { background: #94a3b8; }
.attr-group-zone--bras .attr-group-zone-icon { background: #34d399; }
.attr-group-zone--sabot .attr-group-zone-icon,
.attr-group-zone--silencieux .attr-group-zone-icon,
.attr-group-zone--fourche .attr-group-zone-icon,
.attr-group-zone--guidon .attr-group-zone-icon { background: #818cf8; }
.attr-group-zone--other .attr-group-zone-icon,
.attr-group-zone[class*="attr-group-zone--family_"] .attr-group-zone-icon { background: #ffffff88; }
.attr-group-fields-inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.product-config-modal .attr-group-fields-inner {
  gap: .65rem;
}
@media (max-width: 768px) {
  .attr-group-fields-inner,
  .product-config-modal .attr-group-fields-inner {
    grid-template-columns: 1fr;
  }
  .product-config-modal .attr-group-fields:not(.attr-group-fields--zoned) {
    grid-template-columns: 1fr;
  }
}
.attr-group-field-label { font-size: .82rem; margin-bottom: .35rem; }
.attr-group-input-label { font-size: .82rem; margin-bottom: .35rem; display: block; }
.attr-group-field .input { width: 100%; }
@media (max-width: 720px) {
  .admin-attr-assign-hint { margin-left: 0; text-align: left; width: 100%; }
  .admin-attr-page-head .btn { width: 100%; justify-content: center; }
}

/* Admin ? fiche produit (onglets) */
.admin-product-form { display: flex; flex-direction: column; gap: 1.25rem; }
.admin-product-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  padding-bottom: .15rem;
  border-bottom: 1px solid var(--border-light);
  position: relative;
  z-index: 2;
}
.admin-product-tab {
  appearance: none;
  border: 1px solid var(--border-light);
  background: var(--bg-elevated);
  color: var(--text-dim);
  font-family: var(--font-display, inherit);
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .55rem 1rem;
  border-radius: 999px;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
}
.admin-product-tab:hover {
  color: var(--text-strong);
  border-color: rgba(0, 210, 190, .35);
}
.admin-product-tab.is-active {
  background: rgba(0, 210, 190, .14);
  border-color: var(--petronas);
  color: var(--petronas);
}
.admin-product-tab-panels {
  display: block;
  min-height: 200px;
  position: relative;
  z-index: 1;
}
.admin-product-tab-panels > .admin-product-form-fields,
.admin-product-tab-panels > .admin-product-tab-panel {
  min-width: 0;
}
.admin-product-tab-panels > .admin-product-form-fields:not(.is-form-tab-hidden):not([hidden]),
.admin-product-tab-panels > .admin-product-tab-panel.is-active:not([hidden]) {
  display: block;
}
.admin-product-tab-panel { display: none; }
.admin-product-tab-panel.is-active { display: block; position: relative; }
#admin-product-form > .admin-product-tab-panel.is-active { display: block !important; }
#admin-product-form > .admin-product-tab-panel:not(.is-active) { display: none !important; }
.product-admin-photos-save--top {
  box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
}
.btn-save-product-photos.is-photos-dirty {
  box-shadow: 0 0 0 2px var(--petronas, #00d2be);
  outline: 2px solid rgba(0, 210, 190, .35);
  outline-offset: 2px;
}
.admin-product-form-fields { display: block; }
.admin-product-form-fields[hidden],
.admin-product-tab-panels > .admin-product-tab-panel[hidden] {
  display: none !important;
}
.admin-product-form-fields.is-form-tab-hidden {
  display: none !important;
}
.admin-product-grid { gap: 1rem; }
.admin-product-grid-full { grid-column: 1 / -1; }
.admin-color-stock-panel {
  margin-top: .5rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(0, 210, 190, .22);
  border-radius: 12px;
  background: rgba(0, 210, 190, .04);
}
.admin-color-stock-panel--pending {
    border-style: dashed;
}
.admin-color-stock-eligibility-list {
    margin: 0;
    padding-left: 1.15rem;
}
.admin-color-stock-eligibility-list li + li {
    margin-top: .35rem;
}
.admin-color-stock-table-wrap { overflow-x: auto; }
.admin-color-stock-table { margin: 0; }
.admin-color-stock-label {
  display: flex;
  align-items: center;
  gap: .55rem;
  flex-wrap: wrap;
}
.admin-color-stock-swatch {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, .25);
  flex-shrink: 0;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .25);
}
.admin-color-stock-meta {
  font-size: .72rem;
  color: #ffffff55;
}
.admin-color-stock-input {
  width: 5.5rem;
  text-align: right;
  margin: 0;
}
.admin-color-ref-input {
  width: 100%;
  min-width: 8rem;
  margin: 0;
  font-size: .85rem;
}
.admin-catalog-ref-stock-block {
  margin-top: .15rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(0, 210, 190, .22);
  border-radius: 12px;
  background: rgba(0, 210, 190, .04);
}
.admin-catalog-ref-stock-head {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: .85rem;
}
.admin-catalog-ref-stock-total {
  min-width: 7rem;
}
.admin-catalog-ref-stock-total .input {
  text-align: right;
}
.admin-catalog-parent-sku {
  margin-top: .85rem;
  max-width: 28rem;
}
.admin-color-stock-ref-col { width: min(220px, 32vw); }
.admin-color-stock-qty-col,
.admin-color-stock-qty-cell {
  width: 6.5rem;
  text-align: right;
}
.admin-color-stock-ean-col,
.admin-color-stock-ean-cell {
  width: 9.5rem;
  font-size: .82rem;
  color: #ffffff88;
}
.admin-color-stock-ean-cell { text-align: left; }
.admin-ufo-variant-part-ref {
  font-size: .78rem;
  color: #bdefff;
  background: rgba(0, 210, 190, .08);
  border: 1px solid rgba(0, 210, 190, .2);
  border-radius: 4px;
  padding: .15rem .4rem;
}
.product-admin-attr-option-wrap.has-ufo-variant-ref {
  flex-wrap: wrap;
}
.product-admin-attr-ufo-variant {
  display: flex;
  align-items: center;
  gap: .55rem;
  width: 100%;
  margin: .15rem 0 .35rem 1.75rem;
  font-size: .78rem;
}
.product-admin-attr-ufo-variant-ref {
  font-size: .76rem;
  color: #bdefff;
  background: rgba(0, 210, 190, .08);
  border: 1px solid rgba(0, 210, 190, .18);
  border-radius: 4px;
  padding: .1rem .35rem;
}
.product-admin-attr-ufo-variant-stock-read {
  color: #ffffff88;
}
.admin-image-ref-stock-row {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1rem;
  align-items: flex-end;
  margin-bottom: .65rem;
}
.admin-image-ref-field { flex: 1 1 12rem; min-width: 10rem; }
.admin-image-stock-field { flex: 0 0 auto; }
.admin-image-ean-field { flex: 0 0 auto; min-width: 9.5rem; }
.admin-ufo-compat-admin-table tbody tr.is-current td {
  background: rgba(0, 210, 190, .08);
}
.admin-product-status-row {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
}
.admin-product-check {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .88rem;
  cursor: pointer;
}
.admin-product-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: .75rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, .1);
}
.product-admin-section { margin-top: 0; }
.product-admin-section + .product-admin-section,
.product-admin-vinyl-section { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255, 255, 255, .08); }
.product-admin-attr-dropdowns {
  display: flex;
  flex-direction: column;
  gap: .65rem;
}
.product-admin-attr-dropdown {
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 10px;
  background: rgba(255, 255, 255, .02);
}
.product-admin-attr-dropdown-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .7rem .9rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.product-admin-attr-dropdown-summary::-webkit-details-marker { display: none; }
.product-admin-attr-dropdown-summary::after {
  content: '';
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--petronas);
  border-bottom: 2px solid var(--petronas);
  transform: rotate(45deg);
  transition: transform .2s ease;
  flex-shrink: 0;
}
.product-admin-attr-dropdown[open] .product-admin-attr-dropdown-summary::after {
  transform: rotate(-135deg);
}
.product-admin-attr-dropdown-title {
  font-family: var(--font-display, inherit);
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--petronas);
}
.product-admin-attr-dropdown-meta {
  font-size: .72rem;
  color: var(--text-dim);
}
.product-admin-attr-dropdown .product-admin-attributes-list {
  padding: 0 .75rem .75rem;
}
.admin-stock-attr-group-summary-main {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  min-width: 0;
}
.admin-stock-attr-group-thumb {
  width: 36px;
  height: 36px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, .12);
  flex-shrink: 0;
}
.admin-stock-attr-groups .admin-stock-attr-group-body .product-stock-admin-row {
  margin: 0;
}
.product-admin-attributes-list {
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.product-admin-attr-row.is-attr-active {
  border-color: rgba(0, 210, 190, .28);
  background: rgba(0, 210, 190, .04);
}
.product-admin-attr-row {
  padding: .75rem .85rem;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 8px;
  background: rgba(255, 255, 255, .02);
}
.product-admin-attr-main {
  display: flex;
  gap: .5rem;
  align-items: flex-start;
  font-size: .85rem;
  cursor: pointer;
}
.product-admin-attr-type { color: #ffffff55; }
.product-admin-attr-cat {
  display: block;
  font-size: .75rem;
  color: var(--cyan);
  margin-top: .15rem;
}
.product-admin-attr-options {
  margin-top: .75rem;
  padding-top: .75rem;
  border-top: 1px solid rgba(255, 255, 255, .06);
}
.product-admin-attr-options.is-hidden { display: none; }
.product-admin-attr-options-label {
  margin: 0 0 .5rem;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #ffffff66;
}
.product-admin-attr-options-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .65rem;
}
.product-admin-attr-option-wrap {
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.product-admin-attr-unavailable-wrap {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .72rem;
  color: #ff9a9a;
  padding: 0 .5rem .15rem;
  cursor: pointer;
}
.product-admin-attr-unavailable-wrap input:disabled + span {
  opacity: .35;
}
.product-admin-attr-option {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .8rem;
  padding: .3rem .5rem;
  border-radius: 6px;
  background: rgba(255, 255, 255, .04);
  cursor: pointer;
  position: relative;
  overflow: visible;
}
.product-admin-attr-option .attr-hint-badge.attr-has-hint:hover,
.product-admin-attr-option .attr-hint-badge.attr-has-hint:focus-visible {
  z-index: 25;
}
.product-admin-attr-swatch {
  width: 1rem;
  height: 1rem;
  border-radius: 3px;
  border: 1px solid rgba(255, 255, 255, .2);
  background: var(--swatch, #666);
  flex-shrink: 0;
}
.product-admin-attr-option-photo {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .18);
  flex-shrink: 0;
  display: inline-flex;
}
.product-admin-attr-option-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.product-admin-attr-option-photo--sm {
  width: 1rem;
  height: 1rem;
  border-radius: 3px;
}
.product-admin-attr-option-wrap.has-color-photo .product-admin-attr-option {
  align-items: center;
  gap: .55rem;
}
.admin-ufo-variant-color-cell {
  display: flex;
  align-items: center;
  gap: .55rem;
}
.admin-ufo-variant-color-photo {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .16);
  flex-shrink: 0;
  display: inline-flex;
}
.admin-ufo-variant-color-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.product-admin-attr-prices {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.product-admin-attr-price-row {
  display: grid;
  grid-template-columns: minmax(100px, 1fr) minmax(140px, 1.1fr) minmax(80px, .7fr) auto;
  gap: .5rem;
  align-items: center;
  font-size: .78rem;
}
.product-admin-attr-price-row.is-hidden,
.product-admin-attr-prices.is-hidden,
.product-admin-attr-prices-title.is-hidden,
.product-admin-attr-prices-hint.is-hidden {
  display: none;
}
.product-admin-attr-price-label {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: #ffffffaa;
}
.product-admin-attr-default-wrap {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  color: #ffffffcc;
  font-size: .72rem;
  position: relative;
  z-index: 1;
}
.product-admin-attr-default-wrap input.product-admin-attr-default-input {
  pointer-events: auto;
  cursor: pointer;
  flex-shrink: 0;
}
.product-admin-attr-default-wrap input.product-admin-attr-default-input:disabled {
  cursor: not-allowed;
  opacity: .45;
}
.product-admin-attr-price-type,
.product-admin-attr-price-value,
.product-admin-vinyl-price-type,
.product-admin-vinyl-price-value {
  font-size: .75rem;
  padding: .35rem .5rem;
}
.product-admin-vinyl-row {
  margin-bottom: .65rem;
}
.product-admin-vinyl-main {
  display: flex;
  gap: .5rem;
  align-items: flex-start;
  font-size: .85rem;
  margin-bottom: .35rem;
}
.product-admin-vinyl-price {
  display: grid;
  grid-template-columns: minmax(140px, 1.2fr) minmax(90px, .8fr);
  gap: .5rem;
  margin-left: 1.5rem;
}
.product-admin-section-title {
  font-size: .9rem;
  margin: 0 0 .75rem;
  color: var(--petronas);
}
.product-admin-hint {
  font-size: .8rem;
  color: #ffffff55;
  margin: .5rem 0 0;
  line-height: 1.45;
}
.product-admin-deposit-box {
  padding: 1rem;
  background: rgba(255, 255, 255, .03);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, .08);
}
.product-admin-redirect-panel {
  padding: 1rem;
  background: rgba(255, 255, 255, .03);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, .08);
}
.product-admin-redirect-title {
  font-size: .85rem;
  margin: 0 0 .75rem;
  color: var(--warn);
}
@media (max-width: 640px) {
  .admin-product-tabs { gap: .35rem; }
  .admin-product-tab { flex: 1 1 calc(50% - .35rem); text-align: center; }
  .admin-product-form-actions .btn { width: 100%; }
}

/* --- Guide couleurs / roue chromatique --- */
.color-harmony-tool--embed {
  margin-top: 1rem;
  border: 1px solid var(--border-light);
  border-radius: 12px;
  background: var(--bg-elevated);
  overflow: visible;
}
.color-harmony-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .75rem 1rem;
  background: transparent;
  border: none;
  color: var(--text-strong);
  cursor: pointer;
  text-align: left;
}
.color-harmony-toggle-title { font-size: .82rem; color: var(--petronas); }
.color-harmony-toggle-icon {
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--petronas);
  border-bottom: 2px solid var(--petronas);
  transform: rotate(45deg);
  transition: transform .2s ease;
  flex-shrink: 0;
}
.color-harmony-tool.is-open .color-harmony-toggle-icon { transform: rotate(-135deg); }
.color-harmony-panel {
  padding: 1rem;
  border-top: 1px solid var(--border-light);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.color-harmony-count-bar {
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  border: 1px solid var(--border-light);
  border-radius: 10px;
  background: rgba(0, 210, 190, .04);
}
.color-harmony-count-bar.is-chosen {
  padding: .65rem 1rem;
  margin-bottom: .85rem;
}
.color-harmony-count-lead {
  margin: 0 0 .65rem;
  font-size: .82rem;
  font-weight: 600;
  color: var(--text-strong);
}
.color-harmony-count-bar.is-chosen .color-harmony-count-lead {
  margin-bottom: .5rem;
  font-size: .78rem;
  color: var(--text-dim);
}
.color-harmony-count-options {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.color-harmony-count-btn {
  flex: 1 1 auto;
  min-width: 5.5rem;
  padding: .55rem .75rem;
  border: 1px solid var(--border-light);
  border-radius: 8px;
  background: var(--bg-elevated);
  color: var(--text-strong);
  font-size: .8rem;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.color-harmony-count-btn:hover {
  border-color: rgba(0, 210, 190, .45);
}
.color-harmony-count-btn.is-active {
  border-color: var(--petronas);
  background: rgba(0, 210, 190, .12);
  color: var(--petronas);
}
.color-harmony-count-hint {
  margin: .65rem 0 0;
  font-size: .72rem;
  color: var(--text-ghost);
  line-height: 1.45;
}
.color-harmony-count-bar.is-chosen .color-harmony-count-hint {
  margin-top: .45rem;
}
.color-harmony-reset-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: .65rem;
  padding: .45rem .75rem;
  border: 1px solid var(--border-light);
  border-radius: 8px;
  background: transparent;
  color: var(--text-dim);
  font-size: .75rem;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.color-harmony-reset-btn:hover {
  border-color: rgba(255, 255, 255, .25);
  color: var(--text-strong);
  background: rgba(255, 255, 255, .04);
}
.color-harmony-reset-btn:focus-visible {
  outline: 2px solid var(--petronas);
  outline-offset: 2px;
}
.color-harmony-hint {
  font-size: .82rem;
  color: var(--text-dim);
  line-height: 1.55;
  margin: 0 0 1rem;
}
.color-harmony-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
  width: 100%;
}
.color-harmony-wheel-col {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  grid-column: 1;
  grid-row: 1;
  position: sticky;
  top: calc(var(--site-header-offset-h) + var(--site-top-stack-h) + 16px);
  align-self: start;
  z-index: 2;
}
.color-harmony-tool--embed .color-harmony-wheel-col,
.product-config-modal .color-harmony-wheel-col,
.moto-config-modal .color-harmony-wheel-col {
  top: 0.75rem;
}
.color-harmony-swatches-col {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  grid-column: 2;
  grid-row: 1;
}
.color-harmony-wheel-col > .color-harmony-reveal,
.color-harmony-swatches-col > .color-harmony-reveal {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.color-harmony-reveal {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .4s ease, transform .4s ease;
}
.color-harmony-reveal.is-revealed {
  opacity: 1;
  transform: translateY(0);
}
.color-harmony-reveal[hidden] {
  display: none !important;
}
.color-harmony-tool.is-count-chosen .color-harmony-count-hint {
  display: none;
}
.color-harmony-wheel-wrap {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0;
  aspect-ratio: 1;
  touch-action: none;
  user-select: none;
}
.color-harmony-wheel-wrap.is-dragging {
  cursor: grabbing;
}
.color-harmony-wheel-canvas {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  pointer-events: none;
}
.color-harmony-wheel-center {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 26%;
  height: 26%;
  margin: -13% 0 0 -13%;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, .9);
  box-shadow: 0 2px 12px rgba(0, 0, 0, .35);
  pointer-events: none;
  z-index: 1;
}
.color-harmony-wheel-dots {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
}
.color-harmony-wheel-dot {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .45);
  transform: translate(-50%, -50%);
}
.color-harmony-wheel-handle {
  position: absolute;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  transform: translate(-50%, -50%);
  z-index: 4;
  cursor: grab;
  touch-action: none;
}
.color-harmony-wheel-handle.is-dragging,
.color-harmony-wheel-wrap.is-dragging .color-harmony-wheel-handle {
  cursor: grabbing;
}
.color-harmony-wheel-handle--hue {
  width: 11%;
  height: 11%;
  min-width: 24px;
  min-height: 24px;
  max-width: 40px;
  max-height: 40px;
}
.color-harmony-wheel-handle--light {
  width: 7.5%;
  height: 7.5%;
  min-width: 16px;
  min-height: 16px;
  max-width: 28px;
  max-height: 28px;
  z-index: 3;
}
.color-harmony-wheel-handle-fill {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 3px solid #fff;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .35), 0 2px 8px rgba(0, 0, 0, .35);
  box-sizing: border-box;
}
.color-harmony-wheel-handle--hue .color-harmony-wheel-handle-fill {
  border-width: 4px;
}
.color-harmony-wheel-handle:focus-visible .color-harmony-wheel-handle-fill {
  outline: 2px solid var(--petronas);
  outline-offset: 2px;
}
.color-harmony-wheel-help {
  margin: .65rem 0 0;
  font-size: .75rem;
  color: var(--text-ghost);
  line-height: 1.45;
  text-align: center;
}
.color-harmony-readout {
  display: flex;
  gap: .75rem;
  align-items: stretch;
  margin-top: 0;
  padding: .65rem .75rem;
  border: 1px solid var(--border-light);
  border-radius: 10px;
  background: rgba(0, 0, 0, .15);
}
.color-harmony-readout-swatch {
  width: 48px;
  min-width: 48px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, .15);
}
.color-harmony-readout-body { flex: 1; min-width: 0; }
.color-harmony-readout-title {
  margin: 0 0 .35rem;
  font-size: .72rem;
  font-weight: 600;
  color: var(--petronas);
  letter-spacing: .02em;
}
.color-harmony-readout-grid {
  display: grid;
  gap: .2rem;
}
.color-harmony-readout-item {
  font-size: .72rem;
  color: var(--text-dim);
  display: flex;
  gap: .35rem;
  align-items: baseline;
  flex-wrap: wrap;
}
.color-harmony-readout-item strong {
  font-size: .68rem;
  color: var(--text-ghost);
  min-width: 2.2rem;
}
.color-harmony-readout-item code {
  font-size: .72rem;
  color: var(--text-strong);
}
.color-harmony-pickers {
  display: grid;
  gap: .65rem;
  margin-top: .75rem;
}
.color-harmony-sliders {
  display: grid;
  gap: .65rem;
  margin-top: .65rem;
}
.color-harmony-slider-label span {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
}
.color-harmony-slider-val {
  font-size: .72rem;
  font-weight: 600;
  color: var(--petronas);
}
.color-harmony-presets {
  margin-top: .75rem;
}
.color-harmony-presets-lead {
  margin: 0 0 .45rem;
  font-size: .72rem;
  color: var(--text-ghost);
}
.color-harmony-preset-list {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.color-harmony-preset {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .35rem .55rem;
  border: 1px solid var(--border-light);
  border-radius: 999px;
  background: var(--bg-elevated);
  color: var(--text-dim);
  font-size: .72rem;
  cursor: pointer;
  transition: border-color .15s ease, color .15s ease;
}
.color-harmony-preset:hover {
  border-color: rgba(0, 210, 190, .45);
  color: var(--text-strong);
}
.color-harmony-preset-chip {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .2);
  flex-shrink: 0;
}
.color-harmony-quick-actions {
  margin-top: .65rem;
}
.color-harmony-contrast {
  margin: .65rem 0 0;
  padding: .5rem .65rem;
  font-size: .72rem;
  line-height: 1.45;
  color: var(--text-dim);
  border-radius: 8px;
  background: rgba(0, 210, 190, .06);
  border: 1px solid rgba(0, 210, 190, .15);
}
.color-harmony-native-label,
.color-harmony-hex-label,
.color-harmony-slider-label {
  display: grid;
  gap: .3rem;
  font-size: .75rem;
  color: var(--text-dim);
}
.color-harmony-native {
  width: 100%;
  height: 40px;
  padding: 0;
  border: 1px solid var(--border-light);
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
}
.color-harmony-hex { font-size: .85rem; }
.color-harmony-slider-label input[type="range"] { width: 100%; }
.color-harmony-swatches-lead {
  font-size: .78rem;
  color: var(--petronas);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin: 0 0 .65rem;
}
.color-harmony-swatches {
  display: grid;
  gap: .5rem;
}
.color-harmony-swatch-btn {
  display: flex;
  align-items: center;
  gap: .75rem;
  width: 100%;
  padding: .55rem .65rem;
  border: 1px solid var(--border-light);
  border-radius: 10px;
  background: var(--bg-card-solid);
  color: inherit;
  cursor: pointer;
  text-align: left;
  transition: border-color .15s ease, transform .15s ease;
}
.color-harmony-swatch-btn:hover {
  border-color: var(--petronas);
  transform: translateY(-1px);
}
.color-harmony-swatch-color {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.15);
  flex-shrink: 0;
}
.color-harmony-swatch-meta {
  display: grid;
  gap: .15rem;
  font-size: .8rem;
}
.color-harmony-swatch-meta strong { color: var(--text-strong); }
.color-harmony-swatch-sub {
  font-size: .72rem;
  color: var(--text-ghost);
  line-height: 1.35;
}
.color-harmony-swatch-hex {
  font-size: .78rem;
  color: var(--text-dim);
  font-family: ui-monospace, monospace;
}
.color-harmony-swatch-card[data-harmony-slot="1"] .color-harmony-swatch-btn {
  border-color: rgba(0, 210, 190, .35);
}
.color-harmony-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .85rem;
}
.color-harmony-footnote {
  margin: .75rem 0 0;
  font-size: .75rem;
  color: var(--text-ghost);
  line-height: 1.5;
}
.color-harmony-page-kicker {
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--petronas);
  margin-bottom: .35rem;
}
.color-harmony-page-h1 {
  font-size: clamp(1.6rem, 4vw, 2.2rem);
  margin: 0 0 .75rem;
  text-transform: uppercase;
}
.color-harmony-page-lead {
  color: var(--text-dim);
  line-height: 1.65;
  margin-bottom: 1.5rem;
  max-width: 720px;
}
.color-harmony-page {
  overflow: visible;
}
.color-harmony-page-card {
  padding: 1.25rem;
  overflow: visible;
}
.color-harmony-tool--page .color-harmony-panel {
  overflow: visible;
}
.color-harmony-tool--page .color-harmony-layout {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
}
.color-harmony-wheel-col--sticky-page {
  position: sticky;
  top: calc(var(--site-header-offset-h) + var(--site-top-stack-h) + 30px);
  align-self: start;
  z-index: 3;
}
.color-harmony-page-tips {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border-light);
}
.color-harmony-page-tips-title {
  font-size: 1rem;
  margin: 0 0 .75rem;
  color: var(--petronas);
}
.color-harmony-page-tips-list {
  color: #ffffff99;
  font-size: .9rem;
  line-height: 1.65;
  margin: 0;
  padding-left: 1.2rem;
}
@media (max-width: 768px) {
  .color-harmony-layout,
  .color-harmony-tool--page .color-harmony-layout {
    grid-template-columns: 1fr;
  }
  .color-harmony-wheel-col,
  .color-harmony-swatches-col {
    grid-column: 1;
    grid-row: auto;
  }
  .color-harmony-wheel-col {
    position: static;
    top: auto;
  }
  .color-harmony-wheel-col--sticky-page {
    position: sticky;
    top: calc(var(--site-header-offset-h) + var(--site-top-stack-h) + 12px);
    z-index: 3;
  }
}

/* Admin ? g?n?rateur de descriptions produits */
.admin-desc-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-bottom: 1rem;
}
.admin-desc-tab {
  border: 1px solid #ffffff18;
  background: #ffffff06;
  color: #ffffffaa;
  padding: .45rem .85rem;
  border-radius: 8px;
  font-size: .82rem;
  cursor: pointer;
}
.admin-desc-tab.is-active {
  border-color: rgba(0, 210, 190, .45);
  color: var(--petronas);
  background: rgba(0, 210, 190, .08);
}
.admin-desc-panel[hidden] { display: none !important; }
.admin-desc-layout { gap: 1.25rem; align-items: start; }
.admin-desc-card { padding: 1.25rem; }
.admin-desc-card-title { font-size: 1rem; margin: 0 0 .5rem; }
.admin-desc-hint {
  font-size: .82rem;
  color: #ffffff66;
  margin: 0 0 1rem;
  line-height: 1.45;
}
.admin-desc-hint code {
  color: var(--petronas);
  font-size: .78rem;
}
.admin-desc-tag-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-bottom: .75rem;
}
.gxs-rich-editor--desc .gxs-rich-editor-surface {
  min-height: 280px;
  font-size: .9rem;
  line-height: 1.55;
}
.gxs-rich-editor--desc .gxs-rich-editor-surface code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .82em;
  background: rgba(0, 0, 0, 0.06);
  padding: .1em .35em;
  border-radius: 4px;
}
.admin-desc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1rem;
}
.admin-desc-preview-box {
  margin-top: 1rem;
  padding: 1rem;
  border-radius: 10px;
  border: 1px solid #ffffff14;
  background: #ffffff05;
  min-height: 160px;
  font-size: .88rem;
  line-height: 1.55;
  color: #ffffffcc;
}
.admin-desc-preview-name { margin: 0 0 .75rem; color: #ffffff99; font-size: .8rem; }
.admin-desc-preview-text {
  white-space: normal;
}
.admin-desc-preview-text.product-page-description {
  color: #ffffffcc;
  font-size: .88rem;
}
.admin-desc-error { color: #ff6b8a; font-size: .85rem; }
.admin-desc-pool-row,
.admin-desc-keyword-row,
.admin-desc-synonym-row {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ffffff10;
}
.admin-desc-pool-head,
.admin-desc-keyword-head {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: end;
  margin-bottom: .5rem;
}
.admin-desc-pool-head .admin-desc-pool-name { flex: 1; min-width: 140px; }
.admin-desc-checkline {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .88rem;
  margin-bottom: .5rem;
}
.admin-desc-result-list {
  margin: 0;
  padding-left: 1.2rem;
  font-size: .9rem;
  line-height: 1.7;
}

.admin-desc-rules-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.admin-desc-rules-option {
  display: block;
  margin-bottom: 1.25rem;
}
.admin-desc-rules-list {
  display: grid;
  gap: .75rem;
}
.admin-desc-rule-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1rem;
  border-color: #ffffff14;
}
.admin-desc-rule-card-main {
  flex: 1;
  min-width: 0;
  cursor: pointer;
  border-radius: 6px;
  padding: .15rem .25rem;
  margin: -.15rem -.25rem;
  transition: background .15s ease;
}
.admin-desc-rule-card-main:hover,
.admin-desc-rule-card-main:focus-visible {
  background: #ffffff08;
  outline: none;
}
.admin-desc-rules-home-card {
  max-width: 56rem;
}
.admin-desc-view[hidden] {
  display: none !important;
}
.admin-desc-rule-editor-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem 1.25rem;
  margin-bottom: 1.25rem;
}
.admin-desc-rule-editor-title {
  margin: 0 0 .25rem;
  font-size: 1.15rem;
}
.admin-desc-rule-editor-sub {
  margin: 0;
}
.admin-desc-rule-sections {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 56rem;
  margin-bottom: 1rem;
}
.admin-desc-rule-section {
  padding: 1.1rem 1.25rem;
}
.admin-desc-rule-section-title {
  margin: 0 0 .85rem;
  font-size: .95rem;
  color: var(--cyan);
}
.admin-desc-rule-section .admin-cat-picker {
  max-height: 280px;
  overflow: auto;
}
.admin-desc-rule-editor-foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .5rem;
  max-width: 56rem;
  padding: 1rem 0 1.5rem;
  position: sticky;
  bottom: 0;
  background: linear-gradient(180deg, transparent 0%, var(--bg, #0a0f14) 35%);
  z-index: 2;
}
.admin-desc-rule-post-save {
  max-width: 56rem;
  margin-top: 1rem;
  padding: 1.1rem 1.25rem;
}
.admin-desc-global-config-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.admin-desc-ai-details > summary::-webkit-details-marker {
  display: none;
}
.admin-desc-ai-details[open] > summary {
  margin-bottom: 0;
}
#desc_rule_editor_error[hidden] {
  display: none !important;
}
#desc_rule_editor_error {
  max-width: 56rem;
  color: #ffb4d8;
}

/* ??? Admin traductions ??? */
.admin-trad-lang-list {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  margin-top: 1rem;
}
.admin-trad-lang-row.is-locked {
  opacity: .85;
}
.admin-trad-interface-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-bottom: 1.25rem;
}
.admin-trad-locale-pills {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.admin-trad-locale-pill {
  display: inline-flex;
  align-items: center;
  padding: .35rem .7rem;
  border-radius: 999px;
  border: 1px solid #ffffff20;
  font-size: .78rem;
  color: #ffffffb0;
  text-decoration: none;
}
.admin-trad-locale-pill.is-active {
  border-color: var(--petronas);
  color: var(--petronas);
  background: #00d2be12;
}
.admin-trad-ui-group {
  margin-top: 1rem;
  border: 1px solid #ffffff10;
  border-radius: 8px;
  padding: .65rem .85rem;
}
.admin-trad-interface-card {
  max-width: none;
}
.admin-trad-ui-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: .75rem 1rem;
  margin: 1rem 0;
}
.admin-trad-ui-search-wrap {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  min-width: min(100%, 22rem);
}
.admin-trad-ui-search {
  width: 100%;
}
.admin-trad-ui-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.admin-trad-ui-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: 1rem;
  padding: .75rem;
  border: 1px solid #ffffff10;
  border-radius: 10px;
  background: #00000022;
}
.admin-trad-ui-nav-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .28rem .6rem;
  border-radius: 999px;
  border: 1px solid #ffffff18;
  font-size: .74rem;
  color: #ffffffb8;
  text-decoration: none;
}
.admin-trad-ui-nav-link:hover {
  border-color: var(--petronas);
  color: var(--petronas);
}
.admin-trad-ui-nav-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  padding: 0 .3rem;
  border-radius: 999px;
  background: #ffffff12;
  font-size: .68rem;
  color: #ffffff90;
}
.admin-trad-ui-groups {
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.admin-trad-ui-group-card {
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.admin-trad-ui-group-card[open] {
  border-color: #00d2be30;
}
.admin-trad-ui-group-card-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .85rem 1rem;
  cursor: pointer;
  list-style: none;
}
.admin-trad-ui-group-card-summary::-webkit-details-marker {
  display: none;
}
.admin-trad-ui-group-card-title {
  font-size: .95rem;
  color: var(--cyan);
}
.admin-trad-ui-group-count {
  font-size: .72rem;
  color: #ffffff80;
  white-space: nowrap;
}
.admin-trad-ui-group-card .admin-trad-ui-table-wrap {
  padding: 0 1rem 1rem;
  margin-top: 0;
}
.admin-trad-ui-textarea {
  min-height: 4.5rem;
  resize: vertical;
  width: 100%;
}
.admin-trad-ui-form-actions {
  position: sticky;
  bottom: 0;
  z-index: 2;
  margin-top: 1rem;
  padding: .85rem 0 .25rem;
  background: linear-gradient(180deg, transparent, #0b0f14 28%);
}
.admin-trad-ui-group-title {
  cursor: pointer;
  font-size: .9rem;
  color: var(--cyan);
  margin: 0;
}
.admin-trad-ui-table-wrap {
  overflow-x: auto;
  margin-top: .75rem;
}
.admin-trad-ui-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .85rem;
}
.admin-trad-ui-table th,
.admin-trad-ui-table td {
  padding: .5rem .65rem;
  border-bottom: 1px solid #ffffff10;
  vertical-align: top;
}
.admin-trad-ui-table th {
  text-align: left;
  color: #ffffff90;
  font-weight: 600;
}
.admin-trad-ui-key code {
  display: block;
  font-size: .75rem;
  margin-bottom: .2rem;
}
.admin-trad-ui-ref {
  color: #ffffff80;
  max-width: 14rem;
}
.admin-trad-coverage-list {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
}
.admin-trad-coverage-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem .65rem;
  padding: .45rem 0;
  border-bottom: 1px solid #ffffff0c;
}
.admin-trad-coverage-list strong {
  margin-left: auto;
  color: #fff;
}
.admin-trad-coverage-pct {
  font-size: .78rem;
  color: var(--petronas);
  min-width: 2.5rem;
  text-align: right;
}
.admin-trad-coverage-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.admin-desc-tabs .admin-desc-tab {
  text-decoration: none;
}
.admin-desc-rule-card-title {
  margin: 0 0 .35rem;
  font-size: .95rem;
  color: #fff;
}
.admin-desc-rule-card-meta {
  margin: 0 0 .2rem;
  font-size: .82rem;
  color: #ffffff80;
}
.admin-desc-rule-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
}
.admin-desc-rule-apply-menu {
  position: relative;
}
.admin-desc-rule-apply-menu > summary {
  list-style: none;
  cursor: pointer;
}
.admin-desc-rule-apply-menu > summary::-webkit-details-marker {
  display: none;
}
.admin-desc-rule-apply-menu-panel {
  position: absolute;
  right: 0;
  top: calc(100% + .35rem);
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  min-width: 11rem;
  padding: .5rem;
  border-radius: 8px;
  background: #12121a;
  border: 1px solid #ffffff18;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .45);
}
.admin-desc-rule-apply-menu-panel .btn {
  width: 100%;
  justify-content: center;
}

body.admin-desc-rule-modal-open {
  overflow: hidden;
}
.admin-desc-rule-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 12050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(0, 0, 0, .78);
}
.admin-desc-rule-modal-overlay[hidden] {
  display: none !important;
}
.admin-desc-rule-modal {
  width: min(100%, 820px);
  max-height: min(92vh, 900px);
  overflow: auto;
  padding: 1.25rem 1.35rem 1rem;
}
.admin-desc-rule-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.admin-desc-rule-modal-title {
  margin: 0 0 .25rem;
  font-size: 1.05rem;
}
.admin-desc-rule-modal-sub {
  margin: 0;
}
.admin-desc-rule-modal-close {
  border: 0;
  background: transparent;
  color: #ffffff99;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
  padding: 0 .15rem;
}
.admin-desc-rule-modal-close:hover {
  color: #fff;
}
.admin-desc-rule-steps {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
}
.admin-desc-rule-steps li {
  font-size: .75rem;
  padding: .35rem .65rem;
  border-radius: 999px;
  border: 1px solid #ffffff18;
  color: #ffffff80;
}
.admin-desc-rule-steps li.is-active {
  border-color: rgba(0, 210, 190, .45);
  color: var(--petronas);
  background: rgba(0, 210, 190, .08);
}
.admin-desc-rule-steps li.is-done {
  border-color: rgba(0, 210, 190, .25);
  color: #ffffffaa;
}
.admin-desc-rule-step .admin-cat-picker {
  max-height: 280px;
}
.admin-desc-rule-model-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: 1rem;
}
.admin-desc-rule-model-tab {
  border: 1px solid #ffffff18;
  background: transparent;
  color: #ffffffaa;
  border-radius: 999px;
  padding: .35rem .75rem;
  font-size: .78rem;
  cursor: pointer;
}
.admin-desc-rule-model-tab.is-active {
  color: #0a0a0f;
  background: var(--petronas);
  border-color: var(--petronas);
}
.admin-desc-rule-model-panel[hidden] {
  display: none !important;
}
.admin-desc-rule-advanced {
  margin-top: 1rem;
  padding-top: .75rem;
  border-top: 1px solid #ffffff12;
}
.admin-desc-rule-advanced > summary {
  cursor: pointer;
  margin-bottom: .65rem;
}
.admin-desc-rule-pools {
  display: grid;
  gap: .65rem;
  max-height: 340px;
  overflow: auto;
}
.admin-desc-rule-pool-block {
  border: 1px solid #ffffff12;
  border-radius: 8px;
  padding: .55rem .75rem;
  background: rgba(0, 0, 0, .18);
}
.admin-desc-rule-pool-block > summary {
  cursor: pointer;
  font-size: .82rem;
}
.admin-desc-rule-pool-lines {
  margin: .55rem 0 0;
  padding-left: 1.1rem;
  color: #ffffffb3;
  font-size: .82rem;
  line-height: 1.45;
}
.admin-desc-rule-template-pre {
  margin: .55rem 0 0;
  padding: .65rem;
  border-radius: 6px;
  background: rgba(0, 0, 0, .28);
  white-space: pre-wrap;
  word-break: break-word;
  font-size: .74rem;
  color: #d4f5ef;
  max-height: 160px;
  overflow: auto;
}
.admin-desc-rule-template-choice {
  border: 0;
  margin: 0 0 .75rem;
  padding: 0;
}
.admin-desc-rule-preset-grid {
  display: grid;
  gap: .55rem;
  margin: .65rem 0 .85rem;
}
.admin-desc-rule-preset-card {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  padding: .75rem .85rem;
  border: 1px solid #ffffff14;
  border-radius: 10px;
  cursor: pointer;
}
.admin-desc-rule-preset-card:has(input:checked) {
  border-color: rgba(0, 210, 190, .45);
  background: rgba(0, 210, 190, .06);
}
.admin-desc-rule-preset-card input {
  margin-top: .2rem;
  flex-shrink: 0;
}
.admin-desc-rule-preset-card-body {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  min-width: 0;
}
.admin-desc-rule-preset-card-body strong {
  font-size: .86rem;
  color: #fff;
}
.admin-desc-rule-preset-card-body span {
  font-size: .78rem;
  color: #ffffff80;
  line-height: 1.4;
}
.admin-desc-rule-recap {
  padding: .85rem 1rem;
  border: 1px solid #ffffff14;
  border-radius: 10px;
  background: #ffffff05;
  margin-bottom: .75rem;
}
.admin-desc-rule-recap-list {
  margin: 0;
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: .45rem .75rem;
  font-size: .86rem;
}
.admin-desc-rule-recap-list dt {
  margin: 0;
  color: #ffffff80;
}
.admin-desc-rule-recap-list dd {
  margin: 0;
  color: #ffffffd9;
}
.admin-desc-rule-success-title {
  margin: 0 0 .35rem;
  font-size: .95rem;
  color: var(--petronas);
}
.admin-desc-rule-success-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1rem;
}
.admin-desc-rule-modal-foot {
  display: flex;
  justify-content: flex-end;
  gap: .5rem;
  margin-top: 1rem;
  padding-top: .75rem;
  border-top: 1px solid #ffffff10;
}
.admin-desc-rule-modal-foot[hidden],
#desc_rule_modal_error[hidden],
#desc_rule_apply_result[hidden] {
  display: none !important;
}
#desc_rule_apply_result {
  color: var(--petronas);
}

/* ??? Espace Initi? (compte) ??? */
.initie-dash-page { max-width: 1080px; }
.initie-dash-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-bottom: 1.5rem;
}
.initie-dash-kicker {
  font-size: .68rem;
  letter-spacing: .22em;
  color: var(--petronas);
  margin-bottom: .35rem;
}
.initie-dash-title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  margin: 0;
  line-height: 1.15;
}
.initie-dash-sub {
  margin: .5rem 0 0;
  font-size: .9rem;
  color: #ffffff80;
}
.initie-dash-sub strong { color: #fff; }
.initie-dash-tabs-root { margin-bottom: 1.25rem; }
.initie-dash-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  padding-bottom: .65rem;
}
.initie-dash-tab {
  appearance: none;
  border: 1px solid rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .03);
  color: #ffffff88;
  font-family: var(--font-display, inherit);
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: .65rem 1.05rem;
  border-radius: 8px;
  cursor: pointer;
  transition: color .2s, border-color .2s, background .2s, box-shadow .2s;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}
.initie-dash-tab:hover {
  color: #fff;
  border-color: rgba(0, 210, 190, .35);
}
.initie-dash-tab.is-active {
  color: #fff;
  border-color: var(--petronas);
  background: rgba(0, 210, 190, .12);
  box-shadow: 0 0 0 1px rgba(0, 210, 190, .2);
}
.initie-dash-tab-badge {
  font-size: .65rem;
  font-family: var(--font-body, inherit);
  text-transform: none;
  letter-spacing: 0;
  padding: .12rem .45rem;
  border-radius: 999px;
  background: rgba(0, 210, 190, .2);
  color: var(--petronas);
  font-weight: 600;
  max-width: min(14rem, 42vw);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  vertical-align: middle;
}
.initie-dash-tab-badge--muted {
  background: rgba(255, 255, 255, .08);
  color: #ffffff90;
}
.initie-dash-tab-panels { min-height: 120px; }
.initie-dash-tab-panel { display: none; }
.initie-dash-tab-panel.is-active { display: block; }
.initie-dash-tab-panel .initie-share-panel { margin-top: 1rem; }
.initie-dash-hero {
  position: relative;
  overflow: hidden;
  padding: 0;
  margin-bottom: 1.25rem;
  border-color: rgba(0, 210, 190, 0.28);
  background: linear-gradient(145deg, rgba(0, 210, 190, 0.08), rgba(139, 92, 246, 0.1));
}
.initie-dash-hero-glow {
  position: absolute;
  top: -40%;
  right: -10%;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(0, 210, 190, 0.22), transparent 68%);
  pointer-events: none;
}
.initie-dash-marquee {
  border-bottom: 1px solid rgba(0, 210, 190, 0.2);
  background: rgba(0, 0, 0, 0.35);
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.initie-dash-marquee-track {
  display: flex;
  width: max-content;
  animation: initieMarqueeScroll 32s linear infinite;
}
.initie-dash-marquee-track:hover { animation-play-state: paused; }
.initie-dash-marquee-group {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  padding: .55rem 0;
}
.initie-dash-marquee-item {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  white-space: nowrap;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .06em;
  color: #ffffffd9;
  padding: 0 1.1rem;
}
.initie-dash-marquee-tag {
  font-size: .58rem;
  letter-spacing: .18em;
  color: var(--petronas);
  padding: .12rem .35rem;
  border: 1px solid rgba(0, 210, 190, 0.4);
  border-radius: 3px;
}
.initie-marquee-countdown {
  font-family: Orbitron, sans-serif;
  font-size: .85rem;
  font-weight: 700;
  color: var(--warn);
  font-variant-numeric: tabular-nums;
}
.initie-marquee-countdown.is-expired { color: #fca5a5; }
.initie-dash-marquee-sep {
  width: 1px;
  height: 14px;
  background: rgba(0, 210, 190, 0.25);
  flex-shrink: 0;
}
@keyframes initieMarqueeScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.initie-countdown-hero {
  padding: 2rem 1.25rem 1.75rem;
  text-align: center;
  position: relative;
  z-index: 1;
}
.initie-countdown-hero.is-expired .initie-countdown-blocks { opacity: .65; }
.initie-countdown-hero-label {
  font-size: clamp(.72rem, 2vw, .88rem);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--warn-soft);
  margin-bottom: 1.35rem;
}
.initie-countdown-blocks {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem .75rem;
  flex-wrap: wrap;
}
.initie-countdown-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: clamp(5rem, 16vw, 8.5rem);
  padding: 1rem .75rem .7rem;
  border-radius: 18px;
  background: rgba(0, 0, 0, 0.52);
  border: 1px solid rgba(253, 230, 138, 0.35);
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.45),
    0 0 32px rgba(253, 230, 138, 0.08);
}
.initie-countdown-digit {
  font-size: clamp(3.25rem, 14vw, 7rem);
  line-height: .92;
  color: var(--warn);
  font-variant-numeric: tabular-nums;
  text-shadow:
    0 0 28px rgba(253, 230, 138, 0.45),
    0 0 64px rgba(139, 92, 246, 0.2);
  animation: initieDigitPulse 1s ease-in-out infinite;
}
.initie-countdown-block:nth-child(4) .initie-countdown-digit { animation-delay: .15s; }
.initie-countdown-block:nth-child(6) .initie-countdown-digit { animation-delay: .3s; }
.initie-countdown-block:nth-child(8) .initie-countdown-digit { animation-delay: .45s; }
.initie-countdown-unit {
  font-size: clamp(.62rem, 1.6vw, .78rem);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #ffffff80;
  margin-top: .5rem;
  font-weight: 600;
}
.initie-countdown-colon {
  font-size: clamp(2.5rem, 9vw, 5rem);
  color: rgba(253, 230, 138, 0.7);
  line-height: 1;
  padding-bottom: 1.1rem;
  text-shadow: 0 0 20px rgba(253, 230, 138, 0.25);
}
.initie-countdown-deadline {
  margin: 1.35rem 0 0;
  font-size: .92rem;
  color: #ffffff99;
}
.initie-countdown-deadline strong { color: var(--petronas); }
.initie-countdown-bonus { color: #ffffff66; font-size: .82rem; }
.initie-countdown-expired-msg {
  font-size: clamp(1.5rem, 5vw, 2.25rem);
  color: #fca5a5;
  padding: .75rem 0;
}
@keyframes initieDigitPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}
.initie-dash-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  margin-bottom: 1.25rem;
}
.initie-stat {
  padding: 1rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.initie-stat--accent {
  border-color: rgba(0, 210, 190, 0.35);
  background: linear-gradient(160deg, rgba(0, 210, 190, 0.1), rgba(139, 92, 246, 0.08));
}
.initie-stat--gift {
  border-color: rgba(167, 139, 250, 0.35);
  background: linear-gradient(160deg, rgba(167, 139, 250, 0.12), rgba(0, 210, 190, 0.06));
}
.initie-bonus-tiers-summary {
  margin: 0 0 .85rem;
  font-size: .84rem;
  line-height: 1.55;
  color: #ffffffb3;
}
.initie-bonus-tiers-summary strong {
  color: var(--petronas);
}
.initie-palier-track {
  margin: 0 0 1rem;
  padding: .85rem .9rem;
  border-radius: 14px;
  border: 1px solid rgba(0, 210, 190, 0.22);
  background: rgba(0, 0, 0, 0.22);
}
.initie-palier-track-inner {
  display: flex;
  flex-wrap: nowrap;
  gap: .55rem;
  overflow-x: auto;
  padding-bottom: .35rem;
  scrollbar-width: thin;
}
.initie-palier-step {
  flex: 1 1 0;
  min-width: 88px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .25rem;
  text-align: center;
  padding: .45rem .35rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
}
.initie-palier-step.is-unlocked {
  border-color: rgba(0, 210, 190, 0.4);
  background: rgba(0, 210, 190, 0.1);
}
.initie-palier-step.is-next {
  border-color: rgba(167, 139, 250, 0.55);
  box-shadow: 0 0 0 2px rgba(167, 139, 250, 0.2);
}
.initie-palier-dot {
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .72rem;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}
.initie-palier-step.is-unlocked .initie-palier-dot {
  background: rgba(0, 210, 190, 0.25);
  color: var(--petronas);
}
.initie-palier-step.is-next .initie-palier-dot {
  background: rgba(167, 139, 250, 0.22);
  color: #fff;
}
.initie-palier-sales {
  font-size: .62rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #ffffff80;
}
.initie-palier-label {
  font-size: .72rem;
  line-height: 1.3;
  color: #ffffffcc;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.initie-palier-track-meta {
  margin: .65rem 0 0;
  font-size: .78rem;
  color: #ffffff80;
}
.initie-palier-track-meta strong {
  color: #fff;
}
.home-initie-perks .initie-bonus-tiers-summary {
  margin: 0;
}
.initie-steps .initie-bonus-tiers-summary {
  display: inline;
  margin: 0;
}
.initie-bonus-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .65rem;
}
.initie-bonus-item {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  padding: .75rem .85rem;
  border-radius: 12px;
  border: 1px solid #ffffff12;
  background: rgba(255, 255, 255, 0.03);
}
.initie-bonus-item.is-unlocked {
  border-color: rgba(0, 210, 190, 0.35);
  background: rgba(0, 210, 190, 0.08);
}
.initie-bonus-item.is-next {
  border-color: rgba(167, 139, 250, 0.55);
  box-shadow: 0 0 0 2px rgba(167, 139, 250, 0.22), 0 12px 32px rgba(139, 92, 246, 0.14);
  animation: initieNextPulse 2.4s ease-in-out infinite;
}
@keyframes initieNextPulse {
  0%, 100% { box-shadow: 0 0 0 2px rgba(167, 139, 250, 0.22), 0 12px 32px rgba(139, 92, 246, 0.14); }
  50% { box-shadow: 0 0 0 2px rgba(0, 210, 190, 0.35), 0 14px 36px rgba(0, 210, 190, 0.12); }
}
.initie-stat--next-palier {
  text-decoration: none;
  color: inherit;
  transition: transform .2s ease, border-color .2s ease;
}
.initie-stat--next-palier:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 210, 190, 0.45);
}
.initie-next-palier-banner {
  margin: 0 0 1rem;
  padding: .65rem .85rem;
  border-radius: 10px;
  background: rgba(167, 139, 250, 0.1);
  border: 1px solid rgba(167, 139, 250, 0.35);
  font-size: .88rem;
  color: #ffffffb3;
}
.initie-next-palier-banner strong { color: #fff; }
.initie-bonus-special-tag {
  display: inline-block;
  margin-top: .35rem;
  font-size: .58rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--petronas);
  padding: .15rem .4rem;
  border: 1px solid rgba(0, 210, 190, 0.4);
  border-radius: 4px;
}
.initie-bonus-icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.35);
  font-size: .95rem;
}
.initie-bonus-thumb {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(0, 210, 190, 0.25);
  background: rgba(0, 0, 0, 0.35);
  display: block;
}
.initie-bonus-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.initie-bonus-title-link {
  display: block;
  font-size: .92rem;
  color: #fff;
  margin-bottom: .15rem;
  text-decoration: none;
}
.initie-bonus-title-link:hover {
  color: var(--petronas);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.initie-bonus-item.is-unlocked .initie-bonus-icon {
  background: rgba(0, 210, 190, 0.2);
  color: var(--petronas);
}
.initie-bonus-body { flex: 1; min-width: 0; }
.initie-bonus-title {
  display: block;
  font-size: .92rem;
  color: #fff;
  margin-bottom: .15rem;
}
.initie-bonus-threshold {
  font-size: .72rem;
  letter-spacing: .04em;
  color: #ffffff55;
}
.initie-bonus-desc {
  margin: .35rem 0 0;
  font-size: .8rem;
  color: #ffffff80;
  line-height: 1.45;
}
.initie-bonus-remaining {
  display: inline-block;
  margin-top: .35rem;
  font-size: .72rem;
  color: var(--warn);
}
.initie-bonus-unlocked {
  display: inline-block;
  margin-top: .35rem;
  font-size: .72rem;
  color: var(--petronas);
  font-weight: 600;
}
.initie-bonus-icon--promo {
  color: var(--warn);
  font-weight: 700;
  font-size: 1.1rem;
}
.initie-bonus-item.is-unlocked .initie-bonus-icon--promo {
  color: var(--petronas);
  font-size: .95rem;
}
.initie-bonus-icon--kit {
  color: var(--petronas);
  font-size: 1rem;
}
.initie-bonus-item.is-unlocked .initie-bonus-icon--kit {
  color: var(--petronas);
  font-size: .95rem;
}
.initie-bonus-promo-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin-top: .55rem;
}
.initie-bonus-promo-code {
  font-size: .95rem;
  letter-spacing: .12em;
  padding: .4rem .75rem;
}
.initie-bonus-promo-hint {
  margin: .4rem 0 0;
  font-size: .75rem;
  color: #ffffff55;
}
.initie-bonus-promo-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) auto minmax(0, 1fr) minmax(0, 1fr);
  gap: .45rem;
  align-items: center;
}
.initie-bonus-promo-grid--admin {
  grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr);
}
.initie-bonus-promo-admin-hint {
  margin: 0 0 .45rem;
  font-size: .75rem;
  color: #ffffff66;
  line-height: 1.45;
}
@media (max-width: 900px) {
  .initie-bonus-promo-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.initie-stat-label {
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #ffffff66;
}
.initie-stat-value {
  font-size: 1.65rem;
  line-height: 1.1;
  color: #fff;
}
.initie-stat-value--gift-name {
  font-size: clamp(1rem, 2.6vw, 1.25rem);
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--petronas, #00d2be);
}
.initie-stat--next-palier .initie-stat-hint strong {
  color: #fff;
}
.initie-stat-hint {
  font-size: .75rem;
  color: #ffffff55;
  line-height: 1.4;
}
.initie-dash-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
  align-items: stretch;
}
.initie-dash-panel--bonus {
  min-height: 0;
}
.initie-share-panel {
  margin-bottom: 1rem;
}
.initie-dash-panel { padding: 1.25rem 1.35rem; }
.initie-panel-title {
  font-size: 1rem;
  margin: 0 0 .75rem;
}
.initie-panel-lead {
  font-size: .9rem;
  color: #ffffff99;
  line-height: 1.55;
  margin: 0 0 1rem;
}
.initie-panel-lead strong { color: var(--petronas); }
.initie-panel-meta {
  font-size: .78rem;
  color: #ffffff55;
  line-height: 1.55;
  margin: .75rem 0 0;
}
.initie-code-row {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
}
.initie-code-display {
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  letter-spacing: .14em;
  color: var(--petronas);
  padding: .55rem 1rem;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(0, 210, 190, 0.45);
}
.initie-code-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1rem;
}
.initie-referral-code-form {
  margin-bottom: .75rem;
}
.initie-referral-code-input {
  min-width: min(100%, 14rem);
  text-transform: uppercase;
}
.initie-referral-code-hint.is-ok {
  color: var(--petronas);
}
.initie-referral-code-hint.is-error {
  color: var(--magenta);
}
.initie-progress-head {
  display: flex;
  justify-content: space-between;
  font-size: .9rem;
  margin-bottom: .5rem;
}
.initie-progress-bar {
  height: 10px;
  background: #ffffff14;
  border-radius: 6px;
  overflow: hidden;
}
.initie-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--petronas), var(--violet));
  transition: width .4s ease;
}
.initie-progress-msg {
  font-size: .88rem;
  color: #ffffff80;
  margin: .85rem 0 0;
  line-height: 1.5;
}
.initie-progress-msg--ok {
  color: var(--petronas);
  font-weight: 600;
}
.initie-perks {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  display: grid;
  gap: .45rem;
}
.initie-perks li {
  font-size: .82rem;
  color: #ffffff80;
  padding-left: .85rem;
  position: relative;
}
.initie-perks li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .55rem;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--petronas);
}
.initie-perks span { color: #fff; font-weight: 600; }
.initie-orders-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.initie-orders-count {
  font-size: .78rem;
  color: #ffffff55;
}
.initie-orders-empty {
  text-align: center;
  padding: 1.5rem .5rem;
  color: #ffffff80;
}
.initie-orders-table-wrap { overflow-x: auto; }
.initie-orders-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .85rem;
}
.initie-orders-table th,
.initie-orders-table td {
  padding: .65rem .5rem;
  text-align: left;
  border-bottom: 1px solid #ffffff10;
}
.initie-orders-table th {
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #ffffff55;
  font-weight: 600;
}
.initie-order-status {
  font-size: .75rem;
  color: #ffffff55;
}
.initie-pay-badge {
  display: inline-block;
  font-size: .72rem;
  padding: .15rem .4rem;
  border-radius: 5px;
  background: #ffffff10;
  color: #ffffff99;
}
.initie-pay-badge--paid { background: #00d4aa22; color: var(--petronas); }
.initie-pay-badge--partial { background: rgba(56, 189, 248, 0.15); color: var(--cyan); }
.initie-pay-badge--pending { background: var(--warn-bg); color: var(--warn); }
@media (max-width: 900px) {
  .initie-dash-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .initie-dash-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .initie-dash-stats { grid-template-columns: 1fr; }
  .initie-dash-tab { flex: 1 1 calc(50% - .25rem); justify-content: center; text-align: center; }
  .initie-countdown-hero { padding: 1.5rem .75rem 1.35rem; }
  .initie-countdown-colon {
    font-size: clamp(2rem, 11vw, 3rem);
    padding-bottom: .85rem;
  }
  .initie-countdown-block {
    min-width: clamp(4.25rem, 20vw, 5.5rem);
    padding: .75rem .45rem .55rem;
  }
  .initie-countdown-digit {
    font-size: clamp(2.75rem, 18vw, 4.25rem);
  }
}
@media (prefers-reduced-motion: reduce) {
  .initie-dash-marquee-track { animation: none; flex-wrap: wrap; width: 100%; }
  .initie-dash-marquee-group[aria-hidden="true"] { display: none; }
  .initie-countdown-digit { animation: none; }
}

/* Liens texte ? espaces client (fond sombre, pas de violet) */
:where(
  .account-page,
  .loyalty-page,
  .client-project-account,
  .client-project-magazine,
  .initie-profile-page,
  .initie-mag-main,
  .initie-dash-page,
  .graphiste-dash-page,
  .account-donations-page
) a:not(.btn):not([class*="btn-"]):not(.account-quick-link):not(.account-order-main):not(.account-order-action):not(.account-order-pay-btn):not(.home-discover-projects-card):not(.home-discover-projects-slide):not(.initie-profile-product-card) {
  color: var(--client-link);
  text-underline-offset: 2px;
}
:where(
  .account-page,
  .loyalty-page,
  .client-project-account,
  .client-project-magazine,
  .initie-profile-page,
  .initie-mag-main,
  .initie-dash-page,
  .graphiste-dash-page,
  .account-donations-page
) a:not(.btn):not([class*="btn-"]):not(.account-quick-link):not(.account-order-main):not(.account-order-action):not(.account-order-pay-btn):not(.home-discover-projects-card):not(.home-discover-projects-slide):not(.initie-profile-product-card):hover {
  color: var(--client-link-hover);
}
:where(.account-page, .graphiste-dash-page) .chat-box a:not(.btn):not([class*="btn-"]) {
  color: var(--client-link);
  text-decoration: underline;
}
:where(.account-page, .graphiste-dash-page) .chat-box a:not(.btn):not([class*="btn-"]):hover {
  color: var(--client-link-hover);
}

/* ??? Projets clients ??? */
.client-project-badge {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  vertical-align: middle;
  color: var(--violet-bright);
}
.client-project-badge svg {
  width: 1.1em;
  height: 1.1em;
  flex-shrink: 0;
}
.client-project-badge--sm svg { width: .95em; height: .95em; }
.client-project-badge-label {
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.client-project-badge--sm .client-project-badge-label { font-size: .55rem; }
.client-project-magazine-spread--impounded .magazine-hero img,
.client-project-magazine-spread--impounded .magazine-vignette img {
  filter: grayscale(.35) contrast(1.05);
}
.client-project-magazine-body .initie-mag-footer-cta {
  margin-top: 0;
}
.client-project-public-stage {
  position: relative;
  overflow: visible;
}
.client-project-head { margin-bottom: 1.5rem; }
.client-project-head--stamps {
  position: relative;
  min-height: 8rem;
  padding-top: .5rem;
}
.client-project-head--impounded {
  opacity: .92;
}
.client-project-profile-stamps {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 25;
  pointer-events: none;
  overflow: visible;
  min-height: 0;
}
.client-project-public-stamp.initie-profile-stamp--evo {
  top: 4%;
  right: 0;
}
.client-project-public-stamp.initie-profile-stamp--sold {
  top: 28%;
  right: 2%;
}
.initie-profile-stamp--showcase,
.initie-showcase-stamp {
  top: 12%;
  right: 4%;
  transform: rotate(-8deg);
  animation:
    initieShowcaseStampAppear 0.75s cubic-bezier(0.22, 1.2, 0.36, 1) both,
    initieShowcaseStampPulse 3.2s ease-in-out 0.9s infinite;
}
.initie-showcase-stamp-inner {
  display: block;
  padding: .7rem 1.45rem .8rem;
  border: 7px solid var(--petronas, #00d2be);
  color: #9efdf0;
  font-size: clamp(1.85rem, 8vw, 4.75rem);
  line-height: 0.95;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  background: rgba(8, 8, 12, 0.84);
  box-shadow:
    0 0 0 4px rgba(0, 210, 190, 0.22),
    0 16px 36px rgba(0, 0, 0, 0.48);
  text-shadow: 0 0 20px rgba(0, 210, 190, 0.42);
}
@keyframes initieShowcaseStampAppear {
  0% {
    opacity: 0;
    transform: rotate(-18deg) scale(1.4);
    filter: blur(2px);
  }
  70% {
    opacity: 1;
    transform: rotate(-5deg) scale(0.96);
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: rotate(-8deg) scale(1);
  }
}
@keyframes initieShowcaseStampPulse {
  0%, 100% {
    transform: rotate(-8deg) scale(1);
    filter: brightness(1);
  }
  50% {
    transform: rotate(-5deg) scale(1.04);
    filter: brightness(1.14);
  }
}
.initie-profile-stamp--impounded,
.initie-impound-stamp {
  top: 10%;
  right: 3%;
  transform: rotate(-11deg);
  animation:
    initieImpoundStampAppear 0.78s cubic-bezier(0.22, 1.15, 0.36, 1) both,
    initieImpoundStampPulse 3.1s ease-in-out 0.85s infinite;
}
.initie-impound-stamp-inner {
  display: block;
  padding: .7rem 1.35rem .8rem;
  border: 7px solid #facc15;
  color: var(--warn);
  font-size: clamp(1.75rem, 7.5vw, 4.5rem);
  line-height: 0.95;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: center;
  background:
    repeating-linear-gradient(
      -42deg,
      rgba(8, 8, 12, 0.9) 0 12px,
      rgba(250, 204, 21, 0.14) 12px 24px
    ),
    rgba(8, 8, 12, 0.88);
  box-shadow:
    0 0 0 4px rgba(250, 204, 21, 0.24),
    0 16px 36px rgba(0, 0, 0, 0.5);
  text-shadow: 0 0 18px rgba(250, 204, 21, 0.35);
}
@keyframes initieImpoundStampAppear {
  0% {
    opacity: 0;
    transform: rotate(-22deg) scale(1.5);
    filter: blur(2px);
  }
  70% {
    opacity: 1;
    transform: rotate(-8deg) scale(0.96);
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: rotate(-11deg) scale(1);
  }
}
@keyframes initieImpoundStampPulse {
  0%, 100% {
    transform: rotate(-11deg) scale(1);
    filter: brightness(1);
  }
  50% {
    transform: rotate(-8deg) scale(1.04);
    filter: brightness(1.12);
  }
}
.client-project-directory-stamp {
  position: absolute;
  top: .55rem;
  left: .55rem;
  z-index: 2;
  padding: .3rem .55rem .35rem;
  border: 3px solid var(--petronas, #00d2be);
  color: #9efdf0;
  font-size: .58rem;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: rgba(8, 8, 12, 0.88);
  transform: rotate(-10deg);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.45);
  pointer-events: none;
}
.client-project-crime-scene {
  position: relative;
  margin: 0 0 1.5rem;
  border: 3px solid #facc15;
  border-radius: 12px;
  overflow: hidden;
  background:
    repeating-linear-gradient(
      -42deg,
      #111 0 14px,
      #1a1a1a 14px 28px
    );
  box-shadow:
    0 0 0 2px rgba(250, 204, 21, .25),
    0 20px 50px rgba(0, 0, 0, .55);
  animation: clientProjectCrimePulse 3.5s ease-in-out infinite;
}
.client-project-crime-scene-tape {
  display: flex;
  width: 200%;
  white-space: nowrap;
  overflow: hidden;
  background: repeating-linear-gradient(
    105deg,
    #facc15 0 18px,
    #111 18px 36px
  );
  color: #111;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: .45rem 0;
  border-block: 2px solid #111;
}
.client-project-crime-scene-tape--top {
  animation: clientProjectCrimeTape 18s linear infinite;
}
.client-project-crime-scene-tape--bottom {
  animation: clientProjectCrimeTape 22s linear infinite reverse;
}
.client-project-crime-scene-tape-text {
  flex: 0 0 50%;
}
.client-project-crime-scene-core {
  padding: 1.35rem 1rem 1.5rem;
  text-align: center;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(225, 6, 0, .18), transparent 58%),
    rgba(8, 8, 12, .92);
}
.client-project-crime-scene-kicker {
  margin: 0 0 .35rem;
  font-size: .7rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #f87171;
}
.client-project-crime-scene-title {
  margin: 0;
  font-size: clamp(1.75rem, 7vw, 3.25rem);
  line-height: .95;
  letter-spacing: .08em;
  color: #fef08a;
  text-shadow: 0 0 28px rgba(250, 204, 21, .35);
}
.client-project-crime-scene-sub {
  margin: .65rem 0 0;
  color: #ffffff88;
  font-size: .9rem;
}
.client-project-gallery--impounded .client-project-gallery-item img {
  filter: grayscale(.35) contrast(1.05);
}
.client-project-stamp-fieldset {
  margin: 1.25rem 0 0;
  padding: 0;
  border: 0;
}
.client-project-stamp-options {
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.client-project-stamp-option {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  padding: .75rem .85rem;
  border: 1px solid #ffffff14;
  border-radius: 10px;
  background: rgba(255, 255, 255, .02);
  cursor: pointer;
}
.client-project-stamp-option:has(input:checked) {
  border-color: rgba(0, 210, 190, .45);
  background: rgba(0, 210, 190, .06);
}
.client-project-stamp-option input {
  margin-top: .2rem;
  flex-shrink: 0;
}
.client-project-stamp-option-body {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  font-size: .9rem;
}
.client-project-stamp-option-hint {
  color: #ffffff66;
  font-size: .8rem;
  line-height: 1.4;
}
.client-project-list-stamp {
  color: #ffffff55;
}
.client-project-list-showcase {
  color: var(--petronas);
  font-weight: 600;
}
.client-project-list-layout {
  color: #ffffff44;
  font-size: .85em;
}
.client-project-layout-fieldset,
.client-project-showcase-fieldset {
  margin: 1.25rem 0 0;
  padding: 0;
  border: 0;
}
.client-project-layout-options {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
  gap: .55rem;
}
.client-project-layout-option {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  padding: .75rem .85rem;
  border: 1px solid #ffffff14;
  border-radius: 10px;
  background: rgba(255, 255, 255, .02);
  cursor: pointer;
  min-height: 100%;
}
.client-project-layout-option:has(input:checked) {
  border-color: rgba(0, 210, 190, .45);
  background: rgba(0, 210, 190, .06);
}
.client-project-layout-option input {
  margin-top: .2rem;
  flex-shrink: 0;
}
.client-project-layout-option-body {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  font-size: .88rem;
}
.client-project-layout-option-hint {
  color: #ffffff66;
  font-size: .78rem;
  line-height: 1.35;
}
.client-project-layout-preview {
  display: block;
  width: 100%;
  height: 2.5rem;
  border-radius: 6px;
  border: 1px solid #ffffff18;
  background: linear-gradient(135deg, #111 0%, #1a1a24 100%);
  margin-bottom: .15rem;
}
.client-project-layout-preview--magazine_brutal {
  background:
    linear-gradient(90deg, #0d0d12 0 45%, transparent 45%),
    repeating-linear-gradient(-12deg, #00D2BE22 0 4px, transparent 4px 8px);
}
.client-project-layout-preview--magazine_hero {
  background:
    linear-gradient(90deg, #0d0d12 0 38%, #00D2BE33 38% 100%);
}
.client-project-layout-preview--gallery_grid {
  background:
    linear-gradient(90deg, #00D2BE44 0 55%, transparent 55%),
    linear-gradient(#ffffff12 0 0) 60% 0 / 35% 45% no-repeat,
    linear-gradient(#ffffff0a 0 0) 60% 55% / 35% 40% no-repeat;
}
.client-project-layout-preview--gallery_mosaic {
  background:
    linear-gradient(#00D2BE33 0 0) 0 0 / 55% 60% no-repeat,
    linear-gradient(#ffffff14 0 0) 58% 0 / 40% 35% no-repeat,
    linear-gradient(#ffffff0a 0 0) 58% 40% / 40% 55% no-repeat;
}
.client-project-layout-preview--gallery_editorial {
  background:
    linear-gradient(#ffffff14 0 0) 0 10% / 100% 22% no-repeat,
    linear-gradient(#00D2BE22 0 0) 0 42% / 100% 22% no-repeat,
    linear-gradient(#ffffff0a 0 0) 0 74% / 100% 22% no-repeat;
}
.client-project-layout-preview--gallery_filmstrip {
  background:
    repeating-linear-gradient(90deg, #00D2BE33 0 18%, #111 18% 20%, #ffffff14 20% 38%, #111 38% 40%);
}
.client-project-showcase-toggle {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  padding: .85rem 1rem;
  border: 1px solid rgba(0, 210, 190, .25);
  border-radius: 10px;
  background: rgba(0, 210, 190, .04);
}
.client-project-showcase-hint {
  display: block;
  color: #ffffff66;
  font-size: .8rem;
  margin-top: .2rem;
  font-weight: 400;
}
.client-project-showcase-badge {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  vertical-align: middle;
  color: var(--petronas);
  background: rgba(0, 210, 190, .12);
  border: 1px solid rgba(0, 210, 190, .35);
  border-radius: 999px;
  padding: .15rem .5rem;
}
.client-project-showcase-badge svg {
  width: .85em;
  height: .85em;
}
.client-project-showcase-badge-label {
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.client-project-showcase-badge--md .client-project-showcase-badge-label {
  font-size: .62rem;
}
.client-project-body--showcase {
  --client-project-accent: var(--petronas);
}
.client-project-magazine-spread--hero .magazine-hero {
  min-height: min(52vh, 520px);
}
.client-project-magazine-spread--hero .magazine-hero img {
  object-fit: cover;
  min-height: min(48vh, 480px);
}
.client-project-directory-card--showcase {
  border-color: rgba(0, 210, 190, .35);
  box-shadow: 0 0 0 1px rgba(0, 210, 190, .12);
}
.client-project-directory-showcase-badge {
  position: absolute;
  top: .65rem;
  left: .65rem;
  z-index: 2;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #041210;
  background: var(--petronas);
  padding: .25rem .55rem;
  border-radius: 4px;
}
.initie-directory-card--showcase .initie-directory-card-link {
  position: relative;
}
.client-project-gallery-mosaic {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: .65rem;
  align-items: stretch;
}
.client-project-gallery-mosaic-hero {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: .65rem;
  align-items: stretch;
  min-height: clamp(220px, 40vw, 540px);
}
.client-project-gallery-mosaic-side {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  min-height: 0;
}
.client-project-gallery-mosaic-item {
  margin: 0;
  grid-column: span 4;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.client-project-gallery-mosaic-item--lead,
.client-project-gallery-mosaic-item--side,
.client-project-gallery-mosaic-item--solo {
  grid-column: auto;
}
.client-project-gallery-mosaic-item--side {
  flex: 1 1 0;
  min-height: 0;
}
.client-project-gallery-mosaic-item--lead .client-project-gallery-mosaic-btn,
.client-project-gallery-mosaic-item--side .client-project-gallery-mosaic-btn,
.client-project-gallery-mosaic-item--solo .client-project-gallery-mosaic-btn {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  display: block;
}
.client-project-gallery-mosaic-item--solo {
  grid-column: 1 / -1;
}
.client-project-gallery-mosaic-item--0 { grid-column: span 8; grid-row: span 2; }
.client-project-gallery-mosaic-item--1 { grid-column: span 4; }
.client-project-gallery-mosaic-item--2 { grid-column: span 4; }
.client-project-gallery-mosaic-item--3 { grid-column: span 6; }
.client-project-gallery-mosaic-item--4 { grid-column: span 6; }
.client-project-gallery-mosaic-item--5 { grid-column: span 12; }
.client-project-gallery-mosaic-btn,
.client-project-gallery-editorial-btn,
.client-project-gallery-filmstrip-btn {
  border-radius: 12px;
  width: 100%;
}
.client-project-gallery-mosaic-btn img,
.client-project-gallery-editorial-btn img,
.client-project-gallery-filmstrip-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.client-project-gallery-editorial {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.client-project-gallery-editorial-row {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  gap: 1rem;
  align-items: center;
  margin: 0;
}
.client-project-gallery-editorial-row--reverse {
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
}
.client-project-gallery-editorial-row--reverse .client-project-gallery-editorial-btn {
  order: 2;
}
.client-project-gallery-editorial-row--reverse .client-project-gallery-editorial-caption {
  order: 1;
  text-align: right;
}
.client-project-gallery-editorial-caption {
  font-size: clamp(1rem, 2.5vw, 1.35rem);
  line-height: 1.25;
  color: #ffffffcc;
  font-style: italic;
}
.client-project-gallery-filmstrip-wrap {
  margin: 0 -.5rem;
  padding: 0 .5rem;
}
.client-project-gallery-filmstrip {
  display: flex;
  gap: .75rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: .5rem;
  -webkit-overflow-scrolling: touch;
}
.client-project-gallery-filmstrip-slide {
  flex: 0 0 min(78vw, 320px);
  scroll-snap-align: start;
  margin: 0;
}
.client-project-gallery-filmstrip-btn img {
  aspect-ratio: 3 / 4;
  max-height: 420px;
}
.client-project-kicker-showcase {
  display: inline-flex;
  vertical-align: middle;
}
.client-project-photo-crop-modal {
  z-index: 12050;
}
.client-project-photo-crop-dialog {
  width: min(96vw, 640px);
  max-height: min(92vh, 720px);
  display: flex;
  flex-direction: column;
  padding: 1.25rem 1.25rem 1rem;
  margin: auto;
}
.client-project-photo-crop-title {
  margin: 0 0 .35rem;
  font-size: 1.25rem;
}
.client-project-photo-crop-lead {
  margin: 0 0 .5rem;
  color: #ffffff99;
  font-size: .9rem;
  line-height: 1.45;
}
.client-project-photo-crop-meta {
  margin: 0 0 .75rem;
  font-size: .82rem;
  color: var(--petronas);
}
.client-project-photo-crop-wrap {
  height: min(42vh, 380px);
  max-height: min(42vh, 380px);
  background: #0a0a0f;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #ffffff14;
}
.client-project-photo-crop-wrap img {
  display: block;
  max-width: 100%;
}
.client-project-photo-crop-wrap .cropper-container {
  max-height: 100%;
}
.client-project-photo-crop-status {
  margin: .75rem 0 0;
  font-size: .85rem;
  color: #ffffff80;
}
.client-project-photo-crop-status--error {
  color: #ff8fa8;
}
.client-project-photo-crop-actions {
  display: flex;
  gap: .5rem;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-top: 1rem;
}
@media (max-width: 720px) {
  .client-project-layout-options {
    grid-template-columns: 1fr;
  }
  .client-project-gallery-editorial-row,
  .client-project-gallery-editorial-row--reverse {
    grid-template-columns: 1fr;
  }
  .client-project-gallery-editorial-row--reverse .client-project-gallery-editorial-btn,
  .client-project-gallery-editorial-row--reverse .client-project-gallery-editorial-caption {
    order: unset;
    text-align: left;
  }
  .client-project-gallery-mosaic-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .client-project-gallery-mosaic-side {
    flex-direction: row;
    min-height: clamp(140px, 34vw, 220px);
  }
  .client-project-gallery-mosaic-item--side {
    flex: 1 1 0;
  }
  .client-project-gallery-mosaic-item,
  .client-project-gallery-mosaic-item--0,
  .client-project-gallery-mosaic-item--1,
  .client-project-gallery-mosaic-item--2,
  .client-project-gallery-mosaic-item--3,
  .client-project-gallery-mosaic-item--4,
  .client-project-gallery-mosaic-item--5 {
    grid-column: span 12;
    grid-row: auto;
  }
}
@keyframes clientProjectCrimeTape {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@keyframes clientProjectCrimePulse {
  0%, 100% { box-shadow: 0 0 0 2px rgba(250, 204, 21, .25), 0 20px 50px rgba(0, 0, 0, .55); }
  50% { box-shadow: 0 0 0 2px rgba(250, 204, 21, .45), 0 24px 56px rgba(225, 6, 0, .12); }
}
@media (max-width: 720px) {
  .client-project-head--stamps .client-project-public-stamp.initie-profile-stamp--evo,
  .client-project-head--stamps .client-project-public-stamp.initie-profile-stamp--sold,
  .client-project-head--stamps .client-project-public-stamp.initie-profile-stamp--showcase,
  .client-project-head--stamps .client-project-public-stamp.initie-profile-stamp--impounded {
    position: relative;
    top: auto;
    right: auto;
    transform: none;
    margin: 0 0 1rem;
    max-width: 100%;
  }
  .client-project-head--stamps .client-project-profile-stamps {
    position: relative;
    margin-bottom: .5rem;
  }
  .client-project-head--stamps {
    min-height: 0;
  }
  .initie-magazine-brutal .magazine-title-band .client-project-public-stamp {
    width: min(100%, 52rem);
  }
  .initie-magazine-brutal .magazine-title-band .initie-impound-stamp-inner,
  .initie-magazine-brutal .magazine-title-band .initie-showcase-stamp-inner,
  .initie-magazine-brutal .magazine-title-band .initie-sold-stamp-inner,
  .initie-magazine-brutal .magazine-title-band .initie-evo-stamp-inner {
    font-size: clamp(1.35rem, 6.5vw, 2.75rem);
    padding: .5rem .85rem .6rem;
    border-width: 5px;
  }
}
.client-project-kicker {
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--violet-bright);
  margin-bottom: .35rem;
}
.client-project-title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}
.client-project-practice { color: #ffffff77; margin-top: .35rem; }
.client-project-bio { color: #ffffffaa; margin-top: .75rem; line-height: 1.6; max-width: 720px; }
.client-project-rich-text.product-page-description {
  color: #ffffffaa;
  max-width: 720px;
}
.client-project-form .gxs-rich-editor {
  margin-top: .35rem;
}
.client-project-editorial-review {
  margin: 0 0 1.75rem;
  padding: 1.25rem 1.35rem;
  border: 2px solid rgba(0, 210, 190, .28);
  background:
    linear-gradient(145deg, rgba(0, 210, 190, .08), rgba(8, 8, 14, .92) 42%),
    rgba(8, 8, 14, .88);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
}
.client-project-editorial-review-kicker {
  margin: 0 0 .35rem;
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--petronas, #00d2be);
}
.client-project-editorial-review-title {
  margin: 0 0 .85rem;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  line-height: 1.1;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #fff;
}
.client-project-editorial-review-body {
  color: #ffffffcc;
  line-height: 1.65;
  font-size: .95rem;
  max-width: none;
}
.client-project-editorial-review-body p:last-child {
  margin-bottom: 0;
}
.client-project-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: .75rem;
  margin-bottom: 1.5rem;
}
.client-project-gallery-item img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid #ffffff14;
}
.client-project-gallery-item figcaption {
  font-size: .78rem;
  color: #ffffff66;
  margin-top: .35rem;
}
.client-project-config-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.client-project-config-title { font-size: 1rem; margin-bottom: .75rem; }
.client-project-config-photo {
  width: 100%;
  max-height: 220px;
  object-fit: cover;
  border-radius: 10px;
  margin-bottom: .75rem;
}
.client-project-config-text { color: #ffffffaa; line-height: 1.55; font-size: .92rem; }
.client-project-cta { text-align: center; }
.client-project-account .client-project-status-banner {
  margin-bottom: 1rem;
  padding: 1rem 1.15rem;
  border-left: 3px solid var(--violet-bright);
}
.client-project-status-banner--pending { border-left-color: var(--violet-bright); }
.client-project-status-banner--approved { border-left-color: var(--petronas); }
.client-project-status-banner--rejected { border-left-color: var(--magenta); }
.client-project-admin-note { margin-top: .5rem; color: #ffffff88; }
.client-project-thumb-preview {
  width: 100%;
  max-width: 160px;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: .5rem;
  display: block;
}
.client-project-photo-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  display: grid;
  gap: .75rem;
}
.client-project-photo-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .75rem;
  align-items: start;
}
.client-project-photo-thumb-wrap {
  position: relative;
  display: inline-block;
  max-width: 160px;
}
.client-project-photo-thumb-wrap .client-project-thumb-preview {
  margin-bottom: 0;
}
.client-project-photo-delete {
  position: absolute;
  top: .35rem;
  right: .35rem;
  z-index: 1;
  width: 1.85rem;
  height: 1.85rem;
  padding: 0;
  border-radius: 999px;
  border: 1px solid rgba(255, 80, 140, .55) !important;
  background: rgba(8, 8, 14, .82) !important;
  color: #ffb4b4 !important;
  font-size: 1.15rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .15s, border-color .15s, transform .15s;
}
.client-project-photo-delete:hover:not(:disabled) {
  background: rgba(255, 80, 140, .22) !important;
  border-color: rgba(255, 120, 160, .75) !important;
  transform: scale(1.05);
}
.client-project-photo-delete:disabled,
.client-project-photo-delete.is-busy {
  opacity: .55;
  cursor: wait;
}
.client-project-photo-upload-wrap[hidden] {
  display: none;
}
.client-project-list-panel {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.client-project-list-head {
  display: flex;
  justify-content: flex-end;
}
.client-project-list-empty {
  padding: 1.5rem;
  color: #ffffff88;
  line-height: 1.6;
}
.client-project-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.client-project-list-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  flex-wrap: wrap;
}
.client-project-list-thumb {
  width: 72px;
  height: 72px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
  background: #ffffff08;
}
.client-project-list-thumb--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #ffffff44;
}
.client-project-list-body {
  flex: 1;
  min-width: 160px;
}
.client-project-list-title {
  font-size: 1rem;
  margin: 0;
}
.client-project-list-practice {
  font-size: .82rem;
  color: #ffffff66;
  margin: .2rem 0 0;
}
.client-project-list-meta {
  font-size: .78rem;
  color: #ffffff55;
  margin: .35rem 0 0;
}
.client-project-list-status--pending { color: var(--violet-bright); }
.client-project-list-status--approved { color: var(--petronas); }
.client-project-list-status--rejected { color: var(--magenta); }
.client-project-list-published { color: var(--petronas); }
.client-project-list-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.client-project-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.25rem;
}
.client-project-form-actions--secondary {
  margin-top: 1rem;
  padding: 1rem 1.25rem;
  border-color: #ffffff14;
}
.client-project-list-inline-form {
  display: inline;
  margin: 0;
}
.client-project-btn-danger {
  border-color: var(--magenta) !important;
  color: #ffb4b4 !important;
}
.client-project-list-actions .client-project-btn-danger:hover {
  background: rgba(255, 80, 140, .12);
}
.home-discover-projects {
  padding: 3rem 20px 2.5rem;
}
.home-discover-projects-head { margin-bottom: 1.25rem; }
.home-discover-projects-lead {
  color: #ffffff66;
  font-size: .92rem;
  max-width: 680px;
  margin-top: .5rem;
  line-height: 1.55;
}
.home-discover-projects-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto minmax(220px, 1fr);
  gap: .85rem 1rem;
  align-items: stretch;
}
.home-discover-projects-panel {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  min-width: 0;
}
.home-discover-projects-col {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  min-width: 0;
}
.home-discover-projects-card {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  height: 100%;
  min-height: 100%;
  padding: 1.35rem 1.25rem 1.15rem;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.home-discover-projects-card:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 210, 190, 0.45);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.35);
}
.home-discover-projects-card--initie:hover {
  border-color: rgba(167, 139, 250, 0.55);
}
.home-discover-projects-icon {
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(0, 210, 190, 0.12);
  color: var(--petronas);
}
.home-discover-projects-icon svg {
  width: 34px;
  height: 34px;
}
.home-discover-projects-icon--initie {
  background: rgba(139, 92, 246, 0.16);
  color: var(--violet-bright);
}
.home-discover-projects-card-title {
  font-size: 1.15rem;
  margin: 0;
  line-height: 1.2;
}
.home-discover-projects-card-text {
  margin: 0;
  font-size: .88rem;
  line-height: 1.55;
  color: #ffffff80;
  flex: 1;
}
.home-discover-projects-card-cta {
  font-size: .85rem;
  font-weight: 600;
  color: var(--client-link);
}
.home-discover-projects-col-empty {
  margin: 0;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  padding: .75rem 1rem;
  font-size: .82rem;
  color: #ffffff55;
  border: 1px dashed rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  text-align: center;
}
.home-discover-projects-slider-wrap {
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.35);
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 220px;
  height: 100%;
}
.home-discover-projects-track {
  display: flex;
  gap: .85rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  padding: 1rem .85rem;
  scrollbar-width: none;
  flex: 1;
  align-items: stretch;
}
.home-discover-projects-track::-webkit-scrollbar { display: none; }
.home-discover-projects-slide {
  flex: 0 0 min(148px, 42vw);
  scroll-snap-align: start;
  scroll-snap-stop: always;
  text-decoration: none;
  color: inherit;
  padding: .85rem .65rem .75rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: .35rem;
  min-height: 100%;
  align-self: stretch;
  transition: transform .2s ease, border-color .2s ease;
}
.home-discover-projects-slide:hover {
  transform: translateY(-3px);
  border-color: rgba(255, 255, 255, 0.22);
}
.home-discover-projects-slide-icon-wrap {
  position: relative;
  width: 88px;
  height: 88px;
  margin-bottom: .15rem;
}
.home-discover-projects-slide-icon {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  border: 2px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}
.home-discover-projects-slide-type {
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--black);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}
.home-discover-projects-slide-type svg {
  width: 14px;
  height: 14px;
}
.home-discover-projects-slide-type--client {
  background: #fff;
  color: #0a0a10;
}
.home-discover-projects-slide-type--initie {
  background: var(--violet);
  color: #fff;
}
.home-discover-projects-slide-title {
  font-size: .88rem;
  line-height: 1.25;
  letter-spacing: .03em;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.home-discover-projects-slide-practice {
  font-size: .72rem;
  color: #ffffff66;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.home-discover-projects-slide-label {
  font-size: .65rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--petronas);
  font-weight: 600;
}
.home-discover-projects-slide--initie .home-discover-projects-slide-label {
  color: var(--violet-bright);
}
.home-discover-projects-blog {
  margin-top: 1rem;
}
.home-discover-projects-card--blog {
  padding: 1.35rem 1.25rem 1.15rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.home-discover-projects-card--blog:hover {
  transform: none;
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
}
.home-discover-projects-blog-intro {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: .85rem 1.25rem;
  margin-bottom: 1rem;
}
.home-discover-projects-blog-copy {
  flex: 1 1 220px;
  min-width: 0;
}
.home-discover-projects-icon--blog {
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}
.home-discover-projects-blog-all {
  flex-shrink: 0;
  font-size: .85rem;
  font-weight: 600;
  color: var(--petronas);
  text-decoration: none;
  align-self: center;
}
.home-discover-projects-blog-all:hover {
  color: #fff;
}
.home-discover-blog-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .85rem;
}
.home-discover-blog-item {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  align-items: stretch;
  padding: .75rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.28);
  text-decoration: none;
  color: inherit;
  min-height: 0;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.home-discover-blog-item:hover {
  border-color: rgba(0, 210, 190, 0.4);
  background: rgba(0, 210, 190, 0.06);
  transform: translateY(-2px);
}
.home-discover-blog-thumb {
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 16 / 10;
  min-height: 120px;
  border-radius: 8px;
  overflow: hidden;
  background: #0a0a0f;
}
.home-discover-blog-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-discover-blog-body {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  min-width: 0;
  flex: 1 1 auto;
}
.home-discover-blog-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .6rem;
  font-size: .68rem;
  color: #ffffff55;
}
.home-discover-blog-category {
  font-family: Orbitron, sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--petronas);
}
.home-discover-blog-title {
  font-size: .88rem;
  line-height: 1.3;
  color: #fff;
}
.home-discover-blog-excerpt {
  font-size: .78rem;
  line-height: 1.45;
  color: #ffffff66;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 1100px) {
  .home-discover-blog-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .home-discover-blog-list {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .home-discover-projects-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .home-discover-projects-card {
    min-height: 0;
    height: auto;
  }
  .home-discover-projects-slider-wrap,
  .home-discover-projects-col-empty {
    min-height: 200px;
  }
  .home-discover-projects-blog-intro {
    flex-direction: column;
    align-items: stretch;
  }
  .home-discover-projects-blog-all {
    align-self: flex-start;
  }
}
.home-client-projects {
  padding: 0 20px 3.5rem;
  overflow-x: hidden;
  max-width: 100%;
}
.home-client-projects-head { margin-bottom: 1.25rem; }
.home-client-projects-lead {
  color: #ffffff66;
  font-size: .92rem;
  max-width: 640px;
  margin-top: .5rem;
}
.home-client-projects-slider-wrap {
  overflow: hidden;
  max-width: 100%;
  border-radius: 14px;
  border: 1px solid #ffffff12;
  background: rgba(0, 0, 0, 0.35);
}
.home-client-projects-track {
  display: flex;
  gap: .75rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: .75rem;
  scrollbar-width: none;
  max-width: 100%;
}
.home-client-projects-track::-webkit-scrollbar { display: none; }
.home-client-projects-slide {
  flex: 0 0 min(280px, 78vw);
  scroll-snap-align: start;
  scroll-snap-stop: always;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition: transform .2s ease, border-color .2s ease;
}
.home-client-projects-slide:hover {
  transform: translateY(-2px);
  border-color: rgba(167, 139, 250, 0.45);
}
.home-client-projects-slide-img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  display: block;
}
.home-client-projects-slide-meta {
  padding: .65rem .75rem .75rem;
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.home-client-projects-slide-title {
  font-size: .95rem;
  letter-spacing: .04em;
}
.home-client-projects-slide-practice {
  font-size: .75rem;
  color: #ffffff66;
}
.home-client-projects-slide-badge {
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--violet-bright);
  margin-top: .15rem;
}
.home-client-projects-cta {
  text-align: center;
  margin-top: 1rem;
}

/* ?? Points fid?lit? ?? */
.loyalty-page-header {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}
.loyalty-page-intro {
  color: #ffffff66;
  font-size: .9rem;
  max-width: 36rem;
  margin: 0;
  line-height: 1.45;
}
.loyalty-balance-card {
  padding: 1rem 1.25rem;
  text-align: center;
  min-width: 140px;
  border-color: rgba(0, 210, 190, .35);
}
.loyalty-balance-label {
  display: block;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #ffffff66;
  margin-bottom: .35rem;
}
.loyalty-balance-value {
  display: block;
  font-size: 2rem;
  line-height: 1.1;
  color: var(--petronas);
}
.loyalty-balance-unit {
  font-size: .75rem;
  color: #ffffff55;
}
.loyalty-section {
  padding: 1.15rem 1.25rem;
  margin-bottom: 1.25rem;
}
.loyalty-section-title {
  font-size: 1rem;
  margin: 0 0 1rem;
  color: var(--petronas);
}
.loyalty-exchange-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
}
.loyalty-exchange-card {
  border: 1px solid #ffffff14;
  border-radius: 8px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.loyalty-exchange-card--with-image .loyalty-reward-thumb {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 6px;
  margin-bottom: .25rem;
}
.loyalty-exchange-card-title {
  font-size: .95rem;
  margin: 0;
}
.loyalty-exchange-card-desc,
.loyalty-exchange-card-meta {
  font-size: .82rem;
  color: #ffffff66;
  margin: 0;
  line-height: 1.4;
}
.loyalty-exchange-cost {
  font-size: .85rem;
  font-weight: 600;
  color: var(--petronas);
  margin: .25rem 0 0;
}
.loyalty-gift-attr-pickers {
  display: grid;
  gap: .55rem;
  margin: .65rem 0 0;
}
.loyalty-gift-attr-field {
  display: grid;
  gap: .25rem;
  margin: 0;
}
.loyalty-gift-attr-label {
  font-size: .72rem;
  color: rgba(255, 255, 255, 0.68);
}
.loyalty-gift-attr-select,
.loyalty-gift-attr-input {
  width: 100%;
  min-height: 2.1rem;
  font-size: .82rem;
}
.loyalty-gift-attr-textarea {
  min-height: 4.5rem;
  resize: vertical;
  line-height: 1.35;
}
.loyalty-gift-attr-checkboxes {
  display: grid;
  gap: .35rem;
}
.loyalty-gift-attr-check {
  display: flex;
  align-items: flex-start;
  gap: .4rem;
  margin: 0;
  font-size: .8rem;
  color: rgba(255, 255, 255, 0.85);
  cursor: pointer;
}
.loyalty-gift-attr-check input {
  margin-top: .15rem;
}
.loyalty-reward-thumb-wrap {
  margin-bottom: .25rem;
}
.loyalty-reward-thumb--color-switch {
  transition: opacity .25s ease;
}
.loyalty-gift-vinyl-pickers {
  display: grid;
  gap: .55rem;
  margin-top: .35rem;
}
.loyalty-gift-vinyl-grid {
  display: grid;
  gap: .35rem;
}
.loyalty-gift-vinyl-btn {
  display: grid;
  gap: .15rem;
  width: 100%;
  text-align: left;
  border: 1px solid #ffffff1a;
  border-radius: 6px;
  background: #ffffff08;
  color: #fff;
  padding: .45rem .55rem;
  cursor: pointer;
  font: inherit;
}
.loyalty-gift-vinyl-btn.is-selected {
  border-color: var(--petronas);
  box-shadow: 0 0 0 1px var(--petronas);
}
.loyalty-gift-vinyl-btn.is-unavailable {
  opacity: .45;
  cursor: not-allowed;
}
.loyalty-gift-vinyl-title {
  font-size: .78rem;
  font-weight: 600;
}
.loyalty-gift-vinyl-price {
  font-size: .7rem;
  color: rgba(255, 255, 255, 0.62);
}
.loyalty-exchange-card .btn {
  margin-top: .5rem;
  font-size: .75rem;
}
.loyalty-gift-type-badge {
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--petronas);
  margin: 0;
}
.loyalty-gifts-account-link {
  font-size: .85rem;
  color: var(--cyan);
  text-decoration: none;
}
.loyalty-gifts-account-link:hover {
  text-decoration: underline;
}
.loyalty-gifts-account-more {
  margin: 1rem 0 0;
  text-align: center;
}
.loyalty-gifts-shop-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .85rem;
  padding: .5rem 0 .25rem;
  text-align: center;
}
.loyalty-gifts-shop-cta .account-panel-empty {
  margin: 0;
}
.loyalty-gifts-category-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
  border-color: rgba(0, 214, 170, .35);
  background: linear-gradient(135deg, rgba(0, 214, 170, .08), rgba(0, 0, 0, .2));
}
.loyalty-gifts-category-banner-kicker {
  margin: 0 0 .25rem;
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--petronas);
}
.loyalty-gifts-category-banner-title {
  margin: 0 0 .35rem;
  font-size: 1.1rem;
}
.loyalty-gifts-category-banner-desc {
  margin: 0;
  font-size: .85rem;
  color: #ffffff80;
  max-width: 42rem;
}
.loyalty-gifts-category-banner-btn {
  flex-shrink: 0;
}

.home-loyalty-gifts-section {
  padding-top: 0;
}
.home-loyalty-gifts-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem 1.5rem;
  padding: 1.5rem 1.5rem 1.35rem;
  text-decoration: none;
  color: inherit;
  border-color: rgba(0, 210, 190, 0.38);
  background:
    linear-gradient(135deg, rgba(0, 210, 190, 0.12) 0%, rgba(10, 10, 16, 0.55) 48%, rgba(139, 92, 246, 0.1) 100%);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.home-loyalty-gifts-card:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 210, 190, 0.62);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.38);
}
.home-loyalty-gifts-card-copy {
  flex: 1 1 280px;
  min-width: 0;
}
.home-loyalty-gifts-kicker {
  display: block;
  margin-bottom: .35rem;
  color: var(--petronas);
}
.home-loyalty-gifts-title {
  margin: 0 0 .45rem;
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  line-height: 1.15;
}
.home-loyalty-gifts-lead {
  margin: 0;
  font-size: .9rem;
  line-height: 1.55;
  color: #ffffff80;
  max-width: 38rem;
}
.home-loyalty-gifts-balance {
  margin: .75rem 0 0;
  font-size: .88rem;
  color: #ffffff99;
}
.home-loyalty-gifts-balance strong {
  color: var(--petronas);
  font-size: 1.15rem;
}
.home-loyalty-gifts-balance--guest {
  color: #ffffff70;
}
.home-loyalty-gifts-meta {
  margin: .45rem 0 0;
  font-size: .78rem;
  color: #ffffff55;
}
.home-loyalty-gifts-cta {
  display: inline-block;
  margin-top: .9rem;
  font-size: .88rem;
  font-weight: 600;
  color: var(--petronas);
}
.home-loyalty-gifts-card-preview {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  flex: 0 0 auto;
}
.home-loyalty-gifts-preview-thumb {
  display: block;
  width: 72px;
  height: 72px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.25);
}
.home-loyalty-gifts-preview-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.home-loyalty-gifts-card-icon {
  flex: 0 0 auto;
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: rgba(0, 210, 190, 0.14);
  color: var(--petronas);
}
.home-loyalty-gifts-card-icon svg {
  width: 40px;
  height: 40px;
}
@media (max-width: 640px) {
  .home-loyalty-gifts-card {
    padding: 1.15rem 1.1rem 1rem;
  }
  .home-loyalty-gifts-card-preview {
    width: 100%;
  }
}

.admin-stock-grid-table .admin-stock-input {
  padding: .35rem .5rem;
  font-size: .8rem;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.admin-stock-grid-table .admin-stock-input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}
.admin-stock-grid-table .admin-stock-input[type="number"]::-webkit-outer-spin-button,
.admin-stock-grid-table .admin-stock-input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.admin-stock-bulk-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem .75rem;
  padding: .75rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: rgba(0,210,190,.06);
  position: sticky;
  top: 0;
  z-index: 2;
}
.admin-stock-bulk-qty {
  width: 6rem;
}
.admin-stock-grid-table th:nth-child(5),
.admin-stock-grid-table td:nth-child(5) {
  width: 5.5rem;
  min-width: 5.5rem;
}
.admin-stock-grid-table th:nth-child(6),
.admin-stock-grid-table td:nth-child(6) {
  width: 7rem;
  min-width: 7rem;
}
.admin-stock-grid-table th:nth-child(4),
.admin-stock-grid-table td:nth-child(4) {
  min-width: 7rem;
}
.admin-stock-row--color td:nth-child(2),
.admin-stock-row--combination td:nth-child(2) {
  padding-left: 1.25rem;
}
.admin-stock-color-indent {
  color: #ffffff55;
  margin-right: .25rem;
}
.admin-stock-row--parent {
  background: #ffffff06;
}
.admin-stock-row--zero .admin-stock-qty {
  border-color: rgba(255, 120, 120, .45);
  color: #ffb4b4;
}
.loyalty-promo-code-display {
  font-size: 1.5rem;
  letter-spacing: .12em;
  text-align: center;
  padding: 1rem;
  background: #00000040;
  border-radius: 8px;
  margin-bottom: .75rem;
  color: var(--petronas);
}
.loyalty-redeem-modal {
  position: relative;
  max-width: 420px;
  width: 100%;
  padding: 1.5rem;
  margin: auto;
}
.loyalty-perso-modal {
  max-width: 460px;
  max-height: min(90dvh, 640px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.loyalty-perso-modal-intro {
  margin: 0 0 .75rem;
  color: rgba(255, 255, 255, 0.62);
  font-size: .88rem;
  line-height: 1.45;
}
.loyalty-perso-modal-product {
  margin: 0 0 .85rem;
  font-size: .82rem;
  font-weight: 600;
  color: var(--petronas, #00d2be);
}
.loyalty-perso-modal-fields {
  margin: 0 0 1rem;
}
.loyalty-perso-modal-error {
  margin: 0 0 .85rem;
  color: #ffb4b4;
  font-size: .82rem;
}
.loyalty-perso-modal-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .55rem;
}
@media (max-width: 520px) {
  .loyalty-perso-modal {
    margin: .75rem;
    max-width: calc(100% - 1.5rem);
    padding: 1.15rem 1rem 1.25rem;
  }
  .loyalty-perso-modal-actions {
    flex-direction: column-reverse;
  }
  .loyalty-perso-modal-actions .btn {
    width: 100%;
  }
}
.loyalty-redeem-btn.loyalty-redeem-btn--insufficient,
.loyalty-redeem-btn[aria-disabled="true"] {
  opacity: .55;
  cursor: not-allowed;
  filter: grayscale(.25);
}
.loyalty-history-table-wrap {
  overflow-x: auto;
}
.loyalty-history-table {
  width: 100%;
  font-size: .82rem;
  border-collapse: collapse;
}
.loyalty-history-table th,
.loyalty-history-table td {
  padding: .5rem .65rem;
  text-align: left;
  border-bottom: 1px solid #ffffff10;
}
.loyalty-history-table th {
  color: #ffffff55;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.loyalty-history-note {
  color: #ffffff55;
}
.loyalty-history-promo {
  display: inline-block;
  margin-left: .35rem;
  font-family: monospace;
  color: var(--petronas);
  font-size: .78rem;
}
.loyalty-points-plus { color: #a7f3d0; }
.loyalty-points-minus { color: #ffb4b4; }
.loyalty-admin-product-picker {
  border: 1px solid #ffffff12;
  border-radius: 8px;
  padding: .85rem 1rem;
  background: #ffffff04;
}
.loyalty-admin-product-tabs {
  margin-bottom: .75rem;
}
.loyalty-admin-product-panel + .loyalty-admin-product-results,
.loyalty-admin-product-panel ~ .loyalty-admin-product-results {
  margin-top: .65rem;
}
.loyalty-admin-product-results {
  border: 1px solid #ffffff18;
  border-radius: 6px;
  background: #0a0a0c;
  max-height: 280px;
  overflow-y: auto;
}
.loyalty-admin-product-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.loyalty-admin-product-pick {
  display: block;
  width: 100%;
  text-align: left;
  padding: .55rem .75rem;
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: .85rem;
  line-height: 1.35;
}
.loyalty-admin-product-pick:hover {
  background: #ffffff0a;
}
.loyalty-admin-product-pick-name {
  display: block;
  font-weight: 600;
}
.loyalty-admin-product-pick-meta {
  display: block;
  color: #ffffff55;
  font-size: .78rem;
  margin-top: .15rem;
}

/* ?? Admin cartes cadeaux ?? */
.gift-card-admin-form-card,
.gift-card-admin-list-card {
  padding: 1.25rem;
}
.gift-card-admin-section-title {
  font-size: 1rem;
  margin: 0 0 1rem;
}
.gift-card-admin-field {
  margin-bottom: 1rem;
}
.gift-card-admin-description {
  min-height: 110px;
  resize: vertical;
  line-height: 1.45;
}
.gift-card-admin-grid {
  gap: 1rem;
  margin-bottom: 1rem;
}
.gift-card-admin-product-thumb-wrap {
  margin-bottom: .75rem;
}
.gift-card-admin-product-thumb {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #ffffff1a;
  display: block;
}
.gift-card-admin-preview-block {
  margin: 1.25rem 0 1rem;
  padding: 1rem;
  border: 1px solid #ffffff14;
  border-radius: 8px;
  background: #0a0a10;
}
.gift-card-admin-preview-title {
  font-size: .9rem;
  margin: 0 0 .35rem;
  color: var(--petronas);
}
.gift-card-admin-svg-frame-wrap {
  margin-top: .75rem;
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  max-height: 420px;
}
.gift-card-admin-svg-frame {
  width: 100%;
  height: 400px;
  border: 0;
  display: block;
  background: #fff;
}
.gift-card-admin-list-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.gift-card-admin-sync-btn {
  font-size: .75rem;
}
.gift-card-admin-rules {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.gift-card-admin-rule-item {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  padding: .85rem;
  border: 1px solid #ffffff12;
  border-radius: 8px;
  min-width: 0;
}
.gift-card-admin-rule-photo {
  width: 100%;
  max-height: 250px;
  height: auto;
  object-fit: contain;
  border-radius: 6px;
  border: 1px solid #ffffff1a;
  background: #0a0a10;
}
.gift-card-admin-rule-photo-placeholder {
  width: 100%;
  min-height: 120px;
  max-height: 250px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .72rem;
  color: #ffffff45;
  border: 1px dashed #ffffff22;
  border-radius: 6px;
}
.gift-card-admin-rule-svg-mini {
  width: 100%;
  height: 140px;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
}
.gift-card-admin-rule-svg-iframe {
  width: 100%;
  height: 100%;
  border: 0;
  pointer-events: none;
}
.gift-card-admin-rule-title {
  font-size: .92rem;
  margin: 0 0 .35rem;
}
.gift-card-admin-rule-prices,
.gift-card-admin-rule-status {
  font-size: .78rem;
  color: #ffffff66;
  margin: 0 0 .25rem;
}
.gift-card-admin-rule-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: .4rem;
  margin-top: .65rem;
}
.gift-card-admin-rule-actions .btn {
  width: 100%;
  text-align: center;
}
.gift-card-admin-delete-form {
  display: block;
  margin: 0;
}
.gift-card-admin-btn-danger {
  border-color: rgba(244, 63, 94, 0.4);
  color: #fca5a5;
}
.gift-card-admin-btn-danger:hover {
  background: rgba(244, 63, 94, 0.12);
  border-color: rgba(244, 63, 94, 0.55);
  color: #ffb4b4;
  box-shadow: none;
  transform: none;
}
@media (max-width: 1200px) {
  .gift-card-admin-rules {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .gift-card-admin-rules {
    grid-template-columns: 1fr;
  }
}

.gift-card-mystery-field {
  margin-bottom: 1.25rem;
  padding: .9rem 1rem;
  border-radius: 10px;
  border: 1px solid rgba(168, 85, 247, .28);
  background: linear-gradient(135deg, rgba(168, 85, 247, .08), rgba(0, 210, 190, .06));
}
.gift-card-mystery-title {
  margin: 0 0 .45rem;
  font-size: .92rem;
  color: #d8b4fe;
  letter-spacing: .06em;
}
.gift-card-mystery-hint {
  margin: 0;
  font-size: .85rem;
  color: #ffffff78;
  line-height: 1.55;
}
.gift-card-mystery-hint strong {
  color: #fff;
}
.gift-card-custom-amount-field {
  margin-bottom: 1.25rem;
}
.gift-card-custom-amount-hint {
  margin: 0 0 .85rem;
  font-size: .85rem;
  color: #ffffff70;
  line-height: 1.5;
}
.gift-card-custom-amount-controls {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: .85rem;
}
.gift-card-amount-slider {
  flex: 1;
  accent-color: var(--petronas);
}
.gift-card-amount-output {
  min-width: 4.5rem;
  font-family: var(--font-display, inherit);
  font-size: 1.15rem;
  color: var(--petronas);
  text-align: right;
}
.gift-card-custom-summary {
  display: grid;
  gap: .35rem;
  padding: .85rem 1rem;
  border-radius: 10px;
  border: 1px solid rgba(0, 210, 190, .22);
  background: rgba(0, 210, 190, .06);
  font-size: .9rem;
}
.gift-card-custom-summary p {
  margin: 0;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #ffffff88;
}
.gift-card-custom-summary strong {
  color: #fff;
}
.gift-card-value-label {
  color: var(--petronas);
}
.gift-card-rule-type {
  font-size: .72rem;
  color: var(--petronas);
  margin: 0 0 .25rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.gift-card-message-field {
  margin-top: 1.25rem;
}
.gift-card-message-label {
  display: block;
  margin-bottom: 0.35rem;
}
.gift-card-message-hint {
  margin: 0 0 0.65rem;
  font-size: 0.88rem;
  color: #ffffff80;
  line-height: 1.45;
}
.gift-card-message-input {
  width: 100%;
  min-height: 6rem;
  resize: vertical;
}

/* Engagement & catalogue */
.product-wishlist-btn {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  z-index: 3;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  border: 1px solid #ffffff22;
  background: #0a0a0fcc;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  line-height: 1;
}
.product-wishlist-btn--card { pointer-events: auto; }
.product-wishlist-btn.is-active { color: var(--magenta); border-color: var(--magenta); }
.product-page-wishlist-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0.35rem 0 0.75rem;
}
.product-wishlist-btn--page {
  position: static;
  width: auto;
  height: auto;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  font-size: 0.85rem;
}
.product-wishlist-account-link { font-size: 0.82rem; color: #ffffff88; }
.product-shipping-estimate { margin: 1.25rem 0; padding: 1rem 1.15rem; }
.product-shipping-estimate .free-shipping-banner-inner--estimate {
  margin: 0 0 .85rem;
}
/* Icône camion toujours hors du volet : signal livraison gratuite visible sans ouvrir. */
.product-shipping-estimate .free-shipping-banner-inner--estimate .free-shipping-banner-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(0, 210, 190, 0.18);
  box-shadow:
    inset 0 0 0 1px rgba(0, 210, 190, 0.4),
    0 0 18px rgba(0, 210, 190, 0.22);
}
.product-shipping-estimate .free-shipping-banner-inner--estimate .free-shipping-banner-icon svg {
  width: 34px;
  height: 34px;
}
.product-shipping-estimate-disclosure {
  border: none;
  margin: 0;
  padding: 0;
}
.product-shipping-estimate-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  list-style: none;
  cursor: pointer;
  user-select: none;
  padding: 0;
}
.product-shipping-estimate-summary::-webkit-details-marker { display: none; }
.product-shipping-estimate-title {
  font-size: 1rem;
  margin: 0;
  color: #fff;
}
.product-shipping-estimate-summary-hint {
  font-size: .72rem;
  color: #ffffff66;
  margin-left: auto;
  margin-right: .35rem;
  text-align: right;
}
.product-shipping-estimate-summary::after {
  content: '+';
  font-family: Orbitron, sans-serif;
  color: var(--petronas);
  font-size: 1rem;
  line-height: 1;
  flex-shrink: 0;
}
.product-shipping-estimate-disclosure[open] .product-shipping-estimate-summary::after {
  content: '−';
}
.product-shipping-estimate-body {
  padding-top: .75rem;
  margin-top: .75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.product-shipping-estimate-lead { font-size: 0.82rem; color: #ffffff70; margin: 0 0 0.85rem; }
.product-shipping-estimate-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-end;
}
.product-shipping-estimate-field { flex: 1 1 140px; min-width: 120px; }
.product-shipping-estimate-optional { font-size: .72rem; color: #ffffff55; font-weight: 400; }
.product-shipping-estimate-highlight {
  margin: .85rem 0 0;
  font-size: .95rem;
  color: var(--petronas);
}
.product-shipping-estimate-highlight-method { color: #ffffff88; font-size: .82rem; }
.product-shipping-estimate-weight,
.product-shipping-estimate-note,
.product-shipping-estimate-loading,
.product-shipping-estimate-error,
.product-shipping-estimate-empty {
  font-size: .78rem;
  color: #ffffff66;
  margin: .5rem 0 0;
}
.product-shipping-estimate-error { color: #ffb4b4; }
.product-config-budget-box {
  margin-top: .5rem;
  padding: 1rem;
  border-radius: 10px;
  border: 1px solid #ffffff14;
  background: #ffffff05;
}
.product-config-budget-row {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-top: .35rem;
}
.product-config-budget-input { max-width: 180px; }
.product-config-budget-suffix,
.product-config-budget-hint {
  font-size: .82rem;
  color: #ffffff70;
}
.product-config-budget-hint { margin: .65rem 0; line-height: 1.45; }
.product-config-budget-status {
  font-size: .82rem;
  margin: .35rem 0 0;
  text-align: center;
}
.product-config-budget-status.is-ok { color: var(--petronas); }
.product-config-budget-status.is-over { color: #ffb4b4; }
.product-config-live-price.is-over-budget .product-config-live-price-value { color: #ffb4b4; }
.is-budget-blocked {
  opacity: .42;
  pointer-events: none;
  filter: grayscale(.35);
}
.site-delivery-lead-times { padding: 1.25rem 1.35rem; }
.site-delivery-lead-intro,
.site-delivery-lead-note {
  font-size: .84rem;
  color: #ffffff70;
  line-height: 1.5;
  margin: 0 0 .85rem;
}
.site-delivery-lead-note { margin: .85rem 0 0; font-size: .78rem; }
.site-delivery-lead-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .55rem;
}
.site-delivery-lead-item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem .75rem;
  padding: .55rem .65rem;
  border-radius: 8px;
  background: #ffffff05;
  border: 1px solid #ffffff10;
}
.site-delivery-lead-name { font-weight: 600; color: #fff; flex: 1 1 160px; }
.site-delivery-lead-value { color: var(--petronas); font-family: var(--font-display, inherit); }
.site-delivery-lead-meta { font-size: .72rem; color: #ffffff55; }
.admin-delivery-lead-grid { display: grid; gap: .75rem; }
.admin-delivery-lead-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: center;
  padding: .65rem .75rem;
  border: 1px solid #ffffff12;
  border-radius: 8px;
}
.admin-delivery-lead-field {
  display: flex;
  align-items: center;
  gap: .35rem;
}
.admin-delivery-lead-field .input { width: 5.5rem; text-align: right; }
.admin-delivery-lead-suffix { font-size: .75rem; color: #ffffff55; white-space: nowrap; }
.product-shipping-estimate-list { list-style: none; margin: 0.75rem 0 0; padding: 0; }
.product-shipping-estimate-list li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid #ffffff12;
  font-size: 0.9rem;
}
.home-universe-block { position: relative; overflow: hidden; }
.home-universe-cover {
  position: absolute;
  inset: 0;
  background-image: var(--home-universe-cover);
  background-size: cover;
  background-position: center right;
  opacity: 0.42;
  pointer-events: none;
}
.home-universe-head,
.home-universe-products,
.home-universe-empty {
  position: relative;
  z-index: 1;
}
.home-category-cover-admin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
}
.home-category-cover-admin-card {
  padding: 1rem;
  border: 1px solid #ffffff14;
  border-radius: 10px;
  background: #ffffff05;
}
.home-category-cover-admin-thumb {
  height: 110px;
  border-radius: 8px;
  background: #111 center/cover no-repeat;
  margin-bottom: 0.65rem;
  border: 1px solid #ffffff12;
}
.home-category-cover-admin-thumb--empty {
  background-color: #111;
  background-image: linear-gradient(135deg, #ffffff08 25%, transparent 25%, transparent 50%, #ffffff08 50%, #ffffff08 75%, transparent 75%, transparent);
  background-size: 16px 16px;
}
.shop-catalog-advanced-filters { margin: 0 0 1.25rem; padding: 1rem; }
.shop-catalog-advanced-filters-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-end;
}
.shop-catalog-filter-field { flex: 1 1 140px; min-width: 120px; }
.shop-catalog-filter-check {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.85rem;
  padding-bottom: 0.35rem;
}
.shop-catalog-filter-field--colors {
  flex: 1 1 100%;
  min-width: 100%;
}
.shop-catalog-filter-field--price {
  flex: 1 1 100%;
  min-width: 100%;
}
.shop-catalog-price-range-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 0.5rem;
}
.shop-catalog-price-range-output {
  font-size: 0.82rem;
  color: var(--petronas);
  font-family: var(--font-display, inherit);
  white-space: nowrap;
}
.shop-catalog-price-range-track {
  position: relative;
  height: 2.75rem;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
}
.shop-catalog-price-range-rail {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 4px;
  margin-top: -2px;
  border-radius: 999px;
  background: #ffffff18;
  pointer-events: none;
}
.shop-catalog-price-range-fill {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 4px;
  margin-top: -2px;
  border-radius: 999px;
  background: var(--petronas);
  pointer-events: none;
  z-index: 1;
}
.shop-catalog-price-range-thumb {
  position: absolute;
  top: 50%;
  width: 1.1rem;
  height: 1.1rem;
  margin: -0.55rem 0 0 -0.55rem;
  padding: 0;
  border-radius: 50%;
  border: 2px solid #fff;
  background: var(--petronas);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
  cursor: grab;
  touch-action: none;
  z-index: 3;
}
.shop-catalog-price-range-thumb:active,
.shop-catalog-price-range-thumb.is-dragging {
  cursor: grabbing;
  transform: scale(1.08);
  z-index: 4;
}
.shop-catalog-price-range-thumb--max {
  z-index: 3;
}
.shop-catalog-price-range-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.shop-catalog-color-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.35rem;
}
.shop-catalog-color-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  border: 1px solid #ffffff22;
  background: #ffffff08;
  color: #ffffffcc;
  font-size: 0.78rem;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.shop-catalog-color-filter-btn:hover {
  border-color: rgba(0, 210, 190, 0.45);
  color: #fff;
}
.shop-catalog-color-filter-btn[data-hex]:hover {
  border-color: var(--scf-btn-color);
  background: color-mix(in srgb, var(--scf-btn-color) 22%, transparent);
}
.shop-catalog-color-filter-btn.is-active:not([data-hex]) {
  border-color: var(--petronas);
  background: rgba(0, 210, 190, 0.12);
  color: #fff;
}
.shop-catalog-color-filter-btn[data-hex].is-active {
  border-color: var(--scf-btn-color);
  background: var(--scf-btn-color);
  color: #fff;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
}
.shop-catalog-color-filter-btn[data-hex].is-active .shop-catalog-color-swatch {
  display: none;
}
.shop-catalog-color-swatch {
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 50%;
  border: 1px solid #ffffff35;
  flex-shrink: 0;
  background: #ffffff14;
  pointer-events: none;
}
.shop-catalog-color-label {
  line-height: 1.2;
  pointer-events: none;
}
.shop-catalog-color-filter-btn[data-hex]:not(.shop-catalog-color-filter-btn--named) .shop-catalog-color-label {
  font-family: ui-monospace, Consolas, monospace;
  font-size: 0.72rem;
  letter-spacing: 0.02em;
}
.shop-catalog-color-filter-btn[data-hex]:not(.shop-catalog-color-filter-btn--named).is-active .shop-catalog-color-label {
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
}

.product-recently-viewed,
.catalog-recently-viewed,
.home-recently-viewed {
  position: relative;
  z-index: 5;
}
.product-recently-viewed {
  margin: 1.25rem auto 2.75rem;
  padding-top: .5rem;
}
.catalog-recently-viewed {
  margin: .25rem auto 2rem;
}
.product-recently-viewed--cols-4 .products-grid,
.catalog-recently-viewed--cols-4 .products-grid,
.home-recently-viewed--cols-4 .products-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.product-recently-viewed--cols-3 .products-grid,
.catalog-recently-viewed--cols-3 .products-grid,
.home-recently-viewed--cols-3 .products-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.product-recently-viewed--cols-2 .products-grid,
.catalog-recently-viewed--cols-2 .products-grid,
.home-recently-viewed--cols-2 .products-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 1024px) {
  .product-recently-viewed--cols-4 .products-grid,
  .home-recently-viewed--cols-4 .products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .product-recently-viewed--cols-4 .products-grid,
  .product-recently-viewed--cols-3 .products-grid,
  .home-recently-viewed--cols-4 .products-grid,
  .home-recently-viewed--cols-3 .products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 480px) {
  .product-recently-viewed--cols-4 .products-grid,
  .product-recently-viewed--cols-3 .products-grid,
  .product-recently-viewed--cols-2 .products-grid,
  .home-recently-viewed--cols-4 .products-grid,
  .home-recently-viewed--cols-3 .products-grid,
  .home-recently-viewed--cols-2 .products-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Univers passion */
#main-content.passion-universe-page {
  max-width: 1200px;
  width: 100%;
}
.passion-universe-hero-actions {
  margin: 1rem 0 0;
}
.passion-universe-section {
  margin-bottom: 1.25rem;
}
.passion-universe-section.card {
  padding: 1.25rem;
}
.passion-universe-section--products {
  margin-top: .25rem;
}
.passion-universe-section-head {
  margin-bottom: 1rem;
}
.passion-universe-section-lead {
  margin: .35rem 0 0;
  color: #ffffff88;
  line-height: 1.55;
}
.passion-universe-products-grid {
  margin-top: .5rem;
}
.passion-universe-section-foot {
  margin: 1rem 0 0;
}
.passion-universe-subcats-grid {
  margin-top: .25rem;
}
.passion-universe-subcats-groups {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}
.passion-universe-subcats-group--nested + .passion-universe-subcats-group--nested {
  padding-top: 1.15rem;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.passion-universe-subcats-parent {
  margin-bottom: .75rem;
}
.passion-universe-subcats-parent-card {
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: .9rem 1rem;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(0, 210, 190, .22);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(0, 210, 190, .06), rgba(139, 92, 246, .04));
  transition: border-color .2s ease, transform .2s ease, background .2s ease;
}
.passion-universe-subcats-parent-card:hover {
  border-color: rgba(0, 210, 190, .42);
  transform: translateY(-1px);
  background: linear-gradient(135deg, rgba(0, 210, 190, .1), rgba(139, 92, 246, .06));
}
.passion-universe-subcats-parent-cover {
  flex-shrink: 0;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 10px;
  overflow: hidden;
  background: #0a0a0c;
}
.passion-universe-subcats-parent-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.passion-universe-subcats-parent-icon {
  flex-shrink: 0;
}
.passion-universe-subcats-parent-copy {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .15rem;
}
.passion-universe-subcats-parent-kicker {
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--petronas);
}
.passion-universe-subcats-parent-name {
  font-size: 1rem;
  line-height: 1.25;
  color: #fff;
}
.passion-universe-subcats-parent-desc {
  font-size: .78rem;
  color: #ffffff66;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.passion-universe-subcats-parent-cta {
  flex-shrink: 0;
  font-size: .78rem;
  color: #ffffff55;
  transition: color .2s ease, transform .2s ease;
}
.passion-universe-subcats-parent-card:hover .passion-universe-subcats-parent-cta {
  color: var(--petronas);
  transform: translateX(2px);
}
.passion-universe-subcat-card {
  min-height: 4.5rem;
}
.passion-universe-subcat-card.has-brand-color {
  background: color-mix(in srgb, var(--subcat-brand-color) 28%, #101016);
  border-color: color-mix(in srgb, var(--subcat-brand-color) 46%, rgba(255, 255, 255, .1));
}
.passion-universe-subcat-card.has-brand-color:hover {
  background: color-mix(in srgb, var(--subcat-brand-color) 38%, #101016);
  border-color: color-mix(in srgb, var(--subcat-brand-color) 62%, rgba(255, 255, 255, .14));
}
.passion-universe-subcat-card.has-brand-color .home-category-icon {
  background: var(--subcat-brand-color);
  color: var(--subcat-brand-text, #fff);
}
.passion-universe-subcat-card.has-brand-color .passion-universe-subcat-cover {
  box-shadow: inset 0 0 0 2px var(--subcat-brand-color);
}
.passion-universe-subcat-card.has-brand-color .home-category-name {
  color: #fff;
}
.passion-universe-subcat-card.has-brand-color .home-category-desc {
  color: color-mix(in srgb, #ffffff 72%, var(--subcat-brand-color));
}
.passion-universe-subcat-card.has-brand-color .home-category-arrow {
  color: color-mix(in srgb, var(--subcat-brand-color) 55%, #ffffff);
}
.passion-universe-subcat-card.has-brand-color:hover .home-category-arrow {
  color: #fff;
}
.passion-universe-subcat-cover {
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 10px;
  overflow: hidden;
  background: #0a0a0c;
}
.passion-universe-subcat-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.passion-universe-tuto-grid {
  display: grid;
  grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
  gap: 1.25rem;
  align-items: center;
}
.passion-universe-tuto-media {
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
}
.passion-universe-tuto-media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
@media (max-width: 720px) {
  .passion-universe-tuto-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Accueil ? cartes univers passion */
.home-passion-section {
  padding-top: 1.5rem;
  padding-bottom: .5rem;
}
.home-passion-cards-wrap {
  position: relative;
  min-width: 0;
  max-width: 100%;
  --home-passion-gap: 1rem;
}
.home-passion-cards-track {
  display: grid;
  grid-template-columns: repeat(var(--home-passion-columns, 4), minmax(0, 1fr));
  gap: var(--home-passion-gap);
  min-width: 0;
}
.home-passion-cards-wrap.is-slider-mode {
  overflow-x: clip;
}
.home-passion-cards-wrap.is-slider-mode .home-passion-cards-track {
  display: flex;
  gap: var(--home-passion-gap);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: .2rem;
}
.home-passion-cards-wrap.is-slider-mode .home-passion-cards-track::-webkit-scrollbar {
  display: none;
}
.home-passion-cards-wrap.is-slider-mode .home-passion-card {
  flex: 0 0 calc((100% - (var(--home-passion-columns, 4) - 1) * var(--home-passion-gap)) / var(--home-passion-columns, 4));
  scroll-snap-align: start;
  scroll-snap-stop: always;
  min-width: 0;
}
.home-passion-slider-nav {
  display: none;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  margin-top: .85rem;
}
.home-passion-cards-wrap.is-slider-mode .home-passion-slider-nav {
  display: flex;
}
.home-passion-slider-btn {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  border: 1px solid rgba(0, 210, 190, 0.45);
  background: rgba(0, 0, 0, 0.45);
  color: var(--petronas);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  transition: background .2s, border-color .2s, opacity .2s;
}
.home-passion-slider-btn:hover:not(:disabled) {
  background: rgba(0, 210, 190, 0.12);
  border-color: var(--petronas);
}
.home-passion-slider-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.home-passion-slider-dots {
  display: flex;
  align-items: center;
  gap: .45rem;
}
.home-passion-slider-dot {
  width: .45rem;
  height: .45rem;
  border-radius: 999px;
  border: none;
  padding: 0;
  background: rgba(255, 255, 255, 0.28);
  cursor: pointer;
  transition: transform .2s, background .2s;
}
.home-passion-slider-dot.is-active {
  background: var(--petronas);
  transform: scale(1.35);
}
.home-passion-card {
  display: grid;
  grid-template-rows: auto auto;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(255, 255, 255, .08);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.home-passion-card:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 210, 190, .35);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .35);
}
.home-passion-card-media {
  display: block;
  position: relative;
  overflow: hidden;
  background: #0a0a0c;
  aspect-ratio: 16 / 9;
}
.home-passion-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .25s ease;
}
.home-passion-card:hover .home-passion-card-media img {
  transform: scale(1.04);
}
.home-passion-card-body {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  padding: 1rem 1.05rem 1.1rem;
}
.home-passion-card-kicker {
  font-size: .62rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--petronas);
}
.home-passion-card-title {
  font-size: 1rem;
  line-height: 1.25;
  color: var(--text-primary);
}
.home-passion-card-lead {
  font-size: .82rem;
  line-height: 1.45;
  color: var(--text-secondary);
  margin: 0;
}
.home-passion-card-cta {
  margin-top: .35rem;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-family: 'Orbitron', sans-serif;
  color: var(--petronas);
}
@media (max-width: 1024px) and (min-width: 769px) {
  .home-passion-cards-wrap:not(.is-slider-mode) .home-passion-cards-track {
    grid-template-columns: repeat(min(var(--home-passion-columns, 4), 2), minmax(0, 1fr));
  }
  .home-passion-cards-wrap.is-slider-mode {
    --home-passion-columns: 2;
  }
}
@media (max-width: 768px) {
  .home-passion-section .section-title {
    font-size: clamp(1.35rem, 5.2vw, 1.85rem);
    line-height: 1.2;
  }
  .home-passion-cards-wrap.is-slider-mode {
    overflow-x: clip;
  }
  .home-passion-cards-wrap.is-slider-mode .home-passion-cards-track {
    display: flex;
    gap: var(--home-passion-gap);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: .25rem;
  }
  .home-passion-cards-wrap.is-slider-mode .home-passion-cards-track::-webkit-scrollbar {
    display: none;
  }
  .home-passion-cards-wrap.is-slider-mode .home-passion-card {
    flex: 0 0 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    min-width: 0;
  }
  .home-passion-cards-wrap:not(.is-slider-mode) .home-passion-cards-track {
    grid-template-columns: 1fr;
  }
}

/* Impression logo ? landings usages */
.logo-print-landings-hub {
  padding-bottom: 3rem;
}
.logo-print-landing-header {
  margin-bottom: 2rem;
  max-width: 40rem;
}
.logo-print-landing-lead {
  margin: .75rem 0 0;
  color: var(--text-secondary);
  line-height: 1.6;
  font-size: 1rem;
}
.logo-print-landings-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.logo-print-landing-card {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  padding: 1.25rem;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(255, 255, 255, .08);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.logo-print-landing-card:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 210, 190, .35);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .35);
}
.logo-print-landing-card-kicker {
  font-size: .62rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--petronas);
}
.logo-print-landing-card-title {
  font-size: 1.05rem;
  line-height: 1.3;
}
.logo-print-landing-card-meta,
.logo-print-landing-card-price {
  font-size: .85rem;
  color: var(--text-secondary);
}
.logo-print-landing-card-cta {
  margin-top: .35rem;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-family: 'Orbitron', sans-serif;
  color: var(--petronas);
}
.logo-print-landing-page {
  padding-bottom: 3rem;
}
.logo-print-landing-hero {
  padding: 0 0 1.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  margin-bottom: 1.5rem;
}
.logo-print-landing-hero-inner {
  max-width: 44rem;
}
.logo-print-landing-back {
  display: inline-block;
  margin-bottom: 1rem;
  font-size: .82rem;
  color: #ffffff88;
  text-decoration: none;
}
.logo-print-landing-back:hover {
  color: var(--petronas);
}
.logo-print-landing-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 1rem;
  align-items: start;
}
.logo-print-landing-copy,
.logo-print-landing-aside {
  padding: 1.25rem;
}
.logo-print-landing-bullets {
  margin: 0;
  padding-left: 1.1rem;
  display: flex;
  flex-direction: column;
  gap: .65rem;
  color: var(--text-secondary);
  line-height: 1.55;
}
.logo-print-landing-aside-title {
  font-size: 1rem;
  margin: 0 0 1rem;
}
.logo-print-landing-specs {
  margin: 0;
  display: grid;
  gap: .75rem;
}
.logo-print-landing-specs dt {
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #ffffff66;
  margin-bottom: .15rem;
}
.logo-print-landing-specs dd {
  margin: 0;
  font-size: .95rem;
}
.btn-block {
  display: block;
  width: 100%;
  text-align: center;
}
.product-logo-landing-preset-note {
  margin: 0 0 1rem;
  padding: .75rem 1rem;
  border-radius: 8px;
  border: 1px solid rgba(0, 210, 190, .25);
  background: rgba(0, 210, 190, .06);
  font-size: .85rem;
  color: #ffffffcc;
  line-height: 1.45;
}
@media (max-width: 900px) {
  .logo-print-landings-grid {
    grid-template-columns: 1fr;
  }
  .logo-print-landing-layout {
    grid-template-columns: 1fr;
  }
}

/* Certificat kit */
.kit-certificate-doc {
  padding: 0;
  overflow: hidden;
}
.kit-certificate-sheet {
  padding: 1.5rem 1.75rem;
}
.kit-certificate-sheet--break {
  border-top: 1px dashed #ffffff22;
  margin-top: .5rem;
  padding-top: 1.75rem;
}
.kit-certificate-header {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.kit-certificate-kicker {
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--petronas);
  margin: 0 0 .35rem;
}
.kit-certificate-title {
  margin: 0;
  font-size: 1.35rem;
}
.kit-certificate-number {
  font-family: 'Orbitron', sans-serif;
  font-size: 1.15rem;
  color: var(--petronas);
  margin: 0 0 .35rem;
}
.kit-certificate-meta p {
  margin: 0 0 .2rem;
  font-size: .85rem;
  color: #ffffff88;
}
.kit-certificate-block {
  margin-bottom: 1rem;
}
.kit-certificate-block h3 {
  margin: 0 0 .35rem;
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #ffffff66;
}
.kit-certificate-block p,
.kit-certificate-list {
  margin: 0;
  line-height: 1.55;
  color: #ffffffcc;
}
.kit-certificate-list {
  padding-left: 1.1rem;
}
.kit-certificate-foot {
  margin: 1.25rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid #ffffff14;
  font-size: .82rem;
  color: #ffffff77;
}
@media print {
  .kit-certificate-sheet--break {
    page-break-before: always;
    border-top: none;
    margin-top: 0;
    padding-top: 1.5rem;
  }
}

/* ??? Impression logo ? parcours UX ??? */
.logo-print-steps {
  margin: 0 0 1.25rem;
  padding: 1rem 1.1rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.logo-print-steps-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .5rem;
}
.logo-print-step {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  opacity: .45;
}
.logo-print-step.is-active,
.logo-print-step.is-complete {
  opacity: 1;
}
.logo-print-step-num {
  flex-shrink: 0;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .75rem;
  font-weight: 700;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff99;
}
.logo-print-step.is-active .logo-print-step-num {
  background: var(--petronas);
  border-color: var(--petronas);
  color: #041018;
}
.logo-print-step.is-complete .logo-print-step-num {
  background: rgba(0, 210, 190, .2);
  border-color: rgba(0, 210, 190, .45);
  color: var(--petronas);
}
.logo-print-step-label {
  display: block;
  font-size: .78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.logo-print-step-hint {
  display: block;
  font-size: .68rem;
  color: #ffffff66;
  margin-top: .1rem;
  line-height: 1.3;
}
.logo-print-steps-progress {
  margin-top: .85rem;
  height: 3px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}
.logo-print-steps-progress-fill {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--petronas), var(--cyan));
  border-radius: inherit;
  transition: width .25s ease;
}
.logo-print-how-it-works {
  margin: 0 0 1.5rem;
  padding: 1.25rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.02);
}
.logo-print-landing-how {
  padding-bottom: 0;
}
.logo-print-how-it-works--landing {
  margin-top: 1.5rem;
}
.logo-print-how-it-works-title {
  margin: 0 0 1rem;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.logo-print-how-it-works-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .75rem;
}
.logo-print-how-it-works-step {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  padding: .75rem;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.logo-print-how-it-works-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 210, 190, .12);
  color: var(--petronas);
  font-size: 1rem;
}
.logo-print-how-it-works-step-title {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.logo-print-how-it-works-step-text {
  font-size: .78rem;
  color: #ffffff88;
  line-height: 1.45;
}
.logo-print-tier-comparator {
  margin: 0 0 1.5rem;
  padding: 1.25rem;
}
.logo-print-tier-comparator-title {
  margin: 0 0 .35rem;
  font-size: 1.1rem;
}
.logo-print-tier-comparator-lead {
  margin: 0 0 1rem;
  font-size: .85rem;
  color: #ffffff88;
  line-height: 1.45;
}
.logo-print-tier-comparator-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: .65rem;
}
.logo-print-tier-comparator-card {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  padding: .85rem 1rem;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.2);
  color: inherit;
  text-decoration: none;
  transition: border-color .15s, transform .15s;
}
.logo-print-tier-comparator-card:hover {
  border-color: rgba(0, 210, 190, .45);
  transform: translateY(-1px);
}
.logo-print-tier-comparator-card.is-highlight {
  border-color: var(--petronas);
  background: rgba(0, 210, 190, .08);
}
.logo-print-tier-comparator-qty {
  font-size: 1.15rem;
}
.logo-print-tier-comparator-unit {
  font-size: .82rem;
  color: var(--petronas);
}
.logo-print-tier-comparator-total {
  font-size: .75rem;
  color: #ffffff77;
}
.logo-print-tier-comparator-card--static {
  cursor: default;
  text-decoration: none;
  color: inherit;
}
.logo-print-tier-comparator-card--static:hover {
  border-color: rgba(255, 255, 255, 0.1);
  transform: none;
}
.logo-print-tier-comparator--readonly .logo-print-tier-comparator-card {
  pointer-events: none;
}
.logo-print-tier-comparator-foot--muted {
  color: #ffffff66;
  font-size: .8rem;
}
.logo-print-tier-comparator-foot--muted a {
  color: inherit;
  pointer-events: none;
  text-decoration: none;
}
.logo-print-tier-comparator-save {
  font-size: .72rem;
  color: var(--cyan);
  margin-top: .15rem;
}
.logo-print-tier-comparator-save--muted {
  color: #ffffff55;
}
.logo-print-tier-comparator-foot {
  margin: .85rem 0 0;
  font-size: .8rem;
}
.logo-print-tier-comparator-foot a {
  color: var(--petronas);
}
.logo-print-order-recap {
  margin: 1.25rem 0 0;
  padding: 1rem 1.1rem;
  border-radius: 12px;
  border: 1px solid rgba(0, 210, 190, .28);
  background: rgba(0, 210, 190, .06);
}
.logo-print-order-recap-title {
  margin: 0 0 .75rem;
  font-size: .9rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.logo-print-order-recap-list {
  margin: 0;
  display: grid;
  gap: .55rem;
}
.logo-print-order-recap-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: .85rem;
}
.logo-print-order-recap-row dt {
  color: #ffffff77;
  margin: 0;
}
.logo-print-order-recap-row dd {
  margin: 0;
  font-weight: 600;
  text-align: right;
}
.logo-print-order-recap-row--total dd {
  color: var(--petronas);
  font-size: 1rem;
}
.logo-print-order-recap-note {
  margin: .75rem 0 0;
  font-size: .72rem;
  color: #ffffff66;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .logo-print-steps-list {
    grid-template-columns: 1fr;
  }
  .logo-print-how-it-works-steps {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  .logo-print-how-it-works-steps {
    grid-template-columns: 1fr;
  }
}

/* Popup site configurable (admin/popup.php) */
.site-popup {
  position: fixed;
  inset: 0;
  z-index: 1180;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  pointer-events: none;
}
.site-popup.is-visible { pointer-events: auto; }
.site-popup-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3, 3, 4, .62);
  backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity .28s ease;
}
.site-popup.is-visible .site-popup-backdrop { opacity: 1; }
body.site-popup-open { overflow: hidden; }
.site-popup-panel {
  position: relative;
  width: min(100%, 34rem);
  max-height: min(88vh, 44rem);
  overflow: auto;
  margin: 0;
  padding: 0;
  transform: translateY(12px) scale(.98);
  opacity: 0;
  transition: transform .28s ease, opacity .28s ease;
  border: 1px solid #ffffff14;
}
.site-popup.is-visible .site-popup-panel {
  transform: translateY(0) scale(1);
  opacity: 1;
}
.site-popup-close {
  position: absolute;
  top: .65rem;
  right: .65rem;
  z-index: 2;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, .45);
  color: #fff;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}
.site-popup-close:hover { background: rgba(0, 0, 0, .65); }
.site-popup-admin-preview {
  margin: 0;
  padding: .45rem 1rem;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-align: center;
  color: #92400e;
  background: #fffbeb;
  border-bottom: 1px solid #fcd34d;
}
.site-popup-hero img {
  display: block;
  width: 100%;
  max-height: 12rem;
  object-fit: cover;
  border-radius: 12px 12px 0 0;
}
.site-popup-body { padding: 1.25rem 1.25rem 1.35rem; }
.site-popup-title {
  margin: 0 0 .45rem;
  font-size: 1.35rem;
  line-height: 1.2;
  color: #fff;
}
.site-popup-subtitle {
  margin: 0 0 1rem;
  color: #ffffff88;
  font-size: .92rem;
  line-height: 1.5;
}
.site-popup-block {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #ffffff12;
}
.site-popup-block-title {
  margin: 0 0 .55rem;
  font-size: .95rem;
  color: var(--petronas);
}
.site-popup-block-lead {
  margin: 0 0 .75rem;
  color: #ffffff88;
  font-size: .88rem;
  line-height: 1.5;
}
.site-popup-block--info {
  color: #ffffffcc;
  font-size: .9rem;
  line-height: 1.55;
}
.site-popup-promo-row {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  align-items: center;
  margin-bottom: .65rem;
}
.site-popup-promo-code {
  display: inline-block;
  padding: .45rem .7rem;
  border-radius: 8px;
  background: #ffffff10;
  color: var(--petronas);
  font-size: 1rem;
  letter-spacing: .04em;
}
.site-popup-promo-link { width: 100%; margin-top: .25rem; }
.site-popup-products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
  gap: .65rem;
}
.site-popup-product {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  padding: .55rem;
  border-radius: 10px;
  background: #ffffff08;
  color: inherit;
  text-decoration: none;
  transition: background .2s ease;
}
.site-popup-product:hover { background: #ffffff12; }
.site-popup-product img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 8px;
  background: #000;
}
.site-popup-product-name {
  font-size: .78rem;
  line-height: 1.35;
  color: #fff;
}
.site-popup-product-price {
  font-size: .76rem;
  color: var(--petronas);
}
.site-popup-newsletter-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .55rem;
}
.site-popup-survey-options {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  margin-bottom: .65rem;
}
.site-popup-survey-option {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  font-size: .88rem;
  color: #ffffffcc;
  cursor: pointer;
}
.site-popup-survey-text { width: 100%; margin-bottom: .65rem; resize: vertical; }
.site-popup-feedback {
  margin: .55rem 0 0;
  font-size: .82rem;
  color: #ffffff88;
}
.site-popup-feedback.is-success { color: var(--petronas); }
.site-popup-feedback.is-error { color: var(--magenta); }
.site-popup-actions { margin-top: 1rem; }
.site-popup-actions .btn { width: 100%; }
@media (max-width: 560px) {
  .site-popup-newsletter-form { grid-template-columns: 1fr; }
  .site-popup-panel { width: 100%; }
}

/* Admin commandes ? lisibilit? filtres / statuts */
.admin-orders-page .admin-filter-chip {
  font-size: .92rem;
  padding: .5rem .92rem;
  line-height: 1.25;
}
.admin-orders-page .admin-orders-filters {
  gap: .5rem;
}
.admin-orders-page .admin-filter-count {
  font-size: .95em;
  opacity: .8;
}
.admin-orders-page .admin-orders-status-select .label,
.admin-orders-page .admin-orders-filters-label {
  font-size: .78rem;
}
.admin-orders-page .admin-orders-status-select .input,
.admin-orders-page .admin-select-sm {
  font-size: .86rem;
}
.admin-orders-page .admin-orders-filters--client .admin-filter-chip--client-awaiting-client-reply.is-active {
  color: var(--warn);
  border-color: rgba(139, 92, 246, .45);
  background: rgba(139, 92, 246, .12);
}
.admin-orders-page .admin-orders-filters--client .admin-filter-chip--client-client-replied.is-active {
  color: #fca5a5;
  border-color: rgba(244, 63, 94, .45);
  background: rgba(244, 63, 94, .12);
}
.admin-orders-col-client-status {
  min-width: 9.5rem;
}
.admin-orders-page .admin-orders-backfill {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
  margin-left: .25rem;
}
.admin-orders-page .admin-orders-backfill-form,
.admin-orders-page .admin-orders-backfill form {
  margin: 0;
}
.admin-orders-page .admin-orders-backfill-meta {
  font-size: .74rem;
  color: #ffffff88;
  white-space: nowrap;
}
.admin-orders-page .admin-orders-backfill-reset {
  font-size: .74rem;
  padding: .32rem .55rem;
}
.admin-orders-client-status-empty {
  color: #ffffff44;
  font-size: .85rem;
}
.admin-status-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1rem;
}
.admin-status-tab {
  display: inline-flex;
  align-items: center;
  padding: .45rem .85rem;
  border-radius: 999px;
  border: 1px solid rgba(139, 92, 246, .25);
  color: #ffffff88;
  text-decoration: none;
  font-size: .88rem;
  transition: .2s;
}
.admin-status-tab:hover,
.admin-status-tab.is-active {
  color: var(--petronas);
  border-color: rgba(0, 210, 190, .4);
  background: rgba(0, 210, 190, .08);
}
.admin-status-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  align-items: center;
  justify-content: flex-end;
}
.admin-status-actions form {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .35rem;
  align-items: center;
  margin: 0;
}
.admin-status-delete-form select {
  min-width: 9rem;
  max-width: 12rem;
}
@media (max-width: 600px) {
  .admin-orders-page .admin-filter-chip {
    font-size: .88rem;
    padding: .46rem .82rem;
  }
}

/* Contenu 18+ ? floutage catalogue, modale au clic, ic?ne warning apr?s confirmation */
.product-img--adults-only {
  position: relative;
  overflow: hidden;
}
.product-img--adults-only img,
.product-card--adults-only img,
.product-card--adults-only .product-img img,
.product-card--adults-only .product-card-flip-face--back img,
.product-card--adults-only .catalog-inject-promo-media img {
  filter: blur(16px);
  transform: scale(1.06);
  transition: filter .35s ease, transform .35s ease;
}
html:not(.gxs-adults-confirmed) .product-card--adults-only .product-img,
html:not(.gxs-adults-confirmed) .product-card--adults-only .catalog-inject-promo-media,
html:not(.gxs-adults-confirmed) .product-card--adults-only .product-img-flip {
  overflow: hidden;
}
.gxs-adults-confirmed .product-img--adults-only img,
.gxs-adults-confirmed .product-card--adults-only img,
.gxs-adults-confirmed .product-card--adults-only .product-img img,
.gxs-adults-confirmed .product-card--adults-only .product-card-flip-face--back img,
.gxs-adults-confirmed .product-card--adults-only .catalog-inject-promo-media img {
  filter: none;
  transform: none;
}
.product-adults-badge {
  position: absolute;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: .2rem;
  pointer-events: none;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: .45rem .85rem;
  border-radius: 999px;
  font-size: .95rem;
  font-weight: 800;
  letter-spacing: .08em;
  color: #fff;
  background: rgba(8, 8, 14, .72);
  border: 1px solid rgba(255, 255, 255, .22);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
  transition: top .25s ease, left .25s ease, right .25s ease, transform .25s ease, background .25s ease, color .25s ease, padding .25s ease, font-size .25s ease;
}
.product-adults-warning-icon {
  display: none;
  font-size: .95em;
  line-height: 1;
}
.gxs-adults-confirmed .product-adults-badge {
  top: .5rem;
  right: .5rem;
  left: auto;
  transform: none;
  padding: .28rem .55rem;
  font-size: .72rem;
  letter-spacing: .06em;
  color: #0a0614;
  background: linear-gradient(135deg, var(--violet-bright), var(--violet));
  border: 1px solid rgba(109, 40, 217, .45);
  box-shadow: 0 4px 14px rgba(139, 92, 246, .35);
}
.gxs-adults-confirmed .product-adults-warning-icon {
  display: inline;
}
.adults-only-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 1195;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: rgba(3, 3, 4, .9);
  backdrop-filter: blur(8px);
  animation: modalFadeIn .25s ease;
}
body.adults-only-modal-open {
  overflow: hidden;
}
.adults-only-modal {
  width: 100%;
  max-width: 440px;
  text-align: center;
  padding: 2rem 1.5rem 1.35rem;
  border-color: rgba(244, 63, 94, .35);
  box-shadow: 0 24px 64px rgba(0, 0, 0, .45);
  animation: modalSlideUp .3s ease;
}
.adults-only-modal-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  margin: 0 auto .85rem;
  border-radius: 50%;
  font-size: 1rem;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg, #f43f5e, #be123c);
  border: 2px solid rgba(255, 255, 255, .18);
}
.adults-only-modal-title {
  font-size: 1.15rem;
  text-transform: uppercase;
  margin: 0 0 .65rem;
}
.adults-only-modal-text {
  margin: 0;
  color: #ffffffb3;
  font-size: .92rem;
  line-height: 1.55;
}
.adults-only-modal-actions {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  margin-top: 1.35rem;
}
.adults-only-modal-actions .btn {
  width: 100%;
}

.seo-tags-dl {
  display: grid;
  gap: .75rem;
  margin: 0;
}
.seo-tags-dl dt {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #ffffff66;
  margin: 0;
}
.seo-tags-dl dd {
  margin: 0;
}
.seo-tags-dl code {
  display: block;
  white-space: pre-wrap;
  word-break: break-word;
  font-size: .82rem;
  color: #d4f5ef;
}
.seo-tags-list {
  margin: 0;
  padding-left: 1rem;
  color: #ffffffb3;
  font-size: .85rem;
  line-height: 1.5;
}
.seo-pages-meta-table .input {
  font-size: .82rem;
}
.seo-pages-meta-page {
  min-width: 10rem;
}
.seo-pages-meta-page a {
  display: block;
  margin-top: .2rem;
  word-break: break-all;
}
.seo-pages-meta-actions {
  white-space: nowrap;
}
.seo-pages-meta-actions form {
  margin-right: .35rem;
}
.seo-schema-preview,
.seo-llms-preview {
  margin: .75rem 0 0;
  padding: .85rem 1rem;
  border-radius: 8px;
  background: rgba(0, 0, 0, .28);
  border: 1px solid #ffffff12;
  color: #ffffffb8;
  font-size: .78rem;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
  max-height: 24rem;
  overflow: auto;
}
.admin-stat-list {
  margin: 0;
  padding-left: 1.1rem;
  color: #ffffffb3;
  line-height: 1.6;
}
.seo-bulk-meta-modes {
  border: 0;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .65rem;
}
.seo-bulk-meta-mode {
  align-items: flex-start;
  gap: .55rem;
}
.seo-bulk-meta-mode span {
  display: grid;
  gap: .2rem;
}
.seo-bulk-meta-mode .product-admin-hint {
  margin: 0;
}
.seo-bulk-meta-confirm {
  margin-top: .85rem;
}

/* Pr?commande ? fiche produit */
.product-preorder-banner {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  margin: 0 0 1.25rem;
  padding: 1rem 1.15rem;
  border-radius: 12px;
  border: 1px solid rgba(139, 92, 246, .28);
  background: linear-gradient(135deg, rgba(139, 92, 246, .1), rgba(245, 158, 11, .06));
}
.product-preorder-icon {
  flex: 0 0 auto;
  width: 2.5rem;
  height: 2.5rem;
  color: var(--violet-bright);
}
.product-preorder-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.product-preorder-body {
  min-width: 0;
}
.product-preorder-kicker {
  margin: 0 0 .35rem;
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--violet-bright);
}
.product-preorder-lead {
  margin: 0;
  font-size: .92rem;
  line-height: 1.5;
  color: #ffffffcc;
}
.product-preorder-countdown-wrap {
  margin: .55rem 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .65rem;
}
.product-preorder-countdown-label {
  font-size: .82rem;
  color: #ffffff80;
}
.product-preorder-date {
  margin: .45rem 0 0;
  font-size: .82rem;
  color: #ffffff70;
}
.badge-preorder {
  background: linear-gradient(135deg, var(--violet), var(--violet-deep));
  color: #ffffff;
}

/* Doublon master / fiche couleur : masqué par catalog-grid-fill.js */
#products-container [data-catalog-product][data-catalog-family-dup="1"] {
  display: none !important;
}

/* Templates carte produit */
.product-card--compact .product-card-body {
  padding: .65rem .75rem;
}
.product-card--compact .product-img,
.product-card--compact .product-card-flip-scene {
  aspect-ratio: 4 / 3;
}
.product-card--compact .product-name {
  font-size: .88rem;
  line-height: 1.35;
}
.product-card--compact .product-price {
  font-size: 1.05rem;
}
.product-card--featured {
  border-color: rgba(0, 210, 190, .35) !important;
  box-shadow: 0 8px 28px rgba(0, 210, 190, .12);
}
.product-card--featured .product-name {
  font-size: 1.02rem;
}
.product-card--featured .product-img,
.product-card--featured .product-card-flip-scene {
  aspect-ratio: 5 / 4;
}
.product-card--editorial .product-img,
.product-card--editorial .product-card-flip-scene {
  aspect-ratio: 16 / 10;
}
.product-card--editorial .product-name {
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .82rem;
}
.product-card--editorial .product-card-body {
  padding: .85rem 1rem 1rem;
}

/* Templates fiche produit */
.product-page-grid--gallery {
  grid-template-columns: 1fr;
}
.product-page-grid--gallery .product-gallery-sticky {
  position: static;
}
.product-page-grid--gallery .product-page-img,
.product-page-grid--gallery .product-page-img-photo {
  max-height: min(58vh, 760px);
  aspect-ratio: auto;
}
.product-page-grid--stacked {
  grid-template-columns: 1fr;
  gap: 2rem;
}
.product-page-grid--stacked .product-gallery-sticky {
  position: static;
}
.product-page-grid--stacked .product-page-details {
  max-width: 42rem;
}
.product-page-grid--minimal {
  gap: 1rem;
}
.product-page-grid--minimal .product-gallery-sticky {
  top: calc(var(--product-gallery-sticky-top) + .5rem);
}
.product-page-grid--minimal .product-page-img {
  min-height: 220px;
}
.product-page-grid--minimal .product-gallery-thumbs {
  gap: .45rem;
}

/* Admin pr?commandes */
.admin-preorder-status {
  display: inline-flex;
  align-items: center;
  padding: .2rem .55rem;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .03em;
}
.admin-preorder-status--scheduled {
  background: rgba(139, 92, 246, .18);
  color: var(--violet-bright);
  border: 1px solid rgba(139, 92, 246, .35);
}
.admin-preorder-status--open {
  background: rgba(0, 210, 190, .14);
  color: var(--petronas);
  border: 1px solid rgba(0, 210, 190, .3);
}
.admin-tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  margin-left: .35rem;
  padding: 0 .35rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 700;
  background: rgba(255, 255, 255, .08);
  color: #ffffff99;
}
.admin-product-tab.is-active .admin-tab-count {
  background: rgba(0, 210, 190, .2);
  color: var(--petronas);
}
.admin-badge--preorder {
  color: #fcd34d;
  background: rgba(245, 158, 11, .14);
  border-color: rgba(245, 158, 11, .32);
}
.admin-badge--compact {
  font-size: .62rem;
  margin-left: .35rem;
  vertical-align: middle;
}
.admin-orders-preorder-tag {
  display: inline-flex;
  align-items: center;
  margin-left: .35rem;
  padding: .12rem .45rem;
  border-radius: 999px;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fcd34d;
  background: rgba(245, 158, 11, .14);
  border: 1px solid rgba(245, 158, 11, .32);
  vertical-align: middle;
}

/* Complet votre look - liaisons categories (admin) */
.complet-look-links-layout {
  display: grid;
  gap: 1.25rem;
}
@media (min-width: 960px) {
  .complet-look-links-layout {
    grid-template-columns: 1.2fr 1fr;
    align-items: start;
  }
}
.complet-look-links-pool {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .85rem;
}
.complet-look-links-pool-title {
  margin: 0 0 .35rem;
  font-size: .85rem;
  font-weight: 600;
  color: #fff;
}
.complet-look-links-pool-hint {
  margin: 0 0 .5rem;
  font-size: .75rem;
  color: #ffffff66;
  line-height: 1.35;
}
.complet-look-links-tree {
  max-height: 22rem;
  overflow: auto;
  padding: .5rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  background: rgba(0,0,0,.2);
}
.complet-look-links-tree.is-drop-active {
  border-color: rgba(0, 200, 220, .55);
  background: rgba(0, 180, 200, .08);
}
.complet-look-links-cat {
  display: flex;
  align-items: center;
  gap: .4rem;
  padding: .35rem .45rem;
  margin-left: calc(var(--look-depth, 0) * .85rem);
  border-radius: 6px;
  cursor: grab;
  font-size: .82rem;
  color: #ffffffd0;
  user-select: none;
}
.complet-look-links-cat:hover {
  background: rgba(255,255,255,.06);
}
.complet-look-links-cat.is-dragging {
  opacity: .45;
}
.complet-look-links-cat-handle {
  color: #ffffff55;
  font-size: .7rem;
  letter-spacing: -.05em;
  flex-shrink: 0;
}
.complet-look-links-cat-name {
  min-width: 0;
  flex: 1 1 auto;
}
.complet-look-links-cat.has-children .complet-look-links-cat-name {
  font-weight: 600;
}
.complet-look-links-cat-badge,
.complet-look-link-badge {
  flex-shrink: 0;
  font-size: .68rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--petronas, #00a19a);
  background: rgba(0, 161, 154, .14);
  border: 1px solid rgba(0, 161, 154, .35);
  border-radius: 999px;
  padding: .12rem .45rem;
  white-space: nowrap;
}
.complet-look-link-badge {
  display: inline-block;
  margin-left: .35rem;
  vertical-align: middle;
}
.complet-look-links-cat-expand {
  flex-shrink: 0;
  margin: 0;
  padding: .15rem .4rem;
  font-size: .68rem;
  line-height: 1.2;
  border-radius: 5px;
  border: 1px solid rgba(160, 100, 220, .45);
  background: rgba(120, 60, 180, .18);
  color: #e8d4ff;
  cursor: pointer;
}
.complet-look-links-cat-expand:hover {
  background: rgba(120, 60, 180, .32);
  border-color: rgba(180, 120, 240, .65);
}
.complet-look-links-cat.is-picked {
  outline: 1px solid rgba(0, 200, 220, .55);
  background: rgba(0, 180, 200, .12);
}
.complet-look-links-list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  min-height: 4rem;
}
.complet-look-links-empty {
  margin: 0;
  padding: 1rem;
  font-size: .85rem;
  color: #ffffff66;
  border: 1px dashed rgba(255,255,255,.15);
  border-radius: 8px;
  text-align: center;
}
.complet-look-link-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.4fr) auto;
  gap: .65rem;
  align-items: start;
  padding: .75rem .85rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  background: rgba(0,0,0,.18);
}
.complet-look-link-row.is-drag-over {
  border-color: rgba(0, 200, 220, .5);
  background: rgba(0, 180, 200, .08);
}
@media (max-width: 720px) {
  .complet-look-link-row {
    grid-template-columns: 1fr;
  }
  .complet-look-links-pool {
    grid-template-columns: 1fr;
  }
}
.complet-look-link-label {
  display: block;
  font-size: .7rem;
  color: #ffffff66;
  margin-bottom: .15rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.complet-look-link-arrow {
  align-self: center;
  color: #ffffff66;
  font-size: 1.1rem;
}
.complet-look-link-targets {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  min-height: 1.5rem;
}
.complet-look-link-target {
  display: flex;
  align-items: center;
  gap: .35rem;
  padding: .3rem .45rem;
  border-radius: 6px;
  background: rgba(255,255,255,.06);
  font-size: .82rem;
  cursor: grab;
  user-select: none;
}
.complet-look-link-target.is-dragging {
  opacity: .4;
}
.complet-look-link-target-remove {
  margin-left: auto;
  border: 0;
  background: transparent;
  color: #ffffff88;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  padding: .1rem .25rem;
}
.complet-look-link-target-remove:hover {
  color: #ff8a80;
}

.complet-look-link-row.is-flash {
  border-color: rgba(0, 200, 220, .65);
  box-shadow: 0 0 0 1px rgba(0, 200, 220, .25);
}

/* Aper?u 3D spectateur */
.gxs-spectator-page {
  padding-bottom: calc(3rem + env(safe-area-inset-bottom, 0px));
}
.gxs-spectator-hero {
  margin: 0 0 1.25rem;
  max-width: 42rem;
}
.gxs-spectator-kicker {
  margin-bottom: .35rem;
}
.gxs-spectator-title {
  margin: 0 0 .55rem;
  font-size: clamp(1.45rem, 3vw, 2.1rem);
  letter-spacing: .02em;
}
.gxs-spectator-lead {
  margin: 0;
  color: #ffffff99;
  line-height: 1.5;
  font-size: .95rem;
}
.gxs-spectator-lead--error {
  color: #ffb4b4;
}
.gxs-spectator-stage {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: min(72vh, 640px);
  overflow: hidden;
  border-radius: 16px;
  background: #0b0e12;
  border: 1px solid rgba(255,255,255,.1);
}
.gxs-spectator-stage .product-3d-viewer-canvas {
  flex: 1 1 auto;
  min-height: 360px;
}
.gxs-spectator-status {
  position: absolute;
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%);
  margin: 0;
  padding: .4rem .75rem;
  border-radius: 8px;
  background: rgba(0,0,0,.55);
  color: #ffffffaa;
  font-size: .8rem;
  z-index: 3;
  pointer-events: none;
  max-width: calc(100% - 1.5rem);
  text-align: center;
}
.gxs-spectator-status.is-error { color: #ffb4b4; }
.gxs-spectator-status[hidden] { display: none !important; }
.gxs-spectator-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.15rem;
}
@media (max-width: 640px) {
  .gxs-spectator-page {
    padding-bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px));
  }
  .gxs-spectator-hero { margin-bottom: .75rem; }
  .gxs-spectator-title { font-size: 1.28rem; }
  .gxs-spectator-lead { font-size: .86rem; }
  .gxs-spectator-stage {
    min-height: min(62dvh, 520px);
    border-radius: 12px;
  }
  .gxs-spectator-stage .product-3d-viewer-canvas { min-height: 240px; }
  .gxs-spectator-status {
    bottom: .65rem;
    font-size: .74rem;
    padding: .32rem .6rem;
  }
  .gxs-spectator-actions {
    gap: .5rem;
    margin-top: .85rem;
  }
  .gxs-spectator-actions .btn {
    flex: 1 1 auto;
    min-height: 2.75rem;
    justify-content: center;
  }
}
@media (max-width: 900px) and (orientation: landscape) and (max-height: 480px) {
  .gxs-spectator-page { padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px)); }
  .gxs-spectator-hero {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .25rem .85rem;
    margin-bottom: .45rem;
    max-width: none;
  }
  .gxs-spectator-kicker { margin: 0; }
  .gxs-spectator-title { margin: 0; font-size: 1.05rem; }
  .gxs-spectator-lead { display: none; }
  .gxs-spectator-stage {
    min-height: calc(100dvh - 8.5rem);
    border-radius: 10px;
  }
  .gxs-spectator-stage .product-3d-viewer-canvas { min-height: 180px; }
  .gxs-spectator-actions { margin-top: .55rem; }
  .gxs-spectator-actions .btn { min-height: 2.35rem; }
}
