/* ==========================================================================
   OdkryjSen.pl — ciepły minimalizm
   ========================================================================== */

:root{
  --bg:#FBF9F6; --bg-soft:#F3EEE6; --card:#FFFFFF;
  --ink:#2B2620; --ink-soft:#6B6154; --ink-dim:#A69C8C;
  --line:#EAE3D6; --line-strong:#DDD3BF;

  --terracotta:#C97A5D; --terracotta-soft:#FCEEE7; --terracotta-ink:#9A4E34;
  --sage:#6B8F7B; --sage-soft:#EAF2ED; --sage-ink:#3E5C4B;

  --radius:16px; --radius-sm:10px;
  /* cienie celowo nieuzywane w tym projekcie - plaski, obramowany styl */
}
*{box-sizing:border-box; margin:0; padding:0;}
html{ scroll-behavior:smooth; }
body{
  background:var(--bg); color:var(--ink); font-family:'Inter',sans-serif;
  font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
h1,h2,h3{ font-family:'Fraunces', serif; font-weight:700; letter-spacing:-0.01em; color:var(--ink); }
a{ color:inherit; text-decoration:none; }
.wrap{ max-width:1280px; margin:0 auto; padding:0 40px; }
.wrap-narrow{ max-width:980px; margin:0 auto; padding:0 40px; }
@media (max-width:900px){ .wrap, .wrap-narrow{ padding:0 28px; } }
@media (max-width:640px){ .wrap, .wrap-narrow{ padding:0 20px; } }
.eyebrow{ font-family:'Inter',sans-serif; font-size:13px; letter-spacing:0.03em; text-transform:uppercase; color:var(--terracotta-ink); font-weight:600; }

/* ---------- HEADER ---------- */
header{ border-bottom:1px solid var(--line); position:sticky; top:0; background:rgba(251,249,246,0.9); backdrop-filter:blur(8px); z-index:50; }
.header-inner{ display:flex; align-items:center; justify-content:space-between; height:76px; max-width:1280px; margin:0 auto; padding:0 40px; }
@media (max-width:900px){ .header-inner{ padding:0 28px; } }
@media (max-width:640px){ .header-inner{ padding:0 20px; } }
.logo{ display:flex; align-items:center; gap:9px; font-weight:700; font-size:19px; color:var(--ink); font-family:'Fraunces',serif; }
.logo .mark{ width:22px; height:22px; border-radius:50%; background:var(--terracotta); flex-shrink:0; }
header nav{ display:flex; gap:28px; align-items:center; }
header nav a{ font-size:14.5px; font-weight:500; color:var(--ink-soft); font-family:'Inter',sans-serif; }
header nav a:hover{ color:var(--ink); }
@media (max-width:860px){ header nav .hide-mobile{ display:none; } }
.nav-search{ display:flex; align-items:center; gap:6px; background:var(--bg-soft); border:1px solid var(--line); border-radius:999px; padding:6px 6px 6px 14px; }
.nav-search input{ border:none; outline:none; background:transparent; font-family:'Inter',sans-serif; font-size:13.5px; width:130px; color:var(--ink); }
.nav-search input::placeholder{ color:var(--ink-dim); }
.nav-search button{ background:var(--terracotta); color:#fff; border:none; border-radius:999px; padding:7px 14px; font-size:12.5px; font-weight:600; cursor:pointer; }

/* ---------- MENU MOBILNE (CSS-only hamburger) ---------- */
.mobile-menu-checkbox{ display:none; }
.mobile-menu-btn{ display:none; flex-direction:column; gap:5px; cursor:pointer; padding:6px; }
.mobile-menu-btn span{ width:22px; height:2px; background:var(--ink); border-radius:2px; transition:transform .2s, opacity .2s; }
.mobile-menu{ display:none; padding:16px 28px 22px; border-top:1px solid var(--line); background:var(--bg); }
.mobile-menu a{ display:block; padding:11px 0; font-size:15.5px; font-weight:500; color:var(--ink); border-bottom:1px solid var(--line); }
.mobile-menu a:last-child{ border-bottom:none; }
@media (max-width:860px){
  .mobile-menu-btn{ display:flex; }
  header:has(.mobile-menu-checkbox:checked) .mobile-menu{ display:block; }
  .mobile-menu-checkbox:checked ~ .mobile-menu-btn span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .mobile-menu-checkbox:checked ~ .mobile-menu-btn span:nth-child(2){ opacity:0; }
  .mobile-menu-checkbox:checked ~ .mobile-menu-btn span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
}

/* ---------- BREADCRUMB ---------- */
.breadcrumb{ padding:24px 0 0; font-size:13.5px; color:var(--ink-dim); }
.breadcrumb a:hover{ color:var(--terracotta-ink); }
.breadcrumb .sep{ margin:0 8px; opacity:0.5; }

/* ---------- HERO ---------- */
.hero{ padding:76px 0 64px; text-align:center; }
.hero .eyebrow{ display:block; margin-bottom:18px; }
.hero h1{ font-size:52px; line-height:1.1; margin-bottom:18px; }
@media (max-width:640px){ .hero h1{ font-size:34px; } }
.hero-sub{ color:var(--ink-soft); font-size:17px; max-width:520px; margin:0 auto 36px; }

.search-box{ display:flex; gap:6px; max-width:520px; margin:0 auto; background:var(--card); border-radius:999px; padding:6px 6px 6px 22px; border:1px solid var(--line-strong); }
.search-box input{ flex:1; min-width:0; border:none; padding:12px 0; font-family:'Inter',sans-serif; font-size:15px; color:var(--ink); outline:none; background:transparent; }
.search-box input::placeholder{ color:var(--ink-dim); }
.search-box button{ background:var(--terracotta); color:#fff; border:none; border-radius:999px; padding:0 26px; font-size:14.5px; font-weight:600; cursor:pointer; white-space:nowrap; }
.search-box button:hover{ background:var(--terracotta-ink); }

.popular-tags{ margin-top:22px; font-size:14px; color:var(--ink-dim); }
.popular-tags a{ margin:0 8px; color:var(--ink-soft); }
.popular-tags a:hover{ color:var(--terracotta-ink); }

/* ---------- GENERIC PAGE HEAD ---------- */
.page-head{ padding:56px 0 44px; text-align:center; }
.page-head .eyebrow{ display:block; margin-bottom:14px; }
.page-head h1{ font-size:40px; margin-bottom:14px; }
@media (max-width:640px){ .page-head h1{ font-size:28px; } }
.page-head p{ color:var(--ink-soft); font-size:16px; max-width:560px; margin:0 auto; }

/* ---------- SECTION HEAD ---------- */
.section{ padding:80px 0; }
.section.alt{ background:var(--bg-soft); }
.section-head{ text-align:center; max-width:560px; margin:0 auto 48px; }
.section-head .eyebrow{ display:block; margin-bottom:12px; }
.section-head h2{ font-size:30px; margin-bottom:12px; }
.section-head p{ color:var(--ink-soft); font-size:15.5px; }

/* ---------- SIGNATURE: DWA GŁOSY (karty) ---------- */
.voices-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:880px; margin:0 auto; }
@media (max-width:700px){ .voices-grid{ grid-template-columns:1fr; } }
.voice-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:32px 30px; position:relative; overflow:hidden; }
.voice-card::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; }
.voice-card.trad::before{ background:var(--terracotta); }
.voice-card.psych::before{ background:var(--sage); }
.voice-card .v-label{ font-size:12px; font-weight:700; letter-spacing:0.03em; text-transform:uppercase; margin-bottom:14px; display:inline-block; padding:5px 12px; border-radius:999px; }
.voice-card.trad .v-label{ color:var(--terracotta-ink); background:var(--terracotta-soft); }
.voice-card.psych .v-label{ color:var(--sage-ink); background:var(--sage-soft); }
.voice-card h3{ font-size:21px; margin-bottom:12px; }
.voice-card p{ font-size:14.5px; color:var(--ink-soft); margin-bottom:16px; }
.voice-card .quote{ font-size:14px; color:var(--ink); font-style:italic; }
.voice-card.trad .quote{ background:var(--terracotta-soft); border-radius:var(--radius-sm); padding:14px 16px; }
.voice-card.psych .quote{ background:var(--sage-soft); border-radius:var(--radius-sm); padding:14px 16px; }

