/* --------------------------------------------------------------------------
	Variables + Reset
	----------------------------------------------------------------------- */
:root{
  --rose:#C49499;
  --rose-light:#F5ECED;
  --rose-dark:#9C6F74;
  --charcoal:#3A3030;
  --muted:#9E8C8C;
  --border:#EDE4E5;
}

*{box-sizing:border-box;margin:0;padding:0}

/* Base */
body{
  font-family:'DM Sans',sans-serif;
  background:#FAF7F5;
  color:var(--charcoal);
  min-height:100vh;
}

/* --------------------------------------------------------------------------
	Layout: Header / Main
	----------------------------------------------------------------------- */
.header{
  background:#fff;
  border-bottom:1px solid var(--border);
  padding:0 1rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:72px;
  flex-wrap:wrap;
  gap:8px;
}

.logo-img{height:52px;width:auto;object-fit:contain}

.nav-btn{
  padding:7px 16px;
  border-radius:100px;
  font-size:12px;
  letter-spacing:.06em;
  cursor:pointer;
  font-family:'DM Sans',sans-serif;
  transition:all .2s;
}
.nav-btn.active{border:1px solid var(--rose);background:var(--rose-light);color:var(--rose-dark)}
.nav-btn:not(.active){border:1px solid var(--border);background:transparent;color:var(--muted)}
.nav-wrap{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:60%}

.main{max-width:680px;margin:0 auto;padding:2.5rem 1.5rem}

@media(max-width:600px){
  .header{padding:.75rem 1rem;height:auto;gap:10px}
  .nav-btn{padding:5px 10px;font-size:10px;letter-spacing:.02em}
  .nav-wrap{max-width:100%}
}

/* --------------------------------------------------------------------------
	Typography
	----------------------------------------------------------------------- */
.heading{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:400;color:var(--charcoal);margin-bottom:6px;line-height:1.2}
.sub{font-size:13px;color:var(--muted);margin-bottom:1.75rem;line-height:1.6}

/* --------------------------------------------------------------------------
	Step Bar
	----------------------------------------------------------------------- */
