/* Auralis.Theme.Default — Midnight & Paper
   Midnight architecture, paper working surfaces, restrained gold,
   frosted glass on chrome and overlays only.
   Consumes Foundation semantic tokens. No Launchpad restyle. */

/* Shell: navy frame, paper/ink work */
html[data-auralis-theme="default"],
html[data-auralis-theme="default"] body,
[data-auralis-theme="default"].auralis-theme,
[data-auralis-theme="default"] .auralis-theme {
  background: var(--auralis-surface-page);
  color: var(--auralis-text-primary);
}

[data-auralis-theme="default"] .auralis-canvas {
  background: var(--auralis-surface-page);
}

[data-auralis-theme="default"] .auralis-header {
  background: var(--auralis-surface-chrome);
  border-bottom: 1px solid var(--auralis-shell-edge);
  box-shadow: var(--auralis-shell-shadow-header);
}

[data-auralis-theme="default"] .auralis-header .navbar-brand,
[data-auralis-theme="default"] .auralis-header .app-logo,
[data-auralis-theme="default"] .auralis-brand-link {
  font-family: var(--auralis-font-display);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--auralis-text-on-chrome);
}

[data-auralis-theme="default"] .auralis-brand-link {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding-block: 0;
  text-decoration: none;
}

[data-auralis-theme="default"] .auralis-brand-mark {
  width: 1.35rem;
  height: 1.35rem;
  display: block;
}

[data-auralis-theme="default"] .auralis-brand-word {
  font-size: 1.05rem;
  letter-spacing: 0.04em;
}

[data-auralis-theme="default"] .auralis-header .app-menu .nav-item a,
[data-auralis-theme="default"] .auralis-header .navbar-nav .nav-link {
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.75rem;
}

[data-auralis-theme="default"] .auralis-header .app-menu .nav-item a.active,
[data-auralis-theme="default"] .auralis-header .navbar-nav .nav-link.active {
  background: transparent;
  color: var(--auralis-accent);
  box-shadow: inset 0 -2px 0 var(--auralis-accent);
}

[data-auralis-theme="default"] .auralis-header .btn,
[data-auralis-theme="default"] .auralis-header .app-editmode,
[data-auralis-theme="default"] .auralis-header .app-profile,
[data-auralis-theme="default"] .auralis-header .app-login,
[data-auralis-theme="default"] .auralis-header .app-search input {
  border-color: color-mix(in srgb, var(--auralis-text-on-chrome) 22%, transparent);
  color: var(--auralis-text-on-chrome);
  background: color-mix(in srgb, var(--auralis-text-on-chrome) 6%, transparent);
}

[data-auralis-theme="default"] .auralis-header .app-editmode.active {
  background: var(--auralis-edit);
  border-color: var(--auralis-edit);
  color: var(--auralis-accent-contrast);
}

[data-auralis-theme="default"] .auralis-footer {
  display: flex;
  align-items: center;
  min-height: 38px;
  padding: 0 1.25rem;
  background: var(--auralis-surface-chrome);
  border-top: 1px solid color-mix(in srgb, var(--auralis-accent) 28%, var(--auralis-shell-edge));
  color: var(--auralis-text-on-chrome);
  box-shadow: var(--auralis-shell-shadow-footer);
}

[data-auralis-theme="default"] .auralis-footer-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  font-size: 0.75rem;
  letter-spacing: 0.02em;
  color: var(--auralis-text-on-chrome);
}

[data-auralis-theme="default"] .auralis-footer-product {
  white-space: nowrap;
}

[data-auralis-theme="default"] h1,
[data-auralis-theme="default"] h2,
[data-auralis-theme="default"] .auralis-container-title h2 {
  font-family: var(--auralis-font-display);
}

/* Buttons — semantic classes, hierarchy first, colour second.
   Gold = primary action. Navy glass = ordinary. Outline = secondary.
   Oxblood = destructive. Bootstrap blue/green/red are gone. */
[data-auralis-theme="default"] .btn {
  --bs-btn-font-weight: 500;
  border-radius: 0.2rem;
  box-shadow: none;
  font-weight: 500;
  padding: 0.35rem 0.85rem;
  transition: background-color var(--auralis-duration) var(--auralis-ease),
    border-color var(--auralis-duration) var(--auralis-ease),
    color var(--auralis-duration) var(--auralis-ease);
}

