:root{
  --red:#cf3f43;
  --ink:#151515;
  --paper:#f3efe5;
  --cream:#e8e1d1;
  --muted:#7d776d;
  --line:rgba(21,21,21,.15);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:88px;display:flex;align-items:center;justify-content:flex-end;padding:10px clamp(20px,5vw,70px);background:#000;backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.brand{width:155px;height:72px;overflow:visible;background:transparent;display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto}
.brand img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:left center;background:transparent}
.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:28px;color:white;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.07em}.main-nav a:hover{color:#ffd8d8}.nav-cta{background:var(--red);padding:12px 18px;border-radius:999px}.nav-toggle{display:none;background:none;border:0;color:white;font-size:28px}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;background:#111 url('assets/hero.jpg') center 48%/cover no-repeat;color:white;padding:150px clamp(22px,7vw,110px) 92px;overflow:hidden}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:0}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.5) 45%,rgba(0,0,0,.12) 72%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 45%)}.hero-content{position:relative;z-index:2;max-width:760px}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.2em;font-weight:900;margin:0 0 18px}.eyebrow.red{color:var(--red)}h1,h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;letter-spacing:.015em;line-height:.95;margin:0}h1{font-size:clamp(62px,9vw,142px);max-width:900px}.hero-round-logo{display:block;width:clamp(260px,34vw,520px);height:auto;max-height:52vh;object-fit:contain;object-position:left center;margin:0 0 24px;filter:drop-shadow(0 6px 22px rgba(0,0,0,.28))}.hero-lead{font-size:clamp(18px,2vw,26px);max-width:630px;margin:28px 0 32px;color:rgba(255,255,255,.88)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:13px;transition:.2s}.btn-primary{background:var(--red);color:white}.btn-primary:hover{transform:translateY(-2px);background:#b93438}.btn-ghost{border:1px solid rgba(255,255,255,.6);color:white}.btn-ghost:hover{background:white;color:var(--ink)}.btn-ghost.dark{border-color:var(--ink);color:var(--ink)}.scroll-cue{position:absolute;right:32px;bottom:28px;z-index:3;font-size:30px}
.section{padding:clamp(72px,9vw,130px) clamp(20px,7vw,110px)}.section-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(40px,7vw,110px);align-items:center}.copy h2,.menu-heading h2,.gallery-heading h2,.reviews h2,.contact h2,.featured h2{font-size:clamp(48px,7vw,96px)}.copy p{font-size:18px;color:#4a4640;max-width:620px}.text-link{display:inline-block;margin-top:14px;color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.05em}.image-stack{position:relative;padding:0 0 80px 70px}.img-main{width:100%;aspect-ratio:1.25/1;object-fit:cover}.img-float{position:absolute;width:45%;left:0;bottom:0;aspect-ratio:.78/1;object-fit:cover;border:8px solid var(--paper)}
.dark-band{background:#171717;color:white;display:grid;grid-template-columns:1.25fr .75fr;gap:0;padding:0}.featured-image{min-height:620px}.featured-image img{width:100%;height:100%;object-fit:cover}.featured-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,6vw,90px)}.featured-copy p:not(.eyebrow){color:#d4d4d4;font-size:18px;max-width:480px}.featured-copy .btn{align-self:flex-start;margin-top:18px}
.menu{background:#f7f3ea;color:var(--ink)}.menu-heading{max-width:920px}.menu-heading h2{display:inline-block;background:transparent;color:var(--ink);padding:0}.menu-heading p:not(.eyebrow){font-size:18px;color:#59534a}.menu-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:42px 0 26px}.menu-tab{cursor:pointer;border:1px solid var(--red);background:transparent;color:var(--red);padding:12px 18px;border-radius:999px;font-weight:800}.menu-tab.active,.menu-tab:hover{background:var(--red);color:white;border-color:var(--red)}.menu-panel{display:none;background:#efe9de;color:var(--ink);border:1px solid #ddd4c7;padding:clamp(22px,4vw,48px)}.menu-panel.active{display:block}.menu-note{color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}.menu-list article{display:grid;grid-template-columns:1fr auto;gap:22px;padding:21px 0;border-bottom:1px solid #d2c8b9}.menu-list article:last-child{border-bottom:0}.menu-list h3{margin:0 0 4px;font-size:19px}.menu-list p{margin:0;color:#59534a;max-width:850px}.menu-list strong{white-space:nowrap;font-size:18px}.compact article{padding:16px 0}.subhead{font-size:26px;margin:28px 0 10px;text-transform:uppercase}.drink-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.price-list{list-style:none;padding:0;margin:0}.price-list li{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #d2c8b9}.tiny,.allergen{color:#aaa39a;font-size:14px}.allergen{margin-top:20px}.pdf-link-wrap{margin-top:36px}
.gallery{background:var(--paper)}.gallery-heading{max-width:900px;margin-bottom:42px}.gallery-carousel{position:relative}.gallery-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:2px}.gallery-track::-webkit-scrollbar{display:none}.gallery-track img{flex:0 0 calc((100% - 28px)/3);height:360px;object-fit:cover;scroll-snap-align:start;border-radius:2px}.gallery-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:50px;height:50px;border:0;border-radius:50%;background:rgba(17,17,17,.88);color:white;font-size:36px;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.18)}.gallery-arrow:hover{background:var(--red)}.gallery-prev{left:-25px}.gallery-next{right:-25px}
.reviews{background:#1d1d1d;color:white}.reviews-inner{display:flex;align-items:end;justify-content:space-between;gap:40px}.reviews-inner>div{max-width:800px}.reviews p:not(.eyebrow){color:#ccc;font-size:18px}.reviews .btn{white-space:nowrap}
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;background:#ddd4c4;align-items:stretch}.contact-card{background:var(--paper);padding:clamp(34px,5vw,70px)}.contact-side{display:grid;grid-template-rows:auto 1fr;gap:18px}.hours-card{background:var(--paper);padding:clamp(28px,4vw,48px)}.contact-details{display:grid;gap:26px;margin-top:38px}.contact-details span{display:block;text-transform:uppercase;font-weight:900;font-size:12px;letter-spacing:.14em;color:var(--red);margin-bottom:6px}.contact-details a{font-size:21px;font-weight:800}.map-wrap{min-height:520px}.map-wrap iframe{width:100%;height:100%;border:0}.map-small{min-height:260px;height:300px}
footer{background:#111;color:#aaa;padding:38px clamp(20px,7vw,110px);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:20px;font-size:13px}.footer-brand{display:flex;align-items:center}.footer-brand img{width:150px;height:auto;max-height:58px;object-fit:contain;filter:brightness(0) invert(1)}.mobile-call{display:none}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.contact-side{grid-template-rows:auto auto}.map-small{height:320px;min-height:320px}.main-nav{position:absolute;top:88px;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;background:#171717;padding:24px}.main-nav.open{display:flex}.nav-toggle{display:block}.section-grid,.dark-band,.contact{grid-template-columns:1fr}.dark-band{padding:0}.featured-image{min-height:430px}.drink-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid img,.gallery-grid img:nth-child(2),.gallery-grid img:nth-child(5),.gallery-grid img:nth-child(8){height:420px;grid-row:auto}.gallery-grid img:nth-child(3){grid-column:auto}.reviews-inner{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr 1fr}.footer-note{grid-column:1/-1}.map-wrap{min-height:420px}}
@media(max-width:640px){.hero-round-logo{width:min(76vw,360px);max-height:42vh;margin-bottom:18px}.site-header{height:76px;padding:6px 16px}.brand{width:125px;height:62px}.main-nav{top:76px}.hero{padding:130px 20px 82px;background-position:58% center}.hero-video{object-position:58% center}.hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.28)),linear-gradient(0deg,rgba(0,0,0,.55),transparent 60%)}h1{font-size:58px}.hero-round-logo{display:block;width:clamp(260px,34vw,520px);height:auto;max-height:52vh;object-fit:contain;object-position:left center;margin:0 0 24px;filter:drop-shadow(0 6px 22px rgba(0,0,0,.28))}.hero-lead{font-size:18px}.section{padding:72px 20px}.image-stack{padding:0 0 56px 34px}.img-float{border-width:5px}.featured-image{min-height:360px}.featured-copy{padding:52px 20px}.copy h2,.menu-heading h2,.gallery-heading h2,.reviews h2,.contact h2,.featured h2{font-size:49px}.menu-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.menu-tab{white-space:nowrap}.menu-panel{padding:18px}.menu-list article{grid-template-columns:1fr;gap:7px}.menu-list strong{color:var(--red)}.drink-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.gallery-grid img,.gallery-grid img:nth-child(2),.gallery-grid img:nth-child(3),.gallery-grid img:nth-child(5),.gallery-grid img:nth-child(8){height:390px;grid-column:auto;grid-row:auto}.contact{padding:0}.map-wrap{min-height:350px}.reviews{padding-bottom:100px}footer{grid-template-columns:1fr;padding-bottom:90px}.mobile-call{display:block;position:fixed;z-index:120;left:12px;right:12px;bottom:12px;background:var(--red);color:white;text-align:center;padding:14px;border-radius:999px;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.25)}}

