:root{
  --tmava:#0C1017; --panel:#141A24; --panel2:#0F131A; --linka:#343C48;
  --zlata:#C9A227; --zlata-svetla:#EBCF7E; --krem:#F4EDDE; --seda:#D2C7AB;
}
/* Platební stránka lístků na after: barvy plakátu místo zlaté */
.tema-after{--tmava:#140A08;--panel:#1E100C;--panel2:#180C09;--linka:#4A2A22;
  --zlata:#E3141E;--zlata-svetla:#FF6B6B;--krem:#F4EDE2;--seda:#E0CFC2}
.tema-after .tlac{color:#fff}
.tema-after .stitek{color:#FF6B6B}
*{box-sizing:border-box}
body{margin:0;background:var(--tmava);color:var(--krem);
  font-family:"Josefin Sans",Georgia,serif;font-weight:400}
a{color:var(--zlata-svetla);text-decoration:none}
a:hover{color:var(--krem)}
.topbar{height:6px;background:var(--zlata)}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:"Cinzel",serif;font-weight:600;letter-spacing:2px}
.cinzel{font-family:"Cinzel",serif}
.zlata{color:var(--zlata)}
.tlac{display:inline-flex;align-items:center;justify-content:center;
  font-family:"Cinzel",serif;letter-spacing:3px;color:var(--tmava);
  background:var(--zlata);border:none;cursor:pointer;padding:18px 44px;font-size:15px}
.tlac:hover{background:var(--zlata-svetla)}
.tlac:disabled{opacity:.4;cursor:not-allowed}

/* --- Úvod --- */
.hero{text-align:center;padding:80px 24px 40px}
.hero .nadhled{font-family:"Cinzel",serif;letter-spacing:8px;color:var(--zlata);font-size:16px}
.hero h1{font-size:56px;line-height:1.1;letter-spacing:5px;margin:24px 0 8px}
.hero .rok{font-family:"Cinzel",serif;letter-spacing:8px;color:var(--zlata-svetla);font-size:26px}
.hero p{font-size:22px;letter-spacing:3px;color:#D9CFB6;margin:8px 0}
.info-pruh{display:flex;border-top:1px solid var(--linka);border-bottom:1px solid var(--linka);margin-top:40px}
.info-pruh > div{flex:1;padding:36px 32px}
.info-pruh > div + div{border-left:1px solid var(--linka)}
.stitek{font-family:"Cinzel",serif;letter-spacing:4px;color:var(--zlata);font-size:15px}
.karty{display:flex;gap:24px;margin:40px 0}
.karta{flex:1;padding:30px;background:var(--panel);border:1px solid var(--linka)}
.karta.zvyraznena{border-color:var(--zlata)}
.karta .cena{font-family:"Cinzel",serif;font-size:30px;color:var(--zlata-svetla);margin-top:20px}
footer{border-top:1px solid var(--linka);margin-top:40px;padding:32px 24px;
  display:flex;justify-content:space-between;color:var(--seda)}

/* --- Plánek --- */
.plan-hlavicka{display:flex;justify-content:space-between;align-items:flex-end;
  padding:32px 0 20px;flex-wrap:wrap;gap:16px}
.legenda{display:flex;gap:20px;flex-wrap:wrap;font-size:15px;color:var(--seda)}
.legenda span{display:flex;align-items:center;gap:8px}
.sw{width:16px;height:16px;display:inline-block}
.wrap-siroka{max-width:1560px}
.plan-layout{display:flex;gap:32px;align-items:flex-start}
.sal{flex:1;min-width:0;background:var(--panel2);border:1px solid var(--linka);padding:12px}
.plan-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.plan-scroll svg{display:block;width:100%;min-width:980px;height:auto}
.plan-info{min-height:44px;margin-top:10px;padding:10px 14px;font-size:16px;
  color:var(--seda);border:1px solid var(--linka)}
.plan-info b{color:var(--krem);font-weight:600}
.faze{border:1px solid var(--zlata);padding:14px 20px;margin-bottom:18px;color:var(--zlata-svetla)}
.faze.zavreno{border-color:#C5694B;color:#E38A6A}
.faze small{display:block;color:var(--seda);margin-top:4px;font-size:15px}

/* dlaždice stolů v SVG plánku */
.tbl{cursor:pointer;outline:none}
.tbl .deska{fill:#fff;stroke:#111;stroke-width:1.2}
.tbl.zabradli .deska{fill:#FFF1B8;stroke:#7A5F00;stroke-width:1.8}
.tbl.loze .deska{fill:#F6D9D9;stroke:#8B1E2D;stroke-width:2}
.tbl .zidle{fill:#2E8B3D;stroke:#14501E;stroke-width:.6}
.tbl .zidle.zabrana{fill:#B8B3A6;stroke:#8A8577}
.tbl .zidle.moje{fill:#FFC81E;stroke:#7A5F00}
.tbl .cis{font-family:"Josefin Sans",Arial,sans-serif;font-weight:600;font-size:15px;
  fill:#111;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.tbl.loze .cis{font-size:13px}
.tbl:hover .deska,.tbl:focus .deska{stroke:#1457D6;stroke-width:2.6}
.tbl.vybrano .deska{fill:#0C1017;stroke:#C9A227;stroke-width:2.4}
.tbl.vybrano .cis{fill:#F4EDDE}
.tbl.plno{cursor:not-allowed}
.tbl.plno .deska{fill:#D6D2C8;stroke:#8A8577;stroke-width:1}
.tbl.plno .cis{fill:#5A564C}
.tbl.plno:hover .deska{stroke:#8A8577;stroke-width:1}

/* --- Košík --- */
.kosik{width:360px;flex-shrink:0;background:var(--panel);border:1px solid var(--zlata);padding:28px}
.kosik h3{font-size:15px;letter-spacing:4px;color:var(--zlata);margin:0 0 20px}
.radek{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;
  padding-bottom:12px;border-bottom:1px solid var(--linka);margin-bottom:12px}
.radek button{width:28px;height:28px;background:transparent;border:1px solid #6A7585;
  color:var(--seda);cursor:pointer;font-size:16px}
.stani{display:flex;align-items:center;gap:12px;margin:16px 0}
.stani button{width:44px;height:44px;background:transparent;border:1px solid #6A7585;
  color:var(--krem);cursor:pointer;font-size:20px}
.stani .plus{border-color:var(--zlata);color:var(--zlata-svetla)}
.stani .pocet{width:40px;text-align:center;font-family:"Cinzel",serif;font-size:24px}
.souhrn div{display:flex;justify-content:space-between;font-size:17px;color:var(--seda);margin:6px 0}
.celkem{font-family:"Cinzel",serif;font-size:28px;color:var(--zlata-svetla)}
label{font-size:15px;letter-spacing:2px;color:var(--seda);display:block;margin:12px 0 6px}
input{width:100%;height:44px;padding:0 14px;background:var(--panel2);
  border:1px solid #6A7585;color:var(--krem);font-family:"Josefin Sans",serif;font-size:16px}
input::placeholder{color:#8F98A6;opacity:1}
.chyba{color:#F0A084;font-size:16px;margin-top:10px;min-height:18px}
.limit{color:var(--seda)}
.limit.plno{color:var(--zlata)}

/* --- Platba --- */
.platba-layout{display:flex;gap:32px;margin:32px 0;flex-wrap:wrap}
.qr-box{background:var(--panel);border:1px solid var(--zlata);padding:28px;
  display:flex;flex-direction:column;align-items:center;gap:14px}
.qr-box img{width:220px;height:220px;background:#fff;padding:10px}
.udaje{flex:1;min-width:280px}
.udaj{margin-bottom:16px}
.udaj .k{font-size:15px;letter-spacing:2px;color:var(--seda)}
.udaj .v{font-family:"Cinzel",serif;font-size:22px}
.odpocet{border:1px solid var(--zlata);padding:14px 24px;text-align:center}
.odpocet .cas{font-family:"Cinzel",serif;font-size:36px;color:var(--zlata-svetla)}
.stav-hotovo{border-color:#2f7d4f}
table{width:100%;border-collapse:collapse;font-size:16px}
th,td{text-align:left;padding:10px;border-bottom:1px solid var(--linka)}
th{color:var(--seda);font-weight:400;font-family:"Cinzel",serif;letter-spacing:1px;font-size:15px}
.tag{padding:3px 10px;font-size:14px;border:1px solid var(--linka)}
.tag.zaplaceno{color:#6cc48c;border-color:#2f7d4f}
.tag.ceka{color:var(--zlata-svetla);border-color:var(--zlata)}
.tag.vyprsela,.tag.stornovano{color:#B4B4B4}
.tag.k_provereni{color:#F0A084;border-color:#C5694B}

@media(max-width:900px){
  .plan-layout{flex-direction:column}.sal{width:100%}.kosik{width:100%}
  .karty{flex-direction:column}.info-pruh{flex-direction:column}
  .info-pruh > div + div{border-left:none;border-top:1px solid var(--linka)}
  .hero h1{font-size:38px}
}

/* odkaz na prodej lístků na after (úvodní stránka plesu) */
.after-pruh{display:flex;align-items:center;gap:24px 36px;flex-wrap:wrap;margin-top:8px;
  padding:26px 32px;background:#1b0b0b;border:2px solid #E3141E;color:var(--krem)}
.after-pruh:hover{background:#2a0e0f;color:var(--krem)}
.after-titul{font-family:"Archivo","Cinzel",sans-serif;font-weight:900;font-size:34px;line-height:1;
  color:#FF5A5F;letter-spacing:-.5px;text-transform:uppercase}
.after-info{flex:1;min-width:240px;font-size:17px;color:#EBDBCD}
.after-akce{background:#E3141E;color:#fff;padding:14px 26px;font-family:"Cinzel",serif;
  letter-spacing:2px;font-size:15px}

/* --- vlny prodeje, vyhrazené lóže, slevy --- */
select{height:44px;padding:0 12px;background:var(--panel2);border:1px solid #6A7585;
  color:var(--krem);font-family:"Josefin Sans",serif;font-size:16px;max-width:100%}
.vlna-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  padding:20px 24px;margin:20px 0;background:var(--panel);border:1px solid var(--zlata)}
.vlna-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tbl.vyhrazeno .deska{stroke-dasharray:5 3}
.tbl.vyhrazeno.plno .deska{stroke-dasharray:none}
.sleva-radek{color:var(--zlata-svetla)}
.sleva-popis{display:block;font-size:14px;color:var(--seda);margin-top:2px}
[hidden]{display:none !important}
.sleva-radek > span:last-child{white-space:nowrap;margin-left:12px}

.kredit{text-align:center;color:var(--seda);font-size:12px;padding:18px 16px 28px;opacity:.8}

/* --- čitelnější čísla stolů a lóží v plánku --- */
.tbl .cis{font-size:20px;font-weight:700;paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round}
.tbl.zabradli .cis{stroke:#FFF1B8}
.tbl.loze .cis{font-size:17px;stroke:#F6D9D9}
.tbl.vybrano .cis{stroke:#0C1017}
.tbl.plno .cis{stroke:#D6D2C8}

/* čísla stolů a lóží vždy černá */
.tbl .cis,.tbl.plno .cis,.tbl.zabradli .cis,.tbl.loze .cis{fill:#000}
.tbl.vybrano .cis{fill:#fff}

/* čísla stolů: černá bez obrysu */
.tbl .cis{stroke:none !important;fill:#000 !important;font-weight:800}
.tbl.vybrano .cis{fill:#fff !important}
