:root{--bg:#f5f5f7;--panel:#ffffff;--panel2:#f0f0f2;--gold:#0066cc;--gold2:#0066cc;--red:#b42318;--cream:#ffffff;--text:#1d1d1f;--muted:#5f6368;--line:#d2d2d7;--green:#18794e;--accent:#0066cc;--accent-strong:#004f9e;--accent2:#6e4e00;--on-accent:#ffffff;--on-accent2:#ffffff;--input-bg:#ffffff;--topbar-bg:rgba(255,255,255,.82);--sidebar-bg:#111214;--sidebar-text:#f5f5f7;--sidebar-muted:#b7b7bd;--sidebar-active:#2a2a2e;--shadow:0 18px 55px rgba(0,0,0,.12);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.topbar{height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;z-index:40;background:rgba(15,13,12,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06)}.brand{display:flex;align-items:center;gap:12px;font-weight:800}.brand span:last-child{line-height:1.1}.brand small{display:block;color:var(--gold);font-size:9px;letter-spacing:1.7px;margin-top:5px}.brand-mark{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,var(--gold2),#9b651d);color:#17100b;display:grid;place-items:center;font-family:'Playfair Display';font-size:27px;box-shadow:0 8px 28px rgba(217,173,84,.22)}.topbar nav{display:flex;gap:28px}.topbar nav a{color:#d7cabe;font-weight:600;font-size:14px}.topbar nav a:hover{color:var(--gold2)}.cart-pill{padding:11px 17px;background:var(--cream);color:#1b1511;border-radius:99px;font-weight:800}.cart-pill b{background:var(--red);color:white;border-radius:50%;display:inline-grid;place-items:center;min-width:23px;height:23px;margin-left:7px;font-size:12px}.hero{min-height:690px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:70px 6vw;gap:50px;overflow:hidden;position:relative;background:radial-gradient(circle at 70% 25%,rgba(217,173,84,.13),transparent 36%)}.hero:before{content:'';position:absolute;width:420px;height:420px;border:1px solid rgba(217,173,84,.17);border-radius:50%;right:9%;top:14%;box-shadow:0 0 0 55px rgba(217,173,84,.025),0 0 0 110px rgba(217,173,84,.018)}.eyebrow{text-transform:uppercase;letter-spacing:3px;color:var(--gold);font-size:12px;font-weight:800}.hero h1,.section-title h2{font-family:'Playfair Display';line-height:.98;margin:18px 0;font-size:clamp(48px,6.7vw,96px)}.hero h1 em{color:var(--gold2);font-style:normal}.hero p{max-width:620px;font-size:18px;color:var(--muted)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{border:0;border-radius:13px;padding:13px 19px;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-weight:800}.btn.primary{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#1b120a;box-shadow:0 12px 30px rgba(217,173,84,.18)}.btn.red{background:var(--red);color:#fff}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}.btn.small{padding:8px 12px;font-size:13px}.hero-art{position:relative;z-index:2}.hero-card{background:linear-gradient(145deg,#2b211b,#15110f);border:1px solid rgba(255,255,255,.07);padding:20px;border-radius:38px;transform:rotate(2deg);box-shadow:var(--shadow)}.hero-card img{width:100%;height:480px;object-fit:cover;border-radius:26px}.hero-badge{position:absolute;bottom:30px;left:-30px;background:var(--cream);color:#23170f;padding:16px 20px;border-radius:18px;box-shadow:var(--shadow);font-weight:800}.hero-badge small{display:block;color:#775f4c}.section{padding:85px 6vw}.section.soft{background:#15110f}.section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px}.section-title h2{font-size:clamp(36px,4vw,60px);margin:8px 0}.section-title p{max-width:560px;color:var(--muted)}.category-grid,.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.category-card{min-height:220px;border-radius:var(--radius);padding:24px;position:relative;overflow:hidden;background:linear-gradient(145deg,#2a201a,#181310);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:end}.category-card:after{content:'→';position:absolute;right:20px;top:20px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:22px}.category-card h3{font-size:26px;margin:0}.category-card p{color:var(--muted);margin:7px 0 0}.product-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.22s}.product-card:hover{transform:translateY(-5px);border-color:#66503f}.product-image{height:220px;position:relative;overflow:hidden;background:var(--panel2)}.product-image img{width:100%;height:100%;object-fit:cover;transition:.3s}.product-card:hover .product-image img{transform:scale(1.04)}.tag{position:absolute;top:14px;left:14px;padding:7px 10px;background:rgba(15,13,12,.87);border:1px solid rgba(255,255,255,.1);border-radius:99px;font-size:11px;font-weight:800}.tag.sale{background:var(--red);border:0}.product-info{padding:19px;display:flex;flex-direction:column;flex:1}.product-info h3{margin:0;font-size:20px}.product-info p{color:var(--muted);font-size:14px;flex:1}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.price{font-size:21px;font-weight:900;color:var(--gold2)}.old-price{text-decoration:line-through;color:#89796c;font-size:14px;margin-left:6px}.menu-layout{display:grid;grid-template-columns:250px 1fr;gap:32px;padding:45px 6vw 90px}.menu-side{position:sticky;top:110px;height:max-content;background:var(--panel);padding:18px;border:1px solid var(--line);border-radius:20px}.menu-side h3{margin:0 0 15px}.menu-side a{display:block;padding:11px 12px;border-radius:10px;color:var(--muted);font-weight:700}.menu-side a:hover,.menu-side a.active{background:var(--panel2);color:var(--gold2)}.menu-head{padding:58px 6vw 10px;background:linear-gradient(180deg,#211813,var(--bg))}.menu-head h1{font-family:'Playfair Display';font-size:58px;margin:8px 0}.searchbar{display:flex;gap:10px;max-width:620px}.searchbar input{flex:1}.category-section{margin-bottom:55px}.category-section h2{font-size:33px}.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:100;padding:24px;overflow:auto}.modal.open{display:grid;place-items:center}.modal-card{width:min(780px,100%);background:#181310;border:1px solid #443428;border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.55);overflow:hidden}.modal-head{display:grid;grid-template-columns:230px 1fr;gap:22px;padding:22px;border-bottom:1px solid var(--line)}.modal-head img{height:180px;width:100%;object-fit:cover;border-radius:18px}.modal-close{position:absolute;right:18px;top:16px;width:40px;height:40px;border-radius:50%;border:0;background:#fff;color:#111;font-size:20px}.modifier-wrap{padding:22px;max-height:45vh;overflow:auto}.modifier-group{padding:17px 0;border-bottom:1px solid var(--line)}.modifier-group h4{margin:0 0 3px}.modifier-group small{color:var(--muted)}.choice{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0}.choice label{display:flex;align-items:center;gap:10px;cursor:pointer}.choice input{width:18px;height:18px;accent-color:var(--gold)}.modal-foot{padding:18px 22px;display:grid;grid-template-columns:110px 1fr;gap:12px;background:#211914}.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:13px;overflow:hidden}.qty button{width:35px;height:44px;background:transparent;color:#fff;border:0;font-size:20px}.qty input{width:40px;text-align:center;background:transparent;color:#fff;border:0}.form-card,.summary-card,.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:25px}.checkout-layout,.cart-layout{display:grid;grid-template-columns:1fr 390px;gap:28px;padding:50px 6vw 90px}.stack{display:grid;gap:16px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}label{display:grid;gap:7px;font-weight:700;font-size:14px}label small,.muted{color:var(--muted);font-weight:400}input,select,textarea{width:100%;background:#100d0b;border:1px solid #48372c;color:#fff;border-radius:11px;padding:12px 13px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold)}textarea{min-height:100px;resize:vertical}hr{border:0;border-top:1px solid var(--line);margin:8px 0}.cart-item{display:grid;grid-template-columns:92px 1fr auto;gap:17px;padding:17px 0;border-bottom:1px solid var(--line)}.cart-item img{width:92px;height:82px;object-fit:cover;border-radius:13px}.cart-item h3{margin:0}.cart-item p{margin:5px 0;color:var(--muted);font-size:13px}.summary-row{display:flex;justify-content:space-between;gap:20px;padding:9px 0;color:var(--muted)}.summary-row.total{font-size:21px;color:#fff;font-weight:900;border-top:1px solid var(--line);margin-top:10px;padding-top:17px}.summary-card{height:max-content;position:sticky;top:110px}.radio-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.radio-card{padding:15px;border:1px solid var(--line);border-radius:14px}.radio-card:has(input:checked){border-color:var(--gold);background:rgba(217,173,84,.08)}.auth-page{min-height:75vh;display:grid;place-items:center;padding:60px 20px}.auth-card{width:min(500px,100%)}.auth-card h1{font-family:'Playfair Display';font-size:42px}.flash{max-width:1100px;margin:18px auto;padding:13px 17px;border-radius:12px}.flash.success{background:rgba(53,181,106,.14);border:1px solid rgba(53,181,106,.45);color:#b9ffd0}.flash.error{background:rgba(213,65,47,.14);border:1px solid rgba(213,65,47,.5);color:#ffc6bf}.toast{position:fixed;right:25px;bottom:25px;z-index:150;padding:13px 18px;background:#fff;color:#111;border-radius:12px;box-shadow:var(--shadow);font-weight:800;opacity:0;transform:translateY(20px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.empty{text-align:center;padding:70px 25px;background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius)}.order-status{display:flex;gap:0;margin:30px 0;overflow:auto}.status-step{min-width:140px;flex:1;text-align:center;color:#76685d;position:relative;padding-top:35px}.status-step:before{content:'';position:absolute;top:10px;left:0;right:0;height:4px;background:#30251f}.status-step:after{content:'';position:absolute;top:2px;left:50%;width:20px;height:20px;border-radius:50%;background:#30251f;transform:translateX(-50%)}.status-step.done{color:var(--gold2)}.status-step.done:before,.status-step.done:after{background:var(--gold)}footer{padding:50px 6vw;display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;border-top:1px solid var(--line);color:var(--muted)}footer b{color:#fff}.admin-body{background:#f4f1ec;color:#201914}.admin-sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:#161210;color:#fff;padding:23px 16px;overflow:auto}.admin-brand{margin:0 6px 25px}.admin-sidebar nav{display:grid;gap:5px}.admin-sidebar nav a{padding:11px 13px;border-radius:10px;color:#cdbfb4;font-weight:700;font-size:14px}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:#2b211b;color:var(--gold2)}.admin-main{margin-left:250px;min-height:100vh}.admin-top{height:75px;padding:0 30px;background:#fff;border-bottom:1px solid #e6dfd7;display:flex;align-items:center;justify-content:space-between}.admin-top b{font-size:20px}.admin-top small{display:block;color:#7a6e65}.admin-content{padding:28px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat{background:#fff;padding:20px;border-radius:17px;border:1px solid #e5ddd5}.stat small{color:#7c7068}.stat strong{display:block;font-size:30px;margin-top:7px}.admin-card{background:#fff;border:1px solid #e5ddd5;border-radius:17px;padding:20px;margin-top:20px;overflow:auto}.admin-card h2{margin-top:0}.admin-body input,.admin-body select,.admin-body textarea{background:#fff;color:#221a15;border-color:#d8cec5}.admin-body .btn.ghost{color:#241a14;border-color:#d4c7bc}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{text-align:left;padding:13px 11px;border-bottom:1px solid #eee7e1;font-size:14px}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:#7e7168}.badge{display:inline-block;padding:5px 9px;border-radius:99px;background:#eee7e1;font-size:11px;font-weight:800;text-transform:capitalize}.badge.new{background:#fff0c8;color:#8d6100}.badge.accepted,.badge.paid{background:#d9f1ff;color:#126184}.badge.preparing{background:#ece2ff;color:#6335a8}.badge.ready,.badge.completed,.badge.active{background:#d9f7e3;color:#177339}.badge.cancelled,.badge.failed{background:#ffe1df;color:#a83228}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.inline-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.pagination{display:flex;gap:8px;margin-top:18px}.install-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 60% 20%,#302116,#0f0d0c 45%)}.install-card{width:min(720px,100%);background:#181310;border:1px solid var(--line);border-radius:25px;padding:30px;box-shadow:var(--shadow)}.install-card h1{font-family:'Playfair Display';font-size:42px}.install-card code{color:var(--gold2)}@media(max-width:1050px){.category-grid,.product-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr;min-height:auto}.hero-art{max-width:650px}.checkout-layout,.cart-layout{grid-template-columns:1fr}.summary-card{position:static}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.topbar{padding:0 18px;height:70px}.topbar nav{display:none}.brand-mark{width:40px;height:40px}.brand span:last-child{font-size:13px}.hero{padding:55px 20px}.hero h1{font-size:53px}.hero-card img{height:330px}.hero-badge{left:8px}.section{padding:65px 20px}.section-title{display:block}.category-grid,.product-grid{grid-template-columns:1fr}.menu-head{padding:42px 20px 10px}.menu-head h1{font-size:46px}.menu-layout{display:block;padding:25px 20px 70px}.menu-side{position:static;display:flex;overflow:auto;margin-bottom:24px}.menu-side h3{display:none}.menu-side a{white-space:nowrap}.modal{padding:8px}.modal-head{grid-template-columns:1fr;padding:15px}.modal-head img{height:190px}.modifier-wrap{max-height:42vh}.checkout-layout,.cart-layout{padding:30px 18px 70px}.grid.two,.grid.three{grid-template-columns:1fr}.cart-item{grid-template-columns:74px 1fr}.cart-item>div:last-child{grid-column:2}.cart-item img{width:74px;height:70px}.admin-sidebar{position:static;width:100%;height:auto}.admin-sidebar nav{display:flex;overflow:auto}.admin-sidebar nav a{white-space:nowrap}.admin-main{margin-left:0}.admin-top{padding:0 18px}.admin-content{padding:18px}.stats{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr;padding:40px 20px}.radio-cards{grid-template-columns:1fr}}

/* Restaurant & Cafe 2.0 — selectable visual themes */
body[data-theme="ruby"]{--bg:#120b0e;--panel:#1e1116;--panel2:#2b171f;--gold:#f0b94e;--gold2:#ffd984;--red:#9d2148;--cream:#fff7ed;--text:#fff8f2;--muted:#c5aeb5;--line:#4a2633;--green:#34b978;--accent:#9d2148;--accent2:#f0b94e}
body[data-theme="emerald"]{--bg:#071410;--panel:#0e211b;--panel2:#143127;--gold:#d6b85a;--gold2:#f1d98a;--red:#0d7b60;--cream:#f3fff9;--text:#f3fff9;--muted:#a9c8bd;--line:#23483c;--green:#34c98b;--accent:#08745a;--accent2:#d6b85a}
body[data-theme="royal"]{--bg:#07101f;--panel:#0d1b32;--panel2:#122747;--gold:#f2bc57;--gold2:#ffdb8a;--red:#2459ba;--cream:#f5f8ff;--text:#f5f8ff;--muted:#aabbd6;--line:#243f68;--green:#38be82;--accent:#2459ba;--accent2:#f2bc57}
body[data-theme="sunset"]{--bg:#1b0c08;--panel:#2a120c;--panel2:#3b1d12;--gold:#ffcf75;--gold2:#ffe2aa;--red:#d14b22;--cream:#fff7ea;--text:#fff8ef;--muted:#d1b3a5;--line:#61301f;--green:#62bf78;--accent:#d14b22;--accent2:#ffcf75}
body[data-theme="midnight"]{--bg:#070914;--panel:#101326;--panel2:#181d38;--gold:#a78bfa;--gold2:#c4b5fd;--red:#7c3aed;--cream:#f8f7ff;--text:#f8f7ff;--muted:#aaaaca;--line:#30355c;--green:#35c98a;--accent:#7c3aed;--accent2:#a78bfa}
body[data-theme="coffee"]{--bg:#160f0b;--panel:#241811;--panel2:#35241a;--gold:#d9a66f;--gold2:#f0c895;--red:#875039;--cream:#fff8ef;--text:#fff8ef;--muted:#c8b4a5;--line:#52392b;--green:#63ad71;--accent:#875039;--accent2:#d9a66f}
.topbar{background:color-mix(in srgb,var(--bg) 92%,transparent)}
.brand-logo img{width:210px;max-height:54px;object-fit:contain;object-position:left center}.brand-logo .brand-fallback{display:none}.admin-brand.brand-logo img{width:176px;max-height:62px;filter:none}.admin-brand.brand-logo>span{display:none}.footer-logo{width:210px;max-height:62px;object-fit:contain;object-position:left center;margin-bottom:12px}.login-logo,.installer-logo img{width:min(290px,85%);max-height:86px;object-fit:contain;object-position:left center;margin-bottom:24px}.installer-logo{display:flex}.global-flash{margin:18px auto 0;width:min(1180px,90%)}
.hero{background:radial-gradient(circle at 73% 24%,color-mix(in srgb,var(--accent) 35%,transparent),transparent 38%),linear-gradient(150deg,var(--bg),color-mix(in srgb,var(--panel) 88%,#000))}.hero-copy{position:relative;z-index:2}.hero-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.hero-points span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:700}.hero-card{border-color:color-mix(in srgb,var(--accent2) 35%,transparent)}.hero-badge,.brand-mark{background:linear-gradient(135deg,var(--gold2),var(--accent2))}.category-number{font-size:11px;font-weight:900;letter-spacing:2px;color:var(--gold)}.product-info>small{display:block;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:5px}.btn.primary{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 72%,var(--accent2)));border-color:transparent;color:white;box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 28%,transparent)}.btn.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.cart-pill b{background:var(--accent)}
.radio-card span{display:grid}.radio-card small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.gateway-checkout-list{display:grid;gap:11px}.gateway-choice{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:13px;padding:15px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel2) 72%,transparent);cursor:pointer;transition:.2s}.gateway-choice:hover,.gateway-choice:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 13%,transparent);transform:translateY(-1px)}.gateway-choice input{accent-color:var(--accent);width:auto}.gateway-choice>span:nth-of-type(2){display:grid}.gateway-choice small{color:var(--muted);font-size:12px;margin-top:2px}.gateway-choice i{font-style:normal;color:var(--gold);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1px}.gateway-choice-icon,.gateway-logo-letter{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:900}.stripe-card-wrap{padding:15px;border:1px solid var(--line);border-radius:16px}.stripe-element{background:#fff;padding:15px;border-radius:11px;margin-top:7px}.coupon-field{margin-top:16px}.coupon-field>div{display:flex;gap:8px}.checkout-button{width:100%;margin-top:18px}.checkout-note{font-size:12px}
.admin-body{--admin-accent:var(--accent);background:#f5f2ee}.admin-sidebar{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 95%,#000),var(--panel));border-right:1px solid var(--line)}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:color-mix(in srgb,var(--accent) 23%,transparent);color:var(--gold2)}.admin-theme-name{padding:7px 11px;border-radius:999px;background:#f2ede8;color:#75665d;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.section-title.compact{align-items:flex-start}.settings-logo-preview{width:230px;height:75px;object-fit:contain;object-position:right center;border:1px solid #e5ddd5;border-radius:14px;padding:10px;background:#faf8f5}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.theme-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid #dfd5cc;border-radius:15px;cursor:pointer;background:#fff}.theme-option:has(input:checked){border-color:var(--admin-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--admin-accent) 12%,transparent)}.theme-option input{position:absolute;opacity:0}.theme-option>span:nth-of-type(2){display:grid}.theme-option small{color:#82756c}.theme-option i{display:none;color:var(--admin-accent);font-style:normal;font-size:10px;font-weight:900}.theme-option:has(input:checked) i{display:block}.theme-swatch{width:56px;height:45px;border-radius:12px;background:linear-gradient(135deg,var(--swatch-one) 0 58%,var(--swatch-two) 58%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}.save-settings{width:max-content}.gateway-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.payment-intro{display:flex;justify-content:space-between;gap:24px;align-items:center}.payment-intro h1{margin:.2em 0}.gateway-admin-card{background:#fff;border:1px solid #e5ddd5;border-radius:18px;padding:19px;display:flex;flex-direction:column;gap:13px}.gateway-admin-card.enabled{border-color:color-mix(in srgb,var(--admin-accent) 45%,#e5ddd5);box-shadow:0 12px 35px color-mix(in srgb,var(--admin-accent) 10%,transparent)}.gateway-card-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.gateway-card-head small{color:#84766c;text-transform:uppercase;letter-spacing:.8px;font-size:9px;font-weight:900}.gateway-card-head h3{margin:2px 0 0}.gateway-admin-card p{margin:0;color:#766a62;font-size:13px;min-height:58px}.gateway-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:11px;color:#85776d}.status-dot{width:8px;height:8px;border-radius:50%;background:#c5bbb4}.status-dot.on{background:#25a864;box-shadow:0 0 0 4px rgba(37,168,100,.12)}.gateway-test{padding:8px 10px;border-radius:9px;background:#f3eee9;color:#776a61}.gateway-test.success{background:#e4f7ea;color:#19703a}.gateway-test.error{background:#ffe7e4;color:#9e3028}.gateway-admin-card form{margin:0}.btn.danger-outline{background:transparent;border:1px solid #e0aaa4;color:#a23d34}.webhook-box{display:grid;gap:7px;margin-top:17px;padding:15px;border-radius:13px;background:#f6f2ee}.webhook-box code{white-space:normal;overflow-wrap:anywhere;color:#6f3f86}.switches{display:grid;align-content:center;gap:8px}.switch-line{display:flex!important;align-items:center;gap:9px}.switch-line input{width:auto}.full-span{grid-column:1/-1}.upgrade-card{max-width:820px}.admin-login-card .back-link{display:block;margin-top:18px}.admin-login-card h1{margin-bottom:4px}
@media(max-width:1150px){.gateway-admin-grid{grid-template-columns:repeat(2,1fr)}.theme-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.brand-logo img{width:155px}.brand-logo .brand-fallback{display:none}.gateway-choice{grid-template-columns:auto auto 1fr}.gateway-choice i{display:none}.theme-grid,.gateway-admin-grid{grid-template-columns:1fr}.payment-intro{display:grid}.settings-logo-preview{object-position:left center}.admin-theme-name{display:none}.footer-logo{width:180px}}
.order-success-card{width:min(720px,100%);text-align:center}.success-icon{width:74px;height:74px;margin:0 auto 15px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--green) 18%,transparent);border:1px solid color-mix(in srgb,var(--green) 55%,transparent);color:var(--green);font-size:34px;font-weight:900}.manual-payment-box{text-align:left;margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel2) 70%,transparent)}.manual-payment-box h3,.manual-payment-box p{margin:0 0 8px}.success-actions{justify-content:center}
.reference-cell{display:block;max-width:190px;overflow-wrap:anywhere}.transaction-error{display:block;color:#a33d33;max-width:260px;margin-top:5px;white-space:normal}

/* Restaurant & Cafe v2.1 — live admin order alerts */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.admin-top-actions{display:flex;align-items:center;gap:10px}.admin-icon-button{position:relative;width:42px;height:42px;border-radius:13px;border:1px solid var(--line);background:var(--panel2);color:var(--text);display:grid;place-items:center;transition:.2s}.admin-icon-button:hover{transform:translateY(-1px);border-color:var(--gold)}.admin-icon-button svg{width:21px;height:21px;fill:currentColor}.admin-icon-button .sound-off-icon{display:none}.admin-icon-button.is-muted .sound-on-icon{display:none}.admin-icon-button.is-muted .sound-off-icon{display:block}.admin-icon-button.is-muted{color:var(--muted)}.admin-alert-bell.has-alerts{color:#fff;background:linear-gradient(135deg,var(--red),#ff704d);border-color:transparent;box-shadow:0 0 0 0 rgba(213,65,47,.42);animation:adminBellPulse 1.8s infinite}.admin-alert-count{position:absolute;right:-6px;top:-7px;min-width:21px;height:21px;padding:0 5px;border-radius:99px;background:var(--cream);color:#1c1410;border:2px solid var(--bg);font-size:11px;line-height:17px;font-weight:900;text-align:center}.admin-order-alert-panel{position:sticky;top:0;z-index:70;margin:0 26px;max-height:0;opacity:0;overflow:hidden;transform:translateY(-12px);pointer-events:none;transition:max-height .3s ease,opacity .22s ease,transform .22s ease}.admin-order-alert-panel.is-visible{max-height:520px;opacity:1;transform:none;pointer-events:auto;padding-top:16px}.admin-order-alert-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;background:linear-gradient(135deg,rgba(213,65,47,.98),rgba(126,24,38,.98));border:1px solid rgba(255,255,255,.18);border-radius:18px 18px 0 0;box-shadow:0 18px 50px rgba(0,0,0,.25)}.admin-order-alert-bar>div{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.admin-order-alert-bar small{color:rgba(255,255,255,.78)}.admin-order-alert-title{font-weight:900;text-transform:uppercase;letter-spacing:1.5px;font-size:12px;display:flex;align-items:center;gap:9px}.admin-order-alert-title i{width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 6px rgba(255,255,255,.16);animation:adminLiveDot 1.2s infinite}.admin-order-alert-list{background:rgba(19,15,13,.98);border:1px solid rgba(255,255,255,.12);border-top:0;border-radius:0 0 18px 18px;max-height:390px;overflow:auto;box-shadow:0 24px 70px rgba(0,0,0,.36)}.admin-order-alert-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;padding:16px;border-bottom:1px solid rgba(255,255,255,.08)}.admin-order-alert-item:last-child{border-bottom:0}.admin-order-alert-pulse{width:14px;height:14px;border-radius:50%;background:var(--red);box-shadow:0 0 0 7px rgba(213,65,47,.15)}.admin-order-alert-copy{min-width:0}.admin-order-alert-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-order-alert-heading time{color:var(--muted);font-size:12px;white-space:nowrap}.admin-order-alert-label{color:var(--gold2);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:900}.admin-order-alert-copy h3{margin:3px 0 2px;font-size:18px}.admin-order-alert-copy p{margin:0;color:var(--muted);font-size:13px;text-transform:capitalize}.admin-order-alert-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-order-alert-panel.is-expanded .admin-order-alert-list{max-height:70vh}@keyframes adminBellPulse{0%{box-shadow:0 0 0 0 rgba(213,65,47,.48)}70%{box-shadow:0 0 0 12px rgba(213,65,47,0)}100%{box-shadow:0 0 0 0 rgba(213,65,47,0)}}@keyframes adminLiveDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.75)}}
@media(max-width:850px){.admin-theme-name{display:none}.admin-order-alert-panel{margin:0 14px}.admin-order-alert-item{grid-template-columns:auto 1fr}.admin-order-alert-actions{grid-column:2;justify-content:flex-start}.admin-order-alert-bar{align-items:flex-start}.admin-top-actions{gap:7px}.admin-icon-button{width:39px;height:39px}}
@media(max-width:540px){.admin-order-alert-panel.is-visible{padding-top:9px}.admin-order-alert-bar{border-radius:14px 14px 0 0;padding:11px 12px}.admin-order-alert-bar>div{display:block}.admin-order-alert-bar small{display:block;margin-top:4px}.admin-order-alert-item{gap:11px;padding:13px 12px}.admin-order-alert-actions .btn{flex:1}.admin-order-alert-actions{width:100%}}

/* ========================================================================== 
   Restaurant & Cafe v3.0.2 — Apple UI foundation and contrast repair
   This section intentionally overrides legacy hard-coded colours above.
   ========================================================================== */

:root {
  --apple-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --apple-ease: cubic-bezier(.22, .61, .36, 1);
  --apple-control-height: 46px;
}

html { background: var(--bg); }
body {
  font-family: var(--apple-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  letter-spacing: -0.006em;
  background: var(--bg);
  color: var(--text);
}

h1, h2, h3, h4, h5, h6, p, label, small, strong, b, span, td, th {
  color: inherit;
}

/* Apple-style translucent navigation */
.topbar {
  background: var(--topbar-bg);
  color: var(--text);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 1px 0 rgba(0,0,0,.02);
  backdrop-filter: saturate(180%) blur(24px);
  -webkit-backdrop-filter: saturate(180%) blur(24px);
}
.topbar nav a { color: var(--muted); }
.topbar nav a:hover, .topbar nav a:focus-visible { color: var(--accent); }

/* Universal Apple-style cards */
.product-card,
.category-card,
.form-card,
.summary-card,
.auth-card,
.menu-side,
.modal-card,
.admin-card,
.stat,
.gateway-admin-card,
.theme-option,
.design-theme-card,
.appearance-choice,
.install-card {
  border: 1px solid var(--line);
  background: var(--panel);
  color: var(--text);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.product-card,
.category-card,
.gateway-admin-card,
.theme-option,
.design-theme-card,
.appearance-choice,
.btn,
.admin-icon-button,
.mode-toggle {
  transition: transform .22s var(--apple-ease), box-shadow .22s var(--apple-ease), border-color .22s var(--apple-ease), background-color .22s var(--apple-ease), color .22s var(--apple-ease);
}
.product-card:hover,
.category-card:hover,
.gateway-admin-card:hover,
.theme-option:hover,
.design-theme-card:hover,
.appearance-choice:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
  box-shadow: 0 20px 60px color-mix(in srgb, var(--accent) 10%, rgba(0,0,0,.12));
}

/* Remove the old decorative transforms that caused inconsistent theme layouts. */
.hero-card,
body[data-design-theme] .hero-card,
body[data-theme] .hero-card,
body[data-design-theme] .category-card,
body[data-theme] .category-card {
  transform: none;
  outline: 0;
}

.section.soft,
.menu-head,
.modal-foot,
.webhook-box,
.manual-payment-box,
.license-summary-grid > div {
  background: var(--panel2);
  color: var(--text);
}

/* Apple controls */
.btn {
  min-height: 42px;
  padding: 11px 18px;
  border-radius: 14px;
  font-weight: 700;
  letter-spacing: -0.01em;
  border: 1px solid transparent;
}
.btn.primary {
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 88%, #fff), var(--accent-strong));
  color: var(--on-accent);
  box-shadow: 0 9px 24px color-mix(in srgb, var(--accent) 24%, transparent);
}
.btn.primary:hover { transform: translateY(-1px); filter: none; }
.btn.primary:active { transform: scale(.985); }
.btn.ghost {
  background: color-mix(in srgb, var(--panel) 90%, transparent);
  color: var(--text);
  border-color: var(--line);
}
.btn.ghost:hover { background: var(--panel2); border-color: var(--accent); }
.btn.red { background: var(--red); color: #fff; }

input, select, textarea {
  min-height: var(--apple-control-height);
  background: var(--input-bg);
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px 14px;
  caret-color: var(--accent);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
input::placeholder, textarea::placeholder { color: var(--muted); opacity: .82; }
input:focus, select:focus, textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);
}
select { color-scheme: light dark; }
label { color: var(--text); }
label small, .muted { color: var(--muted) !important; }

/* Guaranteed visible admin, installer and licence login pages. */
.install-page {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  padding: 36px 20px;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 32%),
    radial-gradient(circle at 88% 90%, color-mix(in srgb, var(--accent2) 18%, transparent), transparent 34%),
    var(--bg);
  color: var(--text);
}
.install-page::before,
.install-page::after {
  content: "";
  position: fixed;
  z-index: -1;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  filter: blur(70px);
  opacity: .25;
  pointer-events: none;
}
.install-page::before { top: -130px; left: -120px; background: var(--accent); }
.install-page::after { right: -140px; bottom: -140px; background: var(--accent2); }
.install-card {
  width: min(720px, 100%);
  padding: clamp(26px, 4vw, 42px);
  background: color-mix(in srgb, var(--panel) 88%, transparent);
  color: var(--text);
  border-color: color-mix(in srgb, var(--line) 82%, transparent);
  border-radius: 28px;
  box-shadow: 0 32px 100px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.35);
  backdrop-filter: blur(28px) saturate(165%);
  -webkit-backdrop-filter: blur(28px) saturate(165%);
}
.admin-login-card { width: min(470px, 100%); }
.install-card h1,
.admin-login-card h1 {
  margin: 8px 0 10px;
  color: var(--text) !important;
  font-family: var(--apple-font);
  font-size: clamp(34px, 5vw, 48px);
  font-weight: 760;
  line-height: 1.05;
  letter-spacing: -0.045em;
}
.install-card h2, .install-card h3,
.admin-login-card h2, .admin-login-card h3,
.install-card label, .admin-login-card label {
  color: var(--text) !important;
}
.install-card > p,
.admin-login-card > p,
.install-card .back-link,
.admin-login-card .back-link {
  color: var(--muted) !important;
}
.install-card .eyebrow,
.admin-login-card .eyebrow {
  color: var(--accent) !important;
  letter-spacing: .12em;
}
.install-card input,
.install-card select,
.install-card textarea,
.admin-login-card input,
.admin-login-card select,
.admin-login-card textarea {
  background: var(--input-bg) !important;
  color: var(--text) !important;
  border-color: var(--line) !important;
}
.install-card input:focus,
.admin-login-card input:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent) !important;
}
.login-logo,
.installer-logo img {
  display: block;
  max-width: min(270px, 82%);
  width: auto;
  min-height: 54px;
  max-height: 84px;
  object-fit: contain;
  object-position: left center;
  padding: 10px 14px;
  margin-bottom: 22px;
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}
.admin-login-card .btn.primary { width: 100%; }
.admin-login-card .back-link { display: inline-flex; margin-top: 20px; }

/* Storefront contrast fixes */
.hero { color: var(--text); background-color: var(--bg); }
.hero h1, .section-title h2, .menu-head h1 { color: var(--text); }
.hero h1 em, .price, .eyebrow, .category-number { color: var(--accent); }
.hero p, .section-title p, .product-info p, .category-card p, .cart-item p, .summary-row { color: var(--muted); }
.hero-card { background: var(--panel); border-color: var(--line); border-radius: 30px; }
.hero-badge { background: var(--panel); color: var(--text); border: 1px solid var(--line); }
.hero-badge small { color: var(--muted); }
.category-card { background: linear-gradient(155deg, var(--panel), var(--panel2)); }
.category-card::after { background: var(--panel); color: var(--accent); border: 1px solid var(--line); }
.product-image { background: var(--panel2); }
.tag { background: color-mix(in srgb, var(--panel) 92%, transparent); color: var(--text); border-color: var(--line); backdrop-filter: blur(12px); }
.tag.sale { background: var(--red); color: #fff; }
.menu-head { background: linear-gradient(180deg, var(--panel2), var(--bg)); }
.modal { background: rgba(0,0,0,.62); backdrop-filter: blur(8px); }
.modal-card { background: var(--panel); color: var(--text); }
.modal-close { background: var(--text); color: var(--bg); }
.qty button, .qty input { color: var(--text); }
.summary-row.total { color: var(--text); }
footer { background: var(--panel2); color: var(--muted); border-top-color: var(--line); }
footer b { color: var(--text); }

/* Admin panel */
.admin-body { background: var(--bg); color: var(--text); }
.admin-sidebar {
  background: linear-gradient(180deg, var(--sidebar-bg), color-mix(in srgb, var(--sidebar-bg) 86%, var(--panel)));
  color: var(--sidebar-text);
  border-right: 1px solid color-mix(in srgb, var(--sidebar-muted) 18%, transparent);
}
.admin-sidebar nav a { color: var(--sidebar-muted); }
.admin-sidebar nav a:hover, .admin-sidebar nav a.active { background: var(--sidebar-active); color: var(--sidebar-text); }
.admin-top {
  background: color-mix(in srgb, var(--panel) 88%, transparent);
  color: var(--text);
  border-bottom-color: var(--line);
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
}
.admin-top small, .stat small, .table th, .gateway-card-head small, .gateway-admin-card p, .gateway-meta { color: var(--muted); }
.admin-content { color: var(--text); }
.admin-card, .stat, .gateway-admin-card { background: var(--panel); color: var(--text); border-color: var(--line); }
.admin-card h1, .admin-card h2, .admin-card h3, .stat strong, .gateway-admin-card h3 { color: var(--text); }
.admin-body input, .admin-body select, .admin-body textarea { background: var(--input-bg); color: var(--text); border-color: var(--line); }
.admin-body .btn.ghost { color: var(--text); border-color: var(--line); }
.table th, .table td { border-bottom-color: var(--line); }
.table tbody tr:hover { background: color-mix(in srgb, var(--accent) 7%, var(--panel)); }
.admin-theme-name, .gateway-test, .webhook-box { background: var(--panel2); color: var(--muted); border-color: var(--line); }
.settings-logo-preview { background: #fff; border-color: var(--line); }
.theme-option, .design-theme-card, .appearance-choice { background: var(--panel); color: var(--text); border-color: var(--line); }
.theme-option small, .design-theme-card small { color: var(--muted); }

/* Accessibility */
:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 45%, transparent);
  outline-offset: 2px;
}
::selection { background: var(--accent); color: var(--on-accent); }
button:disabled, input:disabled, select:disabled, textarea:disabled { opacity: .55; cursor: not-allowed; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (max-width: 760px) {
  .install-page { padding: 18px 12px; }
  .install-card { border-radius: 24px; padding: 24px 20px; }
  .login-logo, .installer-logo img { max-width: 230px; }
  .admin-top { position: sticky; top: 0; z-index: 35; }
}

/* ========================================================================
   Restaurant & Cafe v3.0.3 — storefront light/dark toggle icon repair
   Restores the icon rules accidentally removed in the Apple-style update.
   ======================================================================== */
.top-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex: 0 0 auto;
}

.mode-toggle {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--panel) 92%, transparent);
  color: var(--text);
  display: inline-grid !important;
  place-items: center;
  overflow: hidden;
  flex: 0 0 44px;
  line-height: 1;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(18px) saturate(155%);
  -webkit-backdrop-filter: blur(18px) saturate(155%);
}

.mode-toggle:hover {
  color: var(--accent);
  border-color: var(--accent);
  background: var(--panel2);
  transform: translateY(-1px);
}

.mode-toggle:active {
  transform: scale(0.96);
}

.mode-toggle svg {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 21px;
  height: 21px;
  display: block;
  fill: currentColor;
  stroke: none;
  opacity: 1;
  visibility: visible;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.25s ease;
}

/* Light mode shows the moon, because clicking it changes to dark mode. */
.mode-toggle .moon {
  display: block !important;
  opacity: 1;
  transform: rotate(0deg) scale(1);
}
.mode-toggle .sun {
  display: block !important;
  opacity: 0;
  transform: rotate(-35deg) scale(0.55);
}

/* Dark mode shows the sun, because clicking it changes to light mode. */
html[data-mode="dark"] .mode-toggle .moon,
body[data-mode="dark"] .mode-toggle .moon {
  opacity: 0;
  transform: rotate(35deg) scale(0.55);
}
html[data-mode="dark"] .mode-toggle .sun,
body[data-mode="dark"] .mode-toggle .sun {
  opacity: 1;
  transform: rotate(0deg) scale(1);
}

/* Fallback for admin or custom toggle buttons containing only one SVG. */
.mode-toggle svg:only-child,
.admin-icon-button[data-theme-mode-toggle] svg:only-child {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  fill: currentColor;
}

@media (max-width: 760px) {
  .top-actions {
    gap: 7px;
  }
  .mode-toggle {
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    flex-basis: 40px;
    border-radius: 13px;
  }
  .mode-toggle svg {
    width: 19px;
    height: 19px;
  }
}

/* ========================================================================
   Restaurant & Cafe v3.0.4 — reliable Apple-style light/dark toggle icons
   The sun uses strokes, while the moon uses a filled silhouette.
   ======================================================================== */
.mode-toggle .mode-toggle-icon {
  position: relative;
  display: block;
  width: 22px;
  height: 22px;
  pointer-events: none;
}

.mode-toggle .mode-toggle-icon svg {
  position: absolute;
  inset: 0;
  width: 22px;
  height: 22px;
  margin: 0;
  overflow: visible;
  pointer-events: none;
  transition: opacity .2s ease, transform .25s ease;
}

/* Moon is visible in light mode. */
.mode-toggle .moon {
  display: block !important;
  fill: currentColor !important;
  stroke: none !important;
  opacity: 1;
  visibility: visible;
  transform: rotate(0deg) scale(1);
}

/* Sun is visible in dark mode. */
.mode-toggle .sun {
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0;
  visibility: visible;
  transform: rotate(-35deg) scale(.62);
}

html[data-mode="dark"] .mode-toggle .moon,
body[data-mode="dark"] .mode-toggle .moon {
  opacity: 0;
  transform: rotate(35deg) scale(.62);
}

html[data-mode="dark"] .mode-toggle .sun,
body[data-mode="dark"] .mode-toggle .sun {
  opacity: 1;
  transform: rotate(0deg) scale(1);
}

.mode-toggle:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 38%, transparent);
  outline-offset: 3px;
}

