/* Билетна система на Двореца — канон на марката 14.09.2026:
   Palace Black #1E1E1E · Sea Blue #00497C · Stone Gray #D8D8D8 · Gold Edition #CCA352 · Cherry Red #E5243B */
:root{
  --cherna:#1E1E1E; --sinyo:#00497C; --sinyo50:#7FA4BD; --siv:#D8D8D8; --zlato:#CCA352; --cherveno:#E5243B;
  --fon:#FFFFFF; --tekst:#1E1E1E; --blad:#5b5b5b; --kartichka:#F4F6F8; --liniya:#D8D8D8;
  --kat1:#E5243B; --kat2:#00497C; --kat3:#CCA352; --kat4:#7FA4BD; --zaeto:#C9C9C9; --moe:#1E1E1E;
  /* цветове по цена (от най-скъпата) — в палитрата на марката и нейните нюанси */
  --c0:var(--kat1); --c1:var(--kat2); --c2:var(--kat3); --c3:var(--kat4); --c4:#F2919D; --c5:#7F6F4A; --c6:#9FB8C9; --c7:#8A8A8A;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --fon:#161616; --tekst:#F1F1F1; --blad:#b4b4b4; --kartichka:#222527; --liniya:#3a3a3a;
  --zaeto:#4a4a4a; --moe:#FFFFFF; --kat2:#3d86c2;}}
:root[data-theme="dark"]{--fon:#161616; --tekst:#F1F1F1; --blad:#b4b4b4; --kartichka:#222527; --liniya:#3a3a3a;
  --zaeto:#4a4a4a; --moe:#FFFFFF; --kat2:#3d86c2;}
*{box-sizing:border-box}
html,body{margin:0;background:var(--fon);color:var(--tekst)}
body{font:16px/1.5 Montserrat,"Segoe UI",Arial,sans-serif}
a{color:var(--sinyo)} @media (prefers-color-scheme:dark){a{color:#7fb6e0}}
header.gore{background:var(--cherna);color:#fff;padding:12px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
header.gore .marka{font-weight:700;letter-spacing:.02em}
header.gore .marka small{display:block;font-weight:500;color:var(--zlato);font-size:12px;letter-spacing:.08em}
header.gore nav{margin-left:auto;display:flex;gap:14px;font-size:14px}
header.gore nav a{color:#fff;text-decoration:none;opacity:.85}
.proba{background:var(--zlato);color:#1E1E1E;text-align:center;font-size:13px;padding:4px 16px;font-weight:600}
main{max-width:1180px;margin:0 auto;padding:20px 16px 60px}
h1{font-size:26px;margin:4px 0 6px} h2{font-size:20px;margin:22px 0 10px}
.blado{color:var(--blad);font-size:14px}
.buton{display:inline-block;border:0;border-radius:6px;background:var(--sinyo);color:#fff;font:600 15px Montserrat,Arial,sans-serif;
  padding:11px 18px;cursor:pointer;text-decoration:none}
.buton:disabled{opacity:.45;cursor:not-allowed}
.buton.vtori{background:transparent;color:var(--tekst);border:1px solid var(--liniya)}
.buton.cherven{background:var(--cherveno)}
.buton.cheren{background:var(--cherna);border:1px solid #5a5a5a}
.kartichka{background:var(--kartichka);border:1px solid var(--liniya);border-radius:10px;padding:16px}
.mreja{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.subitie .data{color:var(--sinyo);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.04em}
@media (prefers-color-scheme:dark){.subitie .data{color:#7fb6e0}}
.subitie h3{margin:6px 0;font-size:19px}
.etiket{display:inline-block;font-size:12px;font-weight:600;background:var(--cherna);color:#fff;border-radius:4px;padding:2px 8px}
label{display:block;font-size:14px;font-weight:600;margin:10px 0 4px}
input[type=text],input[type=email],input[type=password],select{width:100%;padding:10px;border:1px solid var(--liniya);border-radius:6px;
  font:16px Montserrat,Arial,sans-serif;background:var(--fon);color:var(--tekst)}
.izbor{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--liniya);border-radius:8px;padding:10px;margin:6px 0;cursor:pointer;font-weight:500}
.izbor input{margin-top:4px}
.izbor.zabraneno{opacity:.5;cursor:not-allowed}
.greshka{background:#fde7ea;color:#8a0f1f;border-left:4px solid var(--cherveno);padding:10px 12px;border-radius:4px;margin:10px 0}
.uspeh{background:#e6eef5;color:#00365c;border-left:4px solid var(--sinyo);padding:10px 12px;border-radius:4px;margin:10px 0}
@media (prefers-color-scheme:dark){.greshka{background:#3a1d22;color:#ffc9d1}.uspeh{background:#16293a;color:#cfe4f5}}
.skrito{display:none!important}

/* --- карта на залата --- */
.izgled{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
@media (max-width:900px){.izgled{grid-template-columns:1fr}}
.platno{position:relative;background:var(--kartichka);border:1px solid var(--liniya);border-radius:10px;overflow:hidden;touch-action:manipulation}
.platno svg{display:block;width:100%;height:auto;max-height:76vh}
.platno .lenta{position:absolute;left:10px;top:10px;display:flex;gap:8px;z-index:2}
.platno .lenta .buton{padding:7px 12px;font-size:14px}
.legenda{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;margin:10px 2px}
.legenda span{display:inline-flex;align-items:center;gap:6px}
.legenda i{width:13px;height:13px;border-radius:50%;display:inline-block}
.blok-kontur{fill:transparent;stroke:var(--liniya);stroke-width:1;cursor:pointer}
.blok-kontur:hover{fill:rgba(0,73,124,.08)}
.blok-kontur.vip{stroke:var(--zlato);stroke-width:1.5;fill:rgba(204,163,82,.10);cursor:pointer}
.blok-kontur.zatvoren{fill:repeating-linear-gradient(45deg,#ccc,#ccc 2px,transparent 2px,transparent 6px);cursor:not-allowed}
.blok-etiket{font:700 13px Montserrat,Arial,sans-serif;fill:var(--tekst);text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:var(--kartichka);stroke-width:3px}
.blok-etiket tspan.br{font-weight:500;font-size:10px;fill:var(--blad)}
.mesto{cursor:pointer;transition:r .1s}
.mesto.zaeto{fill:var(--zaeto);cursor:not-allowed}
.mesto.moe{fill:var(--moe);stroke:var(--zlato);stroke-width:1.2}
.mesto-nomer{font:600 2.6px Montserrat,Arial,sans-serif;fill:#fff;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.mesto-nomer.tamno{fill:#1E1E1E}
.mesto-nomer.moe{fill:var(--fon)}
.red-nomer{font:600 3px Montserrat,Arial,sans-serif;fill:var(--blad);text-anchor:middle;dominant-baseline:central;pointer-events:none}
.teren{fill:none;stroke:var(--liniya);stroke-width:1.5;stroke-dasharray:6 4}
.teren-tekst{font:600 16px Montserrat,Arial,sans-serif;fill:var(--blad);text-anchor:middle;letter-spacing:.2em}
.kolichka h3{margin:0 0 6px}
.kolichka ul{list-style:none;padding:0;margin:8px 0}
.kolichka li{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--liniya);font-size:14px}
.kolichka li button{border:0;background:none;color:var(--cherveno);cursor:pointer;font-size:18px;line-height:1}
.obshto{display:flex;justify-content:space-between;font-weight:700;font-size:18px;margin:10px 0}
.taimer{font-variant-numeric:tabular-nums;font-weight:700;color:var(--cherveno)}
.suobshtenie{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--cherna);color:#fff;padding:10px 16px;border-radius:8px;
  font-size:14px;z-index:20;box-shadow:0 4px 18px rgba(0,0,0,.25);max-width:calc(100% - 32px)}

/* --- билет --- */
.bilet{display:grid;grid-template-columns:1fr auto;gap:16px;border:2px solid var(--cherna);border-radius:12px;padding:18px;background:#fff;color:#1E1E1E;
  page-break-inside:avoid;margin-bottom:16px}
.bilet .gore{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:3px solid var(--zlato);padding-bottom:8px}
.bilet .gore b{font-size:15px;letter-spacing:.04em}
.bilet h3{margin:0 0 6px;font-size:20px}
.bilet .mesto-golyamo{font-size:22px;font-weight:700;color:#00497C}
.bilet .kod{font:700 18px ui-monospace,Consolas,monospace;letter-spacing:.12em}
.bilet .qr svg,.bilet .qr img{width:150px;height:150px}
@media print{header.gore,.proba,.ne-pechat{display:none!important} body{background:#fff} main{padding:0}}
@media (max-width:560px){.bilet{grid-template-columns:1fr}.bilet .qr{justify-self:center}}

/* Летен театър — своя марка: Amphitheatre Green #357C50 · Footlight Yellow #F2E177 (само за Летния театър) */
body.leten{--sinyo:#357C50; --zlato:#F2E177; --kat1:#357C50; --kat2:#6FA584; --kat3:#E2C93F;
  /* цветовете по цена се пресмятат тук наново — иначе остават с цветовете на Двореца */
  --c0:#357C50; --c1:#6FA584; --c2:#E2C93F; --c3:#A9C9B4; --c4:#F2E177; --c5:#2E5E3F; --c6:#C9B85A; --c7:#8A8A8A}
body.leten header.gore{background:#1f4a30}
body.leten header.gore .marka small{color:#F2E177}
body.leten .proba{background:#F2E177}

/* малки равни зали (Пресцентър): по-дребни надписи */
svg.ravna .blok-etiket{font-size:6px;stroke-width:1.5px}
svg.ravna .blok-etiket tspan.br{font-size:4.5px}
svg.ravna .teren-tekst{font-size:7px;letter-spacing:.15em}

/* тесни екрани: дълги имена в падащите менюта и таблиците не разпъват страницата */
.izgled > *{min-width:0}
select{max-width:100%;text-overflow:ellipsis}

/* горната лента — едно и също меню навсякъде; текущата страница отбелязана; на телефон се пренася */
header.gore nav.glavno{margin-left:auto;display:flex;flex-wrap:wrap;gap:4px 6px;font-size:14px}
header.gore nav.glavno a{color:#fff;text-decoration:none;opacity:.85;padding:5px 9px;border-radius:5px}
header.gore nav.glavno a:hover{opacity:1;background:rgba(255,255,255,.1)}
header.gore nav.glavno a.akt{opacity:1;font-weight:700;background:rgba(255,255,255,.14);box-shadow:inset 0 -2px 0 var(--zlato)}
@media (max-width:700px){header.gore nav.glavno{margin-left:0;width:100%}}
