/* Amelia Booking — full modal theme (loads after booking-modal-v2.css) */



.booking-modal.amelia-booking {

  --am-primary: #2271b1;

  --am-primary-hover: #135e96;

  --am-primary-soft: #e8f2fb;

  --am-border: #dcdcde;

  --am-border-light: #eef0f2;

  --am-text: #1d2327;

  --am-muted: #646970;

  --am-surface: #f6f7f7;

  --am-radius: 6px;

  --am-radius-lg: 10px;

  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;

}



.booking-modal.amelia-booking .booking-modal-content {

  width: min(500px, 100%);

  border-radius: var(--am-radius-lg);

  border: 1px solid var(--am-border);

  box-shadow:

    0 1px 2px rgba(0, 0, 0, 0.04),

    0 8px 32px rgba(15, 23, 42, 0.12);

}



.booking-modal.amelia-booking .booking-modal-header {

  padding: 22px 48px 18px 22px;

  border-bottom: 1px solid var(--am-border-light);

  background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);

}



.booking-modal.amelia-booking .booking-modal-header h2 {

  font-size: 21px;

  font-weight: 700;

  letter-spacing: -0.02em;

  color: var(--am-text);

}



.booking-modal.amelia-booking .booking-modal-close {

  top: 14px;

  right: 14px;

  width: 34px;

  height: 34px;

  border-radius: var(--am-radius);

  border: 1px solid var(--am-border);

  background: #fff !important;

  color: var(--am-muted) !important;

  font-size: 18px;

  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;

}



.booking-modal.amelia-booking .booking-modal-close:hover {

  border-color: var(--am-primary) !important;

  color: var(--am-primary) !important;

  background: var(--am-primary-soft) !important;

}



.booking-modal.amelia-booking .booking-modal-form {

  padding: 18px 22px 22px;

}



/* Toolbar — ET/RU + location segments */

.booking-modal.amelia-booking .booking-toolbar {

  display: flex;

  flex-direction: column;

  gap: 10px;

  margin-bottom: 18px;

}



.booking-modal.amelia-booking .booking-segment {

  display: flex;

  gap: 0;

  padding: 4px;

  background: var(--am-surface);

  border: 1px solid var(--am-border);

  border-radius: var(--am-radius);

  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04);

}



.booking-modal.amelia-booking .booking-segment-btn,

.booking-modal.amelia-booking .booking-lang-btn,

.booking-modal.amelia-booking .booking-loc-btn {

  flex: 1;

  min-height: 38px;

  padding: 8px 12px;

  border: 1px solid transparent !important;

  border-radius: calc(var(--am-radius) - 2px) !important;

  background: transparent !important;

  color: var(--am-muted) !important;

  font-size: 13px !important;

  font-weight: 600 !important;

  box-shadow: none !important;

  transform: none !important;

  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease !important;

}



.booking-modal.amelia-booking .booking-segment-btn:hover,

.booking-modal.amelia-booking .booking-lang-btn:hover,

.booking-modal.amelia-booking .booking-loc-btn:hover {

  color: var(--am-text) !important;

  background: rgba(255, 255, 255, 0.75) !important;

}



.booking-modal.amelia-booking .booking-segment-btn.active,

.booking-modal.amelia-booking .booking-lang-btn.active,

.booking-modal.amelia-booking .booking-loc-btn.active {

  background: #fff !important;

  color: var(--am-primary) !important;

  border-color: rgba(34, 113, 177, 0.22) !important;

  box-shadow: 0 1px 3px rgba(34, 113, 177, 0.12) !important;

}



.booking-modal.amelia-booking .booking-lang-selector {

  display: contents;

}



.booking-modal.amelia-booking .booking-loc-row {

  margin: 0 !important;

}



/* Service preview card */

.booking-modal.amelia-booking .booking-service-preview {

  margin-bottom: 10px;

}



.booking-modal.amelia-booking .booking-selected-equipment {

  display: flex;

  align-items: center;

  gap: 14px;

  padding: 12px 14px;

  background: #fff;

  border: 1px solid var(--am-border);

  border-radius: var(--am-radius);

  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);

}



