/*
 * BySvetlana Booking — public styles
 * Palette inspired by bysvetlana.nl — cream & gold, elegant serif accents.
 */

.bysv-wrap{
  --bysv-cream:#F8EADC;
  --bysv-cream-2:#fdf6ec;
  --bysv-gold:#d4af37;
  --bysv-gold-dark:#b8922b;
  --bysv-text:#222;
  --bysv-muted:#8a7f74;
  --bysv-border:#e7d9c2;
  --bysv-shadow:0 20px 60px rgba(120,90,40,.12);

  font-family: 'Open Sans', 'Raleway', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--bysv-text);
  max-width: 880px;
  margin: 32px auto;
  padding: 0 16px;
  line-height: 1.5;
}

.bysv-wrap *{box-sizing:border-box}

.bysv-card{
  background:#fff;
  border:1px solid var(--bysv-border);
  border-radius:10px;
  box-shadow: var(--bysv-shadow);
  overflow:hidden;
}

.bysv-header{
  background: linear-gradient(180deg, var(--bysv-cream) 0%, var(--bysv-cream-2) 100%);
  padding: 40px 40px 28px;
  text-align:center;
  border-bottom: 1px solid var(--bysv-border);
}
.bysv-title{
  font-family: 'Droid Serif', Georgia, serif;
  font-weight: 400;
  font-size: 32px;
  letter-spacing: 1px;
  margin: 0 0 6px;
  color: var(--bysv-text);
}
.bysv-title::after{
  content:"";
  display:block;
  width:60px;
  height:2px;
  background: var(--bysv-gold);
  margin: 14px auto 0;
}
.bysv-subtitle{
  font-family: 'Droid Serif', Georgia, serif;
  font-style: italic;
  color: var(--bysv-muted);
  margin: 0;
  font-size: 15px;
}

.bysv-steps{
  display:flex;
  gap:0;
  padding:20px 40px 0;
  border-bottom:1px solid var(--bysv-border);
  background:#fbf7f0;
}
.bysv-step{
  flex:1;
  text-align:center;
  padding:14px 8px;
  font-size:13px;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color: var(--bysv-muted);
  border-bottom: 3px solid transparent;
  transition: color .3s, border-color .3s;
}
.bysv-step span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;height:26px;
  border-radius:50%;
  background:#eee;
  color:#999;
  font-weight:700;
  margin-right:6px;
  font-family: 'Droid Serif', serif;
  transition: background .3s, color .3s;
}
.bysv-step.is-active{ color:var(--bysv-text); border-bottom-color: var(--bysv-gold); }
.bysv-step.is-active span{ background: var(--bysv-gold); color:#fff; }

.bysv-form{ padding:36px 40px 40px; }
.bysv-panel{ display:none; animation: bysvFade .35s ease; }
.bysv-panel.is-active{ display:block; }
@keyframes bysvFade{ from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} }

.bysv-label{
  display:block;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1.5px;
  color: var(--bysv-muted);
  margin: 16px 0 6px;
  font-weight:600;
}
.bysv-input{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--bysv-border);
  background:#fffdf9;
  border-radius:6px;
  font-size:15px;
  font-family: inherit;
  color: var(--bysv-text);
  transition: border-color .2s, box-shadow .2s;
}
.bysv-input:focus{
  outline:none;
  border-color: var(--bysv-gold);
  box-shadow: 0 0 0 3px rgba(212,175,55,.18);
}
.bysv-input[type="date"]{ cursor:pointer; }

.bysv-grid-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px 20px;
}
@media (max-width:640px){ .bysv-grid-2{grid-template-columns:1fr} }

