/* V2-131-R2: izolacja podglądu PWA v0.3.
   Cel: wyciąć konflikt ze starym layoutem/menu, jeżeli serwer lub cache wstrzyknie elementy starego klienta. */
html, body { margin: 0 !important; min-height: 100% !important; background: #06050d !important; overflow-x: hidden !important; }
body.imprezomat-pwa-v03-isolated { padding: 0 !important; color: #fff !important; }
body.imprezomat-pwa-v03-isolated > :not(#imprezomat-pwa-v03):not(script):not(style):not(link):not(noscript) { display: none !important; visibility: hidden !important; pointer-events: none !important; }
body.imprezomat-pwa-v03-isolated #imprezomat-pwa-v03 { display: block !important; visibility: visible !important; position: relative !important; z-index: 1 !important; isolation: isolate !important; }
#imprezomat-pwa-v03, #imprezomat-pwa-v03 * { box-sizing: border-box !important; }
#imprezomat-pwa-v03 a, #imprezomat-pwa-v03 button, #imprezomat-pwa-v03 input { font: inherit; }
#imprezomat-pwa-v03 .legacy-nav,
#imprezomat-pwa-v03 .old-nav,
#imprezomat-pwa-v03 .main-bottom-nav,
#imprezomat-pwa-v03 .client-bottom-nav { display: none !important; }

:root{
  --ipwa-bg:#070611;
  --ipwa-panel:rgba(17,18,34,.82);
  --ipwa-panel-2:rgba(25,25,45,.92);
  --ipwa-border:rgba(255,255,255,.12);
  --ipwa-text:#f7f2ff;
  --ipwa-muted:#b9accf;
  --ipwa-pink:#ff2fb2;
  --ipwa-violet:#8738ff;
  --ipwa-cyan:#28e6ff;
  --ipwa-green:#45ff9a;
  --ipwa-yellow:#ffd34d;
  --ipwa-red:#ff4e70;
  --ipwa-shadow:0 22px 80px rgba(0,0,0,.55);
  --ipwa-radius:24px;
  --ipwa-bottom:82px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#05040c;color:var(--ipwa-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
body{overflow-x:hidden}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
.ipwa{position:relative;min-height:100svh;max-width:480px;margin:0 auto;background:radial-gradient(circle at 15% 5%,rgba(255,47,178,.23),transparent 34%),radial-gradient(circle at 85% 18%,rgba(40,230,255,.16),transparent 28%),linear-gradient(180deg,#0b0918 0%,#05040c 100%);overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.ipwa-bg{position:fixed;inset:0;max-width:480px;margin:0 auto;pointer-events:none;background:linear-gradient(transparent 0 65%,rgba(255,47,178,.06)),radial-gradient(circle at 50% 78%,rgba(135,56,255,.18),transparent 36%);z-index:0}
.ipwa-bg:before{content:"";position:absolute;inset:auto -18% 0;height:230px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.42)),repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 42px);clip-path:polygon(0 42%,6% 42%,6% 28%,10% 28%,10% 47%,16% 47%,16% 18%,22% 18%,22% 39%,28% 39%,28% 25%,35% 25%,35% 50%,42% 50%,42% 15%,49% 15%,49% 44%,56% 44%,56% 20%,62% 20%,62% 48%,70% 48%,70% 24%,77% 24%,77% 41%,84% 41%,84% 13%,90% 13%,90% 45%,100% 45%,100% 100%,0 100%);opacity:.55}
.ipwa-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 14px) 16px 10px;background:linear-gradient(180deg,rgba(6,5,13,.92),rgba(6,5,13,.62) 72%,transparent);backdrop-filter:blur(16px)}
.ipwa-brand{display:flex;align-items:center;gap:9px;font-weight:900;letter-spacing:.02em;text-transform:uppercase}
.ipwa-logo,.ipwa-hero-logo{display:inline-grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--ipwa-pink),var(--ipwa-violet));box-shadow:0 0 22px rgba(255,47,178,.42)}
.ipwa-logo{width:28px;height:28px;border-radius:10px;font-size:18px}.ipwa-hero-logo{width:96px;height:96px;border-radius:34px;font-size:56px;margin:0 auto 24px;transform:rotate(-8deg)}
.ipwa-icon-btn{border:1px solid var(--ipwa-border);background:rgba(255,255,255,.05);width:42px;height:42px;border-radius:15px;display:grid;place-items:center;color:var(--ipwa-text)}
.ipwa-back{visibility:hidden;font-size:26px}.ipwa[data-screen="onboarding"] .ipwa-back,.ipwa[data-screen="city"] .ipwa-back,.ipwa[data-screen="details"] .ipwa-back,.ipwa[data-screen="match"] .ipwa-back,.ipwa[data-screen="types"] .ipwa-back,.ipwa[data-screen="themes"] .ipwa-back{visibility:visible}
.ipwa-shell{position:relative;z-index:1;padding:8px 16px calc(var(--ipwa-bottom) + env(safe-area-inset-bottom,0px) + 22px)}
.ipwa-screen{display:none;animation:ipwaIn .22s ease-out}.ipwa-screen.is-active{display:block}@keyframes ipwaIn{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}
.ipwa-screen-splash{min-height:calc(100svh - 190px);display:none;text-align:center;align-content:center}.ipwa-screen-splash.is-active{display:grid}.ipwa-screen-splash h1{font-size:42px;letter-spacing:.04em;text-transform:uppercase;margin:0}.ipwa-screen-splash p{font-size:15px;text-transform:uppercase;color:#ffd6fa;letter-spacing:.12em;margin:8px 0 30px}
.ipwa-section-head{margin:10px 0 18px}.ipwa-section-head h1,.ipwa-start-head h1,.ipwa-results-head h1{font-size:28px;line-height:1.08;margin:5px 0 8px;letter-spacing:-.035em}.ipwa-section-head p{margin:0;color:var(--ipwa-muted);line-height:1.45}.ipwa-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--ipwa-cyan)!important;font-weight:800}.ipwa-start-head h1{font-size:34px}.ipwa-start-head{padding:8px 0 4px}
.ipwa-city-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}.ipwa-city{border:1px solid var(--ipwa-border);border-radius:999px;background:rgba(255,255,255,.05);padding:9px 12px;display:flex;gap:8px;align-items:center;font-weight:800}.ipwa-city small{color:var(--ipwa-pink);font-size:11px}.ipwa-fit-badge{border:1px solid rgba(40,230,255,.25);background:rgba(40,230,255,.08);color:#d9fbff;border-radius:999px;padding:8px 11px;font-size:12px;white-space:nowrap}
.ipwa-primary,.ipwa-secondary,.ipwa-link-btn{width:100%;border:0;border-radius:18px;padding:15px 16px;font-weight:900;letter-spacing:.01em}.ipwa-primary{background:linear-gradient(135deg,var(--ipwa-pink),var(--ipwa-violet));box-shadow:0 14px 36px rgba(255,47,178,.22)}.ipwa-secondary{background:rgba(135,56,255,.12);border:1px solid rgba(135,56,255,.55);margin-top:12px}.ipwa-link-btn{background:transparent;color:var(--ipwa-muted);font-weight:800;margin-top:8px}
.ipwa-choice-list{display:grid;gap:10px;margin:14px 0 18px}.ipwa-choice{display:flex;align-items:center;gap:13px;text-align:left;width:100%;padding:14px;border:1px solid var(--ipwa-border);border-radius:18px;background:rgba(255,255,255,.055)}.ipwa-choice.is-active{border-color:var(--accent,var(--ipwa-pink));box-shadow:0 0 0 1px var(--accent,var(--ipwa-pink)),0 0 30px rgba(255,47,178,.16)}.ipwa-choice span:first-child{font-weight:900;font-size:20px;color:var(--accent,var(--ipwa-pink));min-width:45px}.ipwa-choice b{display:block}.ipwa-choice small{display:block;color:var(--ipwa-muted);margin-top:2px}.ipwa-choice .check{margin-left:auto;color:var(--accent,var(--ipwa-pink));font-weight:900}
.ipwa-search{display:flex;align-items:center;gap:10px;border:1px solid var(--ipwa-border);border-radius:16px;padding:12px;background:rgba(255,255,255,.055);margin:12px 0}.ipwa-search input{flex:1;border:0;background:transparent;outline:0}
.ipwa-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ipwa-quick-grid button{min-height:86px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-weight:900;font-size:12px;text-align:center}.ipwa-quick-grid button:nth-child(1),.ipwa-quick-grid button:nth-child(5){border-color:rgba(255,47,178,.52);box-shadow:inset 0 0 22px rgba(255,47,178,.08)}.ipwa-quick-grid button:nth-child(2),.ipwa-quick-grid button:nth-child(9){border-color:rgba(40,230,255,.42);box-shadow:inset 0 0 22px rgba(40,230,255,.07)}.ipwa-quick-grid button:nth-child(6),.ipwa-quick-grid button:nth-child(4){border-color:rgba(69,255,154,.45);box-shadow:inset 0 0 22px rgba(69,255,154,.07)}.ipwa-quick-grid span{font-size:24px}.ipwa-teaser{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding:14px;border:1px solid rgba(255,47,178,.3);border-radius:22px;background:linear-gradient(135deg,rgba(255,47,178,.18),rgba(40,230,255,.08));box-shadow:var(--ipwa-shadow)}.ipwa-teaser strong,.ipwa-teaser small{display:block}.ipwa-mini-label{display:inline-block;margin-bottom:4px;font-size:11px;color:var(--ipwa-cyan);font-weight:900;text-transform:uppercase;letter-spacing:.12em}.ipwa-teaser small{color:var(--ipwa-muted);margin-top:3px}.ipwa-teaser>span{font-size:30px;color:var(--ipwa-pink)}
.ipwa-results-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:6px 0 12px}.ipwa-results-head h1{margin:0}.ipwa-toggle{display:flex;gap:4px;border:1px solid var(--ipwa-border);background:rgba(255,255,255,.055);border-radius:14px;padding:4px}.ipwa-toggle button{border:0;background:transparent;border-radius:10px;padding:8px 10px;color:var(--ipwa-muted);font-weight:800}.ipwa-toggle button.is-active{background:linear-gradient(135deg,var(--ipwa-pink),var(--ipwa-violet));color:#fff}.ipwa-active-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:6px}.ipwa-active-chips span,.ipwa-active-chips button{border:1px solid var(--ipwa-border);background:rgba(255,255,255,.055);color:var(--ipwa-text);border-radius:999px;padding:8px 10px;font-size:12px;white-space:nowrap}.ipwa-active-chips button{color:var(--ipwa-cyan)}
.ipwa-offer-list{display:grid;gap:12px}.ipwa-offer-card{display:grid;grid-template-columns:98px 1fr;gap:12px;padding:10px;border:1px solid var(--ipwa-border);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));box-shadow:0 18px 45px rgba(0,0,0,.25)}.ipwa-offer-art{min-height:118px;border-radius:17px;background:radial-gradient(circle at 25% 20%,rgba(255,255,255,.2),transparent 20%),linear-gradient(135deg,#21134a,#b11979 55%,#ff8c2d);position:relative;overflow:hidden}.ipwa-offer-art:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.62)),repeating-linear-gradient(90deg,transparent 0 16px,rgba(255,255,255,.05) 16px 17px);opacity:.75}.ipwa-offer-content{min-width:0}.ipwa-badge-row{display:flex;gap:6px;flex-wrap:wrap}.ipwa-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:5px 7px;font-size:10px;font-weight:1000;letter-spacing:.04em;text-transform:uppercase;background:rgba(255,47,178,.16);color:#ffd4f4;border:1px solid rgba(255,47,178,.34)}.ipwa-badge.green{background:rgba(69,255,154,.13);color:#cbffdf;border-color:rgba(69,255,154,.32)}.ipwa-badge.yellow{background:rgba(255,211,77,.13);color:#ffedb0;border-color:rgba(255,211,77,.28)}.ipwa-offer-card h2{font-size:17px;line-height:1.08;margin:8px 0 2px;letter-spacing:-.02em}.ipwa-offer-card p{margin:0;color:#fff}.ipwa-offer-card small{display:block;color:var(--ipwa-muted);line-height:1.35}.ipwa-offer-actions{display:flex;gap:8px;margin-top:10px}.ipwa-offer-actions button{border:0;border-radius:12px;padding:9px 10px;font-weight:900;font-size:12px}.ipwa-offer-actions button:first-child{background:rgba(255,255,255,.08)}.ipwa-offer-actions button:last-child{background:linear-gradient(135deg,var(--ipwa-pink),var(--ipwa-violet));flex:1}.ipwa-heart{position:absolute;right:8px;top:8px;width:30px;height:30px;border-radius:999px;background:rgba(0,0,0,.45);display:grid;place-items:center;color:#fff}.ipwa-card-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.ipwa-card-meta span{font-size:11px;color:var(--ipwa-muted);background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:4px 6px}
.ipwa-map-view{display:grid;gap:12px}.ipwa-map-canvas{position:relative;height:430px;border-radius:26px;border:1px solid var(--ipwa-border);overflow:hidden;background:radial-gradient(circle at 30% 30%,rgba(40,230,255,.12),transparent 25%),linear-gradient(135deg,#0b1020,#11101d);box-shadow:var(--ipwa-shadow)}.ipwa-map-canvas:before{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(30deg,transparent 0 38px,rgba(255,255,255,.045) 39px 42px),repeating-linear-gradient(116deg,transparent 0 54px,rgba(255,255,255,.035) 55px 58px);opacity:.9}.ipwa-map-label{position:absolute;left:18px;top:18px;padding:8px 10px;border:1px solid rgba(40,230,255,.25);border-radius:999px;background:rgba(0,0,0,.38);color:#dffaff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.pin{position:absolute;color:var(--ipwa-pink);font-size:34px;text-shadow:0 0 24px rgba(255,47,178,.95)}.p1{left:21%;top:34%}.p2{left:62%;top:22%}.p3{left:47%;top:58%}.p4{left:74%;top:70%}.ipwa-map-card{border:1px solid var(--ipwa-border);border-radius:22px;background:var(--ipwa-panel-2);padding:14px;box-shadow:var(--ipwa-shadow)}
.ipwa-detail{border-radius:28px;overflow:hidden;border:1px solid var(--ipwa-border);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));box-shadow:var(--ipwa-shadow);margin-bottom:12px}.ipwa-detail-hero{height:235px;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.26),transparent 20%),linear-gradient(135deg,#14213f,#aa1e80 60%,#ff9e31);position:relative}.ipwa-detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(5,4,12,.94));}.ipwa-detail-body{padding:18px}.ipwa-detail h1{margin:8px 0 4px;font-size:30px;line-height:1.03;letter-spacing:-.045em}.ipwa-detail h2{font-size:16px;margin:0;color:#fff}.ipwa-detail p{color:var(--ipwa-muted);line-height:1.48}.ipwa-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:14px 0}.ipwa-info-grid div{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);border-radius:16px;padding:11px}.ipwa-info-grid small{display:block;color:var(--ipwa-muted);font-size:11px}.ipwa-info-grid b{display:block;margin-top:3px}.ipwa-detail-actions{position:sticky;bottom:calc(var(--ipwa-bottom) + env(safe-area-inset-bottom,0px) + 8px);display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;z-index:5}.ipwa-detail-actions button{border:0;border-radius:16px;padding:14px 10px;font-weight:1000}.ipwa-detail-actions button:first-child{background:rgba(40,230,255,.14);border:1px solid rgba(40,230,255,.3)}.ipwa-detail-actions button:last-child{background:linear-gradient(135deg,var(--ipwa-pink),var(--ipwa-violet))}.ipwa-link-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.ipwa-link-list a{color:#fff;text-decoration:none;border:1px solid var(--ipwa-border);border-radius:14px;padding:11px;background:rgba(255,255,255,.055);font-weight:800}.ipwa-mini-map{height:120px;border-radius:18px;background:linear-gradient(135deg,#10182a,#090a12);border:1px solid var(--ipwa-border);display:grid;place-items:center;color:var(--ipwa-cyan);margin-top:12px}
.ipwa-plan-empty{text-align:center;border:1px solid var(--ipwa-border);border-radius:28px;background:rgba(255,255,255,.05);padding:44px 22px;box-shadow:var(--ipwa-shadow)}.ipwa-empty-icon{font-size:64px;color:var(--ipwa-pink);text-shadow:0 0 28px rgba(255,47,178,.6)}.ipwa-plan-empty h2{margin:10px 0 4px}.ipwa-plan-empty p{color:var(--ipwa-muted)}.ipwa-plan-list{display:grid;gap:12px}.ipwa-plan-item{display:grid;grid-template-columns:36px 1fr 24px;gap:10px;align-items:center;border:1px solid var(--ipwa-border);border-radius:20px;background:rgba(255,255,255,.055);padding:12px}.ipwa-plan-index{width:32px;height:32px;border-radius:999px;background:linear-gradient(135deg,var(--ipwa-pink),var(--ipwa-violet));display:grid;place-items:center;font-weight:1000}.ipwa-plan-item b,.ipwa-plan-item small{display:block}.ipwa-plan-item small{color:var(--ipwa-muted);margin-top:3px}.ipwa-plan-route{margin-top:14px}.ipwa-plan-handle{color:var(--ipwa-muted)}
.ipwa-settings-list{display:grid;gap:9px}.ipwa-settings-list button,.ipwa-setting-row,.ipwa-setting-slider{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--ipwa-border);border-radius:17px;background:rgba(255,255,255,.055);padding:14px;text-align:left}.ipwa-settings-list button b{color:var(--ipwa-muted);font-size:12px}.ipwa-setting-row input{accent-color:var(--ipwa-pink);width:42px;height:24px}.ipwa-setting-slider{display:block}.ipwa-setting-slider span{display:flex;justify-content:space-between;margin-bottom:10px}.ipwa-setting-slider input{width:100%;accent-color:var(--ipwa-pink)}
.ipwa-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0 18px}.ipwa-type-grid label{border:1px solid var(--ipwa-border);border-radius:18px;background:rgba(255,255,255,.055);padding:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.ipwa-type-grid input{accent-color:var(--ipwa-pink)}.ipwa-theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.ipwa-theme-grid button{border:1px solid var(--ipwa-border);border-radius:20px;background:rgba(255,255,255,.055);padding:10px;text-align:left}.ipwa-theme-grid button.is-active{border-color:var(--ipwa-pink);box-shadow:0 0 0 1px var(--ipwa-pink),0 0 26px rgba(255,47,178,.2)}.ipwa-theme-grid button:disabled{opacity:.55;cursor:not-allowed}.theme-preview{display:block;height:90px;border-radius:16px;margin-bottom:10px}.theme-preview.neon{background:radial-gradient(circle at 30% 20%,#ff2fb2,transparent 30%),linear-gradient(135deg,#06122b,#661dff 55%,#090713)}.theme-preview.gold{background:linear-gradient(135deg,#080808,#4b3211,#f2a93b)}.theme-preview.glass{background:linear-gradient(135deg,#09111d,#253a61,#0b101c)}.theme-preview.pop{background:linear-gradient(135deg,#111,#8d2cff,#ff3f78,#41ff98)}.ipwa-theme-grid b,.ipwa-theme-grid small{display:block}.ipwa-theme-grid small{color:var(--ipwa-muted);margin-top:3px}
.ipwa-bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:30;max-width:480px;width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:8px 10px calc(env(safe-area-inset-bottom,0px) + 8px);background:rgba(6,5,13,.78);border-top:1px solid rgba(255,255,255,.09);backdrop-filter:blur(20px)}.ipwa-bottom-nav button{border:0;background:transparent;color:var(--ipwa-muted);display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 4px;border-radius:14px;font-size:11px}.ipwa-bottom-nav button span{font-size:20px}.ipwa-bottom-nav button.is-active{color:#fff;background:rgba(255,47,178,.1)}.ipwa-bottom-nav button.is-active span{color:var(--ipwa-pink);text-shadow:0 0 16px rgba(255,47,178,.8)}
.ipwa-sheet{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.54);display:grid;align-items:end;max-width:480px;margin:0 auto}.ipwa-sheet-card{border:1px solid var(--ipwa-border);border-radius:26px 26px 0 0;background:#0b0a16;padding:18px 16px calc(env(safe-area-inset-bottom,0px) + 18px);box-shadow:var(--ipwa-shadow)}.ipwa-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.ipwa-sheet-head h2{margin:0}.ipwa-sheet-head button{width:40px;height:40px;border-radius:14px;border:1px solid var(--ipwa-border);background:rgba(255,255,255,.06);font-size:24px}.ipwa-sheet-action{display:block;width:100%;text-align:left;border:1px solid var(--ipwa-border);border-radius:17px;background:rgba(255,255,255,.055);padding:14px;margin:9px 0;font-weight:900}.ipwa-sheet-action small{display:block;color:var(--ipwa-muted);font-weight:600;margin-top:3px}.ipwa-sheet-action.danger{color:#ff8ca0;border-color:rgba(255,78,112,.24);background:rgba(255,78,112,.08)}.ipwa-toast{position:fixed;left:50%;bottom:calc(var(--ipwa-bottom) + env(safe-area-inset-bottom,0px) + 12px);transform:translateX(-50%);z-index:80;max-width:min(430px,calc(100% - 28px));background:#151421;border:1px solid var(--ipwa-border);border-radius:999px;padding:11px 15px;box-shadow:var(--ipwa-shadow);font-weight:800;text-align:center}
@media (min-width:720px){.ipwa{min-height:920px;border-radius:36px;margin:24px auto}.ipwa-bg,.ipwa-bottom-nav,.ipwa-sheet{max-width:480px}.ipwa-topbar{border-radius:36px 36px 0 0}.ipwa-bottom-nav{border-radius:0 0 36px 36px;bottom:24px}}
@media (max-width:360px){.ipwa-shell{padding-left:12px;padding-right:12px}.ipwa-quick-grid{grid-template-columns:repeat(2,1fr)}.ipwa-offer-card{grid-template-columns:88px 1fr}.ipwa-offer-actions{flex-direction:column}.ipwa-section-head h1,.ipwa-start-head h1{font-size:27px}}

/* V2-131-R3: stabilizacja dolnych paneli / Opcje planu */
.ipwa-sheet[hidden], .ipwa-toast[hidden], [hidden] { display: none !important; }
.ipwa-sheet {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
  width: 100% !important;
  max-width: 480px !important;
  margin: 0 auto !important;
  display: grid !important;
  align-items: end !important;
  pointer-events: auto !important;
  background: rgba(0,0,0,.62) !important;
}
.ipwa-sheet-card {
  width: 100% !important;
  box-sizing: border-box !important;
  max-height: min(78svh, 620px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  padding-bottom: calc(env(safe-area-inset-bottom,0px) + 22px) !important;
}
.ipwa-sheet-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  background: linear-gradient(180deg,#0b0a16 0%,rgba(11,10,22,.96) 75%,rgba(11,10,22,0) 100%) !important;
  padding-top: 2px !important;
}
.ipwa-sheet-head button[data-close-sheet] {
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
}
body.ipwa-sheet-open { overflow: hidden !important; }

body.ipwa-install-ready [data-install-pwa] {
  border-color: rgba(69, 255, 154, .72) !important;
  box-shadow: 0 0 0 1px rgba(69, 255, 154, .22), 0 0 26px rgba(69, 255, 154, .2) !important;
}

/* Codex route restore: manual ordering controls for the PWA plan. */
.ipwa-plan-tools {
  display: grid !important;
  grid-template-columns: repeat(3, 30px) !important;
  gap: 5px !important;
  justify-content: end !important;
}
.ipwa-plan-tools button {
  width: 30px !important;
  height: 30px !important;
  border: 1px solid var(--ipwa-border) !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.07) !important;
  color: #fff !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  padding: 0 !important;
}
.ipwa-plan-tools button:disabled {
  opacity: .35 !important;
}
.ipwa-plan-tools button[data-plan-remove] {
  color: #ffd1dc !important;
  border-color: rgba(255,78,112,.28) !important;
}
@media (max-width: 380px) {
  .ipwa-plan-item {
    grid-template-columns: 34px 1fr !important;
  }
  .ipwa-plan-tools {
    grid-column: 2 !important;
    justify-content: start !important;
    margin-top: 8px !important;
  }
}


/* === V3 PWA offer template R1 START === */
.ipwa-offer-card {
  display: grid !important;
  grid-template-columns: 108px minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  gap: 12px !important;
  padding: 10px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(12,16,34,.88) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.34) !important;
  overflow: hidden !important;
}
.ipwa-offer-card--featured {
  border-color: rgba(255,47,163,.85) !important;
  background: radial-gradient(circle at top right, rgba(255,47,163,.18), transparent 35%), rgba(12,16,34,.94) !important;
  box-shadow: 0 0 18px rgba(255,47,163,.35), 0 0 36px rgba(168,85,247,.20), 0 18px 46px rgba(0,0,0,.38) !important;
}
.ipwa-offer-art {
  width: 100% !important;
  min-height: 126px !important;
  height: 100% !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  border-radius: 16px !important;
  display: grid !important;
  place-items: center !important;
  background: radial-gradient(circle at 25% 15%, rgba(34,211,238,.28), transparent 26%), radial-gradient(circle at 82% 18%, rgba(255,47,163,.30), transparent 30%), linear-gradient(135deg,#050712,#160b2d) !important;
}
.ipwa-offer-art:before,
.ipwa-detail-hero:before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(transparent 50%, rgba(5,7,18,.84)), repeating-linear-gradient(90deg, transparent 0 18px, rgba(255,255,255,.045) 18px 19px) !important;
  opacity: .82 !important;
}
.ipwa-offer-art img,
.ipwa-detail-hero img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.ipwa-art-icon {
  position: relative !important;
  z-index: 1 !important;
  font-size: 34px !important;
  text-shadow: 0 0 18px rgba(255,47,163,.72) !important;
}
.ipwa-art-label {
  position: absolute !important;
  left: 8px !important;
  right: 8px !important;
  bottom: 8px !important;
  z-index: 2 !important;
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  padding: 5px 7px !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,.46) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  color: #f8fafc !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}
.ipwa-offer-content {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 7px !important;
  padding: 0 !important;
  min-width: 0 !important;
}
.ipwa-offer-card h2 {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: #f8fafc !important;
  font-size: 18px !important;
  line-height: 1.13 !important;
}
.ipwa-offer-place {
  margin: 0 !important;
  color: #f8fafc !important;
  font-weight: 750 !important;
  font-size: 13px !important;
}
.ipwa-offer-teaser {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 1 !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: #aab0c5 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.ipwa-badge-row {
  display: flex !important;
  gap: 5px !important;
  flex-wrap: nowrap !important;
  min-height: 23px !important;
  overflow: hidden !important;
}
.ipwa-badge {
  max-width: 122px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  padding: 4px 7px !important;
  color: #ff7ac8 !important;
  background: rgba(255,47,163,.12) !important;
  border-color: rgba(255,47,163,.45) !important;
}
.ipwa-badge.featured {
  color: #ffd5ef !important;
  background: rgba(255,47,163,.20) !important;
  border-color: rgba(255,47,163,.75) !important;
}
.ipwa-card-meta,
.ipwa-chip-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  overflow: hidden !important;
}
.ipwa-card-meta span,
.ipwa-chip-row span {
  min-width: 0 !important;
  max-width: 145px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  border-radius: 999px !important;
  padding: 4px 7px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}
.ipwa-card-meta span {
  color: #cbd5e1 !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.055) !important;
}
.ipwa-chip-row span {
  color: #dffbff !important;
  border: 1px solid rgba(34,211,238,.22) !important;
  background: rgba(34,211,238,.07) !important;
}
.ipwa-offer-actions {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  margin-top: 2px !important;
}
.ipwa-offer-actions button {
  min-height: 42px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.075) !important;
  color: #fff !important;
}
.ipwa-offer-actions button:last-child {
  border: 0 !important;
  background: linear-gradient(135deg,#ff2fa3,#a855f7) !important;
}
.ipwa-detail {
  border-radius: 24px !important;
  border-color: rgba(255,255,255,.10) !important;
  background: rgba(12,16,34,.90) !important;
}
.ipwa-detail-hero {
  height: 245px !important;
  position: relative !important;
  overflow: hidden !important;
  background: radial-gradient(circle at 25% 15%, rgba(34,211,238,.24), transparent 28%), radial-gradient(circle at 80% 10%, rgba(255,47,163,.30), transparent 30%), linear-gradient(135deg,#050712,#160b2d) !important;
}
.ipwa-detail-hero:after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(transparent 48%, rgba(5,7,18,.96)) !important;
}
.ipwa-detail-section {
  margin-top: 16px !important;
}
.ipwa-detail-section h2 {
  margin-bottom: 7px !important;
}
.ipwa-detail-section p {
  margin: 0 !important;
}
.ipwa-detail-qr {
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 18px !important;
  padding: 12px !important;
  background: rgba(255,255,255,.045) !important;
}
.ipwa-qr-box {
  width: 98px !important;
  height: 98px !important;
  margin: 8px 0 !important;
  border-radius: 12px !important;
  background: conic-gradient(from 90deg,#f8fafc 0 25%,#111827 0 50%,#f8fafc 0 75%,#111827 0), repeating-linear-gradient(90deg,#111827 0 6px,#f8fafc 6px 12px) !important;
  background-blend-mode: difference !important;
  border: 6px solid #f8fafc !important;
}
@media (max-width: 380px) {
  .ipwa-offer-card {
    grid-template-columns: 96px minmax(0,1fr) !important;
  }
  .ipwa-offer-art {
    min-height: 118px !important;
  }
  .ipwa-offer-card h2 {
    font-size: 16px !important;
  }
}
/* === V3 PWA offer template R1 END === */

/* === V3 PWA offer template R2 mobile/detail stability START === */
.ipwa-offer-card > .ipwa-offer-art {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: auto !important;
  max-width: 108px !important;
  min-width: 0 !important;
}
.ipwa-offer-card > .ipwa-offer-content {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.ipwa-offer-card *,
.ipwa-detail * {
  overflow-wrap: anywhere !important;
}
.ipwa-offer-place,
.ipwa-card-meta span,
.ipwa-chip-row span,
.ipwa-detail h1,
.ipwa-detail h2,
.ipwa-detail p,
.ipwa-info-grid b,
.ipwa-link-list a {
  min-width: 0 !important;
  max-width: 100% !important;
}
.ipwa-empty-inline {
  grid-column: 1 / -1 !important;
  display: block !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
  padding: 11px !important;
  background: rgba(255,255,255,.045) !important;
  color: #aab0c5 !important;
}
.ipwa-detail h1 {
  display: block !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow: visible !important;
  font-size: 28px !important;
  line-height: 1.08 !important;
}
.ipwa-detail-body {
  min-width: 0 !important;
  overflow: hidden !important;
}
.ipwa-detail-section,
.ipwa-info-grid,
.ipwa-link-list,
.ipwa-detail-qr {
  min-width: 0 !important;
  max-width: 100% !important;
}
.ipwa-detail-qr p {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.ipwa-mini-map {
  min-height: 104px !important;
  height: auto !important;
  padding: 14px !important;
  text-align: center !important;
  line-height: 1.3 !important;
}
.ipwa-info-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
@media (max-width: 420px) {
  .ipwa-offer-card {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    align-items: stretch !important;
  }
  .ipwa-offer-card > .ipwa-offer-art {
    max-width: 96px !important;
  }
  .ipwa-offer-card > .ipwa-offer-content {
    padding: 0 !important;
  }
  .ipwa-badge-row .ipwa-badge:nth-child(n+3),
  .ipwa-chip-row span:nth-child(n+4),
  .ipwa-card-meta span:nth-child(n+4) {
    display: none !important;
  }
}
@media (max-width: 340px) {
  .ipwa-offer-card {
    grid-template-columns: 86px minmax(0, 1fr) !important;
  }
  .ipwa-offer-card > .ipwa-offer-art {
    max-width: 86px !important;
  }
  .ipwa-offer-actions {
    grid-template-columns: 1fr !important;
  }
  .ipwa-info-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
/* === V3 PWA offer template R2 mobile/detail stability END === */

/* === V3 PWA offer template R3 hard override START === */
#imprezomat-pwa-v03 .ipwa-offer-list {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
}
#imprezomat-pwa-v03 .ipwa-offer-card {
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr) !important;
  grid-template-areas:
    "art content"
    "actions actions" !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  gap: 10px !important;
  padding: 10px !important;
}
#imprezomat-pwa-v03 .ipwa-offer-card > .ipwa-offer-art {
  grid-area: art !important;
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
  height: 132px !important;
  min-height: 132px !important;
  max-height: 132px !important;
  aspect-ratio: auto !important;
}
#imprezomat-pwa-v03 .ipwa-offer-card > .ipwa-offer-content {
  grid-area: content !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
}
#imprezomat-pwa-v03 .ipwa-offer-card .ipwa-offer-actions {
  grid-area: actions !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