.booking-modal.amelia-booking .booking-selected-equipment-thumb {

  flex: 0 0 60px;

  width: 60px;

  height: 60px;

  min-height: 60px;

  border-radius: var(--am-radius);

  border: 1px solid var(--am-border-light);

  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);

}



.booking-modal.amelia-booking .booking-selected-equipment-badge {

  width: 22px;

  height: 22px;

  font-size: 10px;

  background: var(--am-primary) !important;

  box-shadow: 0 2px 6px rgba(34, 113, 177, 0.35);

}



.booking-modal.amelia-booking .booking-selected-equipment-title {

  font-size: 15px;

  font-weight: 600;

  line-height: 1.3;

  color: var(--am-text);

}



.booking-modal.amelia-booking .booking-selected-equipment-price {

  margin-top: 2px;

  font-size: 13px;

  font-weight: 700;

  color: var(--am-primary) !important;

}



.booking-modal.amelia-booking .booking-location-line {

  margin: 0 0 18px;

  padding: 8px 10px;

  font-size: 12px;

  line-height: 1.45;

  color: var(--am-muted);

  background: var(--am-surface);

  border-radius: var(--am-radius);

  border: 1px solid var(--am-border-light);

}



.booking-modal.amelia-booking .booking-form-group:has(#selectedLocationLabel),

.booking-modal.amelia-booking .booking-form-group:has(#labelEquipment) {

  display: none !important;

}



.booking-modal.amelia-booking .booking-resource-picker {

  margin: -4px 0 12px;

}



.booking-modal.amelia-booking .booking-resource-picker[hidden] {

  display: none !important;

}



.booking-modal.amelia-booking .booking-service-preview[hidden] {

  display: none !important;

}



.booking-modal.amelia-booking .booking-resource-grid {

  display: grid;

  grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));

  gap: 8px;

}



.booking-modal.amelia-booking .booking-resource-card {

  display: flex;

  flex-direction: column;

  gap: 6px;

  padding: 0;

  border: 1px solid var(--am-border);

  border-radius: var(--am-radius);

  background: #fff;

  overflow: hidden;

  cursor: pointer;

  text-align: left;

  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);

  transition: border-color 0.12s ease, box-shadow 0.12s ease;

}



.booking-modal.amelia-booking .booking-resource-card:hover {

  border-color: rgba(34, 113, 177, 0.45);

}



.booking-modal.amelia-booking .booking-resource-card.is-selected {

  border-color: var(--am-primary);

  box-shadow: 0 0 0 1px rgba(34, 113, 177, 0.2);

}



.booking-modal.amelia-booking .booking-resource-card-thumb {

  position: relative;

  width: 100%;

  height: 72px;

  background: var(--am-surface);

  overflow: hidden;

}



.booking-modal.amelia-booking .booking-resource-card-thumb img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

}



.booking-modal.amelia-booking .booking-resource-card-check {

  position: absolute;

  top: 6px;

  left: 6px;

  z-index: 2;

  width: 22px;

  height: 22px;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: var(--am-radius);

  background: var(--am-primary);

  color: #fff;

  font-size: 14px;

  font-weight: 700;

  line-height: 1;

  padding: 0 0 1px 1px;

  box-shadow: 0 2px 6px rgba(34, 113, 177, 0.35);

}



.booking-modal.amelia-booking .booking-resource-card-title {

  padding: 0 8px 8px;

  font-size: 11px;

  font-weight: 600;

  line-height: 1.3;

  color: var(--am-text);

}



/* Labels & inputs — Amelia form style */

.booking-modal.amelia-booking .booking-form-group {

  margin-bottom: 16px;

}



.booking-modal.amelia-booking .booking-form-group label {

  margin-bottom: 6px;

  font-size: 13px;

  font-weight: 600;

  color: var(--am-text);

}



.booking-modal.amelia-booking .booking-calendar-hint {

  margin: -2px 0 10px;

  font-size: 12px;

  line-height: 1.45;

  color: var(--am-muted);

}



