:root{
  --nova:#8B0000; --nova-dark:#5C0000; --bg:#f4f5f7; --card:#fff;
  --ink:#1f2328; --muted:#6b7280; --line:#e6e8eb; --ok:#1b7f3b; --radius:16px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
a{color:var(--nova);text-decoration:none}
img{max-width:100%;height:auto;display:block}

/* Üst bar */
.app-header{background:linear-gradient(135deg,var(--nova),var(--nova-dark));color:#fff;padding:14px 18px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:10;box-shadow:0 4px 18px rgba(92,0,0,.28)}
.app-header .logo{height:32px}
.app-header h1{font-size:18px;margin:0;font-weight:700;letter-spacing:.3px}
.app-header .sub{font-size:12px;opacity:.85;margin-top:1px}

.wrap{max-width:560px;margin:0 auto;padding:14px 14px 28px}

/* Adım göstergesi */
.steps{display:flex;gap:6px;margin:6px 2px 14px}
.steps .dot{flex:1;height:6px;border-radius:6px;background:#e0e2e6;overflow:hidden;position:relative}
.steps .dot:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--nova),var(--nova-dark));transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.steps .dot.active:after,.steps .dot.done:after{transform:scaleX(1)}

.card{background:var(--card);border-radius:var(--radius);box-shadow:0 8px 26px rgba(20,20,40,.07);padding:18px 16px;margin-bottom:12px}

/* Adım geçişleri */
.step{display:none}
.step.active{display:block;animation:stepIn .35s var(--ease)}
@keyframes stepIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.step h2{font-size:19px;margin:0 0 3px;font-weight:800}
.step .hint{color:var(--muted);font-size:13px;margin:0 0 12px;line-height:1.45}

label.fld{display:block;font-weight:600;font-size:13px;margin:11px 0 5px}
label.fld:first-of-type{margin-top:2px}
input[type=text],input[type=tel],input[type=number],input[type=date],input[type=time],select,textarea{
  width:100%;padding:12px 13px;border:1.5px solid var(--line);border-radius:11px;font-size:16px;background:#fff;color:var(--ink);transition:border-color .18s,box-shadow .18s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--nova);box-shadow:0 0 0 3px rgba(139,0,0,.1)}
textarea{min-height:88px;resize:vertical}
.two{display:flex;gap:10px}.two>div{flex:1}

/* Hizmet kutucukları */
.services{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.svc{position:relative;border:1.5px solid var(--line);border-radius:13px;padding:14px 12px 14px 42px;cursor:pointer;font-size:14.5px;font-weight:600;background:#fff;user-select:none;transition:border-color .18s,background .18s,transform .12s,box-shadow .18s}
.svc:before{content:"";position:absolute;left:13px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:2px solid #cfd3d8;border-radius:7px;transition:.18s var(--ease)}
.svc input{position:absolute;opacity:0;pointer-events:none}
.svc:active{transform:scale(.97)}
.svc.on{border-color:var(--nova);background:#fff5f5;box-shadow:0 4px 14px rgba(139,0,0,.1)}
.svc.on:before{background:var(--nova);border-color:var(--nova)}
.svc.on:after{content:"✓";position:absolute;left:17px;top:50%;transform:translateY(-50%);color:#fff;font-size:12px;font-weight:900}
@media(max-width:380px){.services{grid-template-columns:1fr}}

/* Tarih & saat */
.mode{display:flex;gap:8px;margin-bottom:12px}
.mode button{flex:1;border:1.5px solid var(--line);background:#fff;border-radius:11px;padding:11px;font-weight:700;cursor:pointer;font-size:14px;transition:.18s;color:var(--ink)}
.mode button.on{background:var(--nova);color:#fff;border-color:var(--nova);box-shadow:0 4px 14px rgba(139,0,0,.18)}
.daybar{display:flex;gap:9px;overflow-x:auto;padding:2px 2px 8px;-webkit-overflow-scrolling:touch}
.day{flex:0 0 auto;min-width:60px;text-align:center;border:1.5px solid var(--line);border-radius:13px;padding:9px 6px;cursor:pointer;background:#fff;transition:.18s var(--ease)}
.day:active{transform:scale(.95)}
.day.on{border-color:var(--nova);background:var(--nova);color:#fff;box-shadow:0 6px 16px rgba(139,0,0,.22)}
.day.off{opacity:.32;cursor:not-allowed}
.day .d{font-size:12px;opacity:.9}.day .n{font-size:20px;font-weight:800;line-height:1.1}.day .m{font-size:11px;opacity:.9}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:10px}
.slot{border:1.5px solid var(--line);border-radius:11px;padding:12px 4px;text-align:center;font-weight:700;cursor:pointer;background:#fff;font-size:15px;transition:.16s var(--ease);animation:pop .3s var(--ease) both}
.slot:active{transform:scale(.95)}
.slot.on{background:var(--nova);color:#fff;border-color:var(--nova);box-shadow:0 6px 16px rgba(139,0,0,.22)}
.slot.full{opacity:.32;text-decoration:line-through;cursor:not-allowed}
@keyframes pop{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
.muted-note{color:var(--muted);font-size:13px;margin-top:8px}

/* Fotoğraf */
.photohint{color:var(--muted);font-size:12.5px;margin:0 0 10px;line-height:1.45}
.photos{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.photo-add{position:relative;overflow:hidden;width:82px;height:82px;border:2px dashed #cfd3d8;border-radius:13px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:30px;cursor:pointer;transition:.18s}
.photo-add span{pointer-events:none;line-height:1}
.photo-add input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:0}
.photo-add:active{transform:scale(.95);border-color:var(--nova);color:var(--nova)}
.photo-thumb{width:82px;height:82px;border-radius:13px;object-fit:cover}
.thumb-wrap{position:relative;animation:pop .3s var(--ease) both}
.thumb-wrap .x{position:absolute;top:-7px;right:-7px;background:var(--nova);color:#fff;border-radius:50%;width:23px;height:23px;display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.25)}

.check{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:13px;color:var(--muted);line-height:1.45}
.check input{margin-top:1px;width:20px;height:20px;flex:0 0 auto;accent-color:var(--nova)}

/* Özet */
.summary-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.summary-row b{font-weight:700;text-align:right}
.tag{display:inline-block;background:#fff5f5;color:var(--nova);border:1px solid #f2d0d0;border-radius:20px;padding:4px 11px;font-size:12.5px;margin:4px 5px 0 0}

/* Aksiyon butonları — sabit değil, form alanlarının hemen altında */
.actions{display:flex;gap:10px;margin-top:4px}
.btn{flex:1;border:0;border-radius:13px;padding:15px;font-size:16px;font-weight:700;cursor:pointer;transition:transform .1s,box-shadow .18s,opacity .18s}
.btn:active{transform:translateY(1px) scale(.99)}
.btn-primary{background:var(--nova);color:#fff;box-shadow:0 6px 18px rgba(139,0,0,.26)}
.btn-primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.btn-ghost{background:#eceef1;color:var(--ink);flex:0 0 34%}
.err-msg{background:#fdecea;color:var(--nova);border:1px solid #f5c6cb;padding:11px 13px;border-radius:11px;margin:12px 0 0;font-size:14px;display:none;animation:shake .35s}
@keyframes shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}

/* Teşekkür */
.thanks{text-align:center;padding:26px 18px}
.thanks .big{font-size:54px;animation:pop .5s var(--ease) both}
.thanks .code{font-size:23px;font-weight:800;letter-spacing:2px;background:#fff5f5;color:var(--nova);border:1px dashed var(--nova);border-radius:13px;padding:12px 16px;margin:14px 0;display:inline-block}
.btn-google{display:inline-block;background:var(--nova);color:#fff;padding:14px 24px;border-radius:13px;font-weight:700;margin-top:8px;box-shadow:0 6px 18px rgba(139,0,0,.26)}
.btn-google:active{transform:translateY(1px)}

/* Uygulama alt bilgi */
.appfoot{text-align:center;margin-top:18px;font-size:13px;color:var(--muted)}
.appfoot a{color:var(--nova);font-weight:600}
.appfoot .cpy{margin-top:6px;font-size:12px;color:#9aa0a8}

/* Çentikli ekranlar / mobil uygulama (safe-area) */
.app-header{padding-top:calc(14px + env(safe-area-inset-top));padding-left:calc(18px + env(safe-area-inset-left));padding-right:calc(18px + env(safe-area-inset-right))}
.wrap{padding-bottom:calc(28px + env(safe-area-inset-bottom))}
html{-webkit-text-size-adjust:100%}
body{overscroll-behavior-y:contain}
@media (max-width:400px){
  .wrap{padding-left:12px;padding-right:12px}
  .card{padding:16px 14px}
  .services{gap:8px}
}
/* Dokunmatik cihazlarda hover'ı bastır */
@media (hover:none){ .svc:hover,.day:hover,.slot:hover{background:#fff} }

/* Üst bar: başlık ortada, buton sağda */
.app-header-t{flex:1;min-width:0}
.header-btn{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:20px;padding:8px 13px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.header-btn:active{transform:scale(.96)}

/* Karşılama */
.greet{background:#fff;border-radius:12px;padding:11px 14px;margin-bottom:10px;font-size:14px;box-shadow:0 4px 16px rgba(20,20,40,.05)}

/* Paket banner (mobiloto'dan gelindiğinde) */
.pkg-banner{display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,#8B0000,#5C0000);color:#fff;border-radius:14px;padding:14px 16px;margin-bottom:12px;box-shadow:0 8px 22px rgba(139,0,0,.25)}
.pkg-banner .pkg-ic{font-size:26px;line-height:1}
.pkg-banner .pkg-t{display:flex;flex-direction:column;gap:3px}
.pkg-banner .pkg-t b{font-size:15px}
.pkg-banner .pkg-t span{font-size:12.5px;opacity:.9}

/* Hatırlatma bandı */
.reminder{display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,#fff5f5,#ffeaea);border:1px solid #f2c9c9;border-radius:14px;padding:13px 15px;margin-bottom:12px;box-shadow:0 6px 18px rgba(139,0,0,.08)}
.reminder .rem-ic{font-size:26px;line-height:1}
.reminder .rem-t{display:flex;flex-direction:column;gap:2px}
.reminder .rem-t b{font-size:14.5px;color:var(--nova-dark)}
.reminder .rem-t span{font-size:12.5px;color:var(--muted)}
.reminder .rem-st{font-weight:700;color:var(--nova)!important}

/* Buton konumu: karta yakın */
.card{margin-bottom:10px}
.steps{margin-bottom:12px}

/* Dinamik alt bilgi (JS ile kurulur) */
.appfoot{margin-top:22px}
.foot-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;text-align:center;box-shadow:0 6px 20px rgba(20,20,40,.05)}
.foot-status{font-size:14px;font-weight:600;margin-bottom:13px;display:inline-flex;align-items:center;gap:8px;color:var(--muted)}
.foot-status b{color:var(--ink)}
.live{width:9px;height:9px;border-radius:50%;display:inline-block}
.live.g{background:#2ecc71;animation:pulse 1.8s infinite}
.live.r{background:#c0392b}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(46,204,113,.55)}70%{box-shadow:0 0 0 8px rgba(46,204,113,0)}100%{box-shadow:0 0 0 0 rgba(46,204,113,0)}}
.foot-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;margin-bottom:14px}
.foot-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:11px 6px;border-radius:12px;font-size:12px;font-weight:700;border:1px solid var(--line);background:#fafafa;color:var(--ink);transition:transform .1s}
.foot-btn span{font-size:19px;line-height:1}
.foot-btn:active{transform:scale(.95)}
.foot-btn.wa{background:#e9f9ee;border-color:#bfe8cc;color:#128c3e}
.foot-btn.call{background:#fff5f5;border-color:#f2d0d0;color:var(--nova)}
.foot-btn.map{background:#eef3ff;border-color:#cddbf7;color:#2a5db0}
.foot-btn.star{background:#fff8e8;border-color:#f0e0b0;color:#a5791b}
.foot-info{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:10px}
.foot-links{font-size:13.5px;margin-bottom:10px}
.foot-links a{color:var(--nova);font-weight:600}
.cpy{font-size:12px;color:#9aa0a8}

/* Randevularım katmanı */
.overlay{position:fixed;inset:0;background:rgba(20,10,10,.5);display:flex;align-items:flex-end;justify-content:center;z-index:50;animation:fadeIn .2s}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.overlay-card{background:#fff;width:100%;max-width:560px;border-radius:18px 18px 0 0;max-height:82vh;display:flex;flex-direction:column;animation:slideUp .28s var(--ease)}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:none}}
.overlay-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);font-size:16px}
.overlay-head .x2{border:0;background:#f0f1f3;width:32px;height:32px;border-radius:50%;font-size:20px;cursor:pointer;color:#555}
.overlay-body{padding:12px 16px 22px;overflow-y:auto}
.ap-item{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;padding:13px 0;border-bottom:1px solid var(--line)}
.ap-dt{grid-row:span 2;font-weight:800;color:var(--nova);font-size:15px;display:flex;flex-direction:column;line-height:1.25}
.ap-dt span{color:var(--ink);font-weight:700;font-size:14px}
.ap-info{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px}
.ap-badge{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:14px;white-space:nowrap}
.ap-badge.ok{background:#e8f6ec;color:#1b7f3b}.ap-badge.wait{background:#fff4e5;color:#9a5b00}
.ap-code{grid-column:2;font-size:12px;color:var(--muted);letter-spacing:1px}