/* ========================================================================
   Restaurant & Cafe v3.0.5 — organised Apple-style admin settings studio
   Desktop-first layout with a preserved single-column mobile experience.
   ======================================================================== */
.settings-page {
  max-width: 1560px;
  margin: 0 auto;
}

.settings-form {
  display: block;
}

.settings-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 190px;
  padding: 34px 38px;
  border: 1px solid var(--line);
  border-radius: 30px;
  overflow: hidden;
  position: relative;
  background:
    radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 30%),
    linear-gradient(135deg, var(--panel), color-mix(in srgb, var(--panel2) 88%, var(--panel)));
  box-shadow: var(--shadow);
}

.settings-hero::after {
  content: "";
  position: absolute;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  right: -80px;
  bottom: -185px;
  border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
  box-shadow:
    0 0 0 34px color-mix(in srgb, var(--accent) 5%, transparent),
    0 0 0 68px color-mix(in srgb, var(--accent) 3%, transparent);
}

.settings-hero-copy,
.settings-hero-status {
  position: relative;
  z-index: 1;
}

.settings-hero h1 {
  margin: 7px 0 10px;
  color: var(--text);
  font-size: clamp(30px, 3vw, 46px);
  letter-spacing: -0.045em;
  line-height: 1.04;
}

.settings-hero p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}

