/* =====================================================================
   HR Adviser - wspolna warstwa dla wszystkich podstron
   Tokeny, baza, przyciski, naglowek, stopka, narzedzia.
   Style specyficzne dla danej strony zostaja inline w jej szablonie.
   ===================================================================== */

/* ============ TOKENS ============ */
:root{
  --navy-950:#101a30;
  --navy-900:#15213b;
  --navy-800:#1c2c4d;
  --navy-700:#28406e;
  --steel-500:#5c7ea8;
  --steel-300:#9db4d1;
  --gold-500:#c19a56;
  --gold-400:#d4b378;
  --gold-100:#f1e4c8;
  --cream-100:#f8f3e8;
  --cream-50:#fbf8f1;
  --paper:#ffffff;
  --ink:#1b2436;
  --ink-soft:#4b5468;
  --line:#e4dcc8;

  --bg:var(--cream-50);
  --bg-raised:var(--paper);
  --bg-sunken:var(--cream-100);
  --text:var(--ink);
  --text-soft:var(--ink-soft);
  --text-on-dark:#f4efe1;
  --text-on-dark-soft:#b9c2d6;
  --border:var(--line);
  --accent:var(--gold-500);
  --accent-strong:var(--navy-900);
  --dark-surface:var(--navy-900);
  --dark-surface-2:var(--navy-950);
  --dark-border:rgba(244,239,225,0.12);
  --shadow-card:0 1px 2px rgba(21,33,59,0.06), 0 10px 30px -12px rgba(21,33,59,0.18);
  --header-h:92px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Manrope', ui-sans-serif, system-ui, sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Fraunces', Georgia, 'Times New Roman', serif;
  font-weight:600;
  line-height:1.15;
  letter-spacing:-0.01em;
  margin:0;
  text-wrap:balance;
  color:var(--text);
}
p{margin:0;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
button{font-family:inherit; cursor:pointer;}

.wrap{max-width:1240px; margin:0 auto; padding:0 32px;}
@media (max-width:640px){ .wrap{padding:0 20px;} }

.eyebrow{
  font-family:'Manrope', sans-serif;
  font-size:0.72rem;
  font-weight:800;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--accent);
}
.eyebrow::before{content:"— "; }

section{ padding:96px 0; }
@media (max-width:768px){ section{ padding:64px 0; } }

.section-head{ max-width:640px; margin:0 auto 48px; text-align:center; display:flex; flex-direction:column; gap:14px; align-items:center; }
.section-head h2{ font-size:clamp(1.7rem, 2.6vw, 2.35rem); }
.section-head p{ color:var(--text-soft); font-size:1.02rem; }
.section-head.left{ text-align:left; align-items:flex-start; margin:0 0 48px; }

/* buttons */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 26px;
  border-radius:3px;
  font-weight:700;
  font-size:0.92rem;
  border:1px solid transparent;
  white-space:nowrap;
  transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease;
}
.btn:active{ transform:translateY(1px); }
.btn-primary{ background:var(--navy-900); color:var(--text-on-dark); }
.btn-primary:hover{ background:var(--navy-800); box-shadow:0 8px 20px -8px rgba(21,33,59,0.45); }
.btn-outline{ background:transparent; border-color:var(--navy-900); color:var(--navy-900); }
.btn-outline:hover{ background:var(--navy-900); color:var(--text-on-dark); }
.btn-gold{ background:var(--accent); color:var(--navy-950); }
.btn-gold:hover{ background:var(--gold-400); }
.btn-ghost-light{ background:rgba(244,239,225,0.08); border-color:rgba(244,239,225,0.35); color:var(--text-on-dark); }
.btn-ghost-light:hover{ background:rgba(244,239,225,0.16); }
.btn-sm{ padding:10px 18px; font-size:0.82rem; }
.btn svg{ width:16px; height:16px; }

