

/* ============ TOKENS ============ */
:root{
  --cream:#f6f4f0;
  --concrete:#eae6dc;
  --ink:#1c1a17;
  --ink-soft:#34302a;
  --stone:#8a8276;
  --stone-light:#cdc7bb;
  --amber:#c89a4d;
  --amber-light:#e7c98a;
  --amber-glow:#f3d28c;
  --line:rgba(28,26,23,0.12);
  --line-on-dark:rgba(246,244,240,0.16);
  --max:1180px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:'Jost',sans-serif;
  font-weight:300;
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 2rem;}

.visually-hidden{
  position:absolute; left:-9999px; top:auto;
}

.skip-link:focus{
  position:fixed; top:1rem; left:1rem; z-index:999;
  background:var(--ink); color:var(--cream); padding:.6rem 1rem;
  font-size:.85rem; left:9999px; /* overridden below */
}
.skip-link{
  position:absolute; left:-9999px; top:0;
}
.skip-link:focus{ left:1rem; }

:focus-visible{
  outline:2px solid var(--amber);
  outline-offset:3px;
}


/* ============ LOGO SVG ============ */
.logo-svg{
  display:inline-block;
  vertical-align:middle;
  overflow:visible;
}
.logo-svg--nav{
  height:22px;
  width:auto;
  color:var(--ink);
}
.hero-logo-wrap{
  display:block;
  margin:0 auto .25rem;
}
.logo-svg--hero{
  height:clamp(2.8rem,8vw,5.5rem);
  width:auto;
  color:#F0C98E;
}
.logo-svg--footer{
  height:26px;
  width:auto;
  color:var(--cream);
}

/* ============ EYEBROW / SECTION HEADER PATTERN ============ */
.section-head{
  max-width:640px;
  margin:0 auto 3.5rem;
  text-align:center;
}
.section-head.is-left{
  margin-left:0; text-align:left;
}
.eyebrow{
  font-family:'Jost',sans-serif;
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--amber);
  margin-bottom:.9rem;
}
.rule{
  width:32px; height:2px;
  background:var(--amber);
  margin:0 auto 1.1rem;
  border:none;
}
.section-head.is-left .rule{margin-left:0;}
.section-head h2{
  font-family:'Cormorant Garamond',serif;
  font-weight:400;
  font-size:clamp(2rem,3.4vw,2.8rem);
  color:var(--ink);
  line-height:1.2;
}
.section-head p{
  margin-top:1.1rem;
  color:var(--stone);
  font-size:.98rem;
}

section{padding:6.5rem 0;}
.alt-bg{background:var(--concrete);}

/* ============ NAV ============ */
nav{
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.1rem 2rem;
  background:rgba(246,244,240,0.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-logo{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:500;
  font-size:1.5rem;
  letter-spacing:.02em;
  color:var(--ink);
  text-decoration:none;
}
.nav-right{display:flex; align-items:center; gap:2.2rem;}
.nav-links{display:flex; gap:2.2rem; list-style:none;}
.nav-links a{
  text-decoration:none; color:var(--ink-soft);
  font-size:.82rem; letter-spacing:.08em; text-transform:uppercase;
  transition:color .2s;
  padding-bottom:.2rem;
  border-bottom:1px solid transparent;
}
.nav-links a:hover{color:var(--amber); border-bottom-color:var(--amber);}
.lang-btn{
  background:none; border:1px solid var(--line);
  padding:.4rem 1rem; font-family:'Jost',sans-serif;
  font-size:.76rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-soft); cursor:pointer; transition:all .2s;
}
.lang-btn:hover{background:var(--ink); color:var(--cream); border-color:var(--ink);}
.nav-toggle{
  display:none;
  background:none; border:none; cursor:pointer;
  font-family:'Jost',sans-serif; font-size:.78rem;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft);
}
.nav-mobile{
  display:none;
  position:fixed; top:64px; left:0; right:0; z-index:199;
  background:var(--cream); border-bottom:1px solid var(--line);
  flex-direction:column; padding:1rem 2rem 1.4rem;
}
.nav-mobile.is-open{display:flex;}
.nav-mobile a{
  text-decoration:none; color:var(--ink-soft); padding:.7rem 0;
  border-bottom:1px solid var(--line);
  font-size:.85rem; letter-spacing:.06em; text-transform:uppercase;
}