.settings-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--accent);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.settings-kicker::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 5px color-mix(in srgb, currentColor 12%, transparent);
}

.settings-hero-status {
  flex: 0 0 220px;
  display: grid;
  gap: 3px;
  padding: 20px 22px;
  border: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
  border-radius: 20px;
  background: color-mix(in srgb, var(--panel) 78%, transparent);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.settings-hero-status span,
.settings-hero-status small {
  color: var(--muted);
  font-size: 11px;
}

.settings-hero-status strong {
  color: var(--text);
  font-size: 17px;
}

.settings-shell {
  display: grid;
  grid-template-columns: 238px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  margin-top: 24px;
}

.settings-nav-card {
  position: sticky;
  top: 96px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--panel);
  box-shadow: 0 16px 44px color-mix(in srgb, var(--bg) 36%, transparent);
}

.settings-nav-title {
  padding: 4px 8px 12px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.settings-nav-links {
  display: grid;
  gap: 5px;
}

.settings-nav-links a {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 44px;
  padding: 9px 11px;
  border-radius: 13px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.settings-nav-links a span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 9px;
  background: var(--panel2);
  color: var(--text);
  font-size: 9px;
}

.settings-nav-links a:hover {
  background: var(--panel2);
  color: var(--text);
  transform: translateX(2px);
}

.settings-nav-note {
  margin-top: 18px;
  padding: 14px;
  border-radius: 15px;
  background: color-mix(in srgb, var(--accent) 8%, var(--panel2));
  border: 1px solid color-mix(in srgb, var(--accent) 18%, var(--line));
}

.settings-nav-note strong {
  color: var(--text);
  font-size: 12px;
}

.settings-nav-note p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

.settings-main {
  min-width: 0;
  display: grid;
  gap: 20px;
}

.settings-section {
  margin-top: 0;
  padding: 28px;
  overflow: visible;
  scroll-margin-top: 98px;
}

.settings-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 24px;
}