#imprezomat-pwa-v03 .ipwa-offer-card h2,
#imprezomat-pwa-v03 .ipwa-offer-place,
#imprezomat-pwa-v03 .ipwa-offer-teaser {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
#imprezomat-pwa-v03 .ipwa-offer-card h2 {
  -webkit-line-clamp: 2 !important;
  max-height: 2.35em !important;
}
#imprezomat-pwa-v03 .ipwa-offer-place,
#imprezomat-pwa-v03 .ipwa-offer-teaser {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#imprezomat-pwa-v03 .ipwa-card-meta,
#imprezomat-pwa-v03 .ipwa-chip-row,
#imprezomat-pwa-v03 .ipwa-badge-row {
  max-height: 28px !important;
  overflow: hidden !important;
}
#imprezomat-pwa-v03 .ipwa-detail {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
#imprezomat-pwa-v03 .ipwa-detail-body {
  width: 100% !important;
  max-width: 100% !important;
}
#imprezomat-pwa-v03 .ipwa-detail-body > * {
  max-width: 100% !important;
}
@media (max-width: 380px) {
  #imprezomat-pwa-v03 .ipwa-offer-card {
    grid-template-columns: 92px minmax(0, 1fr) !important;
  }
  #imprezomat-pwa-v03 .ipwa-offer-card > .ipwa-offer-art {
    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;
    height: 124px !important;
    min-height: 124px !important;
    max-height: 124px !important;
  }
}
/* === V3 PWA offer template R3 hard override END === */

