/*
Theme Name: Sitsko Feng Shui Magazine
Theme URI: https://ivansitsko.com
Author: Ivan Sitsko
Description: Magazynowy motyw dla konsultanta feng shui. Offcanvas z autorem i wybranymi artykułami, automatyczny slider wpisów, usługi jako osobne landing pages z grafikami 4:5, prognozy roczne, biblioteka wiedzy, słownik 100+ pojęć, spis treści, pasek postępu czytania, breadcrumbs, dane strukturalne (Person, LocalBusiness, Service, FAQ, Article), formularz kontaktowy i newsletter bez wtyczek.
Version: 3.4.2
Requires at least: 6.1
Tested up to: 6.7
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: sitsko
Tags: blog, two-columns, custom-menu, custom-logo, featured-images, translation-ready
*/

/* ==========================================================================
   1. Czcionki (lokalne — RODO + szybkość)
   ========================================================================== */
@font-face { font-family:'Fraunces'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url('assets/fonts/fraunces-latin-wght-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+2013,U+2014,U+2018-201A,U+201C-201E,U+2026; }
@font-face { font-family:'Fraunces'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url('assets/fonts/fraunces-latin-ext-wght-normal.woff2') format('woff2');
  unicode-range:U+0100-024F,U+1E00-1EFF; }
@font-face { font-family:'Fraunces'; font-style:italic; font-weight:100 900; font-display:swap;
  src:url('assets/fonts/fraunces-latin-wght-italic.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+2013,U+2014,U+2018-201A,U+201C-201E,U+2026; }
@font-face { font-family:'Fraunces'; font-style:italic; font-weight:100 900; font-display:swap;
  src:url('assets/fonts/fraunces-latin-ext-wght-italic.woff2') format('woff2');
  unicode-range:U+0100-024F,U+1E00-1EFF; }
@font-face { font-family:'Source Sans 3'; font-style:normal; font-weight:200 900; font-display:swap;
  src:url('assets/fonts/source-sans-3-latin-wght-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+2013,U+2014,U+2018-201A,U+201C-201E,U+2026; }
@font-face { font-family:'Source Sans 3'; font-style:normal; font-weight:200 900; font-display:swap;
  src:url('assets/fonts/source-sans-3-latin-ext-wght-normal.woff2') format('woff2');
  unicode-range:U+0100-024F,U+1E00-1EFF; }

/* ==========================================================================
   2. Zmienne
   ========================================================================== */
:root{
  --ivory:#faf7f1;       /* tło — papier */
  --paper:#ffffff;
  --ink:#26221c;         /* atrament */
  --ink-soft:#5d564b;
  --line:#e5ded2;
  --cinnabar:#b3432e;    /* cynober — akcent */
  --cinnabar-d:#93331f;
  --jade:#4e6e5d;        /* jadeit */
  --gold:#a8894f;
  --serif:'Fraunces', Georgia, serif;
  --sans:'Source Sans 3', 'Segoe UI', system-ui, sans-serif;
  --wrap:1200px;
  --narrow:760px;
  --radius:6px;
  --shadow:0 14px 44px rgba(38,34,28,.10);
  --sp:clamp(4.5rem, 9vw, 8rem);          /* oddech sekcji */
}

/* ==========================================================================
   3. Baza
   ========================================================================== */
*,*::before,*::after{ box-sizing:border-box; min-width:0; }
/* Blokada poziomego przewijania: żaden element nie może rozepchać strony
   (klasyczny problem iOS Safari — strona się „oddala”, a menu wygląda na węższe). */
html, body{ max-width:100%; overflow-x:clip; }
@supports not (overflow: clip){ html, body{ overflow-x:hidden; } }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0; font-family:var(--sans); font-size:1.075rem; line-height:1.75;
  color:var(--ink); background:var(--ivory);
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--cinnabar); text-decoration:none; transition:color .18s ease; }
a:hover{ color:var(--cinnabar-d); text-decoration:underline; text-underline-offset:3px; }
h1,h2,h3,h4{ font-family:var(--serif); font-weight:560; line-height:1.18; color:var(--ink); margin:0 0 .55em; letter-spacing:.005em; }
h1{ font-size:clamp(2rem,4.6vw,3.3rem); }
h2{ font-size:clamp(1.55rem,3vw,2.3rem); }
h3,.h3{ font-size:1.28rem; font-family:var(--serif); }
p{ margin:0 0 1.15em; }
.wrap{ max-width:var(--wrap); margin-inline:auto; padding-inline:clamp(1.1rem,4vw,2.5rem); }
.wrap-narrow{ max-width:var(--narrow); }
.screen-reader-text{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.skip-link{ position:absolute; left:-999px; top:0; background:var(--ink); color:#fff; padding:.6rem 1rem; z-index:200; }
.skip-link:focus{ left:0; }
::selection{ background:var(--cinnabar); color:#fff; }

/* Przyciski */
.btn{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--sans); font-weight:700; font-size:.92rem;
  letter-spacing:.12em; text-transform:uppercase; padding:.85rem 1.9rem; border-radius:var(--radius); border:1.5px solid transparent;
  cursor:pointer; transition:all .18s ease; text-decoration:none!important; }
.btn-solid{ background:var(--cinnabar); color:#fff!important; }
.btn-solid:hover{ background:var(--cinnabar-d); transform:translateY(-1px); }
.btn-ghost{ border-color:var(--ink); color:var(--ink)!important; background:transparent; }
.btn-ghost:hover{ background:var(--ink); color:#fff!important; }
.btn-ghost.on-dark{ border-color:#fff; color:#fff!important; }
.btn-ghost.on-dark:hover{ background:#fff; color:var(--ink)!important; }
.btn-small{ padding:.5rem 1rem; font-size:.85rem; }
.icon-btn{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px;
  border:1.5px solid var(--line); border-radius:50%; background:var(--paper); color:var(--ink); cursor:pointer; transition:all .18s ease; }
.icon-btn:hover{ border-color:var(--ink); }
.icon{ flex:none; }

/* Etykiety */
.cat-label{ font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--cinnabar); }
.cat-label a{ color:inherit; }
.cat-label.jade, .cat-label.jade a{ color:var(--jade); }
.post-meta{ font-size:.85rem; color:var(--ink-soft); }
.post-meta a{ color:var(--cinnabar); }
.more-link{ font-weight:700; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; color:var(--cinnabar); }
.more-link::after{ content:" →"; }

/* Animacje przewijania — progressive enhancement: treść jest widoczna zawsze;
   ukrycie startowe działa WYŁĄCZNIE, gdy JavaScript potwierdzi gotowość
   (klasa js-anim na <html>). Zepsuty/zablokowany JS = brak animacji, ale
   pełna widoczność. */
.anim{ transition:opacity .7s ease, transform .7s ease; }
html.js-anim .anim{ opacity:0; transform:translateY(18px); }
html.js-anim .anim.in-view{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  html.js-anim .anim{ opacity:1; transform:none; transition:none; }
}

/* Pasek postępu czytania */
.read-progress{ position:fixed; inset:0 0 auto 0; height:3px; z-index:150; background:transparent; pointer-events:none; }
.read-progress span{ display:block; height:100%; width:0; background:var(--cinnabar); transition:width .1s linear; }

/* ==========================================================================
   4. Pasek górny
   ========================================================================== */
.top-bar{ background:var(--ink); color:#cfc8bb; font-size:.82rem; }
.top-bar-inner{ display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-block:.5rem; flex-wrap:wrap; }
.top-bar a{ color:#f1ece2; display:inline-flex; align-items:center; gap:.35rem; }
.top-bar a:hover{ color:#fff; text-decoration:none; }
.tb-contact{ display:inline-flex; gap:1.15rem; align-items:center; flex-wrap:wrap; }
.tb-social{ opacity:.9; }
.tb-social:hover{ opacity:1; }
@media (max-width:640px){ .tb-tagline{ display:none; } .top-bar-inner{ justify-content:center; } }

/* ==========================================================================
   5. Masthead: hamburger — logo — lupa
   ========================================================================== */
.masthead{ background:var(--ivory); border-bottom:1px solid var(--line); }
.masthead-inner{ display:flex; justify-content:center; padding-block:1.9rem; }
.site-brand{ text-align:center; color:var(--ink); text-decoration:none!important; display:flex; flex-direction:column; align-items:center; gap:.15rem; }
.brand-seal{ width:14px; height:14px; background:var(--cinnabar); display:block; margin-bottom:.35rem; }
.brand-name{ font-family:var(--serif); font-size:clamp(1.7rem,4vw,2.5rem); font-weight:560; letter-spacing:.02em; }
.brand-tag{ font-size:.78rem; letter-spacing:.34em; text-transform:uppercase; color:var(--ink-soft); }

/* Nawigacja */
.main-nav-bar{ position:sticky; top:0; z-index:90; background:rgba(250,247,241,.94); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.main-nav-inner{ display:flex; align-items:center; justify-content:center; gap:1rem; min-height:56px; position:relative; }
.main-nav ul{ display:flex; gap:.4rem; list-style:none; margin:0; padding:0; flex-wrap:wrap; justify-content:center; }
.main-nav a{ display:block; padding:1rem .95rem; color:var(--ink); font-weight:600; font-size:.94rem; letter-spacing:.05em; text-transform:uppercase; text-decoration:none!important; border-bottom:2px solid transparent; }
.main-nav a:hover{ border-bottom-color:var(--cinnabar); color:var(--cinnabar); }
.nav-cta{ position:absolute; right:clamp(1.1rem,4vw,2.5rem); padding:.6rem 1.1rem; font-size:.78rem; }
.nav-icons{ position:absolute; left:clamp(1.1rem,4vw,2.5rem); display:flex; gap:.55rem; }
.nav-icons .icon-btn{ width:38px; height:38px; }
.nav-toggle{ display:none; align-items:center; gap:.5rem; background:none; border:1.5px solid var(--line); border-radius:var(--radius); padding:.5rem .9rem; font:inherit; font-weight:600; cursor:pointer; }
@media (max-width:900px){
  .nav-cta{ display:none; }
  .nav-icons{ position:static; }
  .main-nav-inner{ justify-content:flex-start; }
  .nav-toggle{ display:inline-flex; margin-block:.55rem; margin-left:auto; }
  .main-nav{ display:none; width:100%; }
  .main-nav.open{ display:block; }
  .main-nav ul{ flex-direction:column; align-items:center; padding-bottom:1rem; }
  .main-nav-inner{ flex-wrap:wrap; }
}

/* Panel wyszukiwania */
.search-panel{ background:var(--paper); border-bottom:1px solid var(--line); }
.search-panel .wrap{ display:flex; align-items:center; gap:1rem; padding-block:1.4rem; }
.search-form{ display:flex; gap:.6rem; flex:1; }
.search-form input[type=search]{ flex:1; padding:.8rem 1.1rem; font:inherit; border:1.5px solid var(--line); border-radius:var(--radius); background:var(--ivory); }
.search-form input[type=search]:focus{ outline:2px solid var(--cinnabar); outline-offset:1px; border-color:transparent; }

/* ==========================================================================
   6. Offcanvas — panel boczny (styl Himmelen)
   ========================================================================== */
.drawer-backdrop{ position:fixed; inset:0; background:rgba(38,34,28,.5); z-index:120; opacity:0; transition:opacity .25s ease; }
.drawer-backdrop.show{ opacity:1; }
.drawer{ position:fixed; top:0; left:0; bottom:0; width:min(380px,88vw); background:var(--paper); z-index:130;
  transform:translateX(-102%); transition:transform .3s ease; overflow-y:auto; padding:3.4rem 2rem 2rem; box-shadow:var(--shadow); }
.drawer.show{ transform:none; }
@media (prefers-reduced-motion: reduce){ .drawer, .drawer-backdrop{ transition:none; } }
.drawer-close{ position:absolute; top:.9rem; right:.9rem; }
.drawer-author{ text-align:center; padding-bottom:1.6rem; border-bottom:1px solid var(--line); }
.drawer-author img{ width:110px; height:110px; object-fit:cover; border-radius:50%; margin:0 auto .9rem; }
.drawer-name{ font-family:var(--serif); font-size:1.35rem; margin:0 0 .3rem; }
.drawer-bio{ font-size:.92rem; color:var(--ink-soft); margin:0; }
.drawer-heading{ font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--cinnabar); margin:1.6rem 0 .9rem; }
.drawer-posts ul{ list-style:none; margin:0; padding:0; display:grid; gap:.95rem; }
.drawer-posts li{ display:grid; grid-template-columns:76px 1fr; gap:.8rem; align-items:center; }
.drawer-thumb img{ width:76px; height:58px; object-fit:cover; border-radius:4px; }
.drawer-posts li a{ color:var(--ink); font-weight:600; font-size:.93rem; line-height:1.35; display:block; }
.drawer-posts li a:hover{ color:var(--cinnabar); text-decoration:none; }
.drawer-posts time{ font-size:.78rem; color:var(--ink-soft); }
.drawer-foot{ margin-top:1.8rem; padding-top:1.4rem; border-top:1px solid var(--line); text-align:center; }
.drawer-socials{ display:flex; justify-content:center; gap:1rem; margin:0 0 1.1rem; }
.drawer-socials a{ color:var(--ink); }
.drawer-socials a:hover{ color:var(--cinnabar); }
.drawer-foot .btn{ width:100%; justify-content:center; }
body.drawer-locked{ overflow:hidden; }

/* ==========================================================================
   7. Sekcje / hero / slider
   ========================================================================== */
.section{ padding-block:var(--sp); }
.section.tint{ background:#f3eee4; }
.section-head{ text-align:center; max-width:44em; margin:0 auto clamp(2.4rem,5vw,3.6rem); }
.section-head h2{ position:relative; padding-bottom:.9rem; }
.section-head h2::after{ content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:56px; height:3px; background:var(--cinnabar); }
.section-head p{ color:var(--ink-soft); }
.section-more{ text-align:center; }
.section-more{ margin-top:2.6rem; }
.section-empty{ color:var(--ink-soft); font-style:italic; }
.archive-header{ margin-bottom:clamp(2rem,5vw,3rem); }
.archive-header.center{ text-align:center; max-width:680px; margin-inline:auto; }
.archive-desc{ color:var(--ink-soft); }

/* Hero statyczny */
.hero-static{ padding-top:clamp(1.6rem,4vw,2.8rem); }
/* Karta hero: obraz i treść w tej samej komórce siatki — karta ROŚNIE razem
   z tekstem (3 linijki H1 nie ściskają już etykiety), obraz zawsze wypełnia tło. */
.feat-card{ position:relative; display:grid; border-radius:10px; overflow:hidden; box-shadow:var(--shadow); }
.feat-card img.hero-img{ grid-area:1/1; width:100%; height:100%; min-height:clamp(500px,64vh,700px); object-fit:cover; }
.feat-overlay{ grid-area:1/1; align-self:end; position:relative;
  padding:clamp(4.5rem,10vw,7rem) clamp(1.6rem,4.5vw,3.4rem) clamp(1.8rem,4.5vw,3.2rem);
  background:linear-gradient(180deg, rgba(20,17,12,0) 0%, rgba(20,17,12,.45) 34%, rgba(20,17,12,.78) 70%); color:#fff; }
.feat-overlay h1{ color:#fff; max-width:16em; margin-top:.55rem; }
.feat-overlay .cat-label{ color:#f0c9a8; display:block; }
.hero-lead{ max-width:44em; color:#efe9dd; }
.hero-actions{ display:flex; gap:.9rem; flex-wrap:wrap; margin-top:1.3rem; }
@media (max-width:640px){ .feat-card img.hero-img{ min-height:440px; } }

/* Slider automatyczny (Himmelen) */
.hero-slider{ position:relative; }
.hero-slider .slide{ display:none; grid-template-columns:1.15fr 1fr; background:var(--paper); border:1px solid var(--line);
  border-radius:10px; overflow:hidden; box-shadow:var(--shadow); }
.hero-slider .slide.is-active{ display:grid; animation:slideFade .6s ease; }
@keyframes slideFade{ from{ opacity:0; } to{ opacity:1; } }
@media (prefers-reduced-motion: reduce){ .hero-slider .slide.is-active{ animation:none; } }
.slide-img{ display:block; overflow:hidden; }
.slide-img img{ width:100%; height:100%; min-height:330px; object-fit:cover; transition:transform .4s ease; }
.slide:hover .slide-img img{ transform:scale(1.03); }
@media (prefers-reduced-motion: reduce){ .slide:hover .slide-img img{ transform:none; } }
.slide-body{ padding:clamp(1.6rem,3.5vw,3rem); display:flex; flex-direction:column; justify-content:center; gap:.45rem; }
.slide-body h3{ font-size:clamp(1.4rem,2.4vw,2rem); margin:0; }
.slide-body h3 a{ color:var(--ink); }
.slide-body h3 a:hover{ color:var(--cinnabar); text-decoration:none; }
.slide-body p{ color:var(--ink-soft); margin:.4rem 0 .8rem; }
.slider-controls{ display:flex; align-items:center; justify-content:center; gap:1.1rem; margin-top:1.4rem; }
.slider-dots{ display:inline-flex; gap:.55rem; }
.slider-dots button{ width:9px; height:9px; border-radius:50%; border:none; background:var(--line); cursor:pointer; padding:0; transition:all .18s; }
.slider-dots button[aria-selected=true]{ background:var(--cinnabar); transform:scale(1.25); }
@media (max-width:820px){ .hero-slider .slide{ grid-template-columns:1fr; } .slide-img img{ min-height:230px; } }

/* ==========================================================================
   8. Karty wpisów
   ========================================================================== */
.posts-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:clamp(1.4rem,3vw,2.4rem); }
.post-card{ background:var(--paper); border:1px solid var(--line); border-radius:8px; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; }
.post-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.post-card .thumb{ display:block; overflow:hidden; }
.post-card .thumb img{ width:100%; aspect-ratio:3/2; object-fit:cover; transition:transform .4s ease; }
.post-card:hover .thumb img{ transform:scale(1.04); }
@media (prefers-reduced-motion: reduce){ .post-card:hover .thumb img{ transform:none; } }
.post-card-body{ padding:1.3rem 1.4rem 1.5rem; overflow-wrap:break-word; }
.post-card h3{ font-size:1.12rem; margin:.45rem 0 .6rem; }
.post-card h3 a{ color:var(--ink); }
.post-card h3 a:hover{ color:var(--cinnabar); text-decoration:none; }
.post-card p{ font-size:.95rem; color:var(--ink-soft); margin-bottom:.7rem; }

/* Lista wpisów (archiwa) */
.posts-list{ display:grid; gap:clamp(1.6rem,3vw,2.4rem); }
.post-row{ display:grid; grid-template-columns:280px 1fr; gap:1.6rem; background:var(--paper); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.post-row .thumb img{ width:100%; height:100%; min-height:190px; object-fit:cover; }
.post-row-body{ padding:1.4rem 1.6rem 1.4rem 0; }
@media (max-width:700px){ .post-row{ grid-template-columns:1fr; } .post-row-body{ padding:0 1.4rem 1.4rem; } }
.pagination-nav{ margin-top:2.8rem; }
.pagination-nav .nav-links{ display:flex; gap:.5rem; flex-wrap:wrap; }
.pagination-nav .page-numbers{ padding:.5rem .95rem; border:1.5px solid var(--line); border-radius:var(--radius); color:var(--ink); text-decoration:none!important; }
.pagination-nav .page-numbers.current, .pagination-nav .page-numbers:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }

/* Plakietki poziomów */
.level-badge{ display:inline-block; margin-left:.5rem; padding:.1rem .6rem; font-size:.72rem; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; border-radius:99px; border:1.5px solid var(--jade); color:var(--jade)!important; text-decoration:none!important; }
.level-badge:hover{ background:var(--jade); color:#fff!important; }
.level-badge.level-podstawy{ border-color:var(--jade); color:var(--jade)!important; }
.level-badge.level-sredniozaawansowany{ border-color:var(--gold); color:var(--gold)!important; }
.level-badge.level-sredniozaawansowany:hover{ background:var(--gold); color:#fff!important; }
.level-badge.level-zaawansowany{ border-color:var(--cinnabar); color:var(--cinnabar)!important; }
.level-badge.level-zaawansowany:hover{ background:var(--cinnabar); color:#fff!important; }

/* ==========================================================================
   9. Usługi — karty i landing pages (grafiki 4:5)
   ========================================================================== */
.services-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:clamp(1.6rem,3vw,2.6rem); }
.services-grid.small{ grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); }
.service-card{ background:var(--paper); border:1px solid var(--line); border-radius:8px; overflow:hidden; display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease; }
.service-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.service-img img{ width:100%; aspect-ratio:4/5; object-fit:cover; }
.service-body{ padding:1.4rem 1.5rem 1.6rem; display:flex; flex-direction:column; gap:.4rem; flex:1; }
.service-body h3, .service-body .h3{ margin:0 0 .3rem; }
.service-body h3 a, .service-body .h3 a{ color:var(--ink); }
.service-body h3 a:hover, .service-body .h3 a:hover{ color:var(--cinnabar); text-decoration:none; }
.service-body p{ font-size:.95rem; color:var(--ink-soft); }
.service-meta{ list-style:none; margin:.2rem 0 .7rem; padding:0; display:grid; gap:.4rem; font-size:.88rem; color:var(--ink-soft); }
.service-meta li{ display:flex; align-items:center; gap:.5rem; }
.service-meta .icon{ color:var(--jade); }
.service-meta.big{ font-size:1rem; margin-block:1rem; }
.service-body .more-link{ margin-top:auto; }

/* Landing usługi */
.usluga-hero{ background:#f3eee4; padding-block:clamp(2.8rem,6vw,4.6rem); border-bottom:1px solid var(--line); }
.usluga-hero-grid{ display:grid; grid-template-columns:minmax(260px,380px) 1fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.usluga-poster img{ width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:8px; box-shadow:var(--shadow); }
.usluga-lead{ font-size:1.18rem; color:var(--ink-soft); }
.usluga-content{ padding-top:var(--sp); }
@media (max-width:780px){ .usluga-hero-grid{ grid-template-columns:1fr; } .usluga-poster{ max-width:320px; } }

/* ==========================================================================
   10. Wpis — treść, TOC, CTA, seria, FAQ
   ========================================================================== */
.blog-layout{ display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:clamp(2.2rem,5vw,4rem); padding-block:var(--sp); }
@media (max-width:980px){ .blog-layout{ grid-template-columns:1fr; } }
.entry-header h1{ margin-top:.4rem; }
.entry-thumb img{ border-radius:8px; }
.entry-content{ font-size:1.1rem; overflow-wrap:break-word; word-break:break-word; }
.entry-content a{ overflow-wrap:anywhere; }
.entry-content table{ display:block; width:100%; max-width:100%; overflow-x:auto; border-collapse:collapse; }
.entry-content pre{ white-space:pre-wrap; word-break:break-word; overflow-x:auto; }
.entry-content code{ word-break:break-word; }
.entry-content iframe, .entry-content embed, .entry-content object, .entry-content video{ max-width:100%; }
.entry-content h2{ margin-top:2.2em; }
.entry-content h3{ margin-top:1.8em; }
.entry-content img{ border-radius:8px; }
.entry-content blockquote{ margin:2rem 0; padding:.4rem 0 .4rem 1.6rem; border-left:3px solid var(--gold); font-family:var(--serif); font-size:1.2rem; font-style:italic; color:var(--ink-soft); }
.entry-content a{ text-decoration:underline; text-underline-offset:3px; }
.entry-tags a{ display:inline-block; margin:0 .4rem .4rem 0; padding:.2rem .7rem; border:1px solid var(--line); border-radius:99px; font-size:.82rem; color:var(--ink-soft); text-decoration:none!important; }
.entry-tags a:hover{ border-color:var(--cinnabar); color:var(--cinnabar); }

/* Spis treści */
.post-toc{ margin:2.2rem 0; border:1px solid var(--line); border-radius:8px; background:var(--paper); }
.post-toc summary{ cursor:pointer; padding:1rem 1.3rem; font-weight:700; font-size:.95rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink); list-style:none; }
.post-toc summary::-webkit-details-marker{ display:none; }
.post-toc summary::after{ content:"▾"; float:right; color:var(--cinnabar); }
.post-toc[open] summary::after{ content:"▴"; }
.post-toc ol{ margin:0; padding:0 1.4rem 1.2rem 2.6rem; }
.post-toc li{ margin:.3rem 0; }
.post-toc li.toc-l3{ margin-left:1.1rem; font-size:.94rem; list-style-type:circle; }
.post-toc a{ color:var(--ink); }
.post-toc a:hover{ color:var(--cinnabar); }

/* CTA w treści i na końcu */
.inline-cta{ margin:2.6rem 0; padding:1.6rem 1.8rem; background:#f3eee4; border-left:3px solid var(--cinnabar); border-radius:0 8px 8px 0; }
.inline-cta-label{ font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--cinnabar); margin-bottom:.3rem; }
.inline-cta p{ margin-bottom:.9rem; }
.entry-cta{ margin:var(--sp) 0 0; padding:clamp(1.8rem,4vw,2.8rem); background:var(--ink); color:#efe9dd; border-radius:10px; text-align:center; }
.entry-cta h2{ color:#fff; }
.entry-cta p{ max-width:38em; margin-inline:auto; }
.entry-cta-actions{ display:flex; gap:.9rem; justify-content:center; flex-wrap:wrap; margin-top:1.2rem; }
.entry-cta .btn-ghost{ border-color:#fff; color:#fff!important; }
.entry-cta .btn-ghost:hover{ background:#fff; color:var(--ink)!important; }

/* Seria */
.series-box{ margin:2rem 0; padding:1.4rem 1.7rem; border:1.5px solid var(--jade); border-radius:8px; background:#eef2ee; }
.series-label{ font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--jade); margin-bottom:.6rem; }
.series-box ol{ margin:0; padding-left:1.3rem; }
.series-box li{ margin:.3rem 0; }
.series-box li.current{ font-weight:700; color:var(--jade); }

/* FAQ */
.faq-box{ margin-top:var(--sp); }
.faq-item{ border:1px solid var(--line); border-radius:8px; background:var(--paper); margin-bottom:.9rem; }
.faq-item summary{ cursor:pointer; padding:1.05rem 1.4rem; font-weight:600; font-size:1.02rem; list-style:none; position:relative; padding-right:2.6rem; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{ content:"+"; position:absolute; right:1.3rem; top:50%; transform:translateY(-50%); font-size:1.4rem; color:var(--cinnabar); font-weight:400; }
.faq-item[open] summary::after{ content:"–"; }
.faq-item p{ padding:0 1.4rem 1.2rem; margin:0; color:var(--ink-soft); }

/* Czytaj również / post-nav */
.related{ margin-top:var(--sp); }
.related-title{ margin-bottom:1.6rem; }
.post-nav{ display:flex; justify-content:space-between; gap:1.5rem; margin-top:3rem; padding-top:1.6rem; border-top:1px solid var(--line); font-weight:600; }
.post-nav .next{ text-align:right; }

/* Breadcrumbs */
.breadcrumbs{ font-size:.84rem; color:var(--ink-soft); background:var(--ivory); border-bottom:1px solid var(--line); }
.breadcrumbs ol{ list-style:none; display:flex; flex-wrap:wrap; gap:.35rem; margin:0; padding:.65rem 0; }
.breadcrumbs li+li::before{ content:"›"; margin-right:.35rem; color:var(--line); }
.breadcrumbs a{ color:var(--ink-soft); }
.breadcrumbs a:hover{ color:var(--cinnabar); }

/* ==========================================================================
   11. Sidebar
   ========================================================================== */
.blog-side{ display:grid; gap:2.4rem; align-content:start; }
.widget{ background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:1.7rem 1.7rem 1.9rem; }
.widget-title{ font-size:1.05rem; letter-spacing:.1em; text-transform:uppercase; font-family:var(--sans); font-weight:700; margin-bottom:1rem; }
.widget-title::after{ content:""; display:block; width:36px; height:2px; background:var(--cinnabar); margin-top:.5rem; }
.widget-author{ text-align:center; }
.widget-author img{ width:110px; height:110px; object-fit:cover; border-radius:50%; margin:0 auto 1rem; }
.widget-author p{ font-size:.95rem; color:var(--ink-soft); }
.widget-list{ list-style:none; margin:0; padding:0; }
.widget-list li{ padding:.45rem 0; border-bottom:1px dashed var(--line); font-size:.96rem; }
.widget-list li:last-child{ border:none; }
.widget-list a{ color:var(--ink); }
.widget-list a:hover{ color:var(--cinnabar); }
.widget-posts{ list-style:none; margin:0; padding:0; display:grid; gap:1rem; }
.widget-posts li{ display:grid; grid-template-columns:76px 1fr; gap:.8rem; align-items:center; }
.wp-thumb img{ width:76px; height:58px; object-fit:cover; border-radius:4px; }
.widget-posts a{ color:var(--ink); font-weight:600; font-size:.92rem; line-height:1.35; display:block; }
.widget-posts a:hover{ color:var(--cinnabar); text-decoration:none; }
.widget-posts time{ font-size:.78rem; color:var(--ink-soft); }
.widget-cat{ display:block; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.widget-cat a{ color:var(--cinnabar); }
.widget-cta{ background:var(--ink); border-color:var(--ink); color:#efe9dd; text-align:center; }
.widget-cta .widget-title{ color:#fff; }
.widget-cta .widget-title::after{ margin-inline:auto; }
.widget-newsletter input[type=email]{ width:100%; padding:.75rem 1rem; font:inherit; border:1.5px solid var(--line); border-radius:var(--radius); margin-bottom:.7rem; background:var(--ivory); }
.widget-newsletter .btn{ width:100%; justify-content:center; }
.widget-newsletter p{ font-size:.92rem; color:var(--ink-soft); }

/* ==========================================================================
   12. Formularze
   ========================================================================== */
.contact-form-box{ margin-top:clamp(2.8rem,6vw,4.4rem); background:var(--paper); border:1px solid var(--line); border-radius:10px;
  padding:clamp(1.8rem,4vw,2.8rem); max-width:720px; }
.contact-form-box h3{ margin-bottom:.3rem; }
.form-sub{ color:var(--ink-soft); margin-bottom:1.4rem; }
.contact-form-box label{ display:block; margin-bottom:1.1rem; font-weight:600; font-size:.92rem; }
.contact-form-box label span{ display:block; margin-bottom:.35rem; }
.contact-form-box input[type=text], .contact-form-box input[type=email], .contact-form-box textarea{
  width:100%; padding:.8rem 1rem; font:inherit; border:1.5px solid var(--line); border-radius:var(--radius); background:var(--ivory); }
.contact-form-box input:focus, .contact-form-box textarea:focus, .widget-newsletter input:focus{ outline:2px solid var(--cinnabar); outline-offset:1px; border-color:transparent; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
@media (max-width:600px){ .form-row{ grid-template-columns:1fr; } }
.hp-field{ position:absolute!important; left:-9999px!important; }
.form-notice{ padding:.85rem 1.1rem; border-radius:var(--radius); font-weight:600; }
.form-notice.ok{ background:#eef2ee; color:var(--jade); border:1.5px solid var(--jade); }
.form-notice.err{ background:#f7ebe8; color:var(--cinnabar-d); border:1.5px solid var(--cinnabar); }

/* ==========================================================================
   13. Sekcje strony głównej
   ========================================================================== */
.reviews-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:clamp(1.4rem,3vw,2.4rem); }
.review{ background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:1.8rem 1.9rem; }
.review .stars{ color:var(--gold); letter-spacing:.2em; font-size:.95rem; }
.review blockquote{ margin:1rem 0; font-family:var(--serif); font-style:italic; font-size:1.05rem; line-height:1.6; }
.review cite{ font-style:normal; font-size:.88rem; color:var(--ink-soft); }
.reviews-actions{ display:flex; gap:.9rem; flex-wrap:wrap; margin-top:2.4rem; }
.about-grid{ display:grid; grid-template-columns:minmax(240px,380px) 1fr; gap:clamp(2rem,6vw,4.5rem); align-items:center; }
.about-grid figure{ margin:0; }
.about-grid img{ border-radius:10px; box-shadow:var(--shadow); }
.about-facts{ list-style:none; margin:1.4rem 0 1.8rem; padding:0; }
.about-facts li{ padding:.5rem 0 .5rem 1.7rem; position:relative; border-bottom:1px dashed var(--line); }
.about-facts li::before{ content:""; position:absolute; left:0; top:1.05rem; width:9px; height:9px; background:var(--cinnabar); }
@media (max-width:780px){ .about-grid{ grid-template-columns:1fr; } .about-grid figure{ max-width:340px; } }
.contact{ background:var(--ink); color:#efe9dd; }
.contact h2{ color:#fff; }
.contact .section-head p{ color:#cfc8bb; }
.contact-channels{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1.8rem; }
.channel-label{ display:flex; align-items:center; gap:.5rem; font-size:.78rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#b7ad9c; margin-bottom:.4rem; }
.channel a{ font-family:var(--serif); font-size:1.3rem; color:#fff; }
.channel a:hover{ color:#f0c9a8; text-decoration:none; }

/* ==========================================================================
   14. Strona „O mnie” — historia
   ========================================================================== */
.story-hero{ background:#f3eee4; border-bottom:1px solid var(--line); padding-block:clamp(2.8rem,6vw,4.6rem); }
.story-hero-grid{ display:grid; grid-template-columns:1.2fr minmax(240px,360px); gap:clamp(2rem,5vw,4rem); align-items:center; }
.story-hero img{ border-radius:10px; box-shadow:var(--shadow); }
.story-lead{ font-size:1.2rem; color:var(--ink-soft); }
@media (max-width:780px){ .story-hero-grid{ grid-template-columns:1fr; } }
.story-content{ padding-top:var(--sp); font-size:1.15rem; }
.dropcap > p:first-of-type::first-letter{ font-family:var(--serif); font-size:3.6em; float:left; line-height:.82; padding:.06em .12em 0 0; color:var(--cinnabar); }
.story-timeline{ margin-top:var(--sp); }
.story-timeline ol{ list-style:none; margin:1.5rem 0 0; padding:0; border-left:2px solid var(--line); }
.story-timeline li{ position:relative; padding:0 0 1.6rem 1.8rem; }
.story-timeline li::before{ content:""; position:absolute; left:-6px; top:.45rem; width:10px; height:10px; border-radius:50%; background:var(--cinnabar); }
.story-timeline span{ display:block; font-weight:700; font-size:.82rem; letter-spacing:.12em; text-transform:uppercase; color:var(--jade); }

/* ==========================================================================
   15. Biblioteka wiedzy + Słownik
   ========================================================================== */
.library-block{ margin-bottom:clamp(2.6rem,6vw,4rem); }
.library-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:1.2rem; }
.library-card{ display:flex; flex-direction:column; gap:.25rem; background:var(--paper); border:1px solid var(--line); border-radius:8px;
  padding:1.3rem 1.4rem; color:var(--ink); text-decoration:none!important; transition:transform .18s ease, box-shadow .18s ease; }
.library-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow); color:var(--ink); }
.library-card strong{ font-family:var(--serif); font-size:1.15rem; font-weight:560; }
.library-kicker{ font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--cinnabar); }
.library-count{ font-size:.85rem; color:var(--ink-soft); }
.library-hint{ font-size:.88rem; color:var(--ink-soft); margin-top:1rem; }

.glossary-tools{ margin-bottom:2.4rem; }
#glossary-filter{ width:100%; padding:.9rem 1.2rem; font:inherit; border:1.5px solid var(--line); border-radius:var(--radius); background:var(--paper); margin-bottom:1.1rem; }
#glossary-filter:focus{ outline:2px solid var(--cinnabar); outline-offset:1px; border-color:transparent; }
.glossary-index{ display:flex; flex-wrap:wrap; gap:.35rem; }
.glossary-index a{ display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px; padding:0 .4rem;
  border:1px solid var(--line); border-radius:var(--radius); color:var(--ink); font-weight:700; font-size:.9rem; text-decoration:none!important; }
.glossary-index a:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }
.glossary-letter{ font-size:2rem; color:var(--cinnabar); border-bottom:1px solid var(--line); padding-bottom:.3rem; margin-top:2.6rem; }
.glossary dl{ margin:0; }
.glossary-item{ padding:1rem 0; border-bottom:1px dashed var(--line); }
.glossary-item dt{ font-family:var(--serif); font-size:1.15rem; font-weight:600; margin-bottom:.25rem; }
.glossary-item dd{ margin:0; color:var(--ink-soft); }
.glossary-count{ font-size:.9rem; color:var(--jade); font-weight:600; }

/* ==========================================================================
   16. Stopka
   ========================================================================== */
.site-footer{ background:var(--ink); color:#b7ad9c; margin-top:var(--sp); font-size:.94rem; }
.footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr .8fr; gap:2.4rem; padding-block:clamp(2.8rem,6vw,4.2rem); }
@media (max-width:900px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; } }
.f-brand{ font-family:var(--serif); font-size:1.5rem; color:#fff; margin-bottom:.5rem; }
.f-heading{ font-size:.78rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#8d8271; margin-bottom:1rem; }
.f-col ul{ list-style:none; margin:0; padding:0; }
.f-col li{ margin:.45rem 0; }
.site-footer a{ color:#e8e1d3; }
.site-footer a:hover{ color:#fff; }
.f-contact a{ display:inline-flex; align-items:center; gap:.4rem; margin-top:.3rem; }
.footer-bottom{ display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding-block:1.3rem; border-top:1px solid rgba(255,255,255,.12); font-size:.85rem; }
.footer-bottom p{ margin:0; }

/* ==========================================================================
   17. Komentarze / 404 / drobiazgi
   ========================================================================== */
.comments-area{ margin-top:var(--sp); }
.comment-list{ list-style:none; padding:0; }
.comment-list .comment{ border-bottom:1px solid var(--line); padding:1.2rem 0; }
.comment-form textarea, .comment-form input[type=text], .comment-form input[type=email], .comment-form input[type=url]{
  width:100%; padding:.7rem 1rem; font:inherit; border:1.5px solid var(--line); border-radius:var(--radius); background:var(--paper); }
.comment-form .submit{ background:var(--cinnabar); color:#fff; border:none; padding:.78rem 1.5rem; border-radius:var(--radius); font-weight:600; cursor:pointer; }
.error-404{ text-align:center; padding-block:var(--sp); }
.wp-caption{ max-width:100%; }
.wp-caption-text{ font-size:.85rem; color:var(--ink-soft); text-align:center; }
.alignwide{ margin-inline:calc(50% - 50vw); max-width:100vw; }
.blog-main .alignwide, .blog-main .alignfull{ margin-inline:0; max-width:100%; width:auto; }
@media (max-width:980px){ .alignwide, .alignfull{ margin-inline:0; max-width:100%; width:auto; } }

/* Podstrony */
.blog-single-pad{ padding-block:var(--sp); }


/* ==========================================================================
   18. Powroty z v2: oferta, spis treści, prognozy, blog 2 kolumny
   ========================================================================== */
.posts-grid.two{ grid-template-columns:1fr 1fr; }
@media (max-width:640px){ .posts-grid.two{ grid-template-columns:1fr; } }

/* Prognozy roczne — dwa pola */
.forecast-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.4rem,3vw,2.4rem); max-width:960px; margin-inline:auto; }
@media (max-width:700px){ .forecast-grid{ grid-template-columns:1fr; } }
.forecast-card{ display:flex; flex-direction:column; background:var(--paper); border:1px solid var(--line);
  border-radius:10px; overflow:hidden; color:var(--ink); text-decoration:none!important;
  transition:transform .2s ease, box-shadow .2s ease; }
.forecast-thumb{ display:block; overflow:hidden; }
.forecast-thumb img{ width:100%; aspect-ratio:3/2; object-fit:cover; transition:transform .4s ease; }
.forecast-card:hover .forecast-thumb img{ transform:scale(1.03); }
@media (prefers-reduced-motion: reduce){ .forecast-card:hover .forecast-thumb img{ transform:none; } }
.forecast-body{ display:flex; flex-direction:column; gap:.5rem; padding:clamp(1.5rem,3vw,2.1rem); }
.forecast-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); color:var(--ink); }
.forecast-kicker{ font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--jade); }
.forecast-card h3{ margin:0; font-size:clamp(1.3rem,2.2vw,1.7rem); }
.forecast-card p{ color:var(--ink-soft); margin:0; }
.forecast-card .more-link{ margin-top:.6rem; }

/* Karty oferty (styl poprzedniej wersji) */
.offer-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:clamp(1.4rem,3vw,2rem); align-items:start; }
@media (min-width:1020px){ .offer-grid.bazi{ grid-template-columns:repeat(3,1fr); } }
.offer-card{ background:var(--paper); border:1px solid var(--line); border-radius:8px; overflow:hidden;
  box-shadow:0 6px 22px rgba(38,34,28,.06); display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease; }
.offer-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }
.offer-thumb{ display:block; overflow:hidden; }
/* Wysokość dopasowuje się do wgranej grafiki — nic nie jest przycinane. */
.offer-thumb img{ width:100%; height:auto; transition:transform .4s ease; }
.offer-card:hover .offer-thumb img{ transform:scale(1.03); }
@media (prefers-reduced-motion: reduce){ .offer-card:hover .offer-thumb img{ transform:none; } }
.offer-body{ padding:clamp(1.3rem,2.6vw,1.9rem); display:flex; flex-direction:column; flex:1; }
.offer-body h3{ margin:.3rem 0 .35em; }
.offer-body h3 a{ color:var(--ink); }
.offer-body h3 a:hover{ color:var(--cinnabar); text-decoration:none; }
.offer-desc{ color:var(--ink-soft); font-size:.98rem; margin:0 0 1.1rem; }

/* Spis treści przykładowego opracowania */
.toc{ border-top:1px solid var(--line); margin-bottom:1.2rem; }
.toc-heading{ font-size:.72rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink-soft); padding:.8rem 0 .2rem; margin:0; }
.toc details{ border-bottom:1px solid var(--line); }
.toc summary{ list-style:none; cursor:pointer; display:flex; align-items:baseline; gap:.7rem;
  padding:.65rem 0; font-weight:600; font-size:.96rem; color:var(--ink); }
.toc summary::-webkit-details-marker{ display:none; }
.toc summary .toc-no{ font-family:var(--serif); font-style:italic; color:var(--cinnabar);
  min-width:1.4em; font-size:1.05rem; }
.toc summary::after{ content:"+"; margin-left:auto; color:var(--ink-soft); font-size:1.1rem; }
.toc details[open] summary::after{ content:"–"; }
.toc details p{ margin:0 0 .8rem 2.1rem; font-size:.92rem; color:var(--ink-soft); }

.offer-foot{ margin-top:auto; padding-top:1.1rem; border-top:2px solid var(--ink);
  display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; }
.offer-price{ font-family:var(--serif); font-size:1.55rem; font-weight:560; }
.offer-price small{ display:block; font-family:var(--sans); font-size:.76rem; font-weight:400; color:var(--ink-soft); letter-spacing:.04em; }
.offer-foot .btn{ padding:.7rem 1.3rem; font-size:.78rem; }
.offer-more{ margin-top:1rem; width:100%; justify-content:center; padding:.7rem 1rem; font-size:.76rem; }

/* Biblioteka na stronie głównej */
.library-grid.home{ grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); max-width:1020px; margin-inline:auto; }
.library-grid.home .library-card{ text-align:center; align-items:center; padding:1.8rem 1.5rem; }

/* Data aktualizacji wpisu */
.updated-note{ color:var(--jade); font-weight:600; }

/* ==========================================================================
   19. Oferta w grupach: duża plansza + trzy mniejsze
   ========================================================================== */
.offer-group{ margin-bottom:clamp(3rem,6vw,4.5rem); }
.offer-group:last-child{ margin-bottom:0; }
.offer-group-title{ text-align:center; font-size:clamp(1.35rem,2.4vw,1.8rem); margin-bottom:clamp(1.6rem,3vw,2.4rem);
  position:relative; padding-bottom:.8rem; }
.offer-group-title::after{ content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:42px; height:2px; background:var(--gold); }

/* Duża plansza (jak dawna karta feng shui) */
.offer-card.offer-star{ display:grid; grid-template-columns:1.05fr 1fr; align-items:center; margin-bottom:clamp(1.4rem,3vw,2rem); }
.offer-card.offer-star .offer-thumb{ align-self:stretch; }
.offer-card.offer-star .offer-thumb img{ height:100%; min-height:0; object-fit:cover; }
/* Gdy wolisz pełną, nieprzyciętą grafikę także na dużej planszy — obraz wyznacza wysokość karty: */
.offer-card.offer-star .offer-thumb:only-child img,
.offer-card.offer-star.natural .offer-thumb img{ height:auto; object-fit:unset; }
.offer-card.offer-star .offer-body{ padding:clamp(1.6rem,3.5vw,2.6rem); }
.offer-card.offer-star h3{ font-size:clamp(1.4rem,2.6vw,1.9rem); }
@media (max-width:820px){
  .offer-card.offer-star{ grid-template-columns:1fr; }
  .offer-card.offer-star .offer-thumb img{ height:auto; object-fit:unset; }
}

/* Trzy mniejsze karty — pionowe plansze jak grafiki BaZi */
@media (min-width:1020px){ .offer-grid.trio{ grid-template-columns:repeat(3,1fr); } }

/* Pewność: wersaliki i wyśrodkowania (Umów konsultację, Czytaj dalej, logo, nagłówki sekcji) */
.btn, .nav-cta, .more-link{ text-transform:uppercase; }
.masthead-inner{ justify-content:center; text-align:center; }
.site-brand .custom-logo-link, .site-brand img{ margin-inline:auto; }
.section-head, .section-head p{ text-align:center; }