.settings-section-head h2 {
  margin: 7px 0 6px;
  color: var(--text);
  font-size: 24px;
  letter-spacing: -0.025em;
}

.settings-section-head p {
  max-width: 650px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.settings-section-head-logo {
  align-items: center;
}

.settings-section-badge,
.settings-live-badge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel2);
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.settings-live-badge {
  background: color-mix(in srgb, var(--green) 12%, var(--panel));
  color: var(--green);
  border-color: color-mix(in srgb, var(--green) 30%, var(--line));
}

.settings-live-badge i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 5px color-mix(in srgb, currentColor 12%, transparent);
}

.settings-logo-card {
  flex: 0 0 230px;
  display: grid;
  gap: 7px;
}

.settings-logo-card > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.settings-logo-preview {
  width: 100%;
  height: 82px;
  padding: 12px;
  object-fit: contain;
  object-position: center;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: #ffffff;
}

.settings-field-grid {
  display: grid;
  gap: 16px;
}

.settings-field-grid-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.settings-field-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.settings-field-grid-compact {
  gap: 12px;
}

.settings-field-stack {
  display: grid;
  gap: 15px;
}

.settings-field {
  min-width: 0;
  display: grid;
  gap: 7px;
  color: var(--text);
  font-size: 12px;
  font-weight: 800;
}

.settings-field > span {
  color: var(--text);
}

.settings-field input,
.settings-field select,
.settings-field textarea {
  min-height: 46px;
  margin: 0;
  border-radius: 13px;
}

.settings-field small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 500;
}

.settings-field-full {
  margin-top: 16px;
}

.settings-commercial-grid {
  margin-top: 16px;
}

.settings-currency-field {
  width: min(360px, 100%);
  margin-top: 16px;
}

.settings-upload-field input[type="file"] {
  padding: 8px 10px;
}

.settings-upload-field input[type="file"]::file-selector-button {
  margin-right: 10px;
  padding: 8px 12px;
  border: 0;
  border-radius: 9px;
  background: var(--panel2);
  color: var(--text);
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.settings-input-prefix {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: stretch;
}

.settings-input-prefix b {
  display: grid;
  place-items: center;
  min-width: 56px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-right: 0;
  border-radius: 13px 0 0 13px;
  background: var(--panel2);
  color: var(--muted);
  font-size: 10px;
}

.settings-input-prefix input {
  border-radius: 0 13px 13px 0;
}

.settings-theme-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.settings-theme-card {
  min-width: 0;
  display: grid;
  grid-template-rows: 118px minmax(86px, auto);
  overflow: hidden;
  position: relative;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--panel);
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.settings-theme-card:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
  box-shadow: 0 16px 36px color-mix(in srgb, var(--accent) 10%, transparent);
}

.settings-theme-card > input {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  opacity: 0;
  pointer-events: none;
}

.settings-theme-card:has(input:checked) {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);
}

.settings-theme-preview {
  display: grid;
  align-content: space-between;
  padding: 15px;
}

.settings-theme-preview > b {
  font-size: 17px;
}

.settings-preview-window {
  display: flex;
  gap: 4px;
}

.settings-preview-window i {
  width: 24px;
  height: 7px;
  border-radius: 999px;
  background: currentColor;
  opacity: .72;
}

.settings-preview-window i:nth-child(2) {
  width: 40px;
  opacity: .45;
}

.settings-preview-window i:nth-child(3) {
  width: 14px;
  opacity: .28;
}

.settings-theme-copy {
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 14px 15px;
  border-top: 1px solid var(--line);
  background: var(--panel);
}

.settings-theme-copy b {
  color: var(--text);
  font-size: 13px;
}

.settings-theme-copy small {
  min-height: 34px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}

.settings-theme-copy em {
  display: none;
  width: max-content;
  margin-top: 4px;
  padding: 4px 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 13%, var(--panel2));
  color: var(--accent);
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.settings-theme-card:has(input:checked) .settings-theme-copy em {
  display: inline-flex;
}

.settings-appearance-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.settings-choice-panel {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: color-mix(in srgb, var(--panel2) 48%, var(--panel));
}

.settings-choice-panel-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 15px;
}

.settings-choice-panel-head h3 {
  margin: 0;
  color: var(--text);
  font-size: 14px;
}

.settings-choice-panel-head p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 10px;
}

.settings-choice-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: var(--panel);
  color: var(--accent);
  border: 1px solid var(--line);
  font-size: 12px;
  font-weight: 900;
}

.settings-appearance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.settings-appearance-choice {
  min-width: 0;
  min-height: 68px;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  align-content: center;
  align-items: center;
  gap: 9px;
  position: relative;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--panel);
  cursor: pointer;
}

.settings-appearance-choice > input {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  opacity: 0;
}

.settings-appearance-choice b {
  min-width: 0;
  color: var(--text);
  font-size: 10px;
  line-height: 1.2;
}

.settings-appearance-choice:has(input:checked) {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 8%, var(--panel));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 13%, transparent);
}

.settings-mode-dot {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid var(--line);
  box-shadow: inset 0 0 0 5px var(--panel);
}

.settings-mode-dot-light {
  background: #f7f8fb;
}

.settings-mode-dot-dark {
  background: #10131a;
}

.settings-mode-dot-system {
  background: linear-gradient(90deg, #f7f8fb 0 50%, #10131a 50%);
}

.settings-switch-card {
  display: grid !important;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding: 15px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel2);
  cursor: pointer;
}

.settings-switch-card > input {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  opacity: 0;
}

.settings-switch-card > span:last-child {
  display: grid;
  gap: 2px;
}

.settings-switch-card b {
  color: var(--text);
  font-size: 12px;
}

.settings-switch-card small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 500;
}

.settings-switch-control {
  position: relative;
  width: 45px;
  height: 26px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--muted) 35%, var(--panel));
  transition: background-color .2s ease;
}

.settings-switch-control::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .24);
  transition: transform .2s ease;
}

.settings-switch-card:has(input:checked) .settings-switch-control {
  background: var(--accent);
}

.settings-switch-card:has(input:checked) .settings-switch-control::after {
  transform: translateX(19px);
}

.settings-switch-card-compact {
  min-height: 78px;
  margin-top: 0;
  background: color-mix(in srgb, var(--panel2) 48%, var(--panel));
}

.settings-alert-grid {
  display: grid;
  grid-template-columns: 1.1fr .95fr .95fr;
  align-items: end;
  gap: 14px;
}

.settings-integration-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.settings-integration-grid .settings-section {
  height: 100%;
}