/* === IMZ clean offers view R1 START === */
#imprezomat-pwa-v03 .imz-offer-card,
#imprezomat-pwa-v03 .imz-offer-card * ,
#imprezomat-pwa-v03 .imz-offer-detail,
#imprezomat-pwa-v03 .imz-offer-detail * {
  box-sizing: border-box !important;
}
#imprezomat-pwa-v03 .imz-offer-card {
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr) !important;
  grid-template-areas:
    "media main"
    "actions actions" !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 10px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 18px !important;
  background: rgba(12,16,34,.88) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.34) !important;
  overflow: hidden !important;
}
#imprezomat-pwa-v03 .imz-offer-card.is-featured {
  border-color: rgba(255,47,163,.82) !important;
  background: radial-gradient(circle at top right, rgba(255,47,163,.18), transparent 36%), rgba(12,16,34,.94) !important;
  box-shadow: 0 0 18px rgba(255,47,163,.30), 0 0 34px rgba(168,85,247,.18), 0 18px 42px rgba(0,0,0,.38) !important;
}
#imprezomat-pwa-v03 .imz-offer-media {
  grid-area: media !important;
  position: relative !important;
  width: 104px !important;
  height: 126px !important;
  min-width: 104px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  background: radial-gradient(circle at 24% 18%, rgba(34,211,238,.26), transparent 28%), radial-gradient(circle at 80% 15%, rgba(255,47,163,.28), transparent 30%), linear-gradient(135deg,#050712,#160b2d) !important;
}
#imprezomat-pwa-v03 .imz-offer-media img,
#imprezomat-pwa-v03 .imz-offer-hero img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
#imprezomat-pwa-v03 .imz-offer-media:after,
#imprezomat-pwa-v03 .imz-offer-hero:after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(transparent 48%, rgba(5,7,18,.90)), repeating-linear-gradient(90deg, transparent 0 18px, rgba(255,255,255,.04) 18px 19px) !important;
}
#imprezomat-pwa-v03 .imz-offer-media b {
  position: relative !important;
  z-index: 1 !important;
  font-size: 32px !important;
}
#imprezomat-pwa-v03 .imz-offer-media span,
#imprezomat-pwa-v03 .imz-offer-hero span {
  position: absolute !important;
  left: 8px !important;
  right: 8px !important;
  bottom: 8px !important;
  z-index: 2 !important;
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  padding: 5px 7px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background: rgba(0,0,0,.52) !important;
  color: #f8fafc !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}
