/* Stakhniak Studio — independent salon skin, loaded after the upstream theme.
   Easy!Appointments GPL-3.0 notices remain in original source and visible footer. */
body.studio-theme {
  --studio-ink: #343134;
  --studio-muted: #716565;
  --studio-accent: #91645f;
  --studio-hover: #744b47;
  --studio-powder: #f1e4df;
  --studio-paper: #faf7f3;
  --studio-line: #e2d6cf;
  --bs-primary: #91645f;
  --bs-primary-rgb: 145,100,95;
  --bs-primary-bg-subtle: #f1e4df;
  --bs-primary-border-subtle: #d9bab2;
  --bs-primary-text-emphasis: #633f3b;
  --bs-body-bg: #faf7f3;
  --bs-body-color: #343134;
  --bs-body-color-rgb: 52,49,52;
  --bs-secondary-color: #716565;
  --bs-secondary-bg: #f1eae5;
  --bs-tertiary-bg: #f7f1ed;
  --bs-border-color: #e2d6cf;
  --bs-info: #ead7cd;
  --bs-info-rgb: 234,215,205;
  --bs-info-bg-subtle: #f6ece6;
  --bs-light: #f7f1ed;
  --bs-light-rgb: 247,241,237;
  --bs-link-color: #80534e;
  --bs-link-color-rgb: 128,83,78;
  --bs-link-hover-color: #633f3b;
  --bs-link-hover-color-rgb: 99,63,59;
  --bs-focus-ring-color: rgba(145,100,95,.25);
  --ea-primary-hover: #744b47;
  --ea-primary-active: #633f3b;
  --ea-primary-dark: #744b47;
  --ea-primary-darker: #633f3b;
  --ea-primary-subtle: #f1e4df;
  color: var(--studio-ink);
  background: var(--studio-paper);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  color-scheme: light;
}
.studio-theme .btn {
  min-height: 44px;
  min-width: 44px;
  border-radius: 9px;
  font-weight: 500;
  touch-action: manipulation;
}
.studio-theme .btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--studio-accent);
  --bs-btn-border-color: var(--studio-accent);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--studio-hover);
  --bs-btn-hover-border-color: var(--studio-hover);
  --bs-btn-active-bg: #633f3b;
  --bs-btn-active-border-color: #633f3b;
  --bs-btn-disabled-bg: #91645f;
  --bs-btn-disabled-border-color: #91645f;
  --bs-btn-focus-shadow-rgb: 145,100,95;
  background-image: none;
}
.studio-theme .btn-outline-primary {
  --bs-btn-color: #80534e;
  --bs-btn-border-color: #91645f;
  --bs-btn-hover-bg: #91645f;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-border-color: #91645f;
  --bs-btn-active-bg: #744b47;
  --bs-btn-active-border-color: #744b47;
}
.studio-theme .btn-light, .studio-theme .btn-outline-secondary {
  --bs-btn-color: #493b3b;
  --bs-btn-bg: #fffdfb;
  --bs-btn-border-color: #d9cbc4;
  --bs-btn-hover-color: #493b3b;
  --bs-btn-hover-bg: #f1e4df;
  --bs-btn-hover-border-color: #b79387;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #91645f;
  --bs-btn-active-border-color: #91645f;
}
.studio-theme .form-control, .studio-theme .form-select,
.studio-theme .input-group-text {
  min-height: 44px;
  border-color: var(--studio-line);
  border-radius: 8px;
  background-color: #fffdfb;
  color: var(--studio-ink);
}
.studio-theme textarea.form-control { min-height: 88px; }
.studio-theme .form-control:focus, .studio-theme .form-select:focus {
  border-color: #b79387;
  box-shadow: 0 0 0 3px rgba(145,100,95,.16);
}
.studio-theme .form-check-input:checked {
  background-color: var(--studio-accent);
  border-color: var(--studio-accent);
}
.studio-theme .form-check { min-height: 44px; display: flex; align-items: center; gap: 8px; }
.studio-theme .form-check-input { width: 22px; height: 22px; flex-shrink: 0; }
.studio-theme .dropdown-item, .studio-theme #language-list .language {
  min-height: 44px;
  padding: 12px 16px;
}
.studio-theme .dropdown-item:active, .studio-theme #language-list .language:hover {
  background: var(--studio-powder);
  color: var(--studio-ink);
}
.studio-theme :is(a, button, input, select):focus-visible {
  outline: 3px solid #b79387;
  outline-offset: 3px;
}
.studio-theme #header {
  background: #fffdfb !important;
  border-bottom: 1px solid var(--studio-line);
  color: var(--studio-ink);
}
.studio-theme #header-logo {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 14px 18px !important;
  margin-right: 0;
  min-width: 0;
}
.studio-logo { object-fit: contain; border-radius: 50%; flex-shrink: 0; }
.studio-wordmark { min-width: 0; line-height: 1.35; }
.studio-name, .studio-login-name {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  font-weight: 400;
  letter-spacing: -.4px;
  color: #493b3b;
}
.studio-tagline { display: block; font-size: 11px; line-height: 1.6; color: #716565; white-space: normal; }
.studio-login-name { font-size: 32px; margin: 14px 0 6px; }
.studio-theme #header #header-menu .nav-link,
.studio-theme #header #header-menu .nav-link:hover,
.studio-theme #header #header-menu .nav-link:focus {
  color: #493b3b !important;
  font-size: 14px;
  padding: 18px 12px !important;
}
.studio-theme #header #header-menu .nav-item.active,
.studio-theme #header #header-menu .nav-item:hover {
  background: var(--studio-powder);
  border-radius: 10px;
}
.studio-theme #header .navbar-toggler { border-color: #c9b4ab; min-width: 44px; min-height: 44px; }
.studio-theme #header .navbar-toggler-icon { filter: brightness(.3); }
.studio-theme .studio-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  border-top: 1px solid var(--studio-line);
  background: #fffdfb;
}
.studio-credit { font-size: 11px; color: var(--studio-muted); }
.studio-credit a { color: inherit; }
.studio-theme .card, .studio-theme .modal-content {
  border-color: var(--studio-line);
  border-radius: 16px;
  background-color: #fffdfb;
}
.studio-theme .card-footer { background: #f7f1ed; border-color: var(--studio-line); }
.studio-theme .modal-header { background: var(--studio-powder); color: #493b3b; }
.studio-theme .modal-header h3 { color: #493b3b; }
.studio-theme .modal-header .btn-close { filter: none; min-width: 44px; min-height: 44px; padding: 0; }
.studio-theme .backend-page { background: var(--studio-paper); }
.studio-theme .backend-page .filter-records .results .entry { min-height: 60px; padding: 14px; border-radius: 10px; }
.studio-theme .backend-page .filter-records .results .entry.selected {
  background: var(--studio-powder);
  border-color: var(--studio-accent) !important;
}
.studio-theme #calendar-toolbar {
  background: #f1eae5 !important;
  color: var(--studio-ink) !important;
  border-bottom: 1px solid var(--studio-line);
  padding: 14px 6px !important;
}
.studio-theme #calendar-actions .btn { margin-left: 4px; }
.studio-theme #calendar {
  --fc-border-color: #e2d6cf;
  --fc-page-bg-color: #fffdfb;
  --fc-neutral-bg-color: #f7f1ed;
  --fc-today-bg-color: #f6ece6;
  --fc-button-text-color: #493b3b;
  --fc-button-bg-color: #fffdfb;
  --fc-button-border-color: #d9cbc4;
  --fc-button-hover-bg-color: #f1e4df;
  --fc-button-hover-border-color: #b79387;
  --fc-button-active-bg-color: #91645f;
  --fc-button-active-border-color: #91645f;
  --fc-now-indicator-color: #91645f;
}
.studio-theme #calendar .fc-button { min-height: 44px; min-width: 44px; border-radius: 8px; padding: 10px 14px; font-size: 14px; }
.studio-theme #calendar .fc-button-active { color: #fff; }
.studio-theme #calendar .fc-toolbar-title { font-size: 22px; font-weight: 500; }
.studio-theme #calendar .fc-header-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.studio-theme #calendar .fc-header-toolbar .fc-toolbar-chunk { margin-bottom: 0; }
.studio-theme #calendar .fc-col-header-cell { background: #f7f1ed; }
.studio-theme #calendar .fc-col-header-cell-cushion { padding: 12px 4px; font-weight: 500; }
.studio-theme #calendar .calendar-header { background: #f1eae5; border-radius: 10px; padding: 12px; }
.studio-theme #calendar .select2-selection { min-height: 44px; border-color: var(--studio-line); }
.studio-theme #calendar .calendar-view .date-column-title,
.studio-theme #calendar .calendar-view .provider-column h6 { background: #f1eae5; color: var(--studio-ink); }
.studio-theme .flatpickr-day.selected, .studio-theme .flatpickr-day.selected:hover {
  background: #91645f; border-color: #91645f;
}
.studio-theme .flatpickr-months, .studio-theme .flatpickr-months .flatpickr-month,
.studio-theme .flatpickr-weekdays, .studio-theme span.flatpickr-weekday,
.studio-theme .flatpickr-current-month .flatpickr-monthDropdown-months {
  background: #f1e4df; color: #493b3b;
}
.studio-theme .flatpickr-current-month input.cur-year { color: #493b3b; }
.studio-theme .flatpickr-months .flatpickr-prev-month,
.studio-theme .flatpickr-months .flatpickr-next-month { color: #493b3b; fill: #493b3b; }
.studio-theme #book-appointment-wizard { border-radius: 20px; border: 1px solid var(--studio-line); box-shadow: 0 16px 60px #493b3b0c; }
.studio-theme #book-appointment-wizard #header { gap: 18px; }
.studio-theme #company-name { color: #493b3b !important; font-family: Georgia, serif; font-size: 26px !important; }
.studio-theme #company-name .studio-logo { float: left; margin-right: 16px; }
.studio-theme #company-name .studio-tagline, .studio-theme #company-name .display-booking-selection {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #716565 !important; font-size: 11px;
}
.studio-theme #book-appointment-wizard .book-step { background: #f1e4df !important; }
.studio-theme #book-appointment-wizard .book-step strong { color: #80534e !important; }
.studio-theme #book-appointment-wizard .book-step.active-step { background: #91645f !important; }
.studio-theme #book-appointment-wizard .book-step.active-step strong { color: white !important; }
.studio-theme #frame-footer { background: #f7f1ed; }
.studio-theme #select-language { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 100px; font-weight: 500; }
.studio-theme .popover { --bs-popover-border-color: #e2d6cf; --bs-popover-header-bg: #f1e4df; --bs-popover-body-padding-x: 0; }
.studio-theme #language-list { max-height: min(55vh, 380px); overflow-y: auto; }
@media (max-width: 1199px) {
  .studio-theme #header #header-menu .nav-item { min-width: auto !important; }
  .studio-theme #header #header-menu .nav-link { padding: 18px 9px !important; }
  .studio-theme #header #header-menu .nav-link svg { margin-right: 4px !important; }
}
@media (min-width: 768px) and (max-width: 1050px) {
  .studio-theme #header { flex-wrap: wrap; }
  .studio-theme #header-logo { width: 100%; }
  .studio-theme #header #header-menu { flex-basis: 100%; justify-content: flex-end; padding-bottom: 8px; }
}
@media (max-width: 767px) {
  .studio-theme #header-logo { padding: 12px !important; gap: 9px; }
  .studio-theme #header-logo .studio-logo { width: 44px; height: 44px; }
  .studio-name { font-size: 22px; }
  .studio-theme #header-logo .studio-tagline { max-width: 230px; font-size: 10px; }
  .studio-theme #header #header-menu .nav-link { text-align: left; padding: 14px !important; }
  .studio-theme #calendar-actions { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 8px; }
  .studio-theme #calendar-actions .btn { margin-left: 0; }
  .studio-theme #calendar .fc-header-toolbar { justify-content: center; }
  .studio-theme #calendar .fc-toolbar-title { font-size: 19px; }
  .studio-theme #calendar .fc-button { padding: 10px; }
  .studio-theme .card-body.p-5 { padding: 28px 24px !important; }
  .studio-theme #company-name .studio-logo { float: none; display: block; margin: 0 auto 12px; }
  .studio-theme #book-appointment-wizard { border-radius: 0; }
  .studio-theme #book-appointment-wizard #company-name { text-align: center !important; }
}
@media (prefers-reduced-motion: reduce) {
  .studio-theme * { transition: none !important; scroll-behavior: auto !important; }
}

.studio-theme .studio-logo-wide { width: 224px; max-width: 100%; height: auto; border-radius: 0; }
/* Upstream default theme paints primary buttons with a gradient only. */
.studio-theme .btn-primary { background-color: var(--studio-accent); color: #fff; border-color: var(--studio-accent); }
.studio-theme .btn-primary:hover, .studio-theme .btn-primary:focus-visible { background-color: var(--studio-hover); border-color: var(--studio-hover); color: #fff; }
.studio-theme .btn-primary:active { background-color: #633f3b; border-color: #633f3b; }

.studio-theme #book-appointment-wizard .button-next {
  background: #91645f; border-color: #91645f; color: white;
}
.studio-theme #book-appointment-wizard .button-next:hover { background: #744b47; border-color: #744b47; }
.studio-theme #book-appointment-wizard #steps { width: 230px !important; flex-shrink: 0; }
.studio-theme #book-appointment-wizard .book-step { width: 44px !important; height: 44px !important; margin-top: 0 !important; padding: 10px !important; }
.studio-theme #frame-footer .backend-link { min-height: 44px; min-width: 44px; display: inline-flex !important; align-items: center; justify-content: center; font-size: 12px; }
.studio-theme #frame-footer #select-language { background: #fffdfb !important; color: #493b3b !important; border: 1px solid #d9cbc4; border-radius: 9px; }
.studio-theme #book-appointment-wizard #header #steps .book-step,
.studio-theme #book-appointment-wizard #header #steps .book-step:not(.active-step) {
  width: 44px !important; height: 44px !important; margin-top: 0 !important; padding: 10px !important;
}
.studio-theme #book-appointment-wizard #header #steps .book-step.active-step { padding: 7px !important; }
.studio-theme #book-appointment-wizard #available-hours .available-hour { min-height: 44px; min-width: 64px; display: inline-flex; align-items: center; justify-content: center; }
.studio-theme #login-form .text-center > a { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
