/* poprawki: logo, pasek, promo Aperol, dostawy, stopka, przyjęcia */
.logo img{align-self:flex-start;width:auto;max-width:none;object-fit:contain}
.site-footer .logo img{height:78px;width:auto}
.topbar{display:block;text-align:center;background:var(--red);color:#fbf1de;font-size:.85rem;letter-spacing:.06em;padding:8px 14px}
.topbar:hover{color:#fff;background:#c4161f}
.topbar b{font-weight:500;text-transform:uppercase;letter-spacing:.12em}

.aperol{background:linear-gradient(120deg,#f4b942,#f08a24);color:#2a1406;padding:clamp(48px,7vw,84px) 0}
.aperol .eyebrow{color:#7a2c06}
.aperol h2{font-size:clamp(2.4rem,6vw,4.4rem);margin-bottom:1rem}
.aperol h2 em{color:#fff;font-style:italic;text-shadow:0 2px 0 rgba(122,44,6,.25)}
.aperol p{color:#3d1d09}
.aperol .btn{background:#2a1406;border-color:#2a1406;color:#fbe9c8}
.aperol .btn:hover{background:#4a2410}
.aperol .btn.ghost{background:transparent;color:#2a1406}
.aperol .btn.ghost:hover{background:#2a1406;color:#fbe9c8}
.aperol-img img{width:100%;max-width:520px;margin:0 auto;border-radius:18px;box-shadow:0 20px 50px rgba(90,30,0,.35);transform:rotate(2deg)}
.aperol-card{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:center;margin:0 auto 2.4rem;padding:18px;border:1px solid var(--gold);border-radius:14px;background:linear-gradient(120deg,rgba(244,185,66,.14),rgba(240,138,36,.1))}
.aperol-card img{border-radius:10px;width:100%}
.aperol-card h3{font-size:2rem}
.big-price{font:600 3rem/1 var(--serif);color:var(--gold2);margin:.3rem 0 .5rem}

.promo{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:rgba(8,6,5,.82);backdrop-filter:blur(4px);animation:fade .35s}
.promo[hidden]{display:none}
.promo-box{position:relative;display:grid;grid-template-columns:1fr 1fr;max-width:860px;width:100%;background:#fbf3df;color:#2a1406;border-radius:16px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6);animation:pop .4s cubic-bezier(.2,.9,.3,1.2)}
.promo-box img{width:100%;height:100%;object-fit:cover}
.promo-txt{padding:clamp(24px,4vw,44px);align-self:center}
.promo-txt .eyebrow{color:var(--red)}
.promo-txt h2{font-size:clamp(2rem,4.5vw,3rem);color:#b3121a;margin-bottom:.8rem}
.promo-txt p{color:#4a2a14}
.promo-txt .btn{margin:6px 6px 0 0;padding:12px 20px}
.promo-txt .btn.ghost{color:#8a1018;border-color:#8a1018}
.promo-txt .btn.ghost:hover{background:#8a1018;color:#fff}
.promo-x{position:absolute;top:8px;right:12px;z-index:2;background:rgba(255,255,255,.8);border:0;border-radius:50%;width:38px;height:38px;font-size:1.6rem;line-height:1;cursor:pointer;color:#2a1406}
@keyframes fade{from{opacity:0}}
@keyframes pop{from{opacity:0;transform:translateY(20px) scale(.96)}}

.delivery{background:linear-gradient(180deg,var(--bg2),#150f0c);border-top:1px solid var(--line);padding:clamp(44px,6vw,72px) 0}
.delivery .wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;align-items:center}
.del-head h3{font-size:clamp(1.8rem,3.5vw,2.5rem);margin-bottom:.5rem}
.del-head p:last-child{color:var(--muted)}
.del-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.del{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:20px 22px;border-radius:12px;color:#fff;transition:transform .2s,box-shadow .2s;min-height:92px}
.del:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.45);color:#fff}
.del span{font:600 1.7rem/1.1 var(--serif);letter-spacing:.02em}
.del small{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
.del-wolt{background:#009de0}
.del-uber{background:#06c167}
.del-glovo{background:#ffc244;color:#2a1c00}.del-glovo:hover{color:#2a1c00}
.del-pyszne{background:#ff8000}

.site-footer{padding-top:56px}
.foot-grid{grid-template-columns:1.3fr 1fr 1fr .8fr;gap:44px}
.foot-brand .muted{margin-top:.8rem}
.socials{display:flex;gap:12px;margin-top:1.2rem}
.soc{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;color:var(--text);background:var(--card);transition:.2s}
.soc svg{width:21px;height:21px}
.soc:hover{background:var(--gold);border-color:var(--gold);color:#1a120a;transform:translateY(-2px)}
.flinks{list-style:none;padding:0}
.flinks li{padding:3px 0}
.flinks a{color:var(--text);font-size:.95rem}
.flinks a:hover{color:var(--gold)}
.site-footer .hours li{gap:12px;white-space:nowrap}

.ev-tabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-bottom:3rem}
.ev-tab{flex:1 1 150px;max-width:210px;background:var(--card);color:var(--text);border:1px solid var(--line);padding:15px 12px;font:500 .9rem var(--sans);letter-spacing:.04em;cursor:pointer;border-radius:3px;transition:.2s}
.ev-tab:hover{border-color:var(--gold)}
.ev-tab.on{background:var(--gold);border-color:var(--gold);color:#1a120a;position:relative}
.ev-tab.on::after{content:"";position:absolute;left:50%;bottom:-8px;margin-left:-8px;border:8px solid transparent;border-bottom:0;border-top-color:var(--gold)}
.js .ev-panel{display:none}
.js .ev-panel.on{display:block;animation:fade .4s}
.ev-panel{margin-bottom:2rem}
.ev-main{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:clamp(28px,5vw,64px);align-items:center;max-width:960px;margin:0 auto 3rem}
.arch{aspect-ratio:3/4;border:1px solid var(--gold);border-radius:999px 999px 6px 6px;padding:9px}
.arch img{width:100%;height:100%;object-fit:cover;border-radius:999px 999px 3px 3px}
.ev-text h2{color:var(--gold);text-transform:uppercase;font-size:clamp(1.8rem,3.4vw,2.6rem)}
.ev-text p{color:#d6cab6}
.ev-text .btn{margin:8px 8px 0 0}
.car{position:relative;max-width:1060px;margin:0 auto}
.car-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.car-track::-webkit-scrollbar{display:none}
.car-track a{flex:0 0 calc((100% - 28px)/3);scroll-snap-align:start;border-radius:6px;overflow:hidden;border:1px solid var(--gold);aspect-ratio:4/3;background:var(--card)}
.car-track img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.car-track a:hover img{transform:scale(1.05)}
.car-b{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);background:rgba(18,14,12,.85);color:var(--gold);font-size:1.6rem;line-height:1;cursor:pointer}
.car-b.prev{left:-18px}.car-b.next{right:-18px}
.car-b:hover{background:var(--gold);color:#1a120a}

@media(max-width:860px){
  .promo-box{grid-template-columns:1fr}
  .promo-box img{height:200px}
  .aperol-card{grid-template-columns:1fr}
  .delivery .wrap{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
  .ev-main{grid-template-columns:1fr}
  .arch{max-width:320px;margin:0 auto}
  .car-track a{flex-basis:78%}
  .car-b.prev{left:4px}.car-b.next{right:4px}
}
@media(max-width:520px){.del-grid{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr}.ev-tab{flex-basis:45%;max-width:none}}

/* ===== Aperol: kompozycja ze szklanką ===== */
.aperol{background:radial-gradient(circle at 70% 50%,#fff6df 0,#fbf0d6 45%,#f6e3b8 100%);color:#2a1406;position:relative;overflow:hidden}
.aperol::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(200,68,47,.045) 0 38px,transparent 38px 76px);pointer-events:none}
.aperol .split{position:relative;z-index:1}
.aperol h2{color:#b3121a}
.aperol h2 em{color:#f08a24;text-shadow:none}
.aperol p{color:#4a2a14}
.aperol .eyebrow{color:#b3121a}
.aperol .btn{background:#b3121a;border-color:#b3121a;color:#fff}
.aperol .btn:hover{background:#d01414;border-color:#d01414}
.aperol .btn.ghost{background:transparent;color:#b3121a}
.aperol .btn.ghost:hover{background:#b3121a;color:#fff}

.ap-stage{position:relative;container-type:inline-size;width:100%;max-width:520px;margin:0 auto;aspect-ratio:1/1.08;display:grid;place-items:center}
.ap-word{position:absolute;top:6%;left:50%;transform:translateX(-50%);font:400 clamp(4rem,31cqw,11rem)/1 'Anton',Impact,sans-serif;font-size:31cqw;letter-spacing:.01em;color:#ff9a3c;-webkit-text-stroke:.6cqw #f4c14d;paint-order:stroke fill;text-shadow:0 .8cqw 0 rgba(244,193,77,.55);z-index:0;white-space:nowrap;user-select:none}
.ap-glass{position:relative;z-index:1;height:92%;width:auto;margin-top:8%;filter:drop-shadow(0 3cqw 2.4cqw rgba(110,40,0,.35));animation:apfloat 5.5s ease-in-out infinite;transform-origin:50% 90%}
.ap-badge{position:absolute;z-index:2;right:2%;bottom:7%;width:33%;aspect-ratio:1;border-radius:50%;display:grid;align-content:center;justify-items:center;background:#f4c14d;color:#fff;text-align:center;box-shadow:0 0 0 .8cqw #fbf0d6,0 0 0 1.2cqw #f4c14d,0 2cqw 3cqw rgba(110,40,0,.3);transform:rotate(-10deg);animation:apbadge 3s ease-in-out infinite}
.ap-badge small{font:400 5.2cqw/1 'Anton',Impact,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#7a2c06}
.ap-badge b{font:400 10.5cqw/1 'Anton',Impact,sans-serif;color:#b3121a;text-shadow:0 .5cqw 0 #fff}
@keyframes apfloat{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-2.2%) rotate(1.5deg)}}
@keyframes apbadge{0%,100%{transform:rotate(-10deg) scale(1)}50%{transform:rotate(-6deg) scale(1.06)}}
@media(prefers-reduced-motion:reduce){.ap-glass,.ap-badge{animation:none}}

/* wariant w popupie i w menu */
.promo-box{background:#fbf3df;grid-template-columns:1fr 1.05fr;overflow:visible}
.promo-box .ap-stage{max-width:none;aspect-ratio:auto;min-height:380px;background:radial-gradient(circle at 50% 60%,#fff6df,#f6e3b8);border-radius:16px 0 0 16px;overflow:visible}
.promo-box .ap-glass,.aperol-card .ap-glass{width:auto;object-fit:contain;border-radius:0}
.promo-box .ap-glass{height:96%;margin-top:-6%;position:relative}
.promo-box .ap-word{top:18%;font-size:34cqw}
.promo-box .ap-badge{right:4%;bottom:6%;width:36%}
.promo-txt{border-radius:0 16px 16px 0}
.aperol-card{grid-template-columns:200px 1fr;background:linear-gradient(120deg,#fbf0d6,#f6e3b8);color:#2a1406}
.aperol-card .eyebrow{color:#b3121a}
.aperol-card h3{color:#b3121a}
.aperol-card .big-price{color:#f08a24}
.aperol-card .muted{color:#6b4a2e}
.aperol-card .ap-stage{max-width:200px}
.aperol-card .ap-glass{margin-top:6%}
@media(max-width:860px){
  .promo-box{grid-template-columns:1fr;margin-top:70px}
  .promo-box .ap-stage{min-height:260px;border-radius:16px 16px 0 0}
  .promo-box .ap-glass{height:112%;margin-top:-16%}
  .promo-txt{border-radius:0 0 16px 16px}
  .aperol-card{grid-template-columns:1fr}
  .aperol-card .ap-stage{max-width:240px;margin:0 auto}
}

/* popup: stała wysokość sceny */
.promo-box .ap-stage{height:min(420px,62vh);min-height:0}
.promo-box .ap-glass{height:100%;margin-top:-4%}
@media(max-width:860px){.promo-box .ap-stage{height:min(300px,38vh)}.promo-box .ap-glass{height:108%;margin-top:-12%}}
.ap-stage{grid-template-rows:minmax(0,1fr)}

/* ===== Dostawa ===== */
.route{display:flex;align-items:center;gap:14px;max-width:820px;margin:0 auto 3.2rem}
.pin{flex:none;border:1px solid var(--gold);color:var(--gold);padding:7px 16px;border-radius:99px;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;background:var(--card)}
.pin.home{border-color:var(--text);color:var(--text)}
.road{position:relative;flex:1;height:84px;background:linear-gradient(var(--line),var(--line)) center bottom 14px/100% 2px no-repeat}
.road::after{content:"";position:absolute;left:0;right:0;bottom:13px;border-bottom:3px dashed #5a4a3a}
.rider{position:absolute;bottom:14px;left:0;width:84px;color:var(--gold2);animation:ride 6s ease-in-out infinite}
.rider svg{width:100%;height:auto;display:block;animation:bump .5s ease-in-out infinite}
@keyframes ride{0%{left:0;opacity:0}8%{opacity:1}88%{opacity:1}100%{left:calc(100% - 84px);opacity:0}}
@keyframes bump{50%{transform:translateY(-3px)}}
.dgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:900px;margin:2rem auto 0}
.dcard{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:170px;padding:26px 28px;border-radius:16px;color:#fff;transition:transform .25s,box-shadow .25s}
.dcard::after{content:"";position:absolute;right:-40px;top:-40px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.14);transition:transform .4s}
.dcard:hover{transform:translateY(-5px) rotate(-.4deg);box-shadow:0 22px 44px rgba(0,0,0,.5);color:#fff}
.dcard:hover::after{transform:scale(1.6)}
.dn{font:600 2.6rem/1 var(--serif);letter-spacing:.01em;position:relative;z-index:1}
.dgo{font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;position:relative;z-index:1}
.dgo i{font-style:normal;display:inline-block;transition:transform .25s}
.dcard:hover .dgo i{transform:translateX(6px)}
.dcard.del-glovo{color:#2a1c00}.dcard.del-glovo:hover{color:#2a1c00}
.dcard.del-glovo::after{background:rgba(255,255,255,.35)}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:2.4rem;counter-reset:s}
.steps li{position:relative;padding:2rem 1.6rem;border:1px solid var(--line);background:var(--card);border-radius:3px;text-align:center}
.steps b{display:grid;place-items:center;width:46px;height:46px;margin:-3.2rem auto 1rem;border-radius:50%;background:var(--gold);color:#1a120a;font:600 1.4rem var(--serif)}
.steps p{color:var(--muted);margin-top:.4rem}
.dice{margin:2rem auto;padding:2rem 1.4rem;max-width:560px;border:1px dashed var(--gold);border-radius:14px;background:var(--card);min-height:190px;display:grid;align-content:center;gap:.4rem}
.dice-n{font:600 clamp(2rem,6vw,3rem)/1.1 var(--serif);color:var(--gold2)}
.dice-d{color:var(--muted);max-width:440px;margin:0 auto}
.dice-p{font:500 1.5rem var(--sans);color:var(--text)}
.dice.roll .dice-n{animation:shake .12s linear 5}
@keyframes shake{25%{transform:translateY(-4px) rotate(-1deg)}75%{transform:translateY(3px) rotate(1deg)}}
@media(max-width:700px){.dgrid,.steps{grid-template-columns:1fr}.steps{gap:42px}.route .pin{font-size:.65rem;padding:6px 10px}.rider{width:64px}@keyframes ride{0%{left:0;opacity:0}8%{opacity:1}88%{opacity:1}100%{left:calc(100% - 64px);opacity:0}}}
@media(prefers-reduced-motion:reduce){.rider,.rider svg{animation:none;left:40%}}

/* losowanie: stała wysokość, bez skakania */
.dice{min-height:270px;align-content:center}
.dice-n{min-height:1.2em}
.dice-d{min-height:5.2em;display:flex;align-items:center;justify-content:center}
.dice-p{min-height:1.6em}
@media(max-width:700px){.dice{min-height:330px}.dice-d{min-height:7.4em}}

/* okładki przyjęć: proporcje łuku z gotowych grafik */
.arch{aspect-ratio:374/596;background:var(--card)}
.arch img{object-position:center}

/* formularz rezerwacji: pole-pułapka na boty i ekran sukcesu */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rez-ok{padding:2.4rem;border:1px solid var(--gold);border-radius:14px;background:var(--card);text-align:center}
.rez-ok h2{color:var(--gold2)}

/* rezerwacja: równe pola w rzędzie i podpowiedź pod nimi */
.form .two{align-items:start}
.form .hint{margin:-6px 0 0}