.settings-save-bar {
  position: sticky;
  bottom: 16px;
  z-index: 24;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 15px 16px 15px 20px;
  border: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
  border-radius: 20px;
  background: color-mix(in srgb, var(--panel) 88%, transparent);
  box-shadow: 0 20px 55px rgba(0, 0, 0, .18);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.settings-save-bar > div {
  display: grid;
  gap: 2px;
}

.settings-save-bar strong {
  color: var(--text);
  font-size: 12px;
}

.settings-save-bar span {
  color: var(--muted);
  font-size: 10px;
}

.settings-save-button {
  min-width: 220px;
}

@media (max-width: 1280px) {
  .settings-shell {
    grid-template-columns: 210px minmax(0, 1fr);
  }

  .settings-theme-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-appearance-grid {
    grid-template-columns: 1fr;
  }

  .settings-appearance-choice {
    min-height: 48px;
  }
}

@media (max-width: 1050px) {
  .settings-shell {
    grid-template-columns: 1fr;
  }

  .settings-nav-card {
    position: static;
  }

  .settings-nav-links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .settings-nav-note {
    display: none;
  }

  .settings-integration-grid,
  .settings-appearance-columns {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .settings-page {
    padding: 14px;
  }

  .settings-hero {
    min-height: 0;
    display: grid;
    padding: 24px 20px;
    border-radius: 22px;
  }

  .settings-hero-status {
    width: 100%;
    flex-basis: auto;
  }

  .settings-shell {
    margin-top: 16px;
    gap: 16px;
  }

  .settings-nav-card {
    display: none;
  }

  .settings-main {
    gap: 16px;
  }

  .settings-section {
    padding: 20px;
    border-radius: 20px;
  }

  .settings-section-head,
  .settings-section-head-logo {
    display: grid;
  }

  .settings-logo-card {
    width: 100%;
    flex-basis: auto;
  }

  .settings-field-grid-two,
  .settings-field-grid-three,
  .settings-theme-grid,
  .settings-alert-grid,
  .settings-integration-grid,
  .settings-appearance-columns {
    grid-template-columns: 1fr;
  }

  .settings-appearance-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .settings-theme-card {
    grid-template-rows: 105px auto;
  }

  .settings-save-bar {
    position: static;
    display: grid;
    bottom: auto;
    padding: 16px;
  }

  .settings-save-button {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 480px) {
  .settings-appearance-grid {
    grid-template-columns: 1fr;
  }

  .settings-appearance-choice {
    min-height: 50px;
  }
}


/* Restaurant & Cafe v3.0.6 — homepage banner settings */
.settings-banner-editor {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
  gap: 22px;
  align-items: start;
}

.settings-banner-preview-card,
.settings-banner-controls {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: color-mix(in srgb, var(--panel2) 52%, var(--panel));
}

.settings-banner-preview-card {
  padding: 14px;
}

.settings-banner-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 2px 3px 12px;
}

.settings-banner-preview-head span {
  color: var(--text);
  font-size: 12px;
  font-weight: 800;
}

.settings-banner-preview-head small {
  color: var(--muted);
  font-size: 10px;
}

.settings-banner-preview {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  border: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
  border-radius: 17px;
  background: var(--panel);
  box-shadow: 0 18px 45px rgba(0, 0, 0, .14);
}

.settings-banner-preview::after {
  content: "Homepage preview";
  position: absolute;
  right: 12px;
  bottom: 12px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(10, 12, 16, .72);
  color: #ffffff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.settings-banner-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.settings-banner-controls {
  display: grid;
  gap: 16px;
  padding: 18px;
}

.settings-banner-guidance {
  padding: 15px;
  border: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
  border-radius: 15px;
  background: var(--panel);
}

.settings-banner-guidance strong {
  display: block;
  margin-bottom: 7px;
  color: var(--text);
  font-size: 11px;
}

.settings-banner-guidance ul {
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.65;
}

.settings-remove-media {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: flex-start;
  gap: 11px;
  padding: 13px;
  border: 1px solid color-mix(in srgb, var(--red) 38%, var(--line));
  border-radius: 14px;
  background: color-mix(in srgb, var(--red) 6%, var(--panel));
  cursor: pointer;
}

.settings-remove-media input {
  width: 17px !important;
  height: 17px;
  margin: 2px 0 0;
  accent-color: var(--red);
}

.settings-remove-media span {
  display: grid;
  gap: 2px;
}

.settings-remove-media b {
  color: var(--text);
  font-size: 11px;
}

.settings-remove-media small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 500;
}

@media (max-width: 1050px) {
  .settings-banner-editor {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .settings-banner-preview-head {
    align-items: flex-start;
    display: grid;
  }

  .settings-banner-controls {
    padding: 15px;
  }
}

/* Restaurant & Cafe v3.1.9 — restaurant availability */
.restaurant-order-banner {
  width: min(1180px, calc(100% - 32px));
  margin: 16px auto 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--red) 44%, var(--line));
  border-radius: 18px;
  background: color-mix(in srgb, var(--red) 8%, var(--panel));
  color: var(--text);
  box-shadow: 0 14px 38px rgba(0, 0, 0, .12);
}

.restaurant-order-banner-icon {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--red);
  box-shadow: 0 0 0 7px color-mix(in srgb, var(--red) 14%, transparent);
}

.restaurant-order-banner > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.restaurant-order-banner strong {
  color: var(--text);
  font-size: 14px;
}

.restaurant-order-banner span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.restaurant-order-banner .btn {
  white-space: nowrap;
}

.checkout-ordering-status {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--panel);
  color: var(--text);
}

.checkout-ordering-status-icon {
  width: 14px;
  height: 14px;
  margin-top: 4px;
  border-radius: 50%;
  background: var(--muted);
}

.checkout-ordering-status > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.checkout-ordering-status strong {
  color: var(--text);
  font-size: 15px;
}

.checkout-ordering-status p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.checkout-ordering-status.is-open {
  border-color: color-mix(in srgb, var(--green) 44%, var(--line));
  background: color-mix(in srgb, var(--green) 8%, var(--panel));
}

.checkout-ordering-status.is-open .checkout-ordering-status-icon {
  background: var(--green);
  box-shadow: 0 0 0 7px color-mix(in srgb, var(--green) 14%, transparent);
}

.checkout-ordering-status.is-closed {
  border-color: color-mix(in srgb, var(--red) 44%, var(--line));
  background: color-mix(in srgb, var(--red) 8%, var(--panel));
}

.checkout-ordering-status.is-closed .checkout-ordering-status-icon {
  background: var(--red);
  box-shadow: 0 0 0 7px color-mix(in srgb, var(--red) 14%, transparent);
}

.checkout-button:disabled {
  filter: grayscale(.2);
}

.admin-ordering-state {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 31px;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel2);
  color: var(--text);
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.admin-ordering-state i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--muted);
}

.admin-ordering-state.is-open {
  border-color: color-mix(in srgb, var(--green) 44%, var(--line));
  background: color-mix(in srgb, var(--green) 10%, var(--panel));
}

.admin-ordering-state.is-open i {
  background: var(--green);
}

.admin-ordering-state.is-closed {
  border-color: color-mix(in srgb, var(--red) 46%, var(--line));
  background: color-mix(in srgb, var(--red) 10%, var(--panel));
}

.admin-ordering-state.is-closed i {
  background: var(--red);
  animation: adminLiveDot 1.2s infinite;
}

footer p strong {
  color: var(--text);
}

footer p span {
  font-size: 12px;
  line-height: 1.55;
}

@media (max-width: 760px) {
  .restaurant-order-banner {
    width: calc(100% - 24px);
    grid-template-columns: auto minmax(0, 1fr);
    margin-top: 12px;
    padding: 13px;
  }

  .restaurant-order-banner .btn {
    grid-column: 2;
    width: max-content;
  }

  .admin-ordering-state {
    padding: 6px 8px;
  }
}

@media (max-width: 480px) {
  .restaurant-order-banner {
    grid-template-columns: 1fr;
  }

  .restaurant-order-banner-icon {
    display: none;
  }

  .restaurant-order-banner .btn {
    grid-column: 1;
    width: 100%;
  }
}

/* v3.2.0 reservation module */
.reservation-page{max-width:1100px;margin:0 auto}.reservation-form{max-width:900px}.reservation-form .btn{width:max-content}.badge.pending{background:#fff0c2;color:#704d00}.badge.confirmed{background:#d9efff;color:#075985}.badge.seated{background:#eee5ff;color:#5b21a6}.badge.rejected{background:#ffe2df;color:#922b21}@media(max-width:760px){.reservation-form .btn{width:100%}.reservation-page{padding-left:16px;padding-right:16px}}

/* v3.2.3 responsive admin header and mobile navigation */
.admin-top-title{display:flex;align-items:center;min-width:0;gap:12px}.admin-top-title>div{min-width:0}.admin-top-title b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-menu-toggle{display:none;width:42px;height:42px;flex:0 0 42px;border:1px solid #ddd3ca;border-radius:13px;background:#f7f3ef;color:#2b211b;place-items:center;cursor:pointer}.admin-menu-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.admin-nav-backdrop{position:fixed;inset:0;z-index:89;background:rgba(15,11,9,.52);backdrop-filter:blur(3px)}
@media(max-width:760px){
  body.admin-nav-open{overflow:hidden}.admin-menu-toggle{display:grid}.admin-sidebar{position:fixed!important;z-index:90;left:0;top:0;bottom:0;width:min(86vw,320px)!important;height:100dvh!important;padding:20px 14px 24px;overflow-y:auto;transform:translateX(-104%);transition:transform .24s ease;box-shadow:22px 0 60px rgba(0,0,0,.3)}.admin-sidebar.is-open{transform:translateX(0)}.admin-sidebar .admin-brand{margin:0 6px 20px}.admin-sidebar nav{display:grid!important;overflow:visible!important;gap:5px}.admin-sidebar nav a{white-space:normal!important;min-height:44px;display:flex;align-items:center}.admin-main{margin-left:0}.admin-top{height:auto!important;min-height:76px;padding:11px 13px!important;display:grid!important;grid-template-columns:minmax(0,1fr);gap:10px;position:sticky;top:0;z-index:65;box-shadow:0 7px 24px rgba(40,28,20,.08)}.admin-top-title{width:100%}.admin-top-title b{font-size:17px!important}.admin-top-title small{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-top-actions{width:100%;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 39px 39px 39px;gap:7px!important}.admin-ordering-state,.license-state-pill{min-width:0;justify-content:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-top-actions>.license-state-pill:nth-of-type(2){display:none}.admin-icon-button{width:39px;height:39px}.admin-order-alert-panel{top:126px!important;margin:0 10px!important}.admin-order-alert-bar{border-radius:14px 14px 0 0;padding:12px;gap:10px}.admin-order-alert-bar>div{gap:7px}.admin-order-alert-bar small{display:none}.admin-order-alert-item{padding:13px;gap:10px}.admin-content{padding:15px!important}.global-flash{margin:12px!important}.stats{gap:10px}.stat{padding:15px}.stat strong{font-size:24px}
}
@media(max-width:420px){
 .admin-top-actions{grid-template-columns:minmax(0,1fr) 39px 39px 39px}.admin-top-actions>.license-state-pill:first-of-type{display:none}.admin-ordering-state{font-size:9px}.admin-menu-toggle{width:40px;height:40px;flex-basis:40px}.admin-top{padding:10px!important}.admin-order-alert-panel{top:123px!important}.stats{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){.admin-sidebar{transition:none}}

/* v3.3.3 customer mobile navigation and reservation alerts */
.customer-mobile-menu{display:none;position:relative;margin-left:auto}.customer-mobile-menu summary{list-style:none;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:13px;display:grid;place-content:center;gap:4px;cursor:pointer;background:color-mix(in srgb,var(--panel) 90%,transparent)}.customer-mobile-menu summary::-webkit-details-marker{display:none}.customer-mobile-menu summary span{display:block;width:19px;height:2px;border-radius:2px;background:currentColor}.customer-mobile-menu-panel{position:absolute;right:0;top:calc(100% + 11px);z-index:120;width:min(280px,calc(100vw - 24px));padding:9px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 55px rgba(0,0,0,.25)}.customer-mobile-menu-panel a{display:flex;align-items:center;min-height:45px;padding:10px 12px;border-radius:11px;color:var(--text);font-weight:750}.customer-mobile-menu-panel a:hover,.customer-mobile-menu-panel a:focus-visible{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}
.admin-reservation-state{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 10px;border:1px solid #d9e6dc;border-radius:999px;background:#eef8f0;color:#24713d;font-size:11px;font-weight:850;text-decoration:none;white-space:nowrap}.admin-reservation-state i{width:8px;height:8px;border-radius:50%;background:#32a852;box-shadow:0 0 0 4px rgba(50,168,82,.12)}.admin-reservation-state.is-closed{background:#fff0ef;border-color:#f2cfcb;color:#a43b32}.admin-reservation-state.is-closed i{background:#d94a3f;box-shadow:0 0 0 4px rgba(217,74,63,.12)}.admin-reservation-state b{min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;background:#e67e22;color:#fff;font-size:10px}.admin-reservation-state.has-alerts{border-color:#f0bd86;box-shadow:0 0 0 3px rgba(230,126,34,.1)}.admin-order-alert-item.is-reservation .admin-order-alert-pulse,.admin-order-alert-item.is-reservation .admin-order-alert-label i{background:#e67e22}.admin-order-alert-item.is-reservation{border-left:4px solid #e67e22}
@media(max-width:760px){.customer-mobile-menu{display:block}.topbar{gap:9px}.topbar .brand{min-width:0}.topbar .top-actions{margin-left:0}.customer-mobile-menu-panel{position:fixed;right:12px;top:74px}.admin-reservation-state{min-width:0;padding:6px 8px}.admin-reservation-state span{overflow:hidden;text-overflow:ellipsis}.admin-top-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 39px 39px 39px!important}}
@media(max-width:480px){.topbar .brand-logo img{width:128px}.topbar .cart-pill{padding:8px 10px;font-size:12px}.customer-mobile-menu summary{width:39px;height:39px}.admin-reservation-state span{font-size:0}.admin-reservation-state span:after{content:'Reservations';font-size:9px}.admin-reservation-state b{min-width:18px;height:18px;padding:0 5px}.admin-top-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 37px 37px 37px!important}}


/* v3.4.3 signed licence-server dashboard messages */
.license-dashboard-messages{display:grid;gap:14px;margin-bottom:18px}.license-dashboard-messages:empty{display:none}.license-dashboard-message{--message-accent:var(--accent);position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:16px;overflow:hidden;padding:16px;border:1px solid color-mix(in srgb,var(--message-accent) 35%,var(--line));border-left:5px solid var(--message-accent);border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--message-accent) 10%,var(--panel)),var(--panel));box-shadow:0 14px 38px rgba(0,0,0,.08)}.license-dashboard-message.severity-success{--message-accent:#32a852}.license-dashboard-message.severity-warning{--message-accent:#e67e22}.license-dashboard-message.severity-critical{--message-accent:#d64545}.license-dashboard-message.is-advertisement{border-left-width:1px;padding:0;grid-template-columns:minmax(180px,32%) minmax(0,1fr) auto}.license-dashboard-message-image{width:150px;height:120px;object-fit:cover;border-radius:13px;background:var(--surface-2,var(--panel))}.license-dashboard-message.is-advertisement .license-dashboard-message-image{width:100%;height:100%;min-height:170px;border-radius:0}.license-dashboard-message-copy{align-self:center;min-width:0;padding:2px 0}.license-dashboard-message.is-advertisement .license-dashboard-message-copy{padding:20px 0}.license-dashboard-message-kicker{display:block;margin-bottom:4px;color:var(--message-accent);font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.license-dashboard-message h2{margin:0 0 5px;font-size:clamp(18px,2vw,24px);letter-spacing:-.025em;color:var(--text)}.license-dashboard-message p{margin:0;color:var(--muted);line-height:1.55}.license-dashboard-message-time{display:block;margin-top:9px;color:var(--muted);font-size:11px}.license-dashboard-message-action{margin-top:13px;background:var(--message-accent)!important;color:#fff!important;border-color:transparent!important}.license-dashboard-message-dismiss{align-self:start;width:34px;height:34px;margin:2px;border:0;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text);font-size:24px;line-height:1;cursor:pointer}.license-dashboard-message-dismiss:hover{background:color-mix(in srgb,var(--text) 14%,transparent)}
@media(max-width:700px){.license-dashboard-message,.license-dashboard-message.is-advertisement{grid-template-columns:1fr;padding:14px}.license-dashboard-message-image,.license-dashboard-message.is-advertisement .license-dashboard-message-image{width:100%;height:180px;min-height:0;border-radius:13px}.license-dashboard-message.is-advertisement .license-dashboard-message-copy{padding:0}.license-dashboard-message-dismiss{position:absolute;right:8px;top:8px;background:var(--panel);box-shadow:0 4px 18px rgba(0,0,0,.15)}}

/* v3.4.5 — hard admin lock when the commercial licence is inactive. */
body.licence-admin-locked {
  overflow: hidden !important;
  background: #000 !important;
}
body.licence-admin-locked .admin-sidebar,
body.licence-admin-locked .admin-main,
body.licence-admin-locked .admin-nav-backdrop {
  pointer-events: none !important;
  user-select: none !important;
  filter: grayscale(1) brightness(.18);
}
.licence-admin-lock-screen {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: grid;
  place-items: center;
  overflow: auto;
  padding: clamp(22px, 5vw, 64px);
  box-sizing: border-box;
  background: #000;
  color: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-align: center;
}
.licence-admin-lock-card {
  width: min(720px, 100%);
  margin: auto;
}
.licence-admin-lock-icon {
  display: grid;
  place-items: center;
  width: 78px;
  height: 78px;
  margin: 0 auto 28px;
  border: 2px solid #fff;
  border-radius: 50%;
  font-size: 40px;
  font-weight: 800;
  line-height: 1;
}
.licence-admin-lock-kicker {
  display: block;
  margin-bottom: 12px;
  color: #a1a1a6;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
}
.licence-admin-lock-card h1 {
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(38px, 7vw, 68px);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: .98;
}
.licence-admin-lock-lead,
.licence-admin-lock-message {
  max-width: 650px;
  margin: 0 auto;
  color: #d2d2d7;
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.55;
}
.licence-admin-lock-state {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  margin: 26px 0 16px;
  padding: 0 15px;
  border: 1px solid #424245;
  border-radius: 999px;
  color: #f5f5f7;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
}
.licence-admin-lock-message {
  color: #a1a1a6;
  font-size: 15px;
}
.licence-admin-lock-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 30px;
}
.licence-admin-lock-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  box-sizing: border-box;
  font-size: 15px;
  font-weight: 750;
  text-decoration: none;
}
.licence-admin-lock-primary {
  background: #fff;
  color: #000;
}
.licence-admin-lock-primary:hover,
.licence-admin-lock-primary:focus-visible {
  background: #e8e8ed;
  color: #000;
}
.licence-admin-lock-secondary {
  border: 1px solid #424245;
  background: transparent;
  color: #fff;
}
.licence-admin-lock-secondary:hover,
.licence-admin-lock-secondary:focus-visible {
  border-color: #86868b;
  background: #1d1d1f;
  color: #fff;
}

