/* ============================================================
   SZASZŁYKARNIA.PL — editorial redesign
   Paleta: ciepły papier + węglowa czerń (biała i czarna)
   ============================================================ */

:root{
  --paper:#ffffff;
  --paper-2:#eae4d8;
  --ink:#17150f;
  --ink-soft:#3a352b;
  --cream:#f0ebe0;
  --hair:rgba(23,21,15,.14);
  --hair-soft:rgba(23,21,15,.08);
  --ember:#c5471d;            /* używany BARDZO oszczędnie (drobne akcenty) */
  --on-dark:#efe9dc;
  --on-dark-mut:rgba(239,233,220,.62);

  --serif:"DM Serif Display",Georgia,serif;
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --hand:"Caveat",cursive;
  --serif-weight:400;

  --maxw:1500px;
  --gut:clamp(22px,5vw,90px);

  --t-mega:clamp(52px,9.2vw,148px);
  --t-h1:clamp(40px,6.4vw,104px);
  --t-h2:clamp(34px,4.6vw,68px);
  --t-h3:clamp(24px,2.6vw,38px);
  --t-lead:clamp(18px,1.55vw,23px);
  --t-body:clamp(16px,1.1vw,18px);
  --t-label:13px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:var(--t-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4,p{margin:0;}

/* paper grain */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}
main,.nav,.site-footer{position:relative;z-index:1;}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut);}

/* ---------- shared bits ---------- */
.eyebrow{
  font-family:var(--sans);font-weight:600;font-size:var(--t-label);
  letter-spacing:.26em;text-transform:uppercase;color:var(--ink-soft);
  display:inline-flex;align-items:center;gap:.7em;
}
.eyebrow::before{content:"";width:30px;height:1px;background:currentColor;opacity:.5;}
.eyebrow.center::after{content:"";width:30px;height:1px;background:currentColor;opacity:.5;}
.eyebrow.center{justify-content:center;}

.serif{font-family:var(--serif);font-weight:var(--serif-weight,400);line-height:.98;letter-spacing:-.01em;}
.hand{font-family:var(--hand);}

.btn{
  display:inline-flex;align-items:center;gap:.6em;
  font-family:var(--sans);font-weight:600;font-size:14px;letter-spacing:.04em;
  padding:15px 28px;border-radius:999px;border:1px solid var(--ink);
  background:var(--ink);color:var(--paper);cursor:pointer;
  transition:transform .25s ease,background .25s ease,color .25s ease;
}
.btn:hover{transform:translateY(-2px);background:transparent;color:var(--ink);}
.btn--ghost{background:transparent;color:var(--ink);}
.btn--ghost:hover{background:var(--ink);color:var(--paper);}
.btn--light{background:var(--paper);color:var(--ink);border-color:var(--paper);}
.btn--light:hover{background:transparent;color:var(--paper);}
.btn .arr{font-size:1.1em;line-height:1;transition:transform .25s ease;}
.btn:hover .arr{transform:translateX(4px);}

/* user-fillable image slot — dopasowane do ciemnej estetyki placeholderów */
image-slot{display:block;width:100%;height:auto;vertical-align:top;color:rgba(239,233,220,.6);font-family:var(--sans)!important;}
image-slot::part(frame){background:#1b1813;
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.04) 0 2px,transparent 2px 11px);}
image-slot::part(ring){border-color:rgba(239,233,220,.26);}

/* placeholder image slot */
.ph{
  position:relative;overflow:hidden;background:#1b1813;color:var(--on-dark-mut);
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 2px,transparent 2px 11px);
  display:flex;align-items:flex-end;
}
.ph::after{
  content:attr(data-label);
  font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(239,233,220,.5);
  padding:14px 16px;
}
.ph .corner{position:absolute;top:14px;right:16px;width:9px;height:9px;border-top:1px solid rgba(239,233,220,.4);border-right:1px solid rgba(239,233,220,.4);}

/* stamp / pieczątka */
.stamp{
  display:grid;place-items:center;text-align:center;border-radius:50%;
  border:1.5px solid currentColor;aspect-ratio:1;
  transform:rotate(-9deg);line-height:1.05;
}
.stamp .s-top{font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;}
.stamp .s-big{font-family:var(--serif);font-size:30px;}
.stamp .s-sub{font-family:var(--hand);font-size:18px;}

/* section scaffolding */
.section{padding-block:clamp(72px,9vw,150px);}
.section--dark{background:var(--ink);color:var(--on-dark);}
.section--dark .eyebrow{color:var(--on-dark-mut);}
.kicker-row{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,56px);}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--paper) 86%,transparent);
  backdrop-filter:blur(12px) saturate(1.1);
  border-bottom:1px solid var(--hair);
}
.nav__in{display:flex;align-items:center;justify-content:space-between;gap:24px;
  max-width:var(--maxw);margin:0 auto;padding:16px var(--gut);}
