/* Pescaday gemeinsames Stylesheet (Quelle: Angelportal/site_src/pd.css, wird nach site/assets/pd.css kopiert) */
@font-face { font-family:"Atkinson Hyperlegible Next"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/ahn-latin-400.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Atkinson Hyperlegible Next"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/ahn-latin-ext-400.woff2") format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"Atkinson Hyperlegible Next"; font-style:normal; font-weight:700; font-display:swap; src:url("fonts/ahn-latin-700.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Atkinson Hyperlegible Next"; font-style:normal; font-weight:700; font-display:swap; src:url("fonts/ahn-latin-ext-700.woff2") format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"Atkinson Hyperlegible Next"; font-style:normal; font-weight:800; font-display:swap; src:url("fonts/ahn-latin-800.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Atkinson Hyperlegible Next"; font-style:normal; font-weight:800; font-display:swap; src:url("fonts/ahn-latin-ext-800.woff2") format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

:root {
  --surface:#F4F6F1; --raised:#FFFFFF; --line:#C9D1C8; --line-strong:#6B7972; --ink:#13201A; --muted:#4A5952;
  --pose:#B33D00; --pose-soft:#FBE4D7; --on-pose:#FFFFFF;
  --deep:#0F1714; --on-deep:#EEF2EC; --on-deep-muted:#B9C6BF;
  --water:#1D5DA8; --on-water:#FFFFFF; --water-soft:#DCE8F6;
  --ok:#2B6837; --ok-soft:#E1F0E3; --stop:#A8181E; --stop-soft:#FBE3E3;
  --font:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --tabbar:64px;
}
@media (prefers-color-scheme: dark) {
  :root { --surface:#0F1714; --raised:#18231F; --line:#33413B; --line-strong:#7A8982; --ink:#EEF2EC; --muted:#A7B5AE; --pose:#FF8A4C; --pose-soft:#3B1A0A; --on-pose:#1A0B03; --water:#174A86; --water-soft:#14263B; --ok:#7FC98D; --ok-soft:#14281A; --stop:#FF8080; --stop-soft:#3A1214; }
}
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--surface); color:var(--ink); font-family:var(--font); font-size:17px; line-height:26px; padding-bottom:calc(var(--tabbar) + env(safe-area-inset-bottom)); }
a { color:inherit; }
img { max-width:100%; height:auto; }
.wrap { max-width:1040px; margin:0 auto; padding:0 16px; }
.num { font-variant-numeric:tabular-nums; }

/* Kopfleiste */
.bar { background:var(--deep); color:var(--on-deep); }
.bar .wrap { display:flex; align-items:center; justify-content:space-between; min-height:64px; gap:16px; }
.brand { display:inline-flex; align-items:center; gap:8px; font-weight:800; font-size:22px; letter-spacing:-.02em; text-decoration:none; min-height:48px; color:var(--on-deep); }
.brand svg { width:17px; height:32px; flex:none; }
.brand .day { color:#FF8A4C; }
.topnav { display:none; gap:4px; }
.topnav a { display:inline-flex; align-items:center; min-height:48px; padding:0 14px; border-radius:10px; text-decoration:none; font-weight:700; color:var(--on-deep); }
.topnav a[aria-current="page"] { background:rgba(255,138,76,.18); color:#FFC2A0; }

/* Untere Tabs (mobil) */
.tabs { position:fixed; left:0; right:0; bottom:0; z-index:20; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); height:calc(var(--tabbar) + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom); background:var(--raised); border-top:1px solid var(--line); box-shadow:0 -2px 10px rgba(19,32,26,.12); }
.tabs a { display:grid; place-items:center; align-content:center; gap:2px; min-height:48px; font-size:13px; line-height:16px; font-weight:700; color:var(--muted); text-decoration:none; }
.tabs svg { width:24px; height:24px; }
.tabs a[aria-current="page"] { color:var(--pose); }
@media (min-width:860px) { .topnav { display:flex; } .tabs { display:none; } body { padding-bottom:0; } }

/* Seitenkopf */
.crumbs { font-size:15px; line-height:22px; color:var(--muted); padding-top:4px; }
.crumbs a { display:inline-flex; align-items:center; min-height:48px; color:var(--muted); }
.pagehead { padding:8px 0 24px; }
.kicker { margin:0 0 6px; font-size:15px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--pose); }
h1 { margin:0 0 10px; font-size:34px; line-height:38px; font-weight:800; letter-spacing:-.015em; }
h2 { margin:32px 0 12px; font-size:24px; line-height:30px; font-weight:800; }
h3 { margin:20px 0 8px; font-size:19px; line-height:24px; }
.lead { margin:0; font-size:19px; line-height:28px; color:var(--muted); max-width:62ch; }
p, li { max-width:68ch; overflow-wrap:break-word; }
@media (min-width:760px) { h1 { font-size:44px; line-height:48px; } }

/* Knöpfe */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:56px; padding:0 22px; border-radius:12px; border:0; background:var(--pose); color:var(--on-pose); font:inherit; font-weight:800; text-decoration:none; cursor:pointer; }
.btn.ghost { background:transparent; color:var(--ink); border:2px solid var(--line-strong); min-height:48px; }
.btn:focus-visible, a:focus-visible, summary:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline:3px solid var(--pose); outline-offset:2px; }