#imprezomat-pwa-v03 .imz-offer-main {
  grid-area: main !important;
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
#imprezomat-pwa-v03 .imz-offer-main h2 {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: #f8fafc !important;
  font-size: 18px !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}
#imprezomat-pwa-v03 .imz-offer-place,
#imprezomat-pwa-v03 .imz-offer-teaser {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  line-height: 1.28 !important;
}
#imprezomat-pwa-v03 .imz-offer-place {
  color: #f8fafc !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}
#imprezomat-pwa-v03 .imz-offer-teaser {
  color: #aab0c5 !important;
  font-size: 12px !important;
}
#imprezomat-pwa-v03 .imz-offer-badges,
#imprezomat-pwa-v03 .imz-offer-meta,
#imprezomat-pwa-v03 .imz-offer-chips {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 5px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
#imprezomat-pwa-v03 .imz-offer-badges {
  min-height: 23px !important;
}
#imprezomat-pwa-v03 .imz-offer-badges span,
#imprezomat-pwa-v03 .imz-offer-meta span,
#imprezomat-pwa-v03 .imz-offer-chips span {
  display: inline-flex !important;
  align-items: center !important;
  max-width: 132px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  border-radius: 999px !important;
  padding: 4px 7px !important;
  font-size: 10.5px !important;
  line-height: 1.15 !important;
}
#imprezomat-pwa-v03 .imz-offer-badges span {
  color: #ff7ac8 !important;
  border: 1px solid rgba(255,47,163,.45) !important;
  background: rgba(255,47,163,.12) !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
}
#imprezomat-pwa-v03 .imz-offer-badges span.featured {
  color: #ffd5ef !important;
  border-color: rgba(255,47,163,.78) !important;
  background: rgba(255,47,163,.20) !important;
}
#imprezomat-pwa-v03 .imz-offer-badges span.green {
  color: #cbffdf !important;
  border-color: rgba(69,255,154,.32) !important;
  background: rgba(69,255,154,.13) !important;
}
#imprezomat-pwa-v03 .imz-offer-badges span.yellow {
  color: #ffedb0 !important;
  border-color: rgba(255,211,77,.30) !important;
  background: rgba(255,211,77,.13) !important;
}
#imprezomat-pwa-v03 .imz-offer-meta span {
  color: #cbd5e1 !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.055) !important;
}
#imprezomat-pwa-v03 .imz-offer-chips span {
  color: #dffbff !important;
  border: 1px solid rgba(34,211,238,.22) !important;
  background: rgba(34,211,238,.07) !important;
}
#imprezomat-pwa-v03 .imz-offer-actions,
#imprezomat-pwa-v03 .imz-detail-actions {
  grid-area: actions !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
}
#imprezomat-pwa-v03 .imz-offer-actions button,
#imprezomat-pwa-v03 .imz-detail-actions button {
  min-height: 42px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.075) !important;
  color: #fff !important;
  font-weight: 900 !important;
}
#imprezomat-pwa-v03 .imz-offer-actions button:last-child,
#imprezomat-pwa-v03 .imz-detail-actions button:last-child {
  border: 0 !important;
  background: linear-gradient(135deg,#ff2fa3,#a855f7) !important;
}
#imprezomat-pwa-v03 .imz-offer-detail {
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 24px !important;
  background: rgba(12,16,34,.90) !important;
  box-shadow: var(--ipwa-shadow) !important;
}
#imprezomat-pwa-v03 .imz-offer-hero {
  position: relative !important;
  height: 236px !important;
  overflow: hidden !important;
  background: radial-gradient(circle at 25% 15%, rgba(34,211,238,.24), transparent 28%), radial-gradient(circle at 80% 10%, rgba(255,47,163,.30), transparent 30%), linear-gradient(135deg,#050712,#160b2d) !important;
}
#imprezomat-pwa-v03 .imz-detail-body {
  display: grid !important;
  gap: 13px !important;
  padding: 16px !important;
  min-width: 0 !important;
}
#imprezomat-pwa-v03 .imz-detail-body h1 {
  margin: 0 !important;
  color: #f8fafc !important;
  font-size: 28px !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  overflow-wrap: anywhere !important;
}
#imprezomat-pwa-v03 .imz-detail-venue,
#imprezomat-pwa-v03 .imz-detail-body p {
  margin: 0 !important;
  color: #aab0c5 !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere !important;
}
#imprezomat-pwa-v03 .imz-detail-quick {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 8px !important;
}
#imprezomat-pwa-v03 .imz-detail-quick div,
#imprezomat-pwa-v03 .imz-detail-body section {
  min-width: 0 !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 16px !important;
  padding: 11px !important;
  background: rgba(255,255,255,.045) !important;
}
#imprezomat-pwa-v03 .imz-detail-quick small {
  display: block !important;
  color: #aab0c5 !important;
  font-size: 11px !important;
}
#imprezomat-pwa-v03 .imz-detail-quick b {
  display: block !important;
  margin-top: 3px !important;
  color: #f8fafc !important;
  overflow-wrap: anywhere !important;
}
#imprezomat-pwa-v03 .imz-detail-body h2 {
  margin: 0 0 7px !important;
  color: #f8fafc !important;
  font-size: 16px !important;
}
#imprezomat-pwa-v03 .imz-link-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 8px !important;
}
#imprezomat-pwa-v03 .imz-link-list a,
#imprezomat-pwa-v03 .imz-link-list button,
#imprezomat-pwa-v03 .imz-link-list .ipwa-empty-inline {
  min-width: 0 !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 13px !important;
  padding: 10px !important;
  background: rgba(255,255,255,.055) !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}