/* ============ HEADER ============ */
header.site{
  position:sticky; top:0; z-index:50;
  background:rgba(251,248,241,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.nav-row{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:16px 0; }
.brand{ display:flex; align-items:center; gap:12px; }
.brand-logo{ height:58px; width:auto; }
@media (max-width:520px){ .brand-logo{ height:46px; } }

.nav-links{ display:flex; align-items:center; gap:30px; }
.nav-links a{ font-size:0.9rem; font-weight:600; color:var(--text-soft); position:relative; padding:6px 0; }
.nav-links a:hover{ color:var(--navy-900); }
.nav-item.has-drop{ position:relative; }
.nav-item.has-drop > a{ display:flex; align-items:center; gap:5px; }
.nav-item.has-drop svg{ width:12px; height:12px; transition:transform .15s; }
.nav-item.has-drop:hover svg{ transform:rotate(180deg); }
.dropdown{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(6px);
  background:var(--paper); border:1px solid var(--border); border-radius:14px;
  box-shadow:var(--shadow-card);
  min-width:230px; padding:8px; opacity:0; pointer-events:none; visibility:hidden;
  transition:opacity .15s ease, transform .15s ease;
}
.nav-item.has-drop:hover .dropdown{ opacity:1; pointer-events:auto; visibility:visible; transform:translateX(-50%) translateY(0); }
.dropdown a{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:9px; font-size:0.87rem; color:var(--text); }
.dropdown a:hover{ background:var(--cream-100); color:var(--navy-900); }
.dropdown a small{ display:block; font-weight:500; color:var(--text-soft); font-size:0.76rem; }
.header-cta{ display:flex; align-items:center; gap:16px; }
.burger{ display:none; align-items:center; justify-content:center; width:42px; height:42px; border-radius:6px; border:1px solid var(--border); background:var(--paper); flex:none; }
.burger svg{ width:19px; height:19px; color:var(--navy-900); }
.nav-cta-mobile{ display:none; }
@media (max-width:980px){
  .nav-links{
    display:flex; flex-direction:column; align-items:stretch; gap:2px;
    position:absolute; top:100%; left:0; right:0;
    background:var(--paper); border-bottom:1px solid var(--border);
    box-shadow:var(--shadow-card);
    padding:10px 20px 18px;
    max-height:0; overflow:hidden; opacity:0;
    transition:max-height .25s ease, opacity .2s ease;
  }
  .nav-links.open{ max-height:560px; opacity:1; }
  .nav-links > a{ padding:12px 4px; border-bottom:1px solid var(--border); }
  .nav-links > a.nav-cta-mobile{ border-bottom:none; padding:14px 26px; }
  .nav-item.has-drop{ display:flex; flex-direction:column; }
  .dropdown{
    position:static; transform:none; opacity:1; pointer-events:auto; visibility:visible;
    display:none; box-shadow:none; border:none; border-radius:0; padding:0 0 6px 14px; min-width:0;
  }
  .nav-item.has-drop.open .dropdown{ display:flex; flex-direction:column; }
  .nav-item.has-drop:hover .dropdown{ display:none; }
  .nav-item.has-drop.open:hover .dropdown{ display:flex; }
  .burger{ display:flex; }
  .header-cta > a.btn-sm{ display:none; }
  .nav-cta-mobile{ display:inline-flex !important; justify-content:center; margin-top:14px; }
}


.visually-hidden{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* ============ FOOTER ============ */
footer.site{ background:var(--navy-950); color:var(--text-on-dark-soft); padding:64px 0 28px; }
.footer-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:44px; border-bottom:1px solid var(--dark-border); }
@media (max-width:800px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-brand{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
/* herb ma ciemnogranatowe elementy i chromowany brzeg - na granatowym tle
   stopki traci kontrast i polysk, dlatego siedzi na wlasnej jasnej plytce */
.footer-logo-badge{
  display:flex; align-items:center; justify-content:center; flex:none;
  width:50px; height:50px; border-radius:10px;
  background:var(--cream-50);
  box-shadow:0 6px 16px -6px rgba(0,0,0,.35);
}
.footer-logo-badge img{ width:auto; height:36px; }
.footer-brand b{ font-family:'Fraunces',serif; color:var(--text-on-dark); font-size:1.1rem; }
.footer-col h5{ color:var(--text-on-dark); font-size:0.82rem; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:16px; }
.footer-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.footer-col a{ font-size:0.88rem; }
.footer-col a:hover{ color:var(--text-on-dark); }
.footer-col p.tagline{ font-size:0.85rem; max-width:32ch; line-height:1.6; }
.social-row{ display:flex; gap:10px; margin-top:16px; }
.social-row a{ width:36px; height:36px; border-radius:50%; border:1px solid var(--dark-border); display:flex; align-items:center; justify-content:center; }
.social-row a:hover{ background:var(--navy-800); }
.social-row svg{ width:16px; height:16px; }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:24px; font-size:0.78rem; flex-wrap:wrap; gap:10px; }
.footer-bottom a{ margin-left:14px; }
/* ============ FAQ ============ */
.faq-wrap{ max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }
.faq-item{ background:var(--paper); border:1px solid var(--border); border-radius:16px; overflow:hidden; }
.faq-q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; background:none; border:none; text-align:left; font-family:'Fraunces',serif; font-size:1.02rem; font-weight:600; color:var(--text); }
.faq-q svg{ width:18px; height:18px; flex:none; transition:transform .2s ease; color:var(--accent); }
.faq-item[open] .faq-q svg{ transform:rotate(45deg); }
.faq-a{ padding:0 24px 22px; color:var(--text-soft); font-size:0.93rem; max-width:64ch; }
.faq-item summary{ list-style:none; cursor:pointer; }
.faq-item summary::-webkit-details-marker{ display:none; }
