:root{--bg:#f7f3e9;--card:#fffdf7;--text:#233126;--muted:#6d786d;--primary:#76a56f;--primary2:#e7b85f;--border:#e7dfcf;--shadow:0 12px 35px #2f3d2f18;--radius:24px}body.dark{--bg:#172019;--card:#202b22;--text:#edf3ec;--muted:#bac7b8;--border:#354439;--shadow:0 12px 35px #0007}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}img{max-width:100%}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:18px;justify-content:space-between;padding:14px 28px;background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:1.25rem}.brand img{width:42px;height:42px}.mainnav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mainnav a{padding:9px 12px;border-radius:999px;color:var(--muted)}.mainnav a:hover,.pill{background:var(--primary);color:white!important}.iconbtn,.btn,button{border:0;border-radius:999px;padding:11px 16px;background:var(--primary);color:white;font-weight:700;cursor:pointer}.iconbtn{width:42px;height:42px;padding:0}.btn.secondary{background:var(--primary2);color:#352400}main{max-width:1180px;margin:auto;padding:28px}.hero{min-height:360px;border-radius:var(--radius);padding:42px;display:flex;align-items:end;background:linear-gradient(160deg,#0006,#0001),var(--hero-bg,linear-gradient(135deg,#8fbf84,#e7c879));color:white;box-shadow:var(--shadow);background-size:cover;background-position:center}.hero h1{font-size:clamp(2rem,5vw,4rem);margin:0 0 10px}.hero p{max-width:680px;font-size:1.1rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card h2,.card h3{margin-top:0}.meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.92rem}.badge{background:#eef4ea;color:#365c31;border-radius:999px;padding:5px 9px}body.dark .badge{background:#314132;color:#d9ead7}.form{display:grid;gap:14px;max-width:820px}.form label{display:grid;gap:6px;font-weight:700}.form input,.form select,.form textarea,input,select,textarea{width:100%;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:16px;padding:13px;font:inherit}.form textarea{min-height:140px}.gallery{display:flex;gap:12px;overflow:auto}.gallery img{height:230px;object-fit:cover;border-radius:18px}.recipe-img{height:190px;width:100%;object-fit:cover;border-radius:18px;margin-bottom:12px}.notice{padding:14px 16px;border-radius:16px;background:#edf7e9;border:1px solid #cfe4c8}.adminbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.table{width:100%;border-collapse:collapse;background:var(--card);border-radius:18px;overflow:hidden}.table th,.table td{padding:10px;border-bottom:1px solid var(--border);text-align:left}.bottomnav{display:none}.sitefooter{text-align:center;color:var(--muted);padding:30px 20px 90px}.rest-icon{font-size:3rem}.ios body,.android body{overscroll-behavior:none}.ios .topbar{padding-top:calc(12px + env(safe-area-inset-top));border-radius:0 0 24px 24px}.android .topbar{box-shadow:0 6px 20px #0002}.ios .card{border-radius:28px}.android .card{border-radius:20px}@media(max-width:820px){html,body{width:100%;overflow-x:hidden}.mainnav{display:none}.topbar{padding:12px 14px}.brand span{font-size:1.05rem}main{padding:16px 14px 100px}.hero{min-height:270px;border-radius:26px;padding:24px}.grid{grid-template-columns:1fr}.card{padding:16px}.gallery img{max-width:85vw;height:190px}input,select,textarea,button{font-size:16px}.bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:100;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:7px 6px calc(7px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(16px);border-top:1px solid var(--border);box-shadow:0 -8px 24px #0002}.bottomnav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;font-size:1.15rem;border-radius:16px}.bottomnav span{font-size:.68rem}.ios .bottomnav{border-radius:24px 24px 0 0;margin:0 8px 0}.android .bottomnav a:active{background:color-mix(in srgb,var(--primary) 20%,transparent)}}

/* =========================================================
   Löffelglück Darkmode Vollfix
   Deckt feste helle Farben in Karten, Formularen, Bewertungen,
   Kommentaren, Suche, Rezeptdetails und Druck-/Aktionsbereichen ab.
   ========================================================= */
body.dark{
  color-scheme:dark;
  --bg:#121b15;
  --card:#1c271f;
  --text:#f1f6ef;
  --muted:#b5c2b3;
  --primary:#8fbd7b;
  --primary2:#e0b760;
  --border:#344337;
  --shadow:0 14px 38px rgba(0,0,0,.45);
}
body.dark .topbar,
body.dark .bottomnav,
body.dark .card,
body.dark .recipe-card,
body.dark .post-card,
body.dark .search-card,
body.dark .comment-card,
body.dark .rating-card,
body.dark .related-card,
body.dark .print-card,
body.dark .recipe-section,
body.dark .content-box,
body.dark .admin-card,
body.dark .notice,
body.dark .table,
body.dark .form-box,
body.dark .panel,
body.dark .box{
  background:var(--card)!important;
  color:var(--text)!important;
  border-color:var(--border)!important;
  box-shadow:var(--shadow);
}
body.dark main,
body.dark section,
body.dark article{
  color:var(--text);
}
body.dark h1,
body.dark h2,
body.dark h3,
body.dark h4,
body.dark h5,
body.dark h6,
body.dark label,
body.dark strong,
body.dark .recipe-title,
body.dark .card-title{
  color:var(--text)!important;
}
body.dark p,
body.dark li,
body.dark .meta,
body.dark .muted,
body.dark small,
body.dark .comment-meta,
body.dark .recipe-meta,
body.dark .excerpt,
body.dark .help-text{
  color:var(--muted)!important;
}
body.dark input,
body.dark select,
body.dark textarea,
body.dark .search-input,
body.dark .comment-input{
  background:#121a14!important;
  color:var(--text)!important;
  border-color:var(--border)!important;
  box-shadow:none!important;
}
body.dark input::placeholder,
body.dark textarea::placeholder{color:#8f9d8d!important;}
body.dark input:focus,
body.dark select:focus,
body.dark textarea:focus{
  outline:2px solid rgba(143,189,123,.45);
  border-color:#8fbd7b!important;
}
body.dark option{background:#121a14;color:var(--text);}
body.dark .badge,
body.dark .chip,
body.dark .pill:not(.mainnav a),
body.dark .category-badge,
body.dark .tag{
  background:#263528!important;
  color:#e6f3df!important;
  border-color:#405242!important;
}
body.dark .btn.secondary{background:var(--primary2)!important;color:#281a06!important;}
body.dark .btn,
body.dark button,
body.dark .iconbtn{
  color:#fff;
}
body.dark a:hover{color:#bfe3ad;}
body.dark .notice,
body.dark .success,
body.dark .info-box{
  background:#1f3424!important;
  border-color:#426247!important;
  color:#eaf6e5!important;
}
body.dark .error,
body.dark .danger{
  background:#3a1d1d!important;
  border-color:#6f3333!important;
  color:#ffe8e8!important;
}
body.dark .table th,
body.dark .table td,
body.dark table th,
body.dark table td{
  border-color:var(--border)!important;
  color:var(--text)!important;
}
body.dark .table th,
body.dark table th{background:#17211a!important;}
body.dark .recipe-img,
body.dark .admin-thumb,
body.dark .image-preview img{background:#111811;}
body.dark hr,
body.dark .divider{border-color:var(--border)!important;background:var(--border)!important;}

/* Bewertung / Kochlöffel */
body.dark .rating-option,
body.dark .spoon-rating label,
body.dark .rating-choice,
body.dark .rating-preview,
body.dark .comment-sort,
body.dark .comment-filter{
  background:#17211a!important;
  border-color:#405242!important;
  color:var(--text)!important;
}
body.dark .spoon-empty,
body.dark .spoon-muted{opacity:.42;filter:grayscale(1) brightness(.9);}
body.dark .spoon-filled,
body.dark .spoon-active{filter:drop-shadow(0 2px 4px rgba(0,0,0,.45));}

/* Rezeptdetail professioneller im Darkmode */
body.dark .recipe-hero,
body.dark .recipe-header,
body.dark .recipe-intro{
  background:#17211a!important;
  border-color:var(--border)!important;
  color:var(--text)!important;
}
body.dark .recipe-hero::after{background:linear-gradient(180deg,transparent,rgba(0,0,0,.62));}
body.dark .ingredient,
body.dark .instruction-step,
body.dark .nutrition-card,
body.dark .similar-recipe,
body.dark .related-recipe{
  background:#17211a!important;
  border-color:var(--border)!important;
  color:var(--text)!important;
}

/* Mobile Menüs / Dropdowns */
body.dark .mobile-panel,
body.dark .mobile-menu,
body.dark .mobile-search,
body.dark .category-menu,
body.dark .recipe-menu,
body.dark .dropdown,
body.dark .dropdown-menu{
  background:#1c271f!important;
  color:var(--text)!important;
  border-color:var(--border)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.55)!important;
}
body.dark .mobile-panel a,
body.dark .mobile-menu a,
body.dark .dropdown-menu a{color:var(--text)!important;}
body.dark .mobile-panel a:hover,
body.dark .mobile-menu a:hover,
body.dark .dropdown-menu a:hover{background:#263528!important;}


/* Löffelglück PWA / App-Installation */
.footer-app p {
    margin: 0 0 12px;
    color: rgba(255,255,255,.78);
    line-height: 1.5;
}
.footer-app-button,
.app-install-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 999px;
    padding: 13px 20px;
    background: #76a56f;
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 26px rgba(0,0,0,.14);
}
.app-install-btn.secondary {
    background: #f0e5d4;
    color: #70491e;
}
.app-install-btn:disabled {
    opacity: .75;
    cursor: default;
}
.app-install-btn.is-installed {
    background: #5d8057;
}
.app-download-hero {
    max-width: 980px;
    margin: 0 auto 28px;
    padding: 20px;
}
.app-download-card {
    background: linear-gradient(135deg, #fff8ef, #ffffff);
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 32px;
    padding: 34px;
    text-align: center;
    box-shadow: 0 18px 46px rgba(0,0,0,.08);
}
.app-icon-preview img {
    width: 96px;
    height: 96px;
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(0,0,0,.18);
}
.app-download-card h1 {
    margin: 18px 0 10px;
    font-size: clamp(2rem, 5vw, 3.1rem);
}
.app-download-card p {
    max-width: 680px;
    margin: 0 auto 22px;
    color: #666;
    line-height: 1.7;
}
.app-download-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}
.ios-install-help {
    display: none;
    margin: 22px auto 0;
    max-width: 620px;
    padding: 16px;
    border-radius: 18px;
    background: #fff4dc;
    color: #6d5400;
    line-height: 1.6;
}
.ios-install-help.open { display: block; }
.store-info-grid {
    max-width: 980px;
    margin: 0 auto 40px;
    padding: 0 20px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.store-info-grid article {
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 24px;
    padding: 22px;
    box-shadow: 0 10px 28px rgba(0,0,0,.055);
}
.store-info-grid h2 { margin-top: 0; }
@media (max-width: 760px) {
    .store-info-grid { grid-template-columns: 1fr; }
    .app-download-card { padding: 26px 20px; border-radius: 26px; }
}
body.dark .app-download-card,
body.dark .store-info-grid article {
    background: #1f1f1f;
    color: #fff;
    border-color: rgba(255,255,255,.12);
}
body.dark .app-download-card p { color: #ddd; }
body.dark .ios-install-help {
    background: #2b2115;
    color: #f2d49c;
}
body.dark .app-install-btn.secondary {
    background: #332719;
    color: #f0d4a6;
}
