/* ==========================================================================
   TESLA LOUNGE & BAR — seasons.css
   Sezonske teme / seasonal themes.

   Svaka tema zadržava Teslin blueprint karakter: praznični ornamenti su
   nacrtani istom tehničkom olovkom kao i Teslini patenti.
   Every theme keeps the Tesla blueprint character: the holiday ornaments are
   drawn with the same technical pen as the patent drawings.

   Božić i Uskrs postoje u dve verzije — pravoslavnoj i međunarodnoj —
   jer se slave različitih datuma, a lokal je u višenacionalnoj sredini.
   Christmas and Easter come in two variants, Orthodox and international,
   because the dates differ and the bar serves a multi-ethnic city.
   ========================================================================== */

:root {
  /* ornamenti / ornaments */
  --season-art-snow: url("../images/art/season-art-snow-f4fda5f1.svg");
  --season-art-badnjak: url("../images/art/season-art-badnjak-68132ac9.svg");
  --season-art-spring: url("../images/art/season-art-spring-3151e759.svg");
  --season-art-pisanica: url("../images/art/season-art-pisanica-00d46682.svg");
  --season-art-spark: url("../images/art/season-art-spark-b14e359e.svg");
  --season-art-candle: url("../images/art/season-art-candle-68dc2e37.svg");
  --season-art-vine: url("../images/art/season-art-vine-fd74671a.svg");
  --season-art-novisad: url("../images/art/season-art-novisad-af27a4f0.svg");
  /* podrazumevano: nijedna sezona nije aktivna */
  --season-art: none;
  --season-size: min(54vw, 680px) auto;
  --season-position: right -60px top 20%;
  --season-repeat: no-repeat;
  --season-opacity: 0;
  --season-blend: screen;

  --fall-a: none;
  --fall-b: none;
  --fall-c: none;
  --fall-opacity: 0;
  --fall-level: 1;              /* jačina iz admina / intensity from the admin */
  --fall-size-a: 320px 320px;
  --fall-size-b: 230px 230px;
  --fall-size-c: 150px 150px;
  --fall-speed-a: 26s;
  --fall-speed-b: 17s;
  --fall-speed-c: 12s;
  --fall-to-a: 320px;
  --fall-to-b: 230px;
  --fall-to-c: 150px;
  --fall-drift-a: -18px;
  --fall-drift-b: 14px;
  --fall-drift-c: -9px;
  --fall-drift: 26px;
}

/* ==========================================================================
   SLOJEVI / LAYERS
   ========================================================================== */

.season-layer {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--season-art);
  background-repeat: var(--season-repeat);
  background-size: var(--season-size);
  background-position: var(--season-position);
  opacity: var(--season-opacity);
  mix-blend-mode: var(--season-blend);
  filter: saturate(.95);
}
html[data-bg-art="off"] .season-layer { display: none; }

/* Sneg, latice, varnice / snow, petals, sparks */
.season-fall {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  opacity: calc(var(--fall-opacity) * var(--fall-level, 1));
}
.season-fall span,
.hero__fall span {
  position: absolute;
  inset: -30% 0;
  display: block;
  background-repeat: repeat;
  will-change: background-position;
}
.season-fall span:nth-child(1),
.hero__fall span:nth-child(1) {
  background-image: var(--fall-a);
  background-size: var(--fall-size-a);
  --fall-to: var(--fall-to-a);
  --fall-drift: var(--fall-drift-a);
  animation: tl-fall var(--fall-speed-a) linear infinite;
}
.season-fall span:nth-child(2),
.hero__fall span:nth-child(2) {
  background-image: var(--fall-b);
  background-size: var(--fall-size-b);
  --fall-to: var(--fall-to-b);
  --fall-drift: var(--fall-drift-b);
  animation: tl-fall var(--fall-speed-b) linear infinite;
}
/* Najsitniji sloj još i tinja, da sneg i varnice ne deluju kao tapeta.
   The finest layer also twinkles, so snow and sparks never read as wallpaper. */
.season-fall span:nth-child(3),
.hero__fall span:nth-child(3) {
  background-image: var(--fall-c);
  background-size: var(--fall-size-c);
  --fall-to: var(--fall-to-c);
  --fall-drift: var(--fall-drift-c);
  animation: tl-fall var(--fall-speed-c) linear infinite,
             tl-twinkle 4.5s ease-in-out infinite;
}
@keyframes tl-twinkle {
  0%, 100% { opacity: .55; }
  50%      { opacity: 1; }
}
@keyframes tl-fall {
  from { background-position: 0 0; }
  to   { background-position: var(--fall-drift) var(--fall-to); }
}
html[data-anim="off"] .season-fall,
html[data-anim="off"] .hero__fall { display: none; }

/* Praznična čestitka u hero-u / seasonal greeting in the hero */
.season-ribbon {
  display: none;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  padding: 9px 17px;
  border: 1px solid var(--gold);
  border-radius: 999px;
  background: color-mix(in srgb, var(--gold) 12%, transparent);
  color: var(--gold-2);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  backdrop-filter: blur(6px);
  position: relative;
  overflow: hidden;
}
.season-ribbon.show { display: inline-flex; }
.season-ribbon .glyph { font-size: 1rem; line-height: 1; }
.season-ribbon::after {
  content: "";
  position: absolute;
  top: -50%;
  bottom: -50%;
  width: 40%;
  background: linear-gradient(90deg, transparent, var(--sheen), transparent);
  opacity: .5;
  animation: tl-glare 6s ease-in-out 2s infinite;
}
html[data-anim="off"] .season-ribbon::after,
html[data-anim="subtle"] .season-ribbon::after { display: none; }