.booking-modal.amelia-booking .booking-form-group input,

.booking-modal.amelia-booking .booking-form-group select,

.booking-modal.amelia-booking .booking-form-group textarea {

  min-height: 42px;

  padding: 9px 12px;

  border: 1px solid var(--am-border) !important;

  border-radius: var(--am-radius) !important;

  font-size: 14px;

  background: #fff !important;

  color: var(--am-text) !important;

  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02) !important;

  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;

}



.booking-modal.amelia-booking .booking-form-group input:focus,

.booking-modal.amelia-booking .booking-form-group select:focus,

.booking-modal.amelia-booking .booking-form-group textarea:focus {

  border-color: var(--am-primary) !important;

  box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.18) !important;

  outline: none;

}



.booking-modal.amelia-booking .booking-form-group textarea {

  min-height: 76px;

}



.booking-modal.amelia-booking .booking-section-divider {

  height: 1px;

  margin: 6px 0 18px;

  background: var(--am-border-light);

}



/* Calendar — readable Amelia picker */

.booking-modal.amelia-booking .booking-calendar {

  padding: 14px;

  border: 1px solid var(--am-border);

  border-radius: var(--am-radius);

  background: #fff;

  box-shadow:

    inset 0 1px 0 rgba(255, 255, 255, 0.9),

    0 1px 4px rgba(0, 0, 0, 0.04);

}



.booking-modal.amelia-booking .booking-calendar-header {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 8px;

  margin-bottom: 12px;

  padding: 0 0 12px;

  border-bottom: 1px solid var(--am-border-light);

}



.booking-modal.amelia-booking .booking-calendar-title-wrap {

  flex: 1;

  min-width: 0;

  display: flex;

  flex-direction: column;

  align-items: center;

  gap: 4px;

  text-align: center;

}



.booking-modal.amelia-booking .booking-calendar-title {

  font-size: 16px;

  font-weight: 700;

  letter-spacing: -0.01em;

  color: var(--am-text);

}



.booking-modal.amelia-booking .booking-calendar-selection {

  display: block;

  max-width: 100%;

  font-size: 12px;

  line-height: 1.35;

  font-weight: 500;

  color: var(--am-muted);

  overflow: hidden;

  text-overflow: ellipsis;

  white-space: nowrap;

}



.booking-modal.amelia-booking .booking-calendar-selection.is-selected {

  color: var(--am-primary);

  font-weight: 600;

}



.booking-modal.amelia-booking .booking-calendar-selection.is-empty {

  font-style: italic;

}



.booking-modal.amelia-booking .booking-calendar-nav {

  flex: 0 0 36px;

  width: 36px;

  height: 36px;

  border-radius: var(--am-radius);

  border: 1px solid var(--am-border) !important;

  background: #fff !important;

  color: var(--am-muted) !important;

  font-size: 20px;

  line-height: 1;

  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;

  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease !important;

}



.booking-modal.amelia-booking .booking-calendar-nav:hover:not(:disabled) {

  border-color: var(--am-primary) !important;

  color: var(--am-primary) !important;

  background: var(--am-primary-soft) !important;

}



.booking-modal.amelia-booking .booking-calendar-nav:disabled {

  opacity: 0.35;

  cursor: not-allowed;

}



.booking-modal.amelia-booking .booking-calendar-weekdays {

  gap: 4px;

  margin-bottom: 6px;

}



.booking-modal.amelia-booking .booking-weekday {

  font-size: 11px;

  font-weight: 700;

  color: var(--am-muted);

  padding: 6px 0;

  letter-spacing: 0.04em;

  text-transform: uppercase;

}



.booking-modal.amelia-booking .booking-weekday-weekend {

  color: #b45309;

}



.booking-modal.amelia-booking .booking-calendar-dates {

  gap: 4px;

}