[data-auralis-theme="default"] .btn-primary,
[data-auralis-theme="default"] .btn-success,
[data-auralis-theme="default"] .btn-info,
[data-auralis-theme="default"] .btn-warning {
  --bs-btn-color: var(--auralis-accent-contrast);
  --bs-btn-bg: var(--auralis-accent);
  --bs-btn-border-color: var(--auralis-accent);
  --bs-btn-hover-color: var(--auralis-accent-contrast);
  --bs-btn-hover-bg: color-mix(in srgb, var(--auralis-accent) 82%, #0b1f33);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--auralis-accent) 82%, #0b1f33);
  --bs-btn-active-color: var(--auralis-accent-contrast);
  --bs-btn-active-bg: color-mix(in srgb, var(--auralis-accent) 82%, #0b1f33);
  --bs-btn-active-border-color: color-mix(in srgb, var(--auralis-accent) 82%, #0b1f33);
  background: var(--auralis-accent);
  border-color: var(--auralis-accent);
  color: var(--auralis-accent-contrast);
}

[data-auralis-theme="default"] .btn-primary:hover,
[data-auralis-theme="default"] .btn-success:hover,
[data-auralis-theme="default"] .btn-info:hover,
[data-auralis-theme="default"] .btn-warning:hover,
[data-auralis-theme="default"] .btn-primary:focus,
[data-auralis-theme="default"] .btn-success:focus,
[data-auralis-theme="default"] .btn-info:focus,
[data-auralis-theme="default"] .btn-warning:focus {
  background: color-mix(in srgb, var(--auralis-accent) 82%, #0b1f33);
  border-color: color-mix(in srgb, var(--auralis-accent) 82%, #0b1f33);
  color: var(--auralis-accent-contrast);
}

[data-auralis-theme="default"] .btn-secondary {
  --bs-btn-color: var(--auralis-text-on-chrome);
  --bs-btn-bg: color-mix(in srgb, var(--auralis-surface-chrome) 82%, transparent);
  --bs-btn-border-color: color-mix(in srgb, var(--auralis-text-on-chrome) 22%, transparent);
  --bs-btn-hover-color: var(--auralis-text-on-chrome);
  --bs-btn-hover-bg: color-mix(in srgb, var(--auralis-surface-chrome) 88%, var(--auralis-accent));
  --bs-btn-hover-border-color: var(--auralis-accent);
  background: color-mix(in srgb, var(--auralis-surface-chrome) 82%, transparent);
  border: 1px solid color-mix(in srgb, var(--auralis-text-on-chrome) 22%, transparent);
  color: var(--auralis-text-on-chrome);
}

[data-auralis-theme="default"] .btn-secondary:hover,
[data-auralis-theme="default"] .btn-secondary:focus {
  background: color-mix(in srgb, var(--auralis-surface-chrome) 88%, var(--auralis-accent));
  border-color: var(--auralis-accent);
  color: var(--auralis-text-on-chrome);
}

[data-auralis-theme="default"] .btn-outline-secondary,
[data-auralis-theme="default"] .btn-outline-primary,
[data-auralis-theme="default"] .btn-outline-light,
[data-auralis-theme="default"] .btn-light {
  --bs-btn-color: var(--auralis-text-primary);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--auralis-surface-chrome);
  background: transparent;
  border: 1px solid var(--auralis-surface-chrome);
  color: var(--auralis-text-primary);
}

[data-auralis-theme="default"] .btn-outline-secondary:hover,
[data-auralis-theme="default"] .btn-outline-primary:hover,
[data-auralis-theme="default"] .btn-outline-light:hover,
[data-auralis-theme="default"] .btn-light:hover {
  background: color-mix(in srgb, var(--auralis-accent) 12%, transparent);
  border-color: var(--auralis-surface-chrome);
  color: var(--auralis-text-primary);
}

[data-auralis-theme="default"] .btn-danger,
[data-auralis-theme="default"] .btn-outline-danger {
  --bs-btn-color: var(--auralis-danger-ink);
  --bs-btn-bg: var(--auralis-danger);
  --bs-btn-border-color: var(--auralis-danger);
  --bs-btn-hover-color: var(--auralis-danger-ink);
  --bs-btn-hover-bg: color-mix(in srgb, var(--auralis-danger) 82%, #0b1f33);
  background: var(--auralis-danger);
  border-color: var(--auralis-danger);
  color: var(--auralis-danger-ink);
}

[data-auralis-theme="default"] .btn:disabled,
[data-auralis-theme="default"] .btn.disabled {
  background: var(--auralis-disabled-fill);
  border-color: var(--auralis-disabled-fill);
  color: var(--auralis-disabled-ink);
  box-shadow: none;
}

/* Header chrome stays on-navy; do not inherit paper/gold fills. */
[data-auralis-theme="default"] .auralis-header .btn,
[data-auralis-theme="default"] .auralis-header .btn-primary,
[data-auralis-theme="default"] .auralis-header .btn-secondary,
[data-auralis-theme="default"] .auralis-header .btn-outline-secondary,
[data-auralis-theme="default"] .auralis-header .btn-outline-light {
  --bs-btn-color: var(--auralis-text-on-chrome);
  --bs-btn-bg: color-mix(in srgb, var(--auralis-text-on-chrome) 6%, transparent);
  --bs-btn-border-color: color-mix(in srgb, var(--auralis-text-on-chrome) 22%, transparent);
  background: color-mix(in srgb, var(--auralis-text-on-chrome) 6%, transparent);
  border-color: color-mix(in srgb, var(--auralis-text-on-chrome) 22%, transparent);
  color: var(--auralis-text-on-chrome);
}

/* Navigation primary that dismisses a blade is navy-glass with a gold edge. */
#offcanvasControlPanel .btn-primary[data-bs-dismiss="offcanvas"] {
  --bs-btn-color: var(--auralis-text-on-chrome);
  --bs-btn-bg: color-mix(in srgb, var(--auralis-surface-chrome) 82%, transparent);
  --bs-btn-border-color: var(--auralis-accent);
  background: color-mix(in srgb, var(--auralis-surface-chrome) 82%, transparent);
  border-color: var(--auralis-accent);
  color: var(--auralis-text-on-chrome);
}

[data-auralis-theme="default"] .form-control,
[data-auralis-theme="default"] .form-select,
[data-auralis-theme="default"] .form-control:file-selector-button {
  background: var(--auralis-surface-raised);
  color: var(--auralis-text-primary);
  border: 1px solid var(--auralis-border-subtle);
  border-radius: var(--auralis-radius-md);
}

[data-auralis-theme="default"] .form-control:focus,
[data-auralis-theme="default"] .form-select:focus {
  border-color: var(--auralis-focus);
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--auralis-focus) 22%, transparent);
}

[data-auralis-theme="default"] .form-control:disabled,
[data-auralis-theme="default"] .form-select:disabled {
  color: var(--auralis-text-disabled);
  background: var(--auralis-surface-sunken);
}

#offcanvasControlPanel .form-control,
#offcanvasControlPanel .form-select,
[data-auralis-theme="default"] .offcanvas .form-control,
[data-auralis-theme="default"] .offcanvas .form-select {
  background: color-mix(in srgb, var(--auralis-surface-chrome) 78%, transparent);
  color: var(--auralis-text-on-chrome);
  border: 1px solid color-mix(in srgb, var(--auralis-text-on-chrome) 18%, transparent);
}

#offcanvasControlPanel .form-control:focus,
#offcanvasControlPanel .form-select:focus,
[data-auralis-theme="default"] .offcanvas .form-control:focus,
[data-auralis-theme="default"] .offcanvas .form-select:focus {
  border-color: var(--auralis-accent);
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--auralis-accent) 28%, transparent);
  color: var(--auralis-text-on-chrome);
}

