/* RM Artist brand layer — loaded after the original Bootstrap theme. */
:root,
[data-bs-theme="light"] {
  --color-primary: #fa999d;
  --color-primary-hover: #e77f85;
  --color-primary-active: #d96f76;
  --color-primary-light: #fff1f2;
  --color-primary-subtle: #fde1e3;
  --color-heading: #211d1e;
  --color-text: #3f383a;
  --color-text-muted: #74696b;
  --color-background: #ffffff;
  --color-background-soft: #fff8f8;
  --color-surface: #ffffff;
  --color-border: #eeddde;
  --color-focus: rgba(217, 111, 118, 0.34);

  --fc-blue: var(--color-primary);
  --fc-primary: var(--color-primary);
  --fc-primary-rgb: 250, 153, 157;
  --fc-light-primary: var(--color-primary-subtle);
  --fc-light-primary-rgb: 253, 225, 227;
  --fc-dark-primary: #8d3f45;
  --fc-dark-primary-rgb: 141, 63, 69;
  --fc-primary-text-emphasis: #7c373d;
  --fc-primary-bg-subtle: var(--color-primary-light);
  --fc-primary-border-subtle: #f4bec1;
  --fc-body-color: var(--color-text);
  --fc-body-color-rgb: 63, 56, 58;
  --fc-body-bg: var(--color-background);
  --fc-heading-color: var(--color-heading);
  --fc-link-color: var(--color-primary-active);
  --fc-link-color-rgb: 217, 111, 118;
  --fc-link-hover-color: #bd565e;
  --fc-link-hover-color-rgb: 189, 86, 94;
  --fc-secondary-color: rgba(63, 56, 58, 0.75);
  --fc-secondary-color-rgb: 63, 56, 58;
  --fc-secondary-bg: #fff1f2;
  --fc-secondary-bg-rgb: 255, 241, 242;
  --fc-tertiary-bg: var(--color-background-soft);
  --fc-tertiary-bg-rgb: 255, 248, 248;
  --fc-border-color: var(--color-border);
  --fc-border-color-translucent: rgba(238, 221, 222, 0.75);
  --fc-focus-ring-color: var(--color-focus);
  --fc-light: var(--color-background-soft);
  --fc-light-rgb: 255, 248, 248;
  --fc-dark: var(--color-heading);
  --fc-dark-rgb: 33, 29, 30;
  --fc-gray-100: #fff8f8;
  --fc-gray-200: #fff1f2;
  --fc-gray-300: #eeddde;
  --fc-gray-400: #d9c7c9;
  --fc-gray-500: #988b8d;
  --fc-gray-600: var(--color-text-muted);
  --fc-gray-700: #5b5153;
  --fc-gray-800: var(--color-text);
  --fc-gray-900: var(--color-heading);
}

[data-bs-theme="dark"] {
  --color-background: #211d1e;
  --color-background-soft: #2c2628;
  --color-surface: #342d2f;
  --color-border: #57494c;
  --color-heading: #fff7f7;
  --color-text: #f2e5e7;
  --color-text-muted: #cebfc2;
  --fc-primary: #ffabb0;
  --fc-primary-rgb: 255, 171, 176;
  --fc-body-bg: var(--color-background);
  --fc-body-bg-rgb: 33, 29, 30;
  --fc-body-color: var(--color-text);
  --fc-heading-color: var(--color-heading);
  --fc-secondary-bg: var(--color-surface);
  --fc-tertiary-bg: var(--color-background-soft);
  --fc-border-color: var(--color-border);
  --fc-link-color: #ffb9bd;
  --fc-link-hover-color: #ffd0d3;
  --fc-primary-text-emphasis: #ffc4c8;
  --fc-primary-bg-subtle: #4c2e31;
  --fc-primary-border-subtle: #8d555a;
}

html,
body {
  overflow-x: hidden;
}

body {
  background-color: var(--color-background);
  color: var(--color-text);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  color: var(--color-heading);
}

.navbar-brand img,
a[href$="index.html"] > img[src*="logo/rm-artist-logo"] {
  width: auto;
  height: 56px;
  max-width: 132px;
  object-fit: contain;
  border-radius: 0.4rem;
}

.navbar-vertical .navbar-brand img,
.docs-nav-sidebar .navbar-brand img {
  height: 64px;
  background: #fff;
  padding: 0.2rem;
}

.btn-primary {
  --fc-btn-color: #211d1e;
  --fc-btn-bg: var(--color-primary);
  --fc-btn-border-color: var(--color-primary);
  --fc-btn-hover-color: #211d1e;
  --fc-btn-hover-bg: var(--color-primary-hover);
  --fc-btn-hover-border-color: var(--color-primary-hover);
  --fc-btn-focus-shadow-rgb: 217, 111, 118;
  --fc-btn-active-color: #211d1e;
  --fc-btn-active-bg: var(--color-primary-active);
  --fc-btn-active-border-color: var(--color-primary-active);
  --fc-btn-disabled-color: #5b5153;
  --fc-btn-disabled-bg: #f4bec1;
  --fc-btn-disabled-border-color: #f4bec1;
}

