/* ============================================================
   kokonik.com.pl — wspólny arkusz stylów
   Spis: 1. Tokeny  2. Baza  3. Nagłówek+menu  4. Sekcje/karty
         5. Formularz  6. Stopka  7. RWD (tablet/telefon)
   ============================================================ */

/* ---------- 1. Tokeny ---------- */
:root {
  --cream-50:#FBF8F3; --cream-100:#F5EFE6; --sand-300:#E8D6C3;
  --taupe-500:#A8957F; --taupe-600:#877461;
  --ink-700:#4A453E; --ink-900:#2A2722;
  --sage-50:#EFF5F2; --sage-100:#DCEAE3; --sage-200:#C4DBD0; --sage-300:#A9C9BC;
  --sage-400:#8FB9AA; --sage-600:#5E7E72; --sage-700:#4B655B; --sage-800:#3A4E46;
  --clay-100:#F6E7DC; --clay-500:#C5825E; --clay-600:#A86846;
  --border-subtle:rgba(74,69,62,.10); --border-default:rgba(74,69,62,.16);
  --focus:rgba(143,185,170,.55);
  --font-display:'Newsreader',Georgia,serif;
  --font-body:'Mulish',-apple-system,'Segoe UI',sans-serif;
  --r-md:12px; --r-lg:16px; --r-xl:24px; --r-2xl:32px; --r-pill:999px;
  --sh-sm:0 2px 6px rgba(74,69,62,.06); --sh-md:0 6px 18px rgba(74,69,62,.08);
  --sh-lg:0 14px 36px rgba(74,69,62,.10);
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- 2. Baza ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);font-size:1rem;line-height:1.55;color:var(--ink-700);background:var(--cream-50);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink-900);font-weight:500;line-height:1.15;letter-spacing:-.02em;margin:0 0 12px;text-wrap:balance}
h1{font-size:2.8rem;font-weight:600}
h2{font-size:2.1rem}
h3{font-size:1.4rem}
p{margin:0 0 16px;text-wrap:pretty}
a{color:var(--sage-700);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:.18em}
img{max-width:100%;height:auto;display:block}
::selection{background:var(--sage-200);color:var(--ink-900)}
.eyebrow{font-weight:600;font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sage-600)}
.container{max-width:1280px;margin:0 auto;padding:0 32px}
.kk-ico{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--sage-700);color:var(--cream-50);align-items:center;justify-content:center;flex:none}
.kk-ico i{font-size:16px;line-height:1}

