/* Průvodce Saarloosovým vlčákem · Mista Melmë
   Fúze: původní web (navy, velká fotka, dlaždice) + Apple (vzduch, sklo, modrý přechod). Mobile first. */
:root {
  --bg: #f4f7fb;
  --ink: #040d2a;
  --muted: #5a6478;
  --line: rgba(4, 13, 42, .08);
  --navy: #040d2a;
  --blue: #2f6fd6;
  --sky: #6cb8e0;
  --blue-soft: rgba(47, 111, 214, .08);
  --grad: linear-gradient(135deg, #040d2a 0%, #123a7a 50%, #2f6fd6 100%);
  --grad-light: linear-gradient(135deg, #2f6fd6 0%, #4f9be0 55%, #6cb8e0 100%);
  --glass: rgba(255, 255, 255, .62);
  --glass-strong: rgba(255, 255, 255, .78);
  --glass-border: rgba(255, 255, 255, .85);
  --glass-shadow: 0 1px 0 rgba(255,255,255,.95) inset, 0 8px 30px rgba(20, 50, 110, .08), 0 1px 3px rgba(20, 50, 110, .05);
  --blur: blur(22px) saturate(180%);
  --radius: 24px;
  --serif-d: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Helvetica Neue", Arial, sans-serif;
  --sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Helvetica Neue", Arial, sans-serif;
  --tabbar: 64px;
  --wrap: 1120px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 72px; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 17px/1.6 var(--sans); -webkit-font-smoothing: antialiased; overflow-x: hidden; position: relative;
  padding-bottom: calc(var(--tabbar) + env(safe-area-inset-bottom)); }
/* jemné modré aurory – aby měl sklo co rozostřit */
body::before { content: ""; position: fixed; inset: -20vh -30vw; z-index: -1; pointer-events: none;
  background:
    radial-gradient(45vmax 45vmax at 10% 5%, rgba(108,184,224,.30), transparent 60%),
    radial-gradient(40vmax 40vmax at 95% 25%, rgba(47,111,214,.16), transparent 60%),
    radial-gradient(50vmax 50vmax at 60% 100%, rgba(18,58,122,.10), transparent 60%); }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--ink); text-decoration-color: rgba(47,111,214,.5); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--blue); }
h1, h2, h3 { font-family: var(--serif-d); font-weight: 600; line-height: 1.1; letter-spacing: -.025em; margin: 0 0 .45em; }
h1 { font-size: clamp(2.5rem, 10vw, 4.6rem); }
h2 { font-size: clamp(1.7rem, 6vw, 2.5rem); }
h3 { font-size: 1.3rem; }
p { margin: 0 0 1em; }
strong { font-weight: 600; }
.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 20px; }
.narrow { max-width: 720px; }
.skip { position: absolute; left: -999px; } .skip:focus { left: 12px; top: 12px; z-index: 99; background: #fff; padding: 8px 12px; border-radius: 10px; }
.hidden { display: none; }
.muted { color: var(--muted); }
.center { text-align: center; }
.kicker, .eyebrow { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; margin: 0 0 .7em;
  background: var(--grad-light); -webkit-background-clip: text; background-clip: text; color: transparent; display: inline-block; }
.lead { font-size: 1.12rem; color: var(--muted); line-height: 1.55; }
.sub { color: var(--muted); margin-top: -.2em; }
.hint { font-size: .85rem; color: var(--muted); margin-top: 10px; }
.link { font-weight: 600; text-decoration: none; color: var(--blue); }
.go { color: var(--blue); }

/* Sklo – společný základ */
.fact, .quote, .chapter, .path a, .list-links a, .card, .dog, .quiz, .quiz-result, .form, .contact-list a, .chip, .col-no, .dog-row, .litter, .memory, .hero-chip, .portrait p {
  background: var(--glass); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur);
  border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); }

/* Tlačítka – navy pilulky (původní web) + skleněné (Apple) */
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 1.45em; border-radius: 999px; background: var(--navy); color: #fff; border: 0;
  font: 500 1rem var(--sans); text-decoration: none; cursor: pointer; box-shadow: 0 1px 0 rgba(255,255,255,.18) inset, 0 8px 20px rgba(4,13,42,.18);
  transition: transform .15s, box-shadow .2s, background .2s; -webkit-tap-highlight-color: transparent; }
.btn:hover { color: #fff; background: #0d1d4a; box-shadow: 0 1px 0 rgba(255,255,255,.18) inset, 0 12px 28px rgba(4,13,42,.24); }
.btn:active { transform: scale(.97); }
.btn-small { min-height: 40px; font-size: .9rem; padding: 0 1.1em; }
.btn-ghost { background: var(--glass-strong); color: var(--navy); border: 1px solid var(--glass-border); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); box-shadow: var(--glass-shadow); }
.btn-ghost:hover { background: #fff; color: var(--navy); }
.btn-light { background: #fff; color: var(--navy); box-shadow: 0 8px 24px rgba(0,10,40,.2); }
.btn-light:hover { background: #eef4ff; color: var(--navy); }
.btn-ghost-light { background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.4); box-shadow: 0 1px 0 rgba(255,255,255,.3) inset; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.btn-ghost-light:hover { background: rgba(255,255,255,.22); color: #fff; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }

/* Horní lišta – sklo */
.topbar { position: sticky; top: 0; z-index: 40; background: rgba(244,247,251,.7); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border-bottom: 1px solid rgba(255,255,255,.7); box-shadow: 0 1px 0 var(--line); }
.topbar-inner { display: flex; align-items: center; justify-content: space-between; height: 60px; }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; font-size: .75rem; line-height: 1.2; color: var(--muted); }
.brand img { height: 44px; width: auto; }
.brand strong { color: var(--ink); font-family: var(--serif-d); font-weight: 500; font-size: 1.02rem; }
.topnav { display: none; }

/* Spodní lišta (mobil) – plovoucí sklo */
.tabbar { position: fixed; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); z-index: 50; display: grid; grid-template-columns: repeat(5, 1fr);
  height: var(--tabbar); border-radius: 26px; background: rgba(255,255,255,.72); -webkit-backdrop-filter: blur(24px) saturate(190%); backdrop-filter: blur(24px) saturate(190%);
  border: 1px solid rgba(255,255,255,.9); box-shadow: 0 1px 0 rgba(255,255,255,.95) inset, 0 10px 34px rgba(20,50,110,.16); }
body { padding-bottom: calc(var(--tabbar) + 24px + env(safe-area-inset-bottom)); }
.tabbar a, .topnav a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; text-align: center; line-height: 1.15; text-decoration: none; color: var(--muted); font-size: .7rem; font-weight: 500; -webkit-tap-highlight-color: transparent; }
.tabbar svg, .topnav svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tabbar a[aria-current] { color: var(--blue); }
.tabbar a[aria-current] svg { stroke-width: 2.1; }
.tabbar a[aria-current] span { font-weight: 600; }

@media (min-width: 900px) {
  body { padding-bottom: 0; font-size: 18px; }
  .tabbar { display: none; }
  .topbar { background: transparent; border: 0; box-shadow: none; padding-top: 12px; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .topbar-inner { height: 64px; border-radius: 999px; padding: 0 10px 0 16px; max-width: calc(var(--wrap) - 40px);
    background: rgba(255,255,255,.66); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); }
  .topnav { display: flex; gap: 4px; }
  .topnav a { flex-direction: row; gap: 7px; font-size: .92rem; padding: 9px 14px; border-radius: 999px; color: var(--ink); }
  .topnav a:hover { background: rgba(255,255,255,.8); color: var(--ink); }
  .topnav a[aria-current] { background: rgba(47,111,214,.1); color: var(--blue); }
  .topnav svg { width: 17px; height: 17px; }
  .wrap { padding: 0 32px; }
}

/* Bloky */
.block { padding-top: 40px; padding-bottom: 40px; }
.block-tight { padding-top: 8px; padding-bottom: 48px; }
.h-sec { margin-bottom: .35em; }
.page-head { padding-top: 34px; padding-bottom: 12px; }
@media (min-width: 900px) { .block { padding-top: 72px; padding-bottom: 72px; } .page-head { padding-top: 72px; } }

/* Hero – velká fotka holek (nic přes ně), pod ní nadpis */
.hero { padding: 10px 10px 8px; }
.hero-img { position: relative; margin: 0 0 28px; }
.hero-img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 45% 45%; border-radius: 30px; box-shadow: 0 24px 60px rgba(20,50,110,.18); }
.hero-chip { position: absolute; left: 12px; top: 12px; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; font-size: .85rem; text-decoration: none; color: var(--ink);
  background: rgba(255,255,255,.6); }
