/* findorama.de – Horizont B „Lebendig" */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;
  --bg:#f4f9fc;--surface:#fff;--ink:#0d2b3e;--muted:#4d6a7c;
  --brand:#0e6ba8;--brand-2:#1197a8;--accent:#f4a259;--accent-ink:#5c3305;--accent2:#ef6f5a;
  --line:#d9e7ef;--soft:#e8f2f8;--r:14px;--shadow:0 4px 18px rgba(13,43,62,.10)}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px}
img,svg,iframe{max-width:100%}
.sr-only{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Layout */
.site{max-width:1060px;margin:0 auto;padding:0 16px}
.hrule{height:4px;background:linear-gradient(90deg,var(--brand-2),var(--brand) 45%,var(--accent))}
.siteheader{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;flex-wrap:wrap}
.logo{font:800 24px/1 system-ui,sans-serif;color:var(--ink);letter-spacing:-.02em;display:flex;align-items:center;text-decoration:none}
.logo:hover{text-decoration:none}
.logo svg{width:30px;height:30px;flex:none;margin-right:9px}
.logo b{font-weight:800;color:var(--brand)}
.menubtn{display:none;font:700 15px/1 system-ui,sans-serif;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 14px;cursor:pointer;color:var(--ink)}
.mainnav{display:flex;gap:6px;flex-wrap:wrap}
.mainnav a{padding:8px 13px;border-radius:999px;font-weight:600;font-size:14.5px;color:var(--ink)}
.mainnav a:hover{background:var(--soft);text-decoration:none}
.mainnav a.navcta{background:var(--brand);color:#fff}
@media(max-width:719px){
  .menubtn{display:inline-flex;align-items:center;gap:8px}
  .mainnav{display:none;width:100%;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:var(--shadow)}
  .mainnav.open{display:flex}
  .mainnav a{padding:12px 14px;border-radius:9px}
}
footer.sitefooter{margin-top:44px;border-top:1px solid var(--line);padding:26px 16px 40px;color:var(--muted);font-size:14px}
footer.sitefooter .cols{max-width:1060px;margin:0 auto;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between}
footer.sitefooter a{color:var(--muted)}

h1{font:800 clamp(26px,4.6vw,40px)/1.15 system-ui,sans-serif;letter-spacing:-.015em;margin:.2em 0 .35em;overflow-wrap:anywhere}
h2{font:700 clamp(19px,3vw,24px)/1.25 system-ui,sans-serif;margin:1.7em 0 .5em}
h2::after{content:"";display:block;width:56px;height:4px;border-radius:3px;margin-top:8px;background:linear-gradient(90deg,var(--brand-2),var(--accent))}
h2.plain::after{display:none}
h3{font:700 16.5px/1.3 system-ui,sans-serif;margin:0 0 6px}
.lead{font-size:17px;color:var(--muted);max-width:64ch;margin:0 0 1.2em}
.ortintro{max-width:76ch}
.eyebrow{display:inline-block;font:700 12px/1 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);margin-bottom:10px}
.breadcrumb{font-size:13.5px;color:var(--muted);margin:14px 0 4px;display:flex;flex-wrap:wrap;gap:6px}
.breadcrumb a{color:var(--muted)}
/* Das hidden-Attribut muss eigene display-Regeln überschreiben,
   sonst lassen sich Consent-Banner, Optionen und Vorschläge nicht ausblenden. */
[hidden]{display:none !important}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.badge{display:inline-block;background:#fdf3e7;color:var(--accent-ink);font:600 12.5px/1 system-ui,sans-serif;padding:5px 10px;border-radius:999px}
.badge:hover{text-decoration:none;background:#fae7cf}
.small,small{font-size:13px;color:var(--muted)}

/* Buttons / CTA */
.btn{display:inline-flex;align-items:center;gap:9px;background:var(--brand);color:#fff;font:700 15.5px/1 system-ui,sans-serif;padding:13px 22px;border-radius:999px;border:0;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;text-decoration:none}
.btn:hover{background:var(--brand-2);text-decoration:none;color:#fff}
.btn.big{padding:16px 28px;font-size:17px}
.btn.ghost{background:transparent;color:var(--brand);border:2px solid var(--brand)}
.btn.ghost:hover{background:var(--soft);color:var(--brand)}
.cta-anim{position:relative;overflow:hidden;background:linear-gradient(105deg,var(--brand),var(--brand-2))}
.cta-anim .arr{transition:transform .2s ease}
.cta-anim:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(14,107,168,.35)}
.cta-anim:hover .arr{transform:translateX(4px)}
.cta-anim::after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);animation:shine 3.6s ease-in-out infinite}
@keyframes shine{0%,55%{left:-70%}75%,100%{left:130%}}

/* Hero */
.hero{position:relative;background:linear-gradient(180deg,#cfe9f7 0%,#e9f5fb 60%,#f4f9fc 100%);padding:38px 16px 16px}
.hero .deco{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero{overflow:visible}
.hero .inner{max-width:1028px;margin:0 auto;position:relative;z-index:3}
.hero h1 em{font-style:normal;color:var(--brand)}
.hero .lead{color:#3c5b6d}
.sun{position:absolute;right:8%;top:26px;width:76px;height:76px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffd9a0,var(--accent));box-shadow:0 0 0 14px rgba(244,162,89,.18),0 0 0 30px rgba(244,162,89,.08);animation:sunpulse 5s ease-in-out infinite}
@keyframes sunpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.cloud{position:absolute;width:150px;height:34px;border-radius:999px;background:rgba(255,255,255,.85);filter:blur(1px);animation:drift 26s linear infinite}
.cloud.c1{top:34px;left:-160px}
.cloud.c2{top:96px;left:-260px;width:100px;height:24px;animation-duration:34s;opacity:.7}
@keyframes drift{from{transform:translateX(0)}to{transform:translateX(130vw)}}
.plane{position:absolute;bottom:-15px;z-index:2;left:-60px;font-size:22px;color:var(--brand);animation:fly 12s linear infinite}
@keyframes fly{0%{transform:translate(0,0) rotate(4deg)}50%{transform:translate(55vw,-5px) rotate(-2deg)}100%{transform:translate(115vw,0) rotate(4deg)}}
.hero + .wavediv + .site > h2:first-child,.wavediv + .site > h2:first-child{margin-top:.2em}
.wavediv{line-height:0;position:relative;z-index:1}
.wavediv svg{width:100%;height:34px;display:block}

/* Suche */
.searchrow{display:flex;flex-wrap:wrap;gap:12px;align-items:center;position:relative;z-index:6;margin:0}
.searchwrap{position:relative;flex:1 1 340px;max-width:560px}
.searchwrap input{width:100%;font:500 17px/1 system-ui,sans-serif;color:var(--ink);padding:16px 52px 16px 18px;border:2px solid var(--line);border-radius:999px;background:var(--surface)}
.searchwrap input:focus{border-color:var(--brand);outline:none}
.searchwrap .go{position:absolute;right:6px;top:6px;bottom:6px;width:44px;border-radius:999px;border:0;background:var(--brand);color:#fff;font-size:18px;cursor:pointer}
.suggest{position:absolute;left:10px;right:10px;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.18);overflow:hidden;z-index:30}
.suggest a{display:flex;justify-content:space-between;gap:10px;padding:11px 15px;font-size:15px;color:var(--ink);border-top:1px solid var(--line)}
.suggest a:first-child{border-top:0}
.suggest a:hover{background:var(--soft);text-decoration:none}
.suggest .k{color:var(--muted);font-size:12.5px;white-space:nowrap}

/* Buchstaben, Chips, Kacheln, USP */
.alpha{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0}
.alpha a{min-width:36px;text-align:center;padding:8px 0;font-weight:700;font-size:14.5px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);transition:transform .15s ease}
.alpha a:hover{border-color:var(--brand);color:var(--brand);text-decoration:none;transform:translateY(-2px)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips a{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:600;font-size:14px;color:var(--ink);transition:transform .15s ease}
.chips a b{color:var(--brand)}
.chips a:nth-child(3n+1){background:#eaf5fb}
.chips a:nth-child(3n+2){background:#fdf3e7}
.chips a:nth-child(3n+3){background:#fdeeec}
.chips a:hover{border-color:var(--brand);text-decoration:none;transform:translateY(-3px)}
.landgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px;margin:16px 0}
.landgrid a{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 15px;color:var(--ink);font-weight:600;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 10px;min-width:0;transition:transform .15s ease}
.landgrid a .n{min-width:0;overflow-wrap:anywhere}
.landgrid a b{color:var(--brand);font-weight:700;white-space:nowrap;flex:none}
.landgrid a:hover{border-color:var(--brand);text-decoration:none;transform:translateY(-2px)}
.uspgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:26px 0 8px}
.usp{padding:18px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-top:4px solid var(--brand-2)}
.usp:nth-child(2){border-top-color:var(--accent)}
.usp:nth-child(3){border-top-color:var(--accent2)}
.usp .ic{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--soft),#fff);box-shadow:inset 0 0 0 1px var(--line);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:19px;margin-bottom:10px}
.usp p{margin:0;color:var(--muted);font-size:14.5px}
.newest{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:14px 0}
.newestcard{padding:13px 15px;display:grid;gap:3px;color:var(--ink)}
.newestcard:hover{text-decoration:none;border-color:var(--brand)}

/* Einträge */
.entrylist{display:grid;gap:12px;margin:18px 0}
.entry{position:relative;padding:16px 18px;display:grid;gap:5px;transition:transform .15s ease,box-shadow .15s ease;background:var(--surface);box-shadow:var(--shadow);border-top:4px solid transparent;border-image:linear-gradient(90deg,var(--brand-2),var(--accent)) 1;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.entry:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(13,43,62,.14)}
.entry h3 a{color:var(--ink)}
/* Ganze Eintragskarte klickbar: der Titel-Link legt sich unsichtbar über die Karte */
.entry h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.entry h3 a:hover{text-decoration:none}
.entry:hover h3 a{text-decoration:underline}
.entry .meta,.entry .badge{position:relative;z-index:2;pointer-events:none}
.entry .meta a,.entry .badge a{pointer-events:auto}
.entry h3 a:hover{color:var(--brand)}
.entry .meta{color:var(--muted);font-size:14.5px;display:flex;flex-wrap:wrap;gap:4px 16px}

/* Consent-/Widget-Boxen */
.consentbox{padding:22px;text-align:center;background:var(--soft);border:2px dashed var(--line);border-radius:var(--r);margin:18px 0}
.consentbox p{margin:0 0 14px;color:var(--muted);font-size:14px;max-width:60ch;margin-inline:auto}
.consentbox.map{min-height:210px;display:flex;flex-direction:column;justify-content:center}
.consentbox.sidewidget{margin-top:0}
.embed-direkt{margin:18px 0}
.embed-direkt.sidewidget{margin-top:0}
iframe.osm{width:100%;height:340px;border:0;border-radius:var(--r);border:1px solid var(--line)}
.grosswidget{min-height:280px}

/* CTA-Panel */
.ctapanel{margin:26px 0;padding:26px 22px;text-align:center;border-radius:var(--r);background:linear-gradient(120deg,var(--brand) 0%,var(--brand-2) 55%,#3db6a4 100%);color:#fff}
.ctapanel h2{margin:0 0 6px;color:#fff}
.ctapanel p{margin:0 0 16px;color:rgba(255,255,255,.88)}
.ctapanel .btn{background:#fff;color:var(--brand)}
.ctapanel .cta-anim{background:#fff}
.ctapanel .cta-anim::after{background:linear-gradient(100deg,transparent,rgba(14,107,168,.25),transparent)}
.ctapanel.top0{margin-top:0}

/* Zweispalter, Sidebar, Details */
.twocol{display:grid;gap:18px;grid-template-columns:1fr;margin-top:12px}
@media(min-width:860px){.twocol{grid-template-columns:1.55fr 1fr}}
.only-mobile{display:block}
.only-desktop{display:none}
@media(min-width:860px){.only-mobile{display:none}.only-desktop{display:block}}
.sidebox{padding:16px 18px;margin-bottom:16px}
.toplist{margin:8px 0 0;padding:0;list-style:none;counter-reset:top}
.toplist li{counter-increment:top;display:flex;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:14.5px}
.toplist li:first-child{border-top:0}
.toplist li::before{content:counter(top);flex:none;width:22px;height:22px;border-radius:7px;background:var(--soft);color:var(--brand);font:700 12.5px/22px system-ui,sans-serif;text-align:center}
.neighbor{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.kv{display:grid;grid-template-columns:110px 1fr;gap:8px 14px;font-size:15.5px;padding:18px;margin:0 0 16px}
.kv dt{color:var(--muted);font-weight:600}
.kv dd{margin:0;overflow-wrap:anywhere}
.pager{display:flex;gap:6px;margin:20px 0;flex-wrap:wrap}
.pager a,.pager span{min-width:38px;text-align:center;padding:9px 0;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-weight:600;font-size:14.5px;color:var(--ink)}
.pager .cur{background:var(--brand);color:#fff;border-color:var(--brand)}
.gentext{border-left:4px solid var(--accent);padding:14px 18px;background:var(--surface);border-radius:0 var(--r) var(--r) 0;margin:0 0 16px}
.gentext p{margin:0}
.reportlink{font-size:13.5px}

/* FAQ, Seiten, Linktipps, Ortsspalten */
details.faq{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin:10px 0;padding:0 18px}
details.faq summary{cursor:pointer;font-weight:700;padding:15px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";color:var(--brand);font-size:20px;font-weight:800}
details.faq[open] summary::after{content:"–"}
details.faq div{margin:0 0 16px;color:var(--muted)}
.seitetext p{max-width:76ch}
.seitetext ul,.seitetext ol{max-width:72ch}
.seotext{margin-top:34px;color:#33505f}
.seotext p{max-width:76ch}
.linktipps{margin-top:34px;padding:20px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.linktipps h2{margin:0;font-size:15px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.linktipps ul{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14.5px}
.ortspalten{columns:3 220px;column-gap:24px;margin:14px 0}
.ortspalten a{display:block;padding:4px 0;color:var(--ink);break-inside:avoid}
.ortspalten a:hover{color:var(--brand)}

/* Formulare & Hinweise */
.formular{padding:20px;display:grid;gap:14px;max-width:640px}
.frow{display:grid;gap:5px}
.frow.zwei{grid-template-columns:1fr;gap:14px}
@media(min-width:560px){.frow.zwei{grid-template-columns:130px 1fr}}
.frow label{font-weight:600;font-size:14.5px}
.frow input,.frow select,.frow textarea{font:400 16px/1.4 system-ui,sans-serif;color:var(--ink);padding:11px 13px;border:1.5px solid var(--line);border-radius:10px;background:#fff;width:100%}
.frow input:focus,.frow select:focus,.frow textarea:focus{border-color:var(--brand);outline:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.hinweis{padding:13px 16px;border-radius:12px;margin:12px 0;font-size:15px}
.hinweis.ok{background:#e8f7ee;border:1px solid #b5e0c4;color:#14532d}
.hinweis.fehler{background:#fdecec;border:1px solid #f2c4c4;color:#7f1d1d}
.codebox{padding:16px 18px;margin:12px 0}
.codebox pre{background:#0f2231;color:#dbeafe;padding:12px 14px;border-radius:10px;overflow-x:auto;font:400 13px/1.5 ui-monospace,Consolas,monospace;margin:8px 0 0}
.codebox .demo{margin:4px 0 0}

/* Cookie-Banner */
.cookiebar{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 34px rgba(0,0,0,.18);padding:16px 18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;max-width:1030px;margin:0 auto}
.cookiebar p{margin:0;font-size:13.5px;color:var(--muted);max-width:56ch}
.cookiebar .acts{display:flex;gap:8px;flex-wrap:wrap}
.cookiebar .btn{padding:10px 16px;font-size:14px}
.copts{width:100%;display:grid;gap:8px;border-top:1px solid var(--line);padding-top:12px;font-size:14px}
.copts .btn{justify-self:start}

/* ---------- Ratgeber ---------- */
.ratgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:14px 0 30px}
.ratcard{display:grid;gap:7px;align-content:start;padding:18px 20px;text-decoration:none;color:inherit}
.ratcard strong{font-size:17px;line-height:1.35;color:var(--brand)}
.ratcard .small{color:var(--muted);font-size:14px;line-height:1.5}
.ratcard .badge{justify-self:start}
.ratcard:hover strong{text-decoration:underline}
.artmeta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:-4px 0 16px;color:var(--muted)}
.ratgeber h2{margin-top:1.9em}
.ratgeber h3{margin-top:1.5em;font-size:18px}
.ratgeber ul,.ratgeber ol{max-width:76ch;padding-left:1.2em}
.ratgeber li{margin:6px 0}
.ratgeber .merke{margin:20px 0;padding:16px 18px;border-radius:var(--r);background:var(--surface);border-left:4px solid var(--brand)}
.ratgeber .merke p:last-child{margin-bottom:0}
.rechtshinweis{margin:26px 0 0;padding:14px 16px;border-radius:var(--r);background:#fff8f0;border:1px solid #f0d9bf;font-size:14.5px;color:#6b4a24}
.mt{margin-top:14px}

/* ---------- Ratgeber-Verlinkungsblock ---------- */
.ratblock{margin:34px 0 10px}
.ratblock h2{margin-bottom:.2em}
.ratblock > .small{color:var(--muted);margin:0 0 12px}
.ratblock .ratgrid{margin-bottom:10px}
