/* Wspólny nagłówek + stopka stron pomocniczych (regulamin, polityka itp.) — spójne ze stroną główną.
   Wymaga zmiennych --royal / --ink / --line w :root strony (strony prawne już je mają). */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:"Sora",sans-serif;font-weight:600;font-size:15px;padding:13px 22px;border-radius:12px;border:0;cursor:pointer;transition:.18s;line-height:1;text-decoration:none}
.btn-primary{background:var(--royal);color:#fff}
.btn-primary:hover{background:#1844ad;transform:translateY(-1px)}

/* Bazowy kontener — wyśrodkowanie + boczne marginesy (strony bez własnej reguły .wrap, np. /restore).
   Strony z własnym inline .wrap (regulamin/kontakt) nadpisują max-width — padding/centrowanie zostaje. */
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}

/* HEADER */
header{position:sticky;top:0;z-index:50;background:rgba(243,246,252,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header .wrap{max-width:1140px}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px}
.nav img{height:30px}
.nav ul{display:flex;gap:28px;list-style:none;font-weight:500;font-size:15px;color:#33415c;margin:0;padding:0}
.nav ul a{color:#33415c}
.nav ul a:hover{color:var(--royal)}
.hamb{display:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:0}
.hamb span{display:block;width:24px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s ease,opacity .2s ease}
.hamb[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamb[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamb[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mnav{display:none}
@media(max-width:768px){
  .nav ul{display:none}
  .nav .nav-cta{display:none}
  .hamb{display:flex}
  .mnav{display:flex;flex-direction:column;gap:2px;position:fixed;left:0;right:0;top:70px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 16px 30px rgba(2,12,40,.12);padding:12px 20px calc(18px + env(safe-area-inset-bottom));transform:translateY(-12px);opacity:0;visibility:hidden;transition:transform .25s ease,opacity .25s ease,visibility 0s linear .25s;z-index:40}
  .mnav.open{transform:translateY(0);opacity:1;visibility:visible;transition:transform .25s ease,opacity .25s ease,visibility 0s linear 0s}
  .mnav a:not(.btn){padding:13px 6px;font-weight:500;font-size:16px;color:#33415c;border-bottom:1px solid var(--line)}
  .mnav .btn{margin-top:12px;width:100%;text-align:center;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.hamb span,.mnav{transition:none}}

/* FOOTER */
footer{background:#0f244f;color:#aebbd8;padding:48px 0 30px;margin-top:40px}
footer .wrap{max-width:1140px}
footer a{color:#aebbd8}
footer a:hover{color:#fff}
.fcols{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:28px}
.fnote{border-top:1px solid #25396b;padding-top:18px;font-size:13px;color:#8294b8;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
/* CTA „Dokończ dopasowanie CV" — aktywna, opłacona sesja edycji (24 h): delikatny puls (chrome.js dodaje klasę) */
.cta-resume{animation:ctaPulse 2.4s ease-in-out infinite;will-change:transform,box-shadow}
@keyframes ctaPulse{0%,100%{transform:translateY(0);box-shadow:0 6px 18px -8px rgba(30,79,196,.55)}50%{transform:translateY(-2px);box-shadow:0 12px 26px -8px rgba(30,79,196,.75)}}
@media(prefers-reduced-motion:reduce){.cta-resume{animation:none}}