.booking-modal.amelia-booking .booking-date-cell {

  position: relative;

  overflow: hidden;

  min-height: 40px;

  font-size: 14px;

  font-weight: 600;

  border-radius: var(--am-radius);

  border: 1px solid transparent !important;

  background: #fff !important;

  color: var(--am-text) !important;

  transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease, box-shadow 0.12s ease !important;

}



.booking-modal.amelia-booking .booking-date-cell:hover:not(:disabled):not(.other-month) {

  background: var(--am-primary-soft) !important;

  border-color: rgba(34, 113, 177, 0.35) !important;

  box-shadow: none !important;

  transform: none !important;

}



.booking-modal.amelia-booking .booking-date-cell:focus-visible {

  outline: none;

  border-color: var(--am-primary) !important;

  box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.25) !important;

}



.booking-modal.amelia-booking .booking-date-cell.selected {

  background: var(--am-primary) !important;

  color: #fff !important;

  border-color: var(--am-primary) !important;

  box-shadow: 0 2px 8px rgba(34, 113, 177, 0.35) !important;

}



.booking-modal.amelia-booking .booking-date-cell.disabled,

.booking-modal.amelia-booking .booking-date-cell:disabled {

  background: repeating-linear-gradient(

    -45deg,

    #f3f4f6,

    #f3f4f6 3px,

    #eceff3 3px,

    #eceff3 6px

  ) !important;

  color: #a7aaad !important;

  border-color: #e0e2e6 !important;

  cursor: not-allowed;

  opacity: 0.85;

}



.booking-modal.amelia-booking .booking-date-cell.other-month {

  background: #fafafa !important;

  color: #c3c4c7 !important;

  border-color: transparent !important;

  opacity: 0.55;

}



.booking-modal.amelia-booking .booking-date-cell.today:not(.selected)::before {

  background: #16a34a;

  width: 5px;

  height: 5px;

  top: 5px;

  box-shadow: 0 0 0 2px rgba(22, 163, 74, 0.2);

}



.booking-modal.amelia-booking .booking-date-cell.today.selected::before {

  background: #fff;

  width: 5px;

  height: 5px;

  top: 5px;

  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);

}



.booking-modal.amelia-booking .booking-date-fill {

  position: absolute;

  left: 4px;

  right: 4px;

  bottom: 4px;

  height: 0;

  border-radius: 2px;

  background: rgba(34, 113, 177, 0.22);

  pointer-events: none;

  z-index: 0;

  transition: height 0.18s ease;

}



.booking-modal.amelia-booking .booking-date-cell.occupancy-medium .booking-date-fill {

  background: rgba(34, 113, 177, 0.32);

}



.booking-modal.amelia-booking .booking-date-cell.occupancy-free .booking-date-fill {

  background: rgba(22, 163, 74, 0.24);

}



.booking-modal.amelia-booking .booking-date-cell.occupancy-high .booking-date-fill,

.booking-modal.amelia-booking .booking-date-cell.occupancy-full .booking-date-fill {

  background: rgba(214, 119, 61, 0.34);

}



.booking-modal.amelia-booking .booking-date-cell.other-month .booking-date-fill,

.booking-modal.amelia-booking .booking-date-cell.disabled .booking-date-fill {

  opacity: 0.45;

}



.booking-modal.amelia-booking .booking-date-cell.selected .booking-date-fill {

  opacity: 0.55;

}



.booking-modal.amelia-booking .booking-calendar-dates.is-loading-occupancy {

  opacity: 0.92;

}



.booking-modal.amelia-booking .booking-calendar-legend {

  display: flex;

  flex-wrap: wrap;

  gap: 8px 14px;

  margin-top: 12px;

  padding-top: 12px;

  border-top: 1px solid var(--am-border-light);

  font-size: 11px;

  line-height: 1.3;

  color: var(--am-muted);

}



.booking-modal.amelia-booking .booking-calendar-legend-item {

  display: inline-flex;

  align-items: center;

  gap: 6px;

}



.booking-modal.amelia-booking .booking-calendar-legend-swatch {

  width: 14px;

  height: 14px;

  border-radius: 4px;

  border: 1px solid var(--am-border);

  background: #fff;

  position: relative;

  flex: 0 0 14px;

}