#offcanvasControlPanel .form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23f3eee4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

/* Cards / modules — opaque paper, not a glass showroom */
[data-auralis-theme="default"] .auralis-container-card,
[data-auralis-theme="default"] .card,
[data-auralis-theme="default"] .list-group-item {
  background: var(--auralis-surface-panel);
  border-color: var(--auralis-border-subtle);
  color: var(--auralis-text-primary);
}

[data-auralis-theme="default"] .card {
  box-shadow: var(--auralis-elevation-1);
}

[data-auralis-theme="default"] .auralis-container-title h2 {
  font-size: 1.35rem;
}

/* Tables */
[data-auralis-theme="default"] .table {
  color: var(--auralis-text-primary);
  border-color: var(--auralis-border-subtle);
  --bs-table-bg: var(--auralis-surface-panel);
  --bs-table-color: var(--auralis-text-primary);
  --bs-table-striped-bg: var(--auralis-surface-sunken);
  --bs-table-hover-bg: color-mix(in srgb, var(--auralis-accent) 7%, var(--auralis-surface-panel));
}

[data-auralis-theme="default"] .table thead th {
  background: var(--auralis-surface-sunken);
  color: var(--auralis-text-secondary);
  font-size: var(--auralis-size-small);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 600;
  border-bottom: 1px solid var(--auralis-border-strong);
}

