/* === FONTY LOKALNE (bez Google — szybciej i zgodnie z RODO) === */
@font-face{font-family:'Cinzel';src:url('fonts/cinzel.woff2') format('woff2');font-weight:400 900;font-style:normal;font-display:swap;}
@font-face{font-family:'Oswald';src:url('fonts/oswald.woff2') format('woff2');font-weight:200 700;font-style:normal;font-display:swap;}
@font-face{font-family:'Inter';src:url('fonts/inter.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;}
/* === GreatVibes-self-hosted: font na własnym serwerze (bez Google) === */
@font-face{
  font-family:'Great Vibes';
  src:url('fonts/greatvibes.woff2') format('woff2');
  font-weight:400; font-style:normal;
  font-display:block;   /* czeka na font zamiast migać zastępczym */
}


:root{--nv-ember:#df5a20;--nv-ember-br:#ff8c42;--nv-paper:#ece9e3;--nv-taupe:#8a94a0;--nv-iron:#141418;--nv-disp:'Oswald','Arial Narrow',sans-serif;--nv-ui:'Inter',sans-serif;}
.phdr{position:sticky;top:0;z-index:60;background:#16161b;border-bottom:1px solid rgba(243,145,74,.22);}
.pnav{max-width:1220px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:104px;gap:18px;}
.pbrand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.pbrand .plogo{height:70px;width:auto;object-fit:contain;display:block;}
.pnav-links{display:flex;gap:22px;align-items:center;list-style:none;margin:0;padding:0;white-space:nowrap;}
.pnav-links a{font-family:var(--nv-disp);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--nv-paper);opacity:.82;text-decoration:none;transition:.2s;}
.pnav-links a:hover,.pnav-links a.active{opacity:1;color:var(--nv-ember-br);}
.pnav-cta{color:#141418!important;background:var(--nv-ember);border-radius:6px;padding:9px 18px;opacity:1!important;}
.pdrop{position:relative;list-style:none;}
.pdrop>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-family:var(--nv-disp);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--nv-paper);opacity:.82;}
.pdrop>summary::-webkit-details-marker{display:none;}
.pdrop>summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);}
.pdrop[open]>summary,.pdrop:hover>summary{opacity:1;color:var(--nv-ember-br);}
.pdrop:not([open]) .pdrop-menu{display:none;}
.pdrop-menu{position:absolute;top:100%;left:0;margin-top:12px;background:#16161b;border:1px solid rgba(243,145,74,.2);border-radius:10px;padding:10px;display:grid;gap:2px;min-width:230px;box-shadow:0 24px 44px -14px rgba(0,0,0,.7);list-style:none;}
.pdrop-menu::after{content:"";position:absolute;top:-12px;left:0;right:0;height:12px;}
.pdrop-menu a{display:block;padding:10px 13px;border-radius:6px;color:var(--nv-paper);opacity:.85;font-family:var(--nv-ui);font-size:13.5px;font-weight:500;text-transform:none;letter-spacing:0;text-decoration:none;}
.pdrop-menu a:hover{background:rgba(243,145,74,.12);opacity:1;color:var(--nv-ember-br);}
.pburger{display:none;background:none;border:0;cursor:pointer;padding:8px;}.pburger span{display:block;width:24px;height:2px;background:var(--nv-paper);margin:5px 0;}
@media(max-width:900px){.pnav-links{position:absolute;top:104px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:6px;background:#16161b;border-bottom:1px solid rgba(243,145,74,.2);padding:16px 24px;display:none;}.pnav-links.open{display:flex;}.pburger{display:block;}.pdrop-menu{position:static;box-shadow:none;margin-top:6px;}.pdrop-menu::after{display:none;}}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ff8c42;outline-offset:3px;}
#cc{position:fixed;left:16px;right:16px;bottom:16px;z-index:300;max-width:760px;margin:0 auto;background:#16161b;border:1px solid rgba(243,145,74,.3);border-radius:12px;padding:16px 18px;box-shadow:0 20px 50px -18px #000;font-family:Inter,sans-serif;display:none}#cc.show{display:block}#cc p{margin:0 0 12px;color:#c9c5bd;font-size:13.5px;line-height:1.6}#cc a{color:#ff8c42}#cc .row{display:flex;gap:10px;flex-wrap:wrap}#cc button{font-family:Oswald,sans-serif;font-weight:600;text-transform:uppercase;font-size:13px;padding:10px 18px;border-radius:7px;border:0;cursor:pointer}#cc .acc{background:#df5a20;color:#1a0d04;font-weight:700}#cc .rej{background:transparent;color:#c9c5bd;border:1px solid #33333c}#cc-open{position:fixed;left:14px;bottom:14px;z-index:290;background:#16161b;border:1px solid #33333c;color:#8a94a0;font-size:11px;padding:6px 10px;border-radius:6px;cursor:pointer;display:none}
.btn{display:inline-block!important;vertical-align:middle;} .tag-list{margin-bottom:8px;}
.skip-link{position:absolute;left:-999px;top:0;z-index:300;background:#df5a20;color:#111;padding:10px 16px;border-radius:0 0 8px 0;font-weight:600;}.skip-link:focus{left:0;}
/* CINZEL-TITLES — ozdobne tytuły (propozycja 1) */
.content h2,.gallery h2,.related h2,.process h2,.faq h2,h1,h2,h3,.big,.title,.page-hero h1,.hero h1,.hero-title,.section-title,.sec-title{font-family:'Cinzel',Georgia,'Times New Roman',serif!important;letter-spacing:.01em;}
.page-hero h1,.hero h1,h1.big,.big{font-weight:700!important;}




/* krój zastępczy dopasowany metrycznie — mniejszy przeskok zanim wczyta się Great Vibes */
@font-face{
  font-family:'GV-Fallback';
  src:local('Brush Script MT'),local('Segoe Script'),local('Snell Roundhand'),local('Apple Chancery');
  size-adjust:112%; ascent-override:92%; descent-override:28%; line-gap-override:0%;
}

/* === GREAT-VIBES-TITLES: kaligrafia w hasłowych tytułach (bije regułę Cinzel !important) === */
h1,h2,h2.big,.big,.title,.page-hero h1,.hero h1,.hero-title,.section-title,.sec-title,
.content h2,.gallery h2,.related h2,.process h2,.faq h2,.k-title{
  font-family:'Great Vibes','GV-Fallback',cursive!important;
  font-weight:400!important;
  text-transform:none!important;
  letter-spacing:.01em!important;
  line-height:1.22!important;
}
.hero h1{font-size:clamp(52px,8.6vw,104px)!important;line-height:1.14!important;max-width:20ch;}
h1{font-size:clamp(44px,6.6vw,82px)!important;}
h2,.content h2{font-size:clamp(34px,4.6vw,54px)!important;}
h2.big,.big{font-size:clamp(36px,4.8vw,58px)!important;}
.k-title{font-size:clamp(32px,4.2vw,46px)!important;}
h1 em,h2 em{font-style:normal;}

/* h3, nadtytuły, przyciski, telefon, numery, menu — zostają Oswald */
h3,.eyebrow,.btn,.big-tel,.num,.badge,nav a,.pnav a{
  font-family:var(--display)!important;
}
h3{text-transform:uppercase!important;letter-spacing:.01em!important;font-weight:600!important;line-height:1.06!important;}
.eyebrow{text-transform:uppercase!important;}

.foot-h{font-family:var(--display)!important;font-size:13px!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--ember-br)!important;margin:0 0 14px!important;line-height:1.2!important;font-weight:600!important;}

/* === PROPORCJE-OBRAZOW: atrybuty width/height nie mogą wymuszać wysokości === */
img[width][height]{max-width:100%;}
.two img,.content img,.article img,.art-body img,.lede img{height:auto;}

/* === STOPKA-UKLAD === */
.foot-grid>div{min-width:0;}
.foot-grid>div>a{line-height:1.6;}

/* TABLET i TELEFON: układ 2x2 — najbardziej zwarty */
@media(max-width:1000px){
  .foot-grid{grid-template-columns:1fr 1fr!important;gap:26px 30px!important;}
}
@media(max-width:560px){
  .foot-grid{grid-template-columns:1fr 1fr!important;gap:20px 16px!important;}
  .foot-grid>div>a{font-size:14px;line-height:1.65;}
  .foot-h{font-size:12px!important;margin-bottom:8px!important;}
  .foot-col-kontakt p{font-size:14px;}
}

/* TELEFON: kolumna Kontakt na całą szerokość — e-mail nie mieści się w połowie ekranu */
@media(max-width:560px){
  .foot-col-kontakt{grid-column:1 / -1;}
  .foot-col-kontakt a,.foot-grid a,.foot a{overflow-wrap:anywhere;word-break:break-word;}
}