.signature-cta{ text-align:center; margin-top:36px; }
.signature-cta a{ font-size:14.5px; font-weight:600; color:var(--terracotta-ink); }
.signature-cta a:hover{ text-decoration:underline; }

/* ---------- STRONA HASŁA: DWA GŁOSY (pełne) ---------- */
.voices-full{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:50px; }
@media (max-width:760px){ .voices-full{ grid-template-columns:1fr; } }
.voice-block{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:36px 34px; position:relative; overflow:hidden; }
.voice-block::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; }
.voice-block.trad::before{ background:var(--terracotta); }
.voice-block.psych::before{ background:var(--sage); }
@media (max-width:640px){ .voice-block{ padding:26px 24px; } }
.voice-block .v-label{ font-size:12px; font-weight:700; letter-spacing:0.03em; text-transform:uppercase; margin-bottom:16px; display:inline-block; padding:5px 12px; border-radius:999px; }
.voice-block.trad .v-label{ color:var(--terracotta-ink); background:var(--terracotta-soft); }
.voice-block.psych .v-label{ color:var(--sage-ink); background:var(--sage-soft); }
.voice-block h2{ font-size:23px; margin-bottom:14px; }
.voice-block > p.intro{ font-size:15px; color:var(--ink-soft); margin-bottom:22px; }