/* Overlays preserve context — veil the workspace, do not erase it */
[data-auralis-theme="default"] .modal-backdrop,
[data-auralis-theme="default"] .offcanvas-backdrop,
.modal-backdrop,
.offcanvas-backdrop,
.modal-backdrop.show,
.offcanvas-backdrop.show {
  background: var(--auralis-glass-veil);
  backdrop-filter: blur(var(--auralis-blur-veil));
  -webkit-backdrop-filter: blur(var(--auralis-blur-veil));
  opacity: 1;
}

/* Blade, menus, toasts stay opaque and sharp. */
[data-auralis-theme="default"] .dropdown-menu,
[data-auralis-theme="default"] .app-moduleactions .dropdown-menu,
[data-auralis-theme="default"] .offcanvas,
[data-auralis-theme="default"] #offcanvasControlPanel.offcanvas,
[data-auralis-theme="default"] .popover,
[data-auralis-theme="default"] .toast {
  background: var(--auralis-surface-panel);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: var(--auralis-text-primary);
  border: 1px solid var(--auralis-border-subtle);
  box-shadow: var(--auralis-elevation-2);
}

/* Modal glass frosts what is behind the surface, not the modal tree. */
[data-auralis-theme="default"] .modal-content,
[data-auralis-theme="default"] .app-admin-modal .modal-content,
[data-auralis-theme="default"] .app-actiondialog .modal-content {
  background: var(--auralis-glass-modal);
  backdrop-filter: blur(var(--auralis-blur-modal));
  -webkit-backdrop-filter: blur(var(--auralis-blur-modal));
  filter: none;
  color: var(--auralis-text-primary);
  border: 1px solid var(--auralis-glass-modal-border);
  box-shadow: var(--auralis-glass-modal-shadow);
}

[data-auralis-theme="default"] .modal-body,
[data-auralis-theme="default"] .offcanvas-body,
[data-auralis-theme="default"] #offcanvasControlPanel .offcanvas-body {
  color: var(--auralis-text-primary);
  background: transparent;
}

[data-auralis-theme="default"] .modal-body,
[data-auralis-theme="default"] .offcanvas-body,
[data-auralis-theme="default"] .modal-body .form-label,
[data-auralis-theme="default"] .offcanvas-body .form-label,
[data-auralis-theme="default"] .modal-body .text-muted,
[data-auralis-theme="default"] .offcanvas-body .text-muted {
  color: var(--auralis-text-primary);
}

[data-auralis-theme="default"] .modal-body .text-muted,
[data-auralis-theme="default"] .offcanvas-body .text-muted {
  color: var(--auralis-text-secondary) !important;
}

[data-auralis-theme="default"] .auralis-header .dropdown-menu {
  background: var(--auralis-surface-chrome);
  color: var(--auralis-text-on-chrome);
  border-color: var(--auralis-glass-border);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

[data-auralis-theme="default"] .auralis-header .dropdown-menu .dropdown-item,
[data-auralis-theme="default"] .auralis-header .dropdown-menu .dropdown-item-text {
  color: var(--auralis-text-on-chrome);
}

[data-auralis-theme="default"] .auralis-header .dropdown-menu .dropdown-item:hover,
[data-auralis-theme="default"] .auralis-header .dropdown-menu .dropdown-item:focus {
  background: color-mix(in srgb, var(--auralis-text-on-chrome) 10%, transparent);
  color: var(--auralis-text-on-chrome);
}

[data-auralis-theme="default"] .auralis-header .dropdown-menu .dropdown-item.active {
  background: transparent;
  color: var(--auralis-accent);
}

[data-auralis-theme="default"] .dropdown-item {
  color: var(--auralis-text-primary);
}

[data-auralis-theme="default"] .dropdown-item:hover,
[data-auralis-theme="default"] .dropdown-item:focus {
  background: color-mix(in srgb, var(--auralis-accent) 10%, var(--auralis-surface-panel));
  color: var(--auralis-text-primary);
}

[data-auralis-theme="default"] .dropdown-item.active,
[data-auralis-theme="default"] .dropdown-item:active {
  background: transparent;
  color: var(--auralis-accent);
}

[data-auralis-theme="default"] .modal-header {
  background: var(--auralis-glass-modal-header);
  color: var(--auralis-text-on-chrome);
  border-bottom: 1px solid var(--auralis-glass-border);
}

[data-auralis-theme="default"] .offcanvas-header,
[data-auralis-theme="default"] #offcanvasControlPanel .offcanvas-header {
  background: var(--auralis-glass-chrome);
  color: var(--auralis-text-on-chrome);
  border-bottom: 1px solid var(--auralis-glass-border);
}

