:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#26352e;background:#f5f4ef;font-size:17px;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:#245840;text-decoration:none}a:hover{text-decoration:underline}.topbar{background:#315943;color:#fff;padding:15px max(18px,calc((100vw - 1050px)/2));display:flex;gap:24px;justify-content:space-between;align-items:center;flex-wrap:wrap}.brand{color:white;font-size:1.3rem;font-weight:750}.topbar nav{display:flex;gap:16px;flex-wrap:wrap}.topbar nav a{color:white}.container{max-width:1080px;margin:0 auto;padding:26px 18px 50px}footer{text-align:center;color:#64746b;font-size:.83rem;padding:16px}h1{font-size:clamp(1.6rem,5vw,2.25rem);margin:.2em 0}h2{font-size:1.2rem;margin:20px 0 12px}p{margin:8px 0 18px}.muted{color:#68776f;font-size:.9rem}.panel,.recipe-card{background:white;border:1px solid #e0e4dd;border-radius:15px;padding:22px;box-shadow:0 2px 8px #1523190a}.narrow{max-width:570px;margin:20px auto}.page-title,.section-heading,.actions{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.page-title{margin:0 0 22px}.page-title p{color:#68776f}.tag{display:inline-block;background:#e6f1e9;color:#315943;font-size:.8rem;padding:3px 9px;border-radius:20px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.recipe-card{display:block;color:inherit}.recipe-card h2{margin:12px 0 4px}.recipe-card p{font-size:.93rem;color:#56665b}.filters{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.filters input{flex:2;min-width:180px}.filters select{flex:1;min-width:170px}label{display:block;font-weight:600;margin-bottom:15px}input:not([type=checkbox]),textarea,select{width:100%;padding:12px;margin-top:5px;border-radius:9px;border:1px solid #bfcac2;font:inherit;background:#fff;color:#26352e}input:focus,textarea:focus,select:focus{outline:3px solid #a9d0bd}button,.button{font:inherit;background:#315943;border:1px solid #315943;color:#fff;padding:11px 16px;border-radius:10px;cursor:pointer;display:inline-block;text-align:center;font-weight:650}button:hover,.button:hover{filter:brightness(1.1);text-decoration:none}.secondary{background:#f4f8f5;color:#315943;border-color:#bdcfbf}.danger{background:#fff6f5;color:#a62727;border-color:#e8c2c0}.delete-form{margin-top:22px;text-align:right}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.dynamic-list{display:grid;gap:10px}.dynamic-row{display:flex;align-items:flex-start;gap:8px}.dynamic-row input,.dynamic-row textarea{margin:0;flex:1;min-width:0}.dynamic-row .remove{padding:8px 14px;background:#f9f4f4;border-color:#e7d9d9;color:#8b3030;font-size:1.2rem}.actions{justify-content:flex-start;margin-top:20px}hr{border:0;border-top:1px solid #dfe6df;margin:22px 0}.stats{display:flex;gap:10px;flex-wrap:wrap}.stats span{background:#eef2ed;padding:9px 13px;border-radius:10px}.checklist{list-style:none;padding:0}.checklist li{padding:8px 0;border-bottom:1px solid #f0f0eb}.checklist label{font-weight:400;margin:0;display:flex;gap:10px;align-items:center}.checklist input{width:20px;height:20px;accent-color:#315943}.checklist input:checked+span{text-decoration:line-through;color:#7a887e}.steps{padding-left:30px}.steps li{padding:6px 0 12px}.notes{white-space:normal}.success{color:#23673b;background:#e7f4e8;padding:12px;border-radius:9px}.error{color:#9c2222;background:#ffebeb;padding:12px;border-radius:9px}.empty{text-align:center}@media(max-width:600px){.form-grid{grid-template-columns:1fr}.panel{padding:16px}.topbar nav{font-size:.88rem;gap:12px}}@media print{.topbar,footer,.actions,.delete-form,.page-title .button,button{display:none!important}body{background:#fff}.panel{border:0;box-shadow:none}}