.nav__logo{flex-shrink:0;}
.nav__logo img{height:24px;width:auto;max-width:none;}
.nav__links{display:flex;gap:30px;list-style:none;margin:0;padding:0;}
.nav__links a{font-size:14px;font-weight:500;letter-spacing:.02em;position:relative;padding:4px 0;color:var(--ink-soft);white-space:nowrap;}
.nav__links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--ink);transition:width .28s ease;}
.nav__links a:hover{color:var(--ink);}
.nav__links a:hover::after{width:100%;}
.nav__cta{display:flex;align-items:center;gap:14px;}
.nav .btn{padding:11px 22px;}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;}
.burger span{width:24px;height:2px;background:var(--ink);transition:.3s;}

/* mobile menu */
.mobile-menu{display:none;}

/* ============================================================
   HERO (3 warianty)
   ============================================================ */
.hero{position:relative;}
.hero__variant{display:none;}
:root[data-hero="a"] .hv-a{display:block;}
:root[data-hero="b"] .hv-b{display:block;}
:root[data-hero="c"] .hv-c{display:block;}

/* --- Variant A: editorial paper --- */
.hv-a{padding-block:clamp(56px,7vw,104px);}
.hv-a .hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(30px,5vw,72px);align-items:end;}
.hv-a .h-eyebrow{margin-bottom:30px;}
.hv-a h1{font-size:var(--t-mega);}
.hv-a h1 .l2{display:block;font-style:italic;font-size:.62em;margin-top:.06em;color:var(--ink-soft);}
.hv-a .hero-lead{font-size:var(--t-lead);max-width:34ch;margin-top:34px;color:var(--ink-soft);line-height:1.5;}
.hv-a .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px;}
.hv-a .hero-media{position:relative;}
.hv-a .hero-media .ph{aspect-ratio:3/4;border-radius:3px;}
.hv-a .hero-stamp{position:absolute;left:-46px;bottom:34px;width:138px;height:138px;background:var(--paper);color:var(--ink);box-shadow:0 18px 50px rgba(23,21,15,.18);}
.hv-a .scroll-row{display:flex;align-items:center;gap:14px;margin-top:46px;color:var(--ink-soft);font-size:13px;letter-spacing:.22em;text-transform:uppercase;}
.hv-a .scroll-row .line{width:46px;height:1px;background:var(--ink-soft);}

/* --- Variant B: full-bleed dark --- */
.hv-b{position:relative;min-height:calc(100vh - 60px);display:grid;place-items:center;text-align:center;color:var(--on-dark);overflow:hidden;}
.hv-b .hv-b-slot{position:absolute;inset:0;width:100%;height:100%;z-index:0;}
.hv-b .bg{position:absolute;inset:0;z-index:1;pointer-events:none;}
.hv-b .bg::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 30%,rgba(197,71,29,.18),transparent 55%),linear-gradient(to bottom,rgba(0,0,0,.35),rgba(0,0,0,.62));}
.hv-b .hero-inner{position:relative;z-index:2;padding:120px var(--gut);max-width:1100px;pointer-events:none;}
.hv-b .hero-inner a,.hv-b .hero-inner button{pointer-events:auto;}
.hv-b .h-eyebrow{color:var(--on-dark-mut);margin-bottom:32px;}
.hv-b h1{font-size:var(--t-mega);color:var(--paper);}
.hv-b h1 .l2{display:block;font-style:italic;font-size:.6em;color:var(--on-dark-mut);margin-top:.05em;}
.hv-b .hero-lead{font-size:var(--t-lead);max-width:46ch;margin:30px auto 0;color:var(--on-dark-mut);}
.hv-b .hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:38px;}

/* --- Variant C: split --- */
.hv-c .hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 60px);}
.hv-c .panel{background:var(--ink);color:var(--on-dark);display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,6vw,96px) var(--gut);}
.hv-c .h-eyebrow{color:var(--on-dark-mut);margin-bottom:30px;}
.hv-c h1{font-size:clamp(46px,5.6vw,96px);color:var(--paper);}
.hv-c h1 .l2{display:block;font-style:italic;font-size:.6em;color:var(--on-dark-mut);margin-top:.05em;}
.hv-c .hero-lead{font-size:var(--t-lead);max-width:36ch;margin-top:30px;color:var(--on-dark-mut);}
.hv-c .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px;}
.hv-c .media{position:relative;}
.hv-c .media .ph{position:absolute;inset:0;}
.hv-c .media .hero-stamp{position:absolute;left:-58px;top:50%;transform:translateY(-50%);width:148px;height:148px;background:var(--paper);color:var(--ink);box-shadow:0 18px 50px rgba(0,0,0,.4);z-index:2;}

