/* Webboll Nutrition — Public CSS */
.wbn-pub {
    --wbn-green:#16a34a; --wbn-green-d:#15803d; --wbn-border:#e2e5ea; --wbn-muted:#6b7280;
    max-width:820px; margin:0 auto; font-size:15px; color:#1f2937;
    box-sizing:border-box;
}
.wbn-pub *, .wbn-pub *::before, .wbn-pub *::after { box-sizing:border-box; }
.wbn-pub h2,.wbn-pub h3,.wbn-pub h4 { color:#111827; }
.wbn-muted { color:var(--wbn-muted); font-size:13px; }
.wbn-pub-notice { background:#f0fdf4; border:1px solid #bbf7d0; color:#166534; padding:14px 18px; border-radius:10px; }

/* ---------- Booking wizard ---------- */
.wbn-pub-steps { display:flex; gap:6px; margin-bottom:24px; flex-wrap:wrap; }
.wbn-pub-steps .wbn-step {
    flex:1; min-width:120px; text-align:center; padding:10px 6px; font-size:13px; font-weight:600;
    color:var(--wbn-muted); background:#f3f4f6; border-radius:8px; border:2px solid transparent;
}
.wbn-pub-steps .wbn-step.active { color:#fff; background:var(--wbn-green); }

.wbn-step-panel { display:none; animation:wbnFade .25s ease; }
.wbn-step-panel.active { display:block; }
@keyframes wbnFade { from{opacity:0;transform:translateY(8px);} to{opacity:1;transform:none;} }

/* Diyetisyen kartları */
.wbn-diet-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; margin:16px 0; }
.wbn-diet-card { position:relative; cursor:pointer; display:block; }
.wbn-diet-card input { position:absolute; opacity:0; }
.wbn-diet-card-body {
    display:block; padding:18px; border:2px solid var(--wbn-border); border-radius:12px; background:#fff;
    transition:border-color .15s, box-shadow .15s;
}
.wbn-diet-card:hover .wbn-diet-card-body { border-color:var(--wbn-green); }
.wbn-diet-card input:checked + .wbn-diet-card-body { border-color:var(--wbn-green); box-shadow:0 0 0 3px rgba(22,163,74,.15); background:#f0fdf4; }
.wbn-diet-name { display:block; font-weight:700; font-size:16px; }
.wbn-diet-spec { display:block; color:var(--wbn-muted); font-size:13px; margin-top:2px; }
.wbn-diet-price { display:inline-block; margin-top:8px; font-weight:700; color:var(--wbn-green-d); }

/* Tarih & slotlar */
.wbn-date-row { margin:16px 0; }
.wbn-date-row input { padding:8px 10px; border:1px solid var(--wbn-border); border-radius:8px; font-size:15px; }
.wbn-slots { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.wbn-slot {
    padding:9px 16px; border:1px solid var(--wbn-border); border-radius:8px; background:#fff;
    cursor:pointer; font-size:14px; font-weight:600; color:#374151; transition:all .12s;
}
.wbn-slot:hover { border-color:var(--wbn-green); color:var(--wbn-green-d); }
.wbn-slot.selected { background:var(--wbn-green); border-color:var(--wbn-green); color:#fff; }
.wbn-slot-taken { opacity:.4; text-decoration:line-through; cursor:not-allowed; }

/* Form alanları */
.wbn-pub .wbn-field-row { display:flex; gap:14px; flex-wrap:wrap; }
.wbn-pub .wbn-field-row label { flex:1; min-width:180px; }
.wbn-pub label { display:block; margin-bottom:14px; font-weight:600; font-size:14px; }
.wbn-pub label input, .wbn-pub label textarea, .wbn-pub label select {
    display:block; width:100%; margin-top:5px; padding:9px 11px; font-weight:400; font-size:15px;
    border:1px solid var(--wbn-border); border-radius:8px;
}

/* Özet */
.wbn-summary { background:#f9fafb; border:1px solid var(--wbn-border); border-radius:12px; padding:18px; margin:16px 0; }
.wbn-sum-row { display:flex; justify-content:space-between; padding:7px 0; border-bottom:1px solid #eef0f3; }
.wbn-sum-row:last-child { border-bottom:none; }
.wbn-sum-row span { color:var(--wbn-muted); }

/* OTP */
.wbn-otp-box { background:#fffbeb; border:1px solid #fde68a; border-radius:12px; padding:18px; margin:16px 0; text-align:center; }
.wbn-otp-box input { font-size:28px; letter-spacing:10px; text-align:center; width:200px; padding:8px; border:2px solid var(--wbn-green); border-radius:8px; }

/* Butonlar / nav */
.wbn-step-nav { display:flex; justify-content:space-between; gap:10px; margin-top:20px; }
.wbn-btn {
    padding:11px 22px; border:none; border-radius:8px; font-size:15px; font-weight:600; cursor:pointer;
    background:#f3f4f6; color:#374151; transition:background .12s;
}
.wbn-btn:hover { background:#e5e7eb; }
.wbn-btn:disabled { opacity:.5; cursor:not-allowed; }
.wbn-btn.wbn-next, .wbn-btn.wbn-btn-primary { background:var(--wbn-green); color:#fff; margin-left:auto; }
.wbn-btn.wbn-next:hover, .wbn-btn.wbn-btn-primary:hover { background:var(--wbn-green-d); }
.wbn-book-result { margin-top:16px; }
.wbn-ok { background:#f0fdf4; border:1px solid #bbf7d0; color:#166534; padding:16px; border-radius:10px; font-weight:600; }
.wbn-err { background:#fef2f2; border:1px solid #fecaca; color:#991b1b; padding:14px; border-radius:10px; }

/* ---------- Portal ---------- */
.wbn-portal-header { margin-bottom:18px; }
.wbn-portal-header h2 { margin:0 0 4px; }
.wbn-portal-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:12px; margin-bottom:8px; }
.wbn-pcard { background:#fff; border:1px solid var(--wbn-border); border-radius:12px; padding:14px; text-align:center; }
.wbn-pcard-label { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--wbn-muted); }
.wbn-pcard-val { display:block; font-size:24px; font-weight:700; color:var(--wbn-green-d); }
.wbn-pcard-sub { display:block; font-size:11px; color:var(--wbn-muted); }

.wbn-portal-tabs { display:flex; gap:4px; border-bottom:2px solid var(--wbn-border); margin:18px 0; flex-wrap:wrap; }
.wbn-ptab { padding:10px 16px; text-decoration:none; color:var(--wbn-muted); font-weight:600; border-bottom:3px solid transparent; margin-bottom:-2px; }
.wbn-ptab.active { color:var(--wbn-green-d); border-bottom-color:var(--wbn-green); }
.wbn-ppanel { display:none; }
.wbn-ppanel.active { display:block; }

.wbn-pub-table { width:100%; border-collapse:collapse; margin-top:14px; }
.wbn-pub-table th { text-align:left; padding:9px 10px; background:#f9fafb; font-size:13px; border-bottom:2px solid var(--wbn-border); }
.wbn-pub-table td { padding:9px 10px; border-bottom:1px solid #f0f1f3; font-size:14px; }

.wbn-pub-day { margin-bottom:18px; }
.wbn-pub-day h4 { margin:10px 0 8px; color:var(--wbn-green-d); border-bottom:1px solid var(--wbn-border); padding-bottom:4px; }
.wbn-pub-meal { background:#fff; border:1px solid var(--wbn-border); border-radius:10px; margin-bottom:10px; overflow:hidden; }
.wbn-pub-meal-head { display:flex; align-items:center; gap:10px; padding:10px 14px; background:#f9fafb; border-bottom:1px solid var(--wbn-border); }
.wbn-pub-meal-cal { margin-left:auto; font-weight:600; color:var(--wbn-green-d); }
.wbn-pub-meal ul { list-style:none; margin:0; padding:8px 14px; }
.wbn-pub-meal li { padding:5px 0; border-bottom:1px solid #f3f4f6; font-size:14px; }
.wbn-pub-meal li:last-child { border-bottom:none; }

.wbn-pub-goal { margin-bottom:14px; }
.wbn-pub-goal-head { display:flex; justify-content:space-between; margin-bottom:5px; }
.wbn-progress { background:#e5e7eb; border-radius:20px; height:9px; overflow:hidden; }
.wbn-progress-bar { background:var(--wbn-green); height:100%; border-radius:20px; }
.wbn-plan-meta { display:flex; gap:10px; margin:10px 0; flex-wrap:wrap; }
.wbn-chip-lg { padding:4px 12px; font-size:13px; border-radius:20px; background:#eef2f5; color:#374151; }

@media(max-width:640px){
    .wbn-pub-steps .wbn-step { font-size:11px; min-width:80px; }
    .wbn-pub .wbn-field-row { flex-direction:column; gap:0; }
}