/* Karten und Raster */
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr)); gap:12px; }
.card { display:grid; background:var(--raised); border:1px solid var(--line); border-radius:14px; overflow:hidden; text-decoration:none; color:inherit; }
.card .ph { aspect-ratio:3/2; background:var(--water-soft); }
.card .ph img { display:block; width:100%; height:100%; object-fit:cover; }
.card .bd { padding:14px 16px 16px; display:grid; gap:4px; }
.card b { font-size:19px; line-height:24px; }
.card span { color:var(--muted); font-size:15px; line-height:22px; }
a.card:hover b { text-decoration:underline; }

/* Fakten-Kacheln */
.facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr)); gap:10px; margin:16px 0; padding:0; }
.facts div { background:var(--raised); border:1px solid var(--line); border-radius:12px; padding:12px 14px; min-width:0; }
.facts dt { font-size:14px; line-height:20px; color:var(--muted); font-weight:700; }
.facts dd { margin:2px 0 0; font-weight:700; overflow-wrap:break-word; }

/* Hinweis- und Regelboxen */
.note { border-radius:12px; padding:14px 16px; margin:16px 0; background:var(--water-soft); }
.note.warn { background:var(--pose-soft); }
.pill { display:inline-flex; align-items:center; gap:6px; padding:2px 10px; border-radius:8px; font-size:14px; line-height:22px; font-weight:700; }
.pill.ok { background:var(--ok-soft); color:var(--ok); } .pill.stop { background:var(--stop-soft); color:var(--stop); } .pill.check { border:1px solid var(--line-strong); }

/* Schritte */
ol.steps { list-style:none; counter-reset:s; padding:0; margin:12px 0; display:grid; gap:10px; }
ol.steps li { counter-increment:s; display:grid; grid-template-columns:36px minmax(0,1fr); gap:12px; align-items:start; background:var(--raised); border:1px solid var(--line); border-radius:12px; padding:12px 14px; }
ol.steps li::before { content:counter(s); width:32px; height:32px; border-radius:50%; display:grid; place-items:center; font-weight:800; background:var(--deep); color:var(--on-deep); font-variant-numeric:tabular-nums; }
ul.clean { padding-left:20px; }

/* Akkordeon */
details { background:var(--raised); border:1px solid var(--line); border-radius:12px; margin-bottom:10px; }
summary { list-style:none; min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; font-weight:700; cursor:pointer; }
summary::-webkit-details-marker { display:none; }
summary::after { content:"+"; font-size:26px; color:var(--pose); flex:none; }
details[open] summary::after { content:"\2212"; }
details > div { padding:0 16px 16px; }

/* Bildnachweis, Quellen */
figure { margin:0; }
figure.hero-img { border-radius:14px; overflow:hidden; background:var(--water-soft); }
figure.hero-img img { display:block; width:100%; }
figcaption, .credit { font-size:14px; line-height:20px; color:var(--muted); padding:6px 2px 0; }
.sources { font-size:15px; line-height:22px; color:var(--muted); }
.sources a { display:inline-block; padding:13px 0; overflow-wrap:anywhere; }

