/*
Theme Name: MagiaRyb.pl
Theme URI: https://magiaryb.pl
Author: MagiaRyb.pl
Description: Autorski, fotograficzny motyw bloga wędkarskiego MagiaRyb.pl. Responsywny, z edytowalnymi sekcjami i obsługą zdjęć wyróżniających.
Version: 2.7.6
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: magiaryb
Tags: blog, photography, custom-logo, custom-menu, featured-images, wide-blocks
*/

:root {
  --mr-bg: #101b17;
  --mr-bg-soft: #17251f;
  --mr-panel: #1c2b24;
  --mr-text: #f4f0e7;
  --mr-muted: #b9c2b8;
  --mr-gold: #d4aa68;
  --mr-line: rgba(230, 224, 207, .16);
  --mr-serif: Georgia, "Times New Roman", serif;
  --mr-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; background: var(--mr-bg); color: var(--mr-text);
  font-family: var(--mr-sans); line-height: 1.7;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--mr-gold); }
img { max-width: 100%; height: auto; display: block; }
button, input, textarea { font: inherit; }
.site-shell { overflow: hidden; }
.wrap { width: min(1160px, calc(100% - 44px)); margin-inline: auto; }
.site-header {
  position: relative; z-index: 20; background: rgba(13, 24, 19, .97);
  border-bottom: 1px solid var(--mr-line);
}
.header-inner { min-height: 86px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:13px; min-width: 220px; }
.brand-mark { color:var(--mr-gold); font-size:34px; line-height:1; }
.brand-name { display:block; font: 30px/1.05 var(--mr-serif); letter-spacing:-.7px; }
.brand-tagline { display:block; margin-top:6px; color:var(--mr-muted); font-size:9px; letter-spacing:2.2px; text-transform:uppercase; }
.primary-nav ul { display:flex; align-items:center; gap:29px; list-style:none; margin:0; padding:0; }
.primary-nav a { color:#f1eee7; font-size:13px; }
.primary-nav .current-menu-item > a, .primary-nav a:hover { color:var(--mr-gold); }
.menu-toggle { display:none; border:1px solid var(--mr-line); background:transparent; color:var(--mr-text); padding:9px 12px; }
.hero {
  min-height: 570px; display:flex; align-items:center; position:relative;
  background:
    linear-gradient(90deg, rgba(8,18,14,.88) 0%, rgba(8,18,14,.55) 48%, rgba(8,18,14,.08) 100%),
    linear-gradient(0deg, rgba(8,18,14,.35), transparent 55%),
    var(--mr-hero-image, url('assets/images/jezioro-o-swicie.webp')) center 52%/cover;
}
.hero-inner { padding: 92px 0 105px; max-width: 680px; }
.eyebrow { color:var(--mr-gold); font-size:10px; font-weight:700; letter-spacing:3px; text-transform:uppercase; }
.hero h1 { margin:17px 0 20px; max-width:650px; font: clamp(42px, 6vw, 72px)/1.03 var(--mr-serif); letter-spacing:-1.7px; }
.hero p { max-width:500px; color:#e5e7df; font-size:17px; line-height:1.7; }
.button, .wp-block-button__link {
  display:inline-flex; align-items:center; gap:12px; margin-top:17px; padding:13px 22px;
  background:var(--mr-gold); color:#172019; border:0; font-size:13px; font-weight:700;
  transition:transform .2s ease, background .2s ease;
}
.button:hover, .wp-block-button__link:hover { color:#172019; background:#e5c28b; transform:translateY(-2px); }
.section { padding:76px 0; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:30px; }
.section-heading h2, .page-title { margin:8px 0 0; font: clamp(34px, 4vw, 49px)/1.1 var(--mr-serif); letter-spacing:-.8px; }
.section-link { color:var(--mr-gold); font-size:13px; border-bottom:1px solid var(--mr-gold); padding-bottom:4px; }
.post-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
.post-card { background:var(--mr-bg-soft); border:1px solid var(--mr-line); min-width:0; }
.post-thumb { aspect-ratio: 1.42/1; overflow:hidden; background:linear-gradient(135deg,#30483b,#111c17); }
.post-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.post-card:hover .post-thumb img { transform:scale(1.04); }
.thumb-placeholder { height:100%; min-height:180px; background:linear-gradient(145deg, #526b56, #18251e 70%); display:grid; place-items:center; color:rgba(255,255,255,.65); font:42px var(--mr-serif); }
.post-content { padding:20px 21px 22px; }
.post-category { color:var(--mr-gold); font-size:9px; letter-spacing:2px; text-transform:uppercase; }
.post-card h3 { margin:9px 0 9px; font:25px/1.18 var(--mr-serif); }
.post-card p { margin:0; color:var(--mr-muted); font-size:13px; }
.post-meta { display:flex; flex-wrap:wrap; gap:16px; margin-top:19px; color:#aab5aa; font-size:11px; }
.post-meta span:before { color:var(--mr-gold); margin-right:6px; }
.post-meta .date:before { content:"◷"; }
.post-meta .read:before { content:"·"; }
.intro-band {
  background:linear-gradient(90deg,rgba(8,19,14,.95),rgba(8,19,14,.75)),url('assets/images/nad-woda.webp') center/cover;
  padding:68px 0; border-block:1px solid var(--mr-line);
}
.feature-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:20px; text-align:center; }
.feature { padding:12px 10px; }
.feature-icon { color:var(--mr-gold); font-size:30px; }
.feature h3 { margin:9px 0 7px; font:21px var(--mr-serif); }
.feature p { margin:0; color:var(--mr-muted); font-size:12px; }
.quote-band { padding:74px 20px; text-align:center; background:linear-gradient(0deg,rgba(9,17,13,.72),rgba(9,17,13,.72)),url('assets/images/cisza-jeziora.webp') center/cover; }
.quote-band blockquote { max-width:720px; margin:0 auto; font:italic clamp(25px,3vw,36px)/1.35 var(--mr-serif); }
.quote-band p { color:var(--mr-gold); font-size:11px; letter-spacing:3px; text-transform:uppercase; }
.site-footer { padding:45px 0 25px; background:#0b1410; border-top:1px solid var(--mr-line); }
.footer-inner { display:flex; justify-content:space-between; gap:30px; align-items:center; }
.footer-copy { color:var(--mr-muted); font-size:12px; }
.footer-nav ul { display:flex; flex-wrap:wrap; gap:18px; list-style:none; margin:0; padding:0; font-size:12px; }
.archive-header { padding:72px 0 35px; background:var(--mr-bg-soft); }
.archive-description { max-width:700px; color:var(--mr-muted); }
.content-area { padding:55px 0 80px; }
.single-layout { max-width:850px; margin:auto; }
.single-featured { margin:25px 0 35px; }
.single-featured img { width:100%; max-height:570px; object-fit:cover; }
.entry-content { color:#e2e6df; font-size:17px; }
.entry-content h2, .entry-content h3 { font-family:var(--mr-serif); line-height:1.2; margin-top:1.8em; }
.entry-content a { color:var(--mr-gold); text-decoration:underline; }
.entry-content blockquote { border-left:3px solid var(--mr-gold); margin:28px 0; padding:5px 22px; color:#d4d9d0; font:italic 22px/1.5 var(--mr-serif); }
.entry-content .wp-block-image img { border:1px solid var(--mr-line); }
.pagination { margin-top:35px; display:flex; gap:10px; }
.pagination a, .pagination span { padding:9px 14px; border:1px solid var(--mr-line); }
.pagination .current { background:var(--mr-gold); color:#172019; }
.comments-area { margin-top:55px; padding-top:30px; border-top:1px solid var(--mr-line); }
input, textarea { max-width:100%; background:#17251f; color:var(--mr-text); border:1px solid var(--mr-line); padding:11px; }
@media (max-width: 900px) {
  .primary-nav ul { gap:15px; }
  .post-grid { grid-template-columns:repeat(2,1fr); }
  .feature-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width: 680px) {
  .wrap { width:min(100% - 30px, 560px); }
  .header-inner { min-height:72px; }
  .brand-name { font-size:25px; }
  .menu-toggle { display:block; }
  .primary-nav { display:none; position:absolute; top:100%; left:0; right:0; padding:18px 22px; background:#0d1813; border-bottom:1px solid var(--mr-line); }
  .primary-nav.is-open { display:block; }
  .primary-nav ul { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
  .hero { min-height:520px; background-position:60% center; }
  .hero-inner { padding:75px 0; }
  .hero h1 { font-size:46px; }
  .hero p { font-size:15px; }
  .section { padding:55px 0; }
  .section-heading { align-items:flex-start; flex-direction:column; }
  .post-grid { grid-template-columns:1fr; }
  .feature-grid { grid-template-columns:repeat(2,1fr); }
  .footer-inner { align-items:flex-start; flex-direction:column; }
}


/* Mobile layout safeguards – v1.0.1 */
.section,
.intro-band,
.content-area {
  position: relative;
  display: flow-root;
  clear: both;
}
.post-grid {
  display: grid !important;
  align-items: stretch;
  grid-auto-flow: row;
}
.post-grid > .post-card {
  position: relative;
  float: none !important;
  width: auto !important;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-self: stretch;
}
.post-card .post-content {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  overflow-wrap: anywhere;
}
.post-card h3 {
  font-size: clamp(21px, 5.5vw, 25px);
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.post-card p {
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.intro-band {
  isolation: isolate;
  z-index: 0;
}
@media (max-width: 680px) {
  .post-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 22px;
  }
  .post-grid > .post-card {
    width: 100% !important;
    max-width: 100%;
  }
  .post-thumb {
    width: 100%;
    aspect-ratio: 16 / 9;
  }
  .post-content {
    padding: 18px 18px 20px;
  }
  .post-card h3 {
    margin: 9px 0 11px;
    font-size: 23px;
    line-height: 1.22;
  }
  .post-card p {
    margin: 0;
    font-size: 14px;
    line-height: 1.65;
  }
  .post-meta {
    margin-top: 16px;
  }
  .intro-band {
    margin-top: 0;
    padding: 52px 0;
  }
  .intro-band .section-heading {
    margin-bottom: 24px;
  }
  .feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    row-gap: 26px;
  }
  .feature {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

/* MagiaRyb 1.1 — fotograficzny dziennik */
.hero { min-height: min(78vh, 760px); background-position:center; }
.hero-inner { padding-block: 115px 125px; }
.hero h1 { max-width: 750px; text-wrap: balance; }
.section-heading h2 { text-wrap:balance; }
.post-card { transition: transform .25s ease, border-color .25s ease; }
.post-card:hover { transform: translateY(-5px); border-color:rgba(212,170,104,.5); }
.story-section { background:#13221b; }
.story-layout { display:grid; grid-template-columns: .95fr 1.05fr; gap:clamp(35px,7vw,110px); align-items:center; }
.story-art { min-height:410px; padding:38px; display:flex; flex-direction:column; justify-content:space-between; background:linear-gradient(150deg,rgba(12,29,21,.16),rgba(12,29,21,.85)),url('https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=1300&q=80') center/cover; border:1px solid var(--mr-line); }
.story-art span { color:#f6dfb7; font-size:12px; letter-spacing:3px; text-transform:uppercase; }
.story-art strong { max-width:350px; font:clamp(30px,3.5vw,48px)/1.1 var(--mr-serif); }
.story-copy h2,.gallery-teaser h2 { margin:12px 0 23px; font:clamp(34px,4vw,54px)/1.1 var(--mr-serif); }
.story-copy p,.gallery-teaser p { color:var(--mr-muted); max-width:560px; }
.story-copy .section-link { display:inline-block; margin-top:20px; }
.gallery-teaser { background:linear-gradient(100deg,rgba(10,23,17,.96),rgba(10,23,17,.78)),url('https://images.unsplash.com/photo-1501785888041-af3ef285b470?auto=format&fit=crop&w=1800&q=80') center/cover; }
.gallery-teaser-inner { display:flex; justify-content:space-between; align-items:center; gap:45px; }
.gallery-teaser .button { white-space:nowrap; }
@media(max-width:800px){ .story-layout {grid-template-columns:1fr;gap:32px;} .story-art{min-height:320px;} .gallery-teaser-inner{align-items:flex-start;flex-direction:column;gap:10px;} }
@media(max-width:680px){ .hero{min-height:570px;} .hero-inner{padding-block:88px;} .hero h1{font-size:clamp(40px,10vw,56px);} .story-art{min-height:280px;padding:24px;} .story-section,.gallery-teaser{padding-block:58px;} }

/* MagiaRyb 1.2 – własna fotografia i czytelniejsze nakładki */
.hero { background-image: linear-gradient(90deg,rgba(6,20,15,.86) 0%,rgba(6,20,15,.57) 45%,rgba(6,20,15,.10) 100%),var(--mr-hero-image, url('assets/images/jezioro-o-swicie.webp')); background-size:cover; background-position:center 54%; }
.hero-inner { position:relative; z-index:1; }
.hero .eyebrow { color:#e9d1a0; }
.story-art { background-image:linear-gradient(150deg,rgba(12,29,21,.16),rgba(12,29,21,.86)),var(--mr-story-image, url('assets/images/nad-woda.webp')); }
.gallery-teaser { background-image:linear-gradient(100deg,rgba(10,23,17,.95),rgba(10,23,17,.65)),var(--mr-gallery-image, url('assets/images/cisza-jeziora.webp')); }
@media(max-width:680px){ .hero {background-position: 60% center; background-image:linear-gradient(90deg,rgba(6,20,15,.85),rgba(6,20,15,.48)),var(--mr-hero-image, url('assets/images/jezioro-o-swicie.webp'));} }

/* MagiaRyb 1.3 — czytelniejsze karty, galeria i dostępność */
.post-grid { align-items:stretch; }
.post-thumb img { width:100%;height:100%;object-fit:cover;display:block; }
.post-card h3 { overflow-wrap:anywhere; }
.post-card .post-category { letter-spacing:.12em; }
.gallery-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:30px 0 45px; }
.gallery-item { margin:0;min-width:0; }
.gallery-item a { display:block;overflow:hidden;border:1px solid rgba(212,170,104,.24); }
.gallery-item img {display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s ease;}
.gallery-item a:hover img,.gallery-item a:focus-visible img {transform:scale(1.035);}
.gallery-item figcaption {font-size:14px;color:var(--mr-muted);padding:10px 0;}
.gallery-empty {border:1px solid rgba(212,170,104,.3);padding:28px;max-width:740px;line-height:1.7;}
.gallery-preview {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px;}
.gallery-preview img {width:100%;height:170px;object-fit:cover;display:block;}
.gallery-lightbox {position:fixed;inset:0;z-index:99999;background:rgba(3,12,9,.96);display:none;align-items:center;justify-content:center;padding:70px 18px 40px;}
.gallery-lightbox.is-open {display:flex;}
.gallery-lightbox img {max-height:calc(100vh - 120px);max-width:95vw;object-fit:contain;}
.gallery-lightbox button {position:absolute;top:16px;right:20px;color:#fff;background:#172b22;border:1px solid #a68b5c;padding:12px 18px;cursor:pointer;}
.gallery-lightbox p {position:absolute;bottom:8px;left:20px;right:20px;text-align:center;color:#fff;}
@media(max-width:680px){
.post-grid {gap:20px;}
.post-card .post-content {padding:18px 18px 22px;}
.post-card h3 {font-size:clamp(23px,6vw,29px);line-height:1.18;}
.post-card .post-thumb {aspect-ratio: 16/9;}
.post-card .post-content p {font-size:15px;line-height:1.55;}
.gallery-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.gallery-preview img {height:95px;}
.gallery-teaser {background-position: center;}
}
@media(prefers-reduced-motion:reduce){.post-card,.gallery-item img{transition:none;}}

/* MagiaRyb 1.4 – strony osobiste */
.mr-page-hero {padding:76px 0 62px;background:linear-gradient(90deg,rgba(10,24,17,.89),rgba(10,24,17,.36)),url('assets/images/nad-woda.webp') center/cover;border-bottom:1px solid var(--mr-line)}
.mr-page-hero h1{max-width:850px;font:clamp(42px,6vw,78px)/1.07 var(--mr-serif);margin:16px 0 20px}
.mr-page-hero p{max-width:620px;color:#e2e6df;font-size:clamp(16px,2vw,20px)}
.mr-story-content{max-width:810px;margin:auto;font-size:18px;line-height:1.95;color:#d9e0d7}
.mr-story-content p{margin:0 0 25px}.mr-story-content h2{color:var(--mr-text);font:clamp(29px,4vw,43px)/1.18 var(--mr-serif);margin:45px 0 18px}
.mr-story-content .mr-lead{font:clamp(22px,3vw,29px)/1.5 var(--mr-serif);color:var(--mr-text)}
.mr-story-note{border-left:3px solid var(--mr-gold);background:var(--mr-bg-soft);padding:22px 26px;margin:36px 0;color:var(--mr-text)}
.mr-contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}.mr-contact-layout h2{font:clamp(30px,4vw,45px)/1.16 var(--mr-serif)}
.mr-contact-layout .entry-content{padding:25px;background:var(--mr-bg-soft);border:1px solid var(--mr-line)}
.mr-contact-layout input:not([type=submit]),.mr-contact-layout textarea{max-width:100%;width:100%;padding:12px;background:#101b17;color:var(--mr-text);border:1px solid var(--mr-line)}
.mr-contact-layout input[type=submit]{background:var(--mr-gold);border:0;padding:13px 22px;cursor:pointer}
@media(max-width:700px){.mr-page-hero{padding:65px 0 50px}.mr-contact-layout{grid-template-columns:1fr;gap:20px}.mr-story-content{font-size:16px}.mr-contact-layout .entry-content{padding:18px}}

/* MagiaRyb 1.5 — fotograficzna oś czasu */
.mr-timeline{max-width:920px;margin:0 auto;position:relative}
.mr-timeline-intro{font:clamp(23px,3vw,32px)/1.45 var(--mr-serif);color:var(--mr-text);margin:0 0 45px}
.mr-timeline-step{position:relative;padding:0 0 50px 40px;border-left:1px solid rgba(212,170,104,.4)}
.mr-timeline-step:last-child{border-left-color:transparent;padding-bottom:8px}
.mr-timeline-step:before{content:'';position:absolute;left:-6px;top:8px;width:11px;height:11px;background:var(--mr-gold);border-radius:50%;box-shadow:0 0 0 5px var(--mr-bg)}
.mr-timeline-date{display:block;color:var(--mr-gold);font-size:12px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:8px}
.mr-timeline-step h2{font:clamp(29px,4vw,44px)/1.17 var(--mr-serif);margin:0 0 20px;color:var(--mr-text)}
.mr-timeline-step p{font-size:clamp(16px,2vw,18px);line-height:1.9;color:var(--mr-muted);margin:0 0 18px}
.mr-timeline-photo{margin:25px 0 27px;position:relative}
.mr-timeline-photo img{width:100%;max-height:440px;object-fit:cover;border:1px solid var(--mr-line)}
.mr-timeline-photo figcaption{color:var(--mr-muted);font-size:12px;margin-top:9px}
.mr-story-cta{margin-top:38px}
.mr-story-editable .entry-content{max-width:900px;margin:auto}
@media(max-width:600px){.mr-timeline-step{padding-left:23px;padding-bottom:38px}.mr-timeline-photo img{max-height:270px}.mr-timeline-intro{margin-bottom:30px}}

/* 1.5.2 – fotograficzna opowieść */
.mr-story-chapter{max-width:980px;margin:0 auto 72px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,65px);align-items:center}
.mr-story-chapter:nth-of-type(even) .mr-story-chapter-image{order:2}
.mr-story-chapter:nth-of-type(even) .mr-story-chapter-copy{order:1}
.mr-story-chapter-image{margin:0;min-width:0}
.mr-story-chapter-image img{display:block;width:100%;height:clamp(300px,38vw,460px);object-fit:cover;border:1px solid var(--mr-line)}
.mr-story-chapter-copy h2{font:clamp(30px,3.8vw,48px)/1.14 var(--mr-serif);margin:8px 0 24px;color:var(--mr-text)}
.mr-story-chapter-copy p{color:var(--mr-muted);font-size:clamp(16px,1.7vw,18px);line-height:1.85;margin:0 0 17px}
.mr-story-chapter-copy .mr-timeline-date{margin-bottom:12px}
.mr-story-standfirst{max-width:850px;margin:0 auto 65px;font:clamp(24px,3vw,36px)/1.4 var(--mr-serif);color:var(--mr-text)}
.mr-story-ending{max-width:800px;margin:10px auto 35px;text-align:center;font:clamp(20px,2.5vw,29px)/1.5 var(--mr-serif);color:var(--mr-text)}
@media(max-width:760px){.mr-story-chapter{grid-template-columns:1fr;gap:23px;margin-bottom:56px}.mr-story-chapter:nth-of-type(even) .mr-story-chapter-image,.mr-story-chapter:nth-of-type(even) .mr-story-chapter-copy{order:initial}.mr-story-chapter-image img{height:auto;aspect-ratio:4/3}.mr-story-standfirst{margin-bottom:45px}}

/* 1.5.4: bardziej zwarta kompozycja fotograficzna */
.mr-story-chapter{margin-bottom:clamp(38px,5vw,60px)}
@media(max-width:760px){.mr-story-chapter{gap:18px;margin-bottom:44px}.mr-story-standfirst{margin-bottom:34px}.mr-story-chapter-copy h2{margin-bottom:18px}}

/* 1.7 — wygodne czytanie bloga i puste stany */
.mr-intro {max-width: 720px; color: var(--mr-muted); font-size: clamp(1rem,2.6vw,1.2rem); line-height: 1.7; margin: 1rem 0 0;}
.mr-empty {border: 1px solid var(--mr-line); background: var(--mr-bg-soft); padding: clamp(1.5rem,4vw,3rem); max-width: 760px;}
.mr-empty h3 {font-family: var(--mr-serif);font-size: clamp(1.7rem,4vw,2.5rem);margin:0 0 1rem;color:var(--mr-text)}
.mr-empty p {color:var(--mr-muted);line-height:1.7;margin:0;}
.post-card .post-thumb img {width:100%;height:100%;object-fit:cover;}
.post-card h3 a:focus-visible,.post-thumb:focus-visible,.section-link:focus-visible {outline: 3px solid var(--mr-gold);outline-offset: 4px;}
.pagination {margin-top:2.5rem;}
.pagination .page-numbers {display:inline-block;padding:.65rem .9rem;margin:.2rem;border:1px solid var(--mr-line);color:var(--mr-text);text-decoration:none;}
.pagination .page-numbers.current {background:var(--mr-gold);color:var(--mr-bg);}

/* 1.8 — autorska identyfikacja i nowy pierwszy ekran */
:root {--mr-gold:#d7ad6a;--mr-bg:#0d1915;--mr-bg-soft:#14251e;--mr-muted:#bdc6bc}
.site-header{background:#0b1712;border-bottom:1px solid rgba(215,173,106,.23)}
.header-inner{min-height:104px}
.brand{gap:16px}
.brand-symbol{width:58px;height:58px;flex:0 0 auto;object-fit:contain;filter:drop-shadow(0 2px 9px rgba(215,173,106,.12))}
.brand-name{font-size:clamp(27px,2.8vw,38px);letter-spacing:-1px}
.brand-tagline{font-size:10px;letter-spacing:2.5px;color:#d2c5ab}
.primary-nav a{font-weight:500;letter-spacing:.03em}
.hero{min-height:min(790px,88vh);background-image:linear-gradient(90deg,rgba(4,15,12,.91) 0%,rgba(4,15,12,.73) 36%,rgba(4,15,12,.20) 100%),linear-gradient(0deg,rgba(4,15,12,.66),transparent 42%),var(--mr-hero-image,url('assets/images/jezioro-o-swicie.webp'));background-position:center 53%;border-bottom:1px solid rgba(215,173,106,.18)}
.hero-inner{max-width:none;width:min(1160px,calc(100% - 44px));padding:125px 0 58px;min-height:inherit;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.hero-kicker{display:flex;align-items:center;gap:16px}
.hero-kicker-rule{height:1px;width:48px;background:var(--mr-gold)}
.hero .eyebrow{font-size:11px;letter-spacing:3.8px}
.hero h1{max-width:850px;font-size:clamp(57px,7.6vw,105px);line-height:1.03;letter-spacing:-2.9px;margin:25px 0 24px;text-shadow:0 2px 25px rgba(0,0,0,.12)}
.hero p{max-width:560px;font-size:clamp(17px,1.8vw,21px);line-height:1.65;color:#e9e7de}
.hero-actions{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin-top:20px}
.hero-actions .button{margin-top:0;padding:17px 28px;min-height:58px;letter-spacing:.03em}
.hero-secondary{font-size:14px;color:#f5e9d3;border-bottom:1px solid rgba(215,173,106,.75);padding:12px 0}
.hero-secondary:hover{color:var(--mr-gold)}
.hero-caption{display:flex;align-items:center;gap:22px;width:100%;margin-top:auto;padding-top:80px;font-size:10px;letter-spacing:2.2px;color:#d5cbb8}
.hero-caption-line{height:1px;flex:1;background:rgba(235,220,192,.32)}
.section-heading h2{letter-spacing:-1.2px}
@media(max-width:760px){
.header-inner{min-height:84px;gap:10px}
.brand{gap:11px;min-width:0}
.brand-symbol{width:45px;height:45px}
.brand-name{font-size:clamp(24px,6.2vw,31px)}
.brand-tagline{font-size:8px;letter-spacing:1.6px}
.menu-toggle{flex-shrink:0}
.hero{min-height:calc(100svh - 115px);max-height:none;background-image:linear-gradient(90deg,rgba(4,15,12,.83),rgba(4,15,12,.42)),linear-gradient(0deg,rgba(4,15,12,.64),transparent 55%),var(--mr-hero-image,url('assets/images/jezioro-o-swicie.webp'));background-position:59% center}
.hero-inner{padding:90px 0 34px}
.hero h1{font-size:clamp(48px,10.2vw,70px);letter-spacing:-1.7px;max-width:580px}
.hero p{font-size:17px}
.hero-actions{gap:12px 25px}
.hero-actions .button{padding:15px 20px}
.hero-caption{font-size:8px;letter-spacing:1.3px;gap:10px;padding-top:70px}
}
@media(max-width:390px){.brand-symbol{width:38px;height:38px}.brand-name{font-size:23px}.brand-tagline{letter-spacing:1px}.hero h1{font-size:46px}.hero-caption span:first-child{max-width:180px}}

/* 1.9 — nawigacja inspirowana identyfikacją motywu */
.mobile-menu-heading{display:none}
.primary-nav a{transition:color .2s ease}
.primary-nav .current_page_item > a,.primary-nav .current-menu-item > a{color:var(--mr-gold)}
.menu-toggle-lines{display:grid;gap:5px;width:25px}
.menu-toggle-lines span{height:2px;width:100%;background:var(--mr-gold);border-radius:2px;transition:transform .25s,opacity .25s}
@media(min-width:901px){.primary-nav{display:block!important}.primary-nav ul{gap:clamp(14px,2vw,30px)}.primary-nav a{font-size:13px;white-space:nowrap}.menu-toggle{display:none!important}}
@media(max-width:900px){
 .site-header{z-index:100}
 .menu-toggle{display:grid!important;place-items:center;position:relative;z-index:103;width:50px;height:50px;padding:0;border:1px solid rgba(215,173,106,.38);border-radius:50%;background:#12231c;cursor:pointer}
 .menu-toggle[aria-expanded="true"] .menu-toggle-lines span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] .menu-toggle-lines span:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded="true"] .menu-toggle-lines span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .primary-nav{display:block!important;visibility:hidden;opacity:0;pointer-events:none;position:fixed;inset:0;top:0;z-index:102;overflow-y:auto;background:linear-gradient(155deg,#0a1711,#172d22 80%);padding:clamp(110px,17vh,170px) max(26px,7vw) 50px;transform:translateY(-12px);transition:opacity .25s,transform .25s,visibility .25s;border:0}
 .primary-nav.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
 .mobile-menu-heading{display:block;color:#f4ede0;font:clamp(32px,7vw,48px)/1.15 var(--mr-serif);margin-bottom:38px}
 .mobile-menu-heading small{display:block;color:var(--mr-gold);font:11px/1.7 var(--mr-sans);letter-spacing:2px;text-transform:uppercase;margin-top:12px}
 .primary-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0;list-style:none;padding:0;margin:0;max-width:600px}
 .primary-nav li{width:100%;border-bottom:1px solid rgba(215,173,106,.2)}
 .primary-nav a{display:block;padding:14px 0;font:clamp(27px,6vw,40px)/1.3 var(--mr-serif);color:#f4ede0;letter-spacing:0}
 .primary-nav a:hover,.primary-nav .current-menu-item>a{color:var(--mr-gold)}
 body.mr-menu-open{overflow:hidden}
}
@media(max-width:390px){.menu-toggle{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.primary-nav,.menu-toggle-lines span{transition:none}}

/* 2.0 — poziome menu ikonowe, bez hamburgera */
.mr-icon-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;background:#0b1913;border-top:1px solid rgba(212,170,104,.28);border-bottom:1px solid rgba(212,170,104,.28);width:100%;z-index:5}
.mr-icon-nav-hero{position:relative;background:rgba(7,20,15,.92);margin-top:auto}
.mr-icon-nav-inner{position:relative}
.mr-icon-link{display:flex;min-width:0;min-height:90px;flex-direction:column;justify-content:center;align-items:center;gap:7px;color:var(--mr-gold);text-align:center;position:relative;padding:12px 3px;transition:background .2s,color .2s}
.mr-icon-link:not(:last-child):after{content:"";position:absolute;right:0;top:23%;height:54%;border-right:1px solid rgba(212,170,104,.32)}
.mr-icon-link svg{width:27px;height:27px;flex:none}
.mr-icon-link span{font:600 10px/1.3 var(--mr-sans);letter-spacing:1.6px;text-transform:uppercase;white-space:normal}
.mr-icon-link:hover,.mr-icon-link:focus-visible,.mr-icon-link.is-current{color:#f4d49b;background:rgba(212,170,104,.09)}
.mr-icon-link:focus-visible{outline:2px solid var(--mr-gold);outline-offset:-3px}
@media(min-width:901px){.mr-icon-nav{max-width:none}.mr-icon-link{min-height:100px}}
@media(max-width:680px){.mr-icon-link{min-height:76px;gap:6px;padding:10px 2px}.mr-icon-link svg{width:23px;height:23px}.mr-icon-link span{font-size:8px;letter-spacing:.55px}.hero{min-height:calc(100svh - 100px)}.hero-inner{min-height:0}}
@media(max-width:360px){.mr-icon-link span{font-size:7px;letter-spacing:0}.mr-icon-link svg{width:21px;height:21px}}

/* 2.0.1 — naprawa szerokości hero i nawigacji na telefonach */
.hero{display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;min-width:0;width:100%;}
.hero-inner{flex:1 0 auto;min-width:0;max-width:1160px;width:min(1160px,calc(100% - 44px));margin-inline:auto;}
.mr-icon-nav-hero{flex:0 0 auto;margin-top:0;align-self:stretch;width:100%;min-width:0;}
.mr-icon-nav{max-width:100%;min-width:0;}
.mr-icon-link{overflow-wrap:normal;min-width:0;}
@media(max-width:680px){
 .hero{min-height:calc(100svh - 85px);}
 .hero-inner{flex:1 0 auto;width:calc(100% - 36px);padding:65px 0 28px;}
 .hero h1{font-size:clamp(40px,10vw,62px);overflow-wrap:break-word;}
 .hero-caption{padding-top:42px;flex-wrap:wrap;}
 .mr-icon-nav{grid-template-columns:repeat(5,minmax(0,1fr));}
 .mr-icon-link{min-height:74px;padding:9px 1px;gap:5px;}
 .mr-icon-link span{font-size:clamp(6px,1.75vw,9px);letter-spacing:0;line-height:1.2;}
 .mr-icon-link svg{width:clamp(19px,5.5vw,25px);height:clamp(19px,5.5vw,25px);}
}

/* 2.1 — menu bezpośrednio pod logo na każdej podstronie */
.site-header + .mr-icon-nav-inner{position:relative;z-index:6;}
.site-header + .mr-icon-nav-inner .mr-icon-link{min-height:82px;}
@media(max-width:680px){
 .site-header + .mr-icon-nav-inner .mr-icon-link{min-height:66px;}
 .site-header + .mr-icon-nav-inner .mr-icon-link svg{width:22px;height:22px;}
 .site-header + .mr-icon-nav-inner .mr-icon-link span{font-size:clamp(7px,1.75vw,9px);letter-spacing:0;}
 .hero{min-height:calc(100svh - 155px);}
 .hero-inner{padding-top:54px;}
}

/* MagiaRyb 2.2 — dyskretne animacje, bez zmiany układu strony */
@media (prefers-reduced-motion: no-preference) {
  .mr-reveal { animation: mr-enter .65s cubic-bezier(.2,.65,.2,1) both; animation-play-state: paused; }
  .mr-reveal.mr-revealed { animation-play-state: running; }
  @keyframes mr-enter { from {opacity:.15;transform:translateY(18px)} to {opacity:1;transform:translateY(0)} }
}
@media (prefers-reduced-motion: reduce) {
  .mr-reveal {animation:none!important;opacity:1!important;transform:none!important}
}
/* Wpisy: wyraźne odstępy i przyjazna typografia. */
.single-layout .entry-content {line-height:1.85;overflow-wrap:anywhere}
.single-layout .entry-content img {max-width:100%;height:auto;border-radius:3px}
.single-layout .single-featured img {display:block;width:100%;height:auto;object-fit:cover}
.post-card:focus-within {outline:1px solid var(--mr-gold);outline-offset:3px}
/* Formularze kontaktowe z różnych wtyczek pozostają czytelne. */
.mr-contact-layout input:not([type=checkbox]):not([type=radio]),
.mr-contact-layout textarea,.mr-contact-layout select {max-width:100%;width:100%;padding:13px 15px;background:#15291f;color:var(--mr-text);border:1px solid rgba(212,170,104,.45);border-radius:2px}
.mr-contact-layout input:focus-visible,.mr-contact-layout textarea:focus-visible {outline:2px solid var(--mr-gold);outline-offset:2px}
.mr-contact-layout button,.mr-contact-layout input[type=submit] {background:var(--mr-gold);color:#102018;padding:13px 22px;border:0;cursor:pointer}
@media(max-width:760px){.mr-contact-layout{grid-template-columns:1fr;gap:26px}}

/* 2.3 — artykuły: czytelna, fotograficzna opowieść */
.mr-article-head{max-width:850px;margin:0 auto 38px;text-align:center}
.mr-article-head .page-title{margin:15px 0 20px;overflow-wrap:anywhere}
.mr-article-location{color:var(--mr-gold);letter-spacing:.08em}
.mr-article-cover{margin:0 auto 55px;max-width:1120px}
.mr-article-cover img{width:100%;max-height:680px;object-fit:cover;border-radius:3px}
.mr-article-body{max-width:780px;margin:0 auto;font-size:clamp(1.05rem,1.4vw,1.22rem);line-height:1.95}
.mr-article-body p{margin:0 0 1.6em}
.mr-article-body h2,.mr-article-body h3{line-height:1.25;margin:1.8em 0 .65em}
.mr-article-body figure{margin:2.2em 0}
.mr-article-body img{border-radius:3px}
.mr-article-body figcaption{font-size:.8em;color:var(--mr-muted);text-align:center;margin-top:.7em}
.mr-article-body blockquote{border-left:3px solid var(--mr-gold);padding-left:1.4em;font-family:var(--mr-serif);font-style:italic}
.mr-article-footer{max-width:780px;margin:55px auto 0;padding-top:24px;border-top:1px solid var(--mr-line);display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap}
.mr-article-footer a{color:var(--mr-gold)}
@media(max-width:600px){.mr-article-cover{margin-bottom:32px}.mr-article-body{font-size:1.05rem;line-height:1.85}.mr-article-head{margin-bottom:25px}}

/* MagiaRyb 2.4 — album fotografii */
.mr-photo-album{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-block:36px 60px}
.mr-photo{min-width:0}
.mr-photo>a{position:relative;display:block;border:1px solid rgba(212,170,104,.26);background:#0a1712;overflow:hidden}
.mr-photo>a img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .4s ease}
.mr-photo:nth-child(5n+1)>a img{aspect-ratio:4/3}
.mr-photo-zoom{position:absolute;bottom:12px;right:12px;padding:5px 12px;color:#e5c38c;background:rgba(4,18,13,.82);border:1px solid rgba(212,170,104,.5);font-size:22px}
.mr-photo figcaption{display:flex;flex-direction:column;gap:8px;padding:12px 2px;color:var(--mr-muted)}
.mr-photo-story{color:#d4aa68;text-decoration:underline;text-underline-offset:4px}
.gallery-lightbox{flex-direction:column;gap:12px;padding:75px 22px 80px}
.gallery-lightbox img{max-width:100%;max-height:calc(100dvh - 190px);object-fit:contain}
.gallery-lightbox .mr-lightbox-controls{position:absolute;inset:auto 0 24px;display:flex;justify-content:center;gap:12px;align-items:center}
.gallery-lightbox .mr-lightbox-controls button,.gallery-lightbox .mr-lightbox-controls a{position:static;background:#172b22;color:#f4dfb9;border:1px solid #a68b5c;padding:10px 16px;text-decoration:none;cursor:pointer}
.gallery-lightbox .mr-lightbox-controls button:disabled{opacity:.4;cursor:default}
.gallery-lightbox p{position:static;margin:0;text-align:center;max-width:90vw;font-size:14px}
.gallery-lightbox .mr-lightbox-counter{color:#d4aa68;font-size:13px}
@media(max-width:850px){.mr-photo-album{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:520px){.mr-photo-album{gap:10px}.mr-photo figcaption{font-size:12px}.gallery-lightbox{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){.mr-photo>a img{transition:none}}

/* 2.4.1 — fotograficzny dziennik wypraw */
.mr-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:22px 0 56px}
.mr-album-card{position:relative;display:block;overflow:hidden;min-height:330px;background:#1a2a22;border:1px solid rgba(212,170,104,.26);color:var(--mr-text);text-decoration:none;isolation:isolate}
.mr-album-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease;z-index:-2}
.mr-album-card::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,17,12,.95),rgba(5,17,12,.04) 80%);z-index:-1}
.mr-album-card:hover>img,.mr-album-card:focus-visible>img{transform:scale(1.04)}
.mr-album-card-info{display:flex;flex-direction:column;justify-content:flex-end;gap:7px;min-height:330px;padding:25px}
.mr-album-card-info strong{font-family:Georgia,serif;font-size:clamp(22px,2.3vw,30px);line-height:1.2}
.mr-album-date,.mr-album-count{font-size:13px;letter-spacing:.08em;color:#e2bb7c}
.mr-album-placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:75px;color:var(--mr-gold);z-index:-2}
.mr-album-back,.mr-album-story{display:inline-block;color:var(--mr-gold);text-decoration:none;margin:0 0 24px}
.mr-album-back:hover,.mr-album-story:hover{text-decoration:underline}
@media(max-width:900px){.mr-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.mr-album-grid{grid-template-columns:1fr;gap:16px}.mr-album-card,.mr-album-card-info{min-height:290px}}
@media(prefers-reduced-motion:reduce){.mr-album-card>img{transition:none}}

/* Edytor albumów: sortowanie i usuwanie pojedynczych zdjęć */
#mr_album_preview .mr-album-thumb{position:relative;display:inline-flex;cursor:grab;border:1px solid #c3c4c7;background:#fff;padding:3px;border-radius:4px;touch-action:pan-y}
#mr_album_preview .mr-album-thumb img{display:block;width:90px;height:90px;object-fit:cover}
#mr_album_preview .mr-album-remove{position:absolute;right:0;top:0;background:#b32d2e;color:#fff;border:0;border-radius:0 3px 0 4px;width:26px;height:26px;font-size:21px;line-height:1;cursor:pointer}
#mr_album_preview .ui-sortable-helper{box-shadow:0 4px 16px #0004;z-index:20}

/* 2.5 — kontakt i powiązane albumy */
.mr-contact-form{display:grid;gap:12px}.mr-contact-form label{font-size:14px;font-weight:700;letter-spacing:.02em}.mr-contact-form textarea{min-height:170px;resize:vertical}.mr-contact-form button{justify-self:start;font-weight:700;transition:filter .2s,transform .2s}.mr-contact-form button:hover{filter:brightness(1.1);transform:translateY(-1px)}.mr-contact-privacy{font-size:13px;line-height:1.6;opacity:.8;margin:5px 0}.mr-contact-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.mr-contact-notice{padding:14px 16px;border:1px solid var(--mr-gold);margin:0 0 20px}.mr-contact-error{border-color:#d88}.mr-related-albums{margin:48px 0;padding:28px;border:1px solid var(--mr-line);background:var(--mr-bg-soft)}.mr-related-albums h2{font:clamp(26px,3vw,38px)/1.2 var(--mr-serif);margin:10px 0 24px}.mr-related-album-list{display:grid;gap:12px}.mr-related-album-list a{display:flex;align-items:center;gap:16px;color:var(--mr-text);text-decoration:none;border-bottom:1px solid var(--mr-line);padding-bottom:12px}.mr-related-album-list img{width:85px;height:70px;object-fit:cover}.mr-related-album-list a span:nth-child(2){flex:1;font-size:13px}.mr-related-album-list strong{display:block;font-size:18px;margin-top:4px}.mr-related-album-list a:hover{color:var(--mr-gold)}

/* MagiaRyb 2.5.1: komentarze pod relacjami */
.mr-comments{max-width:860px;margin:64px auto 0;padding-top:36px;border-top:1px solid var(--mr-line)}
.mr-comments-title{font:clamp(30px,4vw,44px)/1.2 var(--mr-serif);margin:12px 0 30px}
.mr-comment-list{list-style:none;padding:0;margin:0 0 38px}
.mr-comment-list .children{list-style:none;margin:20px 0 0 20px;padding:0 0 0 20px;border-left:1px solid var(--mr-line)}
.mr-comment-list .comment-body{background:var(--mr-bg-soft);border:1px solid var(--mr-line);padding:22px;margin-bottom:18px;overflow-wrap:anywhere}
.mr-comment-list .comment-author{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mr-comment-list .comment-author img{border-radius:50%}
.mr-comment-list .comment-author .says{display:none}
.mr-comment-list .comment-meta{font-size:13px;opacity:.8;margin:8px 0 16px}
.mr-comment-list .reply a,.mr-comments a{color:var(--mr-gold)}
.mr-comments .comment-respond{padding:25px;background:var(--mr-bg-soft);border:1px solid var(--mr-line);margin:30px 0}
.mr-comments .comment-reply-title{font:clamp(25px,3vw,35px)/1.2 var(--mr-serif);margin:0 0 15px}
.mr-comments .comment-form{display:grid;gap:14px}
.mr-comments .comment-form p{margin:0}
.mr-comments .comment-form label{display:block;font-weight:600;margin-bottom:8px}
.mr-comments .comment-form input:not([type=checkbox]),.mr-comments .comment-form textarea{width:100%;max-width:100%;box-sizing:border-box;padding:13px 15px;background:#15291f;color:var(--mr-text);border:1px solid rgba(212,170,104,.45)}
.mr-comments .comment-form textarea{min-height:135px;resize:vertical}
.mr-comments .comment-form-cookies-consent{display:flex;gap:10px;align-items:flex-start}
.mr-comments .comment-form-cookies-consent label{font-weight:400}
.mr-comments .form-submit input[type=submit]{width:auto;background:var(--mr-gold);color:#102018;border:0;padding:15px 24px;cursor:pointer;font-weight:700}
.mr-comments .comment-awaiting-moderation{color:var(--mr-gold)}
.mr-contact-form textarea{height:160px;min-height:120px;max-height:400px;resize:vertical}
@media(max-width:700px){.mr-comments .comment-respond{padding:18px}.mr-comment-list .children{margin-left:8px;padding-left:12px}.mr-contact-form textarea{height:140px;min-height:110px}}

/* MagiaRyb.pl 2.5.2 — kompaktowe formularze na urządzeniach mobilnych. */
.mr-comments .comment-form textarea {height:140px;min-height:120px;max-height:480px;resize:vertical;box-sizing:border-box;}
.mr-contact-form textarea {height:150px;min-height:120px;max-height:480px;resize:vertical;box-sizing:border-box;}
@media (max-width:700px) {
  .mr-comments .comment-form textarea {height:130px;min-height:120px;max-height:480px;}
  .mr-contact-form textarea {height:130px;min-height:120px;max-height:480px;}
  .mr-comments .comment-form {gap:11px;}
  .mr-comments .comment-form label {margin-bottom:6px;}
  .mr-comments .comment-respond {padding:18px;}
}

/* 2.6.0 — czytelność wpisów, responsywne fotografie i dostępność */
.mr-article-body { overflow-wrap: break-word; }
.mr-article-body :is(img,video,iframe) { max-width: 100%; }
.mr-article-body img { height: auto; }
.mr-article-body :is(.wp-block-image,.wp-block-gallery) { max-width: 100%; }
.mr-article-body :is(ul,ol) { padding-inline-start: 1.5em; margin-block: 0 1.5em; }
.mr-article-body li + li { margin-top: .4em; }
.mr-article-body :is(pre,table) { max-width: 100%; overflow-x: auto; }
.mr-article-body a { text-underline-offset: .18em; }
.mr-article-body :is(a,button):focus-visible { outline: 2px solid var(--mr-gold); outline-offset: 4px; }
@media(max-width:600px) {
  .mr-article-body { font-size: 1.05rem; line-height: 1.82; }
  .mr-article-body figure { margin-block: 1.6em; }
  .mr-article-body :is(h2,h3) { overflow-wrap: break-word; }
}
@media(prefers-reduced-motion:reduce) {
  .mr-reveal, .mr-revealed { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* 2.7.5 — spokojniejszy rytm czytania relacji, bez zmian innych sekcji. */
.single-post .mr-article-body { line-height: 1.7; }
.single-post .mr-article-body p { margin: 0 0 18px; }
.single-post .mr-article-body :is(h2,h3) { margin: 36px 0 18px; line-height: 1.3; }
.single-post .mr-article-body :is(h2,h3):first-child { margin-top: 0; }
@media (max-width: 600px) {
  .single-post .mr-article-body { line-height: 1.72; }
  .single-post .mr-article-body p { margin-bottom: 16px; }
  .single-post .mr-article-body :is(h2,h3) { margin: 30px 0 15px; }
}

/* MagiaRyb 2.7.6 — mobilna galeria i wyśrodkowane CTA */
.mr-story-cta{text-align:center}
.mr-photo>a img,.mr-photo:nth-child(5n+1)>a img{aspect-ratio:4/5;object-fit:cover}
.mr-photo-zoom{bottom:9px;right:9px;padding:3px 8px;font-size:17px;line-height:1.2}
.gallery-lightbox{box-sizing:border-box;gap:8px;padding:58px 18px 94px}
.gallery-lightbox img{max-width:100%;max-height:calc(100dvh - 205px);width:auto;height:auto;object-fit:contain}
.gallery-lightbox .mr-lightbox-close{position:absolute;top:max(12px,env(safe-area-inset-top));right:14px;width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid rgba(212,170,104,.55);border-radius:50%;background:rgba(10,28,21,.92);color:#fff;font-size:25px;line-height:1;z-index:2}
.gallery-lightbox .mr-lightbox-controls{bottom:max(16px,env(safe-area-inset-bottom));left:12px;right:12px;gap:8px;flex-wrap:wrap}
.gallery-lightbox .mr-lightbox-controls button{width:44px;height:44px;display:grid;place-items:center;padding:0;font-size:27px;line-height:1}
.gallery-lightbox .mr-lightbox-controls a{padding:10px 13px;font-size:14px;line-height:1.4}
.gallery-lightbox .mr-lightbox-caption{font-size:14px;line-height:1.4;color:#e6e3d9;max-width:85vw}
.gallery-lightbox .mr-lightbox-caption:empty{display:none}
.gallery-lightbox .mr-lightbox-counter{font-size:14px;color:#e4c28e}
@media(max-width:520px){.gallery-lightbox{padding:65px 12px 95px}.gallery-lightbox img{max-height:calc(100dvh - 210px)}.mr-photo-zoom{padding:2px 7px;font-size:16px}}
