.ambcal-app{ max-width:460px; margin:0 auto; }
.ambcal-controls{ display:flex; gap:10px; margin-bottom:16px; flex-wrap:wrap; }
.ambcal-controls select{ font-family:'Montserrat',sans-serif; font-size:14px; color:#2E2A26; padding:10px 14px; border:1px solid #ECE5DA; border-radius:10px; background:#fff; cursor:pointer; outline:none; }
.ambcal-controls select:focus{ border-color:#A07957; }
.ambcal-salon{ flex:1; min-width:150px; font-family:'Marcellus',serif !important; }
.ambcal-datesel{ display:flex; gap:8px; }
.ambcal-datesel select{ flex:1; }
.ambcal-wrap{ --amb-gold:#A07957; font-family:'Montserrat',sans-serif; max-width:460px; margin:0 auto; background:#fff; border:1px solid #ECE5DA; border-radius:14px; padding:22px; box-shadow:0 8px 30px rgba(43,21,24,.06); }
.ambcal-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.ambcal-month{ font-family:'Marcellus',serif; font-size:20px; color:#2E2A26; text-transform:capitalize; }
.ambcal-nav{ background:#F7F3EC; border:none; width:38px; height:38px; border-radius:50%; cursor:pointer; font-size:20px; color:#A07957; transition:.2s; }
.ambcal-nav:hover{ background:#A07957; color:#fff; }
.ambcal-weekdays{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; margin-bottom:8px; }
.ambcal-weekdays span{ text-align:center; font-size:11px; letter-spacing:1px; color:#999; text-transform:uppercase; }
.ambcal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.ambcal-day{ aspect-ratio:1; display:flex; align-items:center; justify-content:center; border-radius:8px; font-size:14px; color:#2E2A26; }
.ambcal-day.empty{ background:transparent; }
.ambcal-day.liber{ background:rgba(58,167,109,.12); color:#2b7d52; }
.ambcal-day.ocupat{ background:rgba(214,77,77,.14); color:#b33; text-decoration:line-through; }
.ambcal-day.discutie{ background:rgba(217,164,65,.16); color:#a87d20; }
.ambcal-day.past{ opacity:.35; }
.ambcal-day.today{ outline:2px solid #A07957; outline-offset:-2px; font-weight:600; }
.ambcal-legend{ display:flex; gap:18px; justify-content:center; margin-top:18px; flex-wrap:wrap; }
.ambcal-legend span{ display:flex; align-items:center; gap:6px; font-size:12px; color:#666; }
.ambcal-dot{ width:11px; height:11px; border-radius:50%; display:inline-block; }
.ambcal-dot.liber{ background:#3aa76d; }
.ambcal-dot.ocupat{ background:#d64d4d; }
.ambcal-dot.discutie{ background:#d9a441; }
.ambcal-loading{ text-align:center; padding:30px; color:#999; grid-column:1/-1; }