/* ============================================================
   O NAS
   ============================================================ */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,88px);align-items:center;}
.about-copy h2{font-size:var(--t-h2);margin:24px 0 28px;}
.about-copy p{font-size:var(--t-lead);color:var(--ink-soft);line-height:1.55;max-width:52ch;}
.about-copy .sign{font-family:var(--hand);font-size:30px;margin-top:30px;color:var(--ink);}
.section--dark .about-copy p{color:var(--on-dark-mut);}
.section--dark .about-copy .sign{color:var(--paper);}
.about-figures{position:relative;}
.about-figures .ph.big{aspect-ratio:4/5;border-radius:3px;}
.about-figures .ph.small{position:absolute;right:-34px;bottom:-44px;width:46%;aspect-ratio:1;border-radius:3px;border:8px solid var(--paper);}
.section--dark .about-figures .ph.small{border-color:var(--ink);}
.about-stats{display:flex;gap:46px;margin-top:48px;flex-wrap:wrap;}
.about-stats .st .n{font-family:var(--serif);font-size:clamp(40px,4.4vw,62px);line-height:1;}
.about-stats .st .l{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px;}
.section--dark .about-stats .st .l{color:var(--on-dark-mut);}

/* ============================================================
   MENU
   ============================================================ */
.menu-list{display:grid;gap:clamp(36px,5vw,80px);margin-top:clamp(20px,3vw,40px);}
.menu-item{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,4vw,64px);align-items:center;}
.menu-item:nth-child(even){grid-template-columns:1.15fr .85fr;}
.menu-item:nth-child(even) .mi-media{order:-1;}
.mi-media .ph{aspect-ratio:4/3;border-radius:3px;}
.mi-num{font-family:var(--serif);font-size:clamp(30px,3vw,46px);color:var(--ink-soft);opacity:.45;}
.mi-head{display:flex;align-items:baseline;gap:18px;margin:14px 0 18px;flex-wrap:wrap;}
.mi-head h3{font-size:var(--t-h3);font-family:var(--serif);font-weight:400;line-height:1.02;}
.mi-tag{font-size:12px;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--hair);padding:6px 12px;border-radius:999px;color:var(--ink-soft);}
.menu-item p{font-size:var(--t-lead);color:var(--ink-soft);max-width:46ch;line-height:1.5;}
.mi-foot{display:flex;align-items:center;gap:18px;margin-top:22px;color:var(--ink-soft);font-size:14px;}
.mi-foot .dot{width:5px;height:5px;border-radius:50%;background:var(--ember);}

/* ============================================================
   LOKALIZACJE
   ============================================================ */
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,40px);margin-top:clamp(20px,3vw,40px);}
.loc-card{background:rgba(23,21,15,.03);border:1px solid var(--hair);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;}
.section--dark .loc-card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);}
.loc-card .ph{aspect-ratio:16/9;}
.loc-card .body{padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;gap:14px;flex:1;}
.loc-card .pin{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ember);font-weight:600;}
.section--dark .loc-card .pin{color:var(--paper);}
.loc-card h3{font-family:var(--serif);font-size:var(--t-h3);font-weight:400;}
.loc-card .addr{font-size:var(--t-lead);color:var(--ink-soft);}
.section--dark .loc-card .addr{color:var(--on-dark-mut);}
.loc-card .meta{margin-top:auto;display:flex;justify-content:flex-end;align-items:center;gap:16px;border-top:1px solid var(--hair);padding-top:18px;font-size:14px;}
.section--dark .loc-card .meta{border-color:rgba(255,255,255,.12);}
.loc-card .meta a{display:inline-flex;align-items:center;gap:.5em;font-weight:600;}

/* ============================================================
   GODZINY
   ============================================================ */
.hours-grid{display:grid;grid-template-columns:1fr;gap:clamp(30px,5vw,80px);align-items:center;}
.hours-list{display:flex;flex-direction:column;gap:34px;}
.hours-place-head{display:flex;align-items:baseline;gap:14px;margin-bottom:2px;}
.hours-place-head .pin{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ember);font-weight:600;}
.hours-place-head .hours-place-sub{font-size:13px;color:var(--on-dark-mut);letter-spacing:.04em;}
.hours-row{display:flex;align-items:baseline;gap:18px;padding:18px 0 0;border-bottom:1px solid rgba(255,255,255,.12);}
.hours-row .day{font-family:var(--serif);font-size:clamp(22px,2vw,30px);min-width:42%;}
.hours-row .leader{flex:1;border-bottom:1px dotted rgba(239,233,220,.3);transform:translateY(-5px);}
.hours-row .time{font-size:var(--t-lead);color:var(--on-dark-mut);font-variant-numeric:tabular-nums;}
.hours-row.closed .time{color:var(--ember);}
.hours-note{margin-top:26px;font-family:var(--hand);font-size:24px;color:var(--on-dark-mut);}