.btn-outline-primary {
  --fc-btn-color: #a44850;
  --fc-btn-border-color: var(--color-primary-active);
  --fc-btn-hover-color: #211d1e;
  --fc-btn-hover-bg: var(--color-primary);
  --fc-btn-hover-border-color: var(--color-primary);
  --fc-btn-active-color: #fff;
  --fc-btn-active-bg: var(--color-primary-active);
  --fc-btn-active-border-color: var(--color-primary-active);
  --fc-btn-focus-shadow-rgb: 217, 111, 118;
}

.bg-primary,
.dropdown-item.active,
.dropdown-item:active,
.list-group-item.active,
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link,
.page-item.active .page-link,
.progress-bar:not(.bg-success):not(.bg-danger):not(.bg-warning):not(.bg-info) {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary-active) !important;
  color: #211d1e !important;
}

.bg-light-primary {
  background-color: var(--color-primary-light) !important;
}

.text-primary {
  color: var(--color-primary-active) !important;
}

/* Brand-colored navigation counters; success badges remain semantic green. */
.rm-header-counter {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: var(--fc-white) !important;
  transition: background-color 0.16s ease, border-color 0.16s ease;
}

a:hover .rm-header-counter,
button:hover .rm-header-counter,
a:focus-visible .rm-header-counter,
button:focus-visible .rm-header-counter {
  background-color: var(--color-primary-hover) !important;
  border-color: var(--color-primary-hover) !important;
  color: var(--fc-white) !important;
}

a:active .rm-header-counter,
button:active .rm-header-counter {
  background-color: var(--color-primary-active) !important;
  border-color: var(--color-primary-active) !important;
  color: var(--fc-white) !important;
}

/* Trash/remove controls are brand actions, not semantic success states. */
.rm-remove-icon,
.feather-icon.icon-trash-2 {
  color: var(--color-primary) !important;
  transition: color 0.16s ease;
}

a:hover .rm-remove-icon,
button:hover .rm-remove-icon,
a:hover .feather-icon.icon-trash-2,
button:hover .feather-icon.icon-trash-2,
a:focus-visible .rm-remove-icon,
button:focus-visible .rm-remove-icon,
a:focus-visible .feather-icon.icon-trash-2,
button:focus-visible .feather-icon.icon-trash-2 {
  color: var(--color-primary-hover) !important;
}

a:active .rm-remove-icon,
button:active .rm-remove-icon,
a:active .feather-icon.icon-trash-2,
button:active .feather-icon.icon-trash-2 {
  color: var(--color-primary-active) !important;
}

.breadcrumb-item a {
  color: var(--color-primary) !important;
  transition: color 0.16s ease;
}

.breadcrumb-item a:hover,
.breadcrumb-item a:focus-visible {
  color: var(--color-primary-hover) !important;
}

.breadcrumb-item a:active {
  color: var(--color-primary-active) !important;
}