/* Local browser print bridge */
.local-print-bridge-status{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--text);font:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.local-print-bridge-status i{width:8px;height:8px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 3px color-mix(in srgb,var(--muted) 15%,transparent)}.local-print-bridge-status.is-online{color:var(--success);border-color:color-mix(in srgb,var(--success) 35%,var(--line));background:color-mix(in srgb,var(--success) 9%,var(--panel))}.local-print-bridge-status.is-online i{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 16%,transparent)}.local-print-bridge-status.is-offline{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--line));background:color-mix(in srgb,var(--danger) 9%,var(--panel))}.local-print-bridge-status.is-offline i{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 16%,transparent)}.local-print-bridge-status.is-checking i{animation:localPrintBridgePulse 1s infinite alternate}@keyframes localPrintBridgePulse{from{opacity:.35}to{opacity:1}}@media(max-width:760px){.local-print-bridge-status span{display:none}.local-print-bridge-status{width:34px;padding:0;justify-content:center}}

/* v3.4.9 — clear mobile admin service status header */
.admin-top-actions .admin-service-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:0;
  min-height:40px;
  padding:7px 11px;
  border:1px solid var(--line);
  border-radius:13px;
  background:color-mix(in srgb,var(--accent) 9%,var(--panel));
  color:var(--accent);
  font:inherit;
  text-decoration:none;
  white-space:nowrap;
  overflow:hidden;
}
.admin-top-actions .admin-service-state>i{
  flex:0 0 9px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent);
}
.admin-service-copy{
  display:flex;
  align-items:baseline;
  gap:5px;
  min-width:0;
  line-height:1.05;
}
.admin-service-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:11px;
  font-weight:900;
  letter-spacing:.01em;
}
.admin-top .admin-service-copy small{
  color:inherit!important;
  font-size:10px;
  font-weight:800;
  opacity:.78;
}
.admin-top-actions .admin-service-state.is-open,
.admin-top-actions .local-print-bridge-status.is-online{
  border-color:color-mix(in srgb,var(--green) 46%,var(--line));
  background:color-mix(in srgb,var(--green) 11%,var(--panel));
  color:var(--green);
}
.admin-top-actions .admin-service-state.is-open>i,
.admin-top-actions .local-print-bridge-status.is-online>i{
  background:var(--green);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 16%,transparent);
  animation:none;
}
.admin-top-actions .admin-ordering-state.is-closed,
.admin-top-actions .admin-reservation-state.is-closed,
.admin-top-actions .local-print-bridge-status.is-offline,
.admin-top-actions .local-print-bridge-status.is-checking{
  border-color:color-mix(in srgb,var(--accent) 42%,var(--line));
  background:color-mix(in srgb,var(--accent) 10%,var(--panel));
  color:var(--accent);
}
.admin-top-actions .admin-ordering-state.is-closed>i,
.admin-top-actions .admin-reservation-state.is-closed>i,
.admin-top-actions .local-print-bridge-status.is-offline>i,
.admin-top-actions .local-print-bridge-status.is-checking>i{
  background:var(--accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent);
  animation:none;
}
.admin-top-actions .local-print-bridge-status.is-checking>i{
  animation:localPrintBridgePulse 1s infinite alternate;
}
.admin-top-actions .admin-reservation-state b{
  flex:0 0 auto;
}

@media(max-width:760px){
  .admin-top{
    gap:12px!important;
    padding:12px!important;
  }
  .admin-top-actions{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .admin-top-actions .admin-service-state{
    grid-column:span 2;
    width:100%;
    min-height:54px;
    padding:7px 6px;
    border-radius:15px;
    overflow:visible;
  }
  .admin-service-copy{
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
    white-space:normal;
  }
  .admin-service-copy strong{
    max-width:100%;
    font-size:11px;
  }
  .admin-top .admin-service-copy small{
    font-size:9px;
  }
  .admin-top-actions>.license-state-pill{
    display:none!important;
  }
  .admin-top-actions .admin-icon-button{
    grid-column:span 2;
    width:100%!important;
    height:42px;
    border-radius:13px;
  }
  .admin-theme-name{
    display:none!important;
  }
  .admin-order-alert-panel{
    top:196px!important;
  }
}

@media(max-width:390px){
  .admin-top-actions{
    gap:6px!important;
  }
  .admin-top-actions .admin-service-state{
    min-height:52px;
    padding:6px 4px;
    gap:6px;
  }
  .admin-top-actions .admin-service-state>i{
    flex-basis:8px;
    width:8px;
    height:8px;
  }
  .admin-service-copy strong{
    font-size:10px;
  }
  .admin-top .admin-service-copy small{
    font-size:8px;
  }
}
@media(max-width:760px){
  .admin-top-actions .local-print-bridge-status .admin-service-copy{
    display:flex!important;
  }
  .admin-top-actions .admin-reservation-state .admin-service-copy{
    font-size:inherit!important;
  }
  .admin-top-actions .admin-reservation-state .admin-service-copy:after{
    content:none!important;
  }
}

/* Restaurant & Cafe v3.4.13 — optional loyalty points */
.loyalty-menu-intro{max-width:680px;margin:8px 0 18px;color:var(--muted)}
.loyalty-menu-intro strong{color:var(--text)}
.loyalty-points-badge{display:inline-flex;width:max-content;align-items:center;gap:5px;margin:2px 0 12px;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--panel2));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));color:var(--accent);font-size:12px;font-weight:850;letter-spacing:.01em}
.loyalty-summary-row{color:var(--accent)!important}
.loyalty-summary-row strong,.loyalty-summary-row b{color:var(--accent)}
.loyalty-checkout-card{position:relative;overflow:hidden}
.loyalty-checkout-card:before{content:"";position:absolute;right:-60px;top:-80px;width:220px;height:220px;border-radius:50%;background:color-mix(in srgb,var(--accent) 10%,transparent);pointer-events:none}
.loyalty-balance-panel{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.loyalty-balance-panel>div{padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--panel2)}
.loyalty-balance-panel small{display:block;color:var(--muted);font-weight:650;margin-bottom:5px}
.loyalty-balance-panel strong{display:block;font-size:18px;color:var(--text)}
.loyalty-redeem-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.loyalty-redeem-input .btn{white-space:nowrap}
.loyalty-points-message{padding:12px 14px;border-radius:13px;background:var(--panel2);border:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:650}
.loyalty-points-message.is-applied{background:color-mix(in srgb,var(--green) 12%,var(--panel));border-color:color-mix(in srgb,var(--green) 35%,var(--line));color:var(--green)}
.loyalty-login-prompt{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px;border:1px solid var(--line);border-radius:17px;background:var(--panel2)}
.loyalty-login-prompt p{margin:3px 0 0;color:var(--muted);font-size:13px}
.loyalty-account-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;padding:28px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:var(--radius);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,var(--panel)),var(--panel));box-shadow:var(--shadow)}
.loyalty-account-card h2{font-size:42px;margin:7px 0 2px;letter-spacing:-.04em}
.loyalty-account-card p{margin:0;color:var(--muted)}
.loyalty-history-card{margin-bottom:22px}
.loyalty-positive{color:var(--green)}
.loyalty-negative{color:var(--red)}
.loyalty-order-admin-note{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:13px 15px;border-radius:13px;background:color-mix(in srgb,var(--accent) 10%,var(--panel2));border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));color:var(--accent)}
.loyalty-order-admin-note span{font-size:13px;color:var(--muted);text-align:right}
@media(max-width:760px){.loyalty-balance-panel{grid-template-columns:1fr}.loyalty-redeem-input{grid-template-columns:1fr}.loyalty-login-prompt,.loyalty-account-card{align-items:flex-start;flex-direction:column}.loyalty-account-card .btn{width:100%}.loyalty-account-card h2{font-size:34px}.loyalty-order-admin-note{align-items:flex-start;flex-direction:column}.loyalty-order-admin-note span{text-align:left}}

