/* ===========================
   Frontend styles (glassmorphism) — v2.1
   =========================== */

/* =============== */
/* Basis desktop   */
/* =============== */

.recept-card { width:100%; color:#fff; margin-top:60px; }
.recept-card h4 { font-size:24px; }
.recept-card strong { font-size:16px; padding-bottom:20px; }

.recept-meta { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:14px; border:1px solid #fff; border-radius:999px; padding:10px; }
.chip { background:rgba(255,255,255,0.06); padding:8px 12px; border-radius:999px; font-size:14px; }

/* Persons control */
.persons-control { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,0.06); border-radius:999px; padding:6px 10px; margin-left:auto; }
.persons-control .pc-btn { border:none; background:rgba(255,255,255,0.08); border-radius:50%; width:28px; height:28px; color:#fff; cursor:pointer; font-size:18px; line-height:28px; text-align:center; }
.persons-control .pc-value { min-width:24px; text-align:center; font-weight:600; }

/* Two column layout */
.recept-grid.two-cols { display:grid; grid-template-columns:1.2fr 1.8fr; gap:16px; margin-top:12px; }
.recept-column { background:rgba(0,0,0,0.15); padding:12px; border-radius:10px; min-height:120px; }
.recept-column h4 { margin-top:0; }
.recept-column ul { list-style:none; padding:0; margin:0; }
.recept-column li { display:flex; align-items:center; gap:8px; transition:all 0.25s ease; border-radius:999px; padding:5px; margin-bottom:10px; }
.recept-column li.done { color:#aaa; filter:blur(1px); text-decoration:line-through; opacity:0.6; transform:translateX(6px); }

.ingredient-group { margin-bottom:30px; }
.ingredient-group ul { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:10px; }
.ingredient-group li { flex:0 0 auto; padding:0; margin:0; border:0; }

.ingredient-row { display:flex; gap:10px; align-items:center; border:1px solid #fff; border-radius:999px; padding:1px 20px 1px 1px; margin-top:10px; }
.ingredient-row input[type="checkbox"] { display:none; }
.ingredient-row .amount { background:rgba(255,140,0,0.95); padding:10px; border-radius:999px; color:#fff; min-width:100px; text-align:center; font-weight:600; }
.ingredient-row .name { margin-left:10px; flex:0 1 auto; }

.recept-column.benodigdheden ul { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:10px; }
.recept-column.benodigdheden li { flex:0 0 auto; margin:0; padding:0; border:0; }
.recept-column.benodigdheden label { display:flex; align-items:center; gap:10px; border:1px solid #fff; border-radius:999px; padding:15px; cursor:pointer; line-height:1.2; }
.recept-column.benodigdheden input[type="checkbox"] { display:none; }
.recept-column.benodigdheden small { font-size:0.85em; opacity:0.85; }
.recept-column.benodigdheden li.done label { color:#fff; filter:blur(1px); text-decoration:line-through; opacity:0.9; transform:translateX(0); transition:all 0.25s ease; }

/* =============== */
/* Recept Steps    */
/* =============== */

:root {
  --card-bg: rgba(0,0,0,0.12);
  --chip-bg: rgba(255,255,255,0.12);
  --border: rgba(255,255,255,0.22);
  --border-subtle: rgba(255,255,255,0.14);
  --text: #fff;
  --muted: rgba(255,255,255,0.75);
  --accent: #ff8c00;
  --accent-2: #ffb347;
  --shadow: 0 10px 30px rgba(0,0,0,0.35);
}

.recept-steps { margin-top:22px; }
.recept-steps .step-card { display:flex; gap:16px; align-items:flex-start; background:var(--card-bg); border:1px solid #fff; border-radius:22px; padding:16px; margin-bottom:12px; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease; color:var(--text); position:relative; }
.recept-steps .step-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); border-color:var(--border); background:rgba(0,0,0,0.16); }

.step-left { display:flex; align-items:center; gap:12px; min-width:0; }
.step-number { order:-1; font-weight:700; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:linear-gradient(135deg, var(--accent), var(--accent-2)); border-radius:999px; padding:8px 10px; position:relative; }
.step-number::after { content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 18px rgba(255,255,255,0.18); }

.step-thumb, .thumb-placeholder { width:160px; height:160px; object-fit:cover; border-radius:16px; border:1px solid var(--border-subtle); box-shadow:0 8px 24px rgba(0,0,0,0.35); position:relative; overflow:hidden; }
.step-thumb::after, .thumb-placeholder::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom right, rgba(255,255,255,0.06), transparent 60%); }

.step-body { flex:1 1 auto; min-width:0; }
.step-body .step-title { margin:2px 0 8px; font-size:24px; line-height:1.25; font-weight:800; }
.step-body .step-text { color:var(--muted); font-size:15px; line-height:1.6; }

.step-action { margin-left:auto; display:flex; align-items:center; }
.step-card.done { color:rgba(255,255,255,0.7); text-decoration:line-through; opacity:.7; transform:translateX(4px); filter:grayscale(25%); }

.recept-actions { margin-top:16px; display:flex; gap:10px; flex-wrap:wrap; }
.recept-btn { background:rgba(255,255,255,0.08); border:1px solid var(--border-subtle); padding:10px 12px; border-radius:10px; cursor:pointer; color:#fff; font-weight:600; transition:background .15s ease, border-color .15s ease, transform .15s ease; }
.recept-btn:hover { background:rgba(255,255,255,0.12); border-color:var(--border); transform:translateY(-1px); }

.recept-player { margin-top:18px; }
.recept-extra { margin-top:14px; background:rgba(0,0,0,0.15); padding:14px; border-radius:14px; border:1px solid var(--border-subtle); }
.recept-extra h4 { margin:0 0 8px; }

/* =============== */
/* Lightbox        */
/* =============== */

.recept-lightbox { position:fixed; inset:0; display:none; align-items:center; justify-content:center; z-index:100000; isolation:isolate; }
.recept-lightbox.active { display:flex; }
.recept-lightbox .lb-backdrop { position:absolute; inset:0; background:rgba(0,0,0,0.8); z-index:1; backdrop-filter:blur(2px); }
.recept-lightbox .lb-content { position:relative; z-index:2; display:inline-block; max-width:min(92vw, 1200px); max-height:90vh; border-radius:14px; overflow:hidden; box-shadow:0 18px 60px rgba(0,0,0,0.55); border:1px solid var(--border); }
.recept-lightbox .lb-image { display:block; max-width:100%; max-height:90vh; }
.recept-lightbox .lb-close { position:absolute; top:10px; right:10px; z-index:3; border:none; background:rgba(0,0,0,0.45); color:#fff; font-size:20px; width:38px; height:38px; border-radius:50%; cursor:pointer; line-height:38px; text-align:center; box-shadow:0 6px 18px rgba(0,0,0,0.35); }

/* =============== */
/* Accessibility   */
/* =============== */

.step-card:focus-within { outline:none; box-shadow:0 0 0 3px rgba(255,140,0,0.4), var(--shadow); }
@media (prefers-reduced-motion:reduce) {
  .recept-steps .step-card, .recept-btn, .recept-lightbox .lb-close { transition:none !important; }
}

/* =============== */
/* Print           */
/* =============== */

@media print {
  .recept-steps .step-card { background:#fff !important; color:#000 !important; border-color:#000 !important; box-shadow:none !important; }
  .step-thumb, .thumb-placeholder { border:1px solid #000; box-shadow:none; }
  .recept-lightbox { display:none !important; }
}

/* ===========================
   RESPONSIVE — MOBIEL
   =========================== */

/* Tablets */
@media (max-width: 900px) {
  .recept-grid.two-cols { grid-template-columns:1fr; }
  .recept-meta { flex-direction:row; gap:8px; }
  .persons-control { margin-left:0; }
  .step-thumb, .thumb-placeholder { width:140px; height:140px; }
  .step-body .step-title { font-size:17px; }
  .step-body .step-text { font-size:14.5px; }
}

/* Telefoons en kleine tablets */
@media screen and (max-width: 680px) {
  .recept-card { margin-top:28px; }
  .recept-card h4 { font-size:18px; }
  .recept-card strong { font-size:14px; }

  .recept-meta { gap:6px; padding:8px; border-radius:16px; border-color:var(--border-subtle); }
  .chip { font-size:13px; padding:6px 10px; }

  .persons-control { width:100%; justify-content:space-between; padding:8px 10px; }
  .persons-control .pc-btn { width:36px; height:36px; line-height:36px; font-size:20px; }
  .persons-control .pc-value { min-width:30px; font-size:16px; }

  .recept-grid.two-cols { grid-template-columns:1fr !important; gap:12px; }

  .recept-column { padding:10px;  }
  .recept-column li { padding:0px;  }

  .ingredient-row { padding:2px 12px 2px 2px; gap:8px; }
  .ingredient-row .amount { min-width:84px; padding:8px; font-size:14px; }
  .ingredient-row .name { margin-left:6px; font-size:14px; }

  .recept-column.benodigdheden label { padding:10px 12px; gap:8px; }
  .recept-column.benodigdheden small { font-size:.8em; }


	
	.recept-steps .step-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
   
  }

  /* Nummer helemaal boven */
  .step-number {
   display:none;
  }

  /* Foto daaronder, full width */
  .step-thumb,
  .thumb-placeholder {
    order: 2;
    width: 100%;        /* bedekt volledige breedte */
    height: auto;
   
    border-radius: 12px;
    object-fit: cover;  /* vult het vlak mooi uit */
    display: block;     /* voorkomt inline-gaps */
  }

  /* Tekstblok onder foto */
  .step-body {
    order: 3;
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
  }
	
	.step-card input{
		display:none;
	}

  .step-body .step-title {
    font-size: 16px;
  
  }

  .step-body .step-text {
    font-size: 16px;
    line-height: 1.55;
  }
	
	
	
	
	
	
	
	
	
	
	

  .recept-actions { gap:8px; }
  .recept-btn { padding:9px 11px; border-radius:12px; }

  .recept-lightbox .lb-content { max-width:calc(100vw - 24px); max-height:calc(100vh - 24px); border-radius:12px; }
}

/* Mini-telefoons */
@media screen and (max-width: 420px) {
  .step-thumb, .thumb-placeholder { width:96px; height:96px; }
  .step-body .step-title { font-size:15px; }
  .step-body .step-text { font-size:13.5px; }
  .chip { font-size:12.5px; padding:5px 9px; }
  .ingredient-row .amount { min-width:78px; padding:7px; font-size:13.5px; }
}
