/*
Theme Name: Informacje Kołobrzeg
Theme URI: https://informacjekolobrzeg.pl
Author: Redakcja informacje kołobrzeg.pl
Author URI: https://informacjekolobrzeg.pl
Description: Elegancki, lekki motyw dla lokalnego portalu informacyjnego — newsy tekstowe, zdjęcia oraz relacje wideo (YouTube + serwer lokalny .mp4). Bloki reklamowe co 2–3 newsy z miejscami pod wtyczkę Ad Inserter. Kierunek wizualny oparty na logo: czerń, bursztyn i turkus, nagłówki szeryfowe Spectral.
Version: 1.0.4
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: informacje-kolobrzeg
Tags: news, blog, two-columns, custom-menu, featured-images, translation-ready
*/

/* ============================================================
   1. Zmienne / reset
   ============================================================ */
:root{
  --ink:#141414;
  --ink-soft:#2c2b26;
  --paper:#fbfbf9;
  --amber:#F4A621;
  --amber-d:#C77F12;
  --teal:#17B7C7;
  --teal-d:#0E97A6;
  --muted:#6b6a62;
  --muted-2:#8c8a80;
  --line:#ece9e0;
  --line-2:#e4e1d7;
  --chip:#f0eee6;
  --red:#e23b3b;
  --max:1200px;
  --serif:'Lora', Georgia, 'Times New Roman', serif;
  --sans:'Libre Franklin', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  --logo:'Poppins', var(--sans);
  --mono:'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
a:hover{ color:var(--amber-d); }
::selection{ background:#ffd98a; }
.ik-container{ max-width:var(--max); margin:0 auto; padding-left:24px; padding-right:24px; }
.screen-reader-text{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); border:0; }
.ik-sr-skip{ position:absolute; left:-9999px; }
.ik-sr-skip:focus{ left:12px; top:12px; z-index:100; background:#fff; padding:10px 16px; border-radius:6px; }

/* ============================================================
   2. Pasek narzędziowy
   ============================================================ */
.ik-topbar{ background:var(--ink); color:#cfcec7; font-size:12.5px; }
.ik-topbar__inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:8px; padding-bottom:8px; }
.ik-topbar__meta{ display:flex; align-items:center; gap:18px; }
.ik-topbar a{ color:#cfcec7; }
.ik-topbar a:hover{ color:#fff; }
.ik-topbar .ik-accent{ color:var(--teal); font-weight:600; }
.ik-topbar__sep{ width:1px; height:13px; background:#3a3a36; }
.ik-dot{ display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--amber); }
.ik-pill-live{ display:inline-flex; align-items:center; gap:6px; }

/* ============================================================
   3. Masthead / logo / szukaj
   ============================================================ */
.ik-masthead{ background:var(--paper); border-bottom:1px solid var(--line); }
.ik-masthead__inner{ display:flex; align-items:center; justify-content:space-between; gap:32px; padding-top:20px; padding-bottom:20px; }
.ik-logo{ display:flex; align-items:center; gap:14px; flex-shrink:0; }
.ik-logo img{ max-height:52px; width:auto; }
.ik-logo__text{ display:flex; flex-direction:column; line-height:.92; }
.ik-logo__text b{ font-family:var(--logo); font-weight:700; font-size:32px; letter-spacing:-.02em; color:var(--ink); }
.ik-logo__text span{ font-family:var(--logo); font-weight:600; font-size:15px; color:var(--ink); }
.ik-logo__mark{ position:relative; width:42px; height:42px; flex-shrink:0; }
.ik-logo__mark .c{ position:absolute; inset:0; border-radius:50%; background:var(--amber); }
.ik-logo__mark .d{ position:absolute; left:12px; top:12px; width:13px; height:13px; border-radius:50%; background:var(--teal); }
.ik-logo__mark svg{ position:absolute; right:1px; bottom:-1px; width:20px; height:20px; }

.ik-search{ flex:1; max-width:440px; }
.ik-search form{ display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--line-2); border-radius:999px; padding:10px 18px; }
.ik-search input[type=search]{ border:none; outline:none; background:transparent; font-family:inherit; font-size:14px; width:100%; color:var(--ink); }
.ik-search button{ border:none; background:none; padding:0; cursor:pointer; display:flex; }
.ik-search svg{ stroke:var(--muted-2); }

.ik-btn{ background:var(--ink); color:#fff; font-weight:600; font-size:13.5px; padding:12px 20px; border-radius:999px; white-space:nowrap; display:inline-block; }
.ik-btn:hover{ color:#fff; background:#000; }
.ik-btn--teal{ background:var(--teal); color:#06343a; }
.ik-btn--teal:hover{ background:var(--teal-d); color:#06343a; }

.ik-burger{ display:none; background:none; border:none; cursor:pointer; padding:8px; }
.ik-burger svg{ stroke:var(--ink); }

/* ============================================================
   4. Nawigacja
   ============================================================ */
.ik-nav{ background:var(--paper); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:40; }
.ik-nav__inner{ display:flex; align-items:stretch; }
.ik-nav ul{ list-style:none; margin:0; padding:0; display:flex; gap:4px; overflow-x:auto; }
.ik-nav li{ flex-shrink:0; }
.ik-nav a{ display:block; padding:15px 16px; font-size:14.5px; font-weight:500; color:var(--muted); position:relative; transition:color .18s ease; }
/* animowane podkreślenie: rośnie od środka */
.ik-nav a::after{ content:""; position:absolute; left:16px; right:16px; bottom:0; height:3px; background:var(--amber); transform:scaleX(0); transform-origin:center; transition:transform .22s ease; }
.ik-nav a:hover{ color:var(--ink); }
.ik-nav a:hover::after{ transform:scaleX(1); }
.ik-nav .current-menu-item > a,
.ik-nav .current_page_item > a,
.ik-nav .current-menu-parent > a{ color:var(--ink); font-weight:600; }
.ik-nav .current-menu-item > a::after,
.ik-nav .current_page_item > a::after,
.ik-nav .current-menu-parent > a::after{ transform:scaleX(1); }
/* subtelny cień belki po przyklejeniu przy przewijaniu */
.ik-nav{ transition:box-shadow .25s ease; }
.ik-nav.is-stuck{ box-shadow:0 6px 18px -10px rgba(20,20,20,.28); }

/* ============================================================
   5. Wspólne: kicker, tag, meta, placeholdery
   ============================================================ */
.ik-kicker{ font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--amber-d); }
.ik-tag{ display:inline-block; background:var(--amber); color:#161616; font-size:11.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; padding:5px 11px; border-radius:2px; }
.ik-meta{ font-size:12.5px; color:var(--muted-2); }
.ik-headline{ font-family:var(--serif); font-weight:600; line-height:1.18; letter-spacing:-.005em; color:var(--ink); transition:color .15s; }
a:hover .ik-headline{ color:var(--amber-d); }
.ik-divider{ height:1px; background:var(--line); border:0; margin:0; }

.ik-ph{ position:relative; background:repeating-linear-gradient(135deg,#efeee8 0 11px,#e7e6df 11px 22px); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.ik-ph[data-label]::after{ content:attr(data-label); font-family:var(--mono); font-size:11px; color:#9a988e; background:rgba(251,251,249,.82); padding:3px 8px; border-radius:2px; }

/* media / wideo */
.ik-media{ position:relative; border-radius:4px; overflow:hidden; }
.ik-media img{ width:100%; height:100%; object-fit:cover; }
.ik-ratio-16x9{ aspect-ratio:16/9; }
.ik-ratio-3x2{ aspect-ratio:3/2; }
.ik-ratio-4x3{ aspect-ratio:4/3; }
.ik-ratio-1x1{ aspect-ratio:1/1; }
.ik-play{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.ik-play span{ width:62px; height:62px; border-radius:50%; background:rgba(20,20,20,.78); display:flex; align-items:center; justify-content:center; }
.ik-play svg{ fill:#fff; margin-left:3px; }
.ik-badge{ position:absolute; left:12px; top:12px; color:#fff; font-size:11px; font-weight:700; letter-spacing:.06em; padding:4px 9px; border-radius:2px; }
.ik-badge--yt{ background:var(--red); }
.ik-badge--local{ background:var(--teal); color:#06343a; letter-spacing:.05em; }

/* ============================================================
   6. Strona główna — hero
   ============================================================ */
.ik-hero{ display:grid; grid-template-columns:1.55fr 1fr; gap:32px; padding-top:32px; padding-bottom:12px; }
.ik-hero__lead .ik-media{ display:block; }
.ik-hero__lead .ik-tagrow{ display:flex; align-items:center; gap:12px; margin:18px 0 10px; }
.ik-hero__title{ font-family:var(--serif); font-weight:700; font-size:38px; line-height:1.1; letter-spacing:-.01em; margin:0 0 12px; }
.ik-hero__title a{ transition:color .15s; }
.ik-hero__title a:hover{ color:var(--amber-d); }
.ik-hero__dek{ font-family:var(--serif); font-size:18px; line-height:1.5; color:#4f4e46; margin:0; }
.ik-hero__side{ display:flex; flex-direction:column; gap:20px; }

.ik-card--row{ display:grid; grid-template-columns:1fr 1.1fr; gap:14px; align-items:start; }
.ik-card--row .ik-headline{ font-size:18px; margin:6px 0 4px; }

/* blok na żywo */
.ik-live{ background:var(--ink); border-radius:4px; padding:16px; color:#fff; }
.ik-live__tag{ display:inline-flex; align-items:center; gap:7px; margin-bottom:10px; }
.ik-live__dot{ width:8px; height:8px; border-radius:50%; background:var(--red); box-shadow:0 0 0 4px rgba(226,59,59,.22); }
.ik-live__tag b{ font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.ik-live .ik-headline{ font-size:19px; color:#fff; margin:0 0 6px; }
.ik-live small{ font-size:12.5px; color:#9b9a92; }

/* ============================================================
   7. Body: feed + sidebar
   ============================================================ */
.ik-body{ display:grid; grid-template-columns:1fr 340px; gap:44px; padding-top:28px; padding-bottom:56px; align-items:start; }
.ik-section-head{ display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.ik-section-head h2{ font-family:var(--sans); font-weight:700; font-size:15px; letter-spacing:.1em; text-transform:uppercase; margin:0; }
.ik-section-head .line{ flex:1; height:1px; background:var(--line); }
.ik-section-head .more{ font-size:13px; font-weight:600; color:var(--teal); }

.ik-feed{ display:flex; flex-direction:column; gap:26px; }
.ik-feed__item{ display:grid; grid-template-columns:230px 1fr; gap:20px; align-items:start; }
.ik-feed__item .ik-headline{ font-size:23px; margin:7px 0 8px; }
.ik-feed__item .ik-excerpt{ font-size:14.5px; line-height:1.55; color:#5c5b52; margin:0 0 9px; }


.ik-loadmore{ align-self:center; margin-top:8px; font-family:inherit; font-weight:600; font-size:14px; color:var(--ink); background:#fff; border:1px solid #ddd9cd; border-radius:999px; padding:13px 28px; cursor:pointer; }
.ik-loadmore:hover{ border-color:var(--amber); }

/* paginacja */
.ik-pagination{ margin-top:34px; display:flex; gap:8px; flex-wrap:wrap; }
.ik-pagination .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 12px; border:1px solid var(--line-2); border-radius:8px; font-weight:600; font-size:14px; color:var(--ink); background:#fff; }
.ik-pagination .page-numbers.current{ background:var(--ink); color:#fff; border-color:var(--ink); }
.ik-pagination .page-numbers:hover{ border-color:var(--amber); color:var(--amber-d); }

/* ============================================================
   8. Reklamy (miejsca pod Ad Inserter)
   ============================================================ */
.ik-ad{ border:1px dashed #d8d4c8; border-radius:4px; padding:10px; text-align:center; background:#faf8f2; }
.ik-ad__label{ font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; color:#b3afa1; margin-bottom:8px; }
.ik-ad__ph{ position:relative; background:repeating-linear-gradient(135deg,#efeee8 0 11px,#e7e6df 11px 22px); border-radius:2px; display:flex; align-items:center; justify-content:center; }
.ik-ad__ph[data-label]::after{ content:attr(data-label); font-family:var(--mono); font-size:11px; color:#9a988e; background:rgba(251,251,249,.82); padding:3px 8px; border-radius:2px; }
.ik-ad--filled{ border:0; background:none; padding:0; }

/* ============================================================
   9. Sidebar / widgety
   ============================================================ */
.ik-sidebar{ display:flex; flex-direction:column; gap:32px; }
.ik-widget{ }
.ik-widget__title{ font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:.1em; text-transform:uppercase; margin:0 0 16px; padding-bottom:12px; border-bottom:2px solid var(--ink); }
.ik-widget ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.ik-widget ul li a{ font-family:var(--serif); font-weight:500; font-size:15.5px; line-height:1.3; }
.ik-widget ul li a:hover{ color:var(--amber-d); }

/* Widget "Archiwa" (WP core: widget_archive) — zwijamy do 12 pozycji z przyciskiem "Pokaż więcej". */
.ik-archive-hidden{ display:none !important; }
.ik-archive-more{ display:inline-flex; align-items:center; gap:6px; margin-top:14px; background:none; border:1px solid var(--line); border-radius:999px; padding:8px 16px; font-family:var(--sans); font-size:12.5px; font-weight:600; color:var(--ink); cursor:pointer; }
.ik-archive-more:hover{ border-color:#bdb9ac; }

/* ranking najczęściej czytane */
.ik-rank{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.ik-rank li{ display:flex; gap:14px; }
.ik-rank .n{ font-family:var(--serif); font-weight:700; font-size:24px; color:var(--amber); line-height:1; min-width:24px; }
.ik-rank a{ font-family:var(--serif); font-weight:500; font-size:15.5px; line-height:1.3; }

/* pogoda */
.ik-weather{ background:#fff; border:1px solid var(--line); border-radius:6px; padding:20px; }
.ik-weather__top{ display:flex; align-items:center; justify-content:space-between; }
.ik-weather__lbl{ font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted-2); }
.ik-weather__temp{ font-family:var(--serif); font-size:42px; font-weight:600; line-height:1.1; margin-top:4px; }
.ik-weather__temp small{ font-size:18px; color:var(--muted-2); }
.ik-weather__sun{ width:56px; height:56px; border-radius:50%; background:var(--amber); position:relative; }
.ik-weather__sun::after{ content:""; position:absolute; left:16px; top:16px; width:18px; height:18px; border-radius:50%; background:var(--paper); }
.ik-weather__row{ display:flex; gap:18px; margin-top:14px; font-size:13px; color:#5c5b52; }
.ik-weather__row strong{ color:var(--ink); }

/* relacje wideo (ciemny widget) */
.ik-vlist{ background:var(--ink); border-radius:6px; padding:20px; color:#fff; }
.ik-vlist__title{ font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:.1em; text-transform:uppercase; margin:0 0 16px; display:flex; align-items:center; gap:8px; color:#fff; border:0; padding:0; }
.ik-vlist__title .dot{ width:8px; height:8px; border-radius:50%; background:var(--teal); }
.ik-vlist__items{ display:flex; flex-direction:column; gap:14px; }
.ik-vlist__item{ display:grid; grid-template-columns:84px 1fr; gap:12px; align-items:center; }
.ik-vlist__item span{ font-family:var(--serif); font-size:14.5px; line-height:1.25; color:#fff; }
.ik-vlist__item:hover span{ color:var(--teal); }
.ik-vlist .sep{ height:1px; background:#2c2c28; }

/* generyczne widgety WP */
.widget{ margin:0; }
.widget .widgettitle, .widget h2.widget-title{ font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:.1em; text-transform:uppercase; margin:0 0 16px; padding-bottom:12px; border-bottom:2px solid var(--ink); }
.widget select{ width:100%; padding:10px; border:1px solid var(--line-2); border-radius:6px; }

/* ============================================================
   10. Pojedynczy artykuł
   ============================================================ */
.ik-breadcrumb{ padding:20px 0 0; font-size:12.5px; color:var(--muted-2); display:flex; gap:8px; flex-wrap:wrap; }
.ik-breadcrumb a:hover{ color:var(--ink); }
.ik-single{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:52px; padding:24px 0 56px; align-items:start; }
.ik-article{ max-width:720px; }
.ik-article__title{ font-family:var(--serif); font-weight:700; font-size:42px; line-height:1.12; letter-spacing:-.01em; margin:16px 0 16px; }
.ik-article__lead{ font-family:var(--serif); font-size:20px; line-height:1.5; color:#4f4e46; font-style:italic; margin:0 0 22px; }
.ik-byline{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:26px; flex-wrap:wrap; }
.ik-byline__who{ display:flex; align-items:center; gap:12px; }
.ik-avatar{ width:40px; height:40px; border-radius:50%; background:var(--teal); display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:14px; overflow:hidden; }
.ik-avatar img{ width:100%; height:100%; object-fit:cover; }
.ik-byline__name{ font-size:13.5px; font-weight:600; line-height:1.3; }
.ik-byline__date{ font-size:12.5px; color:var(--muted-2); }
.ik-share{ display:flex; align-items:center; gap:8px; }
.ik-share .lbl{ font-size:12px; color:var(--muted-2); margin-right:2px; }
.ik-share a{ width:34px; height:34px; border-radius:50%; border:1px solid var(--line-2); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:var(--muted); }
.ik-share a:hover{ border-color:var(--ink); color:var(--ink); }

.ik-figure{ margin:0 0 28px; }
.ik-figure figcaption, .ik-caption{ font-size:12.5px; color:var(--muted-2); margin-top:8px; font-style:italic; }

/* treść artykułu (the_content) */
.ik-content{ font-family:var(--serif); font-size:18.5px; line-height:1.65; color:var(--ink-soft); }
.ik-content > *{ margin:0 0 22px; }
.ik-content p{ margin:0 0 22px; }
.ik-content h2{ font-family:var(--serif); font-weight:700; font-size:28px; line-height:1.2; margin:34px 0 14px; }
.ik-content h3{ font-family:var(--serif); font-weight:600; font-size:23px; line-height:1.25; margin:28px 0 12px; }
.ik-content a{ color:var(--teal-d); text-decoration:underline; text-underline-offset:2px; }
.ik-content a:hover{ color:var(--amber-d); }
.ik-content img{ border-radius:4px; }
.ik-content ul, .ik-content ol{ padding-left:1.3em; }
.ik-content li{ margin-bottom:8px; }
.ik-content blockquote{ font-family:var(--serif); font-weight:600; font-size:24px; line-height:1.35; color:var(--ink); border-left:4px solid var(--amber); padding:4px 0 4px 22px; margin:6px 0 26px; font-style:normal; }
.ik-content blockquote p{ margin:0; }
.ik-content figure{ margin:0 0 22px; }

/* osadzone wideo w artykule */
.ik-embed{ margin:8px 0 28px; }
.ik-embed video, .ik-embed iframe{ width:100% !important; height:auto !important; aspect-ratio:16/9 !important; border:0; border-radius:4px; display:block; background:#000; }
.ik-embed .wp-video, .ik-embed .wp-video-shortcode{ width:100% !important; }

/* ---- Bloki Gutenberga w treści artykułu ---- */
.ik-content .wp-block-image{ margin:0 0 22px; }
.ik-content .wp-block-image figcaption,
.ik-content .wp-block-gallery figcaption,
.ik-content .wp-block-video figcaption,
.ik-content .wp-block-embed figcaption{ font-family:var(--sans); font-size:12.5px; color:var(--muted-2); font-style:italic; text-align:left; margin-top:8px; }
.ik-content .wp-block-gallery{ gap:10px; margin:0 0 22px; }
.ik-content .wp-block-gallery img{ border-radius:4px; }
.ik-content .wp-block-video{ margin:0 0 22px; }
.ik-content .wp-block-video video{ width:100%; border-radius:4px; background:#000; }
.ik-content .wp-block-embed{ margin:0 0 22px; }
.ik-content .wp-block-embed__wrapper{ position:relative; }
.ik-content .wp-block-embed iframe{ width:100%; aspect-ratio:16/9; height:auto; border:0; border-radius:4px; }
/* Stare osadzenia z Joomli / wklejone ręcznie iframe'y YouTube mają sztywne
   małe wymiary w atrybutach — wymuszamy pełną szerokość i proporcje 16:9. */
.ik-content iframe[src*="youtube.com"],
.ik-content iframe[src*="youtube-nocookie.com"],
.ik-content iframe[src*="youtu.be"],
.ik-content iframe[src*="player.vimeo.com"],
.ik-content iframe[data-src*="youtube"],
.ik-content .rll-youtube-player,
.ik-content object[data*="youtube"],
.ik-content embed[src*="youtube"]{ width:100% !important; height:auto !important; aspect-ratio:16/9; border:0; border-radius:4px; display:block; margin:0 0 22px; }
.ik-content .rll-youtube-player iframe, .ik-content .rll-youtube-player img{ width:100% !important; height:100% !important; }
.ik-content video{ width:100%; height:auto; border-radius:4px; background:#000; }
.ik-content .wp-block-quote{ font-family:var(--serif); font-weight:600; font-size:24px; line-height:1.35; color:var(--ink); border-left:4px solid var(--amber); padding:4px 0 4px 22px; margin:6px 0 26px; }
.ik-content .wp-block-quote cite{ display:block; font-family:var(--sans); font-size:13px; font-weight:400; color:var(--muted-2); font-style:normal; margin-top:8px; }
.ik-content .wp-block-pullquote{ border-top:2px solid var(--ink); border-bottom:2px solid var(--ink); padding:22px 0; margin:0 0 26px; }
.ik-content .wp-block-separator{ border:0; height:1px; background:var(--line); margin:26px auto; max-width:220px; }
.ik-content .wp-block-table table{ width:100%; border-collapse:collapse; font-family:var(--sans); font-size:14.5px; }
.ik-content .wp-block-table th{ background:var(--chip); font-weight:700; text-align:left; }
.ik-content .wp-block-table th, .ik-content .wp-block-table td{ border:1px solid var(--line-2); padding:9px 12px; }
.ik-content .wp-block-button__link{ background:var(--ink); color:#fff; border-radius:999px; padding:12px 24px; font-family:var(--sans); font-weight:600; font-size:14px; text-decoration:none; }
.ik-content .wp-block-button__link:hover{ background:#000; color:#fff; }
.ik-content .wp-block-buttons{ margin:0 0 22px; }
.ik-content .wp-block-columns{ font-size:16px; gap:24px; }
.ik-content .wp-block-file{ font-family:var(--sans); font-size:14.5px; background:var(--chip); border-radius:8px; padding:12px 16px; }
.ik-content .wp-block-file a{ text-decoration:none; }
.ik-content .wp-block-file .wp-block-file__button{ background:var(--amber); color:#161616; border-radius:999px; padding:7px 14px; font-weight:700; font-size:12.5px; }
.ik-content .alignwide, .ik-content .alignfull{ margin-left:0; margin-right:0; max-width:100%; } /* w kolumnie 720px trzymamy szerokość treści */
.ik-content .has-text-align-center{ text-align:center; }
.ik-content .has-text-align-right{ text-align:right; }

/* tagi / autor */
.ik-tags{ display:flex; flex-wrap:wrap; gap:8px; margin:28px 0; padding-top:22px; border-top:1px solid var(--line); }
.ik-tags .lbl{ font-size:12.5px; color:var(--muted-2); align-self:center; }
.ik-tags a{ font-size:12.5px; font-weight:500; background:var(--chip); padding:6px 12px; border-radius:999px; }
.ik-tags a:hover{ background:#e7e3d6; }
.ik-authorbox{ display:flex; gap:16px; background:#fff; border:1px solid var(--line); border-radius:8px; padding:20px; }
.ik-authorbox .ik-avatar{ width:54px; height:54px; font-size:18px; flex-shrink:0; }
.ik-authorbox h4{ font-size:15px; font-weight:700; margin:0; }
.ik-authorbox .role{ font-size:12.5px; color:var(--muted-2); margin:2px 0 8px; }
.ik-authorbox p{ font-family:var(--serif); font-size:14.5px; line-height:1.55; color:#5c5b52; margin:0; }

.ik-sticky{ position:sticky; top:80px; }

/* powiązane / czytaj też */
.ik-related{ padding:0 0 56px; }
.ik-related__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.ik-related .ik-headline{ font-size:19px; margin:6px 0 6px; }
.ik-related .ik-media{ margin-bottom:12px; }

/* ============================================================
   11. Archiwa / siatka kart / wideo wall
   ============================================================ */
.ik-archive-head{ padding:28px 0 6px; }
.ik-archive-head .ik-kicker{ color:var(--teal-d); }
.ik-archive-head h1{ font-family:var(--serif); font-weight:700; font-size:36px; line-height:1.1; margin:8px 0 6px; }
.ik-archive-head p{ font-size:15px; color:var(--muted); margin:0; max-width:680px; }

.ik-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px 28px; }
.ik-grid .ik-card .ik-media{ margin-bottom:12px; }
.ik-grid .ik-headline{ font-size:20px; margin:6px 0 6px; }
.ik-grid .ik-excerpt{ font-size:13.5px; line-height:1.5; color:#5c5b52; margin:6px 0 0; }

.ik-videowall{ display:grid; grid-template-columns:repeat(2,1fr); gap:30px; }

/* wideo z migracji Joomla ({mp4}/{youtube} → embed) */
.ik-video{ margin:24px 0; }
.ik-video video, .ik-video iframe{ display:block; width:100%; aspect-ratio:16/9; border:0; border-radius:8px; background:#000; }
.ik-videowall .ik-card .ik-media{ margin-bottom:14px; }
.ik-videowall .ik-headline{ font-size:22px; }

/* szukaj / 404 */
.ik-stub{ padding:64px 0 80px; text-align:center; max-width:640px; margin:0 auto; }
.ik-stub__big{ font-family:var(--serif); font-weight:700; font-size:96px; line-height:1; color:var(--amber); margin:0; }
.ik-stub h1{ font-family:var(--serif); font-weight:700; font-size:32px; margin:18px 0 10px; }
.ik-stub p{ font-size:16px; color:var(--muted); margin:0 0 24px; }
.ik-stub form{ display:flex; gap:8px; max-width:440px; margin:0 auto; }
.ik-stub input[type=search]{ flex:1; border:1px solid var(--line-2); border-radius:999px; padding:13px 20px; font-family:inherit; font-size:15px; outline:none; }
.ik-stub button{ background:var(--ink); color:#fff; border:0; border-radius:999px; padding:0 24px; font-family:inherit; font-weight:600; cursor:pointer; }

/* ============================================================
   12. Stopka
   ============================================================ */
.ik-footer{ background:var(--ink); color:#cfcec7; }
.ik-footer a{ color:#cfcec7; }
.ik-footer a:hover{ color:#fff; }
.ik-footer__top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; padding-top:44px; padding-bottom:32px; }
.ik-footer__logo{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.ik-footer__logo b{ font-family:var(--logo); font-weight:700; font-size:24px; color:#fff; }
.ik-footer__logo span{ font-family:var(--logo); font-weight:600; font-size:11px; color:#fff; }
.ik-footer__mark{ position:relative; width:30px; height:30px; }
.ik-footer__mark .c{ position:absolute; inset:0; border-radius:50%; background:var(--amber); }
.ik-footer__mark .d{ position:absolute; left:9px; top:9px; width:9px; height:9px; border-radius:50%; background:var(--teal); }
.ik-footer p.about{ font-size:13px; line-height:1.6; color:#9b9a92; margin:0; max-width:280px; }
.ik-footer__col h4{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#fff; margin:0 0 14px; }
.ik-footer__col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; font-size:13.5px; }
.ik-footer__news p{ font-size:13px; color:#9b9a92; margin:0 0 12px; }
.ik-footer__news form{ display:block; }
.ik-newsletter__row{ display:flex; gap:8px; }
.ik-footer__news input[type="email"]{ flex:1; min-width:0; border:1px solid #3a3a36; background:#1d1d1a; border-radius:6px; padding:10px 12px; font-family:inherit; font-size:13px; color:#fff; outline:none; }
.ik-footer__news button{ background:var(--amber); color:#161616; border:none; border-radius:6px; padding:0 16px; font-family:inherit; font-weight:700; font-size:13px; cursor:pointer; flex-shrink:0; }
.ik-footer__news button:disabled{ opacity:.6; cursor:default; }
.ik-newsletter__consent{ display:flex; align-items:flex-start; gap:9px; margin-top:12px; font-size:11.5px; line-height:1.5; color:#8c8a80; cursor:pointer; }
.ik-newsletter__consent input{ margin-top:2px; width:15px; height:15px; flex-shrink:0; accent-color:var(--amber); }
.ik-newsletter__consent a{ color:#b7b5a9; text-decoration:underline; }
.ik-newsletter__consent a:hover{ color:var(--amber); }
.ik-hp-field{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.ik-newsletter__msg{ margin:10px 0 0; font-size:12.5px; min-height:1px; }
.ik-newsletter__msg.is-ok{ color:#5fc78d; }
.ik-newsletter__msg.is-error{ color:#e2735c; }
.ik-footer__bar{ border-top:1px solid #2c2c28; }
.ik-footer__bar .ik-container{ display:flex; align-items:center; justify-content:space-between; padding-top:18px; padding-bottom:18px; font-size:12.5px; color:#7d7c74; gap:12px; flex-wrap:wrap; }

/* ============================================================
   13. Komentarze
   ============================================================ */
.ik-comments{ max-width:720px; margin:8px 0 0; padding-top:28px; border-top:1px solid var(--line); }
.ik-comments__title{ font-family:var(--sans); font-weight:700; font-size:15px; letter-spacing:.1em; text-transform:uppercase; margin:0 0 22px; }
.ik-commentlist{ list-style:none; margin:0 0 32px; padding:0; }
.ik-commentlist ol.children{ list-style:none; margin:18px 0 0; padding-left:28px; border-left:2px solid var(--line); }
.ik-commentlist li{ margin:0 0 18px; }
.ik-comment{ display:flex; gap:14px; }
.ik-comment .ik-avatar{ width:44px; height:44px; flex-shrink:0; }
.ik-comment__body{ flex:1; }
.ik-comment__head{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:4px; }
.ik-comment__author{ font-size:14px; font-weight:700; }
.ik-comment__meta{ font-size:12px; color:var(--muted-2); }
.ik-comment__text{ font-family:var(--serif); font-size:16px; line-height:1.55; color:var(--ink-soft); }
.ik-comment__text p{ margin:0 0 10px; }
.ik-comment__reply a{ font-size:12.5px; font-weight:600; color:var(--teal-d); }
.ik-comment.bypostauthor > .ik-comment__body .ik-comment__author::after{ content:"· autor"; color:var(--amber-d); font-weight:600; margin-left:6px; font-size:11px; letter-spacing:.04em; }
.ik-respond{ background:#fff; border:1px solid var(--line); border-radius:8px; padding:24px; }
.ik-respond .comment-reply-title{ font-family:var(--serif); font-weight:700; font-size:22px; margin:0 0 16px; }
.ik-respond label{ display:block; font-size:12.5px; font-weight:600; color:var(--muted); margin:0 0 6px; }
.ik-respond input[type=text], .ik-respond input[type=email], .ik-respond input[type=url], .ik-respond textarea{ width:100%; border:1px solid var(--line-2); border-radius:8px; padding:11px 14px; font-family:inherit; font-size:15px; margin-bottom:16px; outline:none; }
.ik-respond textarea{ font-family:var(--serif); min-height:120px; resize:vertical; }
.ik-respond input:focus, .ik-respond textarea:focus{ border-color:var(--amber); }
.ik-respond .form-submit{ margin:0; }
.ik-respond .submit{ background:var(--ink); color:#fff; border:0; border-radius:999px; padding:13px 28px; font-family:inherit; font-weight:600; font-size:14px; cursor:pointer; }
.ik-respond .submit:hover{ background:#000; }
.ik-comments__closed{ font-size:13.5px; color:var(--muted-2); font-style:italic; }

/* ============================================================
   14. Strony: Kontakt / Reklama
   ============================================================ */
.ik-page-hero{ background:var(--ink); color:#fff; }
.ik-page-hero .ik-container{ padding-top:46px; padding-bottom:46px; }
.ik-page-hero .ik-kicker{ color:var(--teal); }
.ik-page-hero h1{ font-family:var(--serif); font-weight:700; font-size:44px; line-height:1.08; margin:10px 0 8px; color:#fff; }
.ik-page-hero p{ font-size:16px; line-height:1.55; color:#bdbcb2; margin:0; max-width:620px; }
.ik-cols{ display:grid; grid-template-columns:1.3fr 1fr; gap:48px; padding:40px 0 56px; align-items:start; }
.ik-cols .ik-content{ max-width:none; }
.ik-info-card{ background:#fff; border:1px solid var(--line); border-radius:10px; padding:24px; }
.ik-info-card h3{ font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:.08em; text-transform:uppercase; margin:0 0 16px; padding-bottom:12px; border-bottom:2px solid var(--ink); }
.ik-info-row{ display:flex; gap:13px; align-items:flex-start; padding:12px 0; border-bottom:1px solid var(--line); }
.ik-info-row:last-child{ border-bottom:0; }
.ik-info-row .ic{ width:36px; height:36px; border-radius:50%; background:var(--chip); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ik-info-row .ic svg{ stroke:var(--ink); }
.ik-info-row .lbl{ font-size:12px; color:var(--muted-2); }
.ik-info-row .val{ font-size:15px; font-weight:600; }
.ik-info-row .val a:hover{ color:var(--amber-d); }
.ik-adkit{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin:8px 0 0; }
.ik-adkit__item{ border:1px solid var(--line); border-radius:8px; padding:16px; background:#fff; }
.ik-adkit__item .ik-ad__ph{ margin-bottom:12px; }
.ik-adkit__item h4{ font-family:var(--serif); font-weight:600; font-size:17px; margin:0 0 4px; }
.ik-adkit__item p{ font-size:13px; color:var(--muted); margin:0; line-height:1.5; }
@media (max-width:980px){ .ik-cols{ grid-template-columns:1fr; gap:32px; } }
@media (max-width:720px){ .ik-page-hero h1{ font-size:30px; } .ik-adkit{ grid-template-columns:1fr; } }

/* ============================================================
   14b. Strona: Zgłoś news (formularz)
   ============================================================ */
.ik-form-card{ background:#fff; border:1px solid var(--line); border-radius:10px; padding:34px 34px 30px; }
.ik-form-label{ display:block; font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); margin-bottom:9px; }
.ik-form-label .req{ color:var(--red); }
.ik-form-row{ margin-bottom:22px; }
.ik-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:22px; }
.ik-fld{ width:100%; font-family:var(--sans); font-size:15px; color:var(--ink); background:#fff; border:1px solid #ded9cd; border-radius:7px; padding:13px 15px; outline:none; transition:border-color .15s, box-shadow .15s; }
.ik-fld::placeholder{ color:#a5a399; }
.ik-fld:focus{ border-color:var(--teal); box-shadow:0 0 0 3px rgba(23,183,199,.16); }
textarea.ik-fld{ resize:vertical; line-height:1.55; }
select.ik-fld{ cursor:pointer; }
.ik-chips{ display:flex; flex-wrap:wrap; gap:9px; }
.ik-chip{ position:relative; }
.ik-chip input{ position:absolute; opacity:0; pointer-events:none; }
.ik-chip span{ display:inline-block; font-family:var(--sans); font-size:13.5px; font-weight:500; color:#5c5b52; background:#fff; border:1px solid #ded9cd; border-radius:999px; padding:9px 16px; cursor:pointer; transition:all .14s; user-select:none; }
.ik-chip span:hover{ border-color:#bdb9ac; }
.ik-chip input:checked + span{ background:var(--ink); color:#fff; border-color:var(--ink); }
.ik-chip input:focus-visible + span{ box-shadow:0 0 0 3px rgba(23,183,199,.3); }
.ik-drop{ border:2px dashed #ded9cd; border-radius:9px; padding:26px 20px; text-align:center; cursor:pointer; transition:all .15s; background:#fcfbf7; display:block; }
.ik-drop:hover{ border-color:var(--teal); background:#f3fbfc; }
.ik-drop input[type=file]{ display:none; }
.ik-drop .ic{ width:42px; height:42px; border-radius:50%; background:var(--chip); display:flex; align-items:center; justify-content:center; margin:0 auto 12px; }
.ik-drop .t1{ font-size:14px; font-weight:600; color:var(--ink); }
.ik-drop .t2{ font-size:12.5px; color:var(--muted-2); margin-top:4px; }
.ik-consent{ display:flex; gap:11px; align-items:flex-start; cursor:pointer; margin-bottom:26px; font-size:13.5px; line-height:1.5; color:#5c5b52; }
.ik-consent input{ margin-top:2px; width:18px; height:18px; accent-color:var(--teal); flex-shrink:0; }
.ik-submit{ font-family:var(--sans); font-weight:600; font-size:15px; color:#fff; background:var(--ink); border:none; border-radius:999px; padding:15px 32px; cursor:pointer; transition:all .14s; display:inline-flex; align-items:center; gap:9px; }
.ik-submit:hover{ background:#000; }
.ik-form-note{ font-size:12.5px; color:var(--muted-2); }
.ik-form-msg{ border-radius:8px; padding:16px 20px; font-size:14.5px; margin-bottom:24px; }
.ik-form-msg--ok{ background:#eefaf7; border:1px solid #bde8dd; color:#0b5c4d; }
.ik-form-msg--err{ background:#fdf1f0; border:1px solid #f3cbc7; color:#8f2b23; }
.ik-success-card{ background:#fff; border:1px solid var(--line); border-radius:10px; padding:48px 40px; text-align:center; }
.ik-success-card .check{ width:64px; height:64px; border-radius:50%; background:var(--teal); display:flex; align-items:center; justify-content:center; margin:0 auto 22px; }
.ik-success-card h2{ font-family:var(--serif); font-weight:700; font-size:30px; line-height:1.15; margin:0 0 12px; }
.ik-success-card p{ font-family:var(--serif); font-size:17px; line-height:1.55; color:#4f4e46; margin:0 auto 26px; max-width:440px; }
.ik-steps{ background:var(--ink); border-radius:8px; padding:24px; color:#fff; }
.ik-steps h3{ font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:.1em; text-transform:uppercase; margin:0 0 18px; display:flex; align-items:center; gap:8px; color:#fff; }
.ik-steps__list{ display:flex; flex-direction:column; gap:18px; }
.ik-steps__item{ display:flex; gap:13px; }
.ik-steps__item .n{ font-family:var(--serif); font-weight:700; font-size:22px; color:var(--amber); line-height:1; min-width:20px; }
.ik-steps__item .t{ font-size:14px; font-weight:600; margin-bottom:3px; }
.ik-steps__item .d{ font-size:13px; line-height:1.5; color:#9b9a92; }
.ik-tips{ background:#fff; border:1px solid var(--line); border-radius:8px; padding:22px; }
.ik-tips h3{ font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:.1em; text-transform:uppercase; margin:0 0 15px; padding-bottom:12px; border-bottom:2px solid var(--ink); }
.ik-tips__item{ display:flex; gap:11px; align-items:flex-start; margin-bottom:13px; }
.ik-tips__item:last-child{ margin-bottom:0; }
.ik-tips__item svg{ stroke:var(--teal); flex-shrink:0; margin-top:1px; }
.ik-tips__item span{ font-size:13.5px; line-height:1.5; color:#5c5b52; }
.ik-urgent{ background:#faf8f2; border:1px solid var(--line); border-radius:8px; padding:22px; }
.ik-urgent .lbl{ font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--amber-d); margin-bottom:10px; }
.ik-urgent p{ font-size:13.5px; line-height:1.55; color:#5c5b52; margin:0 0 14px; }
.ik-urgent .tel{ display:inline-flex; align-items:center; gap:9px; font-family:var(--serif); font-weight:700; font-size:21px; color:var(--ink); }
.ik-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
@media (max-width:720px){ .ik-form-card{ padding:22px 18px; } .ik-form-grid{ grid-template-columns:1fr; gap:0; } .ik-form-grid > div{ margin-bottom:22px; } }

/* ============================================================
   14c. Strona: Ogłoszenia drobne
   ============================================================ */
.ik-listing-filters{ display:flex; flex-wrap:wrap; gap:9px; padding:32px 0 8px; }
.ik-chip-link{ display:inline-block; font-family:var(--sans); font-size:13.5px; font-weight:500; color:#5c5b52; background:#fff; border:1px solid #ded9cd; border-radius:999px; padding:9px 16px; text-decoration:none; transition:all .12s; }
.ik-chip-link:hover{ border-color:#bdb9ac; }
.ik-chip-link.is-active{ background:var(--ink); color:#fff; border-color:var(--ink); }
.ik-chip-link--cta{ background:var(--amber); color:#161616; border-color:var(--amber); font-weight:700; margin-left:auto; }
.ik-chip-link--cta:hover{ background:#e0951c; border-color:#e0951c; }

.ik-listing-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding:24px 0 12px; }
.ik-listing-card{ background:#fff; border:1px solid var(--line); border-radius:10px; padding:22px; display:flex; flex-direction:column; gap:10px; }
.ik-listing-card__top{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.ik-listing-card__cat{ font-family:var(--sans); font-weight:700; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--teal); }
.ik-listing-card__price{ font-family:var(--serif); font-weight:700; font-size:16px; color:var(--ink); white-space:nowrap; }
.ik-listing-card h3{ font-family:var(--serif); font-weight:700; font-size:18px; line-height:1.3; margin:0; color:var(--ink); }
.ik-listing-card p{ font-size:13.5px; line-height:1.55; color:var(--muted); margin:0; flex:1; }
.ik-listing-card__foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:10px; border-top:1px solid var(--line); font-size:12.5px; color:var(--muted-2); }
.ik-listing-card__contact{ font-weight:600; color:var(--ink); }
.ik-listing-empty{ padding:40px 0; text-align:center; color:var(--muted); font-size:15px; }

.ik-listing-form-wrap{ padding:44px 0 56px; max-width:720px; }
.ik-listing-form-title{ font-family:var(--serif); font-weight:700; font-size:26px; margin:0 0 20px; color:var(--ink); }

@media (max-width:980px){ .ik-listing-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:720px){ .ik-listing-grid{ grid-template-columns:1fr; } .ik-chip-link--cta{ margin-left:0; } }

/* ============================================================
   15. WP wyrównania / podpisy
   ============================================================ */
.alignleft{ float:left; margin:6px 24px 16px 0; }
.alignright{ float:right; margin:6px 0 16px 24px; }
.aligncenter{ margin-left:auto; margin-right:auto; }
.wp-caption{ max-width:100%; }
.wp-caption-text{ font-size:12.5px; color:var(--muted-2); font-style:italic; margin-top:6px; }
.sticky-flag{ display:inline-block; font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--teal-d); margin-right:8px; }

/* ============================================================
   14. Responsywność
   ============================================================ */
@media (max-width:980px){
  .ik-hero{ grid-template-columns:1fr; gap:26px; }
  .ik-body{ grid-template-columns:1fr; gap:40px; }
  .ik-single{ grid-template-columns:1fr; gap:40px; }
  .ik-sticky{ position:static; }
  .ik-article{ max-width:none; }
  .ik-related__grid{ grid-template-columns:repeat(2,1fr); }
  .ik-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:720px){
  .ik-container{ padding-left:16px; padding-right:16px; }
  body{ overflow-x:hidden; } /* bezpiecznik przed poziomym przewijaniem */
  .ik-search, .ik-masthead .ik-btn{ display:none; }
  .ik-burger{ display:inline-flex; }
  .ik-masthead__inner{ padding-top:14px; padding-bottom:14px; }
  .ik-logo__text b{ font-size:26px; }
  .ik-logo__text span{ font-size:12px; }
  .ik-nav{ position:static; }
  .ik-nav ul{ flex-wrap:nowrap; }
  .ik-hero__title{ font-size:28px; }
  .ik-article__title{ font-size:30px; }
  .ik-content{ font-size:17px; }
  .ik-feed__item{ grid-template-columns:120px 1fr; gap:14px; }
  .ik-feed__item .ik-headline{ font-size:18px; }
  .ik-feed__item .ik-excerpt{ display:none; }
  .ik-card--row{ grid-template-columns:110px 1fr; }
  .ik-related__grid, .ik-grid, .ik-videowall{ grid-template-columns:1fr; }
  .ik-footer__top{ grid-template-columns:1fr; gap:28px; }
  .ik-newsletter__row{ flex-wrap:wrap; }
  .ik-footer__news input[type="email"]{ flex:1 1 100%; }
  .ik-footer__news button{ padding:10px 20px; }
  .ik-topbar__meta .ik-hide-sm{ display:none; }
}
/* mobilne menu rozwijane */
@media (max-width:720px){
  .ik-nav.is-collapsed ul{ display:none; }
  .ik-nav.is-open ul{ display:flex; flex-direction:column; gap:0; }
  .ik-nav.is-open li{ border-bottom:1px solid var(--line); }
  .ik-nav.is-open a{ border-bottom:0; }
  .ik-nav a::after{ display:none; } /* na mobile bez animowanego podkreślenia */
}