/* ============================================================
   GALERIA
   ============================================================ */
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.4vw,20px);margin-top:clamp(20px,3vw,40px);}
.gallery .ph{border-radius:3px;}
.g1{grid-column:span 5;aspect-ratio:4/5;}
.g2{grid-column:span 7;aspect-ratio:16/10;}
.g3{grid-column:span 4;aspect-ratio:1;}
.g4{grid-column:span 4;aspect-ratio:1;}
.g5{grid-column:span 4;aspect-ratio:1;}

/* ============================================================
   FOOTER / KONTAKT
   ============================================================ */
.site-footer{background:var(--ink);color:var(--on-dark);padding-top:clamp(70px,8vw,120px);}
.foot-cta{text-align:center;padding-bottom:clamp(56px,7vw,100px);border-bottom:1px solid rgba(255,255,255,.12);}
.foot-cta .eyebrow{color:var(--on-dark-mut);margin-bottom:28px;}
.foot-cta h2{font-family:var(--serif);font-weight:400;font-size:var(--t-h1);color:var(--paper);line-height:1;}
.foot-cta .hand{display:block;font-family:var(--hand);font-size:clamp(30px,4vw,56px);color:var(--ember);margin-top:10px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-block:clamp(48px,6vw,80px);}
.foot-grid h4{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-mut);margin-bottom:20px;font-weight:600;}
.foot-grid a,.foot-grid p{color:var(--on-dark);font-size:var(--t-lead);line-height:1.9;}
.foot-grid a:hover{color:var(--ember);}
.foot-brand img{height:30px;margin-bottom:22px;}
.foot-brand p{color:var(--on-dark-mut);font-size:15px;max-width:34ch;line-height:1.6;}
.foot-social{display:flex;gap:12px;margin-top:22px;}
.foot-social a{width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;transition:.25s;}
.foot-social a:hover{background:var(--paper);color:var(--ink);border-color:var(--paper);}
.foot-social svg{width:18px;height:18px;}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  padding-block:30px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:var(--on-dark-mut);}

/* ============================================================
   SECTION DIVIDER
   ============================================================ */
.divider{padding:26px 0;background-repeat:repeat-x;background-position:center;background-size:auto 26px;}
.divider--light{background-color:var(--paper);background-image:url("trees-dark.png");}
.divider--dark{background-color:var(--ink);background-image:url("trees-light.png");}
.divider--white{background-color:#fff;background-image:url("trees-dark.png");}
.divider img{display:none;}

/* ============================================================
   reveal anim
   ============================================================ */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);}
  .reveal.in{opacity:1;transform:none;}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1000px){
  .nav__links{display:none;}
  .burger{display:flex;}
  .nav__cta .btn{display:none;}
  .hv-a .hero-grid,.hv-c .hero-grid,.about-grid,.menu-item,.menu-item:nth-child(even),
  .loc-grid,.hours-grid,.foot-grid{grid-template-columns:1fr;}
  .menu-item:nth-child(even) .mi-media{order:0;}
  .hv-c .hero-grid{min-height:auto;}
  .hv-c .media{min-height:60vh;}
  .hv-a .hero-media{margin-top:10px;}
  .about-figures .ph.small{position:static;width:60%;margin-top:18px;border:0;}
  .gallery>*{grid-column:span 6 !important;aspect-ratio:1 !important;}
  .foot-cta h2{font-size:clamp(34px,9vw,60px);}
}
@media (max-width:560px){
  .hv-a .hero-stamp{left:auto;right:14px;bottom:14px;width:104px;height:104px;}
  .about-stats{gap:30px;}
  .gallery>*{grid-column:span 12 !important;}
  .foot-bottom{flex-direction:column;align-items:flex-start;}
}

/* mobile menu open */
body.menu-open{overflow:hidden;}
.mobile-menu{position:fixed;inset:0;z-index:60;background:var(--ink);color:var(--on-dark);
  flex-direction:column;justify-content:center;gap:8px;padding:var(--gut);transform:translateY(-100%);transition:transform .45s cubic-bezier(.2,.8,.2,1);}
body.menu-open .mobile-menu{display:flex;transform:none;}
.mobile-menu a{font-family:var(--serif);font-size:clamp(34px,9vw,56px);padding:8px 0;}
.mobile-menu .mm-close{position:absolute;top:22px;right:var(--gut);background:none;border:0;color:var(--on-dark);font-size:34px;cursor:pointer;}
.mobile-menu .mm-foot{margin-top:34px;font-size:14px;color:var(--on-dark-mut);}