/* v3.4.14 intelligent checkout promotion suggestion */
.checkout-cart-amount{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:14px 0;border-top:1px solid var(--line);font-size:15px}.checkout-cart-amount strong{font-size:22px;letter-spacing:-.02em}.promo-suggestion-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;margin:4px 0 14px;padding:14px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--panel2) 84%,transparent);overflow:hidden}.promo-suggestion-card[hidden]{display:none}.promo-suggestion-card.is-ready{border-color:color-mix(in srgb,#21a366 55%,var(--line));background:color-mix(in srgb,#21a366 10%,var(--panel))}.promo-suggestion-card.is-applied{box-shadow:0 0 0 3px color-mix(in srgb,#21a366 13%,transparent)}.promo-suggestion-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:950;font-size:20px}.promo-suggestion-card.is-ready .promo-suggestion-icon{background:linear-gradient(135deg,#168a54,#2fc476)}.promo-suggestion-copy{min-width:0;display:grid;gap:3px}.promo-suggestion-kicker{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.promo-suggestion-copy strong{font-size:15px;line-height:1.25}.promo-suggestion-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.promo-progress{height:6px;margin-top:6px;border-radius:999px;background:color-mix(in srgb,var(--line) 80%,transparent);overflow:hidden}.promo-progress[hidden]{display:none}.promo-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .25s ease}.promo-apply-button{min-width:76px}.promo-apply-button:disabled{opacity:.48;cursor:not-allowed;transform:none}.coupon-message{display:block;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.4}.coupon-message.is-success{color:#168a54;font-weight:750}.coupon-message.is-error{color:#c0392b;font-weight:750}@media(max-width:600px){.promo-suggestion-card{grid-template-columns:40px minmax(0,1fr);align-items:start}.promo-suggestion-icon{width:40px;height:40px}.promo-apply-button{grid-column:1/-1;width:100%;margin-top:2px}.coupon-field>div{align-items:stretch}.coupon-field>div input{min-width:0}.coupon-field>div .btn{white-space:nowrap}}
.promo-suggestion-actions{display:grid;gap:7px;align-self:stretch;align-content:center}.promo-add-food{font-size:12px;text-align:center}.promo-add-food[hidden]{display:none}@media(max-width:600px){.promo-suggestion-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.promo-suggestion-actions .btn{width:100%;margin:0}.promo-suggestion-actions .promo-add-food[hidden]+*{display:none}}

/* Restaurant & Cafe v3.4.19 — customer wallet */
.wallet-account-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;padding:28px;border:1px solid color-mix(in srgb,#0b7a75 34%,var(--line));border-radius:var(--radius);background:linear-gradient(135deg,color-mix(in srgb,#0b7a75 12%,var(--panel)),var(--panel));box-shadow:var(--shadow)}
.wallet-account-card h2{font-size:42px;margin:7px 0 2px;letter-spacing:-.04em}
.wallet-account-card p{margin:0;color:var(--muted)}
.wallet-history-card{margin-bottom:22px}
.wallet-positive{color:var(--green)!important}
.wallet-negative{color:var(--red)!important}
.wallet-summary-row{color:#0b7a75!important}
.wallet-summary-row b,.wallet-summary-row strong{color:#0b7a75!important}
.wallet-refund-row{color:var(--green)!important}
.wallet-refund-row b{color:var(--green)!important}
.wallet-refund-admin{display:grid;gap:12px}
.wallet-refund-admin .section-title{margin:0}
.wallet-refund-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}
.wallet-refund-form label{display:grid;gap:7px;margin:0;color:var(--text);font-weight:750}
.wallet-refund-form .settings-input-prefix{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid var(--line);border-radius:13px;background:var(--panel2);overflow:hidden}
.wallet-refund-form .settings-input-prefix b{padding:0 12px;color:var(--muted);font-size:12px}
.wallet-refund-form .settings-input-prefix input{border:0;border-left:1px solid var(--line);border-radius:0;background:transparent}
@media(max-width:760px){.wallet-account-card{align-items:flex-start;flex-direction:column}.wallet-account-card h2{font-size:34px}.wallet-account-card .btn{width:100%}.wallet-refund-form{grid-template-columns:1fr}.wallet-refund-form .btn{width:100%}}


/* Restaurant & Cafe v3.4.21 — review trust cards and admin-managed social footer */
.review-trust-section{padding-top:40px}.review-trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.review-trust-card{display:grid;gap:14px;padding:24px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,var(--panel),color-mix(in srgb,var(--panel2) 78%,transparent));color:var(--text);box-shadow:var(--shadow);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.review-trust-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 22px 55px rgba(0,0,0,.13)}.review-trust-brand{display:flex;align-items:center;gap:10px}.review-provider-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--panel2);font-size:21px;font-weight:950}.review-trust-trustpilot .review-provider-mark{background:#00b67a;color:#fff}.review-trust-google .review-provider-mark{background:#fff;color:#4285f4;border:1px solid #e1e4e8;font-family:Arial,sans-serif}.review-rating-line{display:flex;align-items:center;gap:12px}.review-rating-line>strong{font-size:34px;letter-spacing:-.04em}.review-stars{color:#f5a623;letter-spacing:2px;font-size:17px}.review-trust-card p{margin:0;color:var(--muted)}.review-trust-action{display:flex;align-items:center;justify-content:space-between;padding-top:4px;color:var(--accent);font-weight:850}.site-footer{align-items:start}.footer-brand{min-width:0}.footer-socials{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:18px}.footer-socials a{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--text);transition:transform .18s ease,border-color .18s ease,background .18s ease}.footer-socials a:hover{transform:translateY(-2px);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel))}.footer-socials svg{width:19px;height:19px;fill:currentColor}.settings-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-review-provider{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--panel2)}.settings-social-heading{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
@media(max-width:760px){.review-trust-grid,.settings-review-grid{grid-template-columns:1fr}.review-trust-card{padding:20px;border-radius:20px}.review-rating-line>strong{font-size:30px}.review-stars{font-size:15px}.site-footer{gap:28px}.footer-socials{margin-top:14px}}

/* v3.4.22 customer management, staff permissions and admin profile */
.admin-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.admin-page-heading h1{font-size:clamp(30px,4vw,48px);line-height:1.05;margin:7px 0}.admin-page-heading p{margin:0;color:var(--muted);max-width:720px}.admin-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.admin-card-heading h2{margin:5px 0 0}.admin-empty-cell{text-align:center!important;padding:34px 16px!important;color:var(--muted)}.customer-search-card{margin-bottom:16px}.customer-search-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(170px,220px) auto auto;gap:12px;align-items:end;margin-bottom:10px}.admin-pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:20px}.admin-pagination .is-disabled{pointer-events:none;opacity:.45}.customer-admin-layout,.admin-profile-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);gap:20px;margin-bottom:20px}.customer-edit-form{margin-top:10px}.admin-switch-row{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel2)}.admin-switch-row input{width:20px;height:20px;flex:0 0 20px;margin-top:2px}.admin-switch-row span{display:grid;gap:3px}.admin-switch-row small{color:var(--muted)}.customer-contact-list{display:grid;gap:10px;margin:18px 0}.customer-contact-list>a,.customer-contact-list>div{display:grid;gap:3px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);overflow-wrap:anywhere}.customer-contact-list strong{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.customer-history-section{margin-top:20px}.customer-ledger-grid{margin-top:20px}.staff-card-grid{display:grid;gap:14px}.staff-access-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--panel2)}.staff-access-avatar{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:var(--on-accent);font-size:22px;font-weight:900;box-shadow:0 10px 24px rgba(0,0,0,.12)}.staff-access-copy{min-width:0;display:grid;gap:3px}.staff-access-copy h2,.admin-profile-summary h2{margin:0}.staff-access-copy p{margin:0;color:var(--muted)}.staff-access-copy>a{font-weight:700;overflow-wrap:anywhere}.staff-access-copy>small{color:var(--muted)}.staff-access-name{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.staff-access-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;color:var(--muted);font-size:12px}.staff-editor-layout{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);gap:20px;align-items:start}.permission-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permission-option-card{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--panel2);cursor:pointer;transition:.18s}.permission-option-card:hover{border-color:var(--accent);transform:translateY(-1px)}.permission-option-card input{width:20px;height:20px;flex:0 0 20px;margin-top:2px}.permission-option-card span{display:grid;gap:4px}.permission-option-card small{color:var(--muted);line-height:1.4}.staff-permission-note,.admin-security-panel{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel2)}.staff-save-button{margin-top:16px;width:100%}.admin-profile-summary{text-align:center}.admin-profile-summary .staff-access-avatar{margin:0 auto 14px}.admin-profile-summary .customer-contact-list{text-align:left}.admin-security-panel{display:grid;gap:14px}.admin-top-actions{flex-wrap:wrap}.admin-top-actions .admin-icon-button[href]{display:grid;place-items:center}.admin-top-actions .admin-icon-button[href] svg{width:20px;height:20px;fill:currentColor}.customer-admin-table td{vertical-align:middle}
@media(max-width:1100px){.staff-editor-layout,.customer-admin-layout,.admin-profile-layout{grid-template-columns:1fr}.permission-card-grid{grid-template-columns:1fr}.customer-ledger-grid{grid-template-columns:1fr!important}}
@media(max-width:850px){.admin-page-heading{align-items:flex-start;flex-direction:column}.admin-page-heading>.btn{width:100%}.customer-search-grid{grid-template-columns:1fr 1fr}.admin-top-actions{display:flex!important;grid-template-columns:none!important;align-items:center}.admin-top-actions .admin-service-state{flex:1 1 105px;min-width:0}.admin-top-actions .license-state-pill{display:none}.admin-top-actions .admin-icon-button{flex:0 0 39px}.admin-top-actions .admin-theme-name{display:none}.staff-access-card{grid-template-columns:48px minmax(0,1fr)}.staff-access-card>.btn{grid-column:1/-1;width:100%}.staff-access-avatar{width:48px;height:48px;border-radius:15px}.admin-customer-stats,.admin-customer-detail-stats{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:600px){.customer-search-grid,.grid.two{grid-template-columns:1fr}.customer-search-grid .btn{width:100%}.permission-option-card{padding:13px}.admin-customer-stats,.admin-customer-detail-stats{grid-template-columns:1fr!important}.admin-pagination{justify-content:space-between}.admin-pagination span{font-size:12px}.staff-access-card{padding:14px}.customer-contact-card{order:-1}}


/* v3.4.23 — reliable theme controls and settings interaction fallbacks */
.admin-theme-toggle-icon{position:relative;display:block;width:21px;height:21px;pointer-events:none}
.admin-theme-toggle-icon svg{position:absolute;inset:0;width:21px!important;height:21px!important;margin:0;pointer-events:none;transition:opacity .2s ease,transform .25s ease}
.admin-theme-toggle .moon{fill:currentColor!important;stroke:none!important;opacity:1;transform:rotate(0deg) scale(1)}
.admin-theme-toggle .sun{fill:none!important;stroke:currentColor!important;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:rotate(-35deg) scale(.62)}
html[data-mode="dark"] .admin-theme-toggle .moon,body[data-mode="dark"] .admin-theme-toggle .moon{opacity:0;transform:rotate(35deg) scale(.62)}
html[data-mode="dark"] .admin-theme-toggle .sun,body[data-mode="dark"] .admin-theme-toggle .sun{opacity:1;transform:rotate(0deg) scale(1)}
.admin-theme-toggle:focus-visible,.admin-menu-toggle:focus-visible,.admin-icon-button:focus-visible,.mode-toggle:focus-visible,.btn:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 38%,transparent);outline-offset:3px}
.settings-theme-card.is-selected,.settings-appearance-choice.is-selected{border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)!important}
.settings-theme-card.is-selected .settings-theme-copy em{display:inline-flex!important}
.settings-switch-card.is-selected .settings-switch-control{background:var(--accent)!important;border-color:var(--accent)!important}
.settings-switch-card.is-selected .settings-switch-control::after{transform:translateX(22px)!important;background:var(--on-accent)!important}
.settings-nav-links a.is-active{background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}
.settings-section{scroll-margin-top:110px}
.settings-save-button:disabled{opacity:.72;cursor:wait;transform:none}
@media(max-width:850px){.settings-section{scroll-margin-top:165px}}