#imprezomat-pwa-v03 .imz-link-list button {
  min-height: 42px !important;
  cursor: pointer !important;
  font: inherit !important;
  text-align: left !important;
}
#imprezomat-pwa-v03 .imz-link-list .imz-link-missing {
  color: rgba(226,232,240,.74) !important;
  border-style: dashed !important;
  background: rgba(255,255,255,.035) !important;
}
#imprezomat-pwa-v03 .imz-mini-map {
  margin-top: 9px !important;
  min-height: 92px !important;
  display: grid !important;
  place-items: center !important;
  padding: 12px !important;
  border: 1px solid rgba(34,211,238,.20) !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg,#10182a,#090a12) !important;
  color: #22d3ee !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}
#imprezomat-pwa-v03 .imz-qr-box {
  width: 96px !important;
  height: 96px !important;
  margin: 8px 0 !important;
  border: 6px solid #f8fafc !important;
  border-radius: 12px !important;
  background: conic-gradient(from 90deg,#f8fafc 0 25%,#111827 0 50%,#f8fafc 0 75%,#111827 0), repeating-linear-gradient(90deg,#111827 0 6px,#f8fafc 6px 12px) !important;
  background-blend-mode: difference !important;
}
#imprezomat-pwa-v03 .imz-detail-qr p {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
@media (max-width: 380px) {
  #imprezomat-pwa-v03 .imz-offer-card {
    grid-template-columns: 92px minmax(0,1fr) !important;
  }
  #imprezomat-pwa-v03 .imz-offer-media {
    width: 92px !important;
    min-width: 92px !important;
    height: 120px !important;
  }
  #imprezomat-pwa-v03 .imz-offer-main h2 {
    font-size: 16px !important;
  }
  #imprezomat-pwa-v03 .imz-offer-badges span:nth-child(n+3),
  #imprezomat-pwa-v03 .imz-offer-meta span:nth-child(n+4),
  #imprezomat-pwa-v03 .imz-offer-chips span:nth-child(n+4) {
    display: none !important;
  }
}
/* === IMZ clean offers view R1 END === */