/* Services cards */
.bysv-services{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(240px,1fr));
  gap:14px;
  margin:8px 0 8px;
}
.bysv-service{
  display:block;
  cursor:pointer;
  position:relative;
  border:1px solid var(--bysv-border);
  background:#fffdf9;
  border-radius:8px;
  padding:18px;
  transition: border-color .25s, transform .25s, box-shadow .25s;
}
.bysv-service:hover{
  border-color: var(--bysv-gold);
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(212,175,55,.15);
}
.bysv-service input[type=radio]{ position:absolute; opacity:0; pointer-events:none; }
.bysv-service.is-selected{
  border-color: var(--bysv-gold);
  background: linear-gradient(180deg,#fff 0%, #fdf4e3 100%);
  box-shadow: inset 0 0 0 1px var(--bysv-gold);
}
.bysv-service-name{
  display:block;
  font-family: 'Droid Serif', Georgia, serif;
  font-size:18px;
  letter-spacing:.5px;
  margin-bottom:6px;
}
.bysv-service-desc{
  display:block;
  font-size:13px;
  color: var(--bysv-muted);
  line-height:1.45;
  margin-bottom:10px;
}
.bysv-service-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:13px;
  padding-top:10px;
  border-top:1px dashed var(--bysv-border);
  color:#666;
}
.bysv-price{
  color: var(--bysv-gold-dark);
  font-weight:700;
  font-family: 'Droid Serif', serif;
}

/* Time slots */
.bysv-slots{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:10px 0;
  min-height:44px;
}
.bysv-slot{
  padding:9px 14px;
  border:1px solid var(--bysv-border);
  background:#fffdf9;
  border-radius:30px;
  font-size:14px;
  cursor:pointer;
  transition: all .2s;
  font-family: inherit;
  color: var(--bysv-text);
}
.bysv-slot:hover{ border-color: var(--bysv-gold); color: var(--bysv-gold-dark); }
.bysv-slot.is-selected{
  background: var(--bysv-gold);
  color:#fff;
  border-color: var(--bysv-gold);
  box-shadow: 0 6px 14px rgba(212,175,55,.35);
}
.bysv-muted{ color: var(--bysv-muted); font-size:14px; font-style: italic; }
.bysv-empty{ text-align:center; color:var(--bysv-muted); padding:20px; }

/* Summary */
.bysv-summary-box{
  background:#fdf6ec;
  border:1px dashed var(--bysv-gold);
  border-radius:6px;
  padding:12px;
  font-size:13px;
  color:#555;
  min-height:44px;
}

/* Actions */
.bysv-actions{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top: 28px;
}
.bysv-actions > :only-child{ margin-left:auto; }

.bysv-btn{
  padding:12px 28px;
  border:none;
  border-radius:30px;
  font-size:13px;
  letter-spacing:2px;
  text-transform:uppercase;
  font-weight:700;
  cursor:pointer;
  transition: transform .2s, box-shadow .2s, background .2s, color .2s;
  font-family: inherit;
}
.bysv-btn-primary{
  background: var(--bysv-gold);
  color:#fff;
  box-shadow: 0 6px 18px rgba(212,175,55,.35);
}
.bysv-btn-primary:hover{
  background: var(--bysv-gold-dark);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(212,175,55,.45);
}
.bysv-btn-primary:disabled{ opacity:.55; cursor:not-allowed; transform:none; }
.bysv-btn-ghost{
  background: transparent;
  color: var(--bysv-muted);
  border:1px solid var(--bysv-border);
}
.bysv-btn-ghost:hover{ color: var(--bysv-text); border-color: var(--bysv-gold); }

/* Messages */
.bysv-message{
  margin-top:20px;
  padding:14px 16px;
  border-radius:6px;
  font-size:14px;
  font-family: 'Droid Serif', serif;
}
.bysv-message.is-success{
  background:#f3f8ee;
  border:1px solid #bad6a3;
  color:#3f6a2b;
}
.bysv-message.is-error{
  background:#fdecea;
  border:1px solid #f3b7b1;
  color:#8a2a20;
}

/* Contact form tweak */
.bysv-contact-form textarea{ min-height:120px; resize:vertical; }