/* przyciski */
.btn{font-family:var(--font-body);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--r-pill);cursor:pointer;text-decoration:none;line-height:1;font-size:1rem;padding:12px 24px;transition:background .14s var(--ease),transform .14s var(--ease)}
.btn:hover{text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:none;box-shadow:0 0 0 4px var(--focus)}
.btn--primary{background:var(--sage-600);color:#fff}
.btn--primary:hover{background:var(--sage-700)}
.btn--accent{background:var(--clay-500);color:#fff}
.btn--accent:hover{background:var(--clay-600)}
.btn--secondary{background:#fff;color:var(--sage-700);border-color:var(--border-default)}
.btn--secondary:hover{background:var(--sage-50);border-color:var(--sage-300)}
.btn--lg{font-size:1.125rem;padding:16px 30px}
.btn--full{width:100%}

/* ---------- 3. Nagłówek + menu ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,248,243,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-subtle)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:12px;padding-bottom:12px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo:hover{text-decoration:none}
.logo img{width:52px;height:52px}
.logo-name{display:flex;flex-direction:column;line-height:1}
.logo-name b{font-family:var(--font-display);font-weight:600;font-size:1.95rem;color:var(--ink-900)}
.logo-name span{font-weight:600;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe-600);margin-top:3px}
.main-nav{display:flex;align-items:center;gap:4px}
.main-nav a{font-weight:600;font-size:.95rem;padding:9px 16px;border-radius:var(--r-pill);color:var(--ink-700)}
.main-nav a:hover{background:var(--sage-50);text-decoration:none}
.main-nav a.active{background:var(--sage-100);color:var(--sage-700)}
.header-cta{display:flex;align-items:center;gap:12px}
.header-phone{display:flex;align-items:center;gap:7px;color:var(--sage-700);font-weight:600;font-size:.95rem;white-space:nowrap}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:10px;color:var(--sage-700)}
.nav-toggle i{font-size:26px;line-height:1}

/* ---------- 4. Sekcje / karty ---------- */
.section{padding:80px 0}
.section--sage{background:var(--sage-50)}
.section--sand{background:var(--sand-300)}
.section-head{text-align:center;max-width:640px;margin:0 auto 44px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.grid-2--wide-left{grid-template-columns:1.1fr .9fr}
.grid-2--wide-right{grid-template-columns:.9fr 1.1fr}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.card{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--r-xl);box-shadow:var(--sh-sm);padding:32px}
.card--sand{background:var(--sand-300);border-color:transparent}
.card--sage{background:var(--sage-50);border-color:transparent}
.card--dark{background:var(--sage-700);border-color:transparent;color:#fff}
.card--link{display:block;color:inherit;transition:box-shadow .22s var(--ease),transform .22s var(--ease)}
.card--link:hover{box-shadow:var(--sh-md);transform:translateY(-2px);text-decoration:none}
.foto{border-radius:var(--r-2xl);object-fit:cover;width:100%}
.hero{padding:72px 0 64px}
.hero .grid-2{grid-template-columns:1.05fr .95fr}
.hero h1{font-size:2.8rem;margin-top:16px}
.hero-lead{font-size:1.2rem;max-width:480px;margin-top:20px}
.hero-media{position:relative}
.hero-badge{position:absolute;left:-20px;bottom:28px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:16px 18px;display:flex;align-items:center;gap:12px}
.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:44px;height:44px;background:var(--clay-100);color:var(--clay-600);font-family:var(--font-display);font-weight:600;flex:none}
.avatar--lg{width:60px;height:60px;font-size:1.3rem}
.avatar--sage{background:var(--sage-200);color:var(--sage-700)}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center}
.values .item{display:flex;flex-direction:column;align-items:center}
.values .item .kk-ico{margin-bottom:16px}
.values b{font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--ink-900)}
.values p{margin:4px 0 0;max-width:260px}
.steps{display:flex;flex-direction:column;gap:18px;margin-top:20px}
.step{display:flex;gap:16px}
.step-num{flex:none;width:40px;height:40px;border-radius:50%;background:var(--sage-600);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600}
.step b{color:var(--ink-900);font-size:1.1rem}
.quote-card{padding:48px 56px;text-align:center;max-width:820px;margin:0 auto}
.quote-card blockquote{font-family:var(--font-display);font-size:1.7rem;line-height:1.4;color:var(--ink-900);margin:16px 0 24px;font-style:italic}
.quote-who{display:flex;align-items:center;justify-content:center;gap:12px;text-align:left}
.cta-panel{background:var(--sage-700);border-radius:var(--r-2xl);padding:56px;text-align:center;color:#fff}
.cta-panel h2{color:#fff;font-size:2.4rem}
.cta-panel p{color:var(--sage-100);font-size:1.15rem;max-width:520px;margin:12px auto 28px}
.offer{display:grid;grid-template-columns:1.3fr .7fr;gap:32px;align-items:start}
.offer ul{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:12px}
.offer li{display:flex;gap:12px;align-items:flex-start}
.offer li i{color:var(--sage-600);font-size:20px;line-height:1.3;flex:none}
.price-tag{display:inline-flex;font-weight:600;font-size:.75rem;padding:5px 10px;border-radius:var(--r-pill);background:var(--sage-100);color:var(--sage-700)}
.price{font-family:var(--font-display);font-weight:600;font-size:2rem;color:var(--ink-900);margin:12px 0 4px}
.price-sub{color:var(--taupe-600);margin-bottom:20px}
.faq{display:flex;flex-direction:column;gap:10px;max-width:760px;margin:0 auto}
.faq details{border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:#fff;overflow:hidden}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;font-size:1.125rem;color:var(--ink-900);cursor:pointer;padding:18px 20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{background:var(--sage-50)}
.faq summary i{color:var(--sage-600);transition:transform .22s var(--ease);font-size:20px}
.faq details[open] summary i{transform:rotate(180deg)}
.faq .faq-body{padding:0 20px 20px}
.team-card{max-width:720px;margin:0 auto;text-align:center}
.team-card .bio{text-align:left;margin-top:16px;border-top:1px solid var(--border-subtle);padding-top:16px}
.team-card summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}
.team-card summary::-webkit-details-marker{display:none}
.team-card summary i{color:var(--sage-600);margin-top:8px;transition:transform .22s var(--ease)}
.team-card details[open] summary i{transform:rotate(180deg)}
.map-frame{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-sm);border:1px solid var(--border-subtle);line-height:0}
.contact-info{display:flex;flex-direction:column;gap:16px}
.contact-info .row{display:flex;gap:12px;align-items:center;font-weight:500}
.contact-info .row i{color:var(--sage-700);font-size:20px;flex:none}

/* ---------- 5. Formularz ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:.875rem;font-weight:600;color:var(--ink-900)}
.field .req{color:var(--clay-500)}
.field input,.field select,.field textarea{font-family:var(--font-body);font-size:1rem;color:var(--ink-900);background:#fff;border:1px solid var(--border-default);border-radius:var(--r-md);padding:11px 14px;width:100%}
.field textarea{min-height:104px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--sage-400);box-shadow:0 0 0 4px var(--focus)}
.check{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.check input{width:22px;height:22px;accent-color:var(--sage-600);margin-top:1px}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden} /* honeypot */

/* ---------- 6. Stopka ---------- */
.site-footer{background:var(--sage-800);color:var(--sage-100);margin-top:0}
.site-footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-top:56px;padding-bottom:32px}
.site-footer h4{color:#fff;font-size:1rem;margin-bottom:12px}
.site-footer a{color:var(--sage-200)}
.site-footer p{color:var(--sage-200);font-size:.95rem}
.site-footer .logo-name b{color:#fff}
.site-footer .logo-name span{color:var(--sage-200)}
.site-footer .legal{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;padding-bottom:18px;text-align:center;font-size:.82rem;color:var(--sage-300)}
.footer-links{display:flex;flex-direction:column;gap:10px}

/* ---------- 7. RWD ---------- */
@media (max-width: 960px){
  .container{padding:0 20px}
  h1,.hero h1{font-size:2.2rem}
  h2{font-size:1.8rem}
  .section{padding:56px 0}
  .hero{padding:40px 0}
  .hero .grid-2,.grid-2,.grid-2--wide-left,.grid-2--wide-right{grid-template-columns:1fr;gap:32px}
  .grid-3,.grid-4{grid-template-columns:1fr 1fr}
  .values{grid-template-columns:1fr;gap:32px}
  .offer{grid-template-columns:1fr}
  .header-phone{display:none}
  /* menu mobilne */
  .nav-toggle{display:block}
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--cream-50);border-bottom:1px solid var(--border-subtle);padding:12px 20px 20px;gap:6px;box-shadow:var(--sh-md)}
  .main-nav.open{display:flex}
  .main-nav a{padding:14px 16px;font-size:1.05rem}
  .site-footer .cols{grid-template-columns:1fr;gap:32px}
}
@media (max-width: 600px){
  .grid-3,.grid-4{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .hero-badge{position:static;margin-top:12px}
  .quote-card{padding:32px 24px}
  .quote-card blockquote{font-size:1.35rem}
  .cta-panel{padding:36px 24px}
  .cta-panel h2{font-size:1.8rem}
  .logo-name b{font-size:1.6rem}
  .logo-name span{font-size:.55rem}
  .logo img{width:44px;height:44px}
  .header-cta .btn{padding:10px 16px;font-size:.9rem}
}
@media (prefers-reduced-motion: reduce){
  *{transition:none!important;animation:none!important}
  html{scroll-behavior:auto}
}
