@import url("https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&display=swap");
@import url("https://cdn.jsdelivr.net/npm/remixicon@4.6.0/fonts/remixicon.css");

.jem-booking-root{
  --page:#FAF9F9;
  --panel:#FAF9F9;
  --panelAlt:#F6F4F4;
  --border: rgba(0,0,0,.10);

  --blue:#163C8C;
  --yellow:#F4B23C;

  --text: var(--blue);
  --muted: rgba(22,60,140,.78);
  --muted2: rgba(22,60,140,.52);

  --radius:4px;
  --gap:16px;

  --accent:#FF7F00;
  --accentSoft: rgba(255,127,0,.18);

  background: var(--page);
  padding: 32px 64px;
  box-sizing: border-box;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;

  font-family: "Fredoka", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  font-weight: 500;
  color: var(--text);
}

@media (max-width: 900px){
  .jem-booking-root{ padding: 18px 16px; }
}

.jem-wrap{ display:flex; flex-direction:column; gap: 32px; }
.jem-head{ display:flex; flex-direction:column; gap:16px; max-width:520px; }
.jem-head h2{
  margin:0;
  font-weight:700;
  font-size:26px;
  line-height:32px;
  letter-spacing:-0.02em;
}
.jem-head p{
  margin:0;
  font-weight:500;
  font-size:16px;
  line-height:120%;
  color: var(--muted);
}

.jem-grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: var(--gap);
  align-items:start;
}
@media (max-width: 980px){
  .jem-grid{ grid-template-columns: 1fr; }
}

.jem-card{
  box-sizing:border-box;
  background: var(--panelAlt);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow:hidden;
}

/* Calendar */
.jem-calTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 12px 10px;
  gap: 16px;
  background: var(--panel);
  border-bottom: 1px solid var(--border);
}

.jem-month{ display:flex; flex-direction:column; gap:4px; min-width: 200px; }
.jem-month strong{
  font-weight:700;
  font-size:16px;
  line-height:20px;
  letter-spacing:-0.02em;
}
.jem-month span{
  font-weight:500;
  font-size:16px;
  line-height:120%;
  color: var(--muted);
}

.jem-nav{ display:flex; gap: 8px; }

.jem-btnIcon{
  width: 35px;
  height: 35px;
  display:flex;
  align-items:center;
  justify-content:center;

  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: #EEE9E9;

  color: var(--text);
  cursor:pointer;
  font-family: inherit;
  font-weight:700;
  user-select:none;
}
.jem-btnIcon i{ font-size: 18px; line-height: 1; }
.jem-btnIcon:hover{ filter: brightness(0.98); }
.jem-btnIcon[disabled]{ opacity:.45; cursor:not-allowed; }

/* ✅ 5 columns only (Sun–Thu) */
.jem-dow{
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  padding: 12px 10px 10px;
  background: var(--panelAlt);
}
.jem-dow div{
  text-align:center;
  font-weight:700;
  font-size:10px;
  line-height:12px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color: var(--muted2);
}

.jem-days{
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  padding: 0 10px 12px;
  background: var(--panelAlt);
}

.jem-day{
  box-sizing:border-box;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--panel);

  padding: 10px;
  min-height: 64px;

  cursor:pointer;
  user-select:none;

  display:flex;
  flex-direction:column;
  gap: 6px;
  outline: none;
}
.jem-day:hover{
  box-shadow: 0 0 0 3px var(--accentSoft);
  border-color: rgba(0,0,0,.15);
}
.jem-day[aria-disabled="true"]{
  opacity:.35;
  cursor:not-allowed;
  box-shadow:none;
}
.jem-day.is-selected{
  box-shadow: 0 0 0 3px var(--accentSoft);
  border-color: rgba(0,0,0,.25);
}

.jem-dayNum{
  font-weight:700;
  font-size:16px;
  line-height:20px;
  letter-spacing:-0.02em;
}
.jem-dayHeb{
  font-weight:500;
  font-size:14px;
  line-height:120%;
  color: var(--muted);
}

/* Form */
.jem-formTop{
  padding: 16px;
  background: var(--panel);
  border-bottom: 1px solid var(--border);
}
.jem-formTop h3{
  margin:0;
  font-weight:700;
  font-size:16px;
  line-height:20px;
  letter-spacing:-0.02em;
}
.jem-formTop p{
  margin:8px 0 0;
  font-weight:500;
  font-size:16px;
  line-height:120%;
  color: var(--muted);
}

.jem-formBody{
  padding: 16px;
  display:flex;
  flex-direction:column;
  gap: 16px;
  background: var(--panelAlt);
}

.jem-row{ display:flex; flex-direction:column; gap: 8px; }
.jem-row label{
  font-weight:700;
  font-size:10px;
  line-height:12px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color: var(--muted2);
}

.jem-row input,
.jem-row textarea,
.jem-row select{
  font-family: inherit;
  font-weight:500;
  font-size:16px;
  line-height:120%;
  color: var(--text);

  padding: 12px 12px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--panel);
  outline:none;
  box-sizing:border-box;
}

.jem-row input:focus,
.jem-row textarea:focus,
.jem-row select:focus{
  box-shadow: 0 0 0 3px var(--accentSoft);
}

.jem-row textarea{ min-height: 110px; resize: vertical; }

.jem-help{
  display:flex;
  justify-content:flex-end;
  font-size: 14px;
  color: var(--muted);
  margin-top: 2px;
}

.jem-cta{
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #EEE9E9;
  padding: 12px 16px;
  cursor: pointer;

  font-family: inherit;
  font-weight:700;
  font-size:16px;
  line-height:20px;
  letter-spacing:-0.02em;
  color: var(--text);

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}
.jem-cta:hover{ filter: brightness(0.98); }
.jem-cta[disabled]{ opacity:.45; cursor:not-allowed; }

.jem-cta .jem-arrow{
  width: 8.5px; height: 14px;
  display:inline-block;
  border-right: 2px solid var(--yellow);
  border-bottom: 2px solid var(--yellow);
  transform: rotate(-45deg);
  margin-right: 2px;
  opacity: .95;
}

.jem-status{
  margin-top: 4px;
  font-weight:500;
  font-size:16px;
  line-height:120%;
  color: var(--muted);
}
.jem-status.ok{ color: var(--muted); }
.jem-status.err{ color: var(--muted); }
