
.scb-booking-form-wrap{
  --scb-bg: #ffffff;
  --scb-surface: #ffffff;
  --scb-text: #101828;
  --scb-muted: #667085;
  --scb-border: #d0d5dd;
  --scb-input-bg: #ffffff;
  --scb-button-bg: var(--scb-brand, #101820);
  --scb-button-text: #ffffff;
  --scb-focus: #2e90fa;
  --scb-success-bg: #d1f7d6;
  --scb-success-border: #95d99d;
  --scb-error-bg: #ffe1e1;
  --scb-error-border: #e0a0a0;
  max-width: 760px;
  margin: 0 auto;
  color: var(--scb-text);
}

.scb-theme-light{
  --scb-bg: #ffffff;
  --scb-surface: #ffffff;
  --scb-text: #101828;
  --scb-muted: #667085;
  --scb-border: #d0d5dd;
  --scb-input-bg: #ffffff;
  --scb-button-bg: var(--scb-brand, #101820);
  --scb-button-text: #ffffff;
  --scb-focus: #2e90fa;
}

.scb-theme-dark{
  --scb-bg: rgba(8, 15, 28, 0.92);
  --scb-surface: rgba(10, 17, 30, 0.86);
  --scb-text: #f8fafc;
  --scb-muted: #cbd5e1;
  --scb-border: rgba(255,255,255,.22);
  --scb-input-bg: rgba(255,255,255,.06);
  --scb-button-bg: #ffffff;
  --scb-button-text: #101820;
  --scb-focus: #7cc4ff;
  --scb-success-bg: rgba(26, 77, 46, 0.88);
  --scb-success-border: #72d489;
  --scb-error-bg: rgba(101, 24, 24, 0.88);
  --scb-error-border: #f0a5a5;
}

.scb-theme-auto{
  /* Auto deve restare leggibile anche su iPhone in dark mode: molti temi mantengono la pagina bianca
     ma Safari comunica prefers-color-scheme: dark. Per evitare testo bianco su sfondo bianco, auto usa
     il tema chiaro. Il tema scuro resta disponibile forzando shortcode theme="dark". */
  --scb-bg: #ffffff;
  --scb-surface: #ffffff;
  --scb-text: #101828;
  --scb-muted: #667085;
  --scb-border: #d0d5dd;
  --scb-input-bg: #ffffff;
  --scb-button-bg: var(--scb-brand, #101820);
  --scb-button-text: #ffffff;
  --scb-focus: #2e90fa;
  --scb-success-bg: #d1f7d6;
  --scb-success-border: #95d99d;
  --scb-error-bg: #ffe1e1;
  --scb-error-border: #e0a0a0;
}

.scb-booking-form{
  display:grid;
  grid-template-columns: 1fr;
  gap:18px;
  background: var(--scb-bg);
  border: 1px solid var(--scb-border);
  border-radius: 18px;
  padding: 28px;
  box-shadow: 0 12px 32px rgba(0,0,0,.08);
  backdrop-filter: blur(8px);
}

.scb-booking-form label,
.scb-booking-form legend{
  display:block;
  font-weight:600;
  color: var(--scb-text);
}

.scb-booking-form input,
.scb-booking-form select,
.scb-booking-form textarea{
  width:100%;
  box-sizing:border-box;
  margin-top:8px;
  padding:13px 14px;
  border:1px solid var(--scb-border);
  border-radius:12px;
  background: var(--scb-input-bg);
  color: var(--scb-text);
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.scb-booking-form input::placeholder,
.scb-booking-form textarea::placeholder{color: var(--scb-muted);opacity:1;}
.scb-booking-form input:focus,
.scb-booking-form select:focus,
.scb-booking-form textarea:focus{
  outline:none;
  border-color: var(--scb-focus);
  box-shadow: 0 0 0 3px rgba(46,144,250,.18);
}
.scb-booking-form textarea{min-height:110px;resize:vertical}
.scb-booking-form fieldset{
  border:1px solid var(--scb-border);
  background: var(--scb-surface);
  border-radius:14px;
  padding:16px;
}
.scb-booking-form .scb-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;color: var(--scb-text)}
.scb-booking-form .scb-check input{width:auto;margin:3px 0 0 0;flex:0 0 auto}
.scb-booking-form .scb-check a{color: inherit;text-decoration: underline}
.scb-booking-form button{
  padding:14px 22px;
  border:0;
  background:var(--scb-button-bg);
  color:var(--scb-button-text);
  cursor:pointer;
  font-weight:600;
  transition: transform .15s ease, opacity .15s ease, background-color .15s ease;
}
.scb-booking-form button:hover{opacity:.94;transform:translateY(-1px)}
.scb-style-rounded button{border-radius:999px}
.scb-style-square button{border-radius:0}
.scb-style-outline button{background:transparent;color:var(--scb-text);border:1px solid var(--scb-border);border-radius:999px}
.scb-success,.scb-error{
  padding:13px 14px;
  border-radius:12px;
  margin-bottom:18px;
  border:1px solid;
}
.scb-success{background:var(--scb-success-bg);border-color:var(--scb-success-border);color:var(--scb-text)}
.scb-error{background:var(--scb-error-bg);border-color:var(--scb-error-border);color:var(--scb-text)}
.scb-slot-help{display:block;margin-top:7px;font-weight:400;color:var(--scb-muted);line-height:1.45}
.scb-booking-form select:disabled,.scb-booking-form input:disabled,.scb-booking-form textarea:disabled{background:rgba(127,127,127,.10);color:var(--scb-muted);cursor:not-allowed}
@media (max-width: 640px){
  .scb-booking-form{padding:20px;border-radius:14px}
}


@media (min-width: 720px){
  .scb-layout-two-columns .scb-booking-form{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items:start;
  }
  .scb-layout-two-columns .scb-booking-form .scb-full,
  .scb-layout-two-columns .scb-booking-form button{
    grid-column: 1 / -1;
  }
}

.scb-layout-one-column .scb-booking-form{
  grid-template-columns: 1fr;
}

.scb-booking-form button{
  justify-self:start;
  min-width: 190px;
}

@media (max-width: 719px){
  .scb-booking-form button{
    width:100%;
  }
}


.scb-people-help{
  display:block;
  margin-top:7px;
  color:var(--scb-muted);
  font-weight:400;
  line-height:1.45;
}

.scb-extra-empty{margin:0;color:var(--scb-muted);font-weight:400;}

.scb-form-header{background:var(--scb-bg);border:1px solid var(--scb-border);border-radius:18px;padding:24px 28px;margin:0 0 18px;text-align:center;box-shadow:0 12px 32px rgba(0,0,0,.06);backdrop-filter:blur(8px)}
.scb-form-header h2{margin:0 0 8px;color:var(--scb-text);font-size:24px;line-height:1.2}
.scb-form-header p{margin:0;color:var(--scb-muted);font-size:15px;line-height:1.45}
.scb-booking-form button{background:var(--scb-button-bg);color:var(--scb-button-text)}


/* SportCore 1.0.23 button fix */
.scb-booking-form button[type="submit"]{
  background: var(--scb-custom-button-bg, var(--scb-brand, #101820)) !important;
  color: var(--scb-custom-button-text, #ffffff) !important;
  border: 1px solid var(--scb-custom-button-bg, var(--scb-brand, #101820)) !important;
}

.scb-booking-form button[type="submit"]:hover{
  background: var(--scb-custom-button-hover-bg, var(--scb-custom-button-bg, var(--scb-brand, #101820))) !important;
  color: var(--scb-custom-button-hover-text, var(--scb-custom-button-text, #ffffff)) !important;
  border-color: var(--scb-custom-button-hover-bg, var(--scb-custom-button-bg, var(--scb-brand, #101820))) !important;
}

.scb-style-rounded .scb-booking-form button[type="submit"]{
  border-radius: 999px !important;
}

.scb-style-square .scb-booking-form button[type="submit"]{
  border-radius: 0 !important;
}

.scb-style-outline .scb-booking-form button[type="submit"]{
  background: transparent !important;
  color: var(--scb-custom-button-bg, var(--scb-brand, #101820)) !important;
  border: 1px solid var(--scb-custom-button-bg, var(--scb-brand, #101820)) !important;
}

.scb-style-outline .scb-booking-form button[type="submit"]:hover{
  background: var(--scb-custom-button-hover-bg, var(--scb-custom-button-bg, var(--scb-brand, #101820))) !important;
  color: var(--scb-custom-button-hover-text, #ffffff) !important;
  border-color: var(--scb-custom-button-hover-bg, var(--scb-custom-button-bg, var(--scb-brand, #101820))) !important;
}

.scb-waitlist-box{
  margin-top:22px;
  padding:22px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:16px;
  background:rgba(255,255,255,.92);
}
.scb-waitlist-box h3{margin:0 0 8px}
.scb-waitlist-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px;
}
.scb-waitlist-form .scb-full{grid-column:1/-1}
@media(max-width:760px){
  .scb-waitlist-form{grid-template-columns:1fr}
}

.scb-waitlist-optional-note{
  font-size:.95em;
  opacity:.85;
  margin-top:6px;
}
.scb-waitlist-box[data-waitlist-mode="optional"]{
  border-style:dashed;
}

.scb-waitlist-inline{
  margin-top:12px;
  padding:14px;
  border:1px dashed rgba(0,0,0,.18);
  border-radius:12px;
  background:rgba(0,0,0,.035);
}
.scb-waitlist-inline strong,
.scb-waitlist-inline span{
  display:block;
}
.scb-waitlist-inline span{
  font-size:.92em;
  opacity:.82;
  margin-top:3px;
}
.scb-waitlist-inline-row{
  display:flex;
  gap:8px;
  align-items:center;
  margin-top:10px;
}
.scb-waitlist-inline-row input{
  flex:1;
  min-width:0;
}
.scb-waitlist-inline-row button{
  white-space:nowrap;
}
@media(max-width:640px){
  .scb-waitlist-inline-row{
    display:block;
  }
  .scb-waitlist-inline-row button{
    width:100%;
    margin-top:8px;
  }
}

.scb-login-wrap{
  width:100%;
  max-width:520px;
  margin:40px auto;
  padding:0 16px;
}
.scb-login-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  box-shadow:0 18px 45px rgba(0,0,0,.08);
  padding:34px;
}
.scb-login-brand{
  margin-bottom:18px;
}
.scb-login-brand img{
  display:block;
  width:220px;
  max-width:100%;
  height:auto;
}
.scb-login-card h2{
  margin:0 0 8px;
  font-size:28px;
  line-height:1.15;
}
.scb-login-card p{
  margin:0 0 20px;
  opacity:.78;
}
.scb-login-form label{
  display:block;
  font-weight:700;
  margin:14px 0 6px;
}
.scb-login-form input[type="text"],
.scb-login-form input[type="password"]{
  width:100%;
  min-height:46px;
  border:1px solid rgba(0,0,0,.14);
  border-radius:10px;
  padding:10px 12px;
  background:#fff;
}
.scb-login-remember{
  display:flex!important;
  align-items:center;
  gap:8px;
  font-weight:600!important;
  margin:16px 0!important;
}
.scb-login-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:48px!important;
  border:1px solid var(--scb-login-button-bg, #1f4f82)!important;
  border-radius:10px!important;
  background:var(--scb-login-button-bg, #1f4f82)!important;
  color:var(--scb-login-button-text, #ffffff)!important;
  text-decoration:none!important;
  font-weight:800!important;
  cursor:pointer!important;
  opacity:1!important;
  box-shadow:none!important;
}
.scb-login-button:hover,
.scb-login-button:focus{
  background:var(--scb-login-button-hover-bg, #163a60)!important;
  color:var(--scb-login-button-hover-text, #ffffff)!important;
  border-color:var(--scb-login-button-hover-bg, #163a60)!important;
  filter:none!important;
}
.scb-login-button-style-square .scb-login-button{
  border-radius:0!important;
}
.scb-login-button-style-rounded .scb-login-button{
  border-radius:10px!important;
}
.scb-login-button-style-outline .scb-login-button{
  background:transparent!important;
  color:var(--scb-login-button-bg, #1f4f82)!important;
  border-color:var(--scb-login-button-bg, #1f4f82)!important;
}
.scb-login-button-style-outline .scb-login-button:hover,
.scb-login-button-style-outline .scb-login-button:focus{
  background:var(--scb-login-button-hover-bg, #163a60)!important;
  color:var(--scb-login-button-hover-text, #ffffff)!important;
  border-color:var(--scb-login-button-hover-bg, #163a60)!important;
}
.scb-login-message{
  padding:12px 14px;
  border-radius:10px;
  margin:16px 0;
  font-weight:700;
}
.scb-login-error{
  background:#fcf0f1;
  color:#8a2424;
  border:1px solid #f0b8bd;
}
.scb-login-success{
  background:#edfaef;
  color:#006b1f;
  border:1px solid #8ed69b;
}
.scb-login-lost,
.scb-login-link{
  display:block;
  margin-top:16px!important;
  text-align:center;
}
@media(max-width:640px){
  .scb-login-card{
    padding:24px;
    border-radius:14px;
  }
}

.scb-login-card .scb-login-brand{
  min-height:42px;
  display:flex;
  align-items:center;
}


/* SportCore 1.0.67 mobile/iOS readability fix */
.scb-booking-form-wrap{
  color-scheme: light;
}
.scb-booking-form-wrap.scb-theme-dark{
  color-scheme: dark;
}
.scb-theme-auto .scb-booking-form,
.scb-theme-light .scb-booking-form{
  background:#ffffff;
}
.scb-theme-auto .scb-booking-form label,
.scb-theme-auto .scb-booking-form legend,
.scb-theme-auto .scb-booking-form .scb-slot-help,
.scb-theme-auto .scb-people-help,
.scb-theme-auto .scb-extra-empty,
.scb-theme-auto .scb-booking-form input,
.scb-theme-auto .scb-booking-form select,
.scb-theme-auto .scb-booking-form textarea{
  color:#101828 !important;
  -webkit-text-fill-color:#101828;
}
.scb-theme-auto .scb-booking-form input::placeholder,
.scb-theme-auto .scb-booking-form textarea::placeholder{
  color:#667085 !important;
  -webkit-text-fill-color:#667085;
}
.scb-theme-auto .scb-booking-form select:disabled,
.scb-theme-auto .scb-booking-form input:disabled,
.scb-theme-auto .scb-booking-form textarea:disabled{
  background:#f3f4f6 !important;
  color:#667085 !important;
  -webkit-text-fill-color:#667085 !important;
  opacity:1 !important;
}
.scb-theme-auto .scb-booking-form select option{
  color:#101828;
  background:#ffffff;
}
@media(max-width:640px){
  .scb-theme-auto .scb-booking-form,
  .scb-theme-light .scb-booking-form{
    box-shadow:0 12px 34px rgba(16,24,40,.10);
  }
}


/* SportCore 1.0.74 license frontend blocked */
.scb-license-frontend-blocked{
  box-sizing:border-box;
  width:100%;
  max-width:760px;
  margin:24px auto;
  padding:22px 24px;
  border:1px solid #f5c2c7;
  border-left:5px solid #b42318;
  border-radius:14px;
  background:#fff5f5;
  color:#7a271a;
  box-shadow:0 12px 32px rgba(16,24,40,.08);
}
.scb-license-frontend-blocked strong{
  display:block;
  margin-bottom:8px;
  font-size:18px;
  color:#7a271a;
}
.scb-license-frontend-blocked p{
  margin:0;
  color:#7a271a;
}


/* SportCore 1.0.78 cancel notice */
.scb-cancel-notice{
  max-width:760px;
  margin:24px auto;
  box-sizing:border-box;
}