.booking-modal.amelia-booking .booking-calendar-legend-swatch-selected {

  background: var(--am-primary);

  border-color: var(--am-primary);

}



.booking-modal.amelia-booking .booking-calendar-legend-swatch-today::after {

  content: '';

  position: absolute;

  top: 2px;

  left: 50%;

  transform: translateX(-50%);

  width: 4px;

  height: 4px;

  border-radius: 999px;

  background: #16a34a;

}



.booking-modal.amelia-booking .booking-calendar-legend-swatch-disabled {

  background: repeating-linear-gradient(

    -45deg,

    #f3f4f6,

    #f3f4f6 2px,

    #eceff3 2px,

    #eceff3 4px

  );

  border-color: #e0e2e6;

}



.booking-modal.amelia-booking .booking-calendar-legend-swatch-other {

  background: #fafafa;

  border-color: #dcdcde;

  opacity: 0.7;

}



.booking-modal.amelia-booking .booking-calendar-legend-swatch-occupancy {

  position: relative;

  overflow: hidden;

  background: #fff;

  border-color: #dcdcde;

}



.booking-modal.amelia-booking .booking-calendar-legend-swatch-occupancy::after {

  content: '';

  position: absolute;

  left: 1px;

  right: 1px;

  bottom: 1px;

  height: 72%;

  border-radius: 1px;

  background: linear-gradient(180deg, rgba(22, 163, 74, 0.35) 0%, rgba(214, 119, 61, 0.45) 100%);

}



.booking-modal.amelia-booking .booking-calendar-legend-swatch-free {

  position: relative;

  overflow: hidden;

  background: #fff;

  border-color: #dcdcde;

}



.booking-modal.amelia-booking .booking-calendar-legend-swatch-free::after {

  content: '';

  position: absolute;

  left: 1px;

  right: 1px;

  bottom: 1px;

  height: 28%;

  border-radius: 1px;

  background: rgba(22, 163, 74, 0.45);

}



/* Time row */

.booking-modal.amelia-booking .booking-time-row {

  gap: 12px;

  margin-bottom: 0;

}



/* Suggestions */

.booking-modal.amelia-booking .booking-suggestions-alert {

  padding: 10px 12px;

  background: #fcf9e8;

  border: 1px solid #f0e6b6;

  border-radius: var(--am-radius);

}



.booking-modal.amelia-booking .booking-suggestions-title {

  font-size: 13px;

  color: #8a6d1d;

  font-weight: 500;

}



.booking-modal.amelia-booking .booking-suggestions-info-icon {

  color: #dba617;

}



.booking-modal.amelia-booking .booking-suggestion-btn {

  padding: 10px 12px;

  border: 1px solid var(--am-border);

  border-radius: var(--am-radius);

  background: #fff !important;

  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);

}



.booking-modal.amelia-booking .booking-suggestion-btn-action {

  background: var(--am-primary) !important;

  border-radius: var(--am-radius);

  font-weight: 600;

  min-width: 72px;

}



.booking-modal.amelia-booking .booking-suggestion-icon {

  color: var(--am-primary);

}

.booking-modal.amelia-booking .booking-suggestions-list-title {

  color: #475569;

  font-weight: 700;

}

.booking-modal.amelia-booking .booking-suggestion-location {

  color: #b91e00 !important;

  font-weight: 800;

}

.booking-modal.amelia-booking .booking-suggestion-resource,
.booking-modal.amelia-booking .booking-suggestion-context {

  color: #0f172a !important;

  font-weight: 800;

}

.booking-modal.amelia-booking .booking-suggestion-kicker {

  color: #64748b;

}

.booking-modal.amelia-booking .booking-suggestion-card-head--location .booking-suggestion-kicker {

  color: #b91e00;

}

.booking-modal.amelia-booking .booking-suggestion-card-headroom {

  border-bottom-color: var(--am-border);

}



/* Price & footer */

