/* Focus rings disabled sitewide */
*:focus,
*:focus-visible {
  outline: none !important;
}

a:focus,
a:focus-visible,
button:focus,
button:focus-visible,
input:focus,
input:focus-visible,
select:focus,
select:focus-visible,
textarea:focus,
textarea:focus-visible,
[tabindex]:focus,
[tabindex]:focus-visible,
.mplace-btn:focus,
.mplace-btn:focus-visible,
.portal-btn:focus,
.portal-btn:focus-visible,
.admin-btn:focus,
.admin-btn:focus-visible,
.cportal-btn:focus,
.cportal-btn:focus-visible,
.bk-date-btn:focus,
.bk-date-btn:focus-visible,
.bk-slot-btn:focus,
.bk-slot-btn:focus-visible,
.bk-card:focus,
.bk-card:focus-visible,
.cal-nav-btn:focus,
.cal-nav-btn:focus-visible,
.cal-list-row:focus,
.cal-list-row:focus-visible,
.cal-booking-block:focus,
.cal-booking-block:focus-visible,
.portal-notif-btn:focus,
.portal-notif-btn:focus-visible,
.cookie-consent-btn:focus,
.cookie-consent-btn:focus-visible {
  outline: none !important;
  box-shadow: none;
}

.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 10000;
  padding: 12px 18px;
  background: #232936;
  color: #F4F6FA;
  font-weight: 700;
  text-decoration: none;
  border-radius: 0 0 8px 0;
}

.skip-link:focus {
  left: 0;
}

.mplace-muted,
.cportal-muted,
.cal-muted,
.admin-muted,
.portal-sub,
.bk-muted {
  color: #5A6373;
}

.mplace-venue-meta {
  color: #5A6373;
}

.cookie-consent {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: rgba(20, 20, 23, 0.97);
  color: #F2F2F4;
  padding: 16px;
  border-top: 1px solid #232326;
}

.cookie-consent-inner {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  align-items: center;
  justify-content: space-between;
}

.cookie-consent-text {
  margin: 4px 0 0;
  font-size: 14px;
  color: #C7C7CC;
  max-width: 560px;
}

.cookie-consent-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.cookie-consent-actions a {
  color: #C9B6FF;
  font-size: 14px;
}

.cookie-consent-btn {
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 999px;
  border: none;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
}

.cookie-consent-accept {
  background: #9B6DFF;
  color: #fff;
}

.cookie-consent-accept:hover {
  background: #7C4FE0;
}

.cookie-consent-reject {
  background: transparent;
  color: #F2F2F4;
  border: 1px solid #2C2C2E;
}

.portal-error,
.cportal-error,
.field-error {
  color: #8B2E2E;
  font-size: 14px;
  font-weight: 600;
  margin-top: 6px;
}

.field-error[hidden] {
  display: none;
}

.cal-keyboard-edit {
  margin-top: 8px;
  padding: 12px;
  border: 1px solid #DEE4EE;
  border-radius: 12px;
  background: #F4F6FA;
}

.cal-keyboard-edit label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
}

.cal-keyboard-edit input[type="time"] {
  min-height: 44px;
  margin-left: 8px;
}
