/* Firma rezervasyonları — ortak kamu / hesap / yönetim yapısı. */
.sp-directory-reservation-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:42px;padding:9px 13px;border-radius:10px;
  background:var(--sp-primary,#b4233b);color:#fff!important;
  text-decoration:none;font-weight:800;
}
.sp-directory-reservation-box{scroll-margin-top:110px}
.sp-reservation-notice{margin:10px 0;padding:10px 12px;border-radius:10px;font-size:12px;font-weight:750}
.sp-reservation-notice.is-success{background:#ecfdf3;color:#0d6940}
.sp-reservation-notice.is-error{background:#fff1f2;color:#a11934}

/* Yönetici ve "Rezervasyonlarım" görünümü. */
.sp-reservation-account-list,.sp-reservation-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sp-reservation-account-card{min-width:0;padding:12px;border:1px solid var(--sp-border,#e5e7eb);border-radius:12px;background:var(--sp-surface,#fff)}
.sp-reservation-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.sp-reservation-card-head small{font-size:11px;color:var(--sp-muted,#6b7280)}
.sp-reservation-card-head h3{margin:2px 0;font-size:16px;line-height:1.25}
.sp-reservation-status{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#f1f5f9;font-size:11px;font-weight:800}
.sp-reservation-status.is-approved{background:#ecfdf3}
.sp-reservation-status.is-cancelled{background:#fff1f2}
.sp-reservation-status.is-completed{background:#eff6ff}
.sp-reservation-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}
.sp-reservation-card-grid>div{display:flex;flex-direction:column;gap:1px;min-width:0}
.sp-reservation-card-grid small{color:var(--sp-muted,#6b7280);font-size:10px}
.sp-reservation-card-grid strong{font-size:12px;overflow-wrap:anywhere}
.sp-reservation-status-form{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.sp-reservation-status-form select{flex:1;min-width:120px;min-height:36px}
.sp-reservation-note{margin:8px 0;padding:8px;border-radius:8px;background:#f8fafc;font-size:12px}
.sp-reservation-admin{width:calc(100% - 20px)!important;max-width:1600px!important}
.sp-reservation-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:12px 0}
.sp-reservation-admin-head h1{margin:2px 0 3px}
.sp-reservation-admin-head p{margin:0;color:#64748b}
.sp-reservation-kicker{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.sp-reservation-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}
.sp-reservation-stat{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#1f2937;text-decoration:none}
.sp-reservation-stat span{font-size:12px}.sp-reservation-stat strong{font-size:20px}
.sp-reservation-admin-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.sp-reservation-admin-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-top:8px}
.sp-reservation-empty{text-align:center;padding:32px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.sp-reservation-empty .dashicons{width:32px;height:32px;font-size:32px}
@media(max-width:1100px){.sp-reservation-account-list,.sp-reservation-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){
 .sp-reservation-account-list,.sp-reservation-admin-grid,.sp-reservation-card-grid,.sp-reservation-admin-stats{grid-template-columns:1fr}
 .sp-reservation-admin{width:100%!important}
 .sp-reservation-admin-head{flex-direction:column}
}

/* Firma ekleme/düzenleme formu: mevcut çoklu seçim davranışı korunur. */
body:not(.wp-admin) .sp-reservation-settings{
  position:relative;overflow:hidden;
  padding:0!important;border:1px solid var(--sp-border,#dfe5ec)!important;
  border-radius:14px!important;background:var(--sp-surface,#fff)!important;
  box-shadow:none!important;
}
body:not(.wp-admin) .sp-reservation-settings:before{content:none!important}
body:not(.wp-admin) .sp-reservation-settings>.sp-form-toggle-summary{border-left:4px solid #b4233b!important}
body:not(.wp-admin) .sp-reservation-settings>.sp-form-toggle-body{padding:12px!important}
body:not(.wp-admin) .sp-reservation-enable{
  display:flex;align-items:center;gap:10px;
  min-height:44px;padding:10px 12px!important;
  border:1px solid #e0e8f1!important;border-radius:10px!important;
  background:#f9fbff!important;font-size:12.5px!important;
}
body:not(.wp-admin) .sp-reservation-enable input[type=checkbox]{flex:0 0 18px;width:18px!important;height:18px!important;margin:0!important;accent-color:#b4233b}
body:not(.wp-admin) .sp-reservation-settings-body{padding-top:12px!important}
body:not(.wp-admin) .sp-reservation-settings-body h3{
  margin:13px 0 8px!important;color:#244a70!important;font-size:12px!important;font-weight:850!important;
  letter-spacing:.035em!important;text-transform:uppercase!important;
}
body:not(.wp-admin) .sp-reservation-day-picker{margin:0 0 12px!important}
body:not(.wp-admin) .sp-reservation-day-grid{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,112px),1fr))!important;
  gap:7px!important;margin:0!important;
}
body:not(.wp-admin) .sp-reservation-day-grid label{
  display:flex;align-items:center;justify-content:flex-start;gap:7px;
  min-width:0;min-height:38px;padding:8px 10px!important;
  border:1px solid #e2e8f0!important;border-radius:9px!important;
  background:#fff!important;color:#344f6b!important;
  font-size:11.5px!important;font-weight:750!important;white-space:normal!important;cursor:pointer;
}
body:not(.wp-admin) .sp-reservation-day-grid label:has(input:checked){border-color:#b4233b!important;background:#fff3f5!important;color:#8b1a30!important}
body:not(.wp-admin) .sp-reservation-day-grid input[type=checkbox]{flex:0 0 16px;width:16px!important;height:16px!important;margin:0!important;accent-color:#b4233b}
body:not(.wp-admin) .sp-reservation-settings-body>.sp-dir-grid{gap:9px!important}
body:not(.wp-admin) .sp-reservation-settings-body .sp-dir-grid label{font-size:11.5px!important;font-weight:750!important}
body:not(.wp-admin) .sp-reservation-settings-body input:not([type=checkbox]),
body:not(.wp-admin) .sp-reservation-settings-body select{
  display:block;width:100%;min-width:0;min-height:42px!important;padding:8px 10px!important;
  border:1px solid #dce4ee!important;border-radius:9px!important;
  background:var(--sp-surface,#fff)!important;color:var(--sp-text,#172033)!important;
  font-size:13px!important;
}
body:not(.wp-admin) .sp-reservation-service-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;
  margin:8px 0!important;padding:10px!important;
  border:1px solid #e0e8f1!important;border-radius:11px!important;
  background:#f9fbfe!important;box-shadow:none!important;
}
body:not(.wp-admin) .sp-reservation-service-row .sp-dir-grid{
  grid-template-columns:minmax(0,1.5fr) minmax(90px,.65fr) minmax(110px,.85fr)!important;
  gap:8px!important;
}
body:not(.wp-admin) .sp-reservation-service-row .sp-secondary-btn{min-height:38px;padding:7px 11px!important;border-radius:9px!important}
body:not(.wp-admin) .sp-reservation-settings [data-sp-reservation-service-add]{min-height:40px;padding:9px 13px!important;border-radius:10px!important;font-weight:800!important}
@media(max-width:780px){
 body:not(.wp-admin) .sp-reservation-service-row{grid-template-columns:1fr}
 body:not(.wp-admin) .sp-reservation-service-row .sp-dir-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body:not(.wp-admin) .sp-reservation-service-row .sp-dir-grid label:first-child{grid-column:1/-1}
}
@media(max-width:520px){
 body:not(.wp-admin) .sp-reservation-service-row .sp-dir-grid{grid-template-columns:minmax(0,1fr)!important}
 body:not(.wp-admin) .sp-reservation-service-row .sp-dir-grid label:first-child{grid-column:auto}
}

/* Firma ön yüz: dar sağ panelde okunaklı rezervasyon. */
body.single-sp_directory:not(.wp-admin) .sp-directory-reservation-box{
  margin:0!important;padding:15px!important;
  border:1px solid #dbe5f0!important;border-radius:16px!important;
  background:var(--sp-surface,#fff)!important;box-shadow:0 6px 18px rgba(17,49,82,.045)!important;
}
body.single-sp_directory:not(.wp-admin) .sp-directory-reservation-box .sp-dir-section-title{
  margin:0 0 11px!important;
}
body.single-sp_directory:not(.wp-admin) .sp-directory-reservation-box .sp-dir-section-title span{
  display:block;margin:0 0 3px!important;color:#a21d37!important;
  font-size:10px!important;font-weight:850!important;letter-spacing:.085em!important;text-transform:uppercase!important;
}
body.single-sp_directory:not(.wp-admin) .sp-reservation-overview{
  display:flex;align-items:center;flex-wrap:wrap;gap:6px;
  margin:0 0 13px!important;
}
body.single-sp_directory:not(.wp-admin) .sp-reservation-overview>span{
  display:inline-flex;align-items:center;gap:5px;min-height:27px;
  padding:5px 8px;border:1px solid #e0e8f1;border-radius:8px;
  background:#f6f9fd;color:#47647f;font-size:10.5px;font-weight:800;line-height:1.2;
}
body.single-sp_directory:not(.wp-admin) .sp-reservation-overview .dashicons{
  flex:0 0 14px;width:14px;height:14px;font-size:14px;color:#a21d37;
}
body.single-sp_directory:not(.wp-admin) .sp-directory-reservation-form{width:100%;max-width:none!important}
body.single-sp_directory:not(.wp-admin) .sp-reservation-form-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
}
body.single-sp_directory:not(.wp-admin) .sp-reservation-form-grid>label{
  display:flex!important;flex-direction:column!important;gap:5px!important;
  min-width:0!important;margin:0!important;
  color:#365471!important;font-size:11.5px!important;font-weight:800!important;
}
body.single-sp_directory:not(.wp-admin) .sp-reservation-form-grid>label:nth-child(1),
body.single-sp_directory:not(.wp-admin) .sp-reservation-form-grid>label:nth-child(n+4){grid-column:1/-1!important}
body.single-sp_directory:not(.wp-admin) .sp-reservation-form-grid :is(input,select,textarea){
  display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
  min-height:43px!important;margin:0!important;padding:9px 10px!important;
  box-sizing:border-box!important;border:1px solid #dbe3ed!important;border-radius:10px!important;
  background:var(--sp-surface,#fff)!important;color:var(--sp-text,#172033)!important;
  font-family:inherit!important;font-size:13px!important;line-height:1.3!important;
}
body.single-sp_directory:not(.wp-admin) .sp-reservation-form-grid :is(input,select,textarea):focus-visible{
  outline:2px solid #b4233b!important;outline-offset:1px!important;border-color:#b4233b!important;
}
body.single-sp_directory:not(.wp-admin) .sp-reservation-form-grid textarea{min-height:72px!important;resize:vertical!important}
body.single-sp_directory:not(.wp-admin) .sp-directory-reservation-form>.sp-form-note{
  display:block!important;margin:12px 0!important;padding:10px!important;
  border:1px solid #e2e9f2!important;border-radius:9px!important;
  background:#f5f8fc!important;color:#526b83!important;
  font-size:11.5px!important;line-height:1.45!important;
}
body.single-sp_directory:not(.wp-admin) .sp-directory-reservation-form>.sp-primary-btn{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;min-height:44px!important;
  margin:0!important;padding:11px 12px!important;
  border:0!important;border-radius:10px!important;
  background:#ae1e38!important;color:#fff!important;
  font-size:12.5px!important;font-weight:850!important;
  box-shadow:none!important;cursor:pointer!important;
}
body.single-sp_directory:not(.wp-admin) .sp-directory-reservation-form>.sp-primary-btn:hover{background:#8f1830!important}
@media(max-width:480px){
 body.single-sp_directory:not(.wp-admin) .sp-directory-reservation-box{padding:12px!important}
 body.single-sp_directory:not(.wp-admin) .sp-reservation-form-grid{gap:9px!important}
}
html[data-theme="dark"] body.single-sp_directory:not(.wp-admin) .sp-reservation-overview>span,
body[data-theme="dark"].single-sp_directory:not(.wp-admin) .sp-reservation-overview>span{
  background:#253346;color:#edf4ff;border-color:#40516a;
}
html[data-theme="dark"] body.single-sp_directory:not(.wp-admin) .sp-directory-reservation-form>.sp-form-note,
body[data-theme="dark"].single-sp_directory:not(.wp-admin) .sp-directory-reservation-form>.sp-form-note{
  background:#253346!important;color:#edf4ff!important;border-color:#40516a!important;
}

html[data-sp-theme="dark"] body.single-sp_directory:not(.wp-admin) .sp-reservation-overview>span,
body[data-theme="dark"].single-sp_directory:not(.wp-admin) .sp-reservation-overview>span{
  background:#253346!important;color:#edf4ff!important;border-color:#40516a!important;
}
html[data-sp-theme="dark"] body.single-sp_directory:not(.wp-admin) .sp-directory-reservation-form>.sp-form-note,
body[data-theme="dark"].single-sp_directory:not(.wp-admin) .sp-directory-reservation-form>.sp-form-note{
  background:#253346!important;color:#edf4ff!important;border-color:#40516a!important;
}
