@font-face{font-family:"Lora";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/lora-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Lora";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/lora-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Titillium Web";font-style:normal;font-weight:300;font-display:swap;src:url(fonts/titillium-web-300-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Titillium Web";font-style:normal;font-weight:300;font-display:swap;src:url(fonts/titillium-web-300-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Titillium Web";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/titillium-web-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Titillium Web";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/titillium-web-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Titillium Web";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/titillium-web-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Titillium Web";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/titillium-web-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Wymiary odwzorowane 1:1 z oryginału (Divi): treść 80% szerokości, max 1200px,
   odstępy sekcji 4%, wierszy 2%, kolumny 29.67% / 47.25% z przerwą 5.5%. */
:root{
  --gold:#c1ab72;
  --bg:#222;
  --ink:#e5e5e5;
  --muted:#ccc;
  --field:#eee;
  --serif:"Lora",Georgia,"Times New Roman",serif;
  --sans:"Titillium Web",Helvetica,Arial,Lucida,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font:500 18px/1.6 var(--sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-decoration:none}
a:hover{opacity:.7}
::selection{background:var(--gold);color:#000}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
p{padding-bottom:1em}
p:last-child{padding-bottom:0}
.row{width:80%;max-width:1200px;margin:0 auto}
.skip{position:absolute;left:8px;top:-60px;z-index:100;background:var(--gold);color:#000;padding:12px 18px;font-weight:600}
.skip:focus{top:8px;opacity:1}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- nagłówek ---------- */
header{background:#000;border-bottom:1px solid var(--gold);position:sticky;top:0;z-index:50}
header .row{position:relative}
.tb{position:absolute;top:10px;right:0;display:flex;align-items:center;justify-content:flex-end;line-height:28.8px;padding:0}
.tb img{width:34px;height:35px;margin-right:15px}
.tb svg{width:18px;height:18px;fill:var(--ink);margin:0 8px 0 16px;flex:none}
.tb .ph{display:flex;align-items:center}
.tb .ph svg:first-child{margin-left:16px}
.tb .ph svg+a+svg{margin:0 5px 0 24px}
.tb a{display:inline-block;padding:8px 0;margin:-8px 0}
.bar{display:flex;align-items:center;justify-content:space-between;padding:21px 0 20px}
.logo img{width:220px;height:auto}
nav>ul{display:flex;list-style:none}
nav>ul>li{position:relative;padding-right:22px}
nav>ul>li:last-child{padding-right:0}
nav a{display:block;color:var(--ink);font-size:20px;line-height:14px;padding:31px 0}
nav a[aria-current=page]{color:var(--gold)}
nav .has>a{padding-right:20px;position:relative}
nav .has>a svg{position:absolute;right:0;top:50%;width:14px;height:14px;margin-top:-7px;fill:none;stroke:currentColor;stroke-width:2.2}
.sub{position:absolute;left:-11px;top:100%;width:240px;list-style:none;background:#000;border-top:3px solid var(--gold);padding:20px 0;
  opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:10}
nav li:hover>.sub,nav li:focus-within>.sub{opacity:1;visibility:visible}
.sub li{padding:0 20px}
.sub a{font-size:16px;line-height:28px;padding:6px 10px;color:#fff}
.burger{display:none;width:32px;height:32px;background:none;border:0;cursor:pointer;position:relative}
.burger span,.burger span::before,.burger span::after{content:"";position:absolute;left:4px;right:4px;height:2px;background:var(--gold);transition:transform .3s,top .3s,background .3s}
.burger span{top:15px}.burger span::before{top:-7px;left:0;right:0}.burger span::after{top:7px;left:0;right:0}
.burger[aria-expanded=true] span{background:transparent}
.burger[aria-expanded=true] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded=true] span::after{top:0;transform:rotate(-45deg)}

/* ---------- slajder ---------- */
.hero{display:grid;position:relative;background:#000;overflow:hidden}
.slide{grid-area:1/1;display:flex;align-items:center;padding:0 6%;background:50% 50%/cover no-repeat;
  opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s .5s}
.slide.on{opacity:1;visibility:visible;transition:opacity .5s ease,visibility 0s;z-index:1}
.sc{width:100%;max-width:1200px;margin:0 auto}
.sd{padding:16% 8%}
.st{font:300 46px/64.4px var(--serif);color:var(--gold);padding-bottom:10px}
.st a{color:inherit}
.btn{display:inline-block;border:2px solid var(--gold);border-radius:3px;padding:6px 20px;font:500 20px/34px var(--sans);color:var(--gold);background:none;margin-top:20px;cursor:pointer;transition:background .3s,border-color .3s}
.btn:hover{opacity:1;background:rgba(255,255,255,.2);border-color:transparent}
.dots{position:absolute;bottom:42px;left:0;right:0;display:flex;justify-content:center;gap:10px;z-index:3}
.dots button{width:7px;height:7px;border-radius:50%;border:0;background:rgba(255,255,255,.5);cursor:pointer;padding:0;position:relative}
.dots button::after{content:"";position:absolute;inset:-18px -5px}
.dots button[aria-current=true]{background:#fff}
.arr{position:absolute;top:50%;z-index:3;width:48px;height:48px;margin-top:-24px;background:none;border:0;cursor:pointer;opacity:0;transition:opacity .3s,left .3s,right .3s}
.arr svg{width:48px;height:48px;fill:none;stroke:#fff;stroke-width:2}
.arr[data-k="-1"]{left:-22px}.arr[data-k="1"]{right:-22px}
.hero:hover .arr[data-k="-1"],.arr[data-k="-1"]:focus-visible{left:22px;opacity:1}
.hero:hover .arr[data-k="1"],.arr[data-k="1"]:focus-visible{right:22px;opacity:1}
.pp{position:absolute;right:12px;bottom:24px;z-index:3;width:44px;height:44px;background:none;border:0;cursor:pointer;opacity:.5}
.pp:hover,.pp:focus-visible{opacity:1}
.pp::before{content:"";position:absolute;inset:0;margin:auto;width:8px;height:11px;border:solid #fff;border-width:0 2px}
.pp[aria-pressed=true]::before{width:0;height:0;border:solid transparent;border-width:6px 0 6px 10px;border-left-color:#fff}

/* ---------- strona główna ---------- */
.intro .row:first-child{padding:36px 0 2%}
.intro h1{font:500 30px/42px var(--serif);color:var(--gold);padding-bottom:10px}
.cols2{display:grid;grid-template-columns:1fr 1fr;column-gap:5.5%;padding-top:2%}
.intro ul{list-style:disc;padding:0 0 20px 20px;font-size:20px;line-height:26px}
.intro li{line-height:42px}
.services{background:var(--bg) url(swieca4.jpg) no-repeat 100% 100%;padding:4% 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);column-gap:5.5%;padding:2% 0}
.card{text-align:center;padding-bottom:36px}
.card h2{font:700 26px/36.4px var(--serif);color:var(--gold);padding-bottom:10px}
.card h2 a{color:inherit}

/* ---------- podstrony ---------- */
.page{padding:4% 0}
.page>.row{padding:2% 0}
.page h1{font:500 30px/42px var(--serif);color:var(--gold);padding-bottom:10px}
.page h2{font:500 26px/36.4px var(--serif);color:var(--gold);padding:10px 0 10px}
.page .center{text-align:center}
.page p.center{padding-bottom:0}
.page ul.list{list-style:disc;padding-left:18px;line-height:26px;margin-top:29px}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:55px 5.5%;margin-top:27px}
.gal a{display:block;aspect-ratio:400/284;overflow:hidden}
.gal img{width:100%;height:100%;object-fit:cover}
.gal a:hover{opacity:1}.gal a:hover img{opacity:.8}
.acc{margin-top:28px}
.acc details{padding:20px;margin-bottom:27.8px}
.acc details:last-child{margin-bottom:0}
.acc summary{list-style:none;cursor:pointer;font:500 26px/26px var(--serif);color:var(--gold);position:relative;padding-right:40px}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"";position:absolute;right:0;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:var(--gold)}
.acc details[open] summary{color:#fff}
.acc details[open] summary::after{display:none}
.acc .body{padding-top:20px}
.kgrid{display:grid;grid-template-columns:1fr 1fr;column-gap:5.5%}
.kinfo h1{font:700 30px/42px var(--sans);color:#fff}
.kinfo p{color:var(--ink)}
form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form input,form textarea{width:100%;background:var(--field);border:0;border-radius:0;color:#999;font:400 14px/normal var(--sans);padding:16px}
form input::placeholder,form textarea::placeholder{color:#999}
form textarea{height:150px;margin-top:14px;resize:vertical;display:block}
form input:focus,form textarea:focus{color:#333;outline:2px solid var(--gold);outline-offset:0}
.fsub{display:flex;justify-content:flex-end;align-items:center;gap:0;margin-top:8px}
.fsub label{margin-right:8px;white-space:nowrap}
.fsub input{width:50px;padding:16px 8px;text-align:center;margin-right:18px}
.fsub .btn{margin-top:0;padding:8px 20px}
.btn:disabled{opacity:.5;cursor:wait}
form{position:relative}
.fnote{position:absolute;left:0;right:0;top:100%;font-size:15px;color:var(--muted);text-align:right;margin-top:10px}
.fnote.ok{color:#9ad39a}.fnote.err{color:#f0a0a0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.page.kontakt{padding-bottom:8px}
.maps{padding:4% 0 calc(4% + 51px)}
.maps .kgrid{padding:2% 0}
.maps .kgrid>div{padding-bottom:0}
.maps p{color:var(--gold);padding-bottom:27px}
.maps iframe{display:block;width:100%;height:350px;border:0}
.lb{border:0;background:rgba(0,0,0,.94);max-width:100vw;max-height:100vh;width:100%;height:100%;padding:0}
.lb::backdrop{background:#000}
.lb img{position:absolute;inset:56px 16px 16px;width:calc(100% - 32px);height:calc(100% - 72px);object-fit:contain}
.lb button{position:absolute;top:8px;right:12px;width:44px;height:44px;background:none;border:0;color:var(--gold);font-size:34px;cursor:pointer}

/* ---------- stopka ---------- */
footer{background:#000;border-top:1px solid var(--gold);padding-top:5px}
.fcols{display:grid;grid-template-columns:repeat(3,1fr);column-gap:5.5%;padding:2% 0;text-align:center}
.fh{font:500 26px/46.8px var(--serif);color:#fff;padding-bottom:10px}
footer p{color:#fff;padding-bottom:18px}
.copy{padding:10px 0;text-align:center}
.copy p{font-size:14px;line-height:28.8px;color:var(--muted);padding:0}

/* ---------- tablet (Divi ≤980) ---------- */
@media (max-width:980px){
  body{font-size:16px;line-height:1.6}
  .tb{font-size:16px}
  .bar{padding:23px 0 20px}
  .logo img{width:170px}
  .burger{display:block}
  nav{position:absolute;left:0;right:0;top:calc(100% + 1px);background:#000;border-top:3px solid var(--gold);display:none}
  nav.open{display:block}
  nav>ul{flex-direction:column;padding:5% 0}
  nav>ul>li{padding:0}
  nav a{font-size:20px;line-height:26px;padding:10px 5%;color:#fff}
  nav .has>a svg{display:none}
  .sub{position:static;opacity:1;visibility:visible;width:auto;border:0;padding:0 0 0 20px;background:none}
  .sub li{padding:0}
  .sub a{font-size:16px}
  .st{font-size:39px;line-height:54.6px}
  .intro h1,.intro p{text-align:justify}
  .intro h1{font-size:26px;line-height:36.4px}
  .cols2,.cards,.fcols,.kgrid{grid-template-columns:1fr}
  .intro ul{font-size:16px;padding:0 0 16px 16px}
  .intro li{line-height:33.6px}
  .intro ul+ul{margin-top:30px}
  .intro .row:first-child{padding-bottom:30px}
  .cols2{padding-top:30px}
  .services{padding:50px 0}
  .cards{padding:30px 0}
  .card:not(:last-child){margin-bottom:26px}
  .fcols{padding:30px 0;row-gap:16px}
  .kgrid>div+div{margin-top:30px}
  .gal{grid-template-columns:repeat(3,1fr)}
}
/* ---------- telefon (Divi ≤767) ---------- */
@media (max-width:767px){
  .tb{position:static;display:block;text-align:center;padding-top:5px;line-height:28.8px}
  .tb img{display:inline-block;vertical-align:middle}
  .tb .ph{justify-content:center}
  .tb .ph svg:first-child{margin-left:0}
  .bar{padding:15px 0 20px}
  .logo img{width:150px}
  .hero{display:none}
  .intro h1{font-size:24px;line-height:33.6px}
  .card h2{font-size:22px;line-height:30.8px}
  .page h1{font-size:24px;line-height:33.6px}
  .page h2,.acc summary{font-size:22px;line-height:30.8px}
  .copy p{line-height:25.6px}
  .gal{grid-template-columns:1fr 1fr;gap:20px 5.5%}
  form .two{grid-template-columns:1fr}
}

/* ---------- ruch (odwzorowany z oryginału Divi) ---------- */
@keyframes fadeBottom{from{opacity:0;transform:translateY(10%)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.slide.on .sd{animation:fadeBottom .7s ease-in-out .9s both}
nav a{transition:opacity .4s ease-in-out,color .4s ease-in-out}
.btn{transition:background .2s,border-color .2s}
.arr{transition:opacity .2s ease-in-out,left .2s ease-in-out,right .2s ease-in-out}
/* ukrywane tylko gdy działa JS (klasa na <html>), więc bez JS treść jest zawsze widoczna */
.js .reveal{opacity:0}
.js .reveal.in{animation:fadeIn 1s ease-in-out both}
@media (prefers-reduced-motion:reduce){
  *{transition-duration:.01s!important}
  .slide.on .sd{animation:fadeIn .3s ease-out both}
  .js .reveal{opacity:1}
  .js .reveal.in{animation:none}
}
.acc summary h2{font:inherit;color:inherit;padding:0}
