.booking-body{min-height:100vh;background:#080b0f;color:#f7f9fb}
.booking-top{max-width:1120px;margin:auto;padding:20px 24px;display:flex;align-items:center;justify-content:space-between}
.booking-brand{display:flex;align-items:center;gap:12px}
.booking-brand small{display:block;color:#9da9b4;font-size:12px}
.booking-call{border:1px solid #3a424b;border-radius:999px;padding:10px 18px;font-weight:900}
.booking-shell{width:min(1120px,calc(100% - 32px));margin:30px auto 70px;display:grid;grid-template-columns:.82fr 1.18fr;gap:54px;align-items:start}
.booking-intro{padding-top:42px}
.booking-intro h1{font-size:clamp(42px,6vw,70px);line-height:1.02;letter-spacing:-.055em;margin:10px 0 24px}
.booking-intro>p:not(.eyebrow){color:#b5c0ca;font-size:18px;max-width:480px}
.booking-trust{display:grid;gap:10px;margin-top:30px;color:#d9e1e7}
.booking-card{background:#fff;color:#13212b;border-radius:28px;padding:34px;box-shadow:0 28px 80px rgba(0,0,0,.38)}
.booking-card h2{font-size:28px;margin:10px 0 26px}
.progress{display:flex;gap:7px}
.progress span{height:5px;flex:1;background:#dfe7ec;border-radius:9px}
.progress .active{background:#28b7e8}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-group{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}
.form-group label{font-size:13px;font-weight:900}
.form-group input,.form-group select,.form-group textarea{width:100%;border:1px solid #ccd8df;border-radius:13px;background:#f8fbfc;color:#13212b;padding:14px 13px;font:inherit}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:3px solid rgba(40,183,232,.18);border-color:#28b7e8}
.consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#53636e;margin:3px 0 18px}
.submit-request{width:100%;border:0;border-radius:14px;background:#28b7e8;color:#032033;padding:17px;font-size:17px;font-weight:950;cursor:pointer}
.submit-request:disabled{opacity:.6}
.form-note{text-align:center;color:#71808b;font-size:12px}
.form-message{border-radius:12px;padding:11px 13px;font-size:13px}
.error{background:#fff0f0;color:#9c1f1f}
.honeypot{position:absolute!important;left:-9999px!important}
.success-panel{text-align:center;padding:36px 10px}
.success-icon{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#dcf8e8;color:#16854b;font-size:40px;font-weight:900}
.success-panel p{color:#596975}
.success-panel a{font-weight:900}
.request-code{background:#f2f7fa;border-radius:12px;padding:12px}
.booking-footer{text-align:center;color:#87939d;font-size:12px;padding:0 20px 35px}
.appointment-picker{margin:2px 0 18px;padding:16px;border:1px solid #d9e3e9;border-radius:17px;background:#f7fafc}
.appointment-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.appointment-heading strong{font-size:13px}
.appointment-heading small{color:#71808b;font-size:11px}
.slot-heading{margin-top:17px}
.date-strip{display:grid;grid-template-columns:repeat(7,minmax(68px,1fr));gap:7px}
.date-option,.slot-option{appearance:none;border:1px solid #cbd8df;background:#fff;color:#263640;border-radius:12px;cursor:pointer;font:inherit}
.date-option{min-height:67px;padding:8px 5px;display:grid;gap:2px;place-content:center;text-align:center}
.date-option b{font-size:13px}
.date-option span{font-size:11px;color:#6e7d87}
.date-option:hover,.slot-option:hover{border-color:#28b7e8}
.date-option.selected,.slot-option.selected{border-color:#079fd1;background:#e8f8fd;color:#056d91;box-shadow:0 0 0 2px rgba(40,183,232,.14)}
.date-option.selected span{color:#087b9f}
.date-option:disabled,.slot-option:disabled{cursor:not-allowed;background:#edf1f3;color:#99a5ad;border-color:#e0e6e9;text-decoration:line-through}
.date-option:disabled span{color:#a7b0b6;text-decoration:none}
.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.slot-option{padding:13px 8px;font-weight:850;font-size:13px}
.slot-loading{grid-column:1/-1;color:#71808b;font-size:13px;padding:8px 0}
.availability-message{min-height:18px;margin:9px 0 0;color:#6a7983;font-size:12px}
.availability-message.warning{color:#9a5b00}
.availability-message.error{background:transparent;padding:0;color:#9c1f1f}
@media(max-width:800px){.booking-shell{grid-template-columns:1fr;gap:22px;margin-top:0}
.booking-intro{padding-top:12px}
.booking-intro h1{font-size:43px}
.booking-trust{display:none}
.booking-card{padding:24px 18px;border-radius:24px}
.form-row{grid-template-columns:1fr}
.booking-top{padding:14px 16px}
.date-strip{display:flex;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory}
.date-option{min-width:76px;scroll-snap-align:start}
.slot-grid{grid-template-columns:1fr 1fr}
.appointment-picker{padding:14px 12px}
}

/* V4.1.1: telefonda sayfa yatay taşmadan tam ekran çalışır. */
html{max-width:100%;overflow-x:clip}
.booking-body{width:100%;max-width:100%;overflow-x:hidden}
.booking-top,.booking-shell,.booking-shell>*,.booking-card,.booking-card form,.form-row,.form-group,.appointment-picker,.date-strip,.slot-grid{min-width:0}
.booking-brand,.booking-brand>span{min-width:0}

@media(max-width:800px){
  .booking-top{width:100%;max-width:100%;padding:13px 14px}
  .booking-shell{width:100%;max-width:100%;margin:0 auto 48px;padding:0 12px;gap:20px}
  .booking-intro{min-width:0;padding:10px 2px 0}
  .booking-intro h1{font-size:clamp(32px,11vw,43px);overflow-wrap:anywhere}
  .booking-card{width:100%;max-width:100%;padding:22px 14px;border-radius:22px}
  .booking-card h2{font-size:clamp(24px,8vw,28px)}
  .form-group input,.form-group select,.form-group textarea{width:100%;min-width:0;max-width:100%}
  .appointment-picker{width:100%;max-width:100%;padding:14px 10px}
  .appointment-heading{flex-wrap:wrap;gap:6px}
  .date-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;overflow:visible;padding-bottom:0;scroll-snap-type:none}
  .date-option{width:100%;min-width:0;min-height:61px;padding:7px 3px;scroll-snap-align:none}
  .date-option strong{font-size:13px}
  .date-option small{font-size:10px}
  .slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .slot-option{min-width:0;width:100%}
}

@media(max-width:390px){
  .booking-shell{padding:0 9px}
  .booking-card{padding:20px 11px}
  .date-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .booking-brand{gap:8px}
  .booking-brand small{display:none}
  .booking-brand strong{font-size:14px}
  .booking-call{padding:8px 13px}
}
