/* Kahvecioğlu Randevu Wizard — Style */
*,*::before,*::after{box-sizing:border-box}
:root{
    --bg:#F5F1EB;
    --surface:#FFFFFF;
    --ink:#2A1F18;
    --ink-soft:#6B5849;
    --muted:#8B7A6A;
    --line:#E2D8CB;
    --primary:#8B5A2B;
    --primary-dark:#6E4520;
    --primary-light:#F5E6D8;
    --accent:#2D6A4F;
    --warn:#E07A1F;
    --danger:#B83227;
    --success:#2D8A4F;
    --shadow:0 2px 8px rgba(0,0,0,.06);
    --radius:12px;
}
html,body{margin:0;padding:0}
body{
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
    background:var(--bg);
    color:var(--ink);
    font-size:15px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}

/* Header */
.site-header{background:var(--surface);border-bottom:1px solid var(--line)}
.header-inner{max-width:1000px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.site-brand{font-weight:700;font-size:17px;color:var(--ink)}
.header-nav{display:flex;gap:16px;font-size:14px}
.site-footer{padding:24px 20px;text-align:center;color:var(--muted);font-size:13px;border-top:1px solid var(--line);background:var(--surface)}

/* Wizard */
.wizard{max-width:880px;margin:0 auto;padding:24px 16px 48px}
.wiz-progress{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:0 0 24px}
.wiz-progress .step{
    flex:1;min-width:120px;padding:8px 10px;background:var(--surface);border:1px solid var(--line);
    border-radius:8px;text-align:center;font-size:13px;color:var(--ink-soft);font-weight:600;
}
.wiz-progress .step.is-active{background:var(--primary);color:#fff;border-color:var(--primary)}
.wiz-progress .step.is-done{background:var(--primary-light);color:var(--primary);border-color:var(--primary-light)}

.wiz-step{display:none}
.wiz-step.is-active{display:block}
.wiz-h{margin:0 0 18px;font-size:22px;font-weight:700;color:var(--ink)}

/* Doctor cards */
.doctor-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.doctor-card{cursor:pointer;display:block}
.doctor-card input{position:absolute;opacity:0;pointer-events:none}
.doctor-card-inner{
    background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);
    padding:18px;display:flex;gap:14px;transition:border-color .15s, box-shadow .15s, transform .05s;
    box-shadow:var(--shadow);
}
.doctor-card:hover .doctor-card-inner{border-color:var(--primary);box-shadow:0 6px 16px rgba(139,90,43,.18)}
.doctor-card input:checked + .doctor-card-inner{border-color:var(--primary);background:var(--primary-light);box-shadow:0 6px 16px rgba(139,90,43,.22)}
.doctor-photo{width:80px;height:80px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--line);display:flex;align-items:center;justify-content:center}
.doctor-photo img{width:100%;height:100%;object-fit:cover}
.photo-placeholder{font-size:28px;font-weight:700;color:var(--primary)}
.doctor-info h3{margin:0 0 4px;font-size:17px;font-weight:700}
.doctor-title{margin:0 0 4px;font-size:14px;color:var(--primary);font-weight:600}
.doctor-univ{margin:0;font-size:13px;color:var(--muted)}

/* Type cards */
.type-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.type-card{
    background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);
    padding:24px 18px;text-align:center;cursor:pointer;display:block;
    transition:border-color .15s, transform .05s, box-shadow .15s;
    box-shadow:var(--shadow);position:relative;
}
.type-card input{position:absolute;opacity:0;pointer-events:none}
.type-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 6px 16px rgba(139,90,43,.18)}
.type-card:has(input:checked){border-color:var(--primary);background:var(--primary-light)}
.type-icon{display:block;font-size:36px;margin-bottom:8px}
.type-name{display:block;font-size:16px;font-weight:700;color:var(--ink);margin-bottom:4px}
.type-desc{display:block;font-size:13px;color:var(--ink-soft)}

/* Date & slots */
.dt-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:20px}
.dt-cal,.dt-slots{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.dt-label{display:block;font-size:14px;font-weight:600}
.dt-label input{width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:8px;font-size:15px;font-family:inherit}
.dt-slots-label{font-weight:600;margin:0 0 10px}
.slot-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;max-height:260px;overflow-y:auto}
.slot-btn{
    padding:9px 6px;background:var(--surface);border:1.5px solid var(--line);border-radius:6px;
    cursor:pointer;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);
    transition:border-color .12s, background .12s;
}
.slot-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}
.slot-btn.is-selected{background:var(--primary);color:#fff;border-color:var(--primary)}
.slot-btn:disabled{opacity:.4;cursor:not-allowed;background:var(--bg)}
.empty{text-align:center;color:var(--muted);padding:18px 0;font-style:italic}
.hint{font-size:13px;color:var(--muted);margin:6px 0 0}

/* Form */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid .full{grid-column:1 / -1}
.form-grid label > span{display:block;font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:6px}
.form-grid label em{color:var(--danger);font-style:normal}
.form-grid input[type="text"],
.form-grid input[type="tel"],
.form-grid textarea{
    width:100%;padding:10px 12px;border:1px solid var(--line);
    border-radius:8px;font-size:15px;font-family:inherit;background:var(--surface);
}
.form-grid input:focus,
.form-grid textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(139,90,43,.15)}
.form-grid textarea{resize:vertical;min-height:80px}
.checkbox-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0}
.checkbox-row input{width:18px;height:18px;margin-top:3px;flex-shrink:0;accent-color:var(--primary)}
.checkbox-row span{font-size:14px;line-height:1.4;color:var(--ink)}
.checkbox-row.required span{color:var(--ink)}