.booking-modal.amelia-booking .booking-price-summary {

  margin: 10px 0 14px;

  padding: 14px 16px;

  background: var(--am-primary-soft) !important;

  border: 1px solid rgba(34, 113, 177, 0.18) !important;

  border-radius: var(--am-radius) !important;

}



.booking-modal.amelia-booking .booking-price-row {

  font-size: 14px;

  color: var(--am-muted);

}



.booking-modal.amelia-booking .booking-price-row strong {

  font-size: 20px;

  font-weight: 800;

  letter-spacing: -0.02em;

  color: var(--am-text);

}



.booking-modal.amelia-booking .booking-terms-label {

  display: flex;

  align-items: center;

  gap: 10px;

  font-size: 12px;

  line-height: 1.5;

  color: var(--am-muted);

}



.booking-modal.amelia-booking .booking-terms-label input[type='checkbox'] {

  flex: 0 0 16px;

  width: 16px;

  height: 16px;

  min-height: 0 !important;

  margin: 0;

  padding: 0 !important;

  border: none !important;

  box-shadow: none !important;

  background: transparent !important;

  accent-color: var(--am-primary);

  cursor: pointer;

}



.booking-modal.amelia-booking .booking-terms-text {

  flex: 1 1 auto;

  min-width: 0;

  padding: 0;

  margin: 0;

  line-height: 1.5;

}



.booking-modal.amelia-booking .booking-terms-text a {

  color: var(--am-primary) !important;

  font-weight: 600 !important;

  text-decoration: underline !important;

  text-underline-offset: 2px;

  background: none !important;

  padding: 0 !important;

  border-radius: 0 !important;

  box-decoration-break: initial;

  -webkit-box-decoration-break: initial;

}



.booking-modal.amelia-booking .booking-terms-text a:hover,

.booking-modal.amelia-booking .booking-terms-text a:focus {

  color: var(--am-primary-hover) !important;

  background: none !important;

}



#bookingModal.amelia-booking .booking-terms-text a {

  color: var(--am-primary, #2271b1) !important;

  font-weight: 600 !important;

  background: none !important;

  padding: 0 !important;

}



.booking-modal.amelia-booking .booking-terms-group.booking-field-invalid {

  padding: 10px 12px;

  border-radius: var(--am-radius);

  background: rgba(220, 53, 69, 0.06);

  box-shadow: inset 0 0 0 1px rgba(220, 53, 69, 0.28);

}



.booking-modal.amelia-booking .booking-terms-group.booking-field-invalid .booking-terms-text {

  color: #b91e00;

}



.booking-modal.amelia-booking .booking-modal-buttons {

  display: flex;

  flex-direction: column;

  gap: 10px;

  margin-top: 10px;

}



.booking-modal.amelia-booking .booking-btn-submit {

  width: 100%;

  min-height: 46px;

  border-radius: var(--am-radius) !important;

  background: var(--am-primary) !important;

  color: #fff !important;

  font-size: 15px !important;

  font-weight: 700 !important;

  border: none !important;

  box-shadow: 0 2px 8px rgba(34, 113, 177, 0.28) !important;

  transition: background 0.15s ease, box-shadow 0.15s ease !important;

}



.booking-modal.amelia-booking .booking-btn-submit:hover {

  background: var(--am-primary-hover) !important;

  box-shadow: 0 4px 12px rgba(34, 113, 177, 0.32) !important;

}



.booking-modal.amelia-booking .booking-btn-cancel {

  width: 100%;

  min-height: auto;

  padding: 10px;

  border: none !important;

  background: transparent !important;

  color: var(--am-muted) !important;

  font-size: 13px !important;

  font-weight: 500 !important;

  text-decoration: underline;

  text-underline-offset: 2px;

  border-radius: 0 !important;

}



.booking-modal.amelia-booking .booking-btn-cancel:hover {

  color: var(--am-text) !important;

  background: transparent !important;

}



/* Receipt / success — keep readable, less gold */

.booking-modal.amelia-booking .booking-receipt::before {

  background: var(--am-primary);

}



