/*
 * Vitrine — rendu FIDÈLE des 14 styles (1 vignette = 1 ambiance).
 *
 * Problème résolu : l'ancien mapping écrasait 14 presets en 7 ambiances
 * (noyer+chêne+grès → "wood"…), donc le stage ne « suivait » pas la vignette
 * choisie. Ici chaque preset pose ses propres variables — et le MÊME fichier
 * sert l'aperçu (.vit-premium) ET la vitrine publique (.shop-shelf), pour un
 * rendu identique des deux côtés.
 *
 * Palettes dérivées des vignettes (.theme-tile--<preset> dans bundle-vitrine.css)
 * pour que « ce que montre la tuile » == « ce que rend le stage ».
 *
 * À charger APRÈS loguetown-design-2026.css et vitrine-theme-public.css
 * (spécificité égale → l'ordre tranche).
 *
 * Variables consommées par le stage existant :
 *   --vit-accent / --vit-accent-2  → lignes LED, bordures, halos
 *   --vit-stage-bg                 → fond du stage / de la vitrine
 *   --vit-glass                    → voile de verre
 */

/* Helper : applique les variables d'un preset à l'aperçu ET au public. */

/* ── 1. Meuble noyer — bois chaud, LED chaude ───────────────────────── */
.vit-premium[data-theme-preset="cabinet_walnut"],
.lt26-boutique .shop-shelf[data-theme-preset="cabinet_walnut"]{
  --vit-accent:#E7C69A; --vit-accent-2:#CFA26B;
  --vit-stage-bg:
    radial-gradient(1100px 700px at 20% 10%, rgba(231,198,154,.18), transparent 55%),
    linear-gradient(180deg, rgba(74,47,31,.55), rgba(0,0,0,.45)),
    repeating-linear-gradient(90deg, rgba(231,198,154,.06) 0 2px, transparent 2px 26px),
    linear-gradient(180deg,#2a1810,#160b06);
  --vit-glass:linear-gradient(180deg, rgba(40,24,14,.30), rgba(0,0,0,.62));
}
.vit-premium[data-theme-preset="cabinet_walnut"] .vit-premium__stage .slot,
.lt26-boutique .shop-shelf[data-theme-preset="cabinet_walnut"] .slot{
  background:linear-gradient(180deg, rgba(40,24,14,.40), rgba(0,0,0,.55)); border-color:rgba(231,198,154,.24);
}

/* ── 2. Meuble chêne clair — bois clair, LED neutre ─────────────────── */
.vit-premium[data-theme-preset="cabinet_oak"],
.lt26-boutique .shop-shelf[data-theme-preset="cabinet_oak"]{
  --vit-accent:#C9A877; --vit-accent-2:#E0C79B;
  --vit-stage-bg:
    radial-gradient(1100px 700px at 25% 12%, rgba(212,184,150,.30), transparent 58%),
    linear-gradient(180deg, rgba(160,133,96,.42), rgba(60,45,28,.50)),
    repeating-linear-gradient(90deg, rgba(120,90,55,.10) 0 2px, transparent 2px 28px),
    linear-gradient(180deg,#5a4730,#33271a);
  --vit-glass:linear-gradient(180deg, rgba(120,95,60,.18), rgba(0,0,0,.50));
}
.vit-premium[data-theme-preset="cabinet_oak"] .vit-premium__stage .slot,
.lt26-boutique .shop-shelf[data-theme-preset="cabinet_oak"] .slot{
  background:linear-gradient(180deg, rgba(70,52,32,.34), rgba(0,0,0,.46)); border-color:rgba(201,168,119,.28);
}

/* ── 3. Meuble carbone — noir mat, LED froide ───────────────────────── */
.vit-premium[data-theme-preset="cabinet_carbon"],
.lt26-boutique .shop-shelf[data-theme-preset="cabinet_carbon"]{
  --vit-accent:#8FD3FF; --vit-accent-2:#C6ECFF;
  --vit-stage-bg:
    radial-gradient(900px 520px at 50% 8%, rgba(143,211,255,.12), transparent 60%),
    linear-gradient(180deg, rgba(20,22,28,.85), rgba(4,5,8,.92)),
    linear-gradient(180deg,#15161b,#080809);
  --vit-glass:linear-gradient(180deg, rgba(12,14,18,.30), rgba(0,0,0,.74));
}
.vit-premium[data-theme-preset="cabinet_carbon"] .vit-premium__stage .slot,
.lt26-boutique .shop-shelf[data-theme-preset="cabinet_carbon"] .slot{
  background:rgba(0,0,0,.5); border-color:rgba(143,211,255,.18);
}

/* ── 4. Meuble verre & marbre — clair, froid ────────────────────────── */
.vit-premium[data-theme-preset="cabinet_glass"],
.lt26-boutique .shop-shelf[data-theme-preset="cabinet_glass"]{
  --vit-accent:#BFD3E6; --vit-accent-2:#E8EEF4;
  --vit-stage-bg:
    radial-gradient(1200px 700px at 50% 0%, rgba(220,229,238,.22), transparent 60%),
    linear-gradient(180deg, rgba(150,164,180,.30), rgba(20,28,38,.55)),
    linear-gradient(180deg,#46505c,#1b222b);
  --vit-glass:linear-gradient(180deg, rgba(220,229,238,.12), rgba(0,0,0,.55));
}
.vit-premium[data-theme-preset="cabinet_glass"] .vit-premium__stage .slot,
.lt26-boutique .shop-shelf[data-theme-preset="cabinet_glass"] .slot{
  background:rgba(255,255,255,.05); border-color:rgba(191,211,230,.24);
}

/* ── 5. Galerie d'art (murs blancs) + Galerie blanche legacy ────────── */
.vit-premium[data-theme-preset="gallery_marble"],
.vit-premium[data-theme-preset="white_gallery"],
.lt26-boutique .shop-shelf[data-theme-preset="gallery_marble"],
.lt26-boutique .shop-shelf[data-theme-preset="white_gallery"]{
  --vit-accent:#E8D9B0; --vit-accent-2:#FFE9A8;
  --vit-stage-bg:
    radial-gradient(1200px 700px at 50% 0%, rgba(250,250,246,.20), transparent 58%),
    linear-gradient(180deg, rgba(210,206,196,.30), rgba(24,26,30,.50)),
    linear-gradient(180deg,#52514c,#202022);
  --vit-glass:linear-gradient(180deg, rgba(250,250,246,.12), rgba(0,0,0,.55));
}
.vit-premium[data-theme-preset="gallery_marble"] .vit-premium__stage .slot,
.vit-premium[data-theme-preset="white_gallery"] .vit-premium__stage .slot,
.lt26-boutique .shop-shelf[data-theme-preset="gallery_marble"] .slot,
.lt26-boutique .shop-shelf[data-theme-preset="white_gallery"] .slot{
  background:rgba(255,255,255,.05); border-color:rgba(232,217,176,.22);
}

/* ── 6. Vitrine arcade (néon RGB) + Néon manga legacy ───────────────── */
.vit-premium[data-theme-preset="cabinet_neon"],
.vit-premium[data-theme-preset="neon_manga"],
.lt26-boutique .shop-shelf[data-theme-preset="cabinet_neon"],
.lt26-boutique .shop-shelf[data-theme-preset="neon_manga"]{
  --vit-accent:#FF2BD6; --vit-accent-2:#00F0FF;
  --vit-stage-bg:
    radial-gradient(900px 520px at 28% 28%, rgba(255,43,214,.22), transparent 60%),
    radial-gradient(900px 520px at 72% 62%, rgba(0,240,255,.18), transparent 62%),
    linear-gradient(180deg, rgba(10,4,32,.78), rgba(0,0,0,.55)),
    linear-gradient(180deg,#0a0420,#050210);
  --vit-glass:linear-gradient(180deg, rgba(10,4,32,.30), rgba(0,0,0,.74));
}
.vit-premium[data-theme-preset="cabinet_neon"] .vit-premium__stage,
.vit-premium[data-theme-preset="neon_manga"] .vit-premium__stage,
.lt26-boutique .shop-shelf[data-theme-preset="cabinet_neon"] .vitrine,
.lt26-boutique .shop-shelf[data-theme-preset="neon_manga"] .vitrine{
  box-shadow:0 0 0 1px rgba(255,43,214,.24), 0 0 120px -42px rgba(255,43,214,.55), 0 0 120px -52px rgba(0,240,255,.45);
}
.vit-premium[data-theme-preset="cabinet_neon"] .vit-premium__stage .slot__img,
.vit-premium[data-theme-preset="neon_manga"] .vit-premium__stage .slot__img,
.lt26-boutique .shop-shelf[data-theme-preset="cabinet_neon"] .slot__img,
.lt26-boutique .shop-shelf[data-theme-preset="neon_manga"] .slot__img{
  filter:drop-shadow(0 20px 30px rgba(0,0,0,.55)) drop-shadow(0 0 20px rgba(255,43,214,.28));
}

/* ── 7. Dark luxe ───────────────────────────────────────────────────── */
.vit-premium[data-theme-preset="dark_luxe"],
.lt26-boutique .shop-shelf[data-theme-preset="dark_luxe"]{
  --vit-accent:var(--champagne,#d4a574); --vit-accent-2:var(--champagne-soft,#e8c99a);
  --vit-stage-bg:
    radial-gradient(1200px 600px at 10% 20%, rgba(212,165,116,.16), transparent 55%),
    radial-gradient(900px 520px at 90% 60%, rgba(238,92,110,.06), transparent 60%),
    linear-gradient(180deg,#14182a,#0b0d1a);
  --vit-glass:linear-gradient(180deg, rgba(0,0,0,.30), rgba(0,0,0,.58));
}

/* ── 8. Forêt ───────────────────────────────────────────────────────── */
.vit-premium[data-theme-preset="forest"],
.lt26-boutique .shop-shelf[data-theme-preset="forest"]{
  --vit-accent:#7FE6A0; --vit-accent-2:#D4F5D8;
  --vit-stage-bg:
    radial-gradient(900px 520px at 30% 32%, rgba(127,230,160,.16), transparent 60%),
    linear-gradient(180deg, rgba(26,40,32,.78), rgba(0,0,0,.45)),
    linear-gradient(180deg,#1a2820,#0c1410);
  --vit-glass:linear-gradient(180deg, rgba(12,26,18,.28), rgba(0,0,0,.72));
}
.vit-premium[data-theme-preset="forest"] .vit-premium__stage .slot,
.lt26-boutique .shop-shelf[data-theme-preset="forest"] .slot{
  background:rgba(0,0,0,.4); border-color:rgba(127,230,160,.20);
}

/* ── 9. Musée moderne — ivoire chaud ────────────────────────────────── */
.vit-premium[data-theme-preset="modern_museum"],
.lt26-boutique .shop-shelf[data-theme-preset="modern_museum"]{
  --vit-accent:#E8D9A0; --vit-accent-2:#FFE7A8;
  --vit-stage-bg:
    radial-gradient(1200px 700px at 50% 0%, rgba(240,237,229,.20), transparent 58%),
    linear-gradient(180deg, rgba(200,192,158,.30), rgba(28,26,22,.52)),
    linear-gradient(180deg,#56524a,#23211c);
  --vit-glass:linear-gradient(180deg, rgba(240,237,229,.10), rgba(0,0,0,.58));
}
.vit-premium[data-theme-preset="modern_museum"] .vit-premium__stage .slot,
.lt26-boutique .shop-shelf[data-theme-preset="modern_museum"] .slot{
  background:rgba(255,255,255,.045); border-color:rgba(232,217,160,.22);
}

/* ── 10. Ambre & braise (rouge → or) ────────────────────────────────── */
.vit-premium[data-theme-preset="ember_amber"],
.lt26-boutique .shop-shelf[data-theme-preset="ember_amber"]{
  --vit-accent:#FFA94D; --vit-accent-2:#FFCE80;
  --vit-stage-bg:
    radial-gradient(900px 520px at 25% 35%, rgba(201,120,64,.24), transparent 62%),
    radial-gradient(1100px 700px at 80% 22%, rgba(255,206,128,.16), transparent 60%),
    linear-gradient(180deg, rgba(42,18,8,.78), rgba(0,0,0,.48)),
    linear-gradient(180deg,#2a1208,#150804);
  --vit-glass:linear-gradient(180deg, rgba(42,18,8,.28), rgba(0,0,0,.76));
}
.vit-premium[data-theme-preset="ember_amber"] .vit-premium__stage .slot,
.lt26-boutique .shop-shelf[data-theme-preset="ember_amber"] .slot{
  background:linear-gradient(180deg, rgba(42,18,8,.34), rgba(0,0,0,.6)); border-color:rgba(255,169,77,.20);
}
.vit-premium[data-theme-preset="ember_amber"] .vit-premium__stage .slot__img,
.lt26-boutique .shop-shelf[data-theme-preset="ember_amber"] .slot__img{
  filter:drop-shadow(0 20px 30px rgba(0,0,0,.6)) drop-shadow(0 0 22px rgba(201,120,64,.24));
}

/* ── 11. Saphir minuit (bleu profond) ───────────────────────────────── */
.vit-premium[data-theme-preset="midnight_sapphire"],
.lt26-boutique .shop-shelf[data-theme-preset="midnight_sapphire"]{
  --vit-accent:#6FB4FF; --vit-accent-2:#D4ECFF;
  --vit-stage-bg:
    radial-gradient(900px 520px at 30% 30%, rgba(74,130,200,.22), transparent 60%),
    radial-gradient(900px 520px at 75% 68%, rgba(120,180,255,.12), transparent 62%),
    linear-gradient(180deg, rgba(10,26,53,.82), rgba(0,0,0,.46)),
    linear-gradient(180deg,#0a1a35,#050a18);
  --vit-glass:linear-gradient(180deg, rgba(10,26,53,.28), rgba(0,0,0,.74));
}
.vit-premium[data-theme-preset="midnight_sapphire"] .vit-premium__stage .slot,
.lt26-boutique .shop-shelf[data-theme-preset="midnight_sapphire"] .slot{
  background:rgba(5,12,28,.5); border-color:rgba(111,180,255,.20);
}

/* ── 12. Grès chaud (sable & terracotta) ────────────────────────────── */
.vit-premium[data-theme-preset="sandstone_warm"],
.lt26-boutique .shop-shelf[data-theme-preset="sandstone_warm"]{
  --vit-accent:#E8C088; --vit-accent-2:#FFDCA8;
  --vit-stage-bg:
    radial-gradient(1100px 700px at 25% 12%, rgba(240,217,181,.30), transparent 58%),
    linear-gradient(180deg, rgba(208,152,112,.40), rgba(70,46,28,.50)),
    linear-gradient(180deg,#7a5638,#3d2a1a);
  --vit-glass:linear-gradient(180deg, rgba(208,152,112,.18), rgba(0,0,0,.52));
}
.vit-premium[data-theme-preset="sandstone_warm"] .vit-premium__stage .slot,
.lt26-boutique .shop-shelf[data-theme-preset="sandstone_warm"] .slot{
  background:linear-gradient(180deg, rgba(90,62,40,.32), rgba(0,0,0,.48)); border-color:rgba(232,192,136,.26);
}