/* Overlay close — paper ivory on navy, gold hover. No opacity/filter greying. */
[data-auralis-theme="default"] .modal-header .btn-close,
[data-auralis-theme="default"] .offcanvas-header .btn-close,
[data-auralis-theme="default"] #offcanvasControlPanel .btn-close,
#offcanvasControlPanel .btn-close {
  --bs-btn-close-opacity: 1;
  --bs-btn-close-hover-opacity: 1;
  --bs-btn-close-focus-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--auralis-accent) 35%, transparent);
  --bs-btn-close-bg: none;
  opacity: 1;
  filter: none;
  background-color: var(--auralis-text-on-chrome);
  background-image: none;
  -webkit-mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707A1 1 0 0 1 .293.293z'/%3e%3c/svg%3e") center / 1em no-repeat;
  mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707A1 1 0 0 1 .293.293z'/%3e%3c/svg%3e") center / 1em no-repeat;
}

[data-auralis-theme="default"] .modal-header .btn-close:hover,
[data-auralis-theme="default"] .offcanvas-header .btn-close:hover,
[data-auralis-theme="default"] #offcanvasControlPanel .btn-close:hover,
#offcanvasControlPanel .btn-close:hover {
  opacity: 1;
  filter: none;
  background-color: var(--auralis-accent);
}

[data-auralis-theme="default"] .modal-header .btn-close:focus,
[data-auralis-theme="default"] .offcanvas-header .btn-close:focus,
[data-auralis-theme="default"] #offcanvasControlPanel .btn-close:focus,
#offcanvasControlPanel .btn-close:focus {
  opacity: 1;
  filter: none;
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--auralis-accent) 35%, transparent);
}

[data-auralis-theme="default"] .modal-footer,
[data-auralis-theme="default"] .offcanvas-footer {
  border-top: 1px solid var(--auralis-border-subtle);
  background: transparent;
}

[data-auralis-theme="default"] .nav-tabs .nav-link {
  color: var(--auralis-text-secondary);
  border-color: transparent;
}

[data-auralis-theme="default"] .nav-tabs .nav-link.active {
  color: var(--auralis-accent);
  background: var(--auralis-surface-panel);
  border-color: var(--auralis-border-subtle) var(--auralis-border-subtle) var(--auralis-surface-panel);
  box-shadow: inset 0 -2px 0 var(--auralis-accent);
}

/* Admin / edit — keep Oqtane operable; gold is emphasis only */
[data-auralis-theme="default"][data-auralis-edit="true"] .auralis-canvas {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--auralis-edit) 40%, transparent);
}

[data-auralis-theme="default"][data-auralis-edit="true"] .app-pane-admin-border {
  border-color: var(--auralis-edit);
}

[data-auralis-theme="default"] .app-moduleactions .dropdown-toggle {
  color: var(--auralis-text-primary);
}

/* Focus / accessibility — gold punctuation */
[data-auralis-theme="default"] a:focus-visible,
[data-auralis-theme="default"] button:focus-visible,
[data-auralis-theme="default"] .nav-link:focus-visible,
[data-auralis-theme="default"] .btn:focus-visible,
[data-auralis-theme="default"] .app-editmode:focus-visible {
  outline: 2px solid var(--auralis-focus);
  outline-offset: 2px;
}

/* Responsive */
@media (max-width: 767.98px) {
  [data-auralis-theme="default"] .auralis-header .app-menu .nav-item a,
  [data-auralis-theme="default"] .auralis-header .navbar-nav .nav-link {
    text-transform: none;
    letter-spacing: 0;
    font-size: var(--auralis-size-small);
  }
}
