/**
 * Classic Solitaire Lounge - Themes & Cosmetic Styles
 * High-definition scenic wallpapers, luxury card back graphics, court typography,
 * custom client-side photo upload, and 14 card face styles.
 */

/* Root Custom Wallpaper Variable */
:root {
  --custom-table-bg: none;
}

/* --- TABLECLOTH THEMES & WALLPAPERS --- */
.solitaire-app-container {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  position: relative;
}

.solitaire-app-container::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(circle at center, rgba(0,0,0,0.12) 0%, rgba(0,0,0,0.5) 100%);
  pointer-events: none;
  z-index: 1;
}

/* 1. Classic Casino Emerald Felt */
body.theme-classic-emerald,
body.theme-classic-emerald .solitaire-app-container {
  background-image: url('../assets/bg-classic-emerald.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 2. Royal Velvet Burgundy */
body.theme-royal-velvet,
body.theme-royal-velvet .solitaire-app-container {
  background-image: url('../assets/bg-royal-velvet.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 3. Serene Alpine Lake */
body.theme-alpine-lake,
body.theme-alpine-lake .solitaire-app-container {
  background-image: url('../assets/bg-alpine-lake.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 4. Zen Stones & Water */
body.theme-zen-stones,
body.theme-zen-stones .solitaire-app-container {
  background-image: url('../assets/bg-zen-stones.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 5. Hot Air Balloon Sunrise */
body.theme-hot-air-balloon,
body.theme-hot-air-balloon .solitaire-app-container {
  background-image: url('../assets/bg-hot-air-balloon.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 6. Night Lantern & Fireflies */
body.theme-night-lantern,
body.theme-night-lantern .solitaire-app-container {
  background-image: url('../assets/bg-night-lantern.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 7. Tropical Beach Paradise */
body.theme-tropical-beach,
body.theme-tropical-beach .solitaire-app-container {
  background-image: url('../assets/bg-tropical-beach.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 8. Autumn Golden Forest */
body.theme-autumn-forest,
body.theme-autumn-forest .solitaire-app-container {
  background-image: url('../assets/bg-autumn-forest.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 9. India Heritage Palace Sunset */
body.theme-india-heritage,
body.theme-india-heritage .solitaire-app-container {
  background-image: url('../assets/bg-india-heritage.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 10. Aurora Borealis Northern Lights (NEW) */
body.theme-aurora-borealis,
body.theme-aurora-borealis .solitaire-app-container {
  background-image: url('../assets/bg-aurora-borealis.svg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 11. Provence Lavender Field (NEW) */
body.theme-lavender-field,
body.theme-lavender-field .solitaire-app-container {
  background-image: url('../assets/bg-lavender-field.svg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 12. Cozy Mountain Cabin Hearth (NEW) */
body.theme-cozy-fireplace,
body.theme-cozy-fireplace .solitaire-app-container {
  background-image: url('../assets/bg-cozy-fireplace.svg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 13. Kyoto Zen Japanese Garden (NEW) */
body.theme-japanese-garden,
body.theme-japanese-garden .solitaire-app-container {
  background-image: url('../assets/bg-japanese-garden.svg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 14. Cyberpunk Neon Tokyo (NEW) */
body.theme-cyberpunk-neon,
body.theme-cyberpunk-neon .solitaire-app-container {
  background-image: url('../assets/bg-cyberpunk-neon.svg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 15. Himalayan Golden Alpenglow Sunset */
body.theme-himalayan-sunset,
body.theme-himalayan-sunset .solitaire-app-container {
  background-image: url('../assets/bg-himalayan-sunset.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 16. Misty Alpine Lake Serenity */
body.theme-misty-alpine-lake,
body.theme-misty-alpine-lake .solitaire-app-container {
  background-image: url('../assets/bg-misty-alpine-lake.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 17. Peaceful Mountain Monastery */
body.theme-peaceful-zen-monastery,
body.theme-peaceful-zen-monastery .solitaire-app-container {
  background-image: url('../assets/bg-peaceful-zen-monastery.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* 18. Sacred Golden Temple Twilight */
body.theme-sacred-temple-peace,
body.theme-sacred-temple-peace .solitaire-app-container {
  background-image: url('../assets/bg-sacred-temple-peace.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Custom User Photo Wallpaper (Stored 100% locally on device, never on server) */
body.theme-custom,
body.theme-custom .solitaire-app-container {
  background-image: var(--custom-table-bg) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* --- LUXURY CARD BACK DESIGNS (15 PACKS TOTAL) --- */

/* Base face-down card reset */
.solitaire-card.face-down {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border-radius: var(--card-radius);
  overflow: hidden;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}

/* 1. Celestial Sun & Moon 24K Gold */
.solitaire-card.back-celestial-gold.face-down {
  background-image: url('../assets/cardback-celestial-gold.jpg') !important;
  border: 1px solid #eab308;
}
.solitaire-card.back-celestial-gold .card-back-pattern { display: none; }

/* 2. French Royal Blue Fleur-de-Lis */
.solitaire-card.back-royal-fleur.face-down {
  background-image: url('../assets/cardback-royal-fleur.jpg') !important;
  border: 1px solid #93c5fd;
}
.solitaire-card.back-royal-fleur .card-back-pattern { display: none; }

/* 3. Cute Knitted Fluffy Kitten */
.solitaire-card.back-cute-kitten.face-down {
  background-image: url('../assets/cardback-cute-kitten.jpg') !important;
  border: 1px solid #fde047;
}
.solitaire-card.back-cute-kitten .card-back-pattern { display: none; }

/* 4. Imperial Crimson Dragon */
.solitaire-card.back-crimson-dragon.face-down {
  background-image: url('../assets/cardback-crimson-dragon.jpg') !important;
  border: 1px solid #facc15;
}
.solitaire-card.back-crimson-dragon .card-back-pattern { display: none; }

/* 5. Imaginary Model: Celestial Sorceress Goddess */
.solitaire-card.back-celestial-sorceress.face-down {
  background-image: url('../assets/cardback-celestial-sorceress.svg') !important;
  border: 1.5px solid #facc15;
}
.solitaire-card.back-celestial-sorceress .card-back-pattern { display: none; }

/* 6. Imaginary Model: Cyberpunk Anime Valkyrie */
.solitaire-card.back-cyber-valkyrie.face-down {
  background-image: url('../assets/cardback-cyber-valkyrie.svg') !important;
  border: 1.5px solid #06b6d4;
}
.solitaire-card.back-cyber-valkyrie .card-back-pattern { display: none; }

/* 7. Celtic Emerald Knotwork */
.solitaire-card.back-celtic-emerald.face-down {
  background-image: url('../assets/cardback-celtic-emerald.svg') !important;
  border: 1.5px solid #34d399;
}
.solitaire-card.back-celtic-emerald .card-back-pattern { display: none; }

/* 8. Obsidian Art Deco 24K Gold */
.solitaire-card.back-obsidian-gold.face-down {
  background-image: url('../assets/cardback-obsidian-gold.svg') !important;
  border: 1.5px solid #eab308;
}
.solitaire-card.back-obsidian-gold .card-back-pattern { display: none; }

/* 9. Carbon Fiber Racing Stealth */
.solitaire-card.back-carbon-stealth.face-down {
  background-image: url('../assets/cardback-carbon-stealth.svg') !important;
  border: 1.5px solid #ef4444;
}
.solitaire-card.back-carbon-stealth .card-back-pattern { display: none; }

/* 10. Japanese Koi & Cherry Blossoms */
.solitaire-card.back-japanese-koi.face-down {
  background-image: url('../assets/cardback-japanese-koi.svg') !important;
  border: 1.5px solid #38bdf8;
}
.solitaire-card.back-japanese-koi .card-back-pattern { display: none; }

/* 11. Egyptian Pharaoh Gold Anubis */
.solitaire-card.back-egyptian-anubis.face-down {
  background-image: url('../assets/cardback-egyptian-anubis.svg') !important;
  border: 1.5px solid #fde047;
}
.solitaire-card.back-egyptian-anubis .card-back-pattern { display: none; }

/* 12. Deep Galaxy Violet Nebula */
.solitaire-card.back-galaxy-nebula.face-down {
  background-image: url('../assets/cardback-galaxy-nebula.svg') !important;
  border: 1.5px solid #c084fc;
}
.solitaire-card.back-galaxy-nebula .card-back-pattern { display: none; }

/* 13. Royal Crowned Corgi */
.solitaire-card.back-cute-corgi.face-down {
  background-image: url('../assets/cardback-cute-corgi.svg') !important;
  border: 1.5px solid #f59e0b;
}
.solitaire-card.back-cute-corgi .card-back-pattern { display: none; }

/* 14. Monaco High Roller Diamonds */
.solitaire-card.back-monaco-diamond.face-down {
  background-image: url('../assets/cardback-monaco-diamond.svg') !important;
  border: 1.5px solid #fbbf24;
}
.solitaire-card.back-monaco-diamond .card-back-pattern { display: none; }

/* 15. Steampunk Brass Chronos */
.solitaire-card.back-steampunk-chronos.face-down {
  background-image: url('../assets/cardback-steampunk-chronos.svg') !important;
  border: 1.5px solid #d97706;
}
.solitaire-card.back-steampunk-chronos .card-back-pattern { display: none; }

/* 16. Monte Carlo VIP Casino Lounge */
.solitaire-card.back-casino-vip.face-down {
  background-image: url('../assets/cardback-casino-vip.jpg') !important;
  border: 1.5px solid #d4af37;
}
.solitaire-card.back-casino-vip .card-back-pattern { display: none; }

/* 17. Haute Couture Glamour Model */
.solitaire-card.back-fashion-glamour.face-down {
  background-image: url('../assets/cardback-fashion-glamour.jpg') !important;
  border: 1.5px solid #f59e0b;
}
.solitaire-card.back-fashion-glamour .card-back-pattern { display: none; }

/* 18. Royal Sacred Lotus Bloom */
.solitaire-card.back-royal-lotus.face-down {
  background-image: url('../assets/cardback-royal-lotus.jpg') !important;
  border: 1.5px solid #ec4899;
}
.solitaire-card.back-royal-lotus .card-back-pattern { display: none; }

/* 19. Vintage British Raj Imperial */
.solitaire-card.back-victorian-british.face-down {
  background-image: url('../assets/cardback-victorian-british.jpg') !important;
  border: 1.5px solid #b45309;
}
.solitaire-card.back-victorian-british .card-back-pattern { display: none; }

/* 20. Royal Rajasthani Haveli Jharokha */
.solitaire-card.back-rajasthani-royal.face-down {
  background-image: url('../assets/cardback-rajasthani-royal.jpg') !important;
  border: 1.5px solid #eab308;
}
.solitaire-card.back-rajasthani-royal .card-back-pattern { display: none; }


/* --- 14 CARD FACE STYLES --- */

/* 1. Classic Traditional Court (Default Standard - Legal Public Domain) */
.solitaire-card.face-classic .card-rank {
  font-family: 'Cinzel', serif, -apple-system, sans-serif;
  font-weight: 900;
}

/* 2. Jumbo Large Print (Accessibility & Elder-Friendly) */
.solitaire-card.face-jumbo .card-rank {
  font-size: 23px !important;
  font-weight: 900;
  letter-spacing: -0.5px;
}
.solitaire-card.face-jumbo .card-suit {
  font-size: 19px !important;
}
.solitaire-card.face-jumbo .card-corner {
  line-height: 0.85;
}

/* 3. Retro Flat 2D Vintage */
.solitaire-card.face-retro {
  background: #fdfbf7 !important;
}
.solitaire-card.face-retro .card-rank {
  font-family: 'Courier New', monospace, sans-serif;
  font-weight: 800;
}
.solitaire-card.face-retro .court-icon {
  filter: contrast(140%) grayscale(20%);
}

/* 4. Norse Valhalla Vikings */
.solitaire-card.face-viking {
  background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%) !important;
  border: 1.5px solid #64748b !important;
  box-shadow: inset 0 0 0 1px #334155, 0 3px 6px rgba(0,0,0,0.4) !important;
  color: #cbd5e1 !important;
}
.solitaire-card.face-viking .card-rank {
  font-family: 'Cinzel', serif;
  font-weight: 900;
}
.solitaire-card.face-viking.red .card-rank,
.solitaire-card.face-viking.red .card-suit {
  color: #ef4444 !important;
}
.solitaire-card.face-viking.black .card-rank,
.solitaire-card.face-viking.black .card-suit {
  color: #cbd5e1 !important;
}

/* 5. Minimalist Clean Modern */
.solitaire-card.face-minimal .card-rank {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 800;
  font-size: 17px;
}
.solitaire-card.face-minimal .card-suit {
  font-size: 13px;
  opacity: 0.9;
}
.solitaire-card.face-minimal .court-graphic {
  opacity: 0.85;
}

/* 6. Four-Color Deck (Poker Pro Standard: ♠Black, ♥Red, ♦Blue, ♣Green) */
.solitaire-card.face-fourcolor.red .card-rank,
.solitaire-card.face-fourcolor.red .card-suit {
  color: #dc2626 !important;
}
.solitaire-card.face-fourcolor[data-suit="diamonds"] .card-rank,
.solitaire-card.face-fourcolor[data-suit="diamonds"] .card-suit,
.solitaire-card.face-fourcolor[data-suit="diamonds"] .ace-pip,
.solitaire-card.face-fourcolor[data-suit="diamonds"] .pip-grid {
  color: #2563eb !important;
}
.solitaire-card.face-fourcolor[data-suit="clubs"] .card-rank,
.solitaire-card.face-fourcolor[data-suit="clubs"] .card-suit,
.solitaire-card.face-fourcolor[data-suit="clubs"] .ace-pip,
.solitaire-card.face-fourcolor[data-suit="clubs"] .pip-grid {
  color: #16a34a !important;
}

/* 7. Cyberpunk Neon */
.solitaire-card.face-cyberpunk {
  background: #09090b !important;
  border: 1px solid #3f3f46 !important;
  color: #e4e4e7 !important;
}
.solitaire-card.face-cyberpunk.red .card-rank,
.solitaire-card.face-cyberpunk.red .card-suit,
.solitaire-card.face-cyberpunk.red .ace-pip,
.solitaire-card.face-cyberpunk.red .pip-grid {
  color: #f43f5e !important;
  text-shadow: 0 0 6px rgba(244, 63, 94, 0.7);
}
.solitaire-card.face-cyberpunk.black .card-rank,
.solitaire-card.face-cyberpunk.black .card-suit,
.solitaire-card.face-cyberpunk.black .ace-pip,
.solitaire-card.face-cyberpunk.black .pip-grid {
  color: #06b6d4 !important;
  text-shadow: 0 0 6px rgba(0, 182, 212, 0.7);
}

/* 8. French Royal Baroque */
.solitaire-card.face-baroque {
  background: #fffdf5 !important;
  border: 1.5px solid #d4af37 !important;
  box-shadow: inset 0 0 0 2px #fff9e6, 0 3px 6px rgba(0,0,0,0.3) !important;
}
.solitaire-card.face-baroque .card-rank {
  font-family: 'Cinzel', serif;
  font-weight: bold;
}

/* 9. Dark Knight Obsidian */
.solitaire-card.face-obsidian {
  background: #18181b !important;
  border: 1px solid #52525b !important;
}
.solitaire-card.face-obsidian.black .card-rank,
.solitaire-card.face-obsidian.black .card-suit,
.solitaire-card.face-obsidian.black .ace-pip,
.solitaire-card.face-obsidian.black .pip-grid {
  color: #e4e4e7 !important;
}
.solitaire-card.face-obsidian.red .card-rank,
.solitaire-card.face-obsidian.red .card-suit,
.solitaire-card.face-obsidian.red .ace-pip,
.solitaire-card.face-obsidian.red .pip-grid {
  color: #fb7185 !important;
}

/* 10. Vegas High Roller Gold */
.solitaire-card.face-vegasgold {
  background: #fafaf9 !important;
  border: 1.5px solid #eab308 !important;
}
.solitaire-card.face-vegasgold .card-rank {
  font-family: 'Cinzel', serif;
  font-weight: 900;
  text-shadow: 0 1px 1px rgba(0,0,0,0.2);
}
.solitaire-card.face-vegasgold.red .card-rank {
  color: #b91c1c !important;
}

/* 11. Art Deco 1920s Gatsby */
.solitaire-card.face-artdeco {
  background: #fbfbee !important;
  border: 1px solid #b45309 !important;
}
.solitaire-card.face-artdeco .card-rank {
  font-family: "Cinzel", "Copperplate", serif;
  font-weight: 900;
  letter-spacing: 1px;
}

/* 12. Retro 8-Bit Pixel Arcade */
.solitaire-card.face-pixel .card-rank,
.solitaire-card.face-pixel .card-suit {
  font-family: "Courier New", monospace !important;
  font-weight: 900 !important;
  transform: scaleY(1.1);
}