/* ---------- BOŽIĆ — međunarodni (25.12) · smrča, srebro, zlato ---------- */
html[data-skin="christmas-intl"] {
  --bg: #061310;
  --bg-grad: radial-gradient(circle at 50% 0%, rgba(150,205,180,.12), transparent 34%), linear-gradient(180deg, #04100d 0%, #0a1a16 48%, #040f0c 100%);
  --surface: #0d1a16;
  --surface-2: #12231e;
  --text: #f2f6f2;
  --text-strong: #ffffff;
  --muted: #a3b3ab;
  --soft: #cfdcd5;
  --gold: #cbb26a;
  --gold-2: #ecd9a0;
  --accent: #d2544c;
  --line: rgba(203,178,106,.28);
  --shadow: 0 18px 45px rgba(0,0,0,.36);
  --panel-bg: linear-gradient(180deg, rgba(16,32,27,.78), rgba(5,15,12,.93));
  --panel-border: rgba(203,178,106,.16);
  --panel-glow: rgba(160,215,190,.12);
  --panel-scrim: linear-gradient(90deg, rgba(5,15,12,.96) 0%, rgba(5,15,12,.88) 32%, rgba(5,15,12,.62) 68%, rgba(5,15,12,.90) 100%);
  --card-bg: linear-gradient(160deg, rgba(18,38,32,.94), rgba(5,14,11,.98));
  --card-border: rgba(203,178,106,.22);
  --card-border-hover: rgba(236,217,160,.62);
  --card-shadow-hover: 0 22px 55px rgba(0,0,0,.50), 0 0 26px rgba(160,215,190,.14);
  --nav-bg: rgba(5,15,12,.92);
  --nav-chip: rgba(255,255,255,.10);
  --footer-bg: #040f0c;
  --price-bg: var(--gold);
  --price-fg: #10201a;
  --hero-scrim: linear-gradient(90deg, rgba(4,14,11,.92) 0%, rgba(4,14,11,.66) 45%, rgba(4,14,11,.30) 100%);
  --flare: rgba(205,235,220,.55);
  --arc: #dff0e6;
  --card-overlay-scrim: linear-gradient(0deg, rgba(3,10,8,.92) 6%, rgba(3,10,8,.55) 42%, transparent 72%);
  --media-scrim: linear-gradient(0deg, rgba(3,10,8,.55), transparent 46%);
  --season-art: var(--season-art-snow);
  --season-opacity: .20;
  --fall-a: radial-gradient(2.4px 2.4px at 42px 58px, rgba(255,255,255,.92), transparent 60%),radial-gradient(1.8px 1.8px at 168px 122px, rgba(255,255,255,.7), transparent 60%),radial-gradient(2px 2px at 254px 232px, rgba(255,255,255,.8), transparent 60%),radial-gradient(1.5px 1.5px at 96px 268px, rgba(255,255,255,.6), transparent 60%);
  --fall-b: radial-gradient(1.6px 1.6px at 30px 40px, rgba(255,255,255,.6), transparent 60%),radial-gradient(1.2px 1.2px at 140px 160px, rgba(255,255,255,.45), transparent 60%),radial-gradient(1.8px 1.8px at 196px 74px, rgba(255,255,255,.55), transparent 60%);
  --fall-opacity: .55;
}


/* ---------- BOŽIĆ — pravoslavni (7.1) · badnjak, slama, žar ---------- */
html[data-skin="christmas-ortho"] {
  --bg: #120a07;
  --bg-grad: radial-gradient(circle at 22% 0%, rgba(214,132,62,.16), transparent 36%), linear-gradient(180deg, #0f0806 0%, #180d09 50%, #0d0705 100%);
  --surface: #1c110c;
  --surface-2: #251710;
  --text: #f7ece1;
  --text-strong: #fff8ef;
  --muted: #b7a394;
  --soft: #ddc9b6;
  --gold: #d3a049;
  --gold-2: #f2cf8e;
  --accent: #a32f2b;
  --line: rgba(211,160,73,.30);
  --shadow: 0 18px 45px rgba(0,0,0,.40);
  --panel-bg: linear-gradient(180deg, rgba(38,23,16,.80), rgba(14,8,6,.94));
  --panel-border: rgba(211,160,73,.18);
  --panel-glow: rgba(230,140,60,.14);
  --panel-scrim: linear-gradient(90deg, rgba(14,8,6,.96) 0%, rgba(14,8,6,.88) 32%, rgba(14,8,6,.62) 68%, rgba(14,8,6,.90) 100%);
  --card-bg: linear-gradient(150deg, rgba(44,27,18,.95), rgba(17,10,7,.98));
  --card-border: rgba(211,160,73,.22);
  --card-border-hover: rgba(242,207,142,.62);
  --card-shadow-hover: 0 22px 55px rgba(0,0,0,.52), 0 0 28px rgba(214,132,62,.18);
  --nav-bg: rgba(15,8,6,.93);
  --nav-chip: rgba(255,255,255,.10);
  --footer-bg: #0d0705;
  --price-bg: var(--gold);
  --price-fg: #1d0e05;
  --hero-scrim: linear-gradient(90deg, rgba(12,7,5,.92) 0%, rgba(12,7,5,.66) 45%, rgba(12,7,5,.28) 100%);
  --flare: rgba(240,155,70,.60);
  --arc: #f2cf8e;
  --card-overlay-scrim: linear-gradient(0deg, rgba(10,6,4,.92) 6%, rgba(10,6,4,.55) 42%, transparent 72%);
  --media-scrim: linear-gradient(0deg, rgba(10,6,4,.55), transparent 46%);
  --season-art: var(--season-art-badnjak);
  --season-opacity: .22;
  --fall-a: radial-gradient(2.6px 2.6px at 58px 240px, rgba(255,168,84,.85), transparent 60%),radial-gradient(1.8px 1.8px at 188px 120px, rgba(255,120,50,.7), transparent 60%),radial-gradient(2px 2px at 268px 292px, rgba(255,196,120,.75), transparent 60%);
  --fall-b: radial-gradient(1.5px 1.5px at 96px 180px, rgba(255,150,70,.55), transparent 60%),radial-gradient(1.2px 1.2px at 210px 60px, rgba(255,190,110,.5), transparent 60%);
  --fall-opacity: .45;
  --fall-to-a: -320px;
  --fall-to-b: -230px;
  --fall-speed-a: 30s;
  --fall-speed-b: 21s;
}


/* ---------- USKRS — međunarodni · prolećna, svetla tema ---------- */
html[data-skin="easter-intl"] {
  --bg: #f2f6ee;
  --bg-grad: radial-gradient(circle at 14% 0%, rgba(122,168,106,.13), transparent 34%), linear-gradient(180deg, #fafcf6 0%, #eef4e8 55%, #e9f0e2 100%);
  --surface: #ffffff;
  --surface-2: #f4f8ef;
  --text: #1f2a22;
  --text-strong: #131a15;
  --muted: #64705f;
  --soft: #45503f;
  --gold: #8a7130;
  --gold-2: #6f5a22;
  --accent: #7aa86a;
  --line: rgba(138,113,48,.30);
  --shadow: 0 16px 40px rgba(50,60,40,.10);
  --art-opacity: .38;
  --section-art-opacity: .15;
  --sheen: rgba(255,255,255,.85);
  --season-blend: multiply;
  --panel-bg: linear-gradient(180deg, rgba(255,255,255,.86), rgba(240,246,234,.94));
  --panel-border: rgba(138,113,48,.20);
  --panel-glow: rgba(122,168,106,.12);
  --panel-scrim: linear-gradient(90deg, rgba(250,252,246,.93) 0%, rgba(250,252,246,.80) 32%, rgba(250,252,246,.55) 68%, rgba(250,252,246,.88) 100%);
  --card-bg: linear-gradient(145deg, #ffffff, #f1f6ea);
  --card-border: rgba(138,113,48,.20);
  --card-border-hover: rgba(122,168,106,.65);
  --card-shadow-hover: 0 20px 45px rgba(50,60,40,.16);
  --nav-bg: rgba(250,252,246,.93);
  --nav-chip: rgba(31,42,34,.12);
  --footer-bg: #e9f0e2;
  --price-bg: var(--gold);
  --price-fg: #fffdf6;
  --hero-scrim: linear-gradient(90deg, rgba(250,252,246,.95) 0%, rgba(250,252,246,.76) 44%, rgba(250,252,246,.34) 100%);
  --flare: rgba(255,246,205,.85);
  --arc: #9bb383;
  --card-overlay-scrim: linear-gradient(0deg, rgba(20,26,18,.92) 6%, rgba(20,26,18,.55) 42%, transparent 72%);
  --media-scrim: linear-gradient(0deg, rgba(20,26,18,.42), transparent 46%);
  --season-art: var(--season-art-spring);
  --season-opacity: .26;
  --fall-a: radial-gradient(3px 4px at 54px 70px, rgba(236,170,190,.75), transparent 65%),radial-gradient(2.4px 3.4px at 190px 148px, rgba(250,225,235,.8), transparent 65%),radial-gradient(2.6px 3.6px at 268px 254px, rgba(226,196,150,.6), transparent 65%);
  --fall-b: radial-gradient(2px 3px at 40px 150px, rgba(236,180,200,.55), transparent 65%),radial-gradient(2.2px 3px at 168px 46px, rgba(255,240,246,.6), transparent 65%);
  --fall-opacity: .50;
  --fall-speed-a: 30s;
  --fall-speed-b: 20s;
}


/* ---------- VASKRS — pravoslavni · grimiz, zlato, pisanica ---------- */
html[data-skin="easter-ortho"] {
  --bg: #140708;
  --bg-grad: radial-gradient(circle at 50% 0%, rgba(190,52,48,.16), transparent 34%), linear-gradient(180deg, #100507 0%, #1b090b 50%, #0e0406 100%);
  --surface: #1e0d0f;
  --surface-2: #271014;
  --text: #f8ebe6;
  --text-strong: #fff5f0;
  --muted: #b99b96;
  --soft: #e0c4bd;
  --gold: #d4a253;
  --gold-2: #f2d194;
  --accent: #c0392b;
  --line: rgba(212,162,83,.30);
  --shadow: 0 18px 45px rgba(0,0,0,.42);
  --panel-bg: linear-gradient(180deg, rgba(40,17,20,.80), rgba(15,6,8,.94));
  --panel-border: rgba(212,162,83,.18);
  --panel-glow: rgba(192,57,43,.16);
  --panel-scrim: linear-gradient(90deg, rgba(15,6,8,.96) 0%, rgba(15,6,8,.88) 32%, rgba(15,6,8,.62) 68%, rgba(15,6,8,.90) 100%);
  --card-bg: linear-gradient(150deg, rgba(46,20,23,.95), rgba(18,8,10,.98));
  --card-border: rgba(212,162,83,.22);
  --card-border-hover: rgba(242,209,148,.62);
  --card-shadow-hover: 0 22px 55px rgba(0,0,0,.54), 0 0 28px rgba(192,57,43,.20);
  --nav-bg: rgba(16,6,8,.93);
  --nav-chip: rgba(255,255,255,.10);
  --footer-bg: #0e0406;
  --price-bg: var(--gold);
  --price-fg: #1c0709;
  --hero-scrim: linear-gradient(90deg, rgba(14,5,7,.93) 0%, rgba(14,5,7,.66) 45%, rgba(14,5,7,.28) 100%);
  --flare: rgba(235,95,80,.52);
  --arc: #f2d194;
  --card-overlay-scrim: linear-gradient(0deg, rgba(12,5,6,.92) 6%, rgba(12,5,6,.55) 42%, transparent 72%);
  --media-scrim: linear-gradient(0deg, rgba(12,5,6,.55), transparent 46%);
  --season-art: var(--season-art-pisanica);
  --season-opacity: .20;
  --fall-a: radial-gradient(2px 2px at 70px 260px, rgba(242,209,148,.75), transparent 60%),radial-gradient(1.5px 1.5px at 200px 140px, rgba(242,209,148,.55), transparent 60%),radial-gradient(1.8px 1.8px at 280px 310px, rgba(255,230,180,.6), transparent 60%);
  --fall-opacity: .38;
  --fall-to-a: -320px;
  --fall-speed-a: 34s;
}


/* ---------- NOVA GODINA · ponoć, varnice, zlato ---------- */
html[data-skin="newyear"] {
  --bg: #05060f;
  --bg-grad: radial-gradient(circle at 50% 0%, rgba(124,140,255,.18), transparent 34%), linear-gradient(180deg, #04050c 0%, #090b18 48%, #04050c 100%);
  --surface: #0d1020;
  --surface-2: #141829;
  --text: #f3f2ec;
  --text-strong: #ffffff;
  --muted: #a2a5b8;
  --soft: #cfd2e0;
  --gold: #e0c161;
  --gold-2: #f9e6ad;
  --accent: #7c8cff;
  --line: rgba(224,193,97,.30);
  --shadow: 0 18px 50px rgba(0,0,0,.45);
  --panel-bg: linear-gradient(180deg, rgba(16,20,38,.80), rgba(4,5,12,.94));
  --panel-border: rgba(224,193,97,.18);
  --panel-glow: rgba(124,140,255,.16);
  --panel-scrim: linear-gradient(90deg, rgba(4,5,12,.96) 0%, rgba(4,5,12,.88) 32%, rgba(4,5,12,.62) 68%, rgba(4,5,12,.90) 100%);
  --card-bg: linear-gradient(160deg, rgba(20,25,45,.94), rgba(5,6,14,.98));
  --card-border: rgba(224,193,97,.24);
  --card-border-hover: rgba(249,230,173,.65);
  --card-shadow-hover: 0 22px 55px rgba(0,0,0,.55), 0 0 30px rgba(124,140,255,.22);
  --nav-bg: rgba(4,5,12,.93);
  --nav-chip: rgba(255,255,255,.12);
  --footer-bg: #04050c;
  --price-bg: var(--gold);
  --price-fg: #0b0d1a;
  --hero-scrim: linear-gradient(90deg, rgba(4,5,12,.94) 0%, rgba(4,5,12,.68) 45%, rgba(4,5,12,.28) 100%);
  --flare: rgba(255,228,150,.65);
  --arc: #ffeaa9;
  --card-overlay-scrim: linear-gradient(0deg, rgba(4,5,12,.92) 6%, rgba(4,5,12,.55) 42%, transparent 72%);
  --media-scrim: linear-gradient(0deg, rgba(4,5,12,.55), transparent 46%);
  --season-art: var(--season-art-spark);
  --season-opacity: .20;
  --fall-a: radial-gradient(2.2px 2.2px at 60px 250px, rgba(255,228,150,.9), transparent 60%),radial-gradient(1.6px 1.6px at 196px 130px, rgba(190,205,255,.7), transparent 60%),radial-gradient(2px 2px at 276px 300px, rgba(255,240,190,.8), transparent 60%);
  --fall-b: radial-gradient(1.4px 1.4px at 110px 190px, rgba(255,215,130,.6), transparent 60%),radial-gradient(1.2px 1.2px at 220px 70px, rgba(170,190,255,.5), transparent 60%);
  --fall-opacity: .55;
  --fall-to-a: -320px;
  --fall-to-b: -230px;
  --fall-speed-a: 18s;
  --fall-speed-b: 12s;
}


/* ---------- SLAVA · sveća, žito, jantar ---------- */
html[data-skin="slava"] {
  --bg: #12100a;
  --bg-grad: radial-gradient(circle at 50% 0%, rgba(226,176,96,.15), transparent 32%), linear-gradient(180deg, #100e09 0%, #191509 50%, #0e0c07 100%);
  --surface: #1b170f;
  --surface-2: #241e14;
  --text: #f6efe1;
  --text-strong: #fffaf0;
  --muted: #b3a68f;
  --soft: #dccfb6;
  --gold: #c9a15a;
  --gold-2: #eed8a4;
  --accent: #9c6b33;
  --line: rgba(201,161,90,.30);
  --shadow: 0 18px 45px rgba(0,0,0,.36);
  --panel-bg: linear-gradient(180deg, rgba(35,29,19,.80), rgba(14,12,7,.94));
  --panel-border: rgba(201,161,90,.18);
  --panel-glow: rgba(226,176,96,.14);
  --panel-scrim: linear-gradient(90deg, rgba(14,12,7,.96) 0%, rgba(14,12,7,.88) 32%, rgba(14,12,7,.62) 68%, rgba(14,12,7,.90) 100%);
  --card-bg: linear-gradient(150deg, rgba(40,33,21,.95), rgba(16,14,8,.98));
  --card-border: rgba(201,161,90,.22);
  --card-border-hover: rgba(238,216,164,.62);
  --card-shadow-hover: 0 22px 55px rgba(0,0,0,.48), 0 0 26px rgba(226,176,96,.18);
  --nav-bg: rgba(15,13,8,.93);
  --nav-chip: rgba(255,255,255,.10);
  --footer-bg: #0e0c07;
  --price-bg: var(--gold);
  --price-fg: #1a1408;
  --hero-scrim: linear-gradient(90deg, rgba(13,11,7,.92) 0%, rgba(13,11,7,.66) 45%, rgba(13,11,7,.30) 100%);
  --flare: rgba(255,205,125,.55);
  --arc: #eed8a4;
  --card-overlay-scrim: linear-gradient(0deg, rgba(10,9,5,.92) 6%, rgba(10,9,5,.55) 42%, transparent 72%);
  --media-scrim: linear-gradient(0deg, rgba(10,9,5,.55), transparent 46%);
  --season-art: var(--season-art-candle);
  --season-opacity: .22;
}


/* ---------- BERBA · vinograd, jesen ---------- */
html[data-skin="harvest"] {
  --bg: #140f13;
  --bg-grad: radial-gradient(circle at 78% 0%, rgba(150,82,120,.15), transparent 34%), linear-gradient(180deg, #120d11 0%, #1b1219 50%, #100c0f 100%);
  --surface: #1d151b;
  --surface-2: #261c24;
  --text: #f4ebef;
  --text-strong: #fff6f8;
  --muted: #b09fa9;
  --soft: #d8c6ce;
  --gold: #c08f4e;
  --gold-2: #e8c98e;
  --accent: #8e4a6b;
  --line: rgba(192,143,78,.30);
  --shadow: 0 18px 45px rgba(0,0,0,.38);
  --panel-bg: linear-gradient(180deg, rgba(38,27,35,.80), rgba(15,11,14,.94));
  --panel-border: rgba(192,143,78,.18);
  --panel-glow: rgba(150,82,120,.16);
  --panel-scrim: linear-gradient(90deg, rgba(15,11,14,.96) 0%, rgba(15,11,14,.88) 32%, rgba(15,11,14,.62) 68%, rgba(15,11,14,.90) 100%);
  --card-bg: linear-gradient(150deg, rgba(44,31,40,.95), rgba(17,12,16,.98));
  --card-border: rgba(192,143,78,.22);
  --card-border-hover: rgba(232,201,142,.62);
  --card-shadow-hover: 0 22px 55px rgba(0,0,0,.50), 0 0 28px rgba(150,82,120,.20);
  --nav-bg: rgba(16,12,15,.93);
  --nav-chip: rgba(255,255,255,.10);
  --footer-bg: #100c0f;
  --price-bg: var(--gold);
  --price-fg: #1c1116;
  --hero-scrim: linear-gradient(90deg, rgba(14,10,13,.92) 0%, rgba(14,10,13,.66) 45%, rgba(14,10,13,.30) 100%);
  --flare: rgba(205,125,165,.52);
  --arc: #e8c98e;
  --card-overlay-scrim: linear-gradient(0deg, rgba(11,8,10,.92) 6%, rgba(11,8,10,.55) 42%, transparent 72%);
  --media-scrim: linear-gradient(0deg, rgba(11,8,10,.55), transparent 46%);
  --season-art: var(--season-art-vine);
  --season-opacity: .22;
}


/* ---------- DAN GRADA NOVOG SADA (1.2.1748) · Dunav, Petrovaradin, Neoplanta ---------- */
html[data-skin="novisad"] {
  --bg: #071016;
  --bg-grad: radial-gradient(circle at 60% 0%, rgba(70,150,200,.16), transparent 34%), linear-gradient(180deg, #050d12 0%, #0a1720 50%, #050c11 100%);
  --surface: #0e1b23;
  --surface-2: #13242e;
  --text: #eef4f7;
  --text-strong: #ffffff;
  --muted: #9fb0ba;
  --soft: #c9d8e0;
  --gold: #c9a55e;
  --gold-2: #ecd39a;
  --accent: #4a9ac4;
  --line: rgba(201,165,94,.30);
  --shadow: 0 18px 48px rgba(0,0,0,.42);
  --panel-bg: linear-gradient(180deg, rgba(15,32,42,.80), rgba(5,12,17,.94));
  --panel-border: rgba(201,165,94,.18);
  --panel-glow: rgba(74,154,196,.16);
  --panel-scrim: linear-gradient(90deg, rgba(5,12,17,.96) 0%, rgba(5,12,17,.88) 32%, rgba(5,12,17,.62) 68%, rgba(5,12,17,.90) 100%);
  --card-bg: linear-gradient(160deg, rgba(18,38,50,.94), rgba(5,12,17,.98));
  --card-border: rgba(201,165,94,.22);
  --card-border-hover: rgba(236,211,154,.62);
  --card-shadow-hover: 0 22px 55px rgba(0,0,0,.52), 0 0 30px rgba(74,154,196,.20);
  --nav-bg: rgba(5,12,17,.93);
  --nav-chip: rgba(255,255,255,.10);
  --footer-bg: #050c11;
  --price-bg: var(--gold);
  --price-fg: #0a151c;
  --hero-scrim: linear-gradient(90deg, rgba(5,12,17,.93) 0%, rgba(5,12,17,.66) 45%, rgba(5,12,17,.28) 100%);
  --flare: rgba(120,200,235,.55);
  --arc: #ecd39a;
  --card-overlay-scrim: linear-gradient(0deg, rgba(4,10,14,.92) 6%, rgba(4,10,14,.55) 42%, transparent 72%);
  --media-scrim: linear-gradient(0deg, rgba(4,10,14,.55), transparent 46%);
  --season-art: var(--season-art-novisad);
  --season-opacity: .24;
  --season-size: min(76vw, 940px) auto;
  --season-position: center bottom -60px;
}


/* ==========================================================================
   GODIŠNJA DOBA — varijante glavne (blueprint) teme
   SEASONS OF THE YEAR — variants of the main blueprint theme

   Zadržavaju karakter originalne stranice: isti crno-zlatni Teslini crteži,
   ista tipografija, pomerena je samo paleta i svetlo. Glavna tema ostaje
   nepromenjena kao "blueprint".
   ========================================================================== */

/* ---------- PROLEĆE · mlado zelenilo, blago svetlo ---------- */
html[data-skin="blueprint-spring"] {
  --bg: #0e1210;
  --bg-grad: radial-gradient(circle at 12% 0%, rgba(150,190,130,.11), transparent 32%), linear-gradient(180deg, #0b0f0d 0%, #101512 48%, #0c100e 100%);
  --surface: #161a17;
  --surface-2: #1c211d;
  --text: #f2f2e9;
  --text-strong: #fffdf4;
  --muted: #a6ada0;
  --soft: #cfd6c6;
  --gold: #b7985a;
  --gold-2: #d9d0a2;
  --accent: #86a86a;
  --line: rgba(183,152,90,.24);
  --shadow: 0 18px 45px rgba(0,0,0,.28);
  --panel-bg: linear-gradient(180deg, rgba(22,30,25,.76), rgba(11,15,13,.93));
  --panel-border: rgba(183,152,90,.144);
  --panel-glow: rgba(190,225,160,.50);
  --panel-scrim: linear-gradient(90deg, rgba(11,15,13,.96) 0%, rgba(11,15,13,.88) 32%, rgba(11,15,13,.62) 68%, rgba(11,15,13,.90) 100%);
  --card-bg: linear-gradient(145deg, rgba(150,190,130,.04), transparent 55%), linear-gradient(145deg, #1c211d, #161a17);
  --card-border: rgba(255,255,255,.06);
  --card-border-hover: #d9d0a29c;
  --card-shadow-hover: 0 22px 55px rgba(0,0,0,.45), 0 0 26px rgba(150,190,130,.14);
  --nav-bg: rgba(11,15,13,.92);
  --nav-chip: rgba(255,255,255,.10);
  --footer-bg: #0e1210;
  --price-bg: var(--gold);
  --price-fg: #16130d;
  --hero-scrim: linear-gradient(90deg, rgba(11,15,13,.90) 0%, rgba(11,15,13,.64) 45%, rgba(11,15,13,.30) 100%);
  --flare: rgba(190,225,160,.50);
  --arc: #cfe0b6;
  --card-overlay-scrim: linear-gradient(0deg, rgba(11,15,13,.92) 6%, rgba(11,15,13,.55) 42%, transparent 72%);
  --media-scrim: linear-gradient(0deg, rgba(11,15,13,.55), transparent 46%);
  --season-art: var(--season-art-spring);
  --season-opacity: .10;
  --fall-a: radial-gradient(3px 4px at 54px 70px, rgba(198,222,170,.6), transparent 65%),radial-gradient(2.4px 3.4px at 190px 148px, rgba(226,235,205,.55), transparent 65%);
  --fall-opacity: .24;
  --fall-speed-a: 34s;
}


/* ---------- LETO · vrelo veče, jače zlato ---------- */
html[data-skin="blueprint-summer"] {
  --bg: #12100d;
  --bg-grad: radial-gradient(circle at 82% 0%, rgba(226,178,96,.14), transparent 34%), linear-gradient(180deg, #0f0d0b 0%, #151210 48%, #100e0c 100%);
  --surface: #1a1613;
  --surface-2: #211c18;
  --text: #f7f0e4;
  --text-strong: #fffaf0;
  --muted: #b0a595;
  --soft: #ddd0bb;
  --gold: #c9a35f;
  --gold-2: #ecd39a;
  --accent: #d98f3f;
  --line: rgba(201,163,95,.26);
  --shadow: 0 18px 45px rgba(0,0,0,.28);
  --panel-bg: linear-gradient(180deg, rgba(30,25,20,.76), rgba(15,13,11,.93));
  --panel-border: rgba(201,163,95,.146);
  --panel-glow: rgba(255,205,120,.55);
  --panel-scrim: linear-gradient(90deg, rgba(15,13,11,.96) 0%, rgba(15,13,11,.88) 32%, rgba(15,13,11,.62) 68%, rgba(15,13,11,.90) 100%);
  --card-bg: linear-gradient(145deg, rgba(226,178,96,.04), transparent 55%), linear-gradient(145deg, #211c18, #1a1613);
  --card-border: rgba(255,255,255,.06);
  --card-border-hover: #ecd39a9c;
  --card-shadow-hover: 0 22px 55px rgba(0,0,0,.45), 0 0 26px rgba(226,178,96,.14);
  --nav-bg: rgba(15,13,11,.92);
  --nav-chip: rgba(255,255,255,.10);
  --footer-bg: #12100d;
  --price-bg: var(--gold);
  --price-fg: #16130d;
  --hero-scrim: linear-gradient(90deg, rgba(15,13,11,.90) 0%, rgba(15,13,11,.64) 45%, rgba(15,13,11,.30) 100%);
  --flare: rgba(255,205,120,.55);
  --arc: #f0d6a2;
  --card-overlay-scrim: linear-gradient(0deg, rgba(15,13,11,.92) 6%, rgba(15,13,11,.55) 42%, transparent 72%);
  --media-scrim: linear-gradient(0deg, rgba(15,13,11,.55), transparent 46%);
  --season-art: var(--section-invention-radiant);
  --season-opacity: .12;
}


/* ---------- JESEN · bakar i suvo lišće ---------- */
html[data-skin="blueprint-autumn"] {
  --bg: #120f0c;
  --bg-grad: radial-gradient(circle at 78% 0%, rgba(192,122,64,.13), transparent 34%), linear-gradient(180deg, #100d0a 0%, #171310 50%, #0f0c0a 100%);
  --surface: #1a1512;
  --surface-2: #221b17;
  --text: #f5ece0;
  --text-strong: #fff7ec;
  --muted: #b0a291;
  --soft: #dbcab4;
  --gold: #bb8f52;
  --gold-2: #e0bd8a;
  --accent: #a5623a;
  --line: rgba(187,143,82,.26);
  --shadow: 0 18px 45px rgba(0,0,0,.28);
  --panel-bg: linear-gradient(180deg, rgba(32,26,20,.76), rgba(16,13,10,.93));
  --panel-border: rgba(187,143,82,.146);
  --panel-glow: rgba(220,150,90,.50);
  --panel-scrim: linear-gradient(90deg, rgba(16,13,10,.96) 0%, rgba(16,13,10,.88) 32%, rgba(16,13,10,.62) 68%, rgba(16,13,10,.90) 100%);
  --card-bg: linear-gradient(145deg, rgba(192,122,64,.04), transparent 55%), linear-gradient(145deg, #221b17, #1a1512);
  --card-border: rgba(255,255,255,.06);
  --card-border-hover: #e0bd8a9c;
  --card-shadow-hover: 0 22px 55px rgba(0,0,0,.45), 0 0 26px rgba(192,122,64,.14);
  --nav-bg: rgba(16,13,10,.92);
  --nav-chip: rgba(255,255,255,.10);
  --footer-bg: #120f0c;
  --price-bg: var(--gold);
  --price-fg: #16130d;
  --hero-scrim: linear-gradient(90deg, rgba(16,13,10,.90) 0%, rgba(16,13,10,.64) 45%, rgba(16,13,10,.30) 100%);
  --flare: rgba(220,150,90,.50);
  --arc: #e0bd8a;
  --card-overlay-scrim: linear-gradient(0deg, rgba(16,13,10,.92) 6%, rgba(16,13,10,.55) 42%, transparent 72%);
  --media-scrim: linear-gradient(0deg, rgba(16,13,10,.55), transparent 46%);
  --season-art: var(--season-art-vine);
  --season-opacity: .11;
}


/* ---------- ZIMA · ledeno srebro nad zlatom ---------- */
html[data-skin="blueprint-winter"] {
  --bg: #0d0f11;
  --bg-grad: radial-gradient(circle at 50% 0%, rgba(150,180,200,.11), transparent 32%), linear-gradient(180deg, #0a0c0e 0%, #101315 48%, #0b0d0f 100%);
  --surface: #14181a;
  --surface-2: #1a1f22;
  --text: #eef2f4;
  --text-strong: #ffffff;
  --muted: #a2acb2;
  --soft: #c9d3d8;
  --gold: #ac9b6a;
  --gold-2: #d8cda6;
  --accent: #7fa3bd;
  --line: rgba(172,155,106,.26);
  --shadow: 0 18px 45px rgba(0,0,0,.28);
  --panel-bg: linear-gradient(180deg, rgba(20,26,30,.76), rgba(10,12,14,.93));
  --panel-border: rgba(172,155,106,.146);
  --panel-glow: rgba(200,225,240,.50);
  --panel-scrim: linear-gradient(90deg, rgba(10,12,14,.96) 0%, rgba(10,12,14,.88) 32%, rgba(10,12,14,.62) 68%, rgba(10,12,14,.90) 100%);
  --card-bg: linear-gradient(145deg, rgba(150,180,200,.04), transparent 55%), linear-gradient(145deg, #1a1f22, #14181a);
  --card-border: rgba(255,255,255,.06);
  --card-border-hover: #d8cda69c;
  --card-shadow-hover: 0 22px 55px rgba(0,0,0,.45), 0 0 26px rgba(150,180,200,.14);
  --nav-bg: rgba(10,12,14,.92);
  --nav-chip: rgba(255,255,255,.10);
  --footer-bg: #0d0f11;
  --price-bg: var(--gold);
  --price-fg: #16130d;
  --hero-scrim: linear-gradient(90deg, rgba(10,12,14,.90) 0%, rgba(10,12,14,.64) 45%, rgba(10,12,14,.30) 100%);
  --flare: rgba(200,225,240,.50);
  --arc: #d8e6ef;
  --card-overlay-scrim: linear-gradient(0deg, rgba(10,12,14,.92) 6%, rgba(10,12,14,.55) 42%, transparent 72%);
  --media-scrim: linear-gradient(0deg, rgba(10,12,14,.55), transparent 46%);
  --season-art: var(--season-art-snow);
  --season-opacity: .10;
  --fall-a: radial-gradient(2.4px 2.4px at 42px 58px, rgba(255,255,255,.92), transparent 60%),radial-gradient(1.8px 1.8px at 168px 122px, rgba(255,255,255,.7), transparent 60%),radial-gradient(2px 2px at 254px 232px, rgba(255,255,255,.8), transparent 60%);
  --fall-b: radial-gradient(1.6px 1.6px at 30px 40px, rgba(255,255,255,.6), transparent 60%),radial-gradient(1.2px 1.2px at 140px 160px, rgba(255,255,255,.45), transparent 60%);
  --fall-opacity: .30;
  --fall-speed-a: 34s;
  --fall-speed-b: 24s;
}


/* ==========================================================================
   JAČINA ČESTICA / PARTICLE INTENSITY   (admin: „Jačina čestica")
   ========================================================================== */

html[data-particle-level="subtle"] { --fall-level: .55; }
html[data-particle-level="normal"] { --fall-level: 1; }
html[data-particle-level="rich"]   { --fall-level: 1.55; }

/* ==========================================================================
   ČESTICE / PARTICLES

   Svaka vrsta ima tri sloja različitih brzina i smerova. Sloj se crta kao
   pločica koja se ponavlja i pomera preko `background-position`, pa nema
   ni jednog JS objekta po čestici — radi glatko i na slabom telefonu.

   Each kind has three layers at different speeds and drifts. A layer is a
   repeating tile scrolled via background-position — no per-particle JS, so
   it stays smooth on weak phones.

   GENERISANO skriptom (deploy/gen-particles.py) — ne doteruj ručno.
   GENERATED — do not hand-edit; regenerate instead.
   ========================================================================== */

html[data-particles="snow"] {
  --fall-a: url("../images/art/fall-a-82ae55c3.svg");
  --fall-b: url("../images/art/fall-b-98084193.svg");
  --fall-c: url("../images/art/fall-c-c77e9884.svg");
  --fall-size-a: 300px 300px;
  --fall-size-b: 220px 220px;
  --fall-size-c: 150px 150px;
  --fall-to-a: 300px;
  --fall-to-b: 220px;
  --fall-to-c: 150px;
  --fall-speed-a: 30s;
  --fall-speed-b: 21s;
  --fall-speed-c: 15s;
  --fall-drift-a: -26px;
  --fall-drift-b: 18px;
  --fall-drift-c: -12px;
  --fall-opacity: 0.6;
}

html[data-particles="electric-snow"] {
  --fall-a: url("../images/art/fall-a-1b9acca6.svg");
  --fall-b: url("../images/art/fall-b-f0c01363.svg");
  --fall-c: url("../images/art/fall-c-bafb79b6.svg");
  --fall-size-a: 300px 300px;
  --fall-size-b: 220px 220px;
  --fall-size-c: 150px 150px;
  --fall-to-a: 300px;
  --fall-to-b: 220px;
  --fall-to-c: 150px;
  --fall-speed-a: 28s;
  --fall-speed-b: 19s;
  --fall-speed-c: 13s;
  --fall-drift-a: -30px;
  --fall-drift-b: 20px;
  --fall-drift-c: -14px;
  --fall-opacity: 0.62;
}

html[data-particles="embers"] {
  --fall-a: url("../images/art/fall-a-879fb608.svg");
  --fall-b: url("../images/art/fall-b-6498bfdf.svg");
  --fall-c: url("../images/art/fall-c-0870243a.svg");
  --fall-size-a: 300px 300px;
  --fall-size-b: 220px 220px;
  --fall-size-c: 150px 150px;
  --fall-to-a: -300px;
  --fall-to-b: -220px;
  --fall-to-c: -150px;
  --fall-speed-a: 26s;
  --fall-speed-b: 18s;
  --fall-speed-c: 12s;
  --fall-drift-a: 14px;
  --fall-drift-b: -12px;
  --fall-drift-c: 8px;
  --fall-opacity: 0.52;
}

html[data-particles="petals"] {
  --fall-a: url("../images/art/fall-a-34b46d75.svg");
  --fall-b: url("../images/art/fall-b-3610ce90.svg");
  --fall-c: url("../images/art/fall-c-0e324c54.svg");
  --fall-size-a: 300px 300px;
  --fall-size-b: 220px 220px;
  --fall-size-c: 150px 150px;
  --fall-to-a: 300px;
  --fall-to-b: 220px;
  --fall-to-c: 150px;
  --fall-speed-a: 34s;
  --fall-speed-b: 24s;
  --fall-speed-c: 17s;
  --fall-drift-a: -34px;
  --fall-drift-b: 26px;
  --fall-drift-c: -16px;
  --fall-opacity: 0.55;
}

html[data-particles="leaves"] {
  --fall-a: url("../images/art/fall-a-198f46bf.svg");
  --fall-b: url("../images/art/fall-b-05546938.svg");
  --fall-c: url("../images/art/fall-c-b2871416.svg");
  --fall-size-a: 300px 300px;
  --fall-size-b: 220px 220px;
  --fall-size-c: 150px 150px;
  --fall-to-a: 300px;
  --fall-to-b: 220px;
  --fall-to-c: 150px;
  --fall-speed-a: 36s;
  --fall-speed-b: 26s;
  --fall-speed-c: 18s;
  --fall-drift-a: -30px;
  --fall-drift-b: 22px;
  --fall-drift-c: -14px;
  --fall-opacity: 0.5;
}

html[data-particles="sparks"] {
  --fall-a: url("../images/art/fall-a-40d8bb31.svg");
  --fall-b: url("../images/art/fall-b-eb2b080c.svg");
  --fall-c: url("../images/art/fall-c-b86b38de.svg");
  --fall-size-a: 300px 300px;
  --fall-size-b: 220px 220px;
  --fall-size-c: 150px 150px;
  --fall-to-a: -300px;
  --fall-to-b: -220px;
  --fall-to-c: -150px;
  --fall-speed-a: 22s;
  --fall-speed-b: 15s;
  --fall-speed-c: 10s;
  --fall-drift-a: 10px;
  --fall-drift-b: -8px;
  --fall-drift-c: 6px;
  --fall-opacity: 0.58;
}

html[data-particles="dust"] {
  --fall-a: url("../images/art/fall-a-6895b0cf.svg");
  --fall-b: url("../images/art/fall-b-c2686fd4.svg");
  --fall-c: url("../images/art/fall-c-30ad6789.svg");
  --fall-size-a: 300px 300px;
  --fall-size-b: 220px 220px;
  --fall-size-c: 150px 150px;
  --fall-to-a: 300px;
  --fall-to-b: 220px;
  --fall-to-c: 150px;
  --fall-speed-a: 40s;
  --fall-speed-b: 28s;
  --fall-speed-c: 20s;
  --fall-drift-a: -18px;
  --fall-drift-b: 14px;
  --fall-drift-c: -10px;
  --fall-opacity: 0.42;
}

html[data-particles="glints"] {
  --fall-a: url("../images/art/fall-a-719c4957.svg");
  --fall-b: url("../images/art/fall-b-3e006541.svg");
  --fall-c: url("../images/art/fall-c-092ec709.svg");
  --fall-size-a: 300px 300px;
  --fall-size-b: 220px 220px;
  --fall-size-c: 150px 150px;
  --fall-to-a: 300px;
  --fall-to-b: 220px;
  --fall-to-c: 150px;
  --fall-speed-a: 38s;
  --fall-speed-b: 27s;
  --fall-speed-c: 19s;
  --fall-drift-a: -22px;
  --fall-drift-b: 16px;
  --fall-drift-c: -12px;
  --fall-opacity: 0.4;
}

html[data-particles="none"] { --fall-opacity: 0; }


/* Kada su animacije isključene, čestice se ne prikazuju uopšte.
   With animations off, particles are not drawn at all. */
html[data-anim="off"] .season-fall,
html[data-anim="off"] .hero__fall { display: none; }