/* === IMZ offer list polish R2 START === */
#imprezomat-pwa-v03 .imz-offer-card {
  grid-template-columns: 96px minmax(0, 1fr) !important;
  gap: 11px !important;
  padding: 11px !important;
  border-radius: 17px !important;
  background: linear-gradient(180deg, rgba(15,20,42,.92), rgba(10,13,30,.90)) !important;
}
#imprezomat-pwa-v03 .imz-offer-media {
  width: 96px !important;
  min-width: 96px !important;
  height: 118px !important;
  border-radius: 13px !important;
}
#imprezomat-pwa-v03 .imz-offer-media img {
  filter: saturate(1.05) contrast(1.02) !important;
}
#imprezomat-pwa-v03 .imz-offer-media span {
  left: 6px !important;
  right: 6px !important;
  bottom: 6px !important;
  padding: 4px 6px !important;
  font-size: 9.5px !important;
}
#imprezomat-pwa-v03 .imz-offer-main {
  align-content: start !important;
  gap: 5px !important;
}
#imprezomat-pwa-v03 .imz-offer-main h2 {
  font-size: 17px !important;
  line-height: 1.14 !important;
  max-height: 2.3em !important;
}
#imprezomat-pwa-v03 .imz-offer-place {
  color: rgba(248,250,252,.88) !important;
}
#imprezomat-pwa-v03 .imz-offer-teaser {
  color: rgba(170,176,197,.92) !important;
}
#imprezomat-pwa-v03 .imz-offer-badges:empty {
  display: none !important;
}
#imprezomat-pwa-v03 .imz-offer-meta {
  flex-wrap: wrap !important;
  max-height: 46px !important;
}
#imprezomat-pwa-v03 .imz-offer-meta span {
  max-width: 100% !important;
  font-size: 10px !important;
}
#imprezomat-pwa-v03 .imz-offer-meta span:nth-child(n+4) {
  display: none !important;
}
#imprezomat-pwa-v03 .imz-offer-chips {
  max-height: 24px !important;
}
#imprezomat-pwa-v03 .imz-offer-chips span:nth-child(n+4) {
  display: none !important;
}
#imprezomat-pwa-v03 .imz-offer-actions {
  margin-top: 1px !important;
}
#imprezomat-pwa-v03 .imz-offer-actions button {
  min-height: 44px !important;
  font-size: 12px !important;
}
@media (max-width: 380px) {
  #imprezomat-pwa-v03 .imz-offer-card {
    grid-template-columns: 88px minmax(0,1fr) !important;
    gap: 9px !important;
    padding: 10px !important;
  }
  #imprezomat-pwa-v03 .imz-offer-media {
    width: 88px !important;
    min-width: 88px !important;
    height: 112px !important;
  }
}
/* === IMZ offer list polish R2 END === */

/* === IMZ raw offer media R1 START === */
#imprezomat-pwa-v03 .imz-offer-card .imz-offer-media {
  background: #070b16 !important;
}
#imprezomat-pwa-v03 .imz-offer-card .imz-offer-media:after {
  display: none !important;
}
#imprezomat-pwa-v03 .imz-offer-card .imz-offer-media img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: none !important;
}
#imprezomat-pwa-v03 .imz-offer-card .imz-offer-media span {
  left: 6px !important;
  right: auto !important;
  bottom: auto !important;
  top: 6px !important;
  width: auto !important;
  max-width: calc(100% - 12px) !important;
  padding: 4px 6px !important;
  border-radius: 999px !important;
  background: rgba(5,7,18,.78) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: #f8fafc !important;
  font-size: 9px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.25) !important;
}
#imprezomat-pwa-v03 .imz-offer-card .imz-offer-media.has-fallback {
  background: radial-gradient(circle at 25% 18%, rgba(34,211,238,.20), transparent 30%), linear-gradient(135deg,#050712,#160b2d) !important;
}
#imprezomat-pwa-v03 .imz-offer-card .imz-offer-media.has-fallback b {
  color: #f8fafc !important;
  text-shadow: 0 0 18px rgba(255,47,163,.55) !important;
}
/* === IMZ raw offer media R1 END === */

/* === IMZ premium offer layout R3 START === */
#imprezomat-pwa-v03 .imz-offer-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas:
    "media"
    "main"
    "actions" !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: linear-gradient(180deg, rgba(15,19,41,.98), rgba(8,10,24,.98)) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.34) !important;
}
#imprezomat-pwa-v03 .imz-offer-card.is-featured {
  border-color: rgba(255,47,163,.38) !important;
  background: linear-gradient(180deg, rgba(19,21,48,.98), rgba(9,10,25,.98)) !important;
}
#imprezomat-pwa-v03 .imz-offer-card .imz-offer-media {
  grid-area: media !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  border-radius: 0 !important;
  border: 0 !important;
  background: #080b16 !important;
}
#imprezomat-pwa-v03 .imz-offer-card .imz-offer-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: none !important;
  transform: none !important;
}
#imprezomat-pwa-v03 .imz-offer-card .imz-offer-media:after {
  display: none !important;
}
#imprezomat-pwa-v03 .imz-offer-card .imz-offer-media span,
#imprezomat-pwa-v03 .imz-offer-hero span {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
  bottom: auto !important;
  max-width: calc(100% - 20px) !important;
  width: auto !important;
  min-height: 0 !important;
  padding: 6px 9px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(34,211,238,.58) !important;
  background: rgba(3,7,18,.78) !important;
  color: #f8fafc !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(10px) !important;
}
#imprezomat-pwa-v03 .imz-offer-main {
  grid-area: main !important;
  min-width: 0 !important;
  padding: 14px 14px 0 !important;
  gap: 8px !important;
}
#imprezomat-pwa-v03 .imz-offer-main h2 {
  margin: 0 !important;
  font-size: 20px !important;
  line-height: 1.14 !important;
  letter-spacing: 0 !important;
  -webkit-line-clamp: 2 !important;
}
#imprezomat-pwa-v03 .imz-offer-venue {
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: rgba(226,232,240,.88) !important;
}
#imprezomat-pwa-v03 .imz-offer-desc {
  font-size: 13px !important;
  line-height: 1.38 !important;
  color: rgba(203,213,225,.78) !important;
}
#imprezomat-pwa-v03 .imz-offer-meta {
  gap: 6px !important;
  margin-top: 2px !important;
}
#imprezomat-pwa-v03 .imz-offer-actions {
  grid-area: actions !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 9px !important;
  padding: 13px 14px 14px !important;
}
#imprezomat-pwa-v03 .imz-offer-detail {
  overflow: hidden !important;
  border-radius: 24px !important;
  padding-bottom: calc(var(--ipwa-bottom) + 26px) !important;
  background: linear-gradient(180deg, rgba(15,19,41,.98), rgba(7,9,22,.98)) !important;
}
#imprezomat-pwa-v03 .imz-offer-hero {
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  border-radius: 0 !important;
  border: 0 !important;
  background: #080b16 !important;
}
#imprezomat-pwa-v03 .imz-offer-hero img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: none !important;
  transform: none !important;
}
#imprezomat-pwa-v03 .imz-offer-hero:after {
  display: none !important;
}
#imprezomat-pwa-v03 .imz-detail-body {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas: none !important;
  gap: 14px !important;
  padding: 16px !important;
}
#imprezomat-pwa-v03 .imz-detail-body > * {
  grid-area: auto !important;
  grid-column: 1 / -1 !important;
  justify-self: stretch !important;
}
#imprezomat-pwa-v03 .imz-detail-body h1 {
  max-width: none !important;
  margin: 0 !important;
  font-size: 30px !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}