/* Summary box */
.summary-box{
    margin-top:18px;background:var(--primary-light);border-radius:var(--radius);
    padding:14px 16px;font-size:14px;color:var(--ink);border-left:4px solid var(--primary);
}
.summary-box dl{display:grid;grid-template-columns:120px 1fr;gap:4px 12px;margin:0}
.summary-box dt{color:var(--ink-soft);font-weight:600}
.summary-box dd{margin:0;font-weight:600}

/* Wizard nav */
.wiz-nav{display:flex;justify-content:space-between;gap:10px;margin-top:24px;flex-wrap:wrap}

/* Wizard inline error */
.wiz-err{
    background:#FBE1DC;color:#7A1F18;border-left:4px solid var(--danger);
    padding:10px 14px;border-radius:8px;font-size:14px;margin:14px 0 0;font-weight:600;
}

/* Loading state for slots */
.loading{text-align:center;color:var(--muted);padding:18px 0;font-style:italic}
.empty.error{color:var(--danger);font-style:normal}

/* Disabled type card (doctor doesn't support this type) */
.type-card.is-disabled{opacity:.35;cursor:not-allowed;pointer-events:none;filter:grayscale(.4)}

/* Summary headings inside summary box */
.summary-h{margin:0 0 10px;font-size:15px;color:var(--primary);font-weight:700}
.summary-dl{display:grid;grid-template-columns:120px 1fr;gap:4px 12px;margin:0;font-size:14px}
.summary-dl dt{color:var(--ink-soft);font-weight:600}
.summary-dl dd{margin:0;font-weight:600}

/* Buttons */
.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:6px;
    padding:11px 22px;border:1px solid transparent;border-radius:8px;
    font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;
    transition:background .15s, border-color .15s, transform .05s;
    background:transparent;color:var(--ink);text-decoration:none;
}
.btn:hover{text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}
.btn-primary:disabled{opacity:.5;cursor:not-allowed}
.btn-ghost{border-color:var(--line);background:var(--surface)}
.btn-ghost:hover{background:var(--bg)}
.btn-ghost:disabled{opacity:.4;cursor:not-allowed}
.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}
.btn-block{width:100%}

/* Alerts */
.alert{padding:12px 14px;border-radius:8px;margin:0 0 18px;font-size:14px}
.alert-error{background:#FBE1DC;color:#7A1F18;border-left:4px solid var(--danger)}
.alert-success{background:#D6F0DE;color:#1F4F3A;border-left:4px solid var(--success)}

/* Confirm page */
.confirm-page{max-width:560px;margin:0 auto;padding:48px 20px}
.confirm-card{
    background:var(--surface);border-radius:16px;
    padding:36px 30px;text-align:center;box-shadow:0 8px 28px rgba(0,0,0,.08);
}
.confirm-success{border-top:6px solid var(--success)}
.confirm-error{border-top:6px solid var(--danger)}
.confirm-icon{font-size:56px;margin-bottom:8px;line-height:1}
.confirm-card h1{margin:0 0 8px;font-size:24px}
.confirm-lead{color:var(--ink-soft);margin:0 0 22px}
.confirm-details{display:grid;grid-template-columns:130px 1fr;gap:8px 14px;text-align:left;margin:0 0 22px;padding:14px 16px;background:var(--bg);border-radius:10px}
.confirm-details dt{color:var(--ink-soft);font-weight:600;font-size:13px}
.confirm-details dd{margin:0;font-weight:600}
.cancel-code{font-size:22px;letter-spacing:4px;color:var(--primary);font-variant-numeric:tabular-nums}
.confirm-note{background:#FFF4E5;border:1px solid #FAD7A1;padding:10px 14px;border-radius:8px;text-align:left;font-size:13px;color:#7A5B14;margin:0 0 18px}
.confirm-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* Cancel form */
.cancel-form{text-align:left}
.cancel-form label{display:block;margin:0 0 14px}
.cancel-form label > span{display:block;font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:6px}
.cancel-form input{
    width:100%;padding:11px 12px;border:1px solid var(--line);
    border-radius:8px;font-size:16px;font-family:inherit;background:var(--surface);
}
.cancel-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(139,90,43,.15)}

/* KVKK page */
.kvkk-page{max-width:800px;margin:0 auto;padding:32px 20px 48px}
.kvkk-content{background:var(--surface);border-radius:var(--radius);padding:30px 28px;box-shadow:var(--shadow)}
.kvkk-content h1{margin:0 0 8px;font-size:24px}
.kvkk-content h2{margin:22px 0 8px;font-size:17px;color:var(--primary)}
.kvkk-content p,.kvkk-content li{font-size:14px;line-height:1.65;color:var(--ink)}
.kvkk-content ul{padding-left:22px}
.kvkk-lead{color:var(--ink-soft)}
.kvkk-foot{margin-top:24px;padding:14px;background:var(--primary-light);border-radius:8px;font-style:italic}

/* Responsive */
@media (max-width:640px){
    .wizard{padding:14px 10px 32px}
    .dt-grid{grid-template-columns:1fr}
    .form-grid{grid-template-columns:1fr}
    .wiz-h{font-size:18px}
    .wiz-progress .step{min-width:auto;font-size:11px;padding:6px 6px}
    .confirm-details{grid-template-columns:1fr;gap:2px}
    .confirm-details dt{padding-top:8px;border-top:1px solid var(--line)}
    .confirm-details dt:first-child{border-top:none;padding-top:0}
}