.variant-list{ list-style:none; }
.variant-list li{ padding:14px 0; border-top:1px solid var(--line); }
.variant-list li:first-child{ border-top:none; padding-top:0; }
.variant-ctx{ font-family:'Inter',sans-serif; font-size:12px; font-weight:700; letter-spacing:0.02em; text-transform:uppercase; color:var(--terracotta-ink); display:block; margin-bottom:5px; }
.variant-list p{ font-size:14.5px; color:var(--ink); }

.psych-block{ margin-bottom:20px; }
.psych-block:last-child{ margin-bottom:0; }
.psych-block h3{ font-family:'Inter',sans-serif; font-size:13.5px; font-weight:700; color:var(--sage-ink); margin-bottom:6px; letter-spacing:0.01em; }
.psych-block p{ font-size:14.5px; color:var(--ink-soft); }

/* ---------- SYMBOL DNIA ---------- */
.wod-card{ max-width:600px; margin:0 auto; text-align:center; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:44px 40px; }
.wod-card .eyebrow{ display:block; margin-bottom:16px; }
.wod-card h3{ font-size:34px; margin-bottom:18px; }
.wod-card p{ font-size:15.5px; color:var(--ink-soft); margin-bottom:22px; }
.wod-link{ font-family:'Inter',sans-serif; font-size:14px; font-weight:600; color:var(--terracotta-ink); }
.wod-link:hover{ text-decoration:underline; }

/* ---------- KATEGORIE: SIATKA KART ---------- */
.cat-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
@media (max-width:900px){ .cat-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:600px){ .cat-grid{ grid-template-columns:repeat(2,1fr); } }
.cat-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:22px 20px; transition:border-color .15s; }
.cat-card:hover{ border-color:var(--terracotta); }
.cat-card h3{ font-family:'Inter',sans-serif; font-size:15px; font-weight:600; margin-bottom:6px; }
.cat-card .count{ font-size:12.5px; color:var(--ink-dim); }

/* ---------- LISTA HASEŁ (kategoria / A-Z / wyszukiwanie) ---------- */
.entry-list-section{ padding:0 0 90px; }
.letter-group{ margin-bottom:40px; }
.letter-group:last-child{ margin-bottom:0; }
.letter-heading{ font-size:28px; font-weight:700; color:var(--terracotta-ink); margin-bottom:16px; border-bottom:1px solid var(--line); padding-bottom:10px; }
.entry-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
@media (max-width:760px){ .entry-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .entry-grid{ grid-template-columns:1fr; } }
.entry-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-sm); padding:18px 20px; transition:border-color .15s; }
.entry-card:hover{ border-color:var(--terracotta); }
.entry-card .tag{ font-size:11px; font-weight:700; letter-spacing:0.03em; text-transform:uppercase; color:var(--ink-dim); display:block; margin-bottom:6px; }
.entry-card h3{ font-family:'Fraunces',serif; font-size:18px; font-weight:600; }
.entry-card:hover h3{ color:var(--terracotta-ink); }
.entry-card p{ font-size:13.5px; color:var(--ink-soft); margin-top:8px; }

