
/* Tschirner Unified Design System · V42 */
:root{
 --berry:#7f0032;--pink:#c80b57;--gold:#f3a01a;--green:#48aa58;
 --ink:#241915;--muted:#6f625a;--line:#eadfd5;--cream:#fffaf4;
 --panel:#ffffff;--soft:#fbf5ef;--shadow:0 12px 32px rgba(52,34,24,.07);
}
html{scroll-behavior:smooth}
body{color:var(--ink);background:#fffdf9}
h1,h2,h3,h4{letter-spacing:-.02em}
button,input,select,textarea{font:inherit}
img{max-width:100%}

/* Shared buttons / controls */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border-radius:13px;padding:10px 16px;font-size:11px;font-weight:800;line-height:1.1;cursor:pointer;transition:.15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary,.btn.primary{background:linear-gradient(135deg,var(--berry),#a7004d)!important;color:#fff!important;border:0!important;box-shadow:0 8px 18px rgba(127,0,50,.12)}
.btn-soft{background:#fff!important;border:1px solid #ddc4d0!important;color:var(--berry)!important}
.btn-secondary,.btn.secondary{background:#fff;border:1px solid var(--pink);color:var(--berry)}
.admin-input,.admin-form input,.admin-form select,.admin-form textarea,
form input:not([type=hidden]),form select,form textarea{border:1px solid #d9cbc0;border-radius:11px;background:#fff;min-height:42px;padding:10px 12px;color:var(--ink);outline:none}
form input:focus,form select:focus,form textarea:focus{border-color:#bd6b8b;box-shadow:0 0 0 3px rgba(200,11,87,.08)}
textarea{resize:vertical}
.panel,.card,.form,.tablebox,.cardx,.user-table,.we-card,.sup-card,.mini-form,.twofa-card{box-shadow:var(--shadow)}
.notice{border-radius:14px!important}

/* Public header */
.topbar{min-height:38px;background:linear-gradient(90deg,#79002d,#99003f);padding:7px 3.3vw;font-size:11px}
.header{min-height:120px;height:120px;padding:0 3vw;gap:20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 3px 15px rgba(50,30,20,.03);position:relative;z-index:20}
.header .logo{width:410px!important;flex:0 0 410px!important}
.header .logo img{width:390px!important;max-height:none!important}
.header nav{gap:22px!important}
.header nav a{font-size:12px!important;font-weight:700!important}
.customer-link{border-radius:13px!important;padding:12px 16px!important;font-size:11px!important;background:#fff}
.header .mobile-toggle{display:none}
.mobile-menu{border:1px solid var(--line)!important;box-shadow:0 18px 38px rgba(40,20,15,.14)!important}

/* Main home content */
.layout{max-width:1536px}
.hero{min-height:440px;height:auto}
.hero-copy{padding-top:64px}
.hero h1{font-size:clamp(45px,4.2vw,62px)}
.trust{padding-top:18px;padding-bottom:24px}
.card,.location-card,.scan-card,.admin-card{box-shadow:var(--shadow)}

/* Legal pages */
.legal-shell{max-width:1180px!important;margin:0 auto!important;padding:25px 20px 60px!important}
.legal-card{border:1px solid var(--line)!important;border-radius:24px!important;box-shadow:var(--shadow)!important;background:#fff!important;overflow:hidden}
.legal-hero{padding:30px 34px 26px!important;background:linear-gradient(135deg,#fffaf5,#f8edf0)!important;border-bottom:1px solid var(--line)!important}
.legal-brand img{width:390px!important;max-width:100%!important}
.legal-hero h1{font-size:clamp(40px,5vw,58px)!important;color:var(--berry)!important;margin:14px 0 8px!important}
.legal-hero p{font-size:13px!important;line-height:1.7!important;color:var(--muted)!important;max-width:850px}
.legal-content,.legal-card>section,.legal-card .content{font-size:14px;line-height:1.75}
.legal-card a{color:var(--berry);font-weight:700}
.legal-breadcrumb{font-size:11px;color:var(--muted);margin:0 0 12px}

/* Customer / arcade */
.customer{background:linear-gradient(145deg,#fffdf9,#f9f1ea)!important}
.customer-wrap{max-width:1180px!important;margin:auto!important;padding:18px 20px 60px!important}
.customer-header{min-height:110px!important;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 18px!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:20px!important;box-shadow:var(--shadow)!important}
.customer-header img{width:310px!important;height:auto!important}
.customer-hero{border-radius:22px!important;background:linear-gradient(135deg,#7f0032,#a7004c)!important;color:#fff!important;padding:30px!important;box-shadow:var(--shadow)!important}
.customer-hero h1{font-size:clamp(38px,5vw,60px)!important}
.customer-hero p{color:#f1dce5!important;font-size:13px!important;line-height:1.65}
.form{border-radius:20px!important;border:1px solid var(--line)!important;background:#fff!important;padding:24px!important}

/* Arcade */
.arc-wrap{max-width:1180px!important}
.game-card{box-shadow:var(--shadow)!important}
.arc-head{background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px 18px;box-shadow:var(--shadow)}
.arc-head img{width:310px!important}

/* Shop */
.nav{min-height:118px!important;height:118px!important;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 3px 15px rgba(50,30,20,.03)}
.nav-in{min-height:118px!important}
.nav .brand{flex:0 0 410px!important;width:410px!important}
.nav .brand img{width:390px!important}
.nav-links a{font-weight:800!important}
.shop-hero{padding:65px 0 36px!important}
.product-card{box-shadow:var(--shadow)!important}
.product-visual{min-height:205px!important}
.cartbar a{box-shadow:0 14px 30px rgba(50,30,20,.18)!important}

/* Admin */
.admin-body{background:linear-gradient(145deg,#fbf5ef,#fffdf9)!important}
.admin-top{height:52px!important;min-height:52px!important;background:linear-gradient(90deg,#620024,#8e003d)!important;padding:0 24px!important}
.admin-layout{min-height:calc(100vh - 52px)!important}
.admin-side{background:#fff!important;border-right:1px solid var(--line)!important;padding:18px 12px!important;box-shadow:3px 0 18px rgba(50,30,20,.03)}
.admin-side a{border-radius:11px!important;margin:2px 0!important;padding:10px 12px!important;font-size:11px!important;font-weight:700!important}
.admin-side a:hover{background:#fff4f7!important;color:var(--berry)}
.admin-side a.active{background:#f9e9ef!important;color:var(--berry)!important;border-left:3px solid var(--pink)!important;padding-left:9px!important}
.admin-main{padding:24px!important}
.admin-main h1{font-size:clamp(40px,5vw,60px)!important;color:var(--ink)}
.admin-main>p{line-height:1.65}
.panel{border:1px solid var(--line)!important;border-radius:20px!important;background:#fff!important;padding:20px!important;margin-bottom:16px!important}
.panel h2{color:var(--berry)!important}
.table{width:100%;border-collapse:separate!important;border-spacing:0 6px!important}
.table th{font-size:9px!important;color:#9a877b!important;text-transform:uppercase!important;letter-spacing:.05em!important;text-align:left!important;padding:7px 9px!important}
.table td{background:#fffaf6;padding:10px 9px!important;border-top:1px solid #eee1d8;border-bottom:1px solid #eee1d8;font-size:10px!important}
.table tr td:first-child{border-left:1px solid #eee1d8;border-radius:10px 0 0 10px}
.table tr td:last-child{border-right:1px solid #eee1d8;border-radius:0 10px 10px 0}
.admin-form-grid{gap:10px!important}
.eyebrow{letter-spacing:.18em!important}
.twofa-card{border-radius:20px!important}

/* Mobile */
@media(max-width:760px){
 .topbar{font-size:10px;padding:7px 12px}
 .header{height:84px;min-height:84px;padding:0 12px;gap:10px}
 .header .logo{width:auto!important;flex:1!important}
 .header .logo img{width:245px!important;max-width:78vw!important}
 .header nav,.header .customer-link{display:none!important}
 .header .mobile-toggle{display:grid!important;place-items:center;width:42px;height:42px;border:1px solid #d9b1c0;border-radius:12px;background:#fff;color:var(--berry);font-size:20px;font-weight:900}
 .hero-copy{padding:38px 18px 22px}
 .layout{display:block}
 .sidebar{padding:12px!important}
 .legal-shell{padding:12px!important}
 .legal-hero{padding:22px!important}
 .legal-brand img{width:245px!important}
 .customer-wrap{padding:12px 10px 40px!important}
 .customer-header{min-height:84px!important;padding:10px 12px!important}
 .customer-header img{width:245px!important}
 .customer-hero{padding:22px!important}
 .arc-wrap{padding:12px!important}
 .arc-head{padding:10px 12px}
 .arc-head img{width:245px!important}
 .nav,.nav-in{height:84px!important;min-height:84px!important}
 .nav .brand{width:auto!important;flex:1!important}
 .nav .brand img{width:245px!important;max-width:78vw!important}
 .shop-hero{padding:35px 0 22px!important}
 .admin-main{padding:12px!important}
 .admin-top{padding:0 12px!important}
 .panel{padding:15px!important}
 .table-wrap,.open-scroll,.table-scroll{overflow-x:auto}
 .table{min-width:680px}
}

/* V43 admin layout hardening */
.admin-layout{display:grid!important;grid-template-columns:235px minmax(0,1fr)!important;align-items:stretch!important}.admin-side{display:block!important;grid-column:1!important;grid-row:1!important;min-width:0!important}.admin-main{grid-column:2!important;grid-row:1!important;min-width:0!important}.admin-side a{display:block!important}@media(max-width:700px){.admin-layout{grid-template-columns:1fr!important}.admin-side,.admin-main{grid-column:1!important;grid-row:auto!important}}
