/* Zaułek Piękna – interaktywny frontend DEMO (v8). */
:root {color-scheme:light; --navy:#0e2241;--blue:#1769e8;--green:#25805c;--ink:#10284c;--muted:#48617f;--line:#d6e3f1;}
*{box-sizing:border-box}
html{min-height:100%;font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-tap-highlight-color:transparent}
body{margin:0;color:var(--ink);min-height:100dvh;background:#cbdcf2}
button{font:inherit;cursor:pointer}
button:focus-visible{outline:3px solid #e8a938;outline-offset:3px}
[hidden]{display:none!important}
.scene{position:fixed;inset:0;z-index:-2;background-image:linear-gradient(90deg,rgba(222,236,255,.90),rgba(220,234,255,.41) 50%,rgba(210,226,248,.52)),url('assets/budynek.png');background-size:cover,auto 110%;background-position:center,53% 8%;background-repeat:no-repeat}
.scene:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(232,242,255,.2),transparent 40%,rgba(22,47,85,.12))}
.shell{max-width:1800px;margin:0 auto;padding:clamp(10px,1.7vw,24px) clamp(16px,3.4vw,52px) 12px;display:flex;flex-direction:column;min-height:100dvh}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px}
.brand{display:flex;align-items:center;gap:13px;min-width:0}
.brand-icon{width:46px;height:46px;display:grid;place-items:center;flex:none}
.brand-icon svg{width:100%;height:100%}
.brand-label{display:grid;gap:3px}
.brand-label strong{font-size:clamp(14px,1.22vw,21px);font-weight:900;letter-spacing:1.3px;color:#081a35;text-shadow:0 1px 5px #fff}
.brand-label span{font-size:13px;color:#314965;font-weight:700}
.header-right{display:flex;align-items:center;gap:20px}
.demobadge{background:rgba(255,255,255,.8);border:1px solid #fff;border-radius:30px;padding:9px 14px;white-space:nowrap;display:flex;gap:8px;align-items:center;color:#204d89;font-weight:900;font-size:11px;letter-spacing:1px}
.demodot{height:8px;width:8px;border-radius:50%;background:#329d70;box-shadow:0 0 0 3px #d1f1e0}
.datetime{display:grid;text-align:right;gap:2px}
.datetime span{font-size:13px;color:#314866;font-weight:650}
.datetime strong{font-size:27px;color:#102343;line-height:1}
main{width:100%;min-width:0}
.intro{padding:clamp(15px,2.1vh,24px) 0 clamp(16px,2vh,22px)}
.intro-overline{display:flex;align-items:center;gap:11px;font-size:clamp(12px,.87vw,14px);font-weight:900;letter-spacing:2px;color:#164078;text-shadow:0 1px 7px #fff}
.dotline{width:24px;height:3px;border-radius:9px;background:#2171ea}
.intro h1{font-size:clamp(39px,4vw,66px);line-height:1.1;font-weight:900;letter-spacing:-1.7px;margin:12px 0 7px;color:#071a38;text-shadow:0 2px 12px rgba(255,255,255,.85)}
.intro p{font-size:clamp(19px,1.55vw,27px);font-weight:850;line-height:1.3;margin:0;color:#122e54;text-shadow:0 1px 7px #fff}
.workspace{width:100%;display:block;min-height:0}
.selection-column{width:100%;display:flex;flex-direction:column;gap:12px;min-width:0}
.panel{border:1px solid rgba(255,255,255,.86);background:rgba(251,253,255,.92);border-radius:24px;box-shadow:0 16px 40px rgba(15,50,100,.15);backdrop-filter:blur(14px)}
.selection{padding:clamp(18px,1.8vw,30px);width:100%}
.stephead{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.step{background:#132b4e;color:white;border-radius:50%;width:46px;height:46px;flex:none;display:grid;place-items:center}
.step svg{width:25px;height:25px}
.stephead h2{font-size:clamp(22px,1.7vw,28px);margin:0 0 4px;font-weight:900;line-height:1.2}
.stephead p{font-size:14px;font-weight:700;color:#3f5772;margin:0}
.tenants{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.option{display:flex;align-items:center;gap:12px;min-width:0;min-height:66px;padding:0 15px;border:1px solid #d8e2f0;border-radius:14px;background:rgba(255,255,255,.84);font-size:clamp(15px,1.08vw,19px);font-weight:780;color:#172c4b;text-align:left;transition:background .15s,border-color .15s}
.option:hover{background:#f8fbff;border-color:#91b9f0}
.option.selected{background:#e1edff;border-color:#83aff0}
.option:disabled{cursor:default}
.fakecheck{display:grid;place-items:center;width:24px;height:24px;flex:none;background:#fff;border:2px solid #b3c4d7;border-radius:6px;color:#fff;font-weight:900}
.selected .fakecheck{background:#1466e3;border-color:#1466e3}
.confirm-btn{width:100%;min-height:65px;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;background:linear-gradient(115deg,#126cf0,#1056c9);border:0;border-radius:12px;color:white;font-size:clamp(17px,1.5vw,23px);font-weight:900;box-shadow:0 7px 18px rgba(13,97,220,.2)}
.confirm-btn:hover{filter:brightness(.98)}
.checkmark{font-size:27px}
.button-arrow{margin-left:auto;padding:0 16px;font-size:28px}
.confirm-btn .checkmark{margin-left:auto}
.error{margin:10px 0 0;border:1px solid #f2a9b4;border-radius:9px;background:#fff0f2;color:#b82a48;padding:10px;font-size:14px;font-weight:750}
.secondary-btn{width:100%;padding:12px;color:#1958aa;font-weight:850;border:1px solid #bbd2f3;background:#eaf2ff;border-radius:12px;margin-top:12px}
.thanks-slot{height:76px;min-height:76px;width:100%}
.thanks-inline{margin:0!important;max-width:100%;width:100%;padding:15px 18px;border:1px solid #a8dec0;border-radius:12px;background:rgba(223,249,233,.98);box-shadow:0 8px 23px rgba(15,74,47,.14);font-weight:900;font-size:clamp(14px,1vw,18px);color:#145d3f;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}
.thanks-inline.is-visible{opacity:1;visibility:visible}
.rightstage{display:none;min-width:0;width:100%}
body.ticket-mode .intro,body.ticket-mode .selection-column{display:none}
body.ticket-mode .rightstage{display:block}
.ticketstage{display:flex;flex-direction:column;gap:12px;min-height:0;height:auto}
.ticketstage-heading{background:rgba(251,253,255,.91);border:1px solid rgba(255,255,255,.85);border-radius:17px;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 7px 24px rgba(23,51,83,.10)}
.ticketstage-heading h2{font-size:clamp(21px,2vw,31px);margin:3px 0 4px;color:#0c2241;font-weight:900}
.ticketstage-heading p:last-child{font-size:14px;color:#50627d;margin:0}
.success-kicker{font-weight:850;letter-spacing:1px;font-size:13px;color:#23805a;margin:0}
.ticket-back{flex:none;border:1px solid #c5d7ee;border-radius:11px;background:#edf5ff;color:#18519c;font-size:14px;font-weight:850;padding:10px 16px}
.ticket-timeout{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:10px 14px;background:rgba(240,247,255,.96);border:1px solid #c5d9f4;border-radius:12px;color:#26496f;font-weight:750;font-size:14px}
.ticket-timeout .timeout-icon{font-size:21px;color:#1460cd}
.ticket-timeout strong{color:#0c56c6;font-size:17px}
.timeout-bar{height:5px;flex:1 1 100px;border-radius:99px;background:#dce7f7;overflow:hidden}
.timeout-bar span{display:block;width:100%;height:100%;background:#1970eb;transition:width .2s linear}
.delivery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.delivery{display:flex;flex-direction:column;min-width:0;min-height:420px;padding:clamp(14px,1.5vw,24px);border:1px solid #d0e3fe;border-radius:18px;background:rgba(247,251,255,.93);box-shadow:0 14px 30px rgba(15,43,78,.13);color:var(--ink)}
.delivery-print{cursor:pointer;text-align:left}
.delivery-print:hover{background:rgba(250,253,255,.98)}
.delivery-eco{background:rgba(246,255,249,.95);border-color:#b9e5d0}
.delivery-title{display:flex;align-items:center;gap:11px}
.delivery-icon{display:grid;place-items:center;flex:none;width:47px;height:47px;border-radius:12px;background:#dfeeff;color:#1763d1}
.delivery-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.icon-green{background:#def6e7;color:#29875a}
.delivery-title div{display:grid;gap:4px}
.delivery-title strong{font-size:clamp(16px,1.4vw,23px);font-weight:900;line-height:1.2}
.delivery-title div>span{font-size:13px;color:#50627d}
.printer-illustration{position:relative;display:grid;place-items:center;height:220px;width:min(100%,320px);margin:24px auto 16px}
.printer-body{position:absolute;top:71px;width:76%;height:108px;background:linear-gradient(150deg,#404c58,#151c27 87%);border-radius:14px 14px 23px 23px;box-shadow:0 14px 18px rgba(0,0,0,.19);z-index:2}
.printer-body:after{content:"";position:absolute;top:67px;left:12%;right:12%;height:7px;background:#0e131b;border-radius:5px}
.printer-led{position:absolute;right:22px;top:18px;width:9px;height:9px;border-radius:50%;background:#36c487;box-shadow:0 0 0 3px #24463d}
.printer-slot{position:absolute;top:70px;left:12%;right:12%;height:5px;background:#080b11;border-radius:9px}
.printer-paper-top{position:absolute;top:28px;width:48%;height:64px;background:#fff;box-shadow:0 -4px 7px #dbe4ee;z-index:1}
.printer-page{position:absolute;top:145px;z-index:3;width:43%;height:96px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 2px;background:#fff;box-shadow:0 8px 14px #bac7d2;overflow:hidden}
.printer-page>span{font-size:7px;font-weight:900;color:#1c2840;white-space:nowrap}
.paper-qr{height:48px;width:48px;display:grid;place-items:center}
.paper-qr svg{height:100%;width:100%}
.qr-container{display:grid;justify-items:center;align-content:center;gap:8px;flex:1;padding:14px 0}
.qr-canvas{width:min(100%,225px);aspect-ratio:1;display:grid;place-items:center;background:white;border:1px solid #dfe6ed;border-radius:14px;padding:10px;box-shadow:0 9px 17px rgba(7,30,60,.08)}
.qr-canvas svg{width:100%;height:100%}
.qr-caption{font-size:15px;font-weight:850;color:#256849;text-align:center}
.eco-banner{display:flex;align-items:center;justify-content:center;gap:10px;background:#dcf6e7;color:#226b46;padding:10px;border-radius:10px;margin-bottom:12px}
.eco-banner .leaf{font-size:27px}
.eco-banner span:last-child{display:grid;gap:2px}
.eco-banner b{font-size:14px}
.eco-banner small{font-size:12px}
.delivery-action{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:auto;padding:13px 16px;background:#e4efff;color:#1258bf;border:0;border-radius:11px;font-weight:900;font-size:clamp(15px,1.2vw,20px);min-height:55px;text-align:left}
.delivery-action>span:last-child{font-size:24px}
.eco-action{background:#d4f2df;color:#20714d;width:100%;cursor:pointer}
.eco-action:hover{background:#c4ead3}
.ticket-hint{position:static;display:block;flex:none;width:100%;margin:0;padding:11px 14px;border:1px solid rgba(255,255,255,.82);border-radius:10px;background:rgba(247,250,255,.88);color:#254261;font-size:clamp(12px,1vw,14px);font-weight:720;line-height:1.35;pointer-events:none}
.ticket-hint span{font-weight:900;margin-right:6px}
footer{margin-top:auto;display:flex;justify-content:space-between;gap:12px;padding:12px 0 3px;color:#1b3358;font-size:12px;font-weight:700;text-shadow:0 1px 6px #fff}
.footer-divider,footer b{color:#7090b0;padding:0 4px}
@media (max-width:1050px){.tenants{grid-template-columns:repeat(3,minmax(0,1fr))}.option{min-height:55px}}
@media (max-width:700px){
 .shell{padding:10px 12px 12px}.topbar{min-height:48px}.brand-icon{width:38px;height:38px}.brand-label strong{font-size:14px}.brand-label span{font-size:11px}.demobadge{display:none}.header-right{gap:8px}.datetime span{font-size:10px}.datetime strong{font-size:21px}
 .intro{padding:18px 0 16px}.intro-overline{font-size:11px;letter-spacing:1.4px}.intro h1{font-size:clamp(38px,8vw,48px);margin:9px 0 8px}.intro p{font-size:clamp(17px,3.6vw,20px);line-height:1.35}
 .selection{padding:17px 15px;border-radius:21px}.step{width:38px;height:38px}.stephead{margin-bottom:13px;gap:10px}.stephead h2{font-size:22px}.stephead p{font-size:12px}
 .tenants{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.option{min-height:49px;padding:0 8px;font-size:clamp(13px,3.2vw,16px);gap:7px;border-radius:11px}.fakecheck{width:21px;height:21px}
 .confirm-btn{min-height:54px;font-size:18px;margin-top:14px}.button-arrow{padding-right:12px}.thanks-slot{height:77px;min-height:77px}.thanks-inline{padding:12px;font-size:13px}
 body.ticket-mode .shell{padding-top:9px}.ticketstage{gap:9px}.ticketstage-heading{padding:12px 13px;border-radius:13px;gap:8px}.ticketstage-heading h2{font-size:clamp(17px,4vw,24px);margin:4px 0}.ticketstage-heading p:last-child{font-size:12px}.success-kicker{font-size:10px}.ticket-back{font-size:12px;padding:8px}
 .ticket-timeout{font-size:11px;padding:8px 10px;gap:5px}.ticket-timeout .timeout-icon{font-size:17px}.ticket-timeout strong{font-size:14px}.timeout-bar{flex:1 1 100%;height:4px}
 .delivery-grid{gap:9px}.delivery{padding:11px;min-height:340px;border-radius:15px}.delivery-title{align-items:flex-start;gap:6px}.delivery-icon{width:35px;height:35px}.delivery-icon svg{width:21px;height:21px}.delivery-title strong{font-size:clamp(13px,3.2vw,18px)}.delivery-title div>span{font-size:10px;line-height:1.2}
 .printer-illustration{height:166px;margin:10px auto 10px}.printer-paper-top{top:18px;height:46px}.printer-body{top:56px;height:75px}.printer-body:after{top:53px}.printer-slot{top:53px}.printer-page{top:107px;height:68px}.printer-page>span{display:none}.paper-qr{width:42px;height:42px}
 .qr-container{padding:9px 0;gap:5px}.qr-canvas{width:min(100%,150px);padding:6px}.qr-caption{font-size:11px}.eco-banner{display:none}.delivery-action{padding:10px 7px;min-height:48px;font-size:clamp(11px,3vw,15px);gap:4px}.delivery-action>span:last-child{font-size:20px}.ticket-hint{font-size:11px;padding:8px 10px}footer{font-size:10px;flex-wrap:wrap;gap:5px}
}
@media (max-width:370px){.brand-label strong{font-size:12px}.brand-label span{font-size:10px}.datetime span{font-size:9px}.option{font-size:12px;min-height:46px}.selection{padding:13px}.ticketstage-heading p:last-child{display:none}.qr-canvas{width:min(100%,130px)}.delivery{min-height:320px}}
@media (orientation:landscape) and (max-height:540px) and (max-width:1100px){
 .shell{padding:4px 12px}.topbar{min-height:31px}.brand-icon{height:28px;width:28px}.brand-label span,.demobadge{display:none}.brand-label strong{font-size:13px}.datetime{display:flex;align-items:center;gap:6px}.datetime strong{font-size:15px}.datetime span{font-size:10px}
 .intro{padding:5px 0 8px}.intro-overline{display:none}.intro h1{display:inline;font-size:27px;line-height:1.2;margin-right:12px}.intro p{display:inline;font-size:14px}
 .selection{padding:10px 12px}.step{width:29px;height:29px}.step svg{width:21px;height:21px}.stephead{margin-bottom:8px}.stephead h2{font-size:18px}.stephead p{display:none}
 .tenants{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.option{min-height:39px;font-size:12px;padding:0 8px}.fakecheck{width:18px;height:18px}
 .confirm-btn{min-height:43px;font-size:16px;margin-top:9px}.checkmark{font-size:21px}.thanks-slot{height:47px;min-height:47px}.thanks-inline{padding:8px 11px;font-size:12px}footer{display:none}
 .ticketstage{gap:6px}.ticketstage-heading{padding:7px 12px}.ticketstage-heading h2{font-size:18px;margin:0}.ticketstage-heading p:last-child{display:none}.ticket-back{padding:6px 8px}
 .ticket-timeout{padding:4px 9px;font-size:10px;gap:4px}.ticket-timeout .timeout-icon{font-size:14px}.ticket-timeout strong{font-size:11px}.timeout-bar{flex-basis:80px;height:3px}
 .delivery{padding:7px 10px;min-height:179px;border-radius:12px}.delivery-title strong{font-size:14px}.delivery-title div>span{font-size:10px}.delivery-icon{width:30px;height:30px}.delivery-icon svg{width:18px;height:18px}
 .printer-illustration{height:108px;margin:0 auto}.printer-paper-top{top:7px;height:31px}.printer-body{top:30px;height:53px}.printer-body:after{top:38px;height:4px}.printer-slot{top:38px;height:4px}.printer-led{top:10px;right:12px;width:6px;height:6px}.printer-page{top:69px;height:44px;width:36%;padding:1px}.paper-qr{width:36px;height:36px}
 .qr-container{padding:2px 0}.qr-canvas{width:98px;padding:4px}.qr-caption{font-size:10px}.delivery-action{min-height:32px;padding:5px 8px;font-size:12px}.ticket-hint{padding:5px 8px;font-size:10px}
}
@media (max-height:630px) and (min-width:1101px){.intro{padding:7px 0}.intro h1{font-size:43px}.option{min-height:48px}.selection{padding:13px}.stephead{margin-bottom:10px}.confirm-btn{min-height:48px}.delivery{min-height:280px}.printer-illustration{height:150px}.printer-body{top:46px;height:80px}.printer-page{top:110px;height:60px}.qr-canvas{width:140px}.eco-banner{display:none}}
@media print { body{background:white}.scene{display:none} }