.hero-chip b { color: var(--blue); font-weight: 600; }
.hero-chip:hover { background: rgba(255,255,255,.82); color: var(--ink); }
.dot { width: 8px; height: 8px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 4px rgba(47,111,214,.18); animation: pulse 2.4s infinite; }
@keyframes pulse { 50% { box-shadow: 0 0 0 8px rgba(47,111,214,.05); } }
.hero-text { text-align: center; }
.hero-text .lead { max-width: 36rem; margin-inline: auto; }
.hero-text .actions { justify-content: center; }
.hero h1 { background: linear-gradient(180deg, #040d2a 40%, #1d3f80); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .06em; }
@media (min-width: 900px) {
  .hero { padding: 16px 20px 8px; max-width: 1400px; margin: 0 auto; }
  .hero-img img { aspect-ratio: 16 / 7.5; object-position: center 45%; border-radius: 40px; }
  .hero-chip { left: 24px; top: 24px; }
}

/* V kostce – na mobilu posuvné, na počítači dlaždice */
.facts { list-style: none; margin: 0; padding: 6px 20px 14px; display: grid; grid-auto-flow: column; grid-auto-columns: 72%; gap: 12px;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 20px; scrollbar-width: none; }
.facts::-webkit-scrollbar { display: none; }
.fact { scroll-snap-align: start; border-radius: var(--radius); padding: 18px 20px; }
.fact-k { display: block; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--blue); font-weight: 600; }
.fact strong { display: block; font-family: var(--serif-d); font-weight: 600; letter-spacing: -.02em; font-size: 1.75rem; line-height: 1.2; margin: 6px 0; }
.fact p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.5; }
@media (min-width: 900px) {
  .facts { grid-auto-flow: row; grid-template-columns: repeat(4, 1fr); max-width: var(--wrap); margin: 0 auto; padding: 6px 32px 14px; overflow: visible; }
  .fact:nth-child(1) { grid-column: span 2; background: var(--grad); color: #fff; border-color: transparent; }
  .fact:nth-child(1) .fact-k { color: var(--sky); } .fact:nth-child(1) p { color: rgba(255,255,255,.8); } .fact:nth-child(1) strong { font-size: 2.4rem; }
  .fact:nth-child(6) { grid-column: span 2; }
}

/* Je / není */
.isnot { display: grid; gap: 14px; margin-top: 20px; }
.isnot > div { border-radius: var(--radius); padding: 22px; }
.isnot h3 { font-size: 1.5rem; margin-bottom: .3em; }
.isnot ul { list-style: none; margin: 0; padding: 0; }
.isnot li { padding: 11px 0 11px 32px; position: relative; border-top: 1px solid rgba(4,13,42,.07); }
.isnot li:first-child { border-top: 0; }
.isnot li strong { display: block; }
.isnot li span { color: var(--muted); font-size: .93rem; }
.col-yes { background: var(--grad); color: #fff; box-shadow: 0 20px 50px rgba(18,58,122,.25); }
.col-yes li { border-color: rgba(255,255,255,.14); }
.col-yes li span { color: rgba(255,255,255,.78); }
.col-yes li::before, .col-no li::before { position: absolute; left: 0; top: 11px; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: .75rem; font-weight: 700; }
.col-yes li::before { content: "✓"; background: rgba(255,255,255,.18); color: #fff; }
.col-no li::before { content: "✕"; background: rgba(4,13,42,.07); color: var(--muted); }
@media (min-width: 760px) { .isnot { grid-template-columns: 1fr 1fr; } }

/* Kvíz – upoutávka */
.quiz-teaser { background: var(--grad); color: #fff; border-radius: 30px; padding: 30px 24px; position: relative; overflow: hidden; box-shadow: 0 24px 60px rgba(18,58,122,.28); }
.quiz-teaser::after { content: ""; position: absolute; right: -80px; top: -90px; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(108,184,224,.55), transparent 65%); }
.quiz-teaser > * { position: relative; }
.quiz-teaser .kicker { background: none; color: var(--sky); -webkit-background-clip: initial; background-clip: initial; }
.quiz-teaser p { color: rgba(255,255,255,.85); }
@media (min-width: 900px) { .quiz-teaser { padding: 48px; } .quiz-teaser p { max-width: 34rem; } }

/* Kapitoly a cesta průvodcem */
.chapters, .path, .list-links { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 10px; }
.chapter, .path a, .list-links a { display: flex; align-items: center; gap: 14px; min-height: 66px; padding: 14px 18px; border-radius: 20px; text-decoration: none; color: var(--ink); transition: transform .2s, box-shadow .2s, background .2s; }
.chapter:hover, .path a:hover, .list-links a:hover { background: var(--glass-strong); color: var(--ink); box-shadow: 0 1px 0 #fff inset, 0 14px 34px rgba(20,50,110,.12); }
.chapter:active, .path a:active, .list-links a:active { transform: scale(.985); }
.ch-num, .num { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: rgba(47,111,214,.1); color: var(--blue); font-family: var(--serif-d); font-weight: 600; font-size: 1rem; }
.ch-t, .t { flex: 1; display: flex; flex-direction: column; line-height: 1.3; }
.ch-t strong { font-family: var(--serif-d); font-weight: 600; letter-spacing: -.02em; font-size: 1.22rem; }
.ch-t small, .t small, .list-links small { color: var(--muted); font-size: .83rem; }
.list-links a { flex-wrap: wrap; } .list-links strong { flex: 1 1 70%; } .list-links small { order: 3; flex-basis: 100%; margin-top: -10px; }
@media (min-width: 900px) { .chapters { grid-template-columns: repeat(2, 1fr); } }

/* Citace */
.quotes { display: grid; grid-auto-flow: column; grid-auto-columns: 80%; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 14px 20px 20px; scrollbar-width: none; }
.quotes::-webkit-scrollbar { display: none; }
.quote { scroll-snap-align: start; margin: 0; border-radius: var(--radius); padding: 24px; display: flex; flex-direction: column; justify-content: space-between; }
.quote blockquote { margin: 0 0 14px; font-family: var(--serif-d); font-weight: 500; letter-spacing: -.015em; font-size: 1.25rem; line-height: 1.35; }
.quote figcaption { font-size: .8rem; color: var(--muted); }
@media (min-width: 900px) { .quotes { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); max-width: var(--wrap); margin: 0 auto; padding: 14px 32px 20px; overflow: visible; } }

/* Chovatelská stanice – navy dlaždice s modrým přechodem */
.kennel { background: var(--grad); color: #fff; border-radius: 30px; padding: 30px 24px; display: grid; gap: 18px; position: relative; overflow: hidden; box-shadow: 0 24px 60px rgba(18,58,122,.28); }
.kennel::after { content: ""; position: absolute; left: -100px; bottom: -120px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(108,184,224,.4), transparent 65%); }
.kennel > * { position: relative; }
.kennel a:not(.btn) { color: #fff; }
.kennel .kicker { background: none; color: var(--sky); -webkit-background-clip: initial; background-clip: initial; }
.kennel p { color: rgba(255,255,255,.85); }
.kennel-logo { width: 84px; }
.avatars { display: flex; gap: 16px; margin: 18px 0 4px; }
.avatar { display: flex; flex-direction: column; align-items: center; gap: 6px; text-decoration: none; font-size: .85rem; }
.avatar img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(255,255,255,.7); box-shadow: 0 6px 16px rgba(0,0,0,.25); }
@media (min-width: 760px) { .kennel { grid-template-columns: 130px 1fr; padding: 48px; align-items: start; } .kennel-logo { width: 116px; } }

/* Kvíz */
.quiz { border-radius: 30px; padding: 24px 22px; }
.quiz-progress { height: 6px; background: rgba(47,111,214,.12); border-radius: 6px; overflow: hidden; }
.quiz-progress span { display: block; height: 100%; background: var(--grad-light); transform-origin: left; transform: scaleX(0); transition: transform .35s; }
.quiz-count { font-size: .85rem; color: var(--muted); margin: 14px 0 6px; }
.quiz-q { font-family: var(--serif-d); font-weight: 600; letter-spacing: -.02em; font-size: clamp(1.55rem, 6vw, 2.1rem); line-height: 1.22; min-height: 5.2em; margin-bottom: 18px; }
.quiz-answers { display: grid; gap: 10px; }
.quiz-answers .btn { min-height: 56px; font-size: 1.05rem; }
.quiz-back { background: none; border: 0; color: var(--muted); font: inherit; font-size: .9rem; margin-top: 14px; cursor: pointer; padding: 6px 0; }
.quiz-back[hidden] { display: none; }
.quiz-result { border-radius: 30px; padding: 26px 22px; }
.quiz-miss { list-style: none; padding: 0; margin: 12px 0 0; display: grid; gap: 10px; }
.quiz-miss li { background: var(--blue-soft); border-radius: 18px; padding: 14px 16px; display: grid; gap: 4px; }
.quiz-miss span { color: var(--muted); font-size: .95rem; }
.quiz-miss a { font-weight: 600; text-decoration: none; color: var(--blue); }
@media (min-width: 600px) { .quiz-answers { grid-template-columns: 1fr 1fr; } .quiz, .quiz-result { padding: 40px; } }

/* Článek */
.read-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 60; }
.read-progress span { display: block; height: 100%; background: var(--grad-light); transform-origin: left; transform: scaleX(0); }
.back { display: inline-block; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--blue); font-weight: 600; text-decoration: none; margin-bottom: 12px; }
.meta { color: var(--muted); font-size: .9rem; }
.prose { padding-bottom: 32px; font-size: 1.06rem; line-height: 1.75; overflow-wrap: break-word; }
.prose h2 { margin-top: 1.5em; font-size: 1.8rem; }
.prose h3 { margin-top: 1.5em; font-size: 1.4rem; }
.prose h4, .prose h5 { font-family: var(--sans); font-size: 1.05rem; font-weight: 600; margin-top: 1.4em; }
.prose figure { margin: 1.8em 0; }
.prose figure img, .prose > img { border-radius: 20px; margin: 0 auto; cursor: zoom-in; box-shadow: 0 12px 30px rgba(20,50,110,.1); }
.prose figcaption { font-size: .88rem; color: var(--muted); text-align: center; margin-top: .6em; }
.prose blockquote { margin: 1.5em 0; padding: 18px 22px; border-radius: 20px; background: var(--glass); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); position: relative; }
.prose blockquote::before { content: ""; position: absolute; left: 0; top: 16px; bottom: 16px; width: 3px; border-radius: 3px; background: var(--grad-light); }
.prose blockquote p:last-child { margin: 0; }
.prose ul, .prose ol { padding-left: 1.3em; } .prose li { margin: .3em 0; } .prose li::marker { color: var(--blue); }
.prose table { border-collapse: collapse; width: 100%; display: block; overflow-x: auto; font-size: .95rem; }
.prose td, .prose th { border: 1px solid var(--line); padding: 8px 10px; }
.prose hr { border: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(47,111,214,.3), transparent); margin: 2.4em 0; }
.prose .cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin: 1.5em 0; }
.prose .col > *:first-child { margin-top: 0; }
.prose .gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 6px; margin: 1.8em 0; }
.prose .gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 12px; cursor: zoom-in; background: #e6ecf5; }
.prose .btn { color: #fff; margin: .3em 0; }
.video { position: relative; aspect-ratio: 16/9; margin: 1.6em 0; } .video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 18px; }
.portrait { position: relative; margin: 8px 0 28px; }
.portrait img { width: 100%; aspect-ratio: 4/5; max-height: 640px; object-fit: cover; border-radius: 28px; box-shadow: 0 24px 60px rgba(20,50,110,.18); }
.portrait p { position: absolute; left: 12px; bottom: 12px; margin: 0; padding: 7px 14px; border-radius: 999px; font-size: .88rem; }
.next-prev { display: grid; gap: 10px; padding-bottom: 24px; }
.next { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 12px; background: var(--grad); color: #fff; border-radius: 24px; padding: 22px 24px; text-decoration: none; box-shadow: 0 18px 44px rgba(18,58,122,.25); }
.next:hover { color: #fff; }
.next small { grid-column: 1; color: var(--sky); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; }
.next strong { grid-column: 1; font-family: var(--serif-d); font-weight: 600; letter-spacing: -.02em; font-size: 1.4rem; }
.next .go { grid-column: 2; grid-row: 1 / 3; font-size: 1.5rem; color: #fff; }
.prev { color: var(--muted); text-decoration: none; font-size: .95rem; padding: 6px 2px; }
.author { display: flex; gap: 14px; align-items: center; border-top: 1px solid var(--line); padding-top: 20px; padding-bottom: 40px; font-size: .93rem; color: var(--muted); }
.author img { width: 56px; flex: none; }
.author p { margin: 0; }

/* Karty, štítky */
.cards { display: grid; gap: 12px; }
@media (min-width: 700px) { .cards { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; } }
.card { display: flex; border-radius: var(--radius); text-decoration: none; color: var(--ink); transition: transform .2s, box-shadow .2s; }
.card:hover { color: var(--ink); transform: translateY(-3px); box-shadow: 0 1px 0 #fff inset, 0 18px 40px rgba(20,50,110,.14); }
.card-body { padding: 20px 22px; display: flex; flex-direction: column; width: 100%; }
.card-body h3 { margin-bottom: .3em; }
.card-body p { color: var(--muted); font-size: .95rem; margin: 0; }
.card-body .more { margin-top: auto; padding-top: 12px; color: var(--blue); font-weight: 600; font-size: .9rem; }
.card-label { display: block; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--blue); font-weight: 600; margin-bottom: .4em; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.chips.scroll-x { flex-wrap: nowrap; overflow-x: auto; margin-right: -20px; padding: 2px 20px 8px 0; scrollbar-width: none; }
.chips.scroll-x::-webkit-scrollbar { display: none; }
.chip { flex: none; padding: .5em 1.05em; border-radius: 999px; text-decoration: none; font-size: .9rem; font-weight: 500; white-space: nowrap; }
.chip:hover { background: #fff; color: var(--blue); }
.chips.small .chip { font-size: .84rem; }
.badge { display: inline-block; background: var(--grad-light); color: #fff; font-size: .74rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding: .35em .95em; border-radius: 999px; margin-bottom: .8em; box-shadow: 0 4px 12px rgba(47,111,214,.3); }
.more-links { margin-top: 16px; }

/* Chov – psi, plán, vrhy */
.dogs { display: grid; gap: 14px; margin-top: 18px; }
@media (min-width: 800px) { .dogs { grid-template-columns: repeat(3, 1fr); gap: 18px; } }
.dog { border-radius: var(--radius); overflow: hidden; text-decoration: none; color: var(--ink); padding: 8px; transition: transform .2s; }
.dog:hover { color: var(--ink); transform: translateY(-3px); }
.dog img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 18px; }
.dog > div { padding: 14px 12px 12px; }
.dog p { color: var(--muted); font-size: .94rem; margin: 0; }
.plan { background: var(--grad); color: #fff; border-radius: 28px; padding: 26px 22px; box-shadow: 0 20px 50px rgba(18,58,122,.25); }
.plan p { color: rgba(255,255,255,.85); }
.plan .btn { background: #fff; color: var(--navy); }
.plan .btn-ghost { background: rgba(255,255,255,.14); color: #fff; border-color: rgba(255,255,255,.4); box-shadow: none; }
.stack { display: grid; gap: 16px; }
.dog-row, .litter { display: grid; border-radius: var(--radius); overflow: hidden; padding: 8px; }
.dog-row img, .litter img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 18px; }
.dog-row > div, .litter > div { padding: 18px 14px 18px; }
.litter.planned { background: var(--grad); color: #fff; border: 0; }
.litter.planned .btn { background: #fff; color: var(--navy); }
.litter.planned a:not(.btn) { color: #fff; }
@media (min-width: 800px) { .dog-row, .litter { grid-template-columns: 380px 1fr; } .dog-row img, .litter img { height: 100%; } .litter.planned { grid-template-columns: 1fr; } .dog-row > div, .litter > div { padding: 28px 32px; align-self: center; } }
.memory { display: grid; gap: 18px; border-radius: var(--radius); padding: 10px; }
.memory img { border-radius: 18px; filter: grayscale(.4); }
.memory > div { padding: 0 10px 10px; }
@media (min-width: 700px) { .memory { grid-template-columns: 220px 1fr; align-items: center; } }

/* Pro zájemce */
.section { padding: 40px 0; }
.section.wrap { padding-left: 20px; padding-right: 20px; }
.section-tint { background: linear-gradient(180deg, transparent, rgba(47,111,214,.07) 25%, rgba(47,111,214,.07) 75%, transparent); }
.split { display: grid; gap: 28px; }
@media (min-width: 860px) { .split { grid-template-columns: 1fr 1fr; gap: 64px; } .section { padding: 72px 0; } .section.wrap { padding-left: 32px; padding-right: 32px; } }
.h-small { font-size: 1.6rem; margin-bottom: 16px; }
.checks { list-style: none; padding: 0; margin: 0; }
.checks li { position: relative; padding: .6em 0 .6em 34px; border-bottom: 1px solid var(--line); }
.checks li:last-child { border: 0; }
.checks li::before { content: "✓"; position: absolute; left: 0; top: .65em; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: rgba(47,111,214,.12); color: var(--blue); font-size: .72rem; font-weight: 700; }
.steps { list-style: none; counter-reset: s; padding: 0; margin: 0; }
.steps li { counter-increment: s; position: relative; padding: 0 0 22px 58px; }
.steps li::before { content: counter(s); position: absolute; left: 0; top: -2px; width: 40px; height: 40px; border-radius: 50%; background: rgba(47,111,214,.1); color: var(--blue); display: grid; place-items: center; font-family: var(--serif-d); }
.steps li::after { content: ""; position: absolute; left: 19px; top: 42px; bottom: 2px; width: 2px; background: linear-gradient(180deg, rgba(47,111,214,.35), rgba(108,184,224,.1)); }
.steps li:last-child::after { display: none; }
.steps h3 { font-size: 1.2rem; margin-bottom: .2em; }
.steps p { color: var(--muted); margin: 0; font-size: .97rem; }
.contact-list { display: grid; gap: 8px; margin: 1.2em 0; }
.contact-list a { display: block; border-radius: 18px; padding: 12px 18px; text-decoration: none; font-weight: 600; word-break: break-word; }
.contact-list span { display: block; font-size: .76rem; color: var(--muted); font-weight: 400; }
.form { border-radius: 28px; padding: 22px; display: grid; gap: 14px; background: var(--glass-strong); }
.form label { display: grid; gap: 6px; font-size: .93rem; font-weight: 500; }
.form input:not([type=radio]), .form textarea { font: inherit; font-size: 16px; font-weight: 400; padding: .8em 1em; border: 1px solid rgba(4,13,42,.1); border-radius: 14px; background: rgba(255,255,255,.85); width: 100%; transition: border-color .2s, box-shadow .2s; }
.form input:focus, .form textarea:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 4px rgba(47,111,214,.15); }
.form fieldset { border: 0; padding: 0; margin: 0; display: flex; gap: 20px; flex-wrap: wrap; }
.form legend { font-size: .93rem; font-weight: 500; margin-bottom: 8px; width: 100%; }
.form .radio { display: flex; align-items: center; gap: 8px; font-weight: 400; }
.form input[type=radio] { accent-color: var(--blue); width: 20px; height: 20px; }
.form .btn { width: 100%; }
@media (min-width: 600px) { .form .btn { width: auto; justify-self: start; } }
.page-head .hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* CTA */
.cta { background: var(--grad); color: #fff; border-radius: 30px; padding: 30px 24px; margin: 24px 0 48px; display: grid; gap: 16px; position: relative; overflow: hidden; box-shadow: 0 24px 60px rgba(18,58,122,.25); }
.cta::after { content: ""; position: absolute; right: -80px; bottom: -120px; width: 300px; height: 300px; border-radius: 50%; background: radial-gradient(circle, rgba(108,184,224,.45), transparent 65%); }
.cta > * { position: relative; }
.cta p { color: rgba(255,255,255,.85); margin: 0; }
.cta-actions { display: flex; gap: 10px; flex-wrap: wrap; }
@media (min-width: 860px) { .cta { grid-template-columns: 1fr auto; align-items: center; padding: 48px; } }

/* Lightbox */
.lightbox { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; }
.lightbox::backdrop { background: rgba(240,245,252,.75); -webkit-backdrop-filter: blur(30px) saturate(160%); backdrop-filter: blur(30px) saturate(160%); }
.lightbox[open] { display: grid; place-items: center; }
.lightbox img { max-width: 94vw; max-height: 86vh; object-fit: contain; border-radius: 18px; box-shadow: 0 30px 80px rgba(10,30,80,.3); }
.lightbox button { position: fixed; color: var(--ink); width: 48px; height: 48px; border-radius: 50%; font-size: 26px; line-height: 1; cursor: pointer;
  background: rgba(255,255,255,.75); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); }
.lb-close { top: 14px; right: 14px; } .lb-prev { left: 10px; top: 50%; } .lb-next { right: 10px; top: 50%; }

/* Patička */
.footer { padding: 44px 0 24px; font-size: .93rem; color: var(--muted); background: rgba(255,255,255,.45); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border-top: 1px solid rgba(255,255,255,.8); }
.footer a { color: var(--ink); }
.footer-grid { display: grid; gap: 24px; }
@media (min-width: 760px) { .footer-grid { grid-template-columns: 2fr 1fr 1fr; gap: 40px; } }
.footer-logo { width: 80px; margin-bottom: 12px; }
.footer-h { color: var(--ink); font-weight: 600; margin-bottom: .4em; }
.footer-bottom { font-size: .8rem; margin-top: 20px; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { :root { --glass: rgba(255,255,255,.95); --glass-strong: #fff; } }

/* Osobní rukopis – ručně psané vpisky a uši z loga */
.script { font-family: "Allura", "Snell Roundhand", cursive; font-weight: 400; color: var(--blue); line-height: 1; margin: 0; letter-spacing: 0; }
.script-hero { font-size: clamp(2.2rem, 9vw, 3.4rem); margin: -.15em 0 .45em; }
.script-note { font-size: 1.75rem; margin: -.2em 0 .6em; }
.script-light { font-size: 1.9rem; color: var(--sky); margin-bottom: .2em; }
.story { display: grid; gap: 22px; align-items: center; }
.story img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 28px; box-shadow: 0 24px 60px rgba(20,50,110,.16); }
.story-title { font-size: clamp(2.1rem, 8vw, 3.2rem); line-height: 1.05; margin-bottom: .45em; }
.story-title span { color: var(--blue); }
@media (min-width: 860px) { .story { grid-template-columns: 1.1fr 1fr; gap: 56px; } }
.tabbar a { font-size: .64rem; padding: 0 2px; }
@media (min-width: 900px) and (max-width: 1320px) { .topnav a svg { display: none; } .topnav a { padding: 8px 10px; font-size: .88rem; } .brand span { display: none; } }

/* Zvýrazněná položka „Saarloos není výmluva“ */
.tabbar a[href="vlci-vikend.html"] { color: var(--blue); font-weight: 600; }
.tabbar a[href="vlci-vikend.html"] svg { width: 26px; height: 26px; padding: 4px; border-radius: 50%; background: var(--grad-light); stroke: #fff; stroke-width: 2; box-shadow: 0 4px 10px rgba(47,111,214,.35); }
@media (min-width: 900px) {
  .topnav a[href="vlci-vikend.html"] { background: var(--grad-light); color: #fff; font-weight: 600; box-shadow: 0 6px 16px rgba(47,111,214,.3); }
  .topnav a[href="vlci-vikend.html"]:hover { background: var(--grad); color: #fff; }
  .topnav a[href="vlci-vikend.html"][aria-current] { background: var(--grad); color: #fff; }
}

/* ===== Paleta Les a obloha (výchozí) ===== */
:root{--bg:#f2f5f0;--ink:#142b1e;--muted:#4f5e52;--navy:#142b1e;--blue:#4a6a37;--sky:#c6d6e6;--grad:linear-gradient(135deg,#142b1e 0%,#2c4424 55%,#4a5a24 100%);--grad-light:linear-gradient(135deg,#6b8556 0%,#7f9db6 100%);--blue-soft:rgba(127,157,182,.16);}
body{background:#f2f5f0}
body::before{background:radial-gradient(45vmax 45vmax at 10% 5%,rgba(198,214,230,.55),transparent 60%),radial-gradient(40vmax 40vmax at 95% 25%,rgba(107,133,86,.20),transparent 60%),radial-gradient(50vmax 50vmax at 60% 100%,rgba(74,90,36,.10),transparent 60%)}
.hero h1{background:linear-gradient(180deg,#142b1e 40%,#4a5a24);-webkit-background-clip:text;background-clip:text}
.topbar{background:color-mix(in srgb,#f2f5f0 75%,transparent)}
.btn:hover{background:#142b1e;filter:brightness(1.1)}
.ch-num,.num,.steps li::before,.checks li::before,.topnav a[aria-current]{background:rgba(127,157,182,.16);color:#4a6a37}
.tabbar a[aria-current]{color:#4a6a37}
.dot{background:#4a6a37}
.tabbar a[href="vlci-vikend.html"]{color:#4a6a37}
.tabbar a[href="vlci-vikend.html"] svg{box-shadow:none}
.topnav a[href="vlci-vikend.html"]{box-shadow:none}
.col-yes,.cta,.kennel,.next,.plan{box-shadow:0 20px 50px color-mix(in srgb,#142b1e 30%,transparent)}
.link,.go,.card-label,.fact-k,.back,.more,.prose li::marker{color:#4a6a37}

/* ===== Oddíl Mista Melmë – modrá z palety (prachově modrá) ===== */
body.oddil-chov { --bg: #f1f5f9; --ink: #15283d; --muted: #52637a; --navy: #1e3550; --blue: #3d6487; --sky: #c6d6e6;
  --grad: linear-gradient(135deg, #1e3550 0%, #345a7d 55%, #7f9db6 100%); --grad-light: linear-gradient(135deg, #5f86aa 0%, #a9c1d8 100%);
  --blue-soft: rgba(127,157,182,.18); background: #f1f5f9; }
body.oddil-chov::before { background: radial-gradient(45vmax 45vmax at 10% 5%, rgba(198,214,230,.6), transparent 60%), radial-gradient(40vmax 40vmax at 95% 25%, rgba(127,157,182,.22), transparent 60%), radial-gradient(50vmax 50vmax at 60% 100%, rgba(30,53,80,.10), transparent 60%); }
body.oddil-chov .hero h1, body.oddil-chov .page-head h1 { color: #15283d; }
body.oddil-chov .topbar { background: rgba(241,245,249,.75); }
body.oddil-chov .btn:hover { background: #1e3550; }
body.oddil-chov .ch-num, body.oddil-chov .num, body.oddil-chov .steps li::before, body.oddil-chov .checks li::before, body.oddil-chov .topnav a[aria-current] { background: rgba(127,157,182,.2); color: #3d6487; }
body.oddil-chov .tabbar a[aria-current] { color: #3d6487; }
body.oddil-chov .link, body.oddil-chov .go, body.oddil-chov .card-label, body.oddil-chov .fact-k, body.oddil-chov .back, body.oddil-chov .more, body.oddil-chov .prose li::marker, body.oddil-chov .dot { color: #3d6487; }
body.oddil-chov .cta, body.oddil-chov .plan, body.oddil-chov .litter.planned { box-shadow: 0 20px 50px rgba(30,53,80,.28); }
/* blok Mista Melmë na úvodní stránce je taky modrý */
.kennel { background: linear-gradient(135deg, #1e3550 0%, #345a7d 55%, #7f9db6 100%); box-shadow: 0 20px 50px rgba(30,53,80,.28); }
.kennel .kicker, .kennel .script-light { color: #c6d6e6; }

/* Nejčtenější články – dlaždice s fotkou */
.read-tiles { display: grid; grid-auto-flow: column; grid-auto-columns: 80%; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 20px; margin: 18px -20px 0; padding: 4px 20px 16px; scrollbar-width: none; }
.read-tiles::-webkit-scrollbar { display: none; }
.read-tile { scroll-snap-align: start; display: flex; flex-direction: column; border-radius: var(--radius); overflow: hidden; text-decoration: none; color: var(--ink); padding: 8px;
  background: var(--glass); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); transition: transform .2s; }
.read-tile:hover { color: var(--ink); transform: translateY(-3px); }
.read-tile img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 18px; }
.read-tile > div { padding: 14px 10px 10px; display: flex; flex-direction: column; flex: 1; }
.read-tile h3 { margin-bottom: .3em; }
.read-tile p { color: var(--muted); font-size: .94rem; margin: 0; }
.read-tile .more { margin-top: auto; padding-top: 12px; font-weight: 600; font-size: .9rem; }
@media (min-width: 800px) { .read-tiles { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); overflow: visible; margin: 18px 0 0; padding: 4px 0 16px; } }

/* Menší dlaždice „Letos se hodně čte“ */
.read-mini-h { margin: 18px 0 10px; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: var(--blue); }
.read-minis { display: grid; gap: 10px; margin-top: 4px; }
@media (min-width: 800px) { .read-minis { grid-template-columns: 1fr 1fr; gap: 14px; } }
.read-mini { display: flex; align-items: center; gap: 14px; padding: 8px 16px 8px 8px; border-radius: 20px; text-decoration: none; color: var(--ink);
  background: var(--glass); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); transition: transform .2s; }
.read-mini:hover { color: var(--ink); transform: translateY(-2px); }
.read-mini img { width: 84px; height: 84px; flex: none; object-fit: cover; border-radius: 14px; }
.read-mini > span:not(.go) { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
.read-mini small { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; color: var(--blue); }
.read-mini strong { font-size: 1rem; line-height: 1.3; }
.read-mini em { font-style: normal; font-size: .88rem; color: var(--muted); line-height: 1.4; }

/* Fotky pod „Saarloos v kostce“ */
.photo-strip { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 10px; }
.photo-strip img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius); box-shadow: 0 12px 30px rgba(20,50,30,.12); }
@media (min-width: 900px) { .photo-strip { grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 14px; } }

/* Citace majitelů – decentně zelená (doporučili by) a červená (nedoporučili by) */
.quote-yes { background: linear-gradient(180deg, rgba(92,140,72,.10), rgba(255,255,255,.65) 70%); border-color: rgba(92,140,72,.25); }
.quote-no  { background: linear-gradient(180deg, rgba(178,74,74,.09), rgba(255,255,255,.65) 70%); border-color: rgba(178,74,74,.22); }
.quote-yes figcaption, .quote-no figcaption { align-self: flex-start; padding: .3em .8em; border-radius: 999px; font-weight: 600; font-size: .78rem; }
.quote-yes figcaption { background: rgba(92,140,72,.14); color: #3f6a2e; }
.quote-no figcaption  { background: rgba(178,74,74,.12); color: #9a3c3c; }

/* Blok Mista Melmë na úvodu – nová struktura */
.kennel-v2 { display: block; }
.kennel-v2 .k-head { display: grid; gap: 14px; }
.kennel-v2 .k-lead { font-size: 1.05rem; max-width: 46rem; margin: 0; }
@media (min-width: 760px) { .kennel-v2 .k-head { grid-template-columns: 130px 1fr; align-items: center; gap: 28px; } }
.k-facts { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 10px; }
.k-facts li { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); border-radius: 18px; padding: 14px 16px; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.k-facts strong { display: block; font-size: 1.35rem; letter-spacing: -.02em; color: #fff; }
.k-facts span { font-size: .9rem; color: rgba(255,255,255,.8); line-height: 1.45; }
.k-facts a { color: #fff; }
@media (min-width: 760px) { .k-facts { grid-template-columns: repeat(3, 1fr); } }
.k-dogs { display: grid; gap: 12px; margin-top: 22px; }
.k-dog { display: flex; gap: 14px; align-items: center; text-decoration: none; color: #fff; background: rgba(255,255,255,.08); border-radius: 18px; padding: 8px; transition: background .2s; }
.k-dog:hover { background: rgba(255,255,255,.16); color: #fff; }
.k-dog img { width: 84px; height: 84px; object-fit: cover; border-radius: 14px; flex: none; }
.k-dog span { display: flex; flex-direction: column; gap: 1px; }
.k-dog strong { font-size: 1.1rem; }
.k-dog small { font-size: .78rem; color: rgba(255,255,255,.7); }
.k-dog em { font-style: normal; font-size: .9rem; color: rgba(255,255,255,.88); }
@media (min-width: 900px) {
  .k-dogs { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .k-dog { flex-direction: column; align-items: stretch; padding: 8px 8px 14px; }
  .k-dog img { width: 100%; height: auto; aspect-ratio: 4/3; border-radius: 14px; }
  .k-dog span { padding: 4px 8px 0; }
}
.k-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-top: 24px; }
.k-foot .actions { margin-top: 0; }
.k-plan { display: inline-flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; font-weight: 600; font-size: .95rem; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.3); padding: 9px 16px; border-radius: 999px; }
.k-plan:hover { color: #fff; background: rgba(255,255,255,.2); }
.k-plan .dot { background: #c6d6e6; box-shadow: 0 0 0 4px rgba(198,214,230,.25); }

/* Rozcestník chovu v modrém bloku */
.k-links { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
@media (min-width: 900px) { .k-links { grid-template-columns: repeat(4, 1fr); gap: 14px; } }
.k-link { position: relative; display: flex; flex-direction: column; text-decoration: none; color: #fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: 18px; padding: 6px 6px 12px; transition: background .2s, transform .2s; }
.k-link:hover { color: #fff; background: rgba(255,255,255,.18); transform: translateY(-2px); }
.k-link img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 13px; }
.k-link span:not(.go) { display: flex; flex-direction: column; padding: 10px 8px 0; }
.k-link strong { font-size: 1.02rem; line-height: 1.25; }
.k-link em { font-style: normal; font-size: .82rem; color: rgba(255,255,255,.75); margin-top: 2px; }
.k-link .go { position: absolute; right: 12px; bottom: 12px; color: rgba(255,255,255,.8); }

/* Sociální sítě v patičce */
.socials { display: flex; gap: 10px; margin-top: 14px; }
.socials a { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; color: var(--ink); text-decoration: none;
  background: var(--glass); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); transition: transform .2s, color .2s, background .2s; }
.socials a:hover { color: #fff; background: var(--blue); transform: translateY(-2px); }
.socials svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* Fotky ve sloupcích článků: vždy tři vedle sebe */
.prose .cols:has(> .col-media):not(:has(> .col:not(.col-media))) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-items: start; }
.prose .col-media figure { margin: 0; }
.prose .col-media img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.prose .col-media figcaption { font-size: .75rem; line-height: 1.35; }
@media (min-width: 700px) { .prose .cols:has(> .col-media):not(:has(> .col:not(.col-media))) { gap: 14px; } .prose .col-media figcaption { font-size: .8rem; } }

/* Jemný stín za fotkami v článcích */
.prose .col-media img, .prose figure img, .prose .gallery img { box-shadow: 0 6px 18px rgba(20, 45, 30, .14), 0 1px 3px rgba(20, 45, 30, .08); }
.prose .col-media img { border-radius: 16px; }

/* Fotky v článcích jako decentní tlačítko */
.prose .col-media img, .prose figure img, .prose .gallery img { cursor: zoom-in; transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s; }
@media (hover: hover) {
  .prose .col-media img:hover, .prose figure img:hover, .prose .gallery img:hover {
    transform: translateY(-3px); opacity: 1;
    box-shadow: 0 12px 28px rgba(20, 45, 30, .2), 0 2px 6px rgba(20, 45, 30, .1);
  }
}
.prose .col-media img:active, .prose figure img:active, .prose .gallery img:active { transform: translateY(0) scale(.98); box-shadow: 0 3px 10px rgba(20, 45, 30, .14); }

/* Stránka Vlčí víkend */
.event .hero-text h1 { margin-bottom: .15em; }
.ev-years { color: var(--muted); letter-spacing: .04em; margin: .2em 0 0; }
.ev-years strong { color: var(--blue); }
.ev-stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.ev-stats li { background: var(--grad); color: #fff; border-radius: var(--radius); padding: 18px 14px; text-align: center; box-shadow: 0 14px 34px rgba(20,43,30,.2); }
.ev-stats strong { display: block; font-size: clamp(1.9rem, 7vw, 3rem); letter-spacing: -.03em; line-height: 1.05; }
.ev-stats span { font-size: .9rem; color: rgba(255,255,255,.85); }
.ev-photos { grid-template-columns: repeat(3, 1fr) !important; margin-top: 14px; }
.ev-day, .ev-info { display: grid; gap: 12px; margin-top: 16px; }
@media (min-width: 760px) { .ev-day { grid-template-columns: repeat(3, 1fr); } .ev-info { grid-template-columns: 1fr 1fr; } .ev-info .ev-wide { grid-column: 1 / -1; } }
.ev-day > div, .ev-info > div { background: var(--glass); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border-radius: var(--radius); padding: 18px 20px; }
.ev-day h3 { margin: .25em 0 .3em; }
.ev-day p, .ev-info p { margin: 0; color: var(--muted); }
.ev-info p { color: var(--ink); }
.ev-time { font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: var(--blue); }
.ev-h3 { margin-top: 1.4em; }
.event .chips .chip { cursor: default; }
.event .chips .chip:hover { background: var(--glass); color: var(--ink); }
.ev-igs { display: grid; gap: 10px; margin-top: 14px; }
@media (min-width: 700px) { .ev-igs { grid-template-columns: 1fr 1fr; } }
.ev-ig { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--ink); background: var(--glass); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); border-radius: 18px; padding: 14px 18px; transition: transform .2s; }
.ev-ig:hover { color: var(--ink); transform: translateY(-2px); }
.ev-ig svg { width: 26px; height: 26px; flex: none; fill: none; stroke: var(--blue); stroke-width: 1.7; }
.ev-ig span:not(.go) { display: flex; flex-direction: column; flex: 1; }
.ev-ig small { color: var(--muted); font-size: .82rem; }
.ev-program { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.ev-program li { display: flex; gap: 14px; align-items: flex-start; background: var(--glass); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border-radius: 18px; padding: 14px 18px; }
.ev-check { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--grad); color: #fff; font-size: .8rem; font-weight: 700; margin-top: 2px; }
.ev-program li span:not(.ev-check) { display: flex; flex-direction: column; }
.ev-program em { font-style: normal; color: var(--muted); font-size: .93rem; }

/* Program po dnech */
.ev-schedule { display: grid; grid-auto-flow: column; grid-auto-columns: 82%; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 20px; margin: 16px -20px 0; padding: 4px 20px 16px; scrollbar-width: none; }
.ev-schedule::-webkit-scrollbar { display: none; }
.ev-dayc { scroll-snap-align: start; background: var(--glass); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border-radius: var(--radius); padding: 16px 16px 10px; }
.ev-dayh { display: flex; align-items: baseline; justify-content: space-between; margin: 0 0 10px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.ev-dayh strong { font-size: 1.15rem; letter-spacing: -.01em; }
.ev-dayh span { color: var(--blue); font-weight: 600; font-size: .9rem; }
.ev-dayc ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ev-dayc li { display: grid; grid-template-columns: 54px 1fr; gap: 8px; font-size: .92rem; line-height: 1.4; }
.ev-dayc time { color: var(--blue); font-weight: 600; font-size: .82rem; padding-top: 1px; }
.ev-dayc li.meal { color: var(--muted); font-size: .82rem; }
.ev-dayc li.meal time { color: var(--muted); font-weight: 500; }
@media (min-width: 1000px) { .ev-schedule { grid-auto-flow: row; grid-template-columns: repeat(5, 1fr); overflow: visible; margin: 16px 0 0; padding: 4px 0 16px; } .ev-dayc li { grid-template-columns: 1fr; gap: 0; } }
.ev-dayc li.wide { grid-template-columns: 1fr; gap: 0; }

/* Mista Melmë – rozcestník chovu (chov.html) */
.mm-head .script { margin: -.25em 0 .5em; font-size: clamp(1.9rem, 6vw, 2.4rem); line-height: 1.1; }
.mm-facts { list-style: none; padding: 0; margin: 22px 0 6px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
@media (min-width: 700px) { .mm-facts { grid-template-columns: repeat(4, 1fr); } }
.mm-facts li { background: var(--glass); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); border-radius: 18px; padding: 12px 14px; display: flex; flex-direction: column; }
.mm-facts b { font-size: 1.35rem; font-weight: 600; letter-spacing: -.02em; color: var(--navy); line-height: 1.2; }
.mm-facts span { font-size: .82rem; color: var(--muted); }
.mm-toc { margin-top: 16px; }
.mm-sec { scroll-margin-top: 80px; }
.mm-sec-head { max-width: 40rem; }
.mm-intro { color: var(--muted); margin: 0 0 4px; }
.mm-litters, .mm-studs { display: grid; gap: 14px; margin-top: 18px; }
@media (min-width: 800px) { .mm-litters, .mm-studs { grid-template-columns: repeat(3, 1fr); gap: 18px; } }
.mm-litter, .mm-stud { display: flex; flex-direction: column; border-radius: var(--radius); text-decoration: none; color: var(--ink); background: var(--glass); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); transition: transform .2s, box-shadow .2s; }
.mm-litter { padding: 20px 22px; }
.mm-litter:hover, .mm-stud:hover { color: var(--ink); transform: translateY(-3px); box-shadow: 0 1px 0 #fff inset, 0 18px 40px rgba(30,53,80,.14); }
.mm-litter h3, .mm-stud h3 { font-size: 1.2rem; margin-bottom: .35em; }
.mm-litter p, .mm-stud p { color: var(--muted); font-size: .94rem; margin: 0; }
.mm-litter .more { margin-top: auto; padding-top: 14px; font-weight: 600; font-size: .9rem; }
.mm-litter-plan { background: var(--grad); color: #fff; border: 0; }
.mm-litter-plan:hover { color: #fff; }
.mm-litter-plan h3, .mm-litter-plan .card-label, .mm-litter-plan .more { color: #fff !important; }
.mm-litter-plan p { color: rgba(255,255,255,.82); }
.mm-stats { display: flex; gap: 10px; margin: 14px 0 0; }
.mm-stats div { flex: 1; background: rgba(127,157,182,.14); border-radius: 12px; padding: 8px 12px; }
.mm-stats dt { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.mm-stats dd { margin: 0; font-weight: 600; font-size: 1.05rem; }
.mm-rules { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 10px; }
.mm-rules li { background: var(--glass); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); border-radius: 18px; padding: 14px 18px 14px 50px; position: relative; color: var(--muted); font-size: .96rem; }
.mm-rules li::before { content: "✓"; position: absolute; left: 16px; top: 13px; width: 24px; height: 24px; border-radius: 50%; background: rgba(127,157,182,.2); color: #3d6487; display: grid; place-items: center; font-size: .8rem; font-weight: 700; }
.mm-rules strong { color: var(--ink); }
.mm-steps { list-style: none; counter-reset: k; padding: 0; margin: 18px 0 0; display: grid; gap: 8px; }
@media (min-width: 700px) { .mm-steps { grid-template-columns: 1fr 1fr; } .mm-steps li:last-child { grid-column: 1 / -1; } }
.mm-steps li { counter-increment: k; display: flex; flex-direction: column; background: var(--glass); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); border-radius: 16px; padding: 12px 16px 12px 54px; position: relative; }
.mm-steps li::before { content: counter(k); position: absolute; left: 14px; top: 12px; width: 28px; height: 28px; border-radius: 50%; background: rgba(127,157,182,.2); color: #3d6487; display: grid; place-items: center; font-weight: 600; font-size: .88rem; }
.mm-steps strong { font-size: .98rem; }
.mm-steps span { color: var(--muted); font-size: .9rem; line-height: 1.45; }
.mm-actions { margin-top: 18px; }
.mm-stud { padding: 8px; overflow: hidden; }
.mm-stud img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 18px; }
.mm-stud > div { padding: 14px 14px 12px; }
.mm-stud h3 small { font-weight: 500; color: var(--muted); font-size: .85em; }
.mm-stud .mm-health { margin-top: 10px; font-size: .82rem; color: #3d6487; font-weight: 500; }
.mm-faq { margin-top: 16px; display: grid; gap: 8px; }
.mm-faq details { background: var(--glass); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); border-radius: 16px; padding: 0 18px; }
.mm-faq summary { cursor: pointer; list-style: none; padding: 15px 28px 15px 0; font-weight: 600; position: relative; }
.mm-faq summary::-webkit-details-marker { display: none; }
.mm-faq summary::after { content: "+"; position: absolute; right: 0; top: 12px; font-size: 1.3rem; font-weight: 400; color: #3d6487; transition: transform .2s; }
.mm-faq details[open] summary::after { transform: rotate(45deg); }
.mm-faq details p { margin: 0 0 16px; color: var(--muted); font-size: .95rem; }
@media (min-width: 700px) { .mm-toc.scroll-x { flex-wrap: wrap; overflow: visible; margin-right: 0; padding-right: 0; } }
.mm-hero { display: grid; gap: 22px; align-items: center; }
@media (min-width: 900px) { .mm-hero { grid-template-columns: 1.15fr 1fr; gap: 44px; } }
.mm-hero .lead strong { color: var(--ink); font-weight: 600; }
.mm-lead2 { color: var(--muted); margin: 0; }
.mm-hero-img { margin: 0; }
.mm-hero-img img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 28px; box-shadow: 0 24px 60px rgba(30,53,80,.18); }
@media (max-width: 899px) { .mm-hero-img img { aspect-ratio: 4/3; } }
.mm-sec .mm-facts { margin-top: 16px; }

/* Vrh C – plánovaný vrh */
.vc-sec { margin-top: 40px; }
.vc-parents { display: grid; gap: 16px; margin-top: 14px; }
@media (min-width: 760px) { .vc-parents { grid-template-columns: 1fr 1fr; } }
.vc-parent { display: flex; flex-direction: column; border-radius: var(--radius); padding: 8px; background: var(--glass); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); }
.vc-parent img, .vc-ph { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 18px; }
.vc-ph { display: grid; place-items: center; background: linear-gradient(135deg, rgba(127,157,182,.25), rgba(198,214,230,.5)); color: var(--muted); font-size: .9rem; }
.vc-body { padding: 14px 14px 12px; display: flex; flex-direction: column; gap: 8px; }
.vc-body h3 { font-size: 1.2rem; margin: 0; }
.vc-body h3 small { font-weight: 500; color: var(--muted); font-size: .85em; }
.vc-body p { margin: 0; font-size: .95rem; color: var(--muted); }
.vc-meta { font-size: .84rem !important; }
.vc-tags { list-style: none; padding: 0; margin: 4px 0; display: flex; flex-wrap: wrap; gap: 6px; }
.vc-tags li { font-size: .78rem; font-weight: 600; padding: .3em .7em; border-radius: 999px; background: rgba(76,150,96,.12); color: #2f6b3f; }
.vc-tags li.warn { background: rgba(214,160,40,.16); color: #8a5a00; }
.vc-intro { color: var(--muted); }
.vc-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 16px 0 10px; }
@media (min-width: 700px) { .vc-stats { grid-template-columns: repeat(3, 1fr); } }
.vc-stats div { background: var(--glass); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); border-radius: 16px; padding: 12px 14px; }
.vc-stats dt { font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.vc-stats dd { margin: 2px 0 0; font-size: 1.35rem; font-weight: 600; letter-spacing: -.02em; }
.vc-stats small { font-size: .78rem; color: #3d6487; }
.vc-note { font-size: .85rem; color: var(--muted); }
.vc-health { list-style: none; padding: 0; margin: 14px 0 0; display: grid; gap: 8px; }
.vc-health li { display: flex; flex-direction: column; background: var(--glass); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); border-radius: 16px; padding: 12px 16px; }
.vc-health span { color: var(--muted); font-size: .93rem; }
.page-head .badge + h1 { margin-top: 0; }
.page-head .back + .badge { display: table; margin-top: 14px; }
.vc-dates { margin-bottom: 18px; }
.vc-vize { padding-bottom: 0; } .vc-vize h2 { margin-top: 0; font-size: clamp(1.7rem, 6vw, 2.5rem); }
.vc-sub { font-size: 1.05rem; letter-spacing: .02em; color: #3d6487; margin: 22px 0 0; font-weight: 600; } .vc-sub + .vc-health { margin-top: 10px; }
.vc-timeline { margin: 20px 0 22px; }
@media (min-width: 700px) { .vc-timeline { grid-template-columns: repeat(4, 1fr); } }
.vc-timeline dd { font-size: 1.12rem; line-height: 1.25; margin-top: 4px; }
.vc-timeline dt { font-size: .7rem; }
.vc-hero-img { margin-top: 28px; margin-bottom: 0; }
.vc-hero-img img { width: 100%; aspect-ratio: 3/2; object-fit: cover; object-position: 70% 60%; border-radius: 26px; box-shadow: 0 24px 60px rgba(30,53,80,.18); }
@media (max-width: 699px) { .vc-hero-img img { aspect-ratio: 4/3; } }
.vc-flag { display: inline-block; width: 1.5em; height: 1em; vertical-align: -0.15em; margin-left: .35em; border-radius: 2px; box-shadow: 0 0 0 1px rgba(21,40,61,.12); }

/* Rodokmen štěňat (vrh C) */
.vc-ped { max-width: 1040px; }
.ped { display: grid; gap: 18px; margin-top: 14px; }
.ped-title { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: #3d6487; margin: 0 0 8px; }
.ped-grid { display: grid; gap: 6px; }
.ped-c { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; background: var(--glass); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); border-radius: 14px; padding: 9px 14px; }
.ped-c small { flex-basis: 100%; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.ped-c strong { font-size: .92rem; font-weight: 600; line-height: 1.3; }
.ped-c .vc-flag { margin-left: 0; }
.ped-c.g1 { background: var(--grad); color: #fff; border: 0; }
.ped-c.g1 small { color: rgba(255,255,255,.75); }
/* mobil: odsazený seznam */
.ped-c.g2 { margin-left: 16px; }
.ped-c.g3 { margin-left: 32px; padding-top: 7px; padding-bottom: 7px; }
.ped-c.g3 strong { font-size: .86rem; }
@media (min-width: 800px) {
  .ped-grid { grid-template-columns: 1fr 1fr 1fr; grid-template-rows: repeat(4, auto); grid-auto-flow: column; }
  .ped-c { margin-left: 0 !important; }
  .ped-c.g1 { grid-row: 1 / span 4; }
  .ped-c.g2 { grid-column: 2; }
  .ped-c.g2.r0 { grid-row: 1 / span 2; } .ped-c.g2.r1 { grid-row: 3 / span 2; }
  .ped-c.g3 { grid-column: 3; }
  .ped-c.g3.r0 { grid-row: 1; } .ped-c.g3.r1 { grid-row: 2; } .ped-c.g3.r2 { grid-row: 3; } .ped-c.g3.r3 { grid-row: 4; }
}
.vc-den { font-size: .8rem; color: var(--muted); margin-left: .4em; } .vc-denik p + p { margin-top: .3em; }

/* Přepínač jazyka (vlajka v horní liště) */
.lang { display: inline-flex; align-items: center; gap: 6px; flex: none; padding: 7px 11px; border-radius: 999px; text-decoration: none; font-size: .8rem; font-weight: 600; letter-spacing: .04em; color: var(--ink); background: var(--glass-strong); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); }
.lang:hover { background: #fff; color: var(--ink); }
.lang .vc-flag { margin-left: 0; width: 1.45em; height: 1em; }
.topbar-inner { gap: 10px; }
@media (min-width: 900px) { .topnav { margin-left: auto; } }
.cz-only { font-size: .78em; font-weight: 500; color: var(--muted); white-space: nowrap; }
.topnav a { white-space: nowrap; } .brand { flex: none; } @media (min-width: 900px) { .topnav { min-width: 0; } }
.vc-pribeh h3 { margin-top: 1.4em; font-size: 1.3rem; }
/* dlaždice termínů u vrhu C – stejná výška popisků i hodnot */
.vc-timeline div { display: flex; flex-direction: column; justify-content: flex-start; }
.vc-timeline dt { font-size: .66rem; letter-spacing: .05em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vc-timeline dd { font-size: clamp(.98rem, 1.5vw, 1.08rem); white-space: nowrap; margin-top: 6px; }
@media (min-width: 900px) { .page-head .vc-timeline { margin-left: -40px; margin-right: -40px; } }
.vc-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 700px) { .vc-timeline { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 420px) { .vc-timeline div { padding: 11px 12px; } .vc-timeline dd { font-size: .94rem; } }

/* Zkušenosti majitelů – odpovědi podle otázek / podle majitelů */
.ow { margin-top: 28px; scroll-margin-top: 80px; }
.ow-switch { display: inline-flex; padding: 4px; border-radius: 999px; background: var(--glass); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); }
.ow-switch button { border: 0; background: transparent; font: inherit; font-size: .9rem; font-weight: 600; padding: 8px 16px; border-radius: 999px; color: var(--muted); cursor: pointer; }
.ow-switch button[aria-selected="true"] { background: #fff; color: var(--ink); box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.ow-chips { margin: 18px 0 6px; }
.prose .ow-chips a { text-decoration: none; }
.ow-chips .chip.on { background: var(--ink); color: #fff; }
.ow-q h2 { font-size: clamp(1.3rem, 4.5vw, 1.7rem); margin-top: 22px; }
.ow-count { color: var(--muted); font-size: .88rem; margin: -6px 0 14px; }
.ow-grid { columns: 1; column-gap: 14px; }
@media (min-width: 720px) { .ow-grid { columns: 2; } }
.ow-card { break-inside: avoid; margin: 0 0 14px; padding: 14px 18px 16px; border-radius: 18px; background: var(--glass); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); }
.ow-card figcaption { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; color: var(--muted); margin-bottom: 6px; }
.prose .ow-card blockquote { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.prose .ow-card blockquote::before, .prose .ow-card blockquote::after { content: none; }
.prose .ow-card blockquote p { margin: 0; font-size: .97rem; line-height: 1.6; font-style: normal; }
.ow-tag { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: .15em .6em; border-radius: 999px; margin-right: .5em; vertical-align: .1em; }
.ow-yes { background: rgba(76,150,96,.16); color: #2f6b3f; } .ow-no { background: rgba(200,70,60,.14); color: #a3352b; } .ow-maybe { background: rgba(120,130,140,.16); color: #4f5a66; }
.ow-owner { margin: 0 0 10px; border-radius: 18px; background: var(--glass); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); }
.ow-owner summary { list-style: none; cursor: pointer; padding: 14px 44px 14px 18px; position: relative; display: flex; flex-direction: column; gap: 2px; }
.ow-owner summary::-webkit-details-marker { display: none; }
.ow-owner summary::after { content: "+"; position: absolute; right: 18px; top: 12px; font-size: 1.3rem; color: var(--muted); transition: transform .2s; }
.ow-owner[open] summary::after { transform: rotate(45deg); }
.ow-owner summary span { font-size: .9rem; color: var(--muted); }
.ow-owner dl { margin: 0; padding: 0 18px 16px; }
.ow-owner dt { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; color: var(--muted); margin-top: 14px; }
.ow-owner dd { margin: 4px 0 0; font-size: .97rem; line-height: 1.6; }
.prose .ow-card { margin: 0 0 14px; display: block; } .prose .ow-card figcaption { text-align: left; margin: 0 0 6px; font-size: .72rem; } .prose .ow-q h2 { margin-top: 22px; }

/* Vlčí víkend – jednotná šířka a menší mezery mezi sekcemi */
.event .block { padding-top: 22px; padding-bottom: 22px; }
@media (min-width: 900px) { .event .block { padding-top: 32px; padding-bottom: 32px; } }
.event .block.wrap, .event .block.wrap.narrow { max-width: 860px; }
.event .prose { padding-bottom: 0; }
.event .block > h2:first-child, .event .block > .prose:first-child > h2:first-child, .event .prose > h2:first-child { margin-top: 0; }
.event .prose h3 { margin-top: 1.2em; }
.event .prose p:last-child { margin-bottom: 0; }
.event .hero-text { padding-bottom: 8px; }
@media (min-width: 1000px) { .event .ev-schedule { grid-template-columns: repeat(3, 1fr); } .event .ev-dayc li { grid-template-columns: 50px 1fr; gap: 8px; } }
.event .ev-dayc li.wide { grid-template-columns: 1fr; gap: 0; }
/* spodní lišta: „Saarloos není výmluva“ max. na dva řádky */
.tabbar a[href="vlci-vikend.html"] svg { width: 23px; height: 23px; padding: 3px; }
.tabbar a span { text-wrap: balance; }
.tabbar a[href="vlci-vikend.html"] span { font-size: .6rem; letter-spacing: -.01em; }

/* Štěňata vrhů A a B – jednotné karty */
.pup-wrap { max-width: 1040px; }
.pup-stats { margin-top: 6px; }
@media (min-width: 700px) { .pup-stats { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.pup-stats dd { font-size: 1.15rem; }
.pup-actions { margin: 16px 0 6px; }
.pup-note { color: var(--muted); font-size: .9rem; margin: 10px 0 0; }
.pups { display: grid; gap: 16px; margin: 18px 0 40px; }
@media (min-width: 640px) { .pups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 980px) { .pups { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pup { display: flex; flex-direction: column; border-radius: var(--radius); padding: 8px; background: var(--glass); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow); }
.pup > img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: center 30%; border-radius: 18px; cursor: zoom-in; }
.pup-body { padding: 14px 12px 10px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.pup h3 { font-size: 1.2rem; margin: 0; }
.pup h3 a { text-decoration: none; color: var(--ink); }
.pup-meta { margin: 0; color: var(--muted); font-size: .9rem; display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.pup-meta .vc-flag { margin-left: 2px; }
.pup .vc-tags { margin: 2px 0 0; }
.pup-notes { margin: 0; font-size: .86rem; color: var(--muted); }
.pup-emb, .pup-more { font-size: .88rem; }
.pup-more { margin-top: auto; }
.vc-rodice { margin-top: 18px; margin-bottom: 26px; } .vc-parent > img { cursor: zoom-in; }
.vc-parent > img { aspect-ratio: 2/3; object-position: center 35%; }
/* Krycí psi */
.stud-sec { max-width: 1100px; margin-top: 10px; margin-bottom: 30px; }
@media (min-width: 980px) { .stud-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.stud-links { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: auto; padding-top: 4px; font-size: .9rem; }
.vc-parent .vc-body { flex: 1; }