.entry-grid-4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:1000px){ .entry-grid-4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .entry-grid-4{ grid-template-columns:1fr; } }

/* ---------- KOLUMNA CZYTELNICZA (dlugi tekst wewnatrz .wrap) ---------- */
.prose{ max-width:860px; margin:0 auto; }

.empty-state{ text-align:center; padding:56px 20px; color:var(--ink-soft); font-size:15.5px; }
.empty-state a{ color:var(--terracotta-ink); font-weight:600; }

/* ---------- POWIĄZANE / INNE HASŁA ---------- */
.related{ padding-bottom:44px; }
.related .eyebrow{ display:block; margin-bottom:16px; }
.pill-row{ display:flex; gap:10px; flex-wrap:wrap; }
.pill{ background:var(--card); border:1px solid var(--line); border-radius:999px; padding:9px 18px; font-size:13.5px; color:var(--ink-soft); }
.pill:hover{ color:var(--terracotta-ink); }
.pill.disabled{ opacity:0.5; cursor:default; }
.pill.disabled:hover{ color:var(--ink-soft); }

.more-cat{ padding-bottom:80px; }
.more-cat .eyebrow{ display:block; margin-bottom:18px; }
.more-row{ display:flex; gap:10px; flex-wrap:wrap; }
.more-item{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-sm); font-family:'Fraunces',serif; font-size:15px; font-weight:600; color:var(--ink); padding:10px 20px; }
.more-item:hover{ color:var(--terracotta-ink); }

/* ---------- QUOTE ---------- */
.pull{ padding:80px 0; text-align:center; }
.pull-frame{ max-width:680px; margin:0 auto; }
.pull blockquote{ font-family:'Fraunces',serif; font-size:27px; font-weight:600; color:var(--ink); margin-bottom:16px; line-height:1.45; font-style:italic; }
.pull cite{ font-size:13px; color:var(--ink-dim); text-transform:uppercase; letter-spacing:0.03em; }