.border-primary {
  border-color: var(--color-primary) !important;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus,
.btn:focus-visible,
.nav-link:focus-visible,
a:focus-visible {
  border-color: var(--color-primary-active);
  box-shadow: 0 0 0 0.25rem var(--color-focus);
  outline: 2px solid transparent;
}

.form-check-input:checked {
  background-color: var(--color-primary-active);
  border-color: var(--color-primary-active);
}

.form-switch .form-check-input:focus {
  border-color: var(--color-primary-active);
}

.nav-link:hover,
.nav-link:focus,
.navbar .nav-link.active,
.navbar .show > .nav-link,
.navbar-vertical .navbar-nav .nav-link.active,
.navbar-vertical .navbar-nav .nav-link:hover,
.page-link:hover {
  color: var(--color-primary-active) !important;
}

/* Support both Bootstrap pagination active-markup patterns used by the site. */
.pagination .page-link {
  background-color: var(--color-surface);
  border-color: var(--color-border);
  color: var(--color-text-muted);
  transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.pagination .page-link:hover,
.pagination .page-link:focus-visible {
  background-color: var(--color-primary-light);
  border-color: var(--color-primary-hover);
  color: var(--color-primary-active) !important;
}

.pagination .page-link:active {
  background-color: var(--color-primary-subtle);
  border-color: var(--color-primary-active);
  color: var(--color-primary-active) !important;
}

.pagination .page-link.active,
.pagination .page-item.active > .page-link {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: var(--fc-white) !important;
}

.pagination .page-link.active:hover,
.pagination .page-link.active:focus-visible,
.pagination .page-item.active > .page-link:hover,
.pagination .page-item.active > .page-link:focus-visible {
  background-color: var(--color-primary-hover) !important;
  border-color: var(--color-primary-hover) !important;
  color: var(--fc-white) !important;
}

.pagination .page-link.active:active,
.pagination .page-item.active > .page-link:active {
  background-color: var(--color-primary-active) !important;
  border-color: var(--color-primary-active) !important;
  color: var(--fc-white) !important;
}

.pagination .page-item.disabled > .page-link,
.pagination .page-link[aria-disabled="true"] {
  background-color: var(--color-background-soft);
  border-color: var(--color-border);
  color: var(--color-text-muted) !important;
  opacity: 0.65;
}

/* Listing view-mode controls are brand navigation, not success indicators. */
.rm-view-toggle {
  color: var(--color-text-muted) !important;
  transition: color 0.16s ease;
}

.rm-view-toggle:hover,
.rm-view-toggle:focus-visible {
  color: var(--color-primary-hover) !important;
}

.rm-view-toggle:active {
  color: var(--color-primary-active) !important;
}

.rm-view-toggle.active {
  color: var(--color-primary) !important;
}

.rm-view-toggle.active:hover,
.rm-view-toggle.active:focus-visible {
  color: var(--color-primary-hover) !important;
}

.rm-view-toggle.active:active {
  color: var(--color-primary-active) !important;
}

.card-product,
.card-product-v2,
.card-lift,
.dropdown-menu,
.modal-content,
.offcanvas,
.toast,
.accordion-item,
.table-responsive,
.navbar-glass {
  border-color: var(--color-border);
}

.card-product:hover,
.card-product-v2:hover,
.card-lift:hover {
  border-color: var(--color-primary);
  box-shadow: 0 0.5rem 1.5rem rgba(217, 111, 118, 0.14);
}

img[src*="/rm-artist/artwork-"] {
  background: var(--color-background-soft);
  object-fit: contain;
  object-position: center;
}

.card-product img[src*="/rm-artist/artwork-"],
.card-product-v2 img[src*="/rm-artist/artwork-"],
.product-content img[src*="/rm-artist/artwork-"] {
  width: 100%;
  aspect-ratio: 4 / 5;
  max-height: 22rem;
  object-fit: contain;
}

.card-body .mb-4 > img[src*="/rm-artist/artwork-"] {
  width: 5rem;
  height: 5rem;
  border-radius: 0.75rem;
  object-fit: cover;
}

.team-slider img[src*="/rm-artist/artwork-"] {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: contain;
}

.rm-dashboard-hero {
  background-color: var(--color-primary-light) !important;
  background-position: right center !important;
  background-repeat: no-repeat !important;
  background-size: min(44%, 32rem) auto !important;
  overflow: hidden;
}

.rm-dashboard-hero .card-body {
  background: linear-gradient(90deg, var(--color-primary-light) 0 48%, rgba(255, 241, 242, 0.86) 62%, transparent 82%);
}

@media (max-width: 767.98px) {
  .rm-dashboard-hero {
    background-size: auto 62% !important;
  }

  .rm-dashboard-hero .card-body {
    background: linear-gradient(180deg, var(--color-primary-light) 0 58%, rgba(255, 241, 242, 0.78) 78%, transparent 100%);
    min-height: 24rem;
  }
}

.rm-artist-hero {
  background-color: var(--color-primary-light) !important;
  background-position: right center !important;
  background-repeat: no-repeat !important;
  background-size: min(48%, 34rem) auto !important;
}

.rm-artist-hero > * {
  position: relative;
  z-index: 1;
}

.rm-artist-hero .text-white,
.rm-artist-hero.text-white {
  color: var(--color-heading) !important;
}

.rm-artist-hero::before {
  background: linear-gradient(90deg, var(--color-primary-light) 0 46%, rgba(255, 241, 242, 0.88) 58%, rgba(255, 241, 242, 0) 76%);
  border-radius: inherit;
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.rm-artist-hero {
  overflow: hidden;
  position: relative;
}

.badge.bg-success,
.text-success,
.alert-success,
.is-valid,
.was-validated :valid,
.form-check-input.is-valid,
.form-check-input:valid {
  /* Semantic success remains green. */
}

footer,
.footer,
.bg-light {
  --fc-bg-opacity: 1;
  background-color: rgba(255, 248, 248, var(--fc-bg-opacity)) !important;
}

[data-bs-theme="dark"] footer,
[data-bs-theme="dark"] .footer,
[data-bs-theme="dark"] .bg-light {
  background-color: var(--color-background-soft) !important;
}

@media (max-width: 991.98px) {
  .navbar-brand img,
  a[href$="index.html"] > img[src*="logo/rm-artist-logo"] {
    height: 44px;
    max-width: 104px;
  }

  .rm-artist-hero {
    background-position: bottom right !important;
    background-size: auto 58% !important;
  }

  .rm-artist-hero::before {
    background: linear-gradient(180deg, var(--color-primary-light) 0 52%, rgba(255, 241, 242, 0.92) 64%, rgba(255, 241, 242, 0.18) 100%);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