.booking-modal.amelia-booking .booking-receipt-code-badge {

  background: var(--am-surface);

}



.booking-modal.amelia-booking .booking-message-btn-primary {

  background: var(--am-primary) !important;

  color: #fff !important;

}



@media (max-width: 480px) {

  .booking-modal.amelia-booking .booking-modal-form {

    padding: 14px 16px 18px;

  }



  .booking-modal.amelia-booking .booking-inline-grid {

    grid-template-columns: 1fr;

  }



  .booking-modal.amelia-booking .booking-calendar {

    padding: 12px;

  }



  .booking-modal.amelia-booking .booking-date-cell {

    min-height: 38px;

    font-size: 13px;

  }



  .booking-modal.amelia-booking .booking-calendar-selection {

    font-size: 11px;

    white-space: normal;

  }



  .booking-modal.amelia-booking .booking-calendar-legend {

    gap: 6px 10px;

    font-size: 10px;

  }



  .booking-modal.amelia-booking .booking-selected-equipment {

    flex-direction: column;

    align-items: stretch;

    text-align: center;

  }



  .booking-modal.amelia-booking .booking-selected-equipment-thumb {

    width: 100%;

    height: 120px;

    min-height: 120px;

  }

}



/* Elementor kit gold buttons — segment controls */

#bookingModal.amelia-booking button.booking-segment-btn,

#bookingModal.amelia-booking button.booking-lang-btn,

#bookingModal.amelia-booking button.booking-loc-btn {

  background: transparent !important;

  color: var(--am-muted, #646970) !important;

  border-color: transparent !important;

  box-shadow: none !important;

}



#bookingModal.amelia-booking button.booking-segment-btn.active,

#bookingModal.amelia-booking button.booking-lang-btn.active,

#bookingModal.amelia-booking button.booking-loc-btn.active {

  background: #fff !important;

  color: var(--am-primary, #2271b1) !important;

  border-color: rgba(34, 113, 177, 0.22) !important;

}



#bookingModal.amelia-booking button.booking-btn-submit {

  background: var(--am-primary, #2271b1) !important;

  color: #fff !important;

  border: none !important;

}



#bookingModal.amelia-booking button.booking-btn-cancel {

  background: transparent !important;

  color: var(--am-muted, #646970) !important;

  border: none !important;

}



#bookingModal.amelia-booking button.booking-calendar-nav {

  background: #fff !important;

  color: var(--am-muted, #646970) !important;

  border: 1px solid var(--am-border, #dcdcde) !important;

}



#bookingModal.amelia-booking button.booking-calendar-nav:hover:not(:disabled) {

  background: var(--am-primary-soft, #e8f2fb) !important;

  color: var(--am-primary, #2271b1) !important;

  border-color: var(--am-primary, #2271b1) !important;

}



#bookingModal.amelia-booking button.booking-date-cell {

  background: #fff !important;

  color: var(--am-text, #1d2327) !important;

  border: 1px solid transparent !important;

}



#bookingModal.amelia-booking button.booking-date-cell:hover:not(:disabled):not(.other-month) {

  background: var(--am-primary-soft, #e8f2fb) !important;

  border-color: rgba(34, 113, 177, 0.35) !important;

  color: var(--am-text, #1d2327) !important;

}



#bookingModal.amelia-booking button.booking-date-cell.selected {

  background: var(--am-primary, #2271b1) !important;

  color: #fff !important;

  border-color: var(--am-primary, #2271b1) !important;

}



#bookingModal.amelia-booking button.booking-date-cell.disabled,

#bookingModal.amelia-booking button.booking-date-cell:disabled {

  background: repeating-linear-gradient(

    -45deg,

    #f3f4f6,

    #f3f4f6 3px,

    #eceff3 3px,

    #eceff3 6px

  ) !important;

  color: #a7aaad !important;

  border-color: #e0e2e6 !important;

}



#bookingModal.amelia-booking button.booking-date-cell.other-month {

  background: #fafafa !important;

  color: #c3c4c7 !important;

}