.step-bar{display:flex;align-items:flex-start;margin-bottom:2.25rem}
.step-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;flex-shrink:0;transition:all .3s}
.step-dot.done{background:var(--rose);color:#fff;border:2px solid transparent}
.step-dot.active{background:var(--rose);color:#fff;border:2px solid var(--rose-dark)}
.step-dot.pending{background:#EDE4E5;color:var(--muted);border:2px solid transparent}
.step-label{font-size:9px;letter-spacing:.05em;margin-top:4px;white-space:nowrap}
.step-line{flex:1;height:1.5px;margin:0 6px;margin-bottom:20px}
.step-line.done{background:var(--rose)}
.step-line.pending{background:var(--border)}

/* --------------------------------------------------------------------------
	Service Cards
	----------------------------------------------------------------------- */
.service-card{background:#fff;border-radius:14px;padding:1.1rem 1.4rem;cursor:pointer;margin-bottom:10px;display:flex;align-items:center;gap:14px;transition:all .2s;border:1.5px solid var(--border)}
.service-card:hover{border-color:var(--rose);box-shadow:0 4px 16px rgba(196,148,153,.1)}
.service-card.selected{border-color:var(--rose);box-shadow:0 4px 20px rgba(196,148,153,.15)}
.svc-icon{width:46px;height:46px;border-radius:11px;background:#F5F3F2;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--rose-dark);flex-shrink:0;transition:.2s}
.service-card.selected .svc-icon{background:var(--rose-light)}
.svc-name{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:500;color:var(--charcoal);margin-bottom:2px}
.svc-desc{font-size:11px;color:var(--muted);line-height:1.5}
.svc-price{margin-left:auto;text-align:right;flex-shrink:0}
.price-big{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:600;color:var(--rose-dark)}
.price-sub{font-size:10px;color:var(--muted);margin-top:1px}

/* --------------------------------------------------------------------------
	Calendar / Time Grid
	----------------------------------------------------------------------- */
.cal-wrap{background:#fff;border:1px solid var(--border);border-radius:18px;padding:1.4rem;margin-bottom:1.25rem}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem}
.cal-title{font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:500}
.cal-nav{width:30px;height:30px;border-radius:50%;background:var(--rose-light);border:none;color:var(--rose-dark);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-dl{text-align:center;font-size:10px;color:var(--muted);letter-spacing:.04em;padding:3px 0 7px}
.cal-day{width:100%;aspect-ratio:1;border-radius:50%;border:none;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--charcoal);font-family:'DM Sans',sans-serif;transition:.15s}
.cal-day:hover:not(.past):not(.selected){background:var(--rose-light)}
.cal-day.today{background:var(--rose-light);color:var(--rose-dark)}
.cal-day.selected{background:var(--rose);color:#fff}
.cal-day.past{color:#D5CBCB;cursor:default}
.cal-day.blocked{background:#F9F1F1;color:#D5A8AC;cursor:default;text-decoration:line-through}

.time-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:.5rem}
.time-btn{padding:9px 0;border-radius:9px;font-size:12px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:.15s;border:1.5px solid var(--border);background:#fff;color:var(--charcoal)}
.time-btn:hover:not(.taken){border-color:var(--rose);color:var(--rose-dark)}
.time-btn.selected{background:var(--rose);border-color:var(--rose);color:#fff}
.time-btn.taken{background:#F5F3F2;color:#D5CBCB;cursor:default;text-decoration:line-through}

/* --------------------------------------------------------------------------
	Forms / Buttons
	----------------------------------------------------------------------- */
.form-label{font-size:11px;color:var(--muted);letter-spacing:.05em;display:block;margin-top:14px;margin-bottom:5px}
.form-input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:9px;font-size:13px;font-family:'DM Sans',sans-serif;color:var(--charcoal);background:#fff;outline:none;transition:.2s}
.form-input:focus{border-color:var(--rose)}

.deposit-note{display:flex;gap:10px;align-items:flex-start;background:var(--rose-light);border-radius:12px;padding:.9rem 1.1rem;margin-top:1.25rem;font-size:12px;color:var(--rose-dark);line-height:1.5}
.deposit-note span:first-child{font-size:15px;flex-shrink:0}
.btn-primary{background:var(--rose);color:#fff;border:none;border-radius:50px;padding:13px 36px;font-size:13px;letter-spacing:.07em;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:500;margin-top:1.75rem;transition:.2s}
.btn-primary:hover{background:var(--rose-dark)}
.btn-primary:disabled{opacity:.45;cursor:default}
.btn-ghost{background:transparent;color:var(--muted);border:none;font-size:12px;cursor:pointer;font-family:'DM Sans',sans-serif;margin-top:1.75rem;margin-right:14px}

/* --------------------------------------------------------------------------
	Summary / Confirmation / Admin
	----------------------------------------------------------------------- */
.summary{background:var(--rose-light);border-radius:14px;padding:1.4rem;margin-bottom:1.25rem}
.sum-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:7px}
.sum-label{color:var(--muted);font-size:11px}
.conf-box{text-align:center;padding:2.5rem 1rem}
.conf-icon{width:68px;height:68px;border-radius:50%;background:var(--rose-light);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 1.25rem}
.ref-code{font-family:'DM Sans',sans-serif;font-variant-numeric:lining-nums tabular-nums;font-size:26px;font-weight:700;color:var(--rose-dark);letter-spacing:.2em;margin:1rem 0}
.admin-card{background:#fff;border:1px solid var(--border);border-radius:11px;padding:1.1rem;margin-bottom:9px}
.badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:10px;background:var(--rose-light);color:var(--rose-dark);letter-spacing:.04em}

/* --------------------------------------------------------------------------
	Testimonials
	----------------------------------------------------------------------- */
.reviews-summary{display:flex;align-items:baseline;gap:10px;margin:.25rem 0 1.5rem}
.reviews-summary-avg{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:600;color:var(--rose-dark)}
.reviews-summary-stars{color:var(--rose-dark);font-size:15px;letter-spacing:2px}
.reviews-summary-count{font-size:12px;color:var(--muted)}
.testimonials-row{display:grid;grid-template-columns:1fr 1fr;gap:26px 16px;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border)}
.testimonial-card{position:relative;background:var(--rose-light);border:1.5px solid var(--border);border-radius:14px;padding:1rem 1.2rem;box-shadow:0 3px 10px rgba(196,148,153,.08)}
.testimonial-card::before{content:"";position:absolute;left:22px;bottom:-18px;width:0;height:0;border-style:solid;border-width:20px 20px 0 0;border-color:var(--border) transparent transparent transparent}
.testimonial-card::after{content:"";position:absolute;left:23.5px;bottom:-15px;width:0;height:0;border-style:solid;border-width:17px 17px 0 0;border-color:var(--rose-light) transparent transparent transparent}
.testimonial-stars{color:var(--rose-dark);font-size:11px;letter-spacing:2px;margin-bottom:7px}
.testimonial-text{font-size:12px;color:var(--charcoal);line-height:1.55;margin-bottom:12px}
.testimonial-author{display:flex;align-items:center;gap:8px}
.testimonial-avatar{width:26px;height:26px;border-radius:50%;background:var(--rose);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;flex-shrink:0}
.testimonial-name{font-size:11px;color:var(--muted)}

.review-form{margin-top:1.75rem;background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:1.2rem 1.4rem}
.review-form-title{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:500;color:var(--charcoal);margin-bottom:10px}
.star-picker{font-size:22px;color:var(--rose);letter-spacing:4px;margin-bottom:12px;cursor:pointer;line-height:1}
.star-picker .star-pick{transition:.1s}

@media(max-width:600px){
  .testimonials-row{grid-template-columns:1fr}
}

/* --------------------------------------------------------------------------
	Empty state / Utilities
	----------------------------------------------------------------------- */
.empty-state{text-align:center;padding:3rem;color:var(--muted);font-family:'Cormorant Garamond',serif;font-size:22px;font-style:italic}
