/* StudioFlow Booking - modern frontend styles (v1.11.0) */

:root{
  --sf-radius-lg: 16px;
  --sf-radius-md: 12px;
  --sf-border: rgba(15, 23, 42, .10);
  --sf-border-strong: rgba(15, 23, 42, .16);
  --sf-bg: #ffffff;
  --sf-bg-soft: rgba(251, 192, 45, .10);
  --sf-text: #0f172a;
  --sf-muted: rgba(15, 23, 42, .70);
  --sf-accent: #FBC02D;
  --sf-accent-soft: rgba(251, 192, 45, .18);
  --sf-danger: #dc2626;
  --sf-danger-soft: rgba(220, 38, 38, .08);
  --sf-success: #10b981;
  --sf-success-soft: rgba(16, 185, 129, .10);
  --sf-shadow: 0 10px 24px rgba(15, 23, 42, .08);
}

.studioflow-prenota { color: var(--sf-text); }
.studioflow-prenota * { box-sizing: border-box; }

.studioflow-prenota .sf-card{
  max-width: 980px;
  margin: 0 auto;
  background: linear-gradient(180deg, #FFF8E1 0%, #FFFFFF 55%, #FFFFFF 100%);
  border: 1px solid var(--sf-border);
  border-radius: calc(var(--sf-radius-lg) + 6px);
  box-shadow: var(--sf-shadow);
  overflow: hidden;
}

.studioflow-prenota .sf-header{
  padding: 22px 22px 14px;
  background:
    radial-gradient(900px 260px at 0% 0%, rgba(251,192,45,.28), transparent 55%),
    radial-gradient(900px 260px at 100% 0%, rgba(249,168,37,.22), transparent 55%),
    var(--sf-bg);
  border-bottom: 1px solid var(--sf-border);
}

/* Hide top header in the final "Ordine ricevuto" view (panel 5) */
.studioflow-prenota.sf-order-received .sf-header{
  display: none !important;
}

/* Hide the 4 step toggles in the final "Ordine ricevuto" view (panel 5) */
.studioflow-prenota.sf-order-received .sf-steps{
  display: none !important;
}

/* Reduce top spacing when header is hidden */
.studioflow-prenota.sf-order-received .sf-body{
  padding-top: 22px;
}

.studioflow-prenota .sf-step-title{
  letter-spacing: .16em;
  font-weight: 800;
  font-size: 12px;
  color: rgba(15, 23, 42, .65);
}

.studioflow-prenota .sf-title{
  margin: 8px 0 0;
  font-size: 22px;
  line-height: 1.15;
}

.studioflow-prenota .sf-subtitle{
  margin: 8px 0 0;
  color: var(--sf-muted);
  font-size: 14px;
}

.studioflow-prenota .sf-body{ padding: 18px 22px 22px; background: var(--sf-bg); }

.studioflow-prenota .sf-steps{
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 0 22px 18px;
  margin: 0;
  background: var(--sf-bg);
  border-bottom: 1px solid var(--sf-border);
}

.studioflow-prenota .sf-step{
  border: 1px solid var(--sf-border);
  background: rgba(15, 23, 42, .02);
  color: rgba(15, 23, 42, .75);
  padding: 8px 10px;
  border-radius: 999px;
  font-size: 13px;
  user-select: none;
}

.studioflow-prenota .sf-step.sf-step-active{
  border-color: rgba(37, 99, 235, .35);
  background: var(--sf-accent-soft);
  color: var(--sf-text);
  font-weight: 800;
}

.studioflow-prenota .sf-result{
  display:none;
  padding: 12px 14px;
  border-radius: var(--sf-radius-md);
  margin: 0 0 12px 0;
  border: 1px solid var(--sf-border);
  background: var(--sf-bg-soft);
  color: var(--sf-text);
}

.studioflow-prenota .sf-result.sf-result-error{
  display:block;
  border-color: rgba(220, 38, 38, .30);
  background: var(--sf-danger-soft);
}

.studioflow-prenota .sf-result.sf-result-ok{
  display:block;
  border-color: rgba(16, 185, 129, .30);
  background: var(--sf-success-soft);
}

.studioflow-prenota .sf-muted,
.studioflow-prenota .sf-hint{
  color: var(--sf-muted);
  font-size: 13px;
}

.studioflow-prenota .sf-panel{ animation: sfFade .16s ease; }
@keyframes sfFade { from{opacity:.4; transform: translateY(2px);} to{opacity:1; transform:none;} }

/* -----------------------------
   SERVICES GRID
------------------------------ */
#sfServicesGrid,
.studioflow-services-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 920px){
  #sfServicesGrid,
  .studioflow-services-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
  #sfServicesGrid,
  .studioflow-services-grid{ grid-template-columns: 1fr; }
}

.sf-service-card,
.studioflow-service-card-modern{
  position: relative;
  width: 100%;
  min-height: 420px;
  text-align: left;
  border-radius: 28px;
  border: 1px solid rgba(251, 192, 45, .30);
  background: #0f0f10;
  padding: 0;
  cursor: default;
  overflow: hidden;
  isolation: isolate;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, filter .22s ease;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .18);
}
.sf-service-card::before,
.studioflow-service-card-modern::before{
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, rgba(251,192,45,.95) 0%, rgba(255,220,120,.95) 100%);
  transform: scaleX(.32);
  transform-origin: left center;
  transition: transform .24s ease;
  z-index: 3;
}
.sf-service-card::after,
.studioflow-service-card-modern::after{
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -70px;
  top: -70px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(251,192,45,.24) 0%, rgba(251,192,45,0) 68%);
  opacity: .68;
  transform: scale(1);
  transition: transform .28s ease, opacity .28s ease;
  pointer-events: none;
  z-index: 0;
}
.sf-service-card:hover,
.studioflow-service-card-modern:hover{
  transform: translateY(-6px);
  box-shadow: 0 24px 50px rgba(0, 0, 0, .24);
  border-color: rgba(251, 192, 45, .80);
  filter: saturate(1.03);
}
.sf-service-card:hover::before,
.studioflow-service-card-modern:hover::before{
  transform: scaleX(1);
}
.sf-service-card:hover::after,
.studioflow-service-card-modern:hover::after{
  transform: scale(1.16);
  opacity: .95;
}
.sf-service-card:focus{
  outline: none;
  border-color: rgba(251, 192, 45, .95);
  box-shadow: 0 24px 50px rgba(0, 0, 0, .28);
}

.sf-service-media,
.studioflow-service-media{
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  transform: scale(1);
  transition: transform .35s ease;
}
.sf-service-card:hover .sf-service-media,
.studioflow-service-card-modern:hover .studioflow-service-media{
  transform: scale(1.04);
}

.sf-service-media-placeholder,
.studioflow-service-media-placeholder{
  background:
    linear-gradient(180deg, rgba(17,17,17,.15), rgba(17,17,17,.8)),
    radial-gradient(circle at 20% 20%, rgba(251,192,45,.25), transparent 35%),
    #161616;
}

.sf-service-overlay,
.studioflow-service-overlay{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(5,5,5,.12) 0%, rgba(5,5,5,.30) 35%, rgba(5,5,5,.80) 100%);
  z-index: 1;
}

.sf-service-content,
.studioflow-service-content{
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 420px;
  flex-direction: column;
  justify-content: flex-end;
  gap: 12px;
  padding: 24px;
  color: #fff;
}

.sf-service-top,
.studioflow-service-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.sf-service-title,
.studioflow-service-card-modern h3{
  font-size: 30px;
  font-weight: 800;
  line-height: 1.02;
  margin: 0;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .02em;
  text-wrap: balance;
}

.sf-service-badges{ display:flex; gap: 8px; flex-wrap: wrap; margin: 0 0 8px 0; }
.sf-badge{
  font-size: 11px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  color: #fff;
  backdrop-filter: blur(6px);
}

.sf-service-price,
.studioflow-price{
  font-size: 13px;
  font-weight: 800;
  color: #fbc02d;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(251,192,45,.13);
  border: 1px solid rgba(251,192,45,.22);
  backdrop-filter: blur(8px);
}

.sf-service-excerpt,
.studioflow-service-excerpt{
  margin-top: 2px;
  font-size: 15px;
  color: rgba(255,255,255,.92);
  line-height: 1.5;
  max-width: 92%;
}
.studioflow-service-excerpt p{
  margin: 0;
}

.sf-service-cta,
.studioflow-service-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: fit-content;
  margin-top: 8px;
  padding: 12px 16px;
  border-radius: 999px;
  background: #fbc02d;
  color: #111;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.sf-service-cta::after,
.studioflow-service-cta::after{
  content: "→";
  transition: transform .2s ease;
}
.sf-service-card:hover .sf-service-cta,
.studioflow-service-card-modern:hover .studioflow-service-cta,
.sf-service-cta:hover,
.studioflow-service-cta:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(0,0,0,.28);
  background: #ffd86b;
  color: #111;
}
.sf-service-card:hover .sf-service-cta::after,
.studioflow-service-card-modern:hover .studioflow-service-cta::after,
.sf-service-cta:hover::after,
.studioflow-service-cta:hover::after{
  transform: translateX(3px);
}

