/* simplebook styles */

body.simplebook {
  background: #1b1c1d;
  padding: 1em 0.5em;
}

.simplebook .main.container {
  max-width: 900px !important;
}

.slot-grid .slot-btn {
  margin: 0.25em;
  min-width: 8.5em;
}

/* Taken/past slots: same footprint as a button, but invisible —
   keeps rows aligned across the day boxes */
.slot-grid .slot-empty {
  visibility: hidden;
  pointer-events: none;
}

@media (max-width: 767px) {
  body.simplebook {
    padding: 0.5em 0.25em;
  }
}

/* Item choice icons (page 1) */
.item-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}

.item-choice {
  flex: 0 1 auto;
  min-width: 6.5em;
  padding: 1em 0.75em;
  text-align: center;
  color: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 0.3em;
  cursor: pointer;
  user-select: none;
}

.item-choice:hover {
  border-color: rgba(255, 255, 255, 0.6);
}

.item-choice.active {
  border-color: #2185d0;
  color: #ffffff;
  background: rgba(33, 133, 208, 0.15);
}

.item-choice .item-label {
  margin-top: 0.5em;
  font-size: 0.9em;
}

@media (max-width: 767px) {
  .item-choice {
    flex: 1 1 40%;
  }
}

/* Comment shown next to the chosen icon after OK */
.item-comment {
  flex: 1 1 12em;
  align-self: center;
  padding: 0.5em 0.75em;
  color: rgba(255, 255, 255, 0.75);
  font-style: italic;
  border-left: 2px solid rgba(255, 255, 255, 0.25);
  white-space: pre-wrap;
  word-break: break-word;
}

/* Speech bubble with the item description, pointing up at the item */
.item-bubble {
  position: relative;
  margin-top: 0.75em;
  padding: 0.75em 1em;
  background: #2a2b2c;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 0.4em;
  color: rgba(255, 255, 255, 0.85);
}

.item-bubble::before {
  content: "";
  position: absolute;
  top: -9px;
  left: var(--arrow-left, 2em);
  width: 16px;
  height: 16px;
  background: #2a2b2c;
  border-left: 1px solid rgba(255, 255, 255, 0.25);
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  transform: rotate(45deg);
}

/* Price centered under the item icon */
.item-choice .item-price {
  margin-top: 0.35em;
  font-size: 0.9em;
  font-weight: bold;
  color: #2185d0;
  text-align: center;
}

/* Page 2: static item/daytime cards (not clickable) */
.item-static {
  cursor: default;
  pointer-events: none;
}

.daytime-card .daytime-label {
  margin-top: 0.5em;
  font-size: 1.1em;
}

.daytime-card .daytime-time {
  margin-top: 0.25em;
  font-size: 1.2em;
  font-weight: bold;
}

/* Divider under the day/time summary */
.summary-divider {
  margin-top: 1em;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

/* Page 2 refinements: centered summary cards, comment below, narrower form */
.summary-row {
  justify-content: center;
}

.summary-comment {
  margin-top: 0.75em;
  text-align: center;
  color: rgba(255, 255, 255, 0.75);
  font-style: italic;
  white-space: pre-wrap;
  word-break: break-word;
}

.form-segment {
  max-width: 32em;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Receipt page */
.receipt-header {
  text-align: center;
  margin-bottom: 0.25em !important;
}

.booking-number {
  text-align: center;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 1em;
}

.contact-details {
  width: max-content;
  max-width: 100%;
  margin: 1em auto 0;
  padding: 0.75em 1.25em;
  text-align: left;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 0.3em;
}

.contact-details .contact-line {
  margin: 0.35em 0;
  color: rgba(255, 255, 255, 0.85);
}
