/* Mihai Booking — public calendar styles */
.mbk {
  --gold:   #c9a84c;
  --green:  #0d1f0d;
  --cream:  #faf6f2;
  --muted:  rgba(250,246,242,0.55);
  --border: rgba(201,168,76,0.4);
  font-family: Arial, sans-serif;
  color: var(--cream);
  max-width: 960px;
  margin: 0 auto;
  padding: 56px 24px 90px;
}

/* Tabs */
.mbk-tabs { display:flex; max-width:440px; margin:0 auto 48px; border:1px solid var(--border); border-radius:4px; overflow:hidden; box-shadow:0 0 18px rgba(201,168,76,0.12); }
.mbk-tab  { flex:1; padding:14px 0; background:none; border:none; color:var(--muted); font-family:inherit; font-size:15px; letter-spacing:2.5px; text-transform:uppercase; cursor:pointer; transition:background .25s,color .25s; }
.mbk-tab + .mbk-tab { border-left:1px solid var(--border); }
.mbk-tab.active { background:rgba(201,168,76,.15); color:var(--gold); text-shadow:0 0 12px rgba(201,168,76,0.5); }

/* Header */
.mbk-cal-hdr { text-align:center; margin-bottom:32px; }
.mbk-cal-title {
  font-family: Arial, sans-serif;
  font-size:clamp(32px, 5vw, 52px);
  font-weight:300;
  color:var(--cream);
  margin:0 0 10px;
  letter-spacing:1px;
  line-height:1.1;
}
.mbk-eyebrow {
  font-size:15px; letter-spacing:6px; text-transform:uppercase;
  color:var(--gold); margin-bottom:8px; opacity:.9;
  text-shadow:0 0 20px rgba(201,168,76,0.55), 0 0 40px rgba(201,168,76,0.25);
}
.mbk-free { font-size:16px; color:var(--muted); }

/* Calendar grid */
.mbk-dow-row { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; margin-bottom:8px; }
.mbk-dow { text-align:center; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(250,246,242,0.35); padding:6px 0; }
.mbk-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:7px; }

.mbk-cell {
  aspect-ratio:1;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  border-radius:8px; position:relative;
}
.mbk-empty    { background:transparent; }
.mbk-disabled { color:rgba(250,246,242,.1); }
.mbk-disabled .mbk-dn { font-family: Arial, sans-serif; font-size:30px; }

