/* stelaraX – v1.3.8 responsive + Branding */
:root{--sxa-btn-bg:#665137;--sxa-btn-fg:#f2efea;--sxa-color:var(--sxa-btn-bg);--sxa-border:#e5e7eb;--sxa-radius:10px;--sxa-gap:16px;--sxa-shadow:0 1px 2px rgba(0,0,0,.04),0 6px 20px rgba(0,0,0,.05);}
.sxa-card{background:#fff;border:1px solid var(--sxa-border);border-radius:var(--sxa-radius);padding:16px;box-shadow:var(--sxa-shadow);margin-bottom:16px}
.sxa-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sxa-gap)}@media(max-width:1024px){.sxa-grid{grid-template-columns:1fr}}
/* Calendar */
.sxa-cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.sxa-nav button{border:1px solid var(--sxa-border);background:#fff;border-radius:var(--sxa-radius);padding:6px 10px}
.sxa-month{font-weight:700}
.sxa-grid-7{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.sxa-day,.sxa-dow{border:1px solid var(--sxa-border);border-radius:var(--sxa-radius);padding:10px;text-align:center}
.sxa-dow{background:#f9fafb;font-weight:600;color:#6b7280}.sxa-day{cursor:pointer;user-select:none}
.sxa-day.is-today{outline:2px solid var(--sxa-color)}.sxa-day.is-selected{background:var(--sxa-btn-bg);color:#fff;border-color:var(--sxa-btn-bg)}
.sxa-day.is-disabled{background:#f3f4f6;color:#9ca3af;pointer-events:none;opacity:.6}
/* Timeslots */
.sxa-timeslots{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}
.sxa-slot{border:1px solid var(--sxa-border);border-radius:var(--sxa-radius);padding:10px;display:flex;gap:8px;align-items:center;justify-content:center;cursor:pointer}
.sxa-slot input{margin:0}.sxa-slot.is-selected{outline:2px solid var(--sxa-btn-bg)}
/* Form */
.sxa-form label{font-weight:600;margin-bottom:4px;display:block}.sxa-row{display:flex;gap:12px}.sxa-col{flex:1}@media(max-width:640px){.sxa-row{flex-direction:column}}
.button.sxa-primary{background:var(--sxa-btn-bg);border-color:var(--sxa-btn-bg);color:var(--sxa-btn-fg)}.button.sxa-primary:hover{background:var(--sxa-btn-bg);border-color:var(--sxa-btn-bg);color:var(--sxa-btn-fg)}
/* Services */
.sxa-service-card{border:1px solid var(--sxa-border);border-radius:var(--sxa-radius);padding:10px;margin-bottom:8px}
.sxa-service-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.sxa-service-meta{color:#6b7280;font-size:12px}.sxa-service-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sxa-link{color:#111827;text-decoration:underline;cursor:pointer}.sxa-badge{border:1px solid var(--sxa-border);padding:2px 6px;border-radius:var(--sxa-radius);font-size:12px}
.sxa-variant{display:flex;justify-content:space-between;align-items:center;border:1px dashed var(--sxa-border);border-radius:var(--sxa-radius);padding:8px;margin-top:6px;gap:12px}
@media(max-width:480px){.sxa-variant{flex-direction:column;align-items:flex-start}}
.sxa-select{width:100%;padding:8px;border:1px solid var(--sxa-border);border-radius:var(--sxa-radius)}
/* Hinweis */
.sxa-warning{margin-top:10px;background:#fff7ed;border-left:4px solid #f59e0b;padding:10px;border-radius:var(--sxa-radius);color:#7c2d12;font-size:14px}
/* Cart */
.sxa-cart{border:1px solid var(--sxa-border);border-radius:var(--sxa-radius);padding:10px;margin-bottom:12px}
.sxa-cart h4{margin:0 0 8px 0}
.sxa-cart .sxa-cart-row{display:flex;justify-content:space-between;align-items:center;border:1px dashed var(--sxa-border);border-radius:var(--sxa-radius);padding:8px;margin-bottom:6px;gap:8px}
@media(max-width:480px){.sxa-cart .sxa-cart-row{flex-direction:column;align-items:flex-start}}
.sxa-cart .sxa-cart-row .sxa-remove{background:#fff;border:1px solid var(--sxa-border);padding:4px 8px;border-radius:var(--sxa-radius);cursor:pointer}
.sxa-cart .sxa-total{display:flex;justify-content:space-between;font-weight:700;margin-top:8px}

/* Fix: Mitarbeiter Select arrow position + divider */
.sxa-select{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  background-image: linear-gradient(to bottom, transparent 0%, transparent 100%), linear-gradient(to bottom, transparent 0%, transparent 100%), linear-gradient(to bottom, #9ca3af 0%, #9ca3af 100%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-size: 0 0, 0 0, 1px 60%;
  background-position: right 2.5rem center, right 2.5rem center, right 2.25rem center; /* vertical divider */
  padding-right: 3rem;
}
.sxa-select::-ms-expand{ display:none; }
.sxa-select:after{ content:''; }
.sxa-select-wrap{ position:relative; }
.sxa-select-wrap:after{
  content:'\25BE';
  position:absolute; right:10px; top:50%; transform:translateY(-50%);
  pointer-events:none; color:#6b7280; font-size:14px;
}
/* Ensure arrow not too far right on narrow screens */
@media(max-width:480px){
  .sxa-select{ padding-right:2.5rem; background-position: right 2rem center, right 2rem center, right 1.75rem center; }
  .sxa-select-wrap:after{ right:8px; }
}


/* Pflichtfeld styling */
.sxa-required{color:#dc2626;}
.sxa-required-note{font-size:12px;color:#6b7280;margin-bottom:8px;}

/* Dropdown arrow fix */
.sxa-select-wrap{position:relative;}
.sxa-select{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  background-image:linear-gradient(#d1d5db,#d1d5db);
  background-repeat:no-repeat;
  background-size:1px 60%;
  background-position:right 2.2rem center;
  padding-right:2.8rem;
}
.sxa-select-wrap:after{
  content:"\25BE";
  position:absolute; right:0.9rem; top:50%;
  transform:translateY(-50%); color:#6b7280;
}

/* Toast notification for service selection */
.sxa-service-toast{
 position:fixed; right:20px; bottom:20px;
 background:var(--sxa-btn-bg, #665137);color:white;
 padding:14px 24px;border-radius:var(--sxa-radius, 10px);
 opacity:0; transform:translateY(12px);
 transition: all 0.3s ease; z-index:9999;
 box-shadow: 0 4px 20px rgba(0,0,0,0.2);
 font-weight: 500;
 max-width: 320px;
}
.sxa-service-toast.is-visible{opacity:1; transform:translateY(0);}

/* Selected service highlight in cart */
.sxa-cart-row {
  animation: sxa-fadeIn 0.3s ease;
}
@keyframes sxa-fadeIn {
  from { opacity: 0; transform: translateX(-10px); }
  to { opacity: 1; transform: translateX(0); }
}

/* Duration display in cart */
.sxa-total {
  background: #f9fafb;
  padding: 10px;
  border-radius: var(--sxa-radius);
  margin-top: 10px;
}
