:root{--navy:#071b26;--navy2:#0d2935;--ivory:#f4f0e7;--ink:#172027;--brass:#bd9860;--line:rgba(244,240,231,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.6 "DM Sans",sans-serif}a{color:inherit;text-decoration:none}.topbar{position:absolute;z-index:5;top:0;left:0;right:0;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;color:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;line-height:1}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--brass);border-radius:50%;font:italic 600 22px "Playfair Display",serif;color:var(--brass)}.brand strong,.brand small{display:block;letter-spacing:.18em}.brand strong{font-size:17px}.brand small{font-size:8px;margin-top:6px;color:#d3c6b5}.topbar nav{display:flex;gap:2.2rem}.topbar nav a{font-size:14px}.nav-cta{border:1px solid rgba(255,255,255,.55);padding:11px 18px;font-size:14px}.hero{height:min(900px,100svh);min-height:720px;position:relative;background:var(--navy);color:white;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,16,24,.97) 0%,rgba(3,16,24,.72) 35%,rgba(3,16,24,.08) 76%),linear-gradient(0deg,rgba(3,16,24,.45),transparent 45%)}.hero-copy{position:absolute;z-index:2;left:8vw;top:52%;transform:translateY(-45%);max-width:650px}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:12px;font-weight:600;color:#dcc39b}.eyebrow:before{content:"";display:inline-block;width:34px;border-top:1px solid currentColor;vertical-align:middle;margin-right:14px}.hero h1,.signature h2,.menu-section h2,.story h2,.reserve h2,.contact h2{font:600 clamp(50px,7vw,100px)/.96 "Playfair Display",serif;letter-spacing:-.035em;margin:.26em 0}.hero h1 em,.signature h2 em{font-weight:600;color:#dcc39b}.lead{font-size:18px;max-width:570px;color:#e7e5df}.actions{display:flex;gap:12px;margin-top:30px}.button{padding:14px 22px;border:1px solid rgba(255,255,255,.55);font-weight:600;font-size:14px}.button.primary{background:var(--ivory);color:var(--navy);border-color:var(--ivory)}.hero-note{position:absolute;z-index:2;bottom:35px;left:8vw;right:6vw;display:flex;align-items:center;gap:20px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.hero-note span{color:var(--brass)}.hero-note i{font-style:normal;margin-left:auto;font-size:22px}.signature{background:var(--navy);color:var(--ivory);padding:120px 8vw}.section-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.24em;color:var(--brass);padding-bottom:30px;border-bottom:1px solid var(--line)}.signature-grid{display:grid;grid-template-columns:1.5fr .75fr;gap:8vw;align-items:end;padding:50px 0 75px}.signature h2{font-size:clamp(42px,5vw,74px);margin:0}.signature-grid>div p{color:#bec8cc}.text-link{display:inline-block;margin-top:18px;border-bottom:1px solid var(--brass);padding-bottom:5px;color:white}.text-link span{color:var(--brass);margin-left:14px}.process{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process article{padding:35px 40px 40px 0;border-right:1px solid var(--line)}.process article+article{padding-left:40px}.process article:last-child{border-right:0}.process span{color:var(--brass);font-size:12px}.process h3{font:600 27px "Playfair Display",serif;margin:12px 0}.process p{color:#9eacb1;margin:0}.menu-section{padding:120px 6vw}.menu-head{display:grid;grid-template-columns:1.3fr .7fr;gap:10vw;align-items:end;margin-bottom:55px}.eyebrow.dark{color:#8a683d}.menu-head h2,.reserve h2{font-size:clamp(45px,5vw,76px);margin-bottom:0}.menu-head>p{max-width:430px;color:#596268}.menu-cards{display:grid;grid-template-columns:1.35fr repeat(3,1fr);min-height:410px}.menu-cards article{padding:30px;display:flex;flex-direction:column;background:#e9e3d8;border-right:1px solid #cfc7b9}.menu-cards article:last-child{border-right:0}.menu-cards .featured{background:var(--navy2);color:white;justify-content:space-between}.badge{align-self:flex-start;border:1px solid var(--brass);color:#dcc39b;padding:6px 10px;text-transform:uppercase;letter-spacing:.14em;font-size:10px}.menu-cards p{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#8a683d}.menu-cards h3{font:600 31px/1.05 "Playfair Display",serif;margin:10px 0}.menu-cards a{font-size:13px;margin-top:auto}.menu-cards small{color:#aebbbf}.menu-cards b{color:#dcc39b;font-size:12px}.card-no{color:#9b8f80;font-size:12px}.story{min-height:690px;background:linear-gradient(120deg,#0b222e,#153746);padding:8vw;display:flex;align-items:center;justify-content:flex-end}.story-card{width:min(650px,100%);background:rgba(4,20,28,.8);color:white;padding:60px}.story-card h2{font-size:58px}.story-card>p:not(.eyebrow){color:#c6d0d3;max-width:530px}.story-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);padding-top:25px;margin-top:35px}.story-stats span{font-size:12px;color:#9cabb0}.story-stats b{display:block;color:white;font:600 22px "Playfair Display",serif}.reserve{padding:110px 8vw}.reserve h2{font-size:clamp(45px,5vw,72px)}form{display:grid;grid-template-columns:1fr 1fr 1fr auto;border-top:1px solid #bbb2a4;border-bottom:1px solid #bbb2a4;margin-top:50px}label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;padding:18px;border-right:1px solid #bbb2a4;color:#7a6d5c}select,input{display:block;width:100%;border:0;background:transparent;font:500 17px "DM Sans",sans-serif;color:var(--ink);margin-top:8px;outline:none}form button{border:0;background:var(--navy);color:white;padding:20px 35px;font-weight:600;font-size:14px}.form-note{font-size:13px;color:#766d62}.contact{background:var(--navy);color:white;padding:90px 8vw;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:6vw;align-items:end}.contact h2{font-size:48px}.contact address{font-style:normal;color:#c1ccd0}.contact-actions{display:flex;flex-direction:column;gap:14px}.contact-actions a{border-bottom:1px solid var(--line);padding-bottom:10px}footer{background:#03121a;color:#91a0a5;padding:28px 6vw;display:flex;align-items:center;justify-content:space-between;font-size:12px}.mobile-nav{display:none}
@media(max-width:900px){.topbar{height:76px}.topbar nav,.nav-cta{display:none}.hero{min-height:700px;height:92svh}.hero>img{object-position:65% center}.hero-shade{background:linear-gradient(90deg,rgba(3,16,24,.94),rgba(3,16,24,.3)),linear-gradient(0deg,rgba(3,16,24,.6),transparent)}.hero-copy{left:6vw;right:6vw;top:49%;}.hero h1{font-size:62px}.lead{font-size:16px;max-width:430px}.signature,.menu-section,.reserve{padding:80px 6vw}.signature-grid,.menu-head{grid-template-columns:1fr;gap:35px}.process{grid-template-columns:1fr}.process article,.process article+article{padding:25px 0;border-right:0;border-bottom:1px solid var(--line)}.menu-cards{grid-template-columns:1fr 1fr}.menu-cards article{min-height:300px}.story{padding:0}.story-card{width:100%;padding:70px 7vw;background:rgba(4,20,28,.72)}form{grid-template-columns:1fr 1fr}form label:nth-child(2){border-right:0}form button{grid-column:1/-1}.contact{grid-template-columns:1fr 1fr}.contact-actions{grid-column:1/-1}.mobile-nav{position:fixed;z-index:10;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);background:#f4f0e7;border-top:1px solid #c8bca9}.mobile-nav a{text-align:center;padding:13px 6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}footer{padding-bottom:80px}}
@media(max-width:560px){.hero h1{font-size:52px}.actions{flex-direction:column;align-items:flex-start}.hero-note{display:none}.signature h2{font-size:40px}.menu-cards{grid-template-columns:1fr}.menu-cards article{min-height:260px;border-right:0;border-bottom:1px solid #cfc7b9}.story-card h2{font-size:43px}.story-stats{grid-template-columns:1fr}.contact{grid-template-columns:1fr}.contact address{margin:10px 0}footer{align-items:flex-start;gap:20px}footer>p{text-align:right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* Pelne menu — 2026-09-19 */
.full-menu{margin-top:100px;border-top:1px solid #cfc7b9;padding-top:70px}
.full-menu-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:7vw;align-items:end;margin-bottom:55px}
.full-menu-intro .eyebrow{grid-column:1/-1}
.full-menu-intro h3{font:600 clamp(40px,5vw,68px)/1 "Playfair Display",serif;margin:12px 0 0}
.full-menu-intro>p:last-child{max-width:460px;color:#687076;margin:0 0 5px}
.menu-category{padding:42px 0;border-top:1px solid #cfc7b9}
.menu-category>h3{font:600 34px/1.1 "Playfair Display",serif;margin:0 0 22px;color:var(--navy)}
.menu-category h4{font:600 21px "Playfair Display",serif;margin:34px 0 12px;color:#765a37}
.menu-category-note{color:#746b60;font-size:14px;max-width:760px;margin:-10px 0 24px}
.menu-list{display:grid;grid-template-columns:1fr 1fr;column-gap:70px}
.menu-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px dotted #c5b9a8}
.menu-list span{font-weight:600;line-height:1.35}
.menu-list small{display:block;margin-top:4px;font-weight:400;color:#756f67;line-height:1.4}
.menu-list b{white-space:nowrap;font-size:14px;color:#765a37}
.menu-highlight span,.menu-highlight b{color:#8a683d}
.menu-highlight span{font-family:"Playfair Display",serif;font-size:20px}
.menu-wide{margin-top:5px}

@media(max-width:900px){
.full-menu{margin-top:75px;padding-top:55px}
.full-menu-intro{grid-template-columns:1fr;gap:18px}
.full-menu-intro .eyebrow{grid-column:auto}
.menu-list{grid-template-columns:1fr;column-gap:0}
.menu-category{padding:36px 0}
}

/* Moduł rezerwacji */
.booking-form{grid-template-columns:repeat(3,1fr)}
.booking-form label{min-height:84px}
.booking-form .wide{grid-column:span 2}
.booking-form button{grid-column:auto}
.booking-form button:disabled{opacity:.6;cursor:wait}
.booking-form input::placeholder{color:#9d9589}
.booking-form .availability-hint{display:block;margin-top:10px;color:#8a683d;font-size:14px;line-height:1.45;letter-spacing:0;text-transform:none;font-weight:600}
@media(max-width:560px){.booking-form .availability-hint{font-size:13px;line-height:1.45}}
@media(max-width:900px){
  .booking-form{grid-template-columns:1fr 1fr}
  .booking-form .wide{grid-column:1/-1}
  .booking-form button{grid-column:1/-1}
}
@media(max-width:560px){
  .booking-form{grid-template-columns:1fr}
  .booking-form .wide,.booking-form button{grid-column:auto}
}

/* Powiązane marki — 2026-09-21 */
.places{padding:110px 6vw;background:#eee7db}
.places>h2{font:600 clamp(42px,5vw,70px)/1 "Playfair Display",serif;letter-spacing:-.035em;margin:.25em 0 50px;color:var(--navy)}
.places-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:1600px;margin:0 auto}
.place-card{background:#fff;border:1px solid #d8cfc1;box-shadow:0 8px 24px rgba(7,27,38,.06);display:flex;flex-direction:column;overflow:hidden}
.place-card>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.place-card>div{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:28px 30px 30px}
.place-card h3{font:600 30px/1.1 "Playfair Display",serif;margin:0 0 12px;color:var(--navy)}
.place-card p{color:#666c70;margin:0 0 26px}
.place-card a{margin-top:auto;background:var(--navy);color:#fff;padding:12px 18px;font-size:14px;font-weight:600}
.place-card a span{color:var(--brass);margin-left:8px}
@media(max-width:900px){.places{padding:80px 6vw}.places-grid{grid-template-columns:1fr 1fr}.place-card:last-child{grid-column:1/-1}.place-card:last-child>img{aspect-ratio:2/1}}
@media(max-width:560px){.places{padding:70px 5vw}.places>h2{margin-bottom:35px}.places-grid{grid-template-columns:1fr;gap:18px}.place-card:last-child{grid-column:auto}.place-card:last-child>img{aspect-ratio:16/9}.place-card>div{padding:24px}.place-card h3{font-size:27px}}

@media(max-width:560px){
.full-menu{margin-top:60px;padding-top:45px}
.full-menu-intro h3{font-size:42px}
.menu-category>h3{font-size:29px}
.menu-list>div{gap:14px}
.menu-list b{font-size:13px}
}


/* Oryginalne logo Skipper — nagłówek */
.topbar .brand-logo{
  display:block;
  width:118px;
  height:auto;
  max-height:82px;
  object-fit:contain;
}
@media(max-width:900px){
  .topbar .brand-logo{
    width:96px;
    max-height:68px;
  }
}

/* Korekta rozmiaru logo Skipper */
.topbar .brand-logo{
  width:175px;
  max-height:92px;
}
@media(max-width:900px){
  .topbar .brand-logo{
    width:125px;
    max-height:72px;
  }
}

/* Finalna korekta logo Skipper — desktop */
@media(min-width:901px){
  .topbar .brand-logo{
    width:220px;
    max-height:92px;
  }
}

/* Finalne dopracowanie nagłówka — więcej oddechu dla logo */
@media(min-width:901px){
  .topbar{
    min-height:104px;
    padding-top:6px;
    padding-bottom:6px;
  }
}


/* Nawigacja pełnego menu — 2026-09-19 */

.menu-jump{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 46px;
  padding:22px 0 28px;
  border-top:1px solid rgba(80,65,45,.20);
  border-bottom:1px solid rgba(80,65,45,.20);
}

.menu-jump a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:9px 15px;
  border:1px solid rgba(80,65,45,.28);
  color:#14232a;
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}

.menu-jump a:hover{
  background:#0b303c;
  border-color:#0b303c;
  color:#fff;
}

.menu-category{
  scroll-margin-top:125px;
}

@media(max-width:900px){

  .menu-jump{
    gap:7px;
    margin-bottom:34px;
    padding:18px 0 22px;
  }

  .menu-jump a{
    min-height:36px;
    padding:8px 11px;
    font-size:12px;
  }

  .menu-category{
    scroll-margin-top:90px;
  }
}

/* Dopracowanie pełnego menu — 2026-09-19 */

/* Płynne przejście po kliknięciu kategorii */
html{
  scroll-behavior:smooth;
}

/* Czytelniejsza informacja o cenie wagowej ryb */
#ryby .menu-category-note{
  margin-top:6px;
  margin-bottom:24px;
  color:#765d38;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Nieco bardziej zwarty rytm pełnej karty */
.full-menu .menu-category{
  margin-top:38px;
  padding-top:38px;
}

.full-menu .menu-category:first-of-type{
  margin-top:0;
}

/* Zachowujemy komfortowe odstępy na telefonie */
@media(max-width:900px){
  .full-menu .menu-category{
    margin-top:30px;
    padding-top:30px;
  }

  #ryby .menu-category-note{
    margin-bottom:20px;
    font-size:12px;
  }
}

/* Użytkownicy ograniczający animacje */
@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }
}

/* Mobilne menu — korekta dolnego paska i kotwic — 2026-09-19 */

@media(max-width:900px){

  /* Po kliknięciu kategorii nagłówek ma pozostać wygodnie widoczny */
  .full-menu .menu-category{
    scroll-margin-top:110px;
  }

  /*
   * Dodatkowa przestrzeń pod pełną kartą.
   * Ostatnia zawartość nie chowa się za stałym dolnym paskiem.
   */
  .full-menu{
    padding-bottom:90px;
  }
}

/* Mobilne hero — delikatnie wyżej — 2026-09-19 */
@media(max-width:900px){
  .hero-copy{
    top:calc(49% - 60px);
  }
}

/* Rezerwacja mobile — 2026-09-20 */
@media(max-width:600px){
  .reserve{
    padding-left:6vw;
    padding-right:6vw;
  }

  .reserve form{
    grid-template-columns:1fr;
  }

  .reserve form label{
    border-right:0;
    border-bottom:1px solid #bbb2a4;
    padding:18px 16px;
  }

  .reserve form label:nth-child(2){
    border-right:0;
  }

  .reserve form button{
    grid-column:1;
    min-height:58px;
  }

  .reserve .form-note{
    margin-top:16px;
    margin-bottom:0;
  }
}

/* Zdjecia kafelkow menu — 2026-09-20 */
.menu-cards article{
  position:relative;
  overflow:hidden;
}

.menu-cards .menu-card-photo{
  width:calc(100% + 60px);
  height:210px;
  margin:-30px -30px 24px;
  display:block;
  object-fit:cover;
}

.menu-cards .featured .menu-card-photo{
  height:210px;
}

@media(max-width:900px){
  .menu-cards .menu-card-photo,
  .menu-cards .featured .menu-card-photo{
    height:190px;
  }
}

@media(max-width:560px){
  .menu-cards .menu-card-photo,
  .menu-cards .featured .menu-card-photo{
    height:220px;
  }
}

/* Turbot — pokazanie calej ryby — 2026-09-20 */
.menu-cards .featured .menu-card-photo{
  object-fit:contain;
  object-position:center;
  background:#0d2935;
}

/* Turbot — finalne kadrowanie — 2026-09-20 */
.menu-cards .featured .menu-card-photo{
  object-fit:cover;
  object-position:center center;
}

/* Oryginalne logo Skipper w stopce — 2026-09-20 */
footer .footer-logo{
  display:block;
  width:180px;
  height:auto;
  max-height:72px;
  object-fit:contain;
  object-position:left center;
}

@media(max-width:560px){
  footer .footer-logo{
    width:145px;
    max-height:62px;
  }
}

/* Mapa dojazdu — 2026-09-20 */
.contact-map{
  width:100%;
  height:420px;
  background:#071b26;
  border-top:1px solid rgba(244,240,231,.2);
}

.contact-map iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}

@media(max-width:900px){
  .contact-map{
    height:360px;
  }
}

@media(max-width:560px){
  .contact-map{
    height:320px;
  }
}

/* Ikony linkow dojazdu — 2026-09-20 */
.contact-actions a{
  display:grid;
  grid-template-columns:38px 1fr;
  align-items:center;
  column-gap:16px;
  min-height:58px;
  padding:10px 0;
}

.contact-actions .contact-icon{
  width:30px;
  height:30px;
  fill:none;
  stroke:var(--brass);
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.contact-actions a span{
  display:block;
}

@media(max-width:560px){
  .contact-actions a{
    grid-template-columns:34px 1fr;
    column-gap:12px;
    min-height:54px;
  }

  .contact-actions .contact-icon{
    width:27px;
    height:27px;
  }
}

/* Powiązane marki V6 — stały kadr i ochrona przed starym CSS w cache */
.places .place-card > img{
  display:block;
  width:100%;
  height:280px;
  max-height:280px;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
  flex:0 0 280px;
}

.places .place-card:nth-child(2) > img{
  object-position:center center;
}

@media(max-width:900px){
  .places .place-card > img,
  .places .place-card:last-child > img{
    height:250px;
    max-height:250px;
    aspect-ratio:auto;
    flex-basis:250px;
  }
}

@media(max-width:560px){
  .places .place-card > img,
  .places .place-card:last-child > img{
    height:220px;
    max-height:220px;
    aspect-ratio:auto;
    flex-basis:220px;
  }
}

/* Powiązane marki V7 — pełniejszy kadr Golonkarni na dużych ekranach */
@media(min-width:901px){
  .places .place-card:nth-child(3) > img{
    object-fit:contain;
    background:#140d08;
  }
}


/* Powrot do gory — Tawerna Rybna Skipper */
.back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:9999;
  width:52px;
  height:52px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#071b26;
  color:var(--brass);
  font-size:27px;
  line-height:1;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  box-shadow:0 8px 24px rgba(0,0,0,.24);
  transition:
    opacity .25s ease,
    transform .25s ease,
    visibility .25s ease,
    background .2s ease;
}

.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.back-to-top:hover{
  background:#0c2a38;
}

.back-to-top:focus-visible{
  outline:2px solid var(--brass);
  outline-offset:3px;
}

.back-to-top span{
  display:block;
  transform:translateY(-1px);
}

@media(max-width:560px){
  .back-to-top{
    width:46px;
    height:46px;
    right:16px;
    bottom:82px;
    font-size:24px;
  }
}

@media(prefers-reduced-motion:reduce){
  .back-to-top{
    transition:none;
  }
}

/* CONTACT-REFINED-1BV-START */

.contact.contact--refined {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  align-items: center;
  gap: clamp(64px, 9vw, 150px);
  padding-top: clamp(64px, 7vw, 100px);
  padding-bottom: clamp(64px, 7vw, 100px);
}

.contact--refined .contact-intro {
  align-self: center;
  max-width: 520px;
}

.contact--refined .eyebrow {
  margin-bottom: 18px;
}

.contact--refined h2 {
  margin: 0;
  line-height: .98;
}

.contact--refined .contact-address {
  margin-top: 34px;
  padding-top: 25px;
  border-top: 1px solid rgba(255,255,255,.16);
  font-style: normal;
  line-height: 1.65;
  opacity: .78;
}

.contact--refined .contact-actions {
  width: 100%;
  max-width: 440px;
  justify-self: end;
  align-self: center;
}

.contact--refined .contact-actions a {
  min-height: 72px;
}

@media (max-width: 900px) {
  .contact.contact--refined {
    grid-template-columns: 1fr;
    gap: 46px;
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .contact--refined .contact-intro,
  .contact--refined .contact-actions {
    max-width: none;
    width: 100%;
  }

  .contact--refined .contact-actions {
    justify-self: stretch;
  }

  .contact--refined .contact-address {
    margin-top: 26px;
  }
}

@media (max-width: 600px) {
  .contact.contact--refined {
    gap: 34px;
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .contact--refined .contact-actions a {
    min-height: 62px;
  }
}

/* CONTACT-REFINED-1BV-END */

/* CONTACT-REORG-1BW-START */

.contact--refined .contact-logo {
  display: block;
  width: clamp(88px, 8vw, 122px);
  height: auto;
  margin: 0 0 26px;
  object-fit: contain;
}

.contact--refined .contact-address {
  margin-top: 28px;
}

.contact-direct {
  margin-top: 24px;
  display: grid;
  gap: 0;
  max-width: 420px;
  border-top: 1px solid rgba(255,255,255,.16);
}

.contact-direct a {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 58px;
  border-bottom: 1px solid rgba(255,255,255,.16);
  color: inherit;
  text-decoration: none;
}

.contact-direct a:hover,
.contact-direct a:focus-visible {
  opacity: .82;
}

.contact-direct .contact-icon {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
}

.contact--refined .contact-actions {
  max-width: 440px;
}

.contact--refined .contact-actions a {
  min-height: 66px;
}

footer {
  grid-template-columns: 1fr auto;
}

footer .skipper-social {
  margin-top: 0;
}

@media (max-width: 900px) {
  .contact--refined .contact-logo {
    width: 96px;
    margin-bottom: 22px;
  }

  .contact-direct {
    max-width: none;
  }

  footer {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .contact--refined .contact-logo {
    width: 82px;
  }

  .contact-direct a {
    min-height: 54px;
    gap: 13px;
  }

  .contact--refined .contact-actions a {
    min-height: 58px;
  }
}

/* CONTACT-REORG-1BW-END */

/* CONTACT-SOCIAL-1BX-START */

.contact-direct .contact-icon {
  color: #c99a45;
  stroke: currentColor;
  fill: none;
}

.contact-direct .contact-social-link {
  color: inherit;
}

.contact-direct .contact-social-link .contact-icon--social {
  stroke: #c99a45;
  fill: none;
  stroke-width: 1.8;
}

.contact-direct .contact-social-link .contact-icon--facebook {
  fill: #c99a45;
  stroke: none;
}

.contact-direct a {
  min-height: 58px;
}

.contact-direct span {
  overflow-wrap: anywhere;
}

footer {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 96px;
  padding-top: 26px;
  padding-bottom: 26px;
}

footer > p {
  margin: 0;
  text-align: center;
}

footer .skipper-social {
  display: none;
}

@media (max-width: 600px) {
  .contact-direct a {
    min-height: 56px;
  }

  .contact-direct .contact-icon {
    width: 21px;
    height: 21px;
    flex-basis: 21px;
  }

  footer {
    min-height: 84px;
  }
}

/* CONTACT-SOCIAL-1BX-END */

/* CONTACT-LOGO-1BY-START */

.contact--refined .contact-logo {
  width: clamp(102px, 9vw, 140px);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 28px;
}

/* CONTACT-LOGO-1BY-END */

/* CONTACT-LOGO-1BZ-START */

.contact--refined .contact-logo {
  transform: translateX(-18px);
}

@media (max-width: 600px) {
  .contact--refined .contact-logo {
    transform: translateX(-10px);
  }
}

/* CONTACT-LOGO-1BZ-END */

/* CONTACT-MAP-1CA-START */

.contact--refined .contact-side {
  width: 100%;
  max-width: 440px;
  justify-self: end;
  align-self: center;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.contact--refined .contact-side .contact-actions {
  width: 100%;
  max-width: none;
  justify-self: auto;
}

.contact-mini-map {
  width: 100%;
  height: 285px;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
}

.contact-mini-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 900px) {
  .contact--refined .contact-side {
    max-width: none;
    justify-self: stretch;
  }

  .contact-mini-map {
    height: 320px;
  }
}

@media (max-width: 600px) {
  .contact--refined .contact-side {
    gap: 22px;
  }

  .contact-mini-map {
    height: 270px;
    border-radius: 10px;
  }
}

/* CONTACT-MAP-1CA-END */

/* CONTACT-FINAL-1CB-START */

.contact.contact--refined {
  padding-top: clamp(56px, 6vw, 86px);
  padding-bottom: clamp(42px, 4.5vw, 64px);
}

.contact--refined .contact-side {
  max-width: 440px;
  transform: translateY(-18px);
  gap: 24px;
}

.contact--refined .contact-actions {
  width: 100%;
  max-width: none;
}

.contact-mini-map {
  width: 100%;
  height: 335px;
  border-radius: 14px;
}

footer {
  min-height: 70px;
  padding-top: 18px;
  padding-bottom: 18px;
}

footer > p {
  font-size: .82rem;
  opacity: .7;
}

@media (max-width: 900px) {
  .contact.contact--refined {
    padding-top: 54px;
    padding-bottom: 48px;
  }

  .contact--refined .contact-side {
    transform: none;
    max-width: none;
  }

  .contact-mini-map {
    height: 330px;
  }
}

@media (max-width: 600px) {
  .contact.contact--refined {
    padding-top: 44px;
    padding-bottom: 40px;
  }

  .contact-mini-map {
    height: 275px;
    border-radius: 10px;
  }

  footer {
    min-height: 62px;
    padding-top: 14px;
    padding-bottom: 14px;
  }
}

/* CONTACT-FINAL-1CB-END */

/* CONTACT-ORDER-1CC-START */

.contact--refined .contact-side {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.contact--refined .contact-mini-map {
  order: 1;
}

.contact--refined .contact-actions {
  order: 2;
}

@media (max-width: 900px) {
  .contact--refined .contact-mini-map {
    order: 1;
  }

  .contact--refined .contact-actions {
    order: 2;
  }
}

/* CONTACT-ORDER-1CC-END */

/* CONTACT-ALIGN-1CD-START */

/*
  Desktop:
  - prawa kolumna ma wysokosc lewej kolumny
  - mapa lekko nizej
  - dolna linia "Skipper w domu"
    wyrównuje sie z dolna linia Facebooka
*/

.contact.contact--refined {
  align-items: stretch;
}

.contact--refined .contact-intro {
  align-self: stretch;
}

.contact--refined .contact-side {
  align-self: stretch;
  transform: none;
  padding-top: 20px;

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  box-sizing: border-box;
}

.contact--refined .contact-mini-map {
  height: 310px;
  flex: 0 0 310px;
}

.contact--refined .contact-actions {
  margin-top: 24px;
}

/* Mobile / tablet — zwykły pionowy przepływ */
@media (max-width: 900px) {
  .contact.contact--refined {
    align-items: initial;
  }

  .contact--refined .contact-intro,
  .contact--refined .contact-side {
    align-self: auto;
  }

  .contact--refined .contact-side {
    padding-top: 0;
    justify-content: flex-start;
  }

  .contact--refined .contact-mini-map {
    height: 320px;
    flex-basis: 320px;
  }

  .contact--refined .contact-actions {
    margin-top: 0;
  }
}

@media (max-width: 600px) {
  .contact--refined .contact-mini-map {
    height: 270px;
    flex-basis: 270px;
  }
}

/* CONTACT-ALIGN-1CD-END */

/* FULL-MENU-LOGO-1CE-B-START */

.full-menu-logo {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 22px;
}

.full-menu-logo img {
  display: block;
  width: 112px;
  height: auto;
  object-fit: contain;
}

@media (max-width: 600px) {
  .full-menu-logo {
    margin-bottom: 18px;
  }

  .full-menu-logo img {
    width: 96px;
  }
}

/* FULL-MENU-LOGO-1CE-B-END */

/* FULL-MENU-LOGO-1CF-START */

.full-menu-intro {
  padding-top: 18px;
}

.full-menu-logo {
  margin-bottom: 15px;
}

.full-menu-logo img {
  width: 142px;
}

@media (max-width: 600px) {
  .full-menu-intro {
    padding-top: 12px;
  }

  .full-menu-logo {
    margin-bottom: 14px;
  }

  .full-menu-logo img {
    width: 112px;
  }
}

/* FULL-MENU-LOGO-1CF-END */

/* FULL-MENU-LOGO-1CG-START */

.full-menu-intro {
  padding-top: 28px;
}

.full-menu-logo img {
  width: 138px;
}

@media (max-width: 600px) {
  .full-menu-intro {
    padding-top: 18px;
  }

  .full-menu-logo img {
    width: 108px;
  }
}

/* FULL-MENU-LOGO-1CG-END */

/* FULL-MENU-SPACING-1CH-START */

/* Finalne zmniejszenie pustej przestrzeni nad logo */
.full-menu-intro {
  padding-top: 14px;
}

@media (max-width: 600px) {
  .full-menu-intro {
    padding-top: 8px;
  }
}

/* FULL-MENU-SPACING-1CH-END */

/* MENU-DISABLED-SECTIONS-1CI-START */

/*
  Sekcje tymczasowo wylaczone.
  Tresc pozostaje w HTML i moze zostac ponownie wlaczona.
*/

.menu-jump a[href="#fishburgery"],
.menu-jump a[href="#makarony"],
#fishburgery,
#makarony {
  display: none !important;
}

/* MENU-DISABLED-SECTIONS-1CI-END */

/* ZUPY-1CJ-START */

/* Chowder tymczasowo wyłączony bez usuwania treści */
#zupy .menu-list > div:has(span:first-child) {
}

/* Chowder — ukrycie tylko konkretnego wiersza */
#zupy .menu-list > div:has(span) {
}

/* ZUPY-1CJ-END */

.chowder-disabled {
  display: none !important;
}

/* CHOWDER-HIDE-FIX-1CK */
#zupy .chowder-disabled {
  display: none !important;
}

/* ORDER-CART-2A4-START */

.order-menu-list{
  grid-template-columns:1fr;
}

.order-menu-item{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(310px,420px);
  align-items:center !important;
  gap:28px !important;
  padding:16px 0 !important;
}

.order-menu-copy{
  min-width:0;
}

.order-menu-buy{
  display:grid;
  grid-template-columns:auto minmax(145px,1fr) auto;
  align-items:end;
  gap:10px;
}

.order-menu-buy>b{
  align-self:center;
  text-align:right;
}

.order-add{
  min-height:42px;
  border:0;
  background:var(--navy);
  color:white;
  padding:10px 16px;
  font:600 13px "DM Sans",sans-serif;
  cursor:pointer;
}

.order-weight-select{
  padding:0;
  border:0;
  color:#746b60;
  letter-spacing:0;
  text-transform:none;
}

.order-weight-select>span{
  display:block;
  font-size:11px;
  margin-bottom:3px;
}

.order-weight-select select{
  min-height:42px;
  margin:0;
  padding:8px 10px;
  border:1px solid #c5b9a8;
  background:white;
  font-size:13px;
}

.order-weight-unavailable{
  grid-column:2/-1;
  color:#8a683d;
  font-size:12px;
  text-align:right;
}

.order-cart-button{
  position:fixed;
  z-index:24;
  right:24px;
  bottom:84px;
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  background:var(--navy);
  color:white;
  padding:13px 16px;
  box-shadow:0 10px 35px rgba(3,18,26,.24);
  cursor:pointer;
}

.order-cart-button b{
  display:grid;
  place-items:center;
  min-width:24px;
  height:24px;
  padding:0 6px;
  border-radius:20px;
  background:var(--brass);
  color:var(--navy);
}

.order-cart-backdrop{
  position:fixed;
  z-index:30;
  inset:0;
  background:rgba(3,18,26,.48);
}

.order-cart{
  position:fixed;
  z-index:31;
  top:0;
  right:0;
  width:min(520px,100%);
  height:100dvh;
  background:var(--ivory);
  box-shadow:-20px 0 50px rgba(3,18,26,.24);
  transform:translateX(105%);
  transition:transform .25s ease;
  display:grid;
  grid-template-rows:auto 1fr auto;
}

.order-cart.is-open{
  transform:translateX(0);
}

.cart-open{
  overflow:hidden;
}

.order-cart-head{
  padding:25px;
  background:var(--navy);
  color:white;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}

.order-cart-head small{
  color:#dcc39b;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.order-cart-head h2{
  margin:3px 0 0;
  font:600 34px "Playfair Display",serif;
}

.order-cart-close{
  border:0;
  background:transparent;
  color:white;
  font-size:34px;
  line-height:1;
  cursor:pointer;
}

.order-cart-items{
  overflow:auto;
  padding:10px 24px;
}

.order-cart-empty{
  padding:35px 0;
  color:#746b60;
}

.order-cart-empty strong{
  color:var(--navy);
}

.order-cart-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:14px;
  align-items:center;
  padding:18px 0;
  border-bottom:1px solid #d6ccbc;
}

.order-cart-item-copy{
  display:grid;
}

.order-cart-item-copy strong{
  font-family:"Playfair Display",serif;
  font-size:18px;
}

.order-cart-item-copy small{
  margin-top:2px;
  color:#746b60;
}

.order-cart-item-copy b{
  margin-top:6px;
  color:#765a37;
}

.order-cart-qty{
  display:flex;
  align-items:center;
  border:1px solid #c5b9a8;
}

.order-cart-qty button{
  width:35px;
  height:35px;
  border:0;
  background:white;
  cursor:pointer;
}

.order-cart-qty span{
  min-width:28px;
  text-align:center;
}

.order-cart-remove{
  border:0;
  background:transparent;
  color:#765a37;
  text-decoration:underline;
  cursor:pointer;
}

.order-cart-summary{
  padding:22px 24px 28px;
  border-top:1px solid #c5b9a8;
  background:#eee7da;
}

.order-cart-summary>div{
  display:flex;
  justify-content:space-between;
  gap:20px;
}

.order-cart-summary strong{
  font-size:18px;
  color:var(--navy);
}

.order-cart-summary p{
  font-size:12px;
  color:#655d53;
}

.order-cart-summary>button{
  width:100%;
  min-height:50px;
  border:0;
  background:var(--navy);
  color:white;
  font-weight:700;
}

.order-cart-summary>button:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.order-cart-next-note{
  display:block;
  margin-top:8px;
  color:#746b60;
  text-align:center;
}

@media(max-width:900px){
  .order-menu-item{
    grid-template-columns:1fr;
    gap:10px !important;
  }

  .order-menu-buy{
    grid-template-columns:auto minmax(150px,1fr) auto;
  }

  .order-menu-buy>b{
    text-align:left;
  }
}

@media(max-width:600px){
  .order-menu-buy{
    grid-template-columns:1fr;
  }

  .order-menu-buy>b{
    margin-bottom:2px;
  }

  .order-add{
    width:100%;
  }

  .order-weight-unavailable{
    grid-column:auto;
    text-align:left;
  }

  .order-cart-button{
    right:12px;
    bottom:72px;
    padding:11px 13px;
  }

  .order-cart-item{
    grid-template-columns:1fr auto;
  }

  .order-cart-remove{
    grid-column:1/-1;
    justify-self:start;
  }
}

@media(prefers-reduced-motion:reduce){
  .order-cart{
    transition:none;
  }
}

/* ORDER-CART-2A4-END */

/* ORDER-CHECKOUT-2A5-START */

.order-checkout-form-wrap{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid #c5b9a8;
}

.order-checkout-title{
  display:grid;
  margin-bottom:12px;
}

.order-checkout-title small{
  color:#746b60;
}

.order-checkout-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin:0;
  border:0;
  gap:10px;
}

.order-checkout-form label{
  border:0;
  padding:0;
  text-transform:none;
  letter-spacing:0;
  font-size:12px;
}

.order-checkout-form input,
.order-checkout-form textarea{
  margin-top:5px;
  border:1px solid #c5b9a8;
  background:white;
  padding:10px;
  font-size:14px;
}

.order-checkout-form textarea{
  width:100%;
  min-height:75px;
  resize:vertical;
}

.order-checkout-form .wide{
  grid-column:1/-1;
}

.order-weight-consent{
  display:flex;
  align-items:flex-start;
  gap:9px;
}

.order-weight-consent input{
  width:auto;
  margin-top:3px;
}

.order-checkout-form button{
  grid-column:1/-1;
  min-height:50px;
}

#order-submit-message{
  grid-column:1/-1;
  margin:0;
  font-size:13px;
}

@media(max-width:600px){
  .order-checkout-form{
    grid-template-columns:1fr;
  }

  .order-checkout-form .wide,
  .order-checkout-form button,
  #order-submit-message{
    grid-column:auto;
  }
}

/* ORDER-CHECKOUT-2A5-END */

/* TPAY-ADMIN-2A6B */
.order-payment-box{
  margin-top:22px;
  padding:18px;
  border:1px solid rgba(25,37,40,.16);
  background:#f6f0e5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

.order-payment-box > div{
  display:grid;
  gap:4px;
}

.order-payment-box small{
  display:block;
  opacity:.72;
}

.admin-payment-link{
  display:inline-block;
  padding:13px 18px;
  background:#071f29;
  color:#fff;
  text-decoration:none;
  font-weight:700;
}

.order-payment-box button:disabled{
  opacity:.45;
  cursor:not-allowed;
}

/* CART-LAYOUT-FIX-20260923 */
.order-cart{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.order-cart-head,
.order-cart-summary{
  flex:0 0 auto;
}

.order-cart-items{
  flex:1 1 auto;
  min-height:160px;
  overflow-y:auto;
  overscroll-behavior:contain;
}

.order-checkout-form-wrap{
  flex:0 1 auto;
  max-height:45dvh;
  overflow-y:auto;
  overscroll-behavior:contain;
}
/* CART-LAYOUT-FIX-END */

/* CART-MOBILE-SCROLL-FIX-20260923 */
.order-cart{
  display:flex;
  flex-direction:column;
  overflow-y:auto;
  overflow-x:hidden;
}

.order-cart-head{
  flex:0 0 auto;
}

.order-cart-items{
  flex:0 0 auto;
  min-height:0;
  overflow:visible;
}

.order-cart-summary{
  flex:0 0 auto;
}

.order-checkout-form-wrap{
  flex:0 0 auto;
  max-height:none;
  overflow:visible;
}
/* CART-MOBILE-SCROLL-FIX-END */

/* ADD-TO-CART-FEEDBACK-20260924 */
button.is-added{
  opacity:.78;
  cursor:default;
}
/* ADD-TO-CART-FEEDBACK-END */


/* MENU-MODE-SPLIT-20260924 */
.menu-mode-selector{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  max-width:900px;
  margin:55px auto 40px;
}

.menu-mode-button{
  appearance:none;
  border:1px solid #cfc4b3;
  background:#fff;
  color:var(--navy);
  padding:22px 24px;
  text-align:left;
  cursor:pointer;
  transition:
    border-color .2s ease,
    background .2s ease,
    transform .2s ease;
}

.menu-mode-button strong{
  display:block;
  font:600 24px "Playfair Display",serif;
}

.menu-mode-button span{
  display:block;
  margin-top:5px;
  color:#746b60;
  font-size:13px;
}

.menu-mode-button:hover{
  border-color:var(--brass);
  transform:translateY(-1px);
}

.menu-mode-button.is-active{
  background:var(--navy);
  border-color:var(--navy);
  color:white;
}

.menu-mode-button.is-active span{
  color:#d9d2c7;
}

.order-takeaway-menu[hidden],
#pelne-menu[hidden]{
  display:none !important;
}

@media (max-width:700px){
  .menu-mode-selector{
    grid-template-columns:1fr;
    margin:35px 0 30px;
  }

  .menu-mode-button{
    padding:18px 20px;
  }

  .menu-mode-button strong{
    font-size:21px;
  }
}
/* MENU-MODE-SPLIT-END */

/* HERO-CTA-3WAYS-20260924 */
.hero-actions-main{
  flex-wrap:wrap;
}

@media (max-width:700px){
  .hero-actions-main{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    width:min(100%,320px);
  }

  .hero-actions-main .button{
    text-align:center;
  }
}
/* HERO-CTA-3WAYS-END */



/* TAWERNA_SERVICES_20260924 */

.service-sections{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  padding:72px 24px;
  max-width:1200px;
  margin:0 auto;
}

.service-card{
  padding:34px;
  border:1px solid rgba(39,31,25,.12);
  border-radius:18px;
  background:#f7f3ec;
}

.service-card h2{
  margin:8px 0 18px;
}

.service-card p{
  line-height:1.7;
}

.service-link{
  display:inline-flex;
  margin-top:10px;
  font-weight:600;
  text-decoration:none;
}

@media(max-width:800px){
  .service-sections{
    grid-template-columns:1fr;
    padding:48px 18px;
  }

  .service-card{
    padding:26px;
  }
}




/* HOMEPAGE_OPINIE_LINK_20260924 */

.contact-opinions{
  margin-top:18px;
  margin-bottom:18px;
}

.contact-opinions-button{
  display:flex;
  align-items:center;
  gap:14px;
  width:max-content;
  max-width:100%;
  padding:14px 18px;
  border:1px solid currentColor;
  text-decoration:none;
  transition:transform .18s ease, opacity .18s ease;
}

.contact-opinions-button span{
  font-weight:600;
}

.contact-opinions-button strong{
  font-size:13px;
  font-weight:700;
  opacity:.72;
}

.contact-opinions-button i{
  font-style:normal;
}

.contact-opinions-button:hover{
  transform:translateY(-2px);
}

@media(max-width:760px){
  .contact-opinions-button{
    width:100%;
    justify-content:space-between;
  }
}



/* CHECKOUT_TERMS_ACCEPTANCE_20260924 */

.order-terms-consent a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
}

.order-terms-consent a:hover{
  opacity:.72;
}
