/* KAPY site-wide bridge for legacy MudBlazor pages.
   This layer applies the validated dashboard V2 design direction without
   replacing every Mud component at once. */

html,
body {
  background: var(--kp-bg);
  color: var(--kp-fg);
  font-family: var(--kp-font-body);
}

.kp-site-shell.mud-layout {
  min-height: 100vh;
  background: var(--kp-bg);
  color: var(--kp-fg);
}

.kp-site-main.mud-main-content {
  min-height: 100vh;
  background: var(--kp-bg);
  padding: 28px 32px 48px;
}

.kp-site-main.is-landing {
  padding: 0;
}

.kp-site-appbar.mud-appbar {
  background: oklch(100% 0 0 / 0.92);
  color: var(--kp-fg);
  border-bottom: 1px solid var(--kp-border);
  box-shadow: none;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  position: sticky;
  top: 0;
  z-index: 1200;
}

.kp-appbar-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--kp-fg);
  font-family: var(--kp-font-display);
  font-size: var(--kp-text-lg);
  font-weight: 700;
  text-decoration: none;
}

.kp-appbar-section {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin-left: 2px;
  padding-left: 12px;
  border-left: 1px solid var(--kp-border);
  color: var(--kp-muted);
  font-family: var(--kp-font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: var(--kp-tracking-wider);
  text-transform: uppercase;
}

.kp-site-drawer.mud-drawer {
  background: var(--kp-surface);
  color: var(--kp-fg);
  border-right: 1px solid var(--kp-border);
  box-shadow: none;
  position: fixed !important;
  left: 0 !important;
  top: 49px !important;
  height: calc(100vh - 49px) !important;
}

body:has(.demo-banner) .kp-site-drawer.mud-drawer {
  top: 89px !important;
  height: calc(100vh - 89px) !important;
}

.kp-site-drawer .mud-drawer-content {
  background: var(--kp-surface);
  height: 100%;
  overflow: hidden;
}

.kp-site-nav.mud-navmenu {
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
  padding: 14px 10px 18px !important;
  font-family: var(--kp-font-body);
}

.kp-site-nav.mud-navmenu::-webkit-scrollbar {
  width: 8px;
}

.kp-site-nav.mud-navmenu::-webkit-scrollbar-track {
  background: transparent;
}

.kp-site-nav.mud-navmenu::-webkit-scrollbar-thumb {
  border: 2px solid var(--kp-surface);
  border-radius: 999px;
  background: var(--kp-border-strong);
}

.kp-side-brand {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: -14px -10px 14px;
  padding: 14px 18px 12px;
  border-bottom: 1px solid var(--kp-border);
  background: oklch(100% 0 0 / 0.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--kp-fg);
  text-decoration: none;
}

.kp-side-brand-sub {
  display: block;
  color: var(--kp-muted);
  font-size: var(--kp-text-xs);
}

.kp-site-nav .mud-nav-link {
  position: relative;
  min-height: 36px;
  margin: 2px 0 !important;
  padding: 8px 10px !important;
  border-radius: 7px !important;
  color: var(--kp-fg) !important;
  font-size: 13.5px;
  transition: background var(--kp-dur-fast), color var(--kp-dur-fast);
}

.kp-site-nav .mud-nav-link:hover {
  background: var(--kp-surface-2) !important;
  color: var(--kp-fg) !important;
}

.kp-site-nav .mud-nav-link.active,
.kp-site-nav .mud-nav-link.mud-nav-link-active {
  background: var(--kp-accent-soft) !important;
  color: var(--kp-accent) !important;
  font-weight: 600 !important;
  box-shadow: inset 3px 0 0 var(--kp-accent);
}

.kp-site-nav .mud-nav-link-icon {
  color: currentColor !important;
  font-size: 18px !important;
  margin-right: 10px !important;
}

.kp-site-nav .mud-nav-group > .mud-nav-link {
  color: var(--kp-muted) !important;
  font-family: var(--kp-font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: var(--kp-tracking-wider);
  text-transform: uppercase;
}

.kp-site-nav .mud-nav-group .mud-navmenu {
  padding: 2px 0 8px 10px !important;
}

.kp-site-nav .mud-divider {
  border-color: var(--kp-border);
}

.kp-subscription-panel {
  margin: 0 4px 10px;
  padding: 12px;
  border: 1px solid var(--kp-border);
  border-radius: var(--kp-r);
  background: var(--kp-surface-2);
}

.kp-subscription-panel .mud-typography-caption {
  color: var(--kp-soft) !important;
  font-family: var(--kp-font-mono);
  font-size: 10px;
  letter-spacing: var(--kp-tracking-wider);
}

.kp-subscription-label {
  color: var(--kp-soft);
  font-family: var(--kp-font-mono);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: var(--kp-tracking-wider);
  text-transform: uppercase;
}

.kp-plan-chip {
  width: fit-content;
  margin-top: 6px;
  padding: 3px 7px;
  border-radius: 5px;
  background: var(--kp-accent-soft);
  color: var(--kp-accent);
  font-family: var(--kp-font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: var(--kp-tracking-wide);
  text-transform: uppercase;
}

.kp-plan-upgrade {
  margin-top: 6px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--kp-accent);
  font-size: var(--kp-text-sm);
  font-weight: 650;
  text-decoration: none;
}

.kp-plan-upgrade svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
}

.kp-site-shell .mud-paper,
.kp-site-shell .mud-card,
.kp-site-shell .mud-expansion-panels,
.kp-site-shell .mud-expansion-panel {
  border: 1px solid var(--kp-border);
  border-radius: var(--kp-r) !important;
  background: var(--kp-surface) !important;
  color: var(--kp-fg) !important;
  box-shadow: var(--kp-shadow-sm) !important;
}

.kp-site-shell .mud-paper .mud-typography,
.kp-site-shell .mud-card .mud-typography,
.kp-site-shell .mud-expansion-panel .mud-typography,
.kp-site-shell .mud-list-item-text,
.kp-site-shell .mud-input,
.kp-site-shell .mud-select,
.kp-site-shell .mud-table,
.kp-site-shell .mud-table-cell,
.kp-site-shell .mud-table-row {
  color: var(--kp-fg) !important;
}

.kp-site-shell .mud-text-secondary,
.kp-site-shell .mud-typography-body2,
.kp-site-shell .mud-typography-caption,
.kp-site-shell .mud-typography-subtitle2,
.kp-site-shell .mud-input-control > .mud-input-control-input-container > .mud-input-label-inputcontrol {
  color: var(--kp-muted) !important;
}

.kp-site-shell .mud-button-root {
  border-radius: var(--kp-r-sm);
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}

.kp-site-shell .mud-button-filled-primary {
  background: var(--kp-accent) !important;
  color: white !important;
  box-shadow: none !important;
}

.kp-site-shell .mud-button-outlined-primary {
  border-color: var(--kp-border-strong) !important;
  color: var(--kp-accent) !important;
  background: var(--kp-surface) !important;
}

.kp-site-shell .mud-chip {
  border-radius: var(--kp-r-sm) !important;
  font-weight: 650;
}

.kp-site-shell .mud-input-outlined-border {
  border-color: var(--kp-border) !important;
}

.kp-site-shell .mud-table-container {
  border: 1px solid var(--kp-border);
  border-radius: var(--kp-r) !important;
  background: var(--kp-surface) !important;
  box-shadow: var(--kp-shadow-sm);
}

.kp-site-shell .mud-table-head,
.kp-site-shell .mud-table-head .mud-table-cell {
  background: var(--kp-surface-2) !important;
  color: var(--kp-soft) !important;
  font-family: var(--kp-font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: var(--kp-tracking-wider);
  text-transform: uppercase;
}

.kp-site-shell .mud-table-cell {
  border-color: var(--kp-border) !important;
}

.kp-site-shell .mud-table-row:hover {
  background: var(--kp-surface-2) !important;
}

.kp-site-shell .mud-chart text {
  fill: var(--kp-muted) !important;
}

.kp-site-shell .mud-chart .mud-chart-axis {
  stroke: var(--kp-border-strong) !important;
}

.kp-site-shell .mud-list {
  background: transparent !important;
}

.kp-site-shell .mud-list-item:hover,
.kp-site-shell .selected-history-item {
  background: var(--kp-accent-soft) !important;
}

.kp-site-shell .mud-alert-outlined-info,
.kp-site-shell .mud-alert-outlined-warning {
  border-color: var(--kp-border-strong) !important;
  background: var(--kp-surface-2) !important;
}

.kp-site-shell .text-danger,
.kp-site-shell .text-error {
  color: var(--kp-neg) !important;
}

.kp-site-shell .text-success {
  color: var(--kp-pos) !important;
}

.kp-site-shell .text-warning {
  color: var(--kp-warn) !important;
}

.demo-banner {
  background: var(--kp-warn-soft) !important;
  color: oklch(35% 0.13 70) !important;
  border-bottom: 1px solid oklch(86% 0.08 80);
  box-shadow: none !important;
}

.feedback-fab-container .mud-fab {
  box-shadow: var(--kp-shadow-lg) !important;
}

.kp-page-shell {
  width: min(1240px, 100%);
  margin: 0 auto;
}

.kp-page-loading {
  padding: 22px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.kp-partners-catalog {
  padding: 18px;
}

.kp-partner-tabs {
  margin-bottom: 18px;
  flex-wrap: wrap;
}

.kp-partner-grid.is-catalog {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.kp-partner-card {
  display: grid;
  gap: 14px;
  min-width: 0;
  min-height: 220px;
  padding: 16px;
  border: 1px solid var(--kp-border);
  border-radius: var(--kp-r);
  background: var(--kp-surface);
  color: var(--kp-fg);
  text-decoration: none;
  transition: border-color var(--kp-dur-base), box-shadow var(--kp-dur-base), transform var(--kp-dur-base);
}

.kp-partner-card:hover {
  border-color: var(--kp-border-strong);
  box-shadow: var(--kp-shadow-md);
  transform: translateY(-1px);
}

.kp-partner-head {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.kp-partner-logo {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: var(--kp-accent);
  color: white;
  font-family: var(--kp-font-display);
  font-weight: 700;
}

.kp-partner-name {
  font-family: var(--kp-font-display);
  font-size: var(--kp-text-lg);
  font-weight: 650;
}

.kp-partner-tag {
  margin-top: 2px;
  color: var(--kp-soft);
  font-size: var(--kp-text-xs);
}

.kp-partner-card p {
  margin: 0;
  color: var(--kp-muted);
  font-size: var(--kp-text-sm);
  line-height: 1.5;
}

.kp-offer-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: end;
  padding: 8px 10px;
  border-radius: var(--kp-r-sm);
  background: var(--kp-pos-soft);
  color: var(--kp-pos);
  font-size: var(--kp-text-sm);
  font-weight: 650;
}

.kp-offer-dot {
  width: 8px;
  height: 8px;
  border-radius: 3px;
  background: var(--kp-pos);
  flex-shrink: 0;
}

.kp-partner-foot {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--kp-accent);
  font-size: var(--kp-text-sm);
  font-weight: 650;
}

.kp-partner-foot svg {
  width: 15px;
  height: 15px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

.kp-empty-card,
.kp-affiliate-note {
  padding: 16px;
  border: 1px solid var(--kp-border);
  border-radius: var(--kp-r);
  background: var(--kp-surface-2);
  color: var(--kp-muted);
}

.kp-affiliate-note {
  margin-top: 18px;
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-size: var(--kp-text-sm);
}

.kp-affiliate-note strong {
  color: var(--kp-fg);
}

.kp-mud-grid {
  margin: 0 !important;
}

.kp-card-title {
  margin: 0 0 16px;
  font-family: var(--kp-font-display);
  font-size: var(--kp-text-xl);
  font-weight: 650;
  letter-spacing: var(--kp-tracking-snug);
}

.kp-public-page {
  width: min(1120px, calc(100vw - 40px));
  margin: 0 auto;
  padding: 34px 0 56px;
}

.kp-public-page .kp-page-head {
  align-items: flex-start;
  gap: 24px;
}

.kp-public-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.kp-public-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.kp-public-grid.is-two {
  grid-template-columns: 1.3fr 0.7fr;
}

.kp-public-card {
  background: var(--kp-surface);
  border: 1px solid var(--kp-border);
  border-radius: var(--kp-r);
  padding: 18px;
}

.kp-public-card.is-accent {
  border-color: color-mix(in oklab, var(--kp-accent), var(--kp-border) 55%);
  background: color-mix(in oklab, var(--kp-accent-soft), var(--kp-surface) 55%);
}

.kp-public-card h2,
.kp-public-card h3 {
  margin: 0 0 10px;
  font-family: var(--kp-font-display);
  font-size: var(--kp-text-lg);
  font-weight: 650;
  letter-spacing: var(--kp-tracking-snug);
}

.kp-public-card p {
  margin: 0 0 12px;
  color: var(--kp-muted);
}

.kp-public-list {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.kp-public-list li {
  display: flex;
  gap: 8px;
  color: var(--kp-muted);
  font-size: var(--kp-text-sm);
}

.kp-public-list li::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-top: 7px;
  border-radius: 999px;
  background: var(--kp-pos);
  flex: 0 0 auto;
}

.kp-price-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

.kp-price-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  gap: 14px;
  background: var(--kp-surface);
  border: 1px solid var(--kp-border);
  border-radius: var(--kp-r);
  padding: 18px;
}

.kp-price-card.is-featured {
  border-color: var(--kp-accent);
  box-shadow: var(--kp-shadow-md);
}

.kp-price-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.kp-price-name {
  margin: 0;
  font-family: var(--kp-font-display);
  font-size: var(--kp-text-xl);
  font-weight: 700;
}

.kp-price-sub {
  color: var(--kp-muted);
  margin: 4px 0 0;
  font-size: var(--kp-text-sm);
}

.kp-price-value {
  font-family: var(--kp-font-display);
  font-size: 34px;
  font-weight: 700;
  letter-spacing: var(--kp-tracking-tight);
}

.kp-price-value span {
  color: var(--kp-muted);
  font-family: var(--kp-font-body);
  font-size: var(--kp-text-sm);
  font-weight: 500;
}

.kp-price-card .kp-btn {
  margin-top: auto;
  justify-content: center;
}

.kp-faq-list {
  display: grid;
  gap: 10px;
}

.kp-faq-item {
  background: var(--kp-surface);
  border: 1px solid var(--kp-border);
  border-radius: var(--kp-r);
  padding: 0;
}

.kp-faq-item summary {
  cursor: pointer;
  padding: 15px 16px;
  font-weight: 650;
  font-family: var(--kp-font-display);
}

.kp-faq-item p {
  margin: 0;
  padding: 0 16px 16px;
  color: var(--kp-muted);
}

.kp-legal-list {
  display: grid;
  gap: 12px;
}

.kp-legal-row {
  padding: 14px 0;
  border-top: 1px solid var(--kp-border);
}

.kp-legal-row:first-child {
  border-top: 0;
  padding-top: 0;
}

.kp-legal-row strong {
  display: block;
  margin-bottom: 4px;
  color: var(--kp-fg);
}

.kp-legal-row span {
  color: var(--kp-muted);
}

/* MudBlazor critical forms/dialogs adaptation */
.mud-dialog {
  border-radius: var(--kp-r-lg) !important;
  border: 1px solid var(--kp-border) !important;
  background: var(--kp-surface) !important;
  box-shadow: var(--kp-shadow-lg) !important;
  color: var(--kp-fg) !important;
  overflow: hidden;
}

.mud-dialog .mud-dialog-title {
  padding: 18px 20px 8px !important;
  font-family: var(--kp-font-display);
  font-size: var(--kp-text-xl);
  font-weight: 650;
  letter-spacing: var(--kp-tracking-snug);
  color: var(--kp-fg);
}

.mud-dialog .mud-dialog-content {
  padding: 18px 20px !important;
  color: var(--kp-muted);
}

.mud-dialog .mud-dialog-actions {
  padding: 12px 20px 18px !important;
  border-top: 1px solid var(--kp-border);
  background: var(--kp-surface-2);
  gap: 8px;
}

.mud-dialog .mud-button-root,
.mud-drawer .mud-button-root,
.kp-mud-form-surface .mud-button-root {
  border-radius: var(--kp-r-sm) !important;
  min-height: 34px;
  font-weight: 600;
  text-transform: none;
}

.mud-dialog .mud-button-text {
  color: var(--kp-muted) !important;
}

.mud-dialog .mud-button-filled-primary,
.mud-dialog .mud-button-filled-info,
.mud-drawer .mud-button-filled-primary,
.kp-mud-form-surface .mud-button-filled-primary {
  background: var(--kp-accent) !important;
  border-color: var(--kp-accent) !important;
  color: white !important;
  box-shadow: none !important;
}

.mud-dialog .mud-button-outlined-primary,
.mud-drawer .mud-button-outlined-primary,
.kp-mud-form-surface .mud-button-outlined-primary {
  border-color: var(--kp-border-strong) !important;
  color: var(--kp-accent) !important;
}

.mud-dialog .mud-grid {
  margin-top: -6px;
}

.mud-dialog .mud-alert,
.mud-drawer .mud-alert,
.kp-mud-form-surface .mud-alert {
  border-radius: var(--kp-r) !important;
  border: 1px solid var(--kp-border);
  box-shadow: none !important;
}

.mud-dialog .mud-alert-filled-warning {
  background: var(--kp-warn-soft) !important;
  color: var(--kp-fg) !important;
}

.mud-dialog .mud-alert-outlined-info,
.mud-dialog .mud-alert-text-info,
.mud-dialog .mud-alert-filled-info,
.mud-drawer .mud-alert-outlined-info,
.mud-drawer .mud-alert-text-info,
.kp-mud-form-surface .mud-alert-outlined-info,
.kp-mud-form-surface .mud-alert-text-info {
  background: var(--kp-accent-soft) !important;
  border-color: color-mix(in oklab, var(--kp-accent), var(--kp-border) 70%) !important;
  color: var(--kp-fg) !important;
}

.mud-input-control {
  margin-top: 4px;
  margin-bottom: 8px;
}

.mud-input-control .mud-input-label {
  color: var(--kp-muted) !important;
  font-size: var(--kp-text-sm);
  font-weight: 600;
}

.mud-input.mud-input-outlined,
.mud-input.mud-input-filled,
.mud-input.mud-input-text {
  border-radius: var(--kp-r-sm) !important;
  background: var(--kp-surface) !important;
  color: var(--kp-fg) !important;
}

.mud-input-outlined .mud-input-outlined-border {
  border-color: var(--kp-border) !important;
  border-radius: var(--kp-r-sm) !important;
}

.mud-input-control:hover .mud-input-outlined .mud-input-outlined-border {
  border-color: var(--kp-border-strong) !important;
}

.mud-input-control:focus-within .mud-input-outlined .mud-input-outlined-border {
  border-color: var(--kp-accent) !important;
  box-shadow: var(--kp-shadow-focus);
}

.mud-input-control .mud-input-adornment,
.mud-input-control .mud-icon-root,
.mud-select .mud-icon-root {
  color: var(--kp-soft) !important;
}

.mud-input-control .mud-input-helper-text,
.mud-input-control .mud-input-error {
  font-size: var(--kp-text-xs);
}

.mud-input-control .mud-input-error,
.mud-input-control .mud-error-text {
  color: var(--kp-neg) !important;
}

.mud-popover,
.mud-picker-container,
.mud-select-popover-fixed {
  border-radius: var(--kp-r) !important;
  border: 1px solid var(--kp-border) !important;
  box-shadow: var(--kp-shadow-lg) !important;
  background: var(--kp-surface) !important;
  color: var(--kp-fg) !important;
  overflow: hidden;
}

.mud-list-item-clickable:hover,
.mud-menu-item:hover {
  background: var(--kp-surface-2) !important;
}

.mud-list-item-selected,
.mud-list-item-selected:hover {
  background: var(--kp-accent-soft) !important;
  color: var(--kp-accent) !important;
}

.mud-switch .mud-switch-track {
  border-radius: var(--kp-r-pill) !important;
}

.mud-switch .mud-switch-base.mud-checked + .mud-switch-track {
  background: color-mix(in oklab, var(--kp-accent), white 42%) !important;
}

.mud-switch .mud-switch-base.mud-checked .mud-switch-thumb {
  background: var(--kp-accent) !important;
}

.mud-drawer {
  border-left: 1px solid var(--kp-border) !important;
  background: var(--kp-surface) !important;
  box-shadow: var(--kp-shadow-lg) !important;
}

.mud-drawer .mud-drawer-header {
  border-bottom: 1px solid var(--kp-border);
  padding: 16px 18px !important;
}

.mud-drawer .mud-typography-h5,
.mud-drawer .mud-typography-h6 {
  font-family: var(--kp-font-display);
  letter-spacing: var(--kp-tracking-snug);
}

.kp-mud-form-surface,
.account-settings-wrapper,
.mud-paper:has(.mud-form) {
  background: var(--kp-surface) !important;
  border: 1px solid var(--kp-border) !important;
  border-radius: var(--kp-r) !important;
  box-shadow: var(--kp-shadow-sm) !important;
}

@media (max-width: 900px) {
  .kp-public-page .kp-page-head,
  .kp-public-grid.is-two {
    display: block;
  }

  .kp-public-grid,
  .kp-price-grid {
    grid-template-columns: 1fr;
  }

  .kp-public-actions {
    margin-top: 16px;
  }
}

.kp-invoice-form {
  background: var(--kp-surface) !important;
}

.kp-table-toolbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 10px;
}

.kp-mud-table.mud-table {
  border: 1px solid var(--kp-border);
  border-radius: var(--kp-r) !important;
  overflow: hidden;
  background: var(--kp-surface);
  box-shadow: var(--kp-shadow-sm) !important;
}

.kp-mud-table .mud-table-head {
  background: var(--kp-surface-2) !important;
}

.kp-mud-table.mud-table .mud-table-cell,
.kp-mud-table.mud-table .mud-table-row {
  border-color: var(--kp-border) !important;
  color: var(--kp-fg) !important;
}

.kp-mud-table.mud-table .mud-icon-button {
  color: var(--kp-accent);
}

.kp-site-shell .page-header-premium {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
  margin-bottom: 28px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.kp-site-shell .page-header-premium .mud-typography-h3,
.kp-site-shell .page-header-premium .mud-typography-h4 {
  color: var(--kp-fg);
  font-family: var(--kp-font-display);
  font-size: var(--kp-text-4xl);
  font-weight: 700;
  letter-spacing: var(--kp-tracking-tight);
  line-height: 1.1;
}

.kp-site-shell .page-header-premium .mud-typography-subtitle1,
.kp-site-shell .page-header-premium .mud-typography-body2 {
  color: var(--kp-muted);
}

.kp-site-shell .shadow-premium,
.kp-site-shell .mud-elevation-4,
.kp-site-shell .mud-elevation-8 {
  box-shadow: var(--kp-shadow-sm) !important;
}

.kp-site-shell .rounded-xl,
.kp-site-shell .rounded-lg {
  border-radius: var(--kp-r) !important;
}

.kp-site-shell .border-l-8,
.kp-site-shell .border-l-4 {
  border-left-width: 3px !important;
}

.kp-site-shell .border-primary { border-left-color: var(--kp-accent) !important; }
.kp-site-shell .border-info { border-left-color: var(--kp-accent) !important; }
.kp-site-shell .border-secondary { border-left-color: var(--kp-soft) !important; }
.kp-site-shell .border-success { border-left-color: var(--kp-pos) !important; }
.kp-site-shell .border-warning { border-left-color: var(--kp-warn) !important; }
.kp-site-shell .border-error { border-left-color: var(--kp-neg) !important; }

.kp-site-shell .hero-banner {
  background: var(--kp-surface) !important;
  border: 1px solid var(--kp-border);
  border-radius: var(--kp-r) !important;
  color: var(--kp-fg) !important;
  box-shadow: var(--kp-shadow-sm) !important;
}

.kp-site-shell .hero-banner .text-white,
.kp-site-shell .hero-banner .mud-typography {
  color: var(--kp-fg) !important;
}

.kp-site-shell .hero-banner .opacity-90,
.kp-site-shell .hero-banner .opacity-80 {
  color: var(--kp-muted) !important;
  opacity: 1 !important;
}

@media (max-width: 720px) {
  .kp-site-main.mud-main-content {
    padding: 18px 14px 40px;
  }

  .kp-page-head,
  .kp-affiliate-note {
    align-items: flex-start;
    flex-direction: column;
  }

  .kp-partner-grid.is-catalog {
    grid-template-columns: 1fr;
  }
}