/* legacy shortcode compatibility */
.studioflow-services-grid .studioflow-service-card-modern{
  text-decoration: none;
}
/* -----------------------------
   DETAILS / SLOTS / FORM
------------------------------ */
#sfDetails{
  border: 1px solid var(--sf-border);
  background: var(--sf-bg);
  border-radius: var(--sf-radius-lg);
  padding: 14px;
}

.sf-detail-head{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.sf-detail-title{ font-size: 18px; font-weight: 900; margin: 0; }
.sf-detail-badge{ margin-top: 6px; }
.sf-detail-head .sf-service-price{ margin: 0; font-size: 16px; }

.sf-slots{ display:flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.sf-slot{
  border-radius: 999px;
  padding: 9px 12px;
  border: 1px solid var(--sf-border);
  background: #fff;
  cursor: pointer;
  font-size: 13px;
  transition: transform .08s ease, box-shadow .08s ease, border-color .08s ease;
}
.sf-slot:hover{ transform: translateY(-1px); box-shadow: 0 10px 22px rgba(15, 23, 42, .10); }
.sf-slot.sf-slot-active{
  border-color: rgba(37, 99, 235, .55);
  background: var(--sf-accent-soft);
  font-weight: 800;
}

.sf-form{ display:grid; gap: 12px; }
.sf-row{ display:grid; gap: 12px; }
.sf-row.sf-row-2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 640px){ .sf-row.sf-row-2{ grid-template-columns: 1fr; } }

.sf-form label{ font-size: 13px; font-weight: 800; }
.sf-form input[type="text"],
.sf-form input[type="email"],
.sf-form input[type="tel"],
.sf-form input[type="date"],
.sf-form textarea,
.sf-form select{
  width: 100%;
  padding: 11px 12px;
  border-radius: var(--sf-radius-md);
  border: 1px solid var(--sf-border-strong);
  background: #fff;
}
.sf-form textarea{ resize: vertical; min-height: 96px; }

.sf-actions{
  display:flex;
  gap: 10px;
  justify-content: space-between;
  margin-top: 14px;
}
.sf-btn{
  border-radius: var(--sf-radius-md);
  padding: 11px 14px;
  border: 1px solid rgba(37, 99, 235, .45);
  background: rgba(37, 99, 235, .08);
  cursor: pointer;
  font-weight: 850;
}
.sf-btn:hover{ filter: brightness(0.98); }
.sf-btn:active{ transform: translateY(1px); }
.sf-btn.sf-btn-ghost{
  border-color: var(--sf-border-strong);
  background: rgba(15, 23, 42, .03);
  font-weight: 800;
}

.studioflow-prenota.sf-busy{ opacity: .98; pointer-events: none; }

/* -------------------- Summary + Thank you -------------------- */

.sf-summary{ margin-bottom: 16px; }
.sf-summary h3{ margin: 0 0 10px 0; }
.sf-summary-grid{ display: grid; grid-template-columns: 1fr; gap: 10px; }
.sf-summary-item{ padding: 12px; border: 1px solid rgba(0,0,0,0.08); border-radius: 10px; background: #fff; }
.sf-summary-label{ font-size: 12px; opacity: 0.7; margin-bottom: 4px; }
.sf-summary-value{ font-size: 14px; word-break: break-word; }

.sf-thankyou h3{ margin: 0 0 8px 0; }
.sf-thankyou p{ margin: 0 0 10px 0; }


/* --- Social banner (Thank you page) --- */
.sf-social-banner{
  margin-top:16px;
  border-radius:14px;
  padding:14px;
  background: linear-gradient(135deg, rgba(24,119,242,.10), rgba(255,0,80,.10), rgba(255,122,0,.10));
  border: 1px solid rgba(0,0,0,.06);
}
.sf-social-banner-inner{
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}
.sf-social-banner-title{
  font-weight:800;
  letter-spacing:.2px;
}
.sf-social-banner-sub{
  opacity:.85;
  font-size:13px;
  margin-top:2px;
}
.sf-social-links{
  display:flex;
  gap:10px;
  align-items:center;
}
.sf-social{
  width:44px;
  height:44px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(0,0,0,.10);
  text-decoration:none !important;
  transform: translateZ(0);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.sf-social:hover{
  transform: translateY(-1px) scale(1.02);
  box-shadow: 0 8px 22px rgba(0,0,0,.10);
  filter: saturate(1.05);
}
.sf-social-icon{
  width:22px;
  height:22px;
  fill:#fff;
}
.sf-social-ig{
  background: radial-gradient(circle at 30% 30%, #feda75 0%, #fa7e1e 25%, #d62976 55%, #962fbf 75%, #4f5bd5 100%);
}
.sf-social-tt{
  background:#111;
  box-shadow: 0 0 0 2px rgba(37,244,238,.25), 0 0 0 4px rgba(254,44,85,.18);
}
.sf-social-fb{
  background:#1877F2;
}


/* Booking login/profile review */
.sf-account-review-box{background:#f7f7f7;border:1px solid #e5e5e5;border-radius:10px;padding:14px 16px;margin:6px 0 10px 0;display:grid;gap:6px;}
.studioflow-prenota-locked .sf-actions{margin-top:18px;}


/* === StudioFlow UI Polish Safe v1.19.8.27 === */
.sf-services-grid,
.studioflow-services-grid,
.sf-product-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:22px;
}
.sf-service-card,
.studioflow-service-card,
.sf-product-card{
  border-radius:22px;
  overflow:hidden;
  background:#111;
  position:relative;
  min-height:340px;
  box-shadow:0 14px 34px rgba(0,0,0,.12);
  transition:transform .22s ease, box-shadow .22s ease;
}
.sf-service-card:hover,
.studioflow-service-card:hover,
.sf-product-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 42px rgba(0,0,0,.18);
}
.sf-service-card img,
.studioflow-service-card img,
.sf-product-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.sf-service-card::after,
.studioflow-service-card::after,
.sf-product-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.78) 12%, rgba(0,0,0,.20) 58%, rgba(0,0,0,.04) 100%);
  pointer-events:none;
}
.sf-service-card-content,
.studioflow-service-card-content,
.sf-product-card-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:22px;
  color:#fff;
}
.sf-service-card-title,
.studioflow-service-card-title,
.sf-product-card-title{
  font-size:30px;
  line-height:1.05;
  margin:0 0 10px;
  font-weight:700;
  letter-spacing:.02em;
}
.sf-service-card-text,
.studioflow-service-card-text,
.sf-product-card-text{
  margin:0 0 14px;
  font-size:15px;
  line-height:1.45;
  opacity:.94;
}
.sf-service-card .button,
.studioflow-service-card .button,
.sf-product-card .button{
  border-radius:999px;
  padding:.75em 1.2em;
}
.studioflow-card,
.sf-dashboard-card,
.sf-booking-step,
.sf-archive-card{
  border-radius:20px !important;
  box-shadow:0 10px 28px rgba(15,23,42,.06);
}
.sf-booking-step input[type="text"],
.sf-booking-step input[type="email"],
.sf-booking-step input[type="password"],
.sf-booking-step input[type="number"],
.sf-booking-step input[type="date"],
.sf-booking-step input[type="time"],
.sf-booking-step select,
.sf-booking-step textarea,
.sf-auth-panel input[type="text"],
.sf-auth-panel input[type="email"],
.sf-auth-panel input[type="password"],
.sf-auth-panel textarea,
.sf-auth-panel select{
  border-radius:14px !important;
}
.sf-dashboard-links .button,
.sf-admin-console-top-actions .button,
.sf-admin-quick-links .button{
  border-radius:999px !important;
  padding:.9em 1.35em !important;
  min-height:auto;
}
@media (max-width: 767px){
  .sf-service-card,
  .studioflow-service-card,
  .sf-product-card{
    min-height:300px;
  }
  .sf-service-card-title,
  .studioflow-service-card-title,
  .sf-product-card-title{
    font-size:26px;
  }
}



/* v1.21.5 - Remote mix mobile spacing fix */
@media (max-width: 767px) {
  .sf-remote-mix-video,
  .sf-remote-video-wrap,
  .sf-remote-room-video,
  .sf-remote-main-video,
  .studioflow-remote-video,
  .sf-jitsi-wrap,
  .sf-video-embed,
  .sf-remote-mix iframe,
  .sf-remote-room iframe,
  .sf-remote-video iframe {
    margin-bottom: 24px !important;
  }

  .sf-remote-mix-notes,
  .sf-remote-notes,
  .sf-room-notes,
  .sf-notes-box,
  .sf-remote-mix textarea,
  .sf-remote-room textarea,
  textarea[name="sf_remote_notes"],
  textarea[name="remote_notes"] {
    margin-top: 12px !important;
    position: relative;
    z-index: 1;
  }
}