#imprezomat-pwa-v03 .imz-detail-venue {
  margin-top: -6px !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  color: rgba(226,232,240,.86) !important;
}
#imprezomat-pwa-v03 .imz-detail-actions {
  position: static !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 9px !important;
  align-items: stretch !important;
  width: 100% !important;
  grid-area: auto !important;
  grid-column: 1 / -1 !important;
  justify-self: stretch !important;
}
#imprezomat-pwa-v03 .imz-detail-actions button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 46px !important;
  height: auto !important;
  padding: 12px 10px !important;
  line-height: 1.15 !important;
}
#imprezomat-pwa-v03 .imz-detail-quick {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 9px !important;
}
#imprezomat-pwa-v03 .imz-detail-quick div,
#imprezomat-pwa-v03 .imz-detail-body section {
  border-radius: 15px !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
}
#imprezomat-pwa-v03 .imz-detail-quick b {
  display: block !important;
  max-width: 100% !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}
#imprezomat-pwa-v03 .imz-detail-body section {
  width: 100% !important;
  min-width: 0 !important;
}
#imprezomat-pwa-v03 .imz-link-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
@media (max-width: 360px) {
  #imprezomat-pwa-v03 .imz-offer-main h2 {
    font-size: 18px !important;
  }
  #imprezomat-pwa-v03 .imz-detail-body h1 {
    font-size: 26px !important;
  }
  #imprezomat-pwa-v03 .imz-detail-actions,
  #imprezomat-pwa-v03 .imz-link-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
/* === IMZ premium offer layout R3 END === */

/* === IMZ own map detail R1 START === */
#imprezomat-pwa-v03 .imz-location-section {
  overflow: hidden !important;
}
#imprezomat-pwa-v03 .imz-location-section > p {
  margin-bottom: 10px !important;
}
#imprezomat-pwa-v03 .imz-mini-map {
  position: relative !important;
  min-height: 330px !important;
  padding: 0 !important;
  overflow: hidden !important;
  place-items: initial !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background:
    radial-gradient(circle at 23% 24%, rgba(255,47,163,.20), transparent 16%),
    radial-gradient(circle at 76% 16%, rgba(34,211,238,.13), transparent 18%),
    linear-gradient(115deg, transparent 0 16%, rgba(255,255,255,.06) 16.4% 16.8%, transparent 17.2% 36%, rgba(255,255,255,.045) 36.4% 36.8%, transparent 37.2%),
    linear-gradient(24deg, transparent 0 20%, rgba(255,255,255,.055) 20.3% 20.7%, transparent 21% 62%, rgba(255,255,255,.04) 62.3% 62.7%, transparent 63%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 28px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.022) 0 1px, transparent 1px 28px),
    linear-gradient(160deg, #101426, #080912 74%) !important;
  color: #f8fafc !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 18px 38px rgba(0,0,0,.32) !important;
}
#imprezomat-pwa-v03 .imz-mini-map:before,
#imprezomat-pwa-v03 .imz-mini-map:after {
  content: "" !important;
  position: absolute !important;
  inset: -20% !important;
  pointer-events: none !important;
}
#imprezomat-pwa-v03 .imz-mini-map:before {
  background:
    linear-gradient(71deg, transparent 0 43%, rgba(148,163,184,.12) 43.3% 43.7%, transparent 44%),
    linear-gradient(143deg, transparent 0 48%, rgba(148,163,184,.10) 48.3% 48.7%, transparent 49%),
    linear-gradient(8deg, transparent 0 58%, rgba(148,163,184,.08) 58.3% 58.7%, transparent 59%) !important;
  transform: rotate(-7deg) !important;
}
#imprezomat-pwa-v03 .imz-mini-map:after {
  background: linear-gradient(180deg, rgba(5,7,18,.16), rgba(5,7,18,.82)) !important;
}
#imprezomat-pwa-v03 .imz-map-district {
  position: absolute !important;
  z-index: 1 !important;
  left: 18px !important;
  top: 132px !important;
  color: rgba(226,232,240,.46) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}
#imprezomat-pwa-v03 .imz-map-district-alt {
  left: auto !important;
  right: 26px !important;
  top: 156px !important;
  color: rgba(255,255,255,.35) !important;
}
#imprezomat-pwa-v03 .imz-map-pin {
  position: absolute !important;
  z-index: 2 !important;
  left: var(--x) !important;
  top: var(--y) !important;
  width: 24px !important;
  height: 24px !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 50% 50% 50% 8px !important;
  border: 2px solid rgba(255,255,255,.88) !important;
  background: linear-gradient(135deg, #ff2fa3, #b832ff) !important;
  box-shadow: 0 0 0 5px rgba(255,47,163,.13), 0 0 26px rgba(255,47,163,.72) !important;
  rotate: -45deg !important;
}
#imprezomat-pwa-v03 .imz-map-pin:after {
  content: "" !important;
  position: absolute !important;
  inset: 6px !important;
  border-radius: 50% !important;
  background: #fff !important;
}
#imprezomat-pwa-v03 .imz-map-pin.is-main {
  width: 30px !important;
  height: 30px !important;
  background: linear-gradient(135deg, #22d3ee, #ff2fa3) !important;
  box-shadow: 0 0 0 7px rgba(34,211,238,.14), 0 0 34px rgba(255,47,163,.82) !important;
}
#imprezomat-pwa-v03 .imz-map-control {
  position: absolute !important;
  z-index: 3 !important;
  right: 12px !important;
  display: grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(5,7,18,.68) !important;
  color: rgba(248,250,252,.9) !important;
  font-size: 16px !important;
  line-height: 1 !important;
  backdrop-filter: blur(10px) !important;
}
#imprezomat-pwa-v03 .imz-map-control.is-layer {
  top: 12px !important;
}
#imprezomat-pwa-v03 .imz-map-control.is-locate {
  top: 52px !important;
}
#imprezomat-pwa-v03 .imz-map-offer {
  position: absolute !important;
  z-index: 4 !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 12px !important;
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) 66px !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 9px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(8,10,24,.86) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.42) !important;
  backdrop-filter: blur(16px) !important;
}
#imprezomat-pwa-v03 .imz-map-thumb {
  width: 58px !important;
  height: 58px !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, rgba(255,47,163,.24), rgba(34,211,238,.16)) !important;
}
#imprezomat-pwa-v03 .imz-map-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
#imprezomat-pwa-v03 .imz-map-thumb b {
  font-size: 15px !important;
  color: #f8fafc !important;
}
#imprezomat-pwa-v03 .imz-map-offer b {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.18 !important;
}
#imprezomat-pwa-v03 .imz-map-offer small {
  display: block !important;
  margin-top: 4px !important;
  color: rgba(226,232,240,.72) !important;
  font-size: 10px !important;
  line-height: 1.25 !important;
}
#imprezomat-pwa-v03 .imz-map-offer button {
  min-height: 42px !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: linear-gradient(135deg, #ff2fa3, #a855f7) !important;
  color: #fff !important;
  font-weight: 900 !important;
  font-size: 12px !important;
}
/* === IMZ own map detail R1 END === */