/* ============ HERO ============ */
#hero{
  position:relative;
  min-height:92vh;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg,#211d18 0%,#181512 100%);
  overflow:hidden;
  padding-top:80px;
}
#hero::before{
  content:"";
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22160%22%20height%3D%22160%22%3E%3Cfilter%20id%3D%22n%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.85%22%20numOctaves%3D%222%22%20stitchTiles%3D%22stitch%22/%3E%3CfeColorMatrix%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%20%200%200%200%200%200%20%200%200%200%200%200%20%200%200%200%200.4%200%22/%3E%3C/filter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url%28%23n%29%22/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
  opacity:.5;
  pointer-events:none;
}
.hero-rings-photo{
  position:absolute;
  top:0; left:0; right:0;
  width:100%; height:54%;
  object-fit:cover;
  object-position:center top;
  opacity:.72;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 100%);
  -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 100%);
  pointer-events:none;
  display:block;
}
.hero-content{
  position:relative; z-index:2;
  text-align:center; max-width:680px; padding:0 1.5rem;
  margin-top:0;
}
.hero-eyebrow{
  font-size:.74rem; letter-spacing:.26em; text-transform:uppercase;
  color:var(--stone-light); margin-bottom:1.6rem;
}
.hero-title{
  font-family:'Cormorant Garamond',serif;
  font-weight:300;
  font-size:clamp(2.6rem,6.5vw,4.6rem);
  line-height:1.12;
  color:var(--cream);
}
.hero-title em{
  font-style:italic; font-weight:400;
  color:var(--amber-light);
}
.hero-sub{
  margin-top:1.6rem;
  color:var(--stone-light);
  font-size:1.02rem;
  font-weight:300;
  max-width:480px;
  margin-left:auto; margin-right:auto;
}
.hero-scroll{
  display:inline-block;
  margin-top:3rem;
  text-decoration:none;
  color:var(--stone-light);
  font-size:.82rem; letter-spacing:.08em; text-transform:uppercase;
  border-bottom:1px solid var(--line-on-dark);
  padding-bottom:.3rem;
  transition:color .2s,border-color .2s;
}
.hero-scroll:hover{color:var(--amber-light); border-color:var(--amber-light);}

/* ============ O NAS ============ */
#o-nas .section-head{margin-bottom:2.4rem;}
.about-body{
  max-width:640px; margin:0 auto;
  text-align:center;
  color:var(--ink-soft);
  font-size:1.06rem;
}
.about-body p + p{margin-top:1.3rem;}
.about-signature{
  margin-top:2.6rem;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.3rem;
  color:var(--amber);
}

/* ============ KALENDARIUM ============ */
.event-list{max-width:760px; margin:0 auto; list-style:none;}
.event-row{
  display:grid;
  grid-template-columns:90px 56px 1fr auto;
  align-items:center;
  gap:1rem;
  padding:1.2rem 0;
  border-bottom:1px solid var(--line);
}
.event-row:first-child{border-top:1px solid var(--line);}
.event-date{
  font-family:'Cormorant Garamond',serif;
  text-align:left;
}
.event-date .day{font-size:2rem; font-weight:500; line-height:1; color:var(--ink);}
.event-date .month{font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--stone);}
.event-main{min-width:0;}
.event-title-row{display:flex; align-items:center; gap:.6rem; flex-wrap:wrap;}
.event-dot{
  width:8px; height:8px; border-radius:50%;
  border:1px solid var(--stone);
  flex-shrink:0;
}
.event-dot.is-next{
  border-color:var(--amber);
  background:radial-gradient(circle at 35% 30%, #fff3da, var(--amber) 70%);
  box-shadow:0 0 8px 2px rgba(200,154,77,0.5);
  animation:breathe-soft 3.2s ease-in-out infinite;
}
@keyframes breathe-soft{
  0%,100%{opacity:.75;}
  50%{opacity:1;}
}
.event-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.25rem;
  color:var(--ink);
}
.event-genre{ display:none; }
.event-time{
  font-size:.92rem; color:var(--stone); white-space:nowrap;
}
.cal-note{
  text-align:center; margin-top:2.5rem;
  color:var(--stone); font-size:.92rem;
}