/* Embedded service card variants */
.studioflow-service-card-embed{
  text-decoration: none;
}
.studioflow-service-layout-compact .studioflow-service-content{
  min-height: 360px;
  padding: 22px;
}
.studioflow-service-layout-compact h3{
  font-size: 26px;
}
.studioflow-service-layout-minimal{
  min-height: auto;
  background: linear-gradient(180deg, rgba(20,20,20,.98) 0%, rgba(12,12,12,.98) 100%);
}
.studioflow-service-layout-minimal .studioflow-service-content{
  min-height: auto;
  padding: 28px;
}
.studioflow-service-layout-minimal .studioflow-service-top{
  margin-bottom: 4px;
}
.studioflow-service-layout-minimal .studioflow-service-excerpt{
  max-width: 100%;
}
.studioflow-service-layout-premium{
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 22px 50px rgba(0,0,0,.24);
}
.studioflow-service-layout-premium .studioflow-service-overlay{
  background: linear-gradient(180deg, rgba(8,8,8,.02) 0%, rgba(8,8,8,.22) 32%, rgba(8,8,8,.92) 100%);
}
.studioflow-service-layout-premium .studioflow-badge{
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.studioflow-service-layout-dark{
  background: linear-gradient(180deg, rgba(15,15,16,.98) 0%, rgba(8,8,9,.98) 100%);
  border-color: rgba(255,255,255,.1);
}
.studioflow-service-layout-dark::before{
  background: linear-gradient(90deg, rgba(251,192,45,.95) 0%, rgba(90,187,255,.92) 100%);
}
.studioflow-service-layout-dark::after{
  background: radial-gradient(circle, rgba(90,187,255,.18) 0%, rgba(90,187,255,0) 68%);
}
.studioflow-service-layout-dark .studioflow-service-overlay{
  background: linear-gradient(180deg, rgba(3,3,3,.08) 0%, rgba(3,3,3,.20) 34%, rgba(3,3,3,.94) 100%);
}
.studioflow-service-layout-dark .studioflow-price{
  color: #9fd4ff;
  background: rgba(90,187,255,.12);
  border-color: rgba(90,187,255,.24);
}
.studioflow-service-layout-dark .studioflow-service-cta{
  background: #fbc02d;
  color: #111;
}
.studioflow-service-layout-dark:hover{
  border-color: rgba(90,187,255,.5);
}
@media (max-width: 767px){
  .studioflow-service-card-modern{
    min-height: 380px;
    border-radius: 22px;
  }
  .studioflow-service-content{
    min-height: 380px;
    padding: 20px;
  }
  .studioflow-service-card-modern h3{
    font-size: 24px;
  }
  .studioflow-service-excerpt{
    max-width: 100%;
    font-size: 14px;
  }
  .studioflow-price{
    font-size: 12px;
  }
  .studioflow-service-cta{
    width: 100%;
  }
}

/* v1.30.5 - Dashboard utente: stanze aperte + sezioni a tendina mobile/desktop */
.sf-dashboard-accordion{
  display:block;
  border:1px solid rgba(15,23,42,.10);
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.06);
  overflow:hidden;
}
.sf-dashboard-accordion > summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px 20px;
  font-weight:700;
  color:#111827;
}
.sf-dashboard-accordion > summary::-webkit-details-marker{display:none;}
.sf-dashboard-accordion > summary::after{
  content:"Apri";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:.55em .95em;
  background:#111827;
  color:#fff;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
.sf-dashboard-accordion[open] > summary::after{content:"Chiudi";}
.sf-dashboard-accordion-content{
  padding:0 20px 20px;
}
.sf-dashboard-accordion-panel{
  padding:0 !important;
  box-shadow:none !important;
  border:0 !important;
  background:transparent !important;
}
.sf-open-rooms-list{
  display:grid;
  gap:14px;
}
.sf-open-room-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.06);
}
.sf-open-room-card h4{margin:6px 0 4px;font-size:18px;}
.sf-open-room-card p{margin:0;color:#64748b;}
@media (max-width: 767px){
  .sf-dashboard-basic .sf-dashboard-section{padding:16px !important;}
  .sf-dashboard-internal-nav{
    display:flex;
    overflow-x:auto;
    gap:8px;
    padding-bottom:6px;
    -webkit-overflow-scrolling:touch;
  }
  .sf-dashboard-internal-nav a{white-space:nowrap;}
  .sf-dashboard-accordion > summary{
    padding:16px;
    align-items:flex-start;
  }
  .sf-dashboard-accordion > summary::after{
    padding:.5em .8em;
    font-size:12px;
  }
  .sf-dashboard-accordion-content{padding:0 14px 16px;}
  .sf-open-room-card{
    flex-direction:column;
    align-items:stretch;
    padding:16px;
  }
  .sf-open-room-card .button,
  .sf-room-link-button{
    width:100%;
    text-align:center;
    justify-content:center;
  }
  .sf-dashboard-table-services tr,
  .sf-dashboard-table-appointments tr{
    border-radius:16px;
  }
}


/* StudioFlow Engineer selection */
.sf-engineer-choice{margin:0 0 18px 0;padding:16px;border:1px solid rgba(15,23,42,.10);border-radius:18px;background:#f8fafc}
.sf-engineer-picker-head label{display:block;font-weight:800;margin-bottom:4px}
.sf-engineer-picker-head p{margin:0 0 12px;color:#64748b}
.sf-engineer-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.sf-engineer-card{display:flex;gap:12px;text-align:left;align-items:flex-start;border:1px solid rgba(15,23,42,.12);background:#fff;border-radius:18px;padding:14px;cursor:pointer;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.sf-engineer-card-active{border-color:#111827;box-shadow:0 12px 30px rgba(15,23,42,.14)}
.sf-engineer-avatar{width:52px;height:52px;border-radius:999px;background-size:cover;background-position:center;flex:0 0 52px;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-weight:900}
.sf-engineer-card-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.sf-engineer-card-copy strong{font-size:15px;color:#0f172a}
.sf-engineer-card-copy em{font-style:normal;font-size:12px;font-weight:800;color:#0f172a;background:#e5e7eb;border-radius:999px;padding:2px 8px;width:max-content}
.sf-engineer-card-copy small{font-size:13px;color:#475569}
.sf-engineer-card-copy span{font-size:12px;color:#64748b;line-height:1.35}
.sf-engineer-card-copy b{font-size:13px;margin-top:2px}
@media(max-width:760px){.sf-engineer-choice{padding:12px}.sf-engineer-picker-grid{grid-template-columns:1fr}.sf-engineer-card{border-radius:16px}.sf-engineer-avatar{width:46px;height:46px;flex-basis:46px}}

/* Availability calendar in booking flow */
.sf-calendar-wrap{
  border:1px solid var(--sf-border);
  border-radius:var(--sf-radius-lg);
  padding:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
}
.sf-calendar-title{font-size:14px;font-weight:900;margin:0 0 10px;color:var(--sf-text)}
.sf-availability-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;text-transform:capitalize}
.sf-availability-head strong{font-size:16px;font-weight:900}
.sf-cal-nav{width:38px;height:38px;border-radius:999px;border:1px solid var(--sf-border-strong);background:#fff;cursor:pointer;font-size:24px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.sf-cal-nav:hover{box-shadow:0 8px 18px rgba(15,23,42,.10)}
.sf-calendar-weekdays,.sf-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.sf-calendar-weekdays{margin-bottom:7px}
.sf-calendar-weekdays span{text-align:center;font-size:11px;font-weight:900;color:var(--sf-muted);text-transform:uppercase;letter-spacing:.04em}
.sf-cal-empty{min-height:54px}
.sf-cal-day{min-height:58px;border-radius:16px;border:1px solid var(--sf-border);background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:7px 4px;transition:transform .08s ease,box-shadow .08s ease,border-color .08s ease,background .08s ease}
.sf-cal-day b{font-size:15px;line-height:1;color:var(--sf-text)}
.sf-cal-day small{font-size:10px;color:var(--sf-muted);line-height:1.1}
.sf-cal-day.sf-cal-available{border-color:rgba(22,163,74,.35);background:rgba(22,163,74,.08)}
.sf-cal-day.sf-cal-available:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,23,42,.10)}
.sf-cal-day.sf-cal-selected{border-color:rgba(37,99,235,.65);background:var(--sf-accent-soft);box-shadow:0 0 0 3px rgba(37,99,235,.12);font-weight:900}
.sf-cal-day.sf-cal-unavailable,.sf-cal-day.sf-cal-past{opacity:.50;cursor:not-allowed;background:#f8fafc}
.sf-calendar-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;color:var(--sf-muted);font-size:12px}
.sf-calendar-legend span{display:inline-flex;align-items:center;gap:6px}
.sf-calendar-legend i{width:10px;height:10px;border-radius:999px;border:1px solid var(--sf-border);background:#f8fafc;display:inline-block}
.sf-calendar-legend span:first-child i{background:rgba(22,163,74,.14);border-color:rgba(22,163,74,.35)}
@media (max-width:640px){
  .sf-calendar-wrap{padding:10px;border-radius:18px}
  .sf-calendar-weekdays,.sf-calendar-grid{gap:5px}
  .sf-cal-day{min-height:50px;border-radius:13px;padding:6px 2px}
  .sf-cal-day b{font-size:14px}
  .sf-cal-day small{font-size:9px}
}

/* StudioFlow booking progress bar refinements */
.studioflow-prenota .sf-steps{
  align-items:center;
}
.studioflow-prenota .sf-step{
  text-align:center;
  min-width: 112px;
}
@media (max-width: 640px){
  .studioflow-prenota .sf-steps{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:8px;
    padding: 0 16px 16px;
  }
  .studioflow-prenota .sf-step{
    width:100%;
    min-width:0;
    font-size:12px;
    padding:8px 6px;
  }
}

/* v1.30.5 calendar readability fix: clean arrows + bigger availability labels */
.sf-cal-nav{font-family:Arial, Helvetica, sans-serif;font-size:30px;font-weight:700;color:var(--sf-text);}
.sf-cal-day{min-height:72px;}
.sf-cal-day b{font-size:20px;font-weight:900;}
.sf-cal-day small{font-size:14px;font-weight:800;margin-top:5px;color:#0f172a;}
.sf-cal-day.sf-cal-unavailable small,.sf-cal-day.sf-cal-past small{display:none;}
.sf-cal-day.sf-cal-available{border-width:2px;}
.sf-cal-day.sf-cal-selected small{font-size:15px;font-weight:900;}
@media (max-width:640px){
  .sf-cal-nav{width:42px;height:42px;font-size:28px;}
  .sf-cal-day{min-height:62px;}
  .sf-cal-day b{font-size:18px;}
  .sf-cal-day small{font-size:12px;margin-top:4px;}
}

/* StudioFlow v1.30.5 - time slot visual emphasis */
.sf-slots{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:18px;
  margin-bottom:14px;
  align-items:center;
}
.sf-slot{
  min-width:96px;
  min-height:54px;
  border-radius:999px;
  padding:13px 22px;
  border:2px solid rgba(15,23,42,.12);
  background:#fff;
  color:#0f172a;
  cursor:pointer;
  font-size:20px;
  line-height:1;
  font-weight:800;
  box-shadow:0 6px 16px rgba(15,23,42,.06);
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease;
}
.sf-slot:hover,
.sf-slot:focus{
  transform:translateY(-2px);
  border-color:rgba(37,99,235,.42);
  background:#fff7e6;
  box-shadow:0 12px 28px rgba(15,23,42,.12);
  outline:none;
}
.sf-slot.sf-slot-active{
  border-color:rgba(37,99,235,.70);
  background:#fff3d6;
  color:#050816;
  font-weight:900;
  box-shadow:0 0 0 4px rgba(37,99,235,.14), 0 12px 28px rgba(15,23,42,.13);
}
.sf-slot[disabled],
.sf-slot.sf-slot-disabled{
  opacity:.42;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}
@media (max-width:640px){
  .sf-slots{ gap:10px; justify-content:flex-start; }
  .sf-slot{ min-width:88px; min-height:50px; padding:12px 18px; font-size:18px; }
}

/* ==========================================================
   StudioGaudio visual skin - aligned with template grafico v1.5.0
   Safe CSS-only override: no booking logic touched.
   ========================================================== */
:root{
  --sf-radius-lg: 24px;
  --sf-radius-md: 14px;
  --sf-bg: #080808;
  --sf-bg-soft: rgba(255,195,38,.10);
  --sf-panel: #111111;
  --sf-panel-2: #171717;
  --sf-text: #ffffff;
  --sf-muted: #d3d3d3;
  --sf-border: rgba(255,255,255,.10);
  --sf-border-strong: rgba(255,195,38,.45);
  --sf-accent: #ffc326;
  --sf-accent-soft: rgba(255,195,38,.18);
  --sf-shadow: 0 24px 80px rgba(0,0,0,.45);
}

.studioflow-prenota{
  color: var(--sf-text) !important;
  font-family: Inter, Arial, sans-serif;
}

.studioflow-prenota .sf-card{
  background:
    radial-gradient(circle at 12% 8%, rgba(255,195,38,.11), transparent 28%),
    linear-gradient(180deg, #050505 0%, #0b0b0b 48%, #050505 100%) !important;
  border: 1px solid rgba(255,195,38,.42) !important;
  border-radius: 26px !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.62), 0 0 34px rgba(255,195,38,.08) !important;
  overflow: hidden;
}

.studioflow-prenota .sf-header{
  background:
    radial-gradient(820px 260px at 0% 0%, rgba(255,195,38,.18), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)) !important;
  border-bottom: 1px solid rgba(255,255,255,.09) !important;
  padding: 28px 28px 20px !important;
}

.studioflow-prenota .sf-step-title{
  color: var(--sf-accent) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.studioflow-prenota .sf-title{
  color: #fff !important;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1.04 !important;
  font-weight: 950 !important;
  letter-spacing: -.045em !important;
}

.studioflow-prenota .sf-subtitle,
.studioflow-prenota .sf-muted,
.studioflow-prenota .sf-hint{
  color: #d8d8d8 !important;
}

.studioflow-prenota .sf-body,
.studioflow-prenota .sf-steps{
  background: transparent !important;
}

.studioflow-prenota .sf-body{
  padding: 24px 28px 28px !important;
}

.studioflow-prenota .sf-steps{
  padding: 0 28px 22px !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.studioflow-prenota .sf-step{
  color: #d8d8d8 !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 999px !important;
  padding: 10px 13px !important;
}

.studioflow-prenota .sf-step.sf-step-active{
  color: #050505 !important;
  background: linear-gradient(135deg, #ffc326, #d49b12) !important;
  border-color: rgba(255,195,38,.95) !important;
  box-shadow: 0 12px 30px rgba(255,195,38,.22) !important;
}

#sfServicesGrid,
.studioflow-services-grid{
  gap: 24px !important;
}

.sf-service-card,
.studioflow-service-card-modern{
  min-height: 520px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255,195,38,.65) !important;
  background: #151515 !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.38) !important;
  cursor: pointer !important;
}

.sf-service-card:hover,
.studioflow-service-card-modern:hover{
  transform: translateY(-6px) !important;
  border-color: rgba(255,195,38,.95) !important;
  box-shadow: 0 26px 70px rgba(0,0,0,.58), 0 0 32px rgba(255,195,38,.13) !important;
}

.sf-service-card::before,
.studioflow-service-card-modern::before{
  height: 5px !important;
  width: 92px !important;
  background: #ffc326 !important;
  transform: none !important;
}

.sf-service-card::after,
.studioflow-service-card-modern::after{
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  right: auto !important;
  top: auto !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg,rgba(255,195,38,.22),transparent 32%,transparent 70%,rgba(255,195,38,.12)) !important;
  opacity: 0 !important;
  z-index: 3 !important;
}

.sf-service-card:hover::after,
.studioflow-service-card-modern:hover::after{
  opacity: 1 !important;
  transform: none !important;
}

.sf-service-media,
.studioflow-service-media{
  filter: grayscale(.25) brightness(.72) contrast(1.12) !important;
}

.sf-service-card:hover .sf-service-media,
.studioflow-service-card-modern:hover .studioflow-service-media{
  filter: grayscale(.10) brightness(.82) contrast(1.15) !important;
  transform: scale(1.04) !important;
}

.sf-service-overlay,
.studioflow-service-overlay{
  background:
    linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.38) 34%,rgba(0,0,0,.84) 100%),
    radial-gradient(circle at 20% 20%,rgba(0,0,0,.06),rgba(0,0,0,.62) 70%) !important;
}

.sf-service-content,
.studioflow-service-content{
  min-height: 520px !important;
  padding: 26px !important;
  gap: 14px !important;
}

.sf-service-title,
.studioflow-service-card-modern h3{
  font-size: clamp(29px,2.4vw,42px) !important;
  line-height: .98 !important;
  font-weight: 950 !important;
  letter-spacing: -.055em !important;
  color: #fff !important;
}

.sf-service-price,
.studioflow-price{
  color: #ffc326 !important;
  background: rgba(255,195,38,.18) !important;
  border: 1px solid rgba(255,195,38,.45) !important;
  font-weight: 900 !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.sf-badge{
  color: #fff !important;
  background: rgba(255,255,255,.13) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.sf-service-excerpt,
.studioflow-service-excerpt{
  color: #f1f1f1 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

.sf-service-cta,
.studioflow-service-cta,
.sf-btn{
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ffc326, #d49b12) !important;
  color: #050505 !important;
  border: 1px solid rgba(255,195,38,.55) !important;
  box-shadow: 0 14px 34px rgba(255,195,38,.24) !important;
  font-weight: 950 !important;
  text-transform: uppercase;
  letter-spacing: .02em;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease !important;
}

.sf-service-card:hover .sf-service-cta,
.studioflow-service-card-modern:hover .studioflow-service-cta,
.sf-service-cta:hover,
.studioflow-service-cta:hover,
.sf-btn:hover{
  transform: translateY(-2px) !important;
  background: #ffcf3e !important;
  box-shadow: 0 18px 44px rgba(255,195,38,.38) !important;
}

#sfDetails,
.sf-summary-item,
.sf-social-banner,
.studioflow-prenota .sf-result{
  background: linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025)) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 20px !important;
  color: #fff !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.28) !important;
}

.sf-detail-title,
.sf-summary h3,
.sf-thankyou h3,
.sf-summary-value,
.sf-social-banner-title{
  color: #fff !important;
}

.sf-summary-label,
.sf-social-banner-sub{
  color: #d8d8d8 !important;
  opacity: 1 !important;
}

.sf-slot{
  background: rgba(255,255,255,.04) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 999px !important;
  padding: 12px 17px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.sf-slot:hover{
  border-color: rgba(255,195,38,.55) !important;
  box-shadow: 0 12px 28px rgba(255,195,38,.12) !important;
}

.sf-slot.sf-slot-active{
  color: #050505 !important;
  background: #ffc326 !important;
  border-color: rgba(255,195,38,.95) !important;
}

.sf-form label{ color: #fff !important; }
.sf-form input[type="text"],
.sf-form input[type="email"],
.sf-form input[type="tel"],
.sf-form input[type="date"],
.sf-form textarea,
.sf-form select{
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 14px !important;
  min-height: 46px;
}
.sf-form input::placeholder,
.sf-form textarea::placeholder{ color: rgba(255,255,255,.55); }
.sf-form select option{ color: #111; }

.sf-btn.sf-btn-ghost{
  color: #fff !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: none !important;
}
.sf-btn.sf-btn-ghost:hover{
  border-color: rgba(255,195,38,.55) !important;
  box-shadow: 0 12px 28px rgba(255,195,38,.10) !important;
}

@media (max-width: 780px){
  .studioflow-prenota .sf-header{ padding: 24px 20px 18px !important; }
  .studioflow-prenota .sf-body{ padding: 20px !important; }
  .studioflow-prenota .sf-steps{ padding: 0 20px 20px !important; }
  .sf-service-card,
  .studioflow-service-card-modern,
  .sf-service-content,
  .studioflow-service-content{ min-height: 500px !important; }
  .sf-service-cta,
  .studioflow-service-cta{ width: 100% !important; }
}


/* ==========================================================
   v1.30.7.3 - Frontend calendar contrast fix only
   Backend/admin CSS restored to original.
   ========================================================== */
.studioflow-prenota .sf-calendar-wrap{
  color:#111827 !important;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,247,250,.96)) !important;
}
.studioflow-prenota .sf-calendar-title,
.studioflow-prenota .sf-availability-head strong{
  color:#111827 !important;
}
.studioflow-prenota .sf-calendar-weekdays span{
  color:#3f4652 !important;
  opacity:1 !important;
}
.studioflow-prenota .sf-cal-nav{
  color:#111827 !important;
  background:#ffffff !important;
  border-color:rgba(255,195,38,.70) !important;
}
.studioflow-prenota .sf-cal-day b{
  color:#111827 !important;
  opacity:1 !important;
}
.studioflow-prenota .sf-cal-day small{
  color:#111827 !important;
  opacity:1 !important;
  font-weight:900 !important;
}
.studioflow-prenota .sf-cal-day.sf-cal-available{
  background:linear-gradient(180deg, rgba(232,247,238,.96), rgba(216,240,226,.96)) !important;
  border-color:rgba(56,161,105,.55) !important;
}
.studioflow-prenota .sf-cal-day.sf-cal-selected{
  background:linear-gradient(180deg, rgba(255,242,203,.98), rgba(255,232,165,.98)) !important;
  border-color:#ffc326 !important;
  box-shadow:0 0 0 3px rgba(255,195,38,.25), 0 18px 34px rgba(0,0,0,.12) !important;
}
.studioflow-prenota .sf-cal-day.sf-cal-unavailable,
.studioflow-prenota .sf-cal-day.sf-cal-past{
  opacity:.28 !important;
  background:#f3f4f6 !important;
}
.studioflow-prenota .sf-calendar-legend{
  color:#4b5563 !important;
}

/* ==========================================================
   v1.30.7.4 - Frontend step 3 StudioGaudio contrast/style
   Backend/admin untouched: scoped only under .studioflow-prenota.
   ========================================================== */
.studioflow-prenota .sf-panel[data-panel="3"] .sf-form{
  color:#f7f7f7 !important;
}
.studioflow-prenota .sf-panel[data-panel="3"] .sf-form > div,
.studioflow-prenota .sf-account-review,
.studioflow-prenota .sf-engineer-choice,
.studioflow-prenota .sf-row,
.studioflow-prenota .sf-panel[data-panel="3"] textarea,
.studioflow-prenota .sf-panel[data-panel="3"] select{
  color:#f7f7f7 !important;
}
.studioflow-prenota .sf-account-review-box,
.studioflow-prenota .sf-engineer-choice{
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035)) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:24px !important;
  box-shadow:0 22px 60px rgba(0,0,0,.32) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
}
.studioflow-prenota .sf-account-review label,
.studioflow-prenota .sf-engineer-picker-head label,
.studioflow-prenota .sf-panel[data-panel="3"] label{
  color:#ffffff !important;
  font-weight:950 !important;
  letter-spacing:-.02em !important;
}
.studioflow-prenota .sf-account-review-box{
  padding:22px 26px !important;
}
.studioflow-prenota .sf-account-review-box div,
.studioflow-prenota .sf-account-review-box strong{
  color:#ffffff !important;
  opacity:1 !important;
  font-weight:850 !important;
}
.studioflow-prenota .sf-muted,
.studioflow-prenota .sf-account-review .sf-muted,
.studioflow-prenota #sfPaymentHint{
  color:rgba(255,255,255,.72) !important;
  opacity:1 !important;
}
.studioflow-prenota .sf-engineer-picker-head p{
  color:rgba(255,255,255,.78) !important;
  font-size:17px !important;
  line-height:1.45 !important;
}
.studioflow-prenota .sf-engineer-card{
  background:linear-gradient(180deg,rgba(16,16,16,.92),rgba(8,8,8,.88)) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:#ffffff !important;
  border-radius:22px !important;
  box-shadow:0 16px 38px rgba(0,0,0,.30) !important;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}
.studioflow-prenota .sf-engineer-card:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(255,195,38,.55) !important;
  box-shadow:0 20px 48px rgba(0,0,0,.38), 0 0 0 1px rgba(255,195,38,.18) inset !important;
}
.studioflow-prenota .sf-engineer-card-active{
  border-color:#ffc326 !important;
  box-shadow:0 24px 54px rgba(0,0,0,.42), 0 0 0 2px rgba(255,195,38,.35) inset !important;
}
.studioflow-prenota .sf-engineer-card-copy strong,
.studioflow-prenota .sf-engineer-card-copy small,
.studioflow-prenota .sf-engineer-card-copy span,
.studioflow-prenota .sf-engineer-card-copy b{
  color:#ffffff !important;
  opacity:1 !important;
}
.studioflow-prenota .sf-engineer-card-copy small,
.studioflow-prenota .sf-engineer-card-copy span{
  color:rgba(255,255,255,.72) !important;
}
.studioflow-prenota .sf-engineer-card-copy b{
  color:#ffc326 !important;
  font-weight:950 !important;
}
.studioflow-prenota .sf-engineer-card-copy em{
  background:rgba(255,195,38,.18) !important;
  color:#ffc326 !important;
  border:1px solid rgba(255,195,38,.34) !important;
}
.studioflow-prenota .sf-engineer-avatar{
  background-color:rgba(255,255,255,.12) !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.16) !important;
}
.studioflow-prenota .sf-engineer-avatar-auto{
  background:linear-gradient(135deg,rgba(255,195,38,.95),rgba(212,155,18,.95)) !important;
  color:#060606 !important;
}
.studioflow-prenota .sf-panel[data-panel="3"] select,
.studioflow-prenota .sf-panel[data-panel="3"] textarea{
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#ffffff !important;
  box-shadow:0 12px 30px rgba(0,0,0,.20) !important;
}
.studioflow-prenota .sf-panel[data-panel="3"] select:focus,
.studioflow-prenota .sf-panel[data-panel="3"] textarea:focus{
  outline:none !important;
  border-color:rgba(255,195,38,.70) !important;
  box-shadow:0 0 0 3px rgba(255,195,38,.18), 0 14px 34px rgba(0,0,0,.28) !important;
}
.studioflow-prenota .sf-panel[data-panel="3"] select option{
  color:#111827 !important;
  background:#ffffff !important;
}

/* StudioFlow dashboard delete actions */
.sf-admin-actions .sf-inline-delete-form,
.sf-inline-delete-form {
  display: inline-flex;
  margin: 0;
}
.sf-admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}
.sf-delete-danger,
.sf-admin-actions .sf-delete-danger,
.sf-engineer-delete-order {
  border-color: rgba(255, 89, 89, 0.72) !important;
  color: #ff6b6b !important;
  background: rgba(255, 89, 89, 0.08) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06) !important;
}
.sf-delete-danger:hover,
.sf-admin-actions .sf-delete-danger:hover,
.sf-engineer-delete-order:hover {
  background: rgba(255, 89, 89, 0.18) !important;
  color: #fff !important;
  border-color: rgba(255, 107, 107, 0.95) !important;
}

/* StudioFlow v1.30.7.17 - Badge servizio OnLine */
.sf-badge-online,
.studioflow-badge-online {
  background: linear-gradient(135deg, #16a34a, #22c55e) !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,.42) !important;
  box-shadow: 0 10px 24px rgba(34,197,94,.24);
}
.sf-detail-badge {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

/* StudioFlow v1.30.7.18 - Badge offerta e prezzo scontato */
.sf-badge-offer,
.studioflow-badge-offer {
  background: linear-gradient(135deg, #f59e0b, #ef4444) !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,.42) !important;
  box-shadow: 0 10px 24px rgba(239,68,68,.24);
}
.sf-service-price .sf-price-regular,
.studioflow-price .sf-price-regular,
.sf-summary-price .sf-price-regular {
  color: rgba(255,255,255,.72) !important;
  text-decoration: line-through;
  text-decoration-thickness: 2px;
  margin-right: 6px;
  font-weight: 800;
}
.sf-service-price .sf-price-sale,
.studioflow-price .sf-price-sale,
.sf-summary-price .sf-price-sale {
  color: #ffffff !important;
  font-weight: 950;
}
.sf-service-price .sf-price-normal,
.studioflow-price .sf-price-normal {
  font-weight: 900;
}

/* StudioFlow v1.30.7.21 - descrizione servizio nello Step 2 */
.studioflow-prenota .sf-detail-description{
  margin: 12px 0 18px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(245, 158, 11, .22);
  background: linear-gradient(135deg, rgba(15, 15, 15, .86), rgba(28, 28, 28, .72));
  color: rgba(255,255,255,.86);
  line-height: 1.55;
  font-size: 15px;
  box-shadow: 0 18px 42px rgba(0,0,0,.18);
}
.studioflow-prenota .sf-detail-description p{
  margin: 0 0 10px;
}
.studioflow-prenota .sf-detail-description p:last-child{
  margin-bottom: 0;
}

/* StudioFlow v1.30.7.23 - completamento profilo cliente */
.sf-complete-profile-box{
  margin:14px 0 0;
  padding:16px;
  border:1px solid rgba(245,158,11,.35);
  border-radius:16px;
  background:rgba(245,158,11,.08);
}
.sf-complete-profile-box strong{display:block;color:#fff;margin-bottom:4px;}
.sf-complete-profile-box p{margin:0 0 12px;color:rgba(255,255,255,.78);}
.sf-profile-grid-full{grid-column:1/-1;}
.sf-profile-grid textarea,.sf-complete-profile-box input{width:100%;}


/* StudioFlow Pack completi */
.sf-service-section{
  width:100%;
  margin-bottom:34px;
}
.sf-service-section-head{
  margin:0 0 18px;
}
.sf-service-section-head h3{
  margin:0 0 6px;
  color:#fff;
  font-size:24px;
  line-height:1.1;
  text-transform:uppercase;
}
.sf-service-section-head p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:14px;
}
.sf-service-section-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:18px;
}
.sf-pack-section{
  margin-top:38px;
  padding-top:28px;
  border-top:1px solid rgba(255,138,0,.28);
}
.sf-service-card-pack{
  border-color:rgba(255,138,0,.65)!important;
  box-shadow:0 18px 55px rgba(255,138,0,.12)!important;
}
.sf-service-card-pack .sf-service-overlay{
  background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.86)),radial-gradient(circle at 20% 15%,rgba(255,138,0,.26),transparent 42%);
}
.sf-badge-pack,
.studioflow-badge-pack{
  background:linear-gradient(180deg,#ffb02e,#ff8a00)!important;
  color:#111!important;
  border-color:rgba(255,138,0,.8)!important;
  font-weight:900;
}
.studioflow-services-section{
  margin-bottom:46px;
}
.studioflow-services-section h2{
  color:#fff;
  text-transform:uppercase;
  margin:0 0 10px;
}
.studioflow-services-section-subtitle{
  color:rgba(255,255,255,.72);
  margin:0 0 20px;
}
.studioflow-services-packs{
  padding-top:32px;
  border-top:1px solid rgba(255,138,0,.28);
}
.studioflow-pack-card{
  border-color:rgba(255,138,0,.65)!important;
}

/* v1.30.7.29 - Preventivo badge */
.sf-badge-quote,
.studioflow-badge-quote {
  background: linear-gradient(135deg, #ff8a00, #ffb347) !important;
  color: #080808 !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}

/* v1.30.7.34 - Fix allineamento sezioni servizi
   Le sezioni create via JS (Servizi / Pack e preventivo) devono occupare
   tutta la larghezza del grid principale, altrimenti diventano colonne affiancate. */
#sfServicesGrid > .sf-service-section,
.studioflow-services-grid > .sf-service-section{
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

#sfServicesGrid > .sf-service-section .sf-service-section-grid,
.studioflow-services-grid > .sf-service-section .sf-service-section-grid{
  width: 100% !important;
}


/* v1.30.7.35 - Layout servizi: sezioni impilate e 4 card per riga desktop */
.studioflow-prenota .sf-card{
  max-width: 1400px !important;
}
#sfServicesGrid,
.studioflow-services-grid{
  display: block !important;
  width: 100% !important;
}
#sfServicesGrid > .sf-service-section,
.studioflow-services-grid > .sf-service-section{
  display: block !important;
  width: 100% !important;
  clear: both !important;
  margin-bottom: 42px !important;
}
#sfServicesGrid > .sf-service-section .sf-service-section-grid,
.studioflow-services-grid > .sf-service-section .sf-service-section-grid,
.sf-service-section-grid{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
}
@media (max-width: 1200px){
  #sfServicesGrid > .sf-service-section .sf-service-section-grid,
  .studioflow-services-grid > .sf-service-section .sf-service-section-grid,
  .sf-service-section-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 860px){
  #sfServicesGrid > .sf-service-section .sf-service-section-grid,
  .studioflow-services-grid > .sf-service-section .sf-service-section-grid,
  .sf-service-section-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 560px){
  .studioflow-prenota .sf-card{
    max-width: 100% !important;
  }
  #sfServicesGrid > .sf-service-section .sf-service-section-grid,
  .studioflow-services-grid > .sf-service-section .sf-service-section-grid,
  .sf-service-section-grid{
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   StudioSoundFlow Booking Core UI Base - v1.30.7.55
   Obiettivo: il booking resta vendibile e autonomo, ma leggero.
   Il Design Pack può sovrascrivere questi stili senza conflitti.
   ========================================================= */
:root{
  --sf-core-bg:#111111;
  --sf-core-surface:#181818;
  --sf-core-surface-2:#202020;
  --sf-core-border:rgba(255,255,255,.10);
  --sf-core-text:#ffffff;
  --sf-core-muted:rgba(255,255,255,.72);
  --sf-core-accent:#f5a623;
  --sf-core-radius:16px;
}

.sf-dashboard,
.sf-dashboard-wrap,
.sf-console,
.sf-client-dashboard,
.sf-engineer-dashboard,
.sf-admin-console{
  color:var(--sf-core-text);
}

.sf-dashboard :where(.sf-card,.sf-panel,.sf-box,.sf-section,.sf-dashboard-section,.sf-dashboard-open-rooms-section,.sf-room-card),
.sf-console :where(.sf-card,.sf-panel,.sf-box,.sf-section,.sf-dashboard-section,.sf-dashboard-open-rooms-section,.sf-room-card),
.sf-client-dashboard :where(.sf-card,.sf-panel,.sf-box,.sf-section,.sf-dashboard-section,.sf-dashboard-open-rooms-section,.sf-room-card),
.sf-engineer-dashboard :where(.sf-card,.sf-panel,.sf-box,.sf-section,.sf-dashboard-section,.sf-dashboard-open-rooms-section,.sf-room-card){
  background:var(--sf-core-surface);
  color:var(--sf-core-text);
  border:1px solid var(--sf-core-border);
  border-radius:var(--sf-core-radius);
  box-shadow:none;
}

.sf-dashboard :where(.sf-inner,.sf-card-inner,.sf-panel-inner,.sf-table-wrap),
.sf-console :where(.sf-inner,.sf-card-inner,.sf-panel-inner,.sf-table-wrap),
.sf-client-dashboard :where(.sf-inner,.sf-card-inner,.sf-panel-inner,.sf-table-wrap),
.sf-engineer-dashboard :where(.sf-inner,.sf-card-inner,.sf-panel-inner,.sf-table-wrap){
  background:transparent;
  border:0;
  box-shadow:none;
}

.sf-dashboard :where(h1,h2,h3,h4,strong,label),
.sf-console :where(h1,h2,h3,h4,strong,label),
.sf-client-dashboard :where(h1,h2,h3,h4,strong,label),
.sf-engineer-dashboard :where(h1,h2,h3,h4,strong,label){
  color:var(--sf-core-text);
}

.sf-dashboard :where(p,span,small,td,th,li),
.sf-console :where(p,span,small,td,th,li),
.sf-client-dashboard :where(p,span,small,td,th,li),
.sf-engineer-dashboard :where(p,span,small,td,th,li){
  color:var(--sf-core-muted);
}

.sf-dashboard :where(a.button,.button,button,.sf-btn,.sf-room-link-button),
.sf-console :where(a.button,.button,button,.sf-btn,.sf-room-link-button),
.sf-client-dashboard :where(a.button,.button,button,.sf-btn,.sf-room-link-button),
.sf-engineer-dashboard :where(a.button,.button,button,.sf-btn,.sf-room-link-button){
  background:var(--sf-core-accent);
  color:#111111;
  border:0;
  border-radius:999px;
  font-weight:800;
  text-decoration:none;
}

.sf-dashboard table,
.sf-console table,
.sf-client-dashboard table,
.sf-engineer-dashboard table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:transparent;
  color:var(--sf-core-text);
}

.sf-dashboard :where(th,td),
.sf-console :where(th,td),
.sf-client-dashboard :where(th,td),
.sf-engineer-dashboard :where(th,td){
  border-color:rgba(255,255,255,.08);
}

@media only screen and (max-width:782px){
  .sf-dashboard-open-rooms-section :where(.sf-dashboard-table-wrap,table,thead,tbody),
  table.sf-dashboard-table-open-rooms,
  table.sf-dashboard-table-open-rooms tbody{
    display:block;
    width:100%;
    max-width:100%;
    background:transparent;
    border:0;
    box-shadow:none;
    overflow:visible;
  }
  table.sf-dashboard-table-open-rooms thead{display:none;}
  table.sf-dashboard-table-open-rooms tbody tr,
  .sf-dashboard-table-open-rooms tr{
    display:block;
    width:auto;
    margin:0 0 12px;
    padding:14px;
    background:var(--sf-core-surface);
    color:var(--sf-core-text);
    border:1px solid var(--sf-core-border);
    border-radius:var(--sf-core-radius);
    box-shadow:none;
  }
  table.sf-dashboard-table-open-rooms tbody tr td,
  .sf-dashboard-table-open-rooms tr td{
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
    gap:10px;
    padding:8px 0;
    background:transparent;
    color:var(--sf-core-text);
    border:0;
    border-bottom:1px solid rgba(255,255,255,.08);
    font-size:14px;
    line-height:1.28;
    font-weight:700;
    word-break:break-word;
    white-space:normal;
  }
  table.sf-dashboard-table-open-rooms tbody tr td:last-child,
  .sf-dashboard-table-open-rooms tr td:last-child{border-bottom:0;}
  table.sf-dashboard-table-open-rooms tbody tr td::before,
  .sf-dashboard-table-open-rooms tr td::before{
    content:attr(data-label);
    color:var(--sf-core-accent);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
  }
  table.sf-dashboard-table-open-rooms tbody tr td *,
  .sf-dashboard-table-open-rooms tr td *{
    color:var(--sf-core-text);
    opacity:1;
    -webkit-text-fill-color:var(--sf-core-text);
  }
  table.sf-dashboard-table-open-rooms :where(a.button,button,.button,.sf-room-link-button),
  .sf-dashboard-table-open-rooms :where(a.button,button,.button,.sf-room-link-button){
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-height:34px;
    padding:8px 14px;
    background:var(--sf-core-accent);
    color:#111111;
    -webkit-text-fill-color:#111111;
    font-size:13px;
    font-weight:900;
  }
}


/* =========================================================
   StudioSoundFlow CORE v1.30.7.55
   Mobile dashboard one-layer + dark readable order cards
   ========================================================= */
@media only screen and (max-width: 782px){
  .sf-dashboard-basic,
  .sf-dashboard-basic.sf-engineer-dashboard,
  .sf-dashboard-basic.sf-admin-console{
    background:#0b0b0d !important;
    color:#fff !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
  }

  .sf-dashboard-basic .sf-dashboard-sections{
    display:block !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:18px 0 0 !important;
  }

  .sf-dashboard-basic .sf-dashboard-section,
  .sf-dashboard-basic .sf-dashboard-panel,
  .sf-dashboard-basic .sf-dashboard-accordion,
  .sf-dashboard-basic .sf-dashboard-accordion-content,
  .sf-dashboard-basic .sf-dashboard-table-wrap{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    outline:0 !important;
    border-radius:0 !important;
  }

  .sf-dashboard-basic .sf-dashboard-section{
    padding:0 !important;
    margin:0 0 24px !important;
  }

  .sf-dashboard-basic .sf-dashboard-section-head,
  .sf-dashboard-basic .sf-dashboard-panel-head,
  .sf-dashboard-basic .sf-dashboard-accordion > summary{
    background:#111115 !important;
    color:#fff !important;
    border:1px solid rgba(245,166,35,.22) !important;
    border-radius:22px !important;
    padding:16px !important;
    margin:0 0 12px !important;
    box-shadow:none !important;
  }

  .sf-dashboard-basic .sf-dashboard-accordion > summary + .sf-dashboard-accordion-content{
    padding:0 !important;
    margin:0 !important;
  }

  .sf-dashboard-basic .sf-dashboard-table,
  .sf-dashboard-basic .sf-dashboard-table thead,
  .sf-dashboard-basic .sf-dashboard-table tbody,
  .sf-dashboard-basic .sf-dashboard-table tr,
  .sf-dashboard-basic .sf-dashboard-table td,
  .sf-dashboard-basic .sf-dashboard-table th{
    display:block !important;
    width:100% !important;
    box-sizing:border-box !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .sf-dashboard-basic .sf-dashboard-table thead{
    display:none !important;
  }

  .sf-dashboard-basic .sf-dashboard-table tr,
  .sf-dashboard-basic .sf-open-room-card,
  .sf-dashboard-basic .sf-dashboard-mini-card,
  .sf-dashboard-basic .sf-admin-online-card{
    background:linear-gradient(180deg,#151519 0%,#0d0d10 100%) !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:24px !important;
    padding:16px !important;
    margin:0 0 14px !important;
    overflow:hidden !important;
  }

  .sf-dashboard-basic .sf-dashboard-table td{
    display:grid !important;
    grid-template-columns:96px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:start !important;
    padding:9px 0 !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    line-height:1.35 !important;
    word-break:break-word !important;
    white-space:normal !important;
  }

  .sf-dashboard-basic .sf-dashboard-table td:last-child{
    border-bottom:0 !important;
  }

  .sf-dashboard-basic .sf-dashboard-table td::before{
    content:attr(data-label) !important;
    color:#f5a623 !important;
    -webkit-text-fill-color:#f5a623 !important;
    font-size:11px !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
  }

  .sf-dashboard-basic .sf-dashboard-table :where(td,td *,small,strong,a,span),
  .sf-dashboard-basic :where(.sf-dashboard-section-head,.sf-dashboard-section-head *,.sf-dashboard-panel-head,.sf-dashboard-panel-head *,summary,summary *){
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    opacity:1 !important;
  }

  .sf-dashboard-basic .sf-dashboard-table small,
  .sf-dashboard-basic .sf-section-subtitle{
    color:rgba(255,255,255,.78) !important;
    -webkit-text-fill-color:rgba(255,255,255,.78) !important;
  }

  .sf-dashboard-basic .sf-dashboard-badge,
  .sf-dashboard-basic .sf-dashboard-card-label,
  .sf-dashboard-basic .sf-dashboard-online-label{
    color:#f5a623 !important;
    -webkit-text-fill-color:#f5a623 !important;
  }

  .sf-dashboard-basic :where(a.button,.button,button,.sf-room-link-button,.sf-engineer-delete-order){
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-height:38px !important;
    padding:10px 15px !important;
    background:#f5a623 !important;
    color:#111 !important;
    -webkit-text-fill-color:#111 !important;
    border:0 !important;
    border-radius:999px !important;
    font-size:13px !important;
    font-weight:900 !important;
    text-decoration:none !important;
  }

  .sf-dashboard-basic .sf-engineer-delete-order{
    background:#2b1111 !important;
    color:#ffdddd !important;
    -webkit-text-fill-color:#ffdddd !important;
    border:1px solid rgba(255,120,120,.36) !important;
  }
}


/* v1.30.7.63 - keep open rooms cards from v1.30.7.60, only flatten create-room section on mobile */
@media(max-width:782px){
  .sf-engineer-dashboard #sf-engineer-create-room,
  .sf-engineer-dashboard #sf-engineer-create-room.sf-dashboard-section,
  .sf-engineer-dashboard #sf-engineer-create-room .sf-dashboard-section-head,
  .sf-engineer-dashboard #sf-engineer-create-room .sf-engineer-form,
  .sf-engineer-dashboard #sf-engineer-create-room .sf-engineer-grid-form,
  .sf-engineer-dashboard #sf-engineer-create-room .sf-engineer-full,
  .sf-engineer-dashboard #sf-engineer-create-room label,
  .sf-engineer-dashboard #sf-engineer-create-room .sf-engineer-customer-picker,
  .sf-engineer-dashboard #sf-engineer-create-room .sf-engineer-customer-chips{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
  }
  .sf-engineer-dashboard #sf-engineer-create-room,
  .sf-engineer-dashboard #sf-engineer-create-room .sf-engineer-form,
  .sf-engineer-dashboard #sf-engineer-create-room .sf-engineer-grid-form{
    padding:0!important;
    margin-left:0!important;
    margin-right:0!important;
    width:100%!important;
    max-width:100%!important;
  }
  .sf-engineer-dashboard #sf-engineer-create-room .sf-dashboard-section-head{
    padding:0!important;
    margin:0 0 18px!important;
  }
  .sf-engineer-dashboard #sf-engineer-create-room label{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    padding:0!important;
    margin:0 0 18px!important;
    border-radius:0!important;
  }
  .sf-engineer-dashboard #sf-engineer-create-room input,
  .sf-engineer-dashboard #sf-engineer-create-room select,
  .sf-engineer-dashboard #sf-engineer-create-room textarea,
  .sf-engineer-dashboard #sf-engineer-create-room .sf-engineer-input{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .sf-engineer-dashboard #sf-engineer-create-room p.sf-engineer-full{
    padding:0!important;
    margin:8px 0 0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
}


/* v1.30.7.64 - dashboard module icons */
.sf-dashboard-function-window > summary{
  position:relative!important;
}
.sf-dashboard-function-window > summary > span:first-child{
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
}
.sf-dashboard-function-window > summary > span:first-child:before{
  content:'•';
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:14px!important;
  background:rgba(245,166,35,.14)!important;
  border:1px solid rgba(245,166,35,.32)!important;
  color:#f5a623!important;
  font-size:19px!important;
  line-height:1!important;
  box-shadow:0 10px 28px rgba(0,0,0,.20)!important;
}
#sf-engineer-stats .sf-dashboard-function-window > summary > span:first-child:before,
#sf-console-stats .sf-dashboard-function-window > summary > span:first-child:before{content:'📊';}
#sf-engineer-open-rooms .sf-dashboard-function-window > summary > span:first-child:before,
#sf-console-online .sf-dashboard-function-window > summary > span:first-child:before,
#sf-section-stanze-aperte .sf-dashboard-function-window > summary > span:first-child:before{content:'🎧';}
#sf-engineer-create-order .sf-dashboard-function-window > summary > span:first-child:before,
#sf-console-appointments .sf-dashboard-function-window > summary > span:first-child:before{content:'📅';}
#sf-engineer-create-room .sf-dashboard-function-window > summary > span:first-child:before{content:'✚';}
#sf-engineer-sessions .sf-dashboard-function-window > summary > span:first-child:before{content:'🎙️';}
#sf-engineer-orders .sf-dashboard-function-window > summary > span:first-child:before{content:'🧾';}
#sf-engineer-profile .sf-dashboard-function-window > summary > span:first-child:before{content:'👤';}
#sf-console-actions .sf-dashboard-function-window > summary > span:first-child:before{content:'⚡';}
@media(max-width:782px){
  .sf-dashboard-function-window > summary{
    gap:10px!important;
  }
  .sf-dashboard-function-window > summary > span:first-child{
    gap:10px!important;
    min-width:0!important;
  }
  .sf-dashboard-function-window > summary > span:first-child:before{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    border-radius:12px!important;
    font-size:17px!important;
  }
  .sf-dashboard-function-window > summary .sf-dashboard-badge{
    max-width:88px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
}


/* ==========================================================
   StudioGaudio — LINEE GUIDA GRAFICHE UFFICIALI
   SOLO STILE — nessuna modifica funzionale
   Titoli: Impact / Arial Narrow / Helvetica Neue
   Testi/UI: Arial / Helvetica
   Accent: #FBB03A
   Testi: #FFFFFF
   Mai grigio
   ========================================================== */

:root{
  --sg-brand:#FBB03A!important;
  --ssf-orange:#FBB03A!important;
  --ssf-orange2:#FBB03A!important;
  --accent:#FBB03A!important;
  --sf-accent:#FBB03A!important;
  --studioflow-accent:#FBB03A!important;
}

/* Base StudioFlow */
body .studioflow-wrap,
body .studioflow-booking,
body [class*="studioflow-"],
body [class*="sfb-"],
body [class*="sf-"]{
  font-family:Arial,Helvetica,sans-serif!important;
}

/* Titoli */
body .studioflow-wrap h1,
body .studioflow-wrap h2,
body .studioflow-wrap h3,
body .studioflow-booking h1,
body .studioflow-booking h2,
body .studioflow-booking h3,
body [class*="studioflow-"] h1,
body [class*="studioflow-"] h2,
body [class*="studioflow-"] h3{
  font-family:Impact,'Arial Narrow','Helvetica Neue',Arial,sans-serif!important;
  font-weight:900!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}

/* Testi e UI */
body .studioflow-wrap p,
body .studioflow-wrap li,
body .studioflow-wrap span,
body .studioflow-wrap small,
body .studioflow-wrap label,
body .studioflow-booking p,
body .studioflow-booking li,
body .studioflow-booking span,
body .studioflow-booking small,
body .studioflow-booking label,
body [class*="studioflow-"] p,
body [class*="studioflow-"] li,
body [class*="studioflow-"] span,
body [class*="studioflow-"] small,
body [class*="studioflow-"] label{
  font-family:Arial,Helvetica,sans-serif!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}

/* Input / select / textarea */
body .studioflow-wrap input,
body .studioflow-wrap select,
body .studioflow-wrap textarea,
body .studioflow-booking input,
body .studioflow-booking select,
body .studioflow-booking textarea,
body [class*="studioflow-"] input,
body [class*="studioflow-"] select,
body [class*="studioflow-"] textarea{
  font-family:Arial,Helvetica,sans-serif!important;
}

/* Placeholder: bianco, non grigio */
body .studioflow-wrap input::placeholder,
body .studioflow-wrap textarea::placeholder,
body .studioflow-booking input::placeholder,
body .studioflow-booking textarea::placeholder,
body [class*="studioflow-"] input::placeholder,
body [class*="studioflow-"] textarea::placeholder{
  color:#FFFFFF!important;
  opacity:.72!important;
}

/* Elementi accent */
body .studioflow-wrap [class*="badge"],
body .studioflow-wrap [class*="kicker"],
body .studioflow-wrap [class*="label"],
body .studioflow-booking [class*="badge"],
body .studioflow-booking [class*="kicker"],
body .studioflow-booking [class*="label"]{
  color:#FBB03A!important;
}

/* Pulsanti */
body .studioflow-wrap button,
body .studioflow-wrap .button,
body .studioflow-booking button,
body .studioflow-booking .button,
body [class*="studioflow-"] button,
body [class*="studioflow-"] .button{
  font-family:Arial,Helvetica,sans-serif!important;
  font-weight:900!important;
}

/* Regola finale: niente testi grigi nelle aree StudioFlow */
body .studioflow-wrap,
body .studioflow-booking,
body [class*="studioflow-"]{
  --text-color:#FFFFFF!important;
  --muted-color:#FFFFFF!important;
  --secondary-text:#FFFFFF!important;
}


/* v1.30.7.72 — Validazione visuale campi obbligatori Fase 3 */
#studioflowPrenota .sf-panel[data-panel="3"] input.sf-required-field-error,
#studioflowPrenota .sf-panel[data-panel="3"] select.sf-required-field-error,
#studioflowPrenota .sf-panel[data-panel="3"] textarea.sf-required-field-error,
.studioflow-prenota .sf-panel[data-panel="3"] input.sf-required-field-error,
.studioflow-prenota .sf-panel[data-panel="3"] select.sf-required-field-error,
.studioflow-prenota .sf-panel[data-panel="3"] textarea.sf-required-field-error{
  border-color:#dc2626!important;
  box-shadow:0 0 0 1px #dc2626!important;
}