/* Godziny otwarcia */
.opening-hours .hours-list { margin-top: 8px; min-width: 180px; max-width:520px; }
.opening-hours .hours-list div { display:flex; justify-content:space-between; gap:24px; padding:7px 0; border-bottom:1px solid #ddd4c7; }
.opening-hours .hours-list b { font-weight:700; }
.opening-hours .hours-list em { font-style:normal; white-space:nowrap; }

@media(max-width:980px){.gallery-track img{flex-basis:calc((100% - 14px)/2);height:340px}.gallery-prev{left:-12px}.gallery-next{right:-12px}}
@media(max-width:640px){.gallery-track img{flex-basis:86%;height:360px}.gallery-arrow{width:44px;height:44px;font-size:31px}.gallery-prev{left:-8px}.gallery-next{right:-8px}}

.opening-hours .hours-list div:last-child{border-bottom:0}

/* Hero logo refinement */
.hero-content > .eyebrow{width:clamp(220px,28vw,420px);text-align:center;margin-bottom:14px}
.hero-round-logo{width:clamp(220px,28vw,420px);margin:0 0 24px;object-position:center center}
@media(max-width:640px){
  .hero-content > .eyebrow{width:min(68vw,310px);text-align:center;margin-bottom:12px}
  .hero-round-logo{width:min(68vw,310px);max-height:38vh;margin:0 0 18px;object-position:center center}
}


/* Social media links in contact */
.social-links{display:flex;align-items:center;gap:12px;margin-top:32px}
.social-icon{width:48px;height:48px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#171717;color:#fff;transition:transform .2s ease,background .2s ease}
.social-icon svg{width:25px;height:25px;fill:currentColor}
.social-icon:hover{background:var(--red);transform:translateY(-2px)}


/* Contact — three-card layout */
.contact{display:block;background:#ddd4c4}
.contact-heading{margin-bottom:30px}
.contact-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.contact-tile{background:var(--paper);padding:clamp(26px,3.2vw,44px);min-height:300px;display:flex;flex-direction:column}
.contact-tile h3{font-size:clamp(24px,2.2vw,34px);margin:10px 0 18px}
.contact-main-link,.contact-phone{font-size:21px;font-weight:800;line-height:1.45}
.contact-phone{font-size:clamp(27px,2.6vw,38px)}
.tile-link{margin-top:auto;padding-top:24px;color:var(--red);font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.06em}
.social-label{margin:32px 0 12px;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.12em;color:#6b6258}
.contact-map{height:260px;min-height:260px;margin-top:18px}
.social-links{margin-top:0}
.social-icon{width:48px;height:48px;background:#eee6d9;color:#2b2926;border:1px solid #d8cdbd}
.social-icon:hover{background:var(--red);color:#fff;border-color:var(--red)}
.social-icon.facebook{color:#4267B2}
.social-icon.instagram{color:#b23a73}
.social-icon.facebook:hover,.social-icon.instagram:hover{color:#fff}
.contact-tile .hours-list{margin-top:12px;max-width:none;min-width:0}
.contact-tile .hours-list div{padding:6px 0}
@media(max-width:980px){.contact-tiles{grid-template-columns:1fr 1fr}.contact-tile:last-child{grid-column:1/-1}.contact-map{height:280px;min-height:280px}}
@media(max-width:640px){.contact{padding:72px 20px}.contact-tiles{grid-template-columns:1fr}.contact-tile:last-child{grid-column:auto}.contact-tile{min-height:0}.contact-map{height:240px;min-height:240px}}

/* Mobile typography refinement */
@media(max-width:640px){
  .copy h2,
  .menu-heading h2,
  .gallery-heading h2,
  .reviews h2,
  .contact h2,
  .featured h2{font-size:clamp(36px,11vw,44px);line-height:1}
  .featured-copy p:not(.eyebrow),
  .copy p,
  .reviews p:not(.eyebrow),
  .menu-heading p:not(.eyebrow){font-size:16px;line-height:1.55}
  .eyebrow{font-size:11px;letter-spacing:.16em}
  .subhead{font-size:22px}
  .contact-tile h3{font-size:25px}
  .contact-main-link{font-size:18px}
  .contact-phone{font-size:28px}
  .hero-lead{font-size:16px;line-height:1.5}
  .btn{font-size:12px;padding:13px 19px}
}

/* Opinie Google - 5 wybranych kart */
.reviews-heading{max-width:900px;margin-bottom:38px}.google-rating{display:flex;align-items:center;gap:12px;margin-top:20px;color:#ddd}.stars{color:#f4b400;letter-spacing:.08em;font-size:19px}.google-rating strong{font-size:20px;color:#fff}.google-rating span:last-child{color:#aaa}.reviews-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.review-card{background:#272727;border:1px solid rgba(255,255,255,.09);padding:26px 22px;min-height:230px;display:flex;flex-direction:column}.review-card p{font-size:16px!important;line-height:1.55;color:#eee!important;margin:18px 0 22px}.review-source{margin-top:auto;color:#999;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.reviews-action{margin-top:30px}
@media(max-width:1100px){.reviews-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.reviews-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px;scrollbar-width:none}.reviews-grid::-webkit-scrollbar{display:none}.review-card{flex:0 0 84%;min-height:210px;scroll-snap-align:start}.reviews-heading{margin-bottom:26px}.google-rating{flex-wrap:wrap}}
/* Realne opinie Google — dłuższe treści */
.review-card{min-height:330px}.review-card p{font-size:15px!important;line-height:1.5}@media(max-width:760px){.review-card{min-height:320px}}

/* Footer layout refinement */
footer{grid-template-columns:1fr auto 1fr}
.footer-location{justify-self:start}
.footer-brand{justify-self:center}
.footer-brand img{width:92px;max-height:92px;object-fit:contain;filter:none}
.footer-note{justify-self:end}
@media(max-width:980px){footer{grid-template-columns:1fr auto 1fr}.footer-note{grid-column:auto}}
@media(max-width:640px){footer{grid-template-columns:1fr;justify-items:center;text-align:center}.footer-location,.footer-brand,.footer-note{justify-self:center}.footer-brand{grid-row:1}.footer-location{grid-row:2}.footer-note{grid-row:3}.footer-brand img{width:82px;max-height:82px}}

/* Footer: full width like the top navigation bar */
footer, .footer, .site-footer {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}

/* Fix: slider specjalności na pełną szerokość */
.special-carousel{width:100%!important;max-width:none!important}
.special-track{width:100%!important;display:flex!important}
.special-slide{width:100%!important;min-width:100%!important;flex:0 0 100%!important}


/* FINAL FIX: slider naprawdę na całą szerokość sekcji */
.featured.dark-band:has(.special-carousel){
  display:block !important;
  width:100% !important;
  padding:0 !important;
}
.featured.dark-band .special-carousel{
  width:100% !important;
  max-width:none !important;
  overflow:hidden !important;
}
.featured.dark-band .special-track{
  display:flex !important;
  width:100% !important;
}
.featured.dark-band .special-slide{
  flex:0 0 100% !important;
  width:100% !important;
  min-width:100% !important;
}
.featured.dark-band .special-original{
  display:grid !important;
  grid-template-columns:1.25fr .75fr !important;
  gap:0 !important;
  background:#171717;
  color:#fff;
}
.featured.dark-band .special-original .featured-image{
  min-height:620px;
}
.featured.dark-band .special-original .featured-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
@media(max-width:980px){
  .featured.dark-band .special-original{
    grid-template-columns:1fr !important;
  }
  .featured.dark-band .special-original .featured-image{
    min-height:430px;
  }
}
@media(max-width:640px){
  .featured.dark-band .special-original .featured-image{
    min-height:360px;
  }
}


/* Dolny czarny pasek - wysokość jak górny pasek */
footer, .footer, .site-footer{
  padding-top:18px!important;
  padding-bottom:18px!important;
  min-height:0!important;
}
footer .footer-inner, .footer .footer-inner, .site-footer .footer-inner{
  min-height:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
footer img, .footer img, .site-footer img{
  max-height:48px!important;
  width:auto!important;
}
@media(max-width:700px){
  footer, .footer, .site-footer{
    padding-top:14px!important;
    padding-bottom:14px!important;
  }
  footer img, .footer img, .site-footer img{max-height:42px!important}
}