/* Mijn Kookboek v0.2 — leesbare, volledig scrollbare receptweergave op iPad. */
:root { --reader-size: 20px; }
.recipe-view { max-width: 100%; }
.recipe-heading { align-items: flex-start; }
.recipe-heading h1 { max-width: 100%; overflow-wrap: anywhere; line-height: 1.2; }
.reader-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: -4px 0 16px; }
.reader-toolbar button { min-height: 48px; padding: 10px 16px; }
.font-controls { display: flex; gap: 8px; }
.font-controls button { min-width: 52px; }
.font-controls button:disabled { opacity: .45; cursor: not-allowed; }
.recipe-content { font-size: var(--reader-size); line-height: 1.65; }
.recipe-content .stats { margin-bottom: 22px; font-size: .84em; line-height: 1.35; }
.recipe-content .stats span { padding: 10px 14px; }
.recipe-section { margin-top: 26px; }
.recipe-section + .recipe-section { border-top: 1px solid #e3e9e3; padding-top: 10px; }
.recipe-content h2 { font-size: 1.22em; line-height: 1.3; margin: 14px 0 15px; }
.recipe-content .checklist { margin: 0; }
.recipe-content .checklist li { padding: 0; border-bottom: 1px solid #e8eee8; }
.recipe-content .checklist label { min-height: 52px; padding: 11px 4px; display: flex; align-items: center; gap: 16px; font-size: 1em; line-height: 1.45; cursor: pointer; }
.recipe-content .checklist input[type=checkbox] { appearance: auto; -webkit-appearance: checkbox; flex: 0 0 27px; width: 27px; height: 27px; margin: 0; accent-color: #315943; }
.recipe-content .checklist span { overflow-wrap: anywhere; }
.recipe-content .steps { padding-left: 1.65em; margin: 0; }
.recipe-content .steps li { padding: 7px 0 19px 5px; line-height: 1.65; overflow-wrap: anywhere; }
.recipe-content .steps li::marker { color: #315943; font-weight: 750; }
.recipe-content .notes { line-height: 1.7; overflow-wrap: anywhere; }
.recipe-actions { margin-top: 30px; }
.recipe-actions .button, .recipe-actions button { min-height: 48px; }
body.cook-mode .topbar, body.cook-mode footer, body.cook-mode .recipe-heading .edit-link, body.cook-mode .delete-form, body.cook-mode .recipe-actions { display: none !important; }
body.cook-mode { background: #fff; }
body.cook-mode .container { max-width: 1150px; padding-top: 18px; }
body.cook-mode .recipe-content { border: 0; box-shadow: none; padding: 10px 0; }
body.cook-mode .reader-toolbar { position: sticky; top: 0; z-index: 5; background: #fff; padding: 10px 0; border-bottom: 1px solid #dbe5dc; }
body.cook-mode .recipe-heading { margin-bottom: 10px; }
@media (max-width: 800px) {
  .container { max-width: none; padding: 20px 16px 38px; }
  .recipe-content { padding: 19px; }
  .recipe-content .stats { gap: 8px; }
  .recipe-content .stats span { font-size: .86em; }
  .recipe-content .steps li { padding-bottom: 20px; }
  .reader-toolbar { margin-top: 2px; }
}
@media (max-width: 480px) {
  .recipe-content { padding: 14px; }
  .recipe-content .stats span { width: 100%; }
  .recipe-content .checklist label { padding: 12px 1px; }
}
@media print {
  .reader-toolbar { display: none !important; }
  .recipe-content { font-size: 12pt; }
  .recipe-content .checklist label { min-height: unset; padding: 4px; }
  .recipe-content .steps li { padding-bottom: 7px; }
  .recipe-content .stats span { background: transparent; }
}

/* Mijn Kookboek 0.3: compacte fotokop, iPad-vriendelijk */
.recipe-photo-hero{position:relative;border-radius:16px;overflow:hidden;background:#315943;color:#fff;min-height:180px;display:flex;align-items:flex-end;margin-bottom:12px}
.recipe-photo-hero.has-image{height:clamp(220px,34vw,360px)}
.recipe-photo-hero.no-image{min-height:155px}
.recipe-photo-hero .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.recipe-photo-hero .hero-shade{position:relative;z-index:1;width:100%;padding:24px 24px 22px;background:linear-gradient(0deg,rgba(13,25,17,.91) 0%,rgba(13,25,17,.7) 64%,rgba(13,25,17,.04) 100%)}
.recipe-photo-hero.no-image .hero-shade{background:transparent}
.recipe-photo-hero h1{font-size:clamp(1.5rem,3.5vw,2.35rem);line-height:1.2;margin:9px 0 12px;overflow-wrap:anywhere;color:white;text-shadow:0 1px 3px #142b2080}
.recipe-photo-hero .tag{background:#eaf1e9;color:#214431}
.hero-facts{display:flex;gap:8px;flex-wrap:wrap;font-size:.84rem}
.hero-facts span{border:1px solid #ffffff55;background:#0b1d1399;color:#fff;border-radius:20px;padding:5px 12px}
.hero-under{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:0 0 14px;color:#64746b;font-size:.9rem}
.hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.hero-actions .button{padding:9px 13px}
.recipe-gallery,.manage-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.recipe-gallery a{display:block;aspect-ratio:4/3;border-radius:10px;overflow:hidden}
.recipe-gallery img,.photo-entry img{display:block;width:100%;height:100%;object-fit:cover}
.photo-entry img{height:180px;border-radius:10px;object-fit:cover}
.photo-entry{border:1px solid #e2e8e0;border-radius:12px;padding:10px;min-width:0}
.photo-buttons{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.photo-buttons button{padding:7px 10px}
@media(max-width:600px){.recipe-photo-hero.has-image{height:250px}.recipe-photo-hero .hero-shade{padding:15px}.hero-facts span{padding:5px 9px}.hero-actions .button{font-size:.85rem}}
body.cook-mode .hero-under{display:none}
@media print{.recipe-photo-hero{color:#111;background:#fff;min-height:0!important;height:auto!important}.recipe-photo-hero .hero-photo{display:none}.recipe-photo-hero .hero-shade{background:#fff;color:#111;padding:0}.recipe-photo-hero h1{color:#111;text-shadow:none}.hero-facts span{color:#111;background:#fff;border:0}.hero-under{display:none}}