/* ============ GALERIA ============ */
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:.6rem;
}
.gallery-tile{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  background:#1d1a16;
}
.gallery-tile img{
  width:100%; height:100%; object-fit:cover;
  display:block;
  transition:transform .6s ease;
}
.gallery-tile:hover img{transform:scale(1.04);}
.gallery-tile.is-flat{background:var(--cream);}
.gallery-tile.is-flat img{object-fit:contain;}
.gallery-tile figcaption{
  position:absolute; left:0; right:0; bottom:0;
  padding:.9rem .9rem .7rem;
  font-size:.74rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--cream);
  background:linear-gradient(180deg, rgba(20,17,14,0) 0%, rgba(20,17,14,0.72) 100%);
  opacity:0;
  transition:opacity .3s ease;
}
.gallery-tile.is-flat figcaption{
  color:var(--ink-soft);
  background:linear-gradient(180deg, rgba(246,244,240,0) 0%, rgba(246,244,240,0.9) 100%);
}
.gallery-tile:hover figcaption, .gallery-tile:focus-within figcaption{opacity:1;}

/* ============ WSPÓŁPRACA ============ */
.collab-list{max-width:760px; margin:0 auto;}
.collab-row{
  display:grid;
  grid-template-columns:230px 1fr;
  gap:2rem;
  padding:2.2rem 0;
  border-bottom:1px solid var(--line);
  align-items:start;
}
.collab-row:first-child{border-top:1px solid var(--line);}
.collab-label{
  font-family:'Cormorant Garamond',serif;
  font-size:1.4rem;
  color:var(--ink);
}
.collab-text p{color:var(--ink-soft);}
.collab-link{
  display:inline-block;
  margin-top:.9rem;
  text-decoration:none;
  color:var(--amber);
  font-size:.86rem; letter-spacing:.04em;
  border-bottom:1px solid transparent;
  transition:border-color .2s;
}
.collab-link:hover{border-bottom-color:var(--amber);}

/* ============ KONTAKT ============ */
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:3rem;
  align-items:start;
}
.contact-info p{margin-bottom:.5rem; color:var(--ink-soft);}
.contact-info .addr-line{font-size:1.05rem;}
.contact-info a{
  color:var(--amber); text-decoration:none;
  border-bottom:1px solid transparent;
}
.contact-info a:hover{border-bottom-color:var(--amber);}
.contact-hours{
  margin-top:1.6rem; color:var(--stone); font-size:.92rem;
}
.social-row{margin-top:1.8rem; display:flex; gap:1.4rem;}
.social-row a{
  font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-soft);
}
.social-row a:hover{color:var(--amber);}
.map-frame{
  width:100%; height:340px; border:0;
  filter:grayscale(8%) contrast(1.02);
}

/* ============ FOOTER ============ */
footer{
  background:var(--ink);
  color:var(--stone-light);
  padding:3.2rem 0 2rem;
  text-align:center;
}
.footer-logo{
  display:flex;
  justify-content:center;
  margin-bottom:.3rem;
}
.footer-addr{margin-top:.7rem; font-size:.85rem; color:var(--stone-light); opacity:.8;}
.footer-copy{margin-top:1.6rem; font-size:.74rem; letter-spacing:.04em; color:var(--stone); opacity:.7;}

/* ============ REVEAL ============ */
.reveal{opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s ease;}
.reveal.is-visible{opacity:1; transform:translateY(0);}

/* ============ RESPONSIVE ============ */
@media (max-width:880px){
  .nav-links, .nav-right .lang-btn{display:none;}
  .nav-toggle{display:inline-block;}
  .nav-right{gap:1rem;}
  .contact-grid{grid-template-columns:1fr;}
  .collab-row{grid-template-columns:1fr; gap:.6rem;}
  .gallery-grid{grid-template-columns:repeat(3,1fr);}
  section{padding:4.5rem 0;}
}
@media (max-width:560px){
  .event-row{grid-template-columns:60px 1fr; row-gap:.4rem;}
  .event-time{grid-column:2; justify-self:start;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .wrap{padding:0 1.3rem;}
}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
  html{scroll-behavior:auto !important;}
}

/* ============ WordPress overrides ============ */
.wp-site-blocks { padding: 0; }
img.aligncenter { display: block; margin: auto; }

/* ============ Event title link ============ */
.event-title-link {
  color: inherit;
  text-decoration: none;
}
.event-title-link:hover {
  color: var(--amber);
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* ============ Wariant B — grafika wydarzenia ============ */
.event-thumb {
  width: 52px;
  min-width: 52px;
  max-width: 52px;
  height: 52px;
  min-height: 52px;
  max-height: 52px;
  border-radius: 3px;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
}
.event-thumb img {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.event-thumb-placeholder {
  width: 100%;
  height: 100%;
  background: var(--concrete);
}
.event-row {
  gap: 1rem;
  align-items: center;
}