.mbk-avail {
  background:rgba(201,168,76,.07);
  border:2px solid rgba(201,168,76,.38);
  cursor:pointer;
  transition:background .22s, border-color .22s, transform .18s, box-shadow .22s;
}
.mbk-avail:hover {
  background:rgba(201,168,76,.16);
  border-color:rgba(201,168,76,.9);
  transform:translateY(-3px);
  box-shadow:0 6px 24px rgba(201,168,76,0.28), 0 0 12px rgba(201,168,76,0.18);
}
.mbk-avail.mbk-sel {
  background:var(--gold);
  border-color:var(--gold);
  box-shadow:0 0 20px rgba(201,168,76,0.6), 0 0 40px rgba(201,168,76,0.3);
  transform:translateY(-2px);
}
.mbk-avail.mbk-sel .mbk-dn,
.mbk-avail.mbk-sel .mbk-dp,
.mbk-avail.mbk-sel .mbk-ds { color:#0d1f0d; }

.mbk-dn { font-family: Arial, sans-serif; font-size:36px; font-weight:300; color:var(--cream); line-height:1; }
.mbk-dp { font-size:15px; color:var(--gold); margin-top:6px; line-height:1; font-weight:500; letter-spacing:.3px; }
.mbk-ds { font-size:13px; color:rgba(250,246,242,0.65); margin-top:4px; line-height:1; }

/* Wizard step wrapper — fades in on each transition */
.mbk-step { animation:mbkFade .28s ease; }

/* Back button */
.mbk-back {
  background:none; border:none; padding:0; margin-bottom:28px;
  color:rgba(201,168,76,0.65); font-family:inherit; font-size:14px;
  letter-spacing:.5px; cursor:pointer; display:inline-block;
  transition:color .18s;
}
.mbk-back:hover { color:var(--gold); }

/* Breadcrumb (date · time above package step) */
.mbk-breadcrumb {
  text-align:center; font-size:14px; letter-spacing:2px; text-transform:uppercase;
  color:var(--gold); margin-bottom:6px; opacity:.8;
}

/* Panel title */
.mbk-panel-title { font-family: Arial, sans-serif; font-size:30px; font-weight:300; text-align:center; margin-bottom:22px; }

/* Time slots */
.mbk-slot-row { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-bottom:32px; }
.mbk-slot-btn {
  padding:13px 30px; border:2px solid rgba(201,168,76,.45); border-radius:4px;
  background:rgba(250,246,242,.04); color:var(--cream); font-family:inherit; font-size:20px;
  cursor:pointer; transition:background .18s, border-color .18s, box-shadow .18s;
}
.mbk-slot-btn:hover { background:rgba(201,168,76,.12); border-color:var(--gold); box-shadow:0 0 14px rgba(201,168,76,0.22); }
.mbk-slot-btn.mbk-sel { background:rgba(201,168,76,.22); border-color:var(--gold); color:var(--gold); box-shadow:0 0 18px rgba(201,168,76,0.3); }

/* Packages */
.mbk-pkg-card {
  display:flex; justify-content:space-between; align-items:flex-start;
  padding:20px 24px; border:2px solid rgba(201,168,76,.35); border-radius:8px;
  margin-bottom:10px; background:rgba(250,246,242,.03);
  cursor:pointer; transition:background .18s, border-color .18s, transform .15s, box-shadow .18s;
}
.mbk-pkg-card:hover { background:rgba(201,168,76,.09); border-color:rgba(201,168,76,.7); transform:translateY(-2px); box-shadow:0 6px 20px rgba(201,168,76,0.18); }
.mbk-pkg-card.mbk-sel { border-color:var(--gold); background:rgba(201,168,76,.12); box-shadow:0 0 24px rgba(201,168,76,0.28); }
.mbk-pkg-name { font-family: Arial, sans-serif; font-size:28px; font-weight:400; color:var(--cream); }
.mbk-pkg-meta { font-size:18px; color:var(--muted); margin-top:6px; }
.mbk-pkg-desc { font-size:16px; color:rgba(250,246,242,.65); margin-top:8px; line-height:1.6; }
.mbk-pkg-right { text-align:right; padding-left:20px; flex-shrink:0; }
.mbk-pkg-price { font-family: Arial, sans-serif; font-size:38px; font-weight:300; color:var(--gold); text-shadow:0 0 16px rgba(201,168,76,0.35); }
.mbk-pkg-dep   { font-size:16px; color:var(--muted); margin-top:4px; }

.mbk-book-btn-wrap { text-align:center; margin-top:24px; }
.mbk-book-btn {
  padding:16px 44px; background:var(--gold); color:#0d1f0d;
  border:none; border-radius:4px; font-family:inherit; font-size:17px;
  font-weight:600; letter-spacing:.5px; cursor:pointer;
  transition:opacity .2s, transform .15s, box-shadow .2s;
  box-shadow:0 0 20px rgba(201,168,76,0.4);
}
.mbk-book-btn:hover { opacity:.92; transform:translateY(-2px); box-shadow:0 4px 28px rgba(201,168,76,0.55); }

.mbk-deposit-note { font-size:14px; color:rgba(250,246,242,.4); text-align:center; margin-top:18px; }

/* Checkout */
.mbk-checkout { max-width:540px; margin:0 auto; }
.mbk-summary  { border:2px solid rgba(201,168,76,.4); border-radius:8px; padding:24px; margin-bottom:28px; box-shadow:0 0 16px rgba(201,168,76,0.1); }
.mbk-sum-title    { font-family: Arial, sans-serif; font-size:20px; margin-bottom:12px; color:var(--gold); }
.mbk-sum-price    { margin-top:12px; font-size:17px; }
.mbk-sum-location { margin-top:14px; font-size:13px; color:rgba(250,246,242,0.45); letter-spacing:.3px; line-height:1.6; }
.mbk-sum-studio   { display:block; font-size:14px; color:var(--gold); font-weight:500; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:2px; opacity:.85; }
.mbk-sum-balance  { margin-top:6px; font-size:13px; color:rgba(250,246,242,0.55); line-height:1.5; }
.mbk-sum-policy   { margin-top:12px; font-size:14px; color:rgba(250,246,242,0.75); line-height:1.6; border-top:1px solid rgba(201,168,76,0.2); padding-top:12px; }
.mbk-req          { color:var(--gold); font-size:11px; }

.mbk-form-fields { margin-bottom:24px; }
.mbk-form-fields label { display:block; font-size:14px; color:var(--muted); margin-bottom:14px; letter-spacing:.5px; }
.mbk-form-fields input {
  display:block; width:100%; margin-top:7px; padding:13px 16px;
  background:rgba(250,246,242,.05); border:2px solid rgba(201,168,76,.4);
  border-radius:4px; color:var(--cream); font-family:inherit; font-size:16px;
  box-sizing:border-box; outline:none; transition:border-color .2s, box-shadow .2s;
}
.mbk-form-fields input:focus { border-color:var(--gold); box-shadow:0 0 10px rgba(201,168,76,0.2); }

#mbk-stripe-el { margin-bottom:20px; }
.mbk-pay-btn {
  width:100%; padding:17px; background:var(--gold); color:#0d1f0d;
  border:none; border-radius:4px; font-family:inherit; font-size:17px;
  font-weight:700; cursor:pointer; transition:opacity .2s, box-shadow .2s;
  box-shadow:0 0 20px rgba(201,168,76,0.4);
}
.mbk-pay-btn:disabled { opacity:.6; cursor:not-allowed; box-shadow:none; }
.mbk-pay-btn:hover:not(:disabled) { opacity:.9; box-shadow:0 4px 28px rgba(201,168,76,0.55); }
.mbk-pay-note { font-size:13px; color:rgba(250,246,242,.35); text-align:center; margin-top:12px; }
.mbk-pay-err  { color:#f87171; font-size:15px; text-align:center; margin-top:10px; min-height:20px; }

/* Confirmation */
.mbk-confirmed { text-align:center; padding:60px 20px; }
.mbk-confirmed-icon { font-size:56px; color:var(--gold); margin-bottom:20px; text-shadow:0 0 30px rgba(201,168,76,0.6); }
.mbk-confirmed h2 { font-family: Arial, sans-serif; font-size:36px; font-weight:300; margin-bottom:16px; }
.mbk-confirmed p  { color:var(--muted); margin:8px 0; font-size:16px; }
.mbk-confirmed a  { color:var(--gold); }

/* Utility */
.mbk-loading { text-align:center; padding:40px; color:var(--muted); font-size:15px; }
.mbk-error   { text-align:center; padding:30px; color:#f87171; }

@keyframes mbkFade { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }

@media (max-width:600px) {
  .mbk { padding:24px 4px 64px; }

  /* Tabs */
  .mbk-tabs { max-width:100%; margin-bottom:32px; }
  .mbk-tab  { font-size:13px; padding:12px 0; letter-spacing:1px; }

  /* Month label */
  .mbk-cal-title { font-size:28px; }
  .mbk-eyebrow   { font-size:13px; letter-spacing:3px; }

  /* Day-of-week headers */
  .mbk-dow-row { gap:2px; margin-bottom:4px; }
  .mbk-dow     { font-size:10px; padding:4px 0; letter-spacing:0; }

  /* Grid — tall rectangular cells */
  .mbk-grid { gap:2px; }
  .mbk-cell {
    aspect-ratio: auto !important;
    height: 96px !important;
    border-radius: 6px;
    padding: 6px 2px;
  }
  .mbk-disabled .mbk-dn { font-size:26px; }

  /* Cell text */
  .mbk-dn { font-size:28px; }
  .mbk-dp { font-size:12px; margin-top:5px; }
  .mbk-ds { font-size:11px; margin-top:3px; }

  /* Panel */
  .mbk-panel-title { font-size:22px; }
  .mbk-slot-row { gap:8px; }
  .mbk-slot-btn { font-size:17px; padding:12px 18px; }

  /* Packages */
  .mbk-pkg-card  { flex-direction:column; padding:16px; margin-bottom:8px; }
  .mbk-pkg-right { text-align:left; margin-top:10px; padding-left:0; }
  .mbk-pkg-price { font-size:30px; }
  .mbk-pkg-name  { font-size:24px; }
  .mbk-pkg-meta  { font-size:16px; }
  .mbk-pkg-desc  { font-size:14px; }
  .mbk-pkg-dep   { font-size:15px; }

  /* Checkout */
  .mbk-checkout { padding:0 8px; }
}
