/* =========================================================
   IRON DOGS — sdílený stylopis (motoklub, od 2007)
   Koncept: "servisní příručka / palubní deník"
   ========================================================= */
:root{
  --paper:#ece6d8;
  --paper-2:#e3dccb;
  --ink:#2b333b;
  --ink-soft:#5a6570;
  --steel:#2f3a44;
  --graphite:#16181c;
  --graphite-2:#1f242a;
  --chrome:#cfd3d6;
  --rust:#c8551d;
  --rust-deep:#9c3d10;
  --amber:#e8951f;
  --line:#c3bba7;
  --line-dark:#3a424b;
  --radius:3px;
  --wrap:1160px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Barlow",system-ui,-apple-system,sans-serif;
  background:var(--paper);
  color:var(--ink);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:"Anton",Impact,sans-serif;font-weight:400;letter-spacing:.5px;line-height:.98;margin:0;text-transform:uppercase;}
a{color:inherit;}
img{max-width:100%;display:block;}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;}

/* ---------- eyebrow ---------- */
.eyebrow{
  font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.28em;
  font-size:.72rem;font-weight:600;color:var(--rust);display:inline-flex;align-items:center;gap:12px;
}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--rust);display:inline-block;}

/* ---------- top bar / nav ---------- */
header.top{
  position:sticky;top:0;z-index:50;background:rgba(22,24,28,.96);
  border-bottom:1px solid var(--line-dark);color:var(--chrome);
}
.topbar{display:flex;align-items:center;justify-content:space-between;height:64px;}
.brand{display:flex;align-items:center;gap:12px;font-family:"Anton",sans-serif;font-size:1.35rem;letter-spacing:1px;color:#fff;text-decoration:none;text-transform:uppercase;}
/* původní klubové logo z hlavičky starého webu (kolečko IRON DOGS chopper club) */
.brand-logo{width:38px;height:38px;flex:none;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.25);}
nav.main{display:flex;gap:2px;}
nav.main a{
  font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:500;
  color:var(--chrome);text-decoration:none;padding:8px 12px;border-radius:var(--radius);transition:.15s;white-space:nowrap;
}
nav.main a:hover{color:#fff;background:rgba(200,85,29,.22);}
nav.main a.active{color:#fff;background:var(--rust);}
.menu-btn{display:none;background:none;border:1px solid var(--line-dark);color:var(--chrome);font-family:"Oswald";letter-spacing:.1em;text-transform:uppercase;padding:8px 12px;border-radius:var(--radius);cursor:pointer;}

/* ---------- hero (jen úvod) ---------- */
.hero{
  position:relative;
  background:
    radial-gradient(120% 80% at 78% -10%, rgba(200,85,29,.30), transparent 55%),
    radial-gradient(90% 70% at 12% 120%, rgba(46,58,68,.6), transparent 60%),
    linear-gradient(180deg,#14161a 0%,#1c2026 100%);
  color:var(--chrome);overflow:hidden;border-bottom:3px solid var(--rust);
}
/* Stopa pneumatiky (nahrazuje původní pruh oranžových čárek).
   stopa.png se generuje proceduralně (stopa4.py): MOKRÁ stopa po projetí louží —
   moto dezén (hrubé bloky + klikatá drážka jako Dunlop TT100; jemné pravidelné
   rýhy = guma z auta!) a obálka vody podél jízdy, která řídí sytost otisku.
   Stopa nikdy nezmizí úplně — všude zůstává slabý "duch" dezénu, protože je to
   oddělovač hero/aktualita a díra by působila jako chyba.
   Dlaždice 2880×102 se zobrazuje na 960×34 => ostré na retině; dlouhá schválně,
   aby nebylo znát opakování. Bezešvá (perioda drážek dělí šířku, šum 'wrap'). */
.hero::after,.page-head::after{content:"";position:absolute;left:0;right:0;bottom:0;
  background-image:url(stopa.png);background-repeat:repeat-x;opacity:.62;}
.hero::after{height:34px;background-size:960px 34px;}
.hero-inner{padding:74px 24px 92px;display:grid;grid-template-columns:1.35fr .9fr;gap:48px;align-items:center;}
.hero-tag{font-family:"Oswald";text-transform:uppercase;letter-spacing:.3em;font-size:.72rem;color:var(--amber);margin-bottom:22px;}
.plate{display:inline-block;position:relative;padding:10px 6px;}
.plate h1{
  font-size:clamp(3.4rem,11vw,8.2rem);color:#e9edf0;letter-spacing:2px;
  text-shadow:0 1px 0 #5a6570,0 2px 0 #4a535c,0 3px 0 #3b444c,0 4px 6px rgba(0,0,0,.55),0 -1px 0 rgba(255,255,255,.15);
}
.plate .sub{font-family:"Oswald";text-transform:uppercase;letter-spacing:.42em;font-size:clamp(.7rem,1.6vw,1rem);color:var(--rust);font-weight:600;margin-top:6px;padding-left:6px;}
.hero p.lead{font-size:1.18rem;color:#c2c8cd;max-width:44ch;margin:26px 0 30px;line-height:1.6;}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap;}

/* nowrap: bez toho se na úzkém displeji zalomí šipka pod text ("OSAZENSTVO" / "→") */
.btn{font-family:"Oswald";text-transform:uppercase;letter-spacing:.14em;font-weight:600;font-size:.85rem;text-decoration:none;padding:14px 26px;border-radius:var(--radius);display:inline-flex;align-items:center;gap:10px;white-space:nowrap;transition:.18s;cursor:pointer;}
.btn-solid{background:var(--rust);color:#fff;border:1px solid var(--rust);}
.btn-solid:hover{background:var(--rust-deep);transform:translateY(-2px);}
.btn-ghost{border:1px solid #566069;color:var(--chrome);}
.btn-ghost:hover{border-color:var(--amber);color:#fff;}

.spec{background:linear-gradient(160deg,rgba(47,58,68,.55),rgba(20,22,26,.7));border:1px solid var(--line-dark);border-radius:var(--radius);padding:26px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
.spec h4{font-family:"Oswald";text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:var(--amber);margin:0 0 16px;border-bottom:1px dashed #4a535c;padding-bottom:12px;}
.spec dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:12px 14px;}
.spec dt{font-family:"Oswald";text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;color:#8a949d;align-self:center;}
.spec dd{margin:0;text-align:right;font-weight:700;color:#eef1f3;font-size:1.05rem;}
.spec dd small{color:var(--rust);font-weight:700;}

/* ---------- page header (podstránky) ---------- */
.page-head{
  position:relative;color:var(--chrome);border-bottom:3px solid var(--rust);
  background:radial-gradient(120% 120% at 85% -20%, rgba(200,85,29,.25), transparent 55%),linear-gradient(180deg,#14161a,#1c2026);
}
/* stejná stopa jako v hero, jen nižší (hlavička podstránky je menší) — viz .hero::after.
   Poměr dlaždice musí zůstat (960/34 ≈ 678/24), jinak se dezén svisle zdeformuje. */
.page-head::after{height:24px;background-size:678px 24px;}
.page-head .inner{padding:60px 24px 66px;}
.page-head h1{font-size:clamp(2.6rem,7vw,5rem);color:#e9edf0;letter-spacing:1.5px;margin:16px 0 0;
  text-shadow:0 1px 0 #4a535c,0 2px 0 #3b444c,0 3px 6px rgba(0,0,0,.5);}
.page-head p{color:#c2c8cd;max-width:56ch;margin:16px 0 0;font-size:1.1rem;}
.page-head .eyebrow{color:var(--amber);}
.page-head .eyebrow::before{background:var(--amber);}
.crumb{font-family:"Oswald";text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:#7f8992;position:absolute;top:20px;left:24px;}
.crumb a{color:#7f8992;text-decoration:none;}
.crumb a:hover{color:var(--rust);}

/* ---------- section ---------- */
section{padding:80px 0;position:relative;}
section.tight{padding:64px 0;}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:44px;flex-wrap:wrap;}
.sec-head h2{font-size:clamp(2rem,5vw,3.2rem);color:var(--steel);margin-top:14px;}
.sec-no{font-family:"Anton";font-size:clamp(2.4rem,6vw,4rem);color:transparent;-webkit-text-stroke:2px var(--line);letter-spacing:2px;line-height:1;}
.divider{height:1px;background:repeating-linear-gradient(90deg,var(--line) 0 8px,transparent 8px 16px);}

/* dark section variant */
.dark{background:var(--graphite);color:var(--chrome);}
.dark .sec-head h2{color:#eef1f3;}
.dark .sec-no{-webkit-text-stroke:2px #39424b;}
.dark .eyebrow{color:var(--amber);}
.dark .eyebrow::before{background:var(--amber);}
.dark .log{border-top-color:var(--line-dark);}
.dark .log-row{border-bottom-color:var(--line-dark);}
.dark .log-row:hover{background:var(--graphite-2);}
.dark .log-main h3{color:#eef1f3;}
.dark .log-main p{color:#9aa4ad;}
.dark .log-date small{color:#8a949d;}
.dark .log-tag{color:#cfd3d6;border-color:var(--line-dark);}

/* ---------- about ---------- */
.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start;}
.about-grid p{margin:0 0 18px;color:#3d4750;}
.about-grid p.big{font-size:1.28rem;line-height:1.55;color:var(--steel);font-weight:500;}
.pull{border-left:4px solid var(--rust);padding:20px 24px;background:var(--paper-2);border-radius:0 var(--radius) var(--radius) 0;}
.pull p{margin:0;font-size:1.15rem;font-style:italic;color:var(--steel);}
.stat-stack{display:grid;gap:14px;}
.stat{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;display:flex;align-items:baseline;justify-content:space-between;gap:16px;}
.stat b{font-family:"Anton";font-size:2rem;color:var(--rust);letter-spacing:1px;}
.stat span{font-family:"Oswald";text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:var(--ink-soft);text-align:right;}

/* ---------- kodex ---------- */
.kodex-list{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line-dark);border:1px solid var(--line-dark);border-radius:var(--radius);overflow:hidden;}
.kodex-item{background:var(--graphite-2);padding:30px 28px;display:flex;gap:20px;}
.kodex-item .k-no{font-family:"Anton";font-size:2.2rem;color:var(--rust);line-height:1;flex:none;width:2ch;}
.kodex-item h3{font-size:1.15rem;color:#fff;margin-bottom:8px;letter-spacing:.4px;}
.kodex-item p{margin:0;color:#9aa4ad;font-size:.98rem;}

/* ---------- members ---------- */
.member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;}
.member{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-align:center;transition:.18s;}
.member:hover{transform:translateY(-3px);border-color:var(--rust);}
.member .badge{width:74px;height:74px;margin:0 auto 14px;border-radius:50%;background:linear-gradient(160deg,var(--steel),var(--graphite));color:var(--chrome);display:grid;place-items:center;font-family:"Anton";font-size:1.5rem;border:2px solid var(--rust);}
.member h3{font-size:1.15rem;color:var(--steel);letter-spacing:.5px;}
.member .role{font-family:"Oswald";text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--rust);display:block;margin-top:4px;}
.member p{font-size:.9rem;color:var(--ink-soft);margin:10px 0 0;}
.member.join{border-style:dashed;display:grid;place-content:center;background:none;}
.member.join a{font-family:"Oswald";text-transform:uppercase;letter-spacing:.12em;color:var(--rust);text-decoration:none;font-weight:600;}
.member.join .plus{font-size:2.2rem;line-height:1;margin-bottom:6px;display:block;}

/* ---------- events / logbook ---------- */
.log{border-top:2px solid var(--steel);}
.log-row{display:grid;grid-template-columns:130px 1fr auto;gap:24px;align-items:center;padding:24px 4px;border-bottom:1px solid var(--line);transition:.15s;}
.log-row:hover{background:var(--paper-2);}
.log-date{font-family:"Anton";color:var(--rust);font-size:1.05rem;letter-spacing:.5px;line-height:1.1;}
.log-date small{display:block;font-family:"Oswald";color:var(--ink-soft);letter-spacing:.15em;font-size:.68rem;font-weight:500;}
.log-main h3{font-size:1.2rem;color:var(--steel);margin-bottom:4px;}
.log-main p{margin:0;color:var(--ink-soft);font-size:.95rem;}
.log-tag{font-family:"Oswald";text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:600;color:var(--steel);border:1px solid var(--line);padding:5px 12px;border-radius:100px;white-space:nowrap;}

/* ---------- tips ---------- */
.tip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.tip{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:relative;}
.tip .fig{font-family:"Oswald";font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rust);margin-bottom:14px;}
.tip h3{font-size:1.15rem;color:var(--steel);margin-bottom:10px;line-height:1.05;}
.tip p{margin:0;font-size:.95rem;color:#4a545d;}

/* ---------- reflection ---------- */
.reflect{max-width:760px;margin:0 auto;text-align:center;}
.reflect .eyebrow{justify-content:center;}
.reflect blockquote{font-family:"Anton";text-transform:uppercase;font-size:clamp(1.7rem,4.4vw,3rem);color:#eef1f3;line-height:1.05;margin:22px 0 20px;letter-spacing:.5px;}
.reflect blockquote span{color:var(--rust);}
.reflect cite{font-family:"Oswald";text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;color:#8a949d;font-style:normal;}
.reflect.long blockquote{font-size:clamp(1.3rem,3vw,2rem);}
.reflect.long{max-width:820px;}
.reflect.long p{color:#b7c0c8;font-size:1.1rem;margin:0 0 18px;text-align:left;}

/* ---------- gallery ---------- */
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:12px;}
.gal{background:linear-gradient(150deg,var(--steel),var(--graphite));border-radius:var(--radius);position:relative;overflow:hidden;display:grid;place-items:center;color:#6f7a83;border:1px solid var(--line-dark);}
.gal.big{grid-column:span 2;grid-row:span 2;}
.gal .g-label{font-family:"Oswald";text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:#8a949d;position:absolute;bottom:12px;left:14px;}
.gal .g-icon{font-size:2rem;opacity:.5;}
.note{margin-top:18px;font-family:"Oswald";text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--ink-soft);}

/* ---------- contact / join box ---------- */
.join-box{background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--rust);border-radius:0 var(--radius) var(--radius) 0;padding:34px 36px;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;}
.join-box h3{font-size:1.6rem;color:var(--steel);}
.join-box p{margin:8px 0 0;color:var(--ink-soft);max-width:48ch;}

/* ---------- footer ---------- */
footer{background:var(--graphite);color:var(--chrome);border-top:3px solid var(--rust);}
/* POZOR na vodorovné odsazení: tyhle prvky mají i class="wrap" (padding:0 24px),
   ale tenhle padding ho přebije (stejná specificita, ale je v CSS níž).
   Bez těch 24px sedí na mobilu text na kraji obrazovky. */
.foot-top{padding:66px 24px 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;}
footer h4{font-family:"Oswald";text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:var(--amber);margin:0 0 18px;}
.foot-brand h3{font-family:"Anton";font-size:2rem;color:#fff;letter-spacing:1.5px;margin-bottom:14px;}
.foot-brand p{color:#9aa4ad;max-width:38ch;margin:0;font-size:.96rem;}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px;}
footer ul a{color:#b7c0c8;text-decoration:none;font-size:.96rem;}
footer ul a:hover{color:var(--rust);}
.foot-bottom{border-top:1px solid var(--line-dark);padding:20px 24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:"Oswald";text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#727c85;}

/* ---------- authentic photo in hero ---------- */
.hero-photo{position:relative;}
.hero-photo img{width:100%;border-radius:var(--radius);border:1px solid var(--line-dark);
  filter:grayscale(.15) contrast(1.03);box-shadow:0 24px 50px rgba(0,0,0,.5);}
.hero-photo .cap{position:absolute;bottom:12px;left:12px;right:12px;font-family:"Oswald";text-transform:uppercase;
  letter-spacing:.14em;font-size:.68rem;color:#eef1f3;background:rgba(20,22,26,.72);padding:8px 12px;border-left:3px solid var(--rust);}
.hero-inner.with-photo{grid-template-columns:1.25fr .9fr;}

/* ---------- aktualita / news ---------- */
.news-strip{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
/* i tady: .news-strip .row má vyšší specificitu než .wrap, takže si vodorovné
   odsazení musí nastavit samo — jinak je aktualita na mobilu nalepená na kraji */
.news-strip .row{display:flex;gap:18px;align-items:center;padding:16px 24px;flex-wrap:wrap;}
.news-strip .flag{font-family:"Oswald";text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:700;color:#fff;background:var(--rust);padding:5px 12px;border-radius:100px;flex:none;}
.news-strip p{margin:0;color:var(--steel);font-size:.98rem;}
.news-strip p b{color:var(--rust);}
.news-strip .count{margin-left:auto;font-family:"Oswald";text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--ink-soft);}

/* ---------- prose (long articles: kodex, zamysleni) ---------- */
.prose{max-width:820px;}
/* .full = text přes celou šířku sloupce (kratší sekce, kde by 820px vypadalo
   useknutě pod nadpisem). Dlouhé články (kodex, zamyšlení, rady) nechat na 820px. */
.prose.full{max-width:none;}
.prose p{margin:0 0 20px;color:#3d4750;font-size:1.06rem;}
.prose p.big{font-size:1.22rem;color:var(--steel);font-weight:500;}
.prose h2{font-family:"Oswald";font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--steel);font-size:1.5rem;margin:38px 0 14px;line-height:1.1;}
.prose h3{font-family:"Oswald";font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--rust);font-size:1.1rem;margin:34px 0 12px;}
.prose img{max-width:100%;height:auto;display:block;margin:22px auto;border:1px solid var(--line);border-radius:var(--radius);}
.prose b,.prose strong{color:var(--steel);font-weight:700;}
.prose .c{text-align:center;}
.prose .lead-p{font-size:1.2rem;line-height:1.6;color:var(--steel);}
.prose figure{margin:26px 0;}
.prose figure img{margin:0;}
.prose figcaption{font-family:"Oswald";text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--ink-soft);text-align:center;margin-top:10px;}
.prose .callout{background:var(--paper-2);border-left:4px solid var(--rust);border-radius:0 var(--radius) var(--radius) 0;padding:16px 22px;margin:22px 0;}
.prose .callout b{color:var(--rust);}
.prose .sign{font-family:"Anton";text-transform:uppercase;letter-spacing:1px;color:var(--steel);font-size:1.3rem;margin-top:28px;}
.prose .letter{background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--rust);border-radius:0 var(--radius) var(--radius) 0;padding:22px 26px;margin:24px 0;}
.prose .letter p{margin:0 0 14px;}
.prose .letter .to{font-family:"Oswald";text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--ink-soft);border-bottom:1px dashed var(--line);padding-bottom:12px;margin-bottom:16px;}
.prose .letter .greet{font-weight:600;color:var(--steel);}
.prose .letter .from{font-style:italic;color:var(--steel);margin-bottom:0;}
.prose .sign{font-family:"Anton";text-transform:uppercase;letter-spacing:1px;color:var(--steel);font-size:1.4rem;margin-top:30px;}
.prose blockquote{border-left:4px solid var(--rust);margin:26px 0;padding:6px 0 6px 22px;font-style:italic;color:var(--steel);font-size:1.12rem;}

/* commandments */
.cmd{list-style:none;counter-reset:c;padding:0;margin:26px 0 0;display:grid;gap:2px;}
.cmd li{counter-increment:c;background:var(--paper-2);border:1px solid var(--line);padding:22px 24px 22px 74px;position:relative;}
.cmd li::before{content:counter(c);position:absolute;left:20px;top:18px;font-family:"Anton";font-size:1.9rem;color:var(--rust);line-height:1;width:2ch;}
.cmd li b{display:block;color:var(--steel);font-size:1.08rem;margin-bottom:6px;font-family:"Oswald";text-transform:uppercase;letter-spacing:.04em;}
.cmd li span{color:#4a545d;font-size:.98rem;}

/* ---------- data table (members) ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);}
table.roster{width:100%;border-collapse:collapse;min-width:640px;background:var(--paper-2);}
table.roster th{background:var(--graphite);color:var(--amber);font-family:"Oswald";text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;text-align:left;padding:14px 18px;}
table.roster td{padding:14px 18px;border-top:1px solid var(--line);vertical-align:top;font-size:.96rem;color:var(--steel);}
table.roster tr:hover td{background:var(--paper);}
table.roster .num{font-family:"Anton";color:var(--rust);font-size:1.05rem;letter-spacing:1px;}
table.roster .rider{font-weight:600;}
table.roster .bike{color:var(--ink-soft);font-size:.9rem;}

/* ---------- link list (odkazy, rady) ---------- */
.link-list{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.link-list a{display:flex;align-items:center;gap:14px;padding:18px 22px;background:var(--paper-2);text-decoration:none;color:var(--steel);transition:.15s;}
.link-list a:hover{background:var(--paper);color:var(--rust);}
.link-list a .arw{font-family:"Anton";color:var(--rust);flex:none;transition:.15s;}
.link-list a:hover .arw{transform:translateX(4px);}
.link-list a .lt{font-weight:600;}
.link-list a .ls{display:block;font-size:.82rem;color:var(--ink-soft);font-weight:400;}
.link-list .ll-item{display:flex;align-items:center;gap:14px;padding:18px 22px;background:var(--paper-2);color:var(--steel);font-weight:600;}
.link-list .ll-item::before{content:"▸";color:var(--rust);font-size:.9rem;}

/* ---------- reflect card list (zamysleni index) ---------- */
.arch{display:grid;gap:14px;}
.arch a{display:flex;justify-content:space-between;align-items:center;gap:18px;background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--rust);border-radius:0 var(--radius) var(--radius) 0;padding:22px 26px;text-decoration:none;transition:.15s;}
.arch a:hover{background:var(--paper);transform:translateX(4px);}
.arch h3{font-size:1.25rem;color:var(--steel);}
.arch .yr{font-family:"Anton";color:var(--rust);font-size:1.6rem;}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}

/* ---------- responsive ---------- */
@media(max-width:900px){
  nav.main{position:fixed;inset:64px 0 auto 0;flex-direction:column;background:#16181c;border-bottom:1px solid var(--line-dark);padding:12px 24px 20px;gap:2px;display:none;}
  nav.main.open{display:flex;}
  nav.main a{padding:12px 8px;font-size:.95rem;}
  .menu-btn{display:inline-block;}
  .hero-inner{grid-template-columns:1fr;gap:40px;padding:56px 24px 78px;}
  .about-grid{grid-template-columns:1fr;gap:34px;}
  .kodex-list{grid-template-columns:1fr;}
  .tip-grid{grid-template-columns:1fr;}
  .gal-grid{grid-template-columns:repeat(2,1fr);}
  .foot-top{grid-template-columns:1fr;gap:30px;}
  .log-row{grid-template-columns:90px 1fr;grid-template-areas:"date main" "tag tag";}
  .log-tag{grid-area:tag;justify-self:start;}
}

/* ---------- mobil ---------- */
@media(max-width:700px){
  /* POZOR: .hero-inner.with-photo má vyšší specificitu (2 třídy) než .hero-inner
     v @media výše, takže ho ta jednička nepřebije — hero musí zůstat na 2 sloupce
     až sem a stackovat se stejně specifickým selektorem. Jinak je na mobilu
     text namačkaný do půlky a fotka jak známka. */
  .hero-inner.with-photo{grid-template-columns:1fr;}
  .link-list{grid-template-columns:1fr;}
  .news-strip .count{margin-left:0;}

  /* stopa pneumatiky: nižší, ať na malém displeji nezabírá půl hero */
  .hero::after{height:24px;background-size:678px 24px;}
  .page-head::after{height:18px;background-size:508px 18px;}

  /* Tabulka členů -> karty. Vodorovné scrollování tabulky je na mobilu mizerné
     (sloupec Motorka je mimo obrazovku). Pořadí sloupců je u členů i čekatelů
     stejné, proto jdou popisky navěsit přes nth-child. */
  .table-wrap{overflow:visible;border:none;border-radius:0;}
  table.roster{min-width:0;display:block;background:none;}
  table.roster thead{display:none;}
  table.roster tbody{display:block;}
  table.roster tr{display:block;background:var(--paper-2);border:1px solid var(--line);
    border-radius:var(--radius);padding:14px 16px;margin:0 0 10px;}
  table.roster td{display:block;border:none;padding:2px 0;}
  table.roster tr:hover td{background:none;}
  table.roster .num{display:inline;margin-right:8px;}
  table.roster .rider{display:inline;font-size:1.02rem;}
  table.roster td:nth-child(n+3){margin-top:6px;}
  table.roster td:nth-child(n+3)::before{display:block;font-family:"Oswald";
    text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;color:var(--ink-soft);}
  table.roster td:nth-child(3)::before{content:"Bydliště";}
  table.roster td:nth-child(4)::before{content:"Motorka";}
  table.roster td:nth-child(5)::before{content:"Čekatel od";}
  table.roster td:nth-child(6)::before{content:"Ručitelé";}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px;}
