    :root { --header-bg: #f9d5e5; --header-text: #111; --btn-bg: #fff; --btn-hover: #ffe0f0; --btn-color: #111; }
    body { margin: 0; font-family: system-ui, sans-serif; background: #fafafa; color: var(--header-text); }
    header.main-header { display: flex; align-items: center; padding: 12px 16px; background: var(--header-bg); box-shadow: 0 2px 4px rgba(0,0,0,0.1); position: sticky; top: 0; z-index: 100; }
      
    header.main-header .back-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 8px 12px;
      margin-right: 12px;
      border-radius: 8px;
      background: var(--btn-bg);
      color: var(--btn-color);
      text-decoration: none;
      font-weight: 600;
      border: 1px solid #eee;
      transition: background 0.2s;
    }
    header.main-header .back-btn:hover {
      background: var(--btn-hover);
    }
    header.main-header .title {
      font-size: 1.25rem;
      font-weight: 700;
    }

  .services-list { display:flex; flex-direction:column; gap:10px; }
  .service { padding:10px 12px; border-radius:12px; border:1px solid #e0e0e0; background:#fff; cursor:pointer; transition:0.2s; }
  .service.selected { border-color:#0ea5e9; background:#e0f2fe; }
  .service-name { font-weight:600; }   
  
.service-variants label {
  display: flex;
  align-items: center;   /* Vertically center checkbox and text */
  gap: 12px;
  font-size: 16px;
  cursor: pointer;
  margin-bottom: 8px;
  user-select: none;
  line-height: 1.2;     /* Align text nicely with checkbox */
}

/* Hide native checkbox */
.service-variants input[type="checkbox"] {
  display: none;
}

/* Custom checkbox */
.service-variants input[type="checkbox"] + span {
  width: 24px;
  height: 24px;
  border: 2px solid #0ea5e9;
  border-radius: 6px;
  display: inline-block;
  position: relative;
  transition: all 0.2s;
  background: #fff;
  flex-shrink: 0;  /* Prevent shrinking in flex container */
}

/* Checkmark */
.service-variants input[type="checkbox"]:checked + span::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 6px;
  height: 12px;
  border: solid #0ea5e9;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Hover effect */
.service-variants label:hover span {
  background: #e0f2fe;
}

/* Indent variants */
.service-variants {
  padding-left: 20px;
}

#customer-info input {
  width: 100%;
  padding: 10px 12px;
  margin-top: 4px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  font-size: 16px;
  transition: border 0.2s, box-shadow 0.2s;
}

#customer-info input:focus {
  outline: none;
  border-color: #0ea5e9;
  box-shadow: 0 0 4px #0ea5e9;
}

#customer-info label {
  display: flex;
  flex-direction: column;
  font-size: 14px;
  color: #111;
}

.btn-book {
  width: 100%;
  padding: 14px 0;
  background: #0ea5e9; /* Accent color */
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  border: none;
  border-radius: 14px;
  cursor: pointer;
  box-shadow: 0 4px 8px rgba(14, 165, 233, 0.3);
  transition: all 0.2s ease;
}

.btn-book:hover {
  background: #0284c7;
  box-shadow: 0 6px 12px rgba(14, 165, 233, 0.4);
  transform: translateY(-1px);
}

.btn-book:active {
  transform: translateY(1px);
  box-shadow: 0 3px 6px rgba(14, 165, 233, 0.2);
}



.sub-header {
  background-color: #f5f5f5; /* light gray background */
  padding: 10px 16px;
  border-left: 4px solid #4a90e2; /* colored accent bar */
  margin-bottom: 12px;
  border-radius: 6px 6px 0 0;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: 'Segoe UI', sans-serif;
}

/* Inner bar container */
.sub-header .bar {
  display: flex;
  justify-content: space-between; /* left buttons, right badge */
  align-items: center;
  padding: 6px 12px;
}

.nav a.btn {
  margin-right: 6px;
}

/* Title inside sub-header */
.sub-header .title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
}

/* Optional: navigation buttons inside sub-header */
.sub-header .nav {
  display: flex;
  gap: 8px;
}

.sub-header .nav .btn {
  background-color: #4a90e2;
  color: white;
  padding: 4px 8px;
  border-radius: 4px;
  text-decoration: none;
  font-size: 0.9rem;
  transition: background-color 0.2s;
}

.sub-header .nav .btn:hover {
  background-color: #357ab8;
}

/* Optional badge */
.sub-header .badge {
  font-size: 0.85rem;
  color: #666;
  background-color: #e0e0e0;
  padding: 2px 6px;
  border-radius: 4px;
}





.slot-label {
  cursor: pointer;
}

.slot-label .slot {
  display: inline-block;
  padding: 6px 12px;
  margin: 2px;
  border: 1px solid #ccc;
  border-radius: 6px;
  transition: 0.2s;
}

.slot-label.selected .slot {
  background-color: #007bff;
  color: #fff;
  border-color: #007bff;
}




    :root { --pad: 12px; --gap: 10px; --radius: 14px; --fg: #111; --muted:#666; --bg:#fafafa; --card:#fff; --accent:#0ea5e9; }
    *{ box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
    body{ margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji"; color:var(--fg); background:var(--bg); }
    header{ position: sticky; top: 0; background: linear-gradient(#fff, #fff9); backdrop-filter: blur(8px); border-bottom:1px solid #eee; z-index:10; }
    .bar{ display:flex; align-items:center; justify-content:space-between; padding: calc(var(--pad) + 4px) var(--pad); gap: var(--gap); }
    .nav{ display:flex; gap:8px; align-items:center; }
    a.btn{ text-decoration:none; padding:10px 12px; border-radius:12px; background:#f1f5f9; color:#111; font-weight:600; border:1px solid #e5e7eb; }
    a.btn:active{ transform: translateY(1px); }
    .badge{ font-size:12px; color:#fff; background:var(--accent); padding:6px 10px; border-radius:999px; }
    main{ padding: var(--pad); display:grid; gap: var(--gap); }
    .day{ background:var(--card); border:1px solid #eee; border-radius: var(--radius); padding: var(--pad); box-shadow: 0 1px 2px rgba(0,0,0,.03); }
    .dayhead{ display:flex; align-items:center; justify-content:space-between; margin-bottom: 8px; }
    .date{ font-weight:700; }
    .muted{ color:var(--muted); font-size: 13px; }
    .slots{ display:flex; flex-wrap:wrap; gap: 8px; }
    .slot{ padding:8px 10px; border-radius: 10px; background:#eef6ff; border:1px solid #dbeafe; font-weight:600; font-size:14px; }
    .noslots{ color: var(--muted); font-style: italic; padding: 6px 0; }
    footer{ padding: 28px var(--pad); color: var(--muted); text-align:center; font-size: 13px; }
    /* Small devices optimizations */
    @media (min-width: 560px){ main{ grid-template-columns: repeat(2, 1fr); } }