/* ---------- FOOTER ---------- */
footer{ padding:56px 0 36px; border-top:1px solid var(--line); background:var(--bg-soft); }
.footer-grid{ display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr 1fr; gap:32px; margin-bottom:40px; }
@media (max-width:900px){ .footer-grid{ grid-template-columns:1fr 1fr 1fr; } }
@media (max-width:640px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-col h4{ font-size:12px; font-weight:700; letter-spacing:0.03em; text-transform:uppercase; color:var(--ink-dim); margin-bottom:14px; }
.footer-col a{ display:block; font-size:14px; color:var(--ink-soft); margin-bottom:9px; }
.footer-col a:hover{ color:var(--terracotta-ink); }
.footer-col p{ font-size:13.5px; color:var(--ink-soft); max-width:260px; }
.footer-bottom{ padding-top:22px; border-top:1px solid var(--line); font-size:13px; color:var(--ink-dim); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.footer-links{ display:flex; gap:22px; }
.footer-links a{ font-size:14px; font-weight:500; color:var(--ink-soft); }
.footer-links a:hover{ color:var(--terracotta-ink); }

/* ---------- ARTYKUŁY (poradnik) ---------- */
.article-row{ display:block; padding:26px 0; border-bottom:1px solid var(--line); }
.article-row:first-child{ border-top:1px solid var(--line); }
.article-cat{ font-size:11.5px; font-weight:700; letter-spacing:0.03em; text-transform:uppercase; color:var(--terracotta-ink); display:block; margin-bottom:8px; }
.article-row h2{ font-size:22px; margin-bottom:8px; }
.article-row:hover h2{ color:var(--terracotta-ink); }
.article-row p{ font-size:15px; color:var(--ink-soft); margin-bottom:10px; }
.article-date{ font-size:13px; color:var(--ink-dim); }

.article-single{ padding:24px 0 90px; max-width:860px; margin:0 auto; }
.article-single .eyebrow{ display:block; margin-bottom:16px; }
.article-single h1{ font-size:38px; margin-bottom:30px; line-height:1.2; }
@media (max-width:640px){ .article-single h1{ font-size:27px; } }
.article-body p{ font-size:17px; color:var(--ink-soft); margin-bottom:20px; line-height:1.75; }
.article-body p:first-child{ color:var(--ink); }

/* ---------- SNY UŻYTKOWNIKÓW ---------- */
.dream-row{ display:block; padding:24px 0; border-bottom:1px solid var(--line); }
.dream-row:first-child{ border-top:1px solid var(--line); }
.dream-excerpt{ font-size:16px; color:var(--ink); margin-bottom:10px; line-height:1.6; }
.dream-row:hover .dream-excerpt{ color:var(--terracotta-ink); }
.dream-meta{ display:flex; gap:16px; font-size:12.5px; color:var(--ink-dim); }

.dream-full{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:30px 32px; margin-bottom:44px; }
@media (max-width:640px){ .dream-full{ padding:22px 20px; } }
.dream-full p{ font-size:16.5px; color:var(--ink); line-height:1.75; }

.interpretations{ margin-bottom:50px; }
.interpretation-card{ border-top:1px solid var(--line); padding:20px 0; }
.interpretation-meta{ font-size:13px; color:var(--ink-dim); margin-bottom:8px; }
.interpretation-meta strong{ color:var(--ink); font-weight:600; }
.interpretation-card p{ font-size:15px; color:var(--ink-soft); line-height:1.7; }

.add-interpretation{ padding:32px 0 80px; border-top:1px solid var(--line); }

/* ---------- FORMULARZE ---------- */
.dream-form{ display:flex; flex-direction:column; gap:6px; max-width:760px; }
.dream-form.full-width{ max-width:none; }
.dream-form label{ font-size:12.5px; font-weight:700; letter-spacing:0.02em; text-transform:uppercase; color:var(--ink-dim); margin-top:14px; }
.dream-form label:first-of-type{ margin-top:0; }
.dream-form input[type="text"],
.dream-form input[type="password"],
.dream-form textarea{
  border:1px solid var(--line-strong); border-radius:var(--radius-sm); background:var(--card); padding:12px 14px;
  font-family:'Inter',sans-serif; font-size:15px; color:var(--ink); outline:none; resize:vertical;
}
.dream-form input:focus, .dream-form textarea:focus{ border-color:var(--terracotta); border-width:2px; padding:11px 13px; }
.dream-form button{
  margin-top:18px; align-self:flex-start; background:var(--terracotta); color:#fff;
  border:none; border-radius:999px; padding:12px 30px; font-size:14.5px; font-weight:600; cursor:pointer;
}
.dream-form button:hover{ background:var(--terracotta-ink); }
.hp-field{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }

.form-errors{ background:#FDF1EE; border-radius:var(--radius-sm); padding:14px 18px; margin-bottom:22px; }
.form-errors p{ color:#9A4E34; font-size:14px; margin:0; }
.form-success{ background:var(--sage-soft); border-radius:var(--radius-sm); padding:14px 18px; color:var(--sage-ink); font-size:14px; margin-bottom:22px; }
.form-note{ font-size:13.5px; color:var(--ink-dim); margin-top:18px; max-width:520px; }

/* ---------- PANEL ADMINA ---------- */
.admin-dream-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:22px 24px; margin-bottom:16px; }
.admin-dream-card p{ font-size:15px; color:var(--ink); margin:12px 0 16px; line-height:1.7; }
.admin-actions{ display:flex; gap:10px; }
.admin-actions button{
  border:none; border-radius:999px; padding:9px 22px; font-size:13px; font-weight:600; cursor:pointer;
}
.btn-approve{ background:var(--sage); color:#fff; }
.btn-approve:hover{ background:var(--sage-ink); }
.btn-reject{ background:var(--terracotta-soft); color:var(--terracotta-ink); }
.btn-reject:hover{ background:#F8DCD0; }

/* ---------- STATYSTYKI (sny czytelników) ---------- */
.stats-bar{ display:flex; justify-content:center; gap:56px; padding:0 0 50px; flex-wrap:wrap; }
.stat-item{ text-align:center; }
.stat-num{ font-family:'Fraunces',serif; font-size:32px; font-weight:700; color:var(--terracotta-ink); }
.stat-label{ font-size:12.5px; color:var(--ink-dim); text-transform:uppercase; letter-spacing:0.03em; margin-top:4px; }

/* ---------- KARTY SNÓW (rozbudowane) ---------- */
.dream-card{ display:flex; gap:16px; padding:24px; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); margin-bottom:14px; transition:border-color .15s; }
.dream-card:hover{ border-color:var(--terracotta); }
.dream-avatar{ width:42px; height:42px; border-radius:50%; background:var(--terracotta-soft); color:var(--terracotta-ink); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; flex-shrink:0; font-family:'Fraunces',serif; }
.dream-card-body{ flex:1; min-width:0; }
.dream-card-head{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:8px; flex-wrap:wrap; }
.dream-card-author{ font-weight:600; font-size:14.5px; color:var(--ink); }
.dream-card-date{ font-size:12.5px; color:var(--ink-dim); }
.dream-card-excerpt{ font-size:15px; color:var(--ink-soft); line-height:1.6; margin-bottom:10px; }
.dream-card-footer{ display:flex; gap:14px; align-items:center; font-size:12.5px; color:var(--ink-dim); }

.emotion-tags{ display:flex; gap:6px; flex-wrap:wrap; margin-top:10px; }
.emotion-tag{ background:var(--sage-soft); color:var(--sage-ink); font-size:11.5px; font-weight:600; padding:4px 12px; border-radius:999px; }

/* ---------- FORMULARZ SNU: WSKAZÓWKI ---------- */
.form-layout{ display:grid; grid-template-columns:1fr 300px; gap:44px; align-items:start; }
@media (max-width:820px){ .form-layout{ grid-template-columns:1fr; } }
.tips-box{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:26px 24px; }
.tips-box h3{ font-size:16px; margin-bottom:14px; }
.tips-box ul{ list-style:none; }
.tips-box li{ font-size:13.5px; color:var(--ink-soft); padding:10px 0; border-top:1px solid var(--line); line-height:1.55; }
.tips-box li:first-child{ border-top:none; padding-top:0; }
.consent-row{ display:flex; align-items:flex-start; gap:10px; margin-top:18px; }
.consent-row input{ margin-top:3px; flex-shrink:0; }
.consent-row label{ font-size:13px; color:var(--ink-soft); text-transform:none; letter-spacing:0; font-weight:400; margin-top:0; }
.char-count{ font-size:12px; color:var(--ink-dim); text-align:right; margin-top:4px; }

/* ---------- ARTYKUŁY: ZAKŁADKI KATEGORII ---------- */
.article-tabs{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-bottom:44px; }
.article-tab{ padding:9px 20px; border-radius:999px; font-size:14px; font-weight:600; color:var(--ink-soft); border:1px solid var(--line-strong); }
.article-tab.active{ background:var(--terracotta); color:#fff; border-color:var(--terracotta); }
.article-tab:hover:not(.active){ border-color:var(--terracotta); color:var(--terracotta-ink); }

/* ---------- ARTYKUŁ POLECANY (featured) ---------- */
.featured-article{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:40px 44px; margin-bottom:44px; }
@media (max-width:640px){ .featured-article{ padding:28px 24px; } }
.featured-article .eyebrow{ display:block; margin-bottom:14px; }
.featured-article h2{ font-size:28px; margin-bottom:12px; }
.featured-article p{ font-size:15.5px; color:var(--ink-soft); margin-bottom:16px; max-width:640px; }
.featured-article .article-date{ font-size:13px; color:var(--ink-dim); }

/* ---------- BYLINE / CZYTAJ DALEJ ---------- */
.article-byline{ display:flex; align-items:center; gap:12px; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:36px; }
.byline-avatar{ width:38px; height:38px; border-radius:50%; background:var(--terracotta); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-weight:700; font-size:15px; }
.byline-name{ font-size:14px; font-weight:600; color:var(--ink); }
.byline-meta{ font-size:12.5px; color:var(--ink-dim); }

.related-articles{ padding:44px 0 90px; border-top:1px solid var(--line); }
.related-articles h3{ font-size:20px; margin-bottom:22px; }
.related-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
@media (max-width:760px){ .related-grid{ grid-template-columns:1fr; } }
.related-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-sm); padding:18px 20px; transition:border-color .15s; }
.related-card:hover{ border-color:var(--terracotta); }
.related-card .article-cat{ margin-bottom:8px; }
.related-card h4{ font-family:'Fraunces',serif; font-size:16px; font-weight:600; }

/* ---------- STATYCZNE PODSTRONY (kontakt, polityka, regulamin, metodologia) ---------- */
.static-page{ padding-top:24px; padding-bottom:100px; }
.static-page h2{ font-size:22px; margin:36px 0 14px; }
.static-page h2:first-child{ margin-top:0; }
.static-page p{ font-size:15.5px; color:var(--ink-soft); margin-bottom:16px; line-height:1.75; }
.static-page ul{ margin:0 0 16px 20px; }
.static-page li{ font-size:15.5px; color:var(--ink-soft); margin-bottom:8px; line-height:1.6; }
.contact-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:28px 30px; margin:24px 0; }
.contact-card a{ color:var(--terracotta-ink); font-weight:600; }
.contact-layout{ display:grid; grid-template-columns:1fr 380px; gap:56px; align-items:start; }
@media (max-width:900px){ .contact-layout{ grid-template-columns:1fr; } }

/* ---------- NAGŁÓWEK STRON STATYCZNYCH (spójny z lewym wyrównaniem treści) ---------- */
.static-head{ padding:48px 0 8px; }
.static-head .eyebrow{ display:block; margin-bottom:14px; }
.static-head h1{ font-size:34px; margin-bottom:10px; }
.static-head .meta{ font-size:14px; color:var(--ink-dim); }

/* ---------- UKŁAD STRON PRAWNYCH (spis treści + treść) ---------- */
.legal-layout{ display:grid; grid-template-columns:220px 1fr; gap:48px; align-items:start; }
@media (max-width:820px){ .legal-layout{ grid-template-columns:1fr; } }
.legal-toc{ position:sticky; top:96px; }
@media (max-width:820px){ .legal-toc{ position:static; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:20px 22px; margin-bottom:30px; } }
.legal-toc h4{ font-size:12px; font-weight:700; letter-spacing:0.03em; text-transform:uppercase; color:var(--ink-dim); margin-bottom:14px; }
.legal-toc a{ display:block; font-size:14px; color:var(--ink-soft); padding:7px 0; border-left:2px solid transparent; padding-left:12px; margin-left:-13px; }
.legal-toc a:hover{ color:var(--terracotta-ink); border-left-color:var(--terracotta); }
.legal-summary{ background:var(--terracotta-soft); border-radius:var(--radius); padding:22px 24px; margin-bottom:36px; }
.legal-summary h4{ font-size:13px; font-weight:700; color:var(--terracotta-ink); text-transform:uppercase; letter-spacing:0.02em; margin-bottom:10px; }
.legal-summary p{ font-size:14.5px; color:var(--ink); margin-bottom:0 !important; }
.legal-content{ max-width:800px; }
.legal-content h2{ scroll-margin-top:96px; }

/* ---------- MINI-FAQ (kontakt) ---------- */
.faq-item{ border-top:1px solid var(--line); padding:18px 0; }
.faq-item:first-child{ border-top:none; }
.faq-item summary{ cursor:pointer; font-weight:600; font-size:15.5px; color:var(--ink); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{ content:"+"; font-size:20px; color:var(--terracotta-ink); flex-shrink:0; }
.faq-item[open] summary::after{ content:"\2013"; }
.faq-item p{ margin-top:12px; font-size:14.5px; color:var(--ink-soft); line-height:1.6; }

/* ---------- KOMENTARZE POD HASŁEM ---------- */
.comments-section{ padding:44px 0 60px; border-top:1px solid var(--line); }
.comments-section > .eyebrow{ display:block; margin-bottom:18px; }
.comment-card{ border-top:1px solid var(--line); padding:18px 0; }
.comment-card:first-of-type{ border-top:none; }
.comment-meta{ font-size:13px; color:var(--ink-dim); margin-bottom:6px; }
.comment-meta strong{ color:var(--ink); font-weight:600; }
.comment-card p{ font-size:14.5px; color:var(--ink-soft); line-height:1.65; }
.comment-form-wrap{ margin-top:30px; padding-top:30px; border-top:1px solid var(--line); }
.comments-layout{ display:grid; grid-template-columns:1fr 1fr; gap:52px; margin-top:24px; align-items:start; }
@media (max-width:860px){ .comments-layout{ grid-template-columns:1fr; gap:36px; } }
.comments-list{ max-height:640px; overflow-y:auto; }

/* ---------- NAWIGACJA A-Z ---------- */
.alphabet-nav{ display:flex; flex-wrap:wrap; gap:6px; justify-content:center; }
.alphabet-nav a, .alphabet-nav span{
  width:34px; height:34px; display:flex; align-items:center; justify-content:center;
  border-radius:8px; font-size:14px; font-weight:600;
}
.alphabet-nav a{ background:var(--card); border:1px solid var(--line); color:var(--ink); }
.alphabet-nav a:hover{ border-color:var(--terracotta); color:var(--terracotta-ink); }
.alphabet-nav span{ color:var(--ink-dim); opacity:0.4; }

/* ---------- SEKCJA PYTAŃ POMOCNICZYCH (strona hasła) ---------- */
.reflect-section{ margin:8px 0 44px; background:var(--sage-soft); border-radius:var(--radius); padding:36px 40px; }
@media (max-width:640px){ .reflect-section{ padding:26px 22px; } }
.reflect-section .eyebrow{ color:var(--sage-ink); display:block; margin-bottom:10px; }
.reflect-title{ font-size:24px; margin-bottom:10px; }
.reflect-intro{ font-size:14.5px; color:var(--ink-soft); margin-bottom:22px; max-width:640px; }
.reflect-list{ list-style:none; counter-reset:reflect; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:760px){ .reflect-list{ grid-template-columns:1fr; } }
.reflect-list li{ counter-increment:reflect; background:var(--card); border-radius:var(--radius-sm); padding:16px 18px 16px 52px; position:relative; font-size:14.5px; color:var(--ink); line-height:1.55; }
.reflect-list li::before{
  content:counter(reflect); position:absolute; left:16px; top:15px;
  width:24px; height:24px; border-radius:50%; background:var(--sage); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:12.5px; font-weight:700;
}

/* ---------- SEKCJA MITY I FAKTY (strona hasła) ---------- */
.myths-section{ margin:0 0 48px; border:1px solid var(--terracotta); border-radius:var(--radius); padding:32px 40px; }
@media (max-width:640px){ .myths-section{ padding:24px 22px; } }
.myths-section .eyebrow{ display:block; margin-bottom:10px; }
.myths-section .reflect-title{ margin-bottom:14px; }
.myths-section .faq-item summary{ font-family:'Fraunces',serif; font-size:16.5px; }

/* ---------- OZDOBNY SEPARATOR ---------- */
.moon-divider{ display:flex; align-items:center; justify-content:center; gap:14px; padding:8px 0 36px; }
.moon-divider::before, .moon-divider::after{ content:""; width:64px; height:1px; background:var(--line-strong); }
.moon-divider svg{ width:16px; height:16px; color:var(--terracotta); }

/* ---------- BANER COOKIES / RODO ---------- */
.cookie-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:999;
  background:var(--ink); color:#fff;
  box-shadow:0 -2px 16px rgba(0,0,0,0.18);
}
.cookie-banner-inner{
  max-width:1280px; margin:0 auto; padding:18px 40px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
@media (max-width:640px){
  .cookie-banner-inner{ flex-direction:column; align-items:stretch; padding:18px 22px; gap:14px; }
}
.cookie-banner p{ margin:0; font-size:14px; line-height:1.5; color:#fff; }
.cookie-banner a{ color:var(--terracotta); font-weight:600; text-decoration:underline; }
.cookie-banner button{
  flex-shrink:0; background:var(--terracotta); color:#fff; border:none;
  border-radius:var(--radius-sm); padding:10px 22px; font-family:'Inter',sans-serif;
  font-size:14px; font-weight:600; cursor:pointer; white-space:nowrap;
}
.cookie-banner button:hover{ background:var(--terracotta-ink); }
