:root{color-scheme:light;font-family:Tahoma,Arial,sans-serif;color:#f5e8cb;background:#160b0c;--gold:#d6ad61;--red:#a71925;--ink:#29120e}
body{background:radial-gradient(ellipse at 12% 0,#47141b 0,transparent 50%),#160b0c;min-height:100vh}
header{background:#210e11;border-bottom:1px solid #755038;padding:14px 4%;position:relative;gap:12px}
.brand{display:flex;align-items:center;gap:13px}.brand img{width:68px;height:68px;object-fit:contain}.brand h1{color:#f1d499;font-size:19px;letter-spacing:1px}.brand small{font-size:11px;color:#bfa98d;letter-spacing:2px}
button{background:#f3e5c9;color:#49271d;border:1px solid #c6a777;border-radius:8px;font-weight:bold;transition:background .15s,transform .15s}button:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ddaf5a;outline-offset:3px}
nav{background:#13090b;padding:5px;border:1px solid #50332a;border-radius:10px}nav button{background:transparent;color:#c4b39d;border:0;min-width:100px}.active,.primary{background:#a51c2a;color:#fff5de;border-color:#d18a54;box-shadow:inset 0 1px #ffffff1a}nav .active{background:#9a1c28;color:#ffe7b3}
.badge{background:#38271b;color:#f1cc88;border:1px solid #74552f;font-size:11px}.notice{background:#362619;color:#e7cb95;border-bottom:1px solid #665033;padding:10px 4%;font-size:12px;line-height:1.7}
main{max-width:1440px;padding-top:24px}.festival-hero{position:relative;min-height:178px;overflow:hidden;border:1px solid #a27d40;border-radius:12px;background:linear-gradient(90deg,#290b10 5%,#35080dba 60%,#27070b88),url('assets/rays.png') center/cover;margin-bottom:20px;padding:28px 32px;display:flex;align-items:center}
.festival-hero:before,.festival-hero:after{content:'';position:absolute;left:8px;right:8px;height:6px;background:radial-gradient(circle,#f6d58d 2px,transparent 3px) 0 0/18px 6px;filter:drop-shadow(0 0 4px #e5b34e)}.festival-hero:before{top:8px}.festival-hero:after{bottom:8px}
.hero-copy{z-index:1;max-width:70%}.eyebrow{color:#d5ac67;font-size:11px;letter-spacing:3px;margin-bottom:12px}.festival-hero h2{font-size:32px;color:#fff0cd;margin:0 0 12px;line-height:1.45}.festival-hero p{font-size:13px;line-height:1.7;color:#d4bc9f;margin:0}.festival-hero img{position:absolute;width:240px;height:195px;object-fit:contain;right:30px;bottom:-9px;filter:drop-shadow(0 7px 12px #000a)}
.panel{background:#261316;border:1px solid #624039;border-radius:12px;padding:24px;box-shadow:0 8px 28px #0002}.panel h3{color:#f2d89f;font-size:17px}.connection{padding:14px 20px!important;margin-bottom:24px!important;background:#201113}.connection summary{cursor:pointer;color:#dfc59d;font-size:13px}.connection .row{justify-content:flex-start}.connection label{font-size:12px}.connection p{margin:8px 0;font-size:12px;color:#e3c997}.connection small{font-size:11px;color:#b69c89}
input,select{background:#160d0e;border:1px solid #74554a;color:#ffedcf;border-radius:7px}select{min-width:75px}.top{margin:26px 0 20px}.top h2{font-size:24px;color:#ffedce}.muted,small{color:#b9a18e}.top>label{font-size:12px;background:#281718;border:1px solid #61413a;padding:8px 12px;border-radius:9px;white-space:nowrap}
.layout{grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr);gap:20px}.products{gap:16px}.product,.product:nth-child(2){position:relative;overflow:hidden;border:1px solid #d2ae70;border-radius:10px;background:#f4e8cd;color:#3c231b;padding:24px}.product:nth-child(2){background:#f1dbac;border-color:#f3c66d}.product small{color:#79604c}.tag{color:#905321;font-size:10px;font-weight:bold;letter-spacing:2px}.big{font-size:40px;margin:26px 0 8px;position:relative;z-index:1;letter-spacing:-1px}.price{font-size:30px;color:#891b25;margin:26px 0 20px;font-weight:bold}.price small{font-size:12px;font-weight:normal}.ticket-art{position:absolute;right:-13px;top:12px;width:135px;height:135px;object-fit:contain;opacity:.16;pointer-events:none}.qty{background:#fff9eb;border:1px solid #d0b78c;border-radius:8px;padding:4px}.qty button{background:#f1e1c0;border:0;width:42px;height:42px;padding:5px;font-size:22px;color:#6b281e}.qty input{background:transparent;color:#352015;font-size:20px;max-width:90px;padding:7px}
.hint{background:#1d1012;border:1px dashed #68473a;border-radius:9px;font-size:12px;color:#bda995;line-height:1.9;margin-top:20px;padding:16px}.hint b{color:#e4c995}.divider{border-color:#62443a}.row{font-size:13px;line-height:1.6}.total{color:#f6d592;font-size:40px}.methods button{background:#1b1011;color:#bda68d;border:1px solid #62493c;box-shadow:none;font-size:12px}.methods .active{background:#59321f;color:#ffe3a2;border-color:#c49751}.primary.wide{padding:17px;margin-top:20px;box-shadow:0 4px 0 #5d1019;font-size:14px}.wide:not(.primary){background:transparent;border:1px solid #5d3a31;color:#bfaa93;font-size:12px}.panel>small{line-height:1.7;font-size:11px}
.stats{gap:16px}.stat{background:#2a1719;border:1px solid #664536;border-radius:10px}.stat strong{color:#efd19a;font-size:26px}.stat small{color:#bca38b}table{color:#ead8bb}td,th{border-color:#593d35}th{color:#bca37d;font-size:11px;white-space:nowrap}td button{background:#41271e;color:#e7ca91;border:1px solid #795735;padding:8px 12px;font-size:11px}.scroll{scrollbar-color:#77523c #211114}footer{color:#967c6b;line-height:1.8;padding:0 5px;font-size:11px}
dialog{background:#2a1619;color:#f6e7c9;border:1px solid #ba8e48;border-radius:12px}.qr{background:repeating-linear-gradient(45deg,#4e2922,#4e2922 10px,#351c1b 10px,#351c1b 20px);border-color:#aa8050}.qr strong{background:#f6e7c9;color:#5b241d}.receipt{background:#fffdf7;padding:20px;border-radius:4px;color:#211b16}.receipt h3{color:#211b16}.receipt small{color:#685949}.receipt .divider{border-color:#bbb}.receipt .row{font-size:13px}#receiptDialog .wide:not(.primary){margin-top:16px}
@media(min-width:1100px){.layout aside{padding:26px}.layout>div.panel{padding:26px}.products .product{min-height:290px}}
@media(max-width:850px){.layout{grid-template-columns:1fr}.festival-hero{min-height:160px;padding:24px}.festival-hero h2{font-size:25px}.festival-hero img{width:180px;right:0}.hero-copy{max-width:73%}.brand img{width:52px;height:52px}header{padding:12px 4%}.connection .row{align-items:stretch;gap:10px}.connection input{max-width:100%}}
@media(max-width:450px){.products{grid-template-columns:1fr 1fr;gap:10px}.product,.product:nth-child(2){padding:16px 12px}.big{font-size:27px}.price{font-size:25px}.tag{font-size:8px;letter-spacing:1px}.product small{font-size:10px}.qty button{width:32px;height:35px}.qty input{width:45px;font-size:17px}.ticket-art{width:90px;right:-12px}.festival-hero{padding:24px 18px;min-height:160px}.festival-hero h2{font-size:22px}.festival-hero img{width:130px;right:-18px;opacity:.65}.hero-copy{max-width:82%}.eyebrow{font-size:9px;letter-spacing:2px}.festival-hero p{font-size:11px}.panel{padding:18px}nav button{min-width:80px}.brand h1{font-size:16px}.brand small{font-size:9px}.stats{grid-template-columns:1fr 1fr}.stat{padding:16px}.stat strong{font-size:20px}.connection label{display:flex;flex-direction:column;gap:6px;width:100%}}
@media print{body{background:white!important}#printArea .receipt{padding:0;background:white;color:#000;border-radius:0}#printArea small{color:#333}.receipt h3{color:#000}}
