/* /styles.css */
:root{
  --bg:#f5f6f8;
  --card:#ffffff;
  --text:#111827;
  --muted:#6b7280;
  --brand:#111827;
  --green:#dcfce7;
  --green-border:#bbf7d0;
  --off:#fcfcfd;
  --btn:#111827;
  --btn2:#374151;
  --shadow:0 2px 16px rgba(0,0,0,0.06);
  --radius:16px;
}

*{ box-sizing:border-box; }
body{
  margin:0;
  font-family: Arial, sans-serif;
  background:var(--bg);
  color:var(--text);
}

.hero{
  background:
    linear-gradient(180deg, rgba(17,24,39,0.45), rgba(17,24,39,0.55)),
    url("images/header.jpg");
  background-size: cover;
  background-position: center;
  padding: 20px 0px;
}
.hero-inner{ max-width:980px; margin:0 auto; }
.brand{
  color:#fff;
  font-size:34px;
  font-weight:900;
  letter-spacing:.2px;
}
.tagline{
  margin-top:14px;
  text-align:center;
  color:#e5e7eb;
  font-size:15px;
  line-height:1.5;
}

.container{
  max-width:980px;
  margin: 18px auto;
  padding: 0 14px;
}

.card{
  background:var(--card);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding: 16px;
  margin-bottom: 14px;
}

.row{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; justify-content:space-between; }
.small{ color:var(--muted); font-size:12px; }
h2{ margin:6px 0 0 0; }

.btn{
  display:inline-block;
  background:var(--btn);
  color:#fff;
  padding:10px 14px;
  border-radius:12px;
  border:none;
  cursor:pointer;
  text-decoration:none;
  font-weight:800;
  font-size:14px;
}
.btn:hover{ filter:brightness(0.96); }
.btn.secondary{ background:var(--btn2); }

.notice{
  background:#ecfeff;
  border:1px solid #a5f3fc;
  color:#155e75;
  padding: 10px 12px;
  border-radius: 12px;
}
.error{
  background:#fef2f2;
  border:1px solid #fecaca;
  color:#7f1d1d;
  padding: 10px 12px;
  border-radius: 12px;
}

.gridhdr{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap:10px;
  margin-bottom:10px;
}
.gridhdr div{
  text-align:center;
  font-weight:900;
  color:#374151;
  font-size:13px;
}

.calendar{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap:10px;
}

.daycell{
  border-radius: 14px;
  padding: 12px;
  min-height: 84px;
  box-shadow: 0 2px 14px rgba(0,0,0,0.05);
  transition: transform .08s ease, opacity .08s ease;
}
.daycell:hover{ transform: translateY(-1px); opacity:0.97; }

.day-open{ background:var(--green); border:1px solid var(--green-border); }
.day-off{ background:var(--off); border:1px solid #eef2f7; }

.daycell a{ color:inherit; text-decoration:none; display:block; height:100%; }
.daynum{ font-weight: 900; font-size: 16px; }
.mutedCell{ opacity:.55; }

.badge{
  margin-top: 9px;
  display:inline-block;
  font-size: 12px;
  font-weight: 900;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,0.06);
}

.times{ display:flex; gap:10px; flex-wrap:wrap; margin-top: 10px; }
.timepill{
  padding: 10px 12px;
  border-radius: 999px;
  background:var(--green);
  border: 1px solid var(--green-border);
  font-weight: 900;
  font-size: 14px;
}

label{ font-size: 13px; color:#374151; font-weight:900; display:block; margin-bottom:6px; }
input, select{
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 12px;
  font-size: 14px;
  width: 100%;
}

.footer{ text-align:center; margin: 18px 0 26px; }

/* Booking confirmation popup */

.confirm-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.45);
  z-index:9999;
}

.confirm-box{
  max-width:420px;
  margin:12vh auto;
  background:#ffffff;
  border-radius:16px;
  padding:22px 20px 24px;
  text-align:center;
  box-shadow:0 18px 40px rgba(0,0,0,0.28);
  border-top:6px solid #22c55e; /* soft green accent */
}

.confirm-box h1{
  margin:0 0 10px 0;
  font-size:26px;
  color:#111827;
}

.confirm-box h2{
  margin:6px 0;
  font-size:18px;
  font-weight:700;
  color:#111827;
}

.confirm-id{
  color:#16a34a;
  letter-spacing:0.5px;
}

.confirm-box p{
  margin-top:12px;
  font-size:14px;
  line-height:1.5;
  color:#374151;
}

.confirm-close{
  position:absolute;
  top:14px;
  right:18px;
  background:none;
  border:none;
  font-size:22px;
  cursor:pointer;
  color:#6b7280;
}

.confirm-close:hover{
  color:#111827;
}