/* Formularelemente */
input[type=search], input[type=text], select { width:100%; min-height:52px; padding:0 14px; border:2px solid var(--line-strong); border-radius:12px; background:var(--raised); color:var(--ink); font:inherit; }
label { font-weight:700; }

/* Band und CTA */
.band { background:var(--water); color:var(--on-water); padding:32px 0; margin-top:32px; }
.band h2 { margin-top:0; }
.join { margin:32px 0; padding:24px; border-radius:16px; background:var(--pose-soft); display:grid; gap:12px; }
.join h2 { margin:0; }
.join .btn { justify-self:start; }

/* Fuß */
footer.foot { background:var(--deep); color:var(--on-deep-muted); padding:28px 0 32px; font-size:15px; line-height:22px; margin-top:40px; }
footer.foot p { margin:0 0 8px; }
footer.foot a { display:inline-flex; align-items:center; min-height:48px; color:var(--on-deep); }

@media print { .tabs, .bar nav, footer.foot, .no-print { display:none !important; } body { padding:0; background:#fff; color:#000; } }

/* Planer */
.pstep { background:var(--raised); border:1px solid var(--line); border-radius:14px; padding:16px; margin:0 0 12px; display:grid; gap:12px; }
.pstep h2 { margin:0; display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:21px; line-height:28px; }
.pstep .n { width:32px; height:32px; border-radius:50%; display:inline-grid; place-items:center; background:var(--deep); color:var(--on-deep); font-size:17px; flex:none; }
.chips { display:flex; flex-wrap:wrap; gap:8px; }
.chip { min-height:48px; padding:0 16px; border-radius:24px; border:2px solid var(--line-strong); background:transparent; color:var(--ink); font:inherit; font-weight:700; cursor:pointer; }
.chip[aria-checked="true"] { background:var(--pose); border-color:var(--pose); color:var(--on-pose); }
input[type=date] { width:100%; min-height:52px; padding:0 14px; border:2px solid var(--line-strong); border-radius:12px; background:var(--raised); color:var(--ink); font:inherit; }
.tick { display:flex; align-items:center; gap:10px; min-height:48px; font-weight:400; }
.tick input, ul.pack input { width:24px; height:24px; accent-color:var(--pose); flex:none; }
ul.pack { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr)); gap:0 16px; }
ul.pack label { display:flex; align-items:center; gap:12px; min-height:48px; font-weight:400; border-bottom:1px solid var(--line); }
ul.pack input:checked + span { text-decoration:line-through; color:var(--muted); }
.addrow { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.prow { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0; }
.sun { margin:0; }
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* Shops */
.card.shop .bd { gap:6px; }
.card.shop .hours { font-size:14px; line-height:20px; overflow-wrap:anywhere; }
.card.shop .links { display:flex; flex-wrap:wrap; gap:0 16px; }
.card.shop .links a { display:inline-flex; align-items:center; min-height:48px; font-weight:700; color:var(--water); overflow-wrap:anywhere; }
@media (prefers-color-scheme: dark) { .card.shop .links a { color:#8CC0FF; } }
@media print { .pstep { break-inside:avoid; border-color:#999; } .chip:not([aria-checked="true"]) { display:none; } .chip { border:0; padding:0; min-height:0; } #psun { display:none; } }

/* Fangbuch */
textarea { width:100%; padding:12px 14px; border:2px solid var(--line-strong); border-radius:12px; background:var(--raised); color:var(--ink); font:inherit; resize:vertical; }
.photo { display:block; } .photo input { position:absolute; width:1px; height:1px; opacity:0; } .photo .btn { width:100%; }
#fbprev { border-radius:12px; max-height:260px; width:auto; }
.two { display:grid; grid-template-columns:1fr 1fr; gap:10px; } .two > div { display:grid; gap:6px; min-width:0; }
.linkbtn { justify-self:start; min-height:48px; padding:0; border:0; background:none; color:var(--stop); font:inherit; font-weight:700; text-decoration:underline; cursor:pointer; }
.pstep select { width:100%; }
@media print { .fbgrid { grid-template-columns:repeat(3,1fr); } .card { break-inside:avoid; } }

/* Inhaltsverzeichnis als Chips */
.toc { list-style:none; padding:0; margin:0 0 16px; display:flex; flex-wrap:wrap; gap:8px; }
.toc a { display:inline-flex; align-items:center; min-height:48px; padding:0 16px; border-radius:24px; border:2px solid var(--line-strong); text-decoration:none; font-weight:700; }
.credit a { display:inline-block; padding:13px 0; margin:-13px 0; }

/* Startseite */
.hero { position:relative; color:var(--on-deep); background:var(--deep); overflow:hidden; }
.hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,23,20,.35) 0%, rgba(15,23,20,.55) 40%, rgba(15,23,20,.95) 100%); }
.hero .wrap { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:flex-end; min-height:min(72vh,600px); padding-top:24px; padding-bottom:32px; }
.hero h1 { font-size:40px; line-height:44px; margin:14px 0 12px; }
.hero .lead { color:var(--on-deep); margin-bottom:22px; }
.hero .btn { background:#FF8A4C; color:#1A0B03; }
.badge { display:inline-flex; align-self:flex-start; align-items:center; gap:8px; padding:6px 14px; border-radius:9999px; background:rgba(255,138,76,.18); border:1px solid rgba(255,138,76,.6); color:#FFC2A0; font-weight:700; font-size:15px; line-height:20px; }
.badge i { width:8px; height:8px; border-radius:50%; background:#FF8A4C; }
.hint { margin:12px 0 0; font-size:15px; line-height:22px; color:var(--on-deep-muted); }
.ways { list-style:none; margin:0; padding:0; display:grid; gap:12px; counter-reset:w; }
.ways a { display:grid; grid-template-columns:48px minmax(0,1fr); gap:2px 14px; align-items:start; padding:18px; border-radius:14px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.3); color:var(--on-water); text-decoration:none; }
.ways svg { grid-row:span 2; width:48px; height:48px; padding:10px; border-radius:12px; background:#FF8A4C; color:#1A0B03; }
.ways b { font-size:20px; line-height:26px; } .ways span { font-size:16px; line-height:23px; }
.ways a:hover b { text-decoration:underline; }
@media (min-width:760px) { .hero h1 { font-size:56px; line-height:58px; } .ways { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.stick { position:sticky; top:0; z-index:5; display:flex; align-items:center; gap:8px; min-height:48px; margin:0 0 12px; padding:0 16px; border-radius:12px; background:var(--deep); color:var(--on-deep); font-weight:700; text-decoration:none; }
.stick .num { color:#FF8A4C; font-size:20px; }

/* Sprachumschalter */
.bar .lang { display:inline-flex; align-items:center; justify-content:center; min-width:48px; min-height:48px; padding:0 10px; border:2px solid rgba(238,242,236,.4); border-radius:10px; color:var(--on-deep); font-weight:800; font-size:15px; text-decoration:none; margin-left:auto; }
.bar .topnav + .lang { margin-left:8px; }

/* Einwilligung (kompakt, ueber den Tabs) */
.consent { position:fixed; left:8px; right:8px; bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 8px); z-index:30; background:var(--deep); color:var(--on-deep); border-radius:14px; padding:12px 14px; display:grid; gap:10px; box-shadow:0 6px 24px rgba(0,0,0,.3); max-width:560px; margin:0 auto; }
.consent[hidden] { display:none; }
.consent p { margin:0; font-size:15px; line-height:21px; }
.consent a { color:#FFC2A0; }
.consent div { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.consent .btn { min-height:48px; padding:0 12px; }
.consent .btn:not(.ghost) { background:#FF8A4C; color:#1A0B03; }
.consent .btn.ghost { color:var(--on-deep); border-color:rgba(238,242,236,.5); }
@media (min-width:860px) { .consent { bottom:16px; } }
footer.foot .foot-btn { color:var(--on-deep); font-weight:400; text-decoration:underline; min-height:48px; padding:0; vertical-align:baseline; }
@media print { .consent { display:none !important; } }
.chip[aria-pressed="true"] { background:var(--pose); border-color:var(--pose); color:var(--on-pose); }