/* === IMZ real map tiles R1 START === */
#imprezomat-pwa-v03 .imz-mini-map.is-real {
  background: #090c18 !important;
}
#imprezomat-pwa-v03 .imz-mini-map.is-real:before {
  display: none !important;
}
#imprezomat-pwa-v03 .imz-mini-map.is-real:after {
  z-index: 1 !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 50% 36%, rgba(255,47,163,.12), transparent 30%),
    linear-gradient(180deg, rgba(5,7,18,.08), rgba(5,7,18,.68)) !important;
}
#imprezomat-pwa-v03 .imz-map-tiles {
  position: absolute !important;
  z-index: 0 !important;
  left: 50% !important;
  top: 46% !important;
  width: 768px !important;
  height: 768px !important;
  transform: translate(-50%, -50%) scale(.72) !important;
  transform-origin: center !important;
}
#imprezomat-pwa-v03 .imz-map-tile {
  position: absolute !important;
  width: 256px !important;
  height: 256px !important;
  filter: grayscale(1) invert(.92) hue-rotate(175deg) saturate(1.45) brightness(.58) contrast(1.15) !important;
  opacity: .92 !important;
}
#imprezomat-pwa-v03 .imz-map-style {
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, rgba(34,211,238,.045) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,47,163,.035) 1px, transparent 1px) !important;
  background-size: 34px 34px !important;
  mix-blend-mode: screen !important;
  opacity: .42 !important;
}
#imprezomat-pwa-v03 .imz-mini-map.is-real .imz-map-pin,
#imprezomat-pwa-v03 .imz-mini-map.is-real .imz-map-control,
#imprezomat-pwa-v03 .imz-mini-map.is-real .imz-map-offer,
#imprezomat-pwa-v03 .imz-mini-map.is-real .imz-map-credit {
  z-index: 3 !important;
}
#imprezomat-pwa-v03 .imz-map-credit {
  position: absolute !important;
  z-index: 3 !important;
  left: 10px !important;
  top: 10px !important;
  padding: 4px 7px !important;
  border-radius: 999px !important;
  background: rgba(5,7,18,.62) !important;
  color: rgba(226,232,240,.72) !important;
  font-size: 9px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  backdrop-filter: blur(10px) !important;
}
#imprezomat-pwa-v03 .imz-mini-map.is-empty {
  display: grid !important;
  place-items: center !important;
  min-height: 160px !important;
  padding: 18px !important;
  text-align: center !important;
}
/* === IMZ real map tiles R1 END === */

/* === IMZ map snapshot R2 START === */
#imprezomat-pwa-v03 .imz-mini-map.is-snapshot {
  min-height: 286px !important;
  background: #090c18 !important;
}
#imprezomat-pwa-v03 .imz-mini-map.is-snapshot .imz-map-tiles {
  top: 42% !important;
  transform: translate(calc(-50% + var(--shift-x, 0px)), calc(-50% + var(--shift-y, 0px))) scale(.72) !important;
}
#imprezomat-pwa-v03 .imz-mini-map.is-snapshot .imz-map-style {
  background:
    radial-gradient(circle at 50% 42%, rgba(255,47,163,.14), transparent 23%),
    linear-gradient(180deg, rgba(5,7,18,.04), rgba(5,7,18,.70)) !important;
  background-size: auto !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}
#imprezomat-pwa-v03 .imz-mini-map.is-snapshot .imz-map-control,
#imprezomat-pwa-v03 .imz-mini-map.is-snapshot .imz-map-district {
  display: none !important;
}
#imprezomat-pwa-v03 .imz-mini-map.is-snapshot .imz-map-pin {
  z-index: 4 !important;
}
#imprezomat-pwa-v03 .imz-mini-map.is-snapshot .imz-map-offer {
  grid-template-columns: 52px minmax(0, 1fr) 62px !important;
  gap: 9px !important;
  padding: 8px !important;
}
#imprezomat-pwa-v03 .imz-mini-map.is-snapshot .imz-map-thumb {
  width: 52px !important;
  height: 52px !important;
}
#imprezomat-pwa-v03 .imz-map-open,
#imprezomat-pwa-v03 .imz-map-offer button {
  min-height: 42px !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: linear-gradient(135deg, #ff2fa3, #a855f7) !important;
  color: #fff !important;
  font-weight: 900 !important;
  font-size: 12px !important;
  text-decoration: none !important;
}
#imprezomat-pwa-v03 .imz-mini-map.is-snapshot .imz-map-credit {
  top: 8px !important;
  left: 8px !important;
}
/* === IMZ map snapshot R2 END === */

/* === IMZ generated offer art R1 START === */
#imprezomat-pwa-v03 .imz-generated-art {
  isolation: isolate !important;
  display: block !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,47,163,.38), transparent 24%),
    radial-gradient(circle at 82% 22%, rgba(34,125,255,.38), transparent 26%),
    linear-gradient(145deg, #050713 0%, #0a1027 48%, #130521 100%) !important;
}
#imprezomat-pwa-v03 .imz-generated-art:before,
#imprezomat-pwa-v03 .imz-generated-art:after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}
#imprezomat-pwa-v03 .imz-generated-art:before {
  z-index: 0 !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(180deg, transparent 0%, rgba(3,6,18,.72) 78%) !important;
  background-size: 28px 28px, 28px 28px, auto !important;
}
#imprezomat-pwa-v03 .imz-generated-art:after {
  z-index: 1 !important;
  display: block !important;
  border: 1px solid rgba(255,47,163,.28) !important;
  box-shadow: inset 0 0 26px rgba(255,47,163,.15), inset 0 0 42px rgba(34,125,255,.10) !important;
}
#imprezomat-pwa-v03 .imz-generated-art .imz-art-chip {
  z-index: 4 !important;
}
#imprezomat-pwa-v03 .imz-art-brand {
  position: absolute !important;
  z-index: 3 !important;
  top: 13px !important;
  left: 14px !important;
  right: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: rgba(248,250,252,.92) !important;
}
#imprezomat-pwa-v03 .imz-art-brand b {
  display: grid !important;
  place-items: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ff2fa3, #1e88ff) !important;
  box-shadow: 0 0 20px rgba(255,47,163,.44) !important;
  font-size: 15px !important;
  color: #fff !important;
}
#imprezomat-pwa-v03 .imz-art-brand strong {
  font-size: 11px !important;
  letter-spacing: 2px !important;
  font-weight: 900 !important;
}
#imprezomat-pwa-v03 .imz-art-body {
  position: absolute !important;
  z-index: 3 !important;
  left: 16px !important;
  right: 16px !important;
  bottom: 30px !important;
  display: grid !important;
  gap: 5px !important;
  align-content: end !important;
}
#imprezomat-pwa-v03 .imz-art-body .imz-art-icon {
  color: #fff !important;
  font-size: 32px !important;
  line-height: 1 !important;
  text-shadow: 0 0 18px rgba(255,47,163,.72), 0 0 22px rgba(34,125,255,.42) !important;
}
#imprezomat-pwa-v03 .imz-art-body strong {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  color: #fff !important;
  font-size: 20px !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.72) !important;
}
#imprezomat-pwa-v03 .imz-art-body small {
  display: block !important;
  overflow: hidden !important;
  color: rgba(226,232,240,.78) !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#imprezomat-pwa-v03 .imz-art-skyline {
  position: absolute !important;
  z-index: 2 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 34px !important;
  background:
    linear-gradient(90deg, transparent 0 5%, rgba(255,47,163,.72) 5% 8%, transparent 8% 13%, rgba(34,125,255,.70) 13% 16%, transparent 16% 23%, rgba(255,47,163,.64) 23% 28%, transparent 28% 36%, rgba(34,125,255,.52) 36% 39%, transparent 39% 47%, rgba(255,47,163,.48) 47% 52%, transparent 52% 61%, rgba(34,125,255,.62) 61% 65%, transparent 65% 76%, rgba(255,47,163,.56) 76% 81%, transparent 81%),
    linear-gradient(180deg, transparent, rgba(255,47,163,.36)) !important;
  opacity: .78 !important;
  filter: drop-shadow(0 0 10px rgba(255,47,163,.46)) !important;
}
#imprezomat-pwa-v03 .imz-offer-card .imz-generated-art .imz-art-body strong {
  font-size: 18px !important;
}
#imprezomat-pwa-v03 .imz-offer-card .imz-generated-art .imz-art-brand {
  top: 42px !important;
}
#imprezomat-pwa-v03 .imz-offer-card .imz-generated-art .imz-art-body {
  bottom: 28px !important;
}
#imprezomat-pwa-v03 .imz-offer-hero.imz-generated-art {
  aspect-ratio: 16 / 9 !important;
}
#imprezomat-pwa-v03 .imz-offer-hero.imz-generated-art .imz-art-body strong {
  font-size: 28px !important;
}
/* === IMZ generated offer art R1 END === */