/* v3.4.24 compact Apple-style storefront footer */
.apple-site-footer.site-footer{display:block!important;grid-template-columns:none!important;gap:0!important;padding:24px clamp(16px,4vw,48px) 18px!important;border-top:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 94%,transparent),color-mix(in srgb,var(--panel2) 84%,var(--bg)));color:var(--muted);position:relative;overflow:hidden}.apple-site-footer.site-footer:before{content:"";position:absolute;inset:auto -12% -160px; height:260px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 12%,transparent),transparent 67%);pointer-events:none}.apple-footer-shell{width:min(1180px,100%);margin:0 auto;position:relative;z-index:1}.apple-footer-card{overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 86%,transparent);border-radius:26px;background:var(--panel);background:color-mix(in srgb,var(--panel) 84%,transparent);-webkit-backdrop-filter:blur(24px) saturate(145%);backdrop-filter:blur(24px) saturate(145%);box-shadow:0 18px 52px rgba(0,0,0,.08)}.apple-footer-main{display:grid;grid-template-columns:minmax(210px,1.12fr) minmax(210px,.82fr) minmax(360px,1.35fr);align-items:start;gap:28px;padding:25px 28px 22px}.apple-footer-brand{min-width:0}.apple-footer-logo-link{display:inline-flex;max-width:100%}.apple-footer-logo{width:148px;max-width:100%;height:42px;object-fit:contain;object-position:left center;margin:0}.apple-footer-brand p{max-width:310px;margin:11px 0 0;font-size:13px;line-height:1.55;color:var(--muted)}.apple-footer-label{display:block;margin:1px 0 10px;color:var(--text);font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.apple-footer-nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}.apple-footer-nav-links a{display:flex;align-items:center;min-height:32px;padding:5px 0;color:var(--muted);font-size:13px;font-weight:700;transition:color .18s ease,transform .18s ease}.apple-footer-nav-links a:after{content:"›";margin-left:6px;color:var(--accent);font-size:17px;line-height:1;opacity:0;transform:translateX(-5px);transition:opacity .18s ease,transform .18s ease}.apple-footer-nav-links a:hover{color:var(--text);transform:translateX(2px)}.apple-footer-nav-links a:hover:after{opacity:1;transform:translateX(0)}.apple-footer-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.apple-footer-info{min-width:0;min-height:52px;display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:15px;background:var(--panel2);background:color-mix(in srgb,var(--panel2) 72%,transparent);transition:border-color .18s ease,background .18s ease,transform .18s ease}.apple-footer-info[href]:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 50%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.apple-footer-info-icon{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--accent) 11%,var(--panel));color:var(--accent)}.apple-footer-info-icon svg{width:16px;height:16px;fill:currentColor}.apple-footer-info>span:last-child{min-width:0;display:grid;line-height:1.22}.apple-footer-info small{color:var(--muted);font-size:10px;font-weight:700}.apple-footer-info strong{overflow:hidden;color:var(--text);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.apple-footer-hours{grid-column:1/-1;min-height:46px}.apple-footer-status-dot{width:10px;height:10px;flex:0 0 10px;margin:0 10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 12%,transparent)}.apple-footer-status-dot.is-online{background:var(--green);box-shadow:0 0 0 5px color-mix(in srgb,var(--green) 13%,transparent)}.apple-footer-bottom{min-height:50px;display:grid;grid-template-columns:auto minmax(160px,1fr) auto;align-items:center;gap:18px;padding:10px 18px 10px 28px;border-top:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--panel2) 42%,transparent)}.apple-footer-bottom p{margin:0;font-size:11px}.apple-footer-copyright{color:var(--muted);white-space:nowrap}.apple-footer-address{min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--muted)}.apple-footer-address svg{width:13px;height:13px;flex:0 0 13px;fill:currentColor}.apple-footer-address span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apple-footer-socials.footer-socials{justify-self:end;display:flex;align-items:center;gap:6px;flex-wrap:nowrap;margin:0}.apple-footer-socials.footer-socials a{width:31px;height:31px;border-radius:10px;background:transparent;border-color:transparent;color:var(--muted)}.apple-footer-socials.footer-socials a:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 9%,var(--panel));color:var(--accent)}.apple-footer-socials.footer-socials svg{width:16px;height:16px}
@media(max-width:920px){.apple-footer-main{grid-template-columns:minmax(190px,.9fr) minmax(0,1.5fr);gap:20px}.apple-footer-nav{grid-column:1/-1;grid-row:2}.apple-footer-nav-links{display:flex;flex-wrap:wrap;gap:7px}.apple-footer-nav-links a{min-height:34px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel2) 64%,transparent)}.apple-footer-nav-links a:after{display:none}.apple-footer-bottom{grid-template-columns:auto 1fr auto}.apple-footer-address{justify-content:flex-start}}
@media(max-width:620px){.apple-site-footer.site-footer{padding:16px 12px 12px!important}.apple-footer-card{border-radius:22px}.apple-footer-main{display:grid;grid-template-columns:1fr;gap:16px;padding:18px 16px 16px}.apple-footer-brand{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:13px}.apple-footer-logo{width:118px;height:36px}.apple-footer-brand p{margin:0;font-size:11px;line-height:1.42}.apple-footer-nav{grid-column:auto;grid-row:auto}.apple-footer-label{margin-bottom:8px}.apple-footer-nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.apple-footer-nav-links a{justify-content:center;min-height:36px;padding:6px 8px;font-size:12px}.apple-footer-contact-grid{gap:7px}.apple-footer-info{min-height:49px;padding:8px 9px;border-radius:13px}.apple-footer-info-icon{width:28px;height:28px;flex-basis:28px}.apple-footer-info strong{font-size:11px}.apple-footer-hours{min-height:43px}.apple-footer-bottom{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;padding:11px 13px}.apple-footer-copyright{order:3;width:100%;text-align:center;white-space:normal}.apple-footer-address{order:1;max-width:100%;justify-content:center}.apple-footer-socials.footer-socials{order:2;justify-self:auto}.apple-footer-socials.footer-socials a{width:30px;height:30px}}
@media(max-width:390px){.apple-footer-brand{grid-template-columns:100px minmax(0,1fr)}.apple-footer-logo{width:100px}.apple-footer-contact-grid{grid-template-columns:1fr}.apple-footer-hours{grid-column:auto}.apple-footer-address{width:100%}}

/* Restaurant & Cafe v3.4.25 — professional contact and weekly-hours footer */
.professional-site-footer.site-footer{display:block!important;grid-template-columns:none!important;gap:0!important;margin:0;padding:30px clamp(16px,4vw,48px) 20px!important;border-top:1px solid var(--line);background:var(--bg);background:linear-gradient(180deg,var(--bg),var(--panel2));color:var(--text)}
.pro-footer-shell{width:min(1180px,100%);margin:0 auto}.pro-footer-card{overflow:hidden;border:1px solid var(--line);border-radius:28px;background:var(--panel);box-shadow:0 20px 55px rgba(0,0,0,.09)}
.pro-footer-content{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(290px,1.08fr) minmax(330px,1.12fr);align-items:start;gap:0}.pro-footer-intro,.pro-footer-contact,.pro-footer-opening{min-width:0;padding:30px}.pro-footer-contact,.pro-footer-opening{border-left:1px solid var(--line)}
.pro-footer-logo-link{display:inline-flex;max-width:100%;margin-bottom:18px}.pro-footer-logo{display:block;width:156px;max-width:100%;height:44px;object-fit:contain;object-position:left center}.pro-footer-intro h2,.pro-footer-section-heading h2{margin:0;color:var(--text);font-size:20px;line-height:1.2;letter-spacing:-.025em}.pro-footer-tagline{max-width:300px;margin:9px 0 20px;color:var(--muted);font-size:13px;line-height:1.6}
.pro-footer-live-status{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid var(--line);border-radius:16px;background:var(--panel2)}.pro-footer-live-dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 13%,transparent)}.pro-footer-live-status.is-open .pro-footer-live-dot{background:var(--green);box-shadow:0 0 0 5px color-mix(in srgb,var(--green) 13%,transparent)}.pro-footer-live-status>span:last-child{display:grid;gap:2px;min-width:0}.pro-footer-live-status small{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.pro-footer-live-status strong{color:var(--text);font-size:12px;line-height:1.35}
.pro-footer-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.pro-footer-links a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);color:var(--text);font-size:11px;font-weight:800;transition:transform .18s ease,border-color .18s ease,background .18s ease}.pro-footer-links a:hover{transform:translateY(-1px);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--panel))}
.pro-footer-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:18px}.pro-footer-eyebrow{display:block;margin-bottom:5px;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.pro-footer-contact-list{display:grid;gap:9px}.pro-footer-contact-item{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--panel2);color:var(--text);transition:transform .18s ease,border-color .18s ease,background .18s ease}.pro-footer-contact-item[href]:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 58%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.pro-footer-contact-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--accent) 11%,var(--panel));color:var(--accent)}.pro-footer-contact-icon svg{width:18px;height:18px;fill:currentColor}.pro-footer-contact-copy{min-width:0;display:grid;gap:3px}.pro-footer-contact-copy small{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.pro-footer-contact-copy strong{display:block;max-width:100%;color:var(--text);font-size:14px;font-weight:850;line-height:1.35;overflow-wrap:anywhere;word-break:normal}.pro-footer-contact-arrow{color:var(--accent);font-size:24px;line-height:1}.pro-footer-address-item{grid-template-columns:38px minmax(0,1fr)}
.pro-footer-social-block{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.pro-footer-social-block>span{color:var(--muted);font-size:11px;font-weight:800}.pro-footer-socials.footer-socials{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin:0}.pro-footer-socials.footer-socials a{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;background:var(--panel2);color:var(--text)}.pro-footer-socials.footer-socials a:hover{transform:translateY(-1px);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--panel));color:var(--accent)}.pro-footer-socials.footer-socials svg{width:16px;height:16px;fill:currentColor}
.pro-footer-hours-heading{align-items:center}.pro-footer-timezone{max-width:145px;padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);color:var(--muted);font-size:9px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pro-footer-hours-table{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--panel2)}.pro-footer-hours-row{display:grid;grid-template-columns:minmax(105px,.78fr) minmax(170px,1.22fr);align-items:center;gap:14px;min-height:42px;padding:8px 13px;border-top:1px solid var(--line)}.pro-footer-hours-row:first-child{border-top:0}.pro-footer-hours-row.is-today{background:color-mix(in srgb,var(--accent) 9%,var(--panel))}.pro-footer-day{display:flex;align-items:center;gap:7px;color:var(--text);font-size:12px;font-weight:800}.pro-footer-day small{padding:3px 6px;border-radius:999px;background:var(--accent);color:var(--accent-contrast,#fff);font-size:8px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.pro-footer-hours-value{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:var(--text);font-size:12px;font-weight:850;white-space:nowrap}.pro-footer-hours-value.is-closed{color:var(--muted)}
.pro-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 30px;border-top:1px solid var(--line);background:var(--panel2)}.pro-footer-bottom p{margin:0;color:var(--muted);font-size:10px;line-height:1.4}.pro-footer-bottom p:last-child{text-align:right}
@media(max-width:980px){.pro-footer-content{grid-template-columns:minmax(220px,.85fr) minmax(320px,1.15fr)}.pro-footer-opening{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}.pro-footer-hours-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pro-footer-hours-row:nth-child(2){border-top:0}.pro-footer-hours-row:nth-child(even){border-left:1px solid var(--line)}}
@media(max-width:680px){.professional-site-footer.site-footer{padding:18px 12px 12px!important}.pro-footer-card{border-radius:22px}.pro-footer-content{grid-template-columns:1fr}.pro-footer-intro,.pro-footer-contact,.pro-footer-opening{padding:22px 18px}.pro-footer-contact,.pro-footer-opening{border-left:0;border-top:1px solid var(--line)}.pro-footer-intro{text-align:center}.pro-footer-logo-link{margin:0 auto 13px}.pro-footer-logo{width:142px;height:40px;object-position:center}.pro-footer-tagline{margin:8px auto 16px}.pro-footer-links{justify-content:center}.pro-footer-live-status{text-align:left}.pro-footer-section-heading{align-items:center}.pro-footer-contact-copy strong{font-size:15px}.pro-footer-hours-table{display:block}.pro-footer-hours-row,.pro-footer-hours-row:nth-child(2){border-top:1px solid var(--line)}.pro-footer-hours-row:first-child{border-top:0}.pro-footer-hours-row:nth-child(even){border-left:0}.pro-footer-bottom{display:grid;justify-items:center;gap:5px;padding:12px 18px;text-align:center}.pro-footer-bottom p:last-child{text-align:center}}
@media(max-width:390px){.pro-footer-intro,.pro-footer-contact,.pro-footer-opening{padding:20px 14px}.pro-footer-section-heading h2,.pro-footer-intro h2{font-size:18px}.pro-footer-contact-item{grid-template-columns:36px minmax(0,1fr) auto;padding:11px 10px}.pro-footer-address-item{grid-template-columns:36px minmax(0,1fr)}.pro-footer-contact-icon{width:36px;height:36px}.pro-footer-hours-row{grid-template-columns:minmax(84px,.72fr) minmax(0,1.28fr);gap:8px;padding:8px 10px}.pro-footer-day,.pro-footer-hours-value{font-size:11px}.pro-footer-hours-value{gap:4px}.pro-footer-timezone{max-width:115px}.pro-footer-social-block{align-items:flex-start;flex-direction:column}.pro-footer-socials.footer-socials{justify-content:flex-start}}
