/* TEMIZHATAY_RESERVATION_SHORT_FORM_MANAGER_V1_1_3 */

/* Eski source form DOM'u JS calismadan once bile gorunmez. CmsRenderService V1.1.3
   response asamasinda bu DOM'u zaten temizler; bu kural ek guvenliktir. */
form#serviceForm:not(.th-rfm-ready) > *:not(.th-rfm-server-shell),
form#service-form:not(.th-rfm-ready) > *:not(.th-rfm-server-shell) {
  display:none !important;
}
form#serviceForm .fa-spinner,
form#service-form .fa-spinner {
  display:none !important;
}

.th-rfm-server-shell {
  min-height:330px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.th-rfm-server-loading {
  color:#64748b;
  font-size:13px;
  font-weight:600;
}

.th-rfm-form { width:100%; }
.th-rfm-root { width:100%; }
.th-rfm-section { width:100%; margin-top:18px; }
.th-rfm-section:first-child { margin-top:0; }
.th-rfm-title {
  margin-bottom:10px;
  color:#1f2937;
  font-size:18px;
  line-height:1.25;
  font-weight:800;
}

.th-rfm-grid {
  --th-rfm-columns:3;
  display:grid !important;
  grid-template-columns:repeat(var(--th-rfm-columns),minmax(0,1fr)) !important;
  gap:12px !important;
  width:100%;
}
.th-rfm-card {
  position:relative;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:0;
  min-height:104px;
  padding:14px 8px;
  border:2px solid #e2e8f0 !important;
  border-radius:16px !important;
  background:#fff !important;
  color:#1f2937 !important;
  text-align:center;
  cursor:pointer;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease;
  box-shadow:none !important;
}
.th-rfm-card:hover {
  border-color:var(--th-primary-300,var(--th-primary,#00A19A)) !important;
  transform:translateY(-1px);
}
.th-rfm-card.is-selected {
  border-color:var(--th-primary,var(--th-primary-500,#00A19A)) !important;
  background:var(--th-primary-50,#F0F9F9) !important;
  box-shadow:0 8px 22px rgba(var(--th-primary-rgb,0,161,154),.12) !important;
}
.th-rfm-card input {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.th-rfm-card__icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  color:var(--th-primary,var(--th-primary-500,#00A19A));
  flex:none;
}
.th-rfm-card__icon svg { width:28px; height:28px; display:block; }
.th-rfm-card__label {
  display:block;
  max-width:100%;
  color:#1f2937 !important;
  font-size:14px;
  line-height:1.2;
  font-weight:700;
  white-space:normal;
  overflow-wrap:anywhere;
}

.th-rfm-district-section[hidden],
.th-rfm-details[hidden] { display:none !important; }
.th-rfm-select-wrap { position:relative; width:100%; }
.th-rfm-select-wrap select {
  width:100% !important;
  min-height:48px;
  padding:10px 42px 10px 14px;
  border:2px solid #e2e8f0 !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#1f2937 !important;
  font-size:15px;
  font-weight:600;
  outline:none;
}
.th-rfm-select-wrap select:focus {
  border-color:var(--th-primary,var(--th-primary-500,#00A19A)) !important;
  box-shadow:0 0 0 3px rgba(var(--th-primary-rgb,0,161,154),.10);
}

.th-rfm-details {
  padding:14px;
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#f8fafc;
}
.th-rfm-details-heading {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin-bottom:12px;
}
.th-rfm-details-heading strong { color:#0f172a; font-size:15px; }
.th-rfm-details-heading span { color:#64748b; font-size:12px; }
.th-rfm-details-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.th-rfm-detail-field { min-width:0; }
.th-rfm-detail-field--full { grid-column:1 / -1; }
.th-rfm-detail-label {
  margin-bottom:6px;
  color:#334155;
  font-size:13px;
  font-weight:700;
}
.th-rfm-detail-field select,
.th-rfm-detail-field input[type="text"],
.th-rfm-detail-field input[type="number"],
.th-rfm-detail-field input[type="date"],
.th-rfm-detail-field input[type="time"],
.th-rfm-detail-field input[type="email"],
.th-rfm-detail-field input[type="tel"],
.th-rfm-detail-field textarea {
  width:100%;
  min-height:42px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#fff;
  color:#0f172a;
  padding:9px 10px;
}
.th-rfm-detail-field.has-error select,
.th-rfm-detail-field.has-error input,
.th-rfm-detail-field.has-error textarea { border-color:#b42318 !important; }
.th-rfm-detail-options { display:flex; flex-wrap:wrap; gap:8px; }
.th-rfm-detail-option {
  display:flex !important;
  align-items:center;
  gap:7px;
  margin:0 !important;
  padding:8px 10px;
  border:1px solid #dbe3ea;
  border-radius:10px;
  background:#fff;
  color:#334155;
  cursor:pointer;
}
.th-rfm-detail-option input { width:16px; height:16px; }
.th-rfm-detail-help { display:block; margin-top:5px; color:#64748b; font-size:11px; }
.th-rfm-details-loading { grid-column:1 / -1; padding:8px 0; color:#64748b; font-size:13px; }

.th-rfm-payment-grid .th-rfm-card {
  min-height:64px;
  flex-direction:row;
  justify-content:flex-start;
  text-align:left;
  padding:12px 14px;
}
.th-rfm-payment-grid .th-rfm-card__icon { width:24px; height:24px; }
.th-rfm-payment-grid .th-rfm-card__icon svg { width:23px; height:23px; }

.th-rfm-error {
  margin-top:12px;
  padding:9px 11px;
  border:1px solid #fecaca;
  border-radius:10px;
  background:#fff7f7;
  color:#b42318;
  font-size:13px;
  font-weight:600;
}

.th-rfm-actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid #e2e8f0;
}
.th-rfm-price {
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.th-rfm-price strong {
  color:var(--th-primary,var(--th-primary-500,#00A19A));
  font-size:23px;
  line-height:1.08;
  font-weight:800;
}
.th-rfm-price small { margin-top:3px; color:#94a3b8; font-size:12px; }
.th-rfm-next {
  flex:none;
  min-width:184px;
  min-height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 22px;
  border:0 !important;
  border-radius:14px !important;
  background:var(--th-primary,var(--th-primary-500,#00A19A)) !important;
  color:#fff !important;
  font-size:16px;
  font-weight:800;
  cursor:pointer;
  box-shadow:none !important;
}
.th-rfm-next:hover,
.th-rfm-next:focus {
  background:var(--th-primary-700,#00817B) !important;
  color:#fff !important;
}
.th-rfm-next-icon { width:20px; height:20px; display:inline-flex; }
.th-rfm-next-icon svg { width:20px; height:20px; }

.th-rfm-boot-error {
  padding:16px;
  border:1px solid #fecaca;
  border-radius:14px;
  background:#fff7f7;
  color:#b42318;
  font-size:14px;
  font-weight:600;
}

@media (max-width:640px) {
  .th-rfm-details-grid { grid-template-columns:1fr; }
  .th-rfm-detail-field { grid-column:1 / -1; }
  .th-rfm-actions { gap:12px; }
  .th-rfm-price strong { font-size:20px; }
  .th-rfm-next { min-width:150px; min-height:52px; padding:10px 16px; }
}
@media (max-width:420px) {
  .th-rfm-grid { gap:8px !important; }
  .th-rfm-card { min-height:96px; padding:10px 5px; border-radius:13px !important; }
  .th-rfm-card__label { font-size:12px; }
  .th-rfm-payment-grid .th-rfm-card { min-height:58px; padding:9px 8px; gap:6px; }
  .th-rfm-payment-grid .th-rfm-card__label { font-size:11px; }
  .th-rfm-actions { align-items:flex-end; }
  .th-rfm-price strong { font-size:18px; }
  .th-rfm-next { min-width:132px; font-size:14px; }
}
