
:root {
  --brand-primary: #8b5cf6;
  --brand-primary-hover: #7c3aed;
  --brand-primary-light: #f3e8ff;
  --brand-gradient-from: #8b5cf6;
  --brand-gradient-to: #4f46e5;

  --theme-shade-50: #f5f3ff;
  --theme-shade-100: #f3e8ff;
  --theme-shade-200: #e9d5ff;
  --theme-shade-300: #d8b4fe;
  --theme-shade-500: #a855f7;
  --theme-shade-600: #8b5cf6;
  --theme-shade-700: #7c3aed;
  --theme-shade-800: #6b21a8;
  --theme-shade-900: #581c87;

  --color-purple-50: var(--theme-shade-50);
  --color-purple-100: var(--theme-shade-100);
  --color-purple-200: var(--theme-shade-200);
  --color-purple-300: var(--theme-shade-300);
  --color-purple-500: var(--theme-shade-500);
  --color-purple-600: var(--theme-shade-600);
  --color-purple-700: var(--theme-shade-700);
  --color-purple-800: var(--theme-shade-800);
  --color-purple-900: var(--theme-shade-900);
}

@layer base {
  body {
    background-color: #f8fafc;
    color: #0f172a;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  }
}

/* Dynamic Brand Theme CSS Helper Classes */
.bg-brand-primary {
  background-color: var(--brand-primary) !important;
}
.hover\:bg-brand-primary-hover:hover {
  background-color: var(--brand-primary-hover) !important;
}
.text-brand-primary {
  color: var(--brand-primary) !important;
}
.border-brand-primary {
  border-color: var(--brand-primary) !important;
}
.bg-brand-primary-light, .bg-brand-light {
  background-color: var(--brand-primary-light) !important;
}
.bg-brand-gradient {
  background-image: linear-gradient(to right, var(--brand-gradient-from), var(--brand-gradient-to)) !important;
}

/* Dynamic Fallback Overrides for purple-* Tailwind utilities across Admin, Modals, Struk, and Home */
.bg-purple-600, .bg-purple-700 {
  background-color: var(--brand-primary) !important;
}
.bg-purple-50, .bg-purple-100 {
  background-color: var(--brand-primary-light) !important;
}
.text-purple-600, .text-purple-700, .text-purple-800 {
  color: var(--brand-primary) !important;
}
.border-purple-200, .border-purple-300, .border-purple-500, .border-purple-600 {
  border-color: var(--brand-primary-light) !important;
}
.from-purple-600, .from-purple-700 {
  --tw-gradient-from: var(--brand-gradient-from) !important;
}
.to-purple-800, .to-indigo-600, .to-purple-700 {
  --tw-gradient-to: var(--brand-gradient-to) !important;
}

/* Custom scrollbar for clean light theme */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--brand-primary, #9333ea);
}




/* LMJ Mobile UI refinement v1.11: compact retail cards, stronger touch targets, and a proportional CMS. */
@media (max-width: 639px) {
  .lmj-site-header { min-height: 66px; }
  .lmj-site-header-inner { min-height: 66px; padding-top: 10px !important; padding-bottom: 10px !important; }
  .lmj-site-header .w-8.h-8 { width: 38px !important; height: 38px !important; border-radius: 12px !important; }
  .lmj-site-header .text-xs.font-extrabold { font-size: 14px !important; line-height: 1.2 !important; }
  .lmj-site-header button { min-width: 44px; min-height: 44px; }
  .lmj-site-header nav button { min-width: 0; min-height: 0; }

  .lmj-catalog-section { padding-left: 12px !important; padding-right: 12px !important; padding-top: 28px !important; padding-bottom: 32px !important; }
  .lmj-catalog-section > .text-center { margin-bottom: 22px !important; }
  .lmj-catalog-section > .text-center h2 { font-size: 25px !important; line-height: 1.15 !important; }
  .lmj-catalog-section > .text-center p { font-size: 12px !important; line-height: 1.5 !important; }
  .lmj-customer-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .lmj-product-card { border-radius: 14px !important; box-shadow: 0 1px 3px rgba(15,23,42,.08) !important; }
  .lmj-product-card-image { aspect-ratio: 1 / .88 !important; }
  .lmj-product-card-image .absolute.top-3.left-3, .lmj-product-card-image .absolute.top-3.right-3 { top: 7px !important; gap: 4px !important; }
  .lmj-product-card-image .absolute.top-3.left-3 { left: 7px !important; }
  .lmj-product-card-image .absolute.top-3.right-3 { right: 7px !important; }
  .lmj-product-card-image .absolute.top-3.left-3 span, .lmj-product-card-image .absolute.top-3.right-3 span { padding: 3px 6px !important; font-size: 8px !important; line-height: 1.2 !important; max-width: 105px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .lmj-product-card-body { padding: 10px !important; gap: 8px !important; }
  .lmj-product-card-body h3 { font-size: 13px !important; line-height: 1.25 !important; }
  .lmj-product-description { font-size: 10px !important; line-height: 1.35 !important; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
  .lmj-product-card-body .text-lg { font-size: 14px !important; }
  .lmj-product-card-body .text-xs { font-size: 9px !important; }
  .lmj-product-actions { gap: 5px !important; }
  .lmj-product-actions button { min-height: 40px !important; padding: 7px 5px !important; font-size: 10px !important; border-radius: 10px !important; }

  .lmj-admin-shell { font-size: 14px; }
  .lmj-admin-header { min-height: 70px; }
  .lmj-admin-topbar { min-height: 70px; padding-top: 10px !important; padding-bottom: 10px !important; gap: 8px !important; }
  .lmj-admin-topbar > div:first-child .w-8.h-8 { width: 38px !important; height: 38px !important; }
  .lmj-admin-topbar > div:first-child .text-xs.sm\:text-base { font-size: 13px !important; line-height: 1.2 !important; }
  .lmj-admin-topbar button { min-width: 42px; min-height: 42px; }
  .lmj-admin-main { padding-left: 12px !important; padding-right: 12px !important; padding-top: 16px !important; padding-bottom: 28px !important; }
  .lmj-admin-catalog { gap: 14px !important; }
  .lmj-admin-catalog .rounded-3xl { border-radius: 18px !important; }
  .lmj-admin-catalog > div:first-child { padding: 14px !important; }
  .lmj-admin-catalog > div:first-child h3 { font-size: 17px !important; }
  .lmj-admin-catalog > div:first-child > div:last-child { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px !important; }
  .lmj-admin-catalog > div:first-child > div:last-child button { min-height: 40px !important; padding: 7px 8px !important; font-size: 10px !important; }
  .lmj-admin-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .lmj-admin-product-grid > div { padding: 10px !important; border-radius: 16px !important; gap: 8px !important; }
  .lmj-admin-product-grid > div .aspect-\[4\/3\] { border-radius: 12px !important; }
  .lmj-admin-product-grid > div .p-3 { padding: 9px !important; border-radius: 12px !important; }
  .lmj-admin-product-grid > div h4 { font-size: 12px !important; line-height: 1.25 !important; }
  .lmj-admin-product-grid > div .text-\[11px\] { font-size: 9px !important; }
  .lmj-admin-product-grid > div .text-sm { font-size: 12px !important; }
  .lmj-admin-product-grid > div button { min-height: 38px !important; padding: 6px 7px !important; font-size: 9px !important; }
  .lmj-pos-shell { gap: 14px !important; }
  .lmj-pos-product-grid { gap: 8px !important; max-height: none !important; }
}
@media (max-width: 359px) {
  .lmj-customer-product-grid, .lmj-admin-product-grid { gap: 7px !important; }
  .lmj-product-card-body { padding: 8px !important; }
  .lmj-product-actions button { font-size: 9px !important; }
  .lmj-admin-product-grid > div { padding: 8px !important; }
}
@media (min-width: 640px) {
  .lmj-site-header button, .lmj-admin-topbar button { min-height: 40px; }
}


/* LMJ v1.12 professional mobile catalog/detail/admin refinement. */
.lmj-brand-name { line-height: 1.08 !important; white-space: normal !important; overflow: visible !important; }
.lmj-site-header, .lmj-admin-header { min-height: 78px; }
.lmj-site-header-inner, .lmj-admin-topbar { min-height: 78px; }
.lmj-site-header-inner { padding-top: 12px !important; padding-bottom: 12px !important; }
.lmj-admin-topbar { padding-top: 12px !important; padding-bottom: 12px !important; }
.lmj-admin-data-footer { margin-bottom: 24px; }
.lmj-product-detail-scroll { overscroll-behavior: contain; }
.lmj-product-detail-media { position: sticky; top: 0; z-index: 12; }
.lmj-product-detail-footer { position: sticky; bottom: 0; z-index: 20; margin: 0 -6px -6px; padding: 12px 6px 6px; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); border-top: 1px solid #e2e8f0; }
.lmj-product-detail-footer button { min-height: 48px; }
.lmj-product-quantity-box { margin-bottom: 4px; }
.lmj-product-card-image { aspect-ratio: 1 / 1 !important; }
.lmj-product-card-body { gap: 10px !important; }
.lmj-product-original-price { line-height: 1.2; }
.lmj-admin-tab > div:first-child > div:first-child > p:first-of-type { display: none !important; }
.lmj-admin-tab > div:first-child > div:first-child > div:first-child > p:first-of-type { display: none !important; }

@media (max-width: 639px) {
  .lmj-site-header, .lmj-admin-header { min-height: 82px; }
  .lmj-site-header-inner, .lmj-admin-topbar { min-height: 82px; }
  .lmj-site-header-inner { padding-top: 13px !important; padding-bottom: 13px !important; gap: 10px !important; }
  .lmj-admin-topbar { padding-top: 13px !important; padding-bottom: 13px !important; gap: 10px !important; }
  .lmj-site-header .w-8.h-8 { width: 44px !important; height: 44px !important; border-radius: 14px !important; }
  .lmj-site-header .lmj-brand-name { font-size: 15px !important; max-width: 150px !important; }
  .lmj-site-header .lmj-site-header-inner > div:last-child { gap: 7px !important; }
  .lmj-site-header button { min-width: 46px; min-height: 46px; }
  .lmj-admin-topbar > div:first-child .w-8.h-8 { width: 44px !important; height: 44px !important; border-radius: 14px !important; }
  .lmj-admin-topbar .lmj-admin-brand-name { font-size: 15px !important; line-height: 1.08 !important; max-width: 155px !important; }
  .lmj-admin-topbar button { min-width: 44px; min-height: 44px; }

  .lmj-customer-product-grid { gap: 10px !important; }
  .lmj-product-card { border-radius: 16px !important; }
  .lmj-product-card-image { aspect-ratio: 1 / 1 !important; }
  .lmj-product-card-image .absolute.top-3.left-3 { top: 9px !important; left: 9px !important; }
  .lmj-product-card-image .absolute.top-3.left-3 span { font-size: 10px !important; padding: 5px 8px !important; }
  .lmj-product-card-body { padding: 11px !important; gap: 9px !important; }
  .lmj-product-card-body h3 { font-size: 14px !important; line-height: 1.28 !important; min-height: 36px; }
  .lmj-product-card-body .lmj-product-price { font-size: 16px !important; }
  .lmj-product-card-body .lmj-product-original-price { font-size: 11px !important; }
  .lmj-product-actions button { min-height: 44px !important; font-size: 10px !important; }

  .lmj-product-detail-scroll { padding: 12px !important; padding-bottom: 88px !important; }
  .lmj-product-detail-media { top: -12px; border-radius: 0 0 18px 18px !important; margin: 0 -12px; width: calc(100% + 24px) !important; }
  .lmj-product-detail-footer { margin: 0 -12px -12px; padding: 10px 12px 12px; }
  .lmj-product-detail-footer button { min-height: 50px !important; }
  .lmj-product-detail-scroll .text-2xl { font-size: 20px !important; }
  .lmj-product-detail-scroll .lmj-product-quantity-box { padding: 12px !important; }
  .lmj-product-detail-scroll .lmj-product-quantity-box > div:first-child > span { font-size: 12px !important; }

  .lmj-admin-main { padding-top: 14px !important; }
  .lmj-admin-data-footer { margin-top: 20px !important; border-radius: 16px !important; }
  .lmj-admin-data-footer > div:first-child { padding: 10px 12px !important; }
  .lmj-admin-data-footer button, .lmj-admin-data-footer label { min-height: 40px !important; padding: 7px 9px !important; font-size: 10px !important; }
  .lmj-admin-tab > div:first-child > div:first-child > p:first-of-type,
  .lmj-admin-tab > div:first-child > div:first-child > div:first-child > p:first-of-type { display: none !important; }
}

@media (min-width: 640px) {
  .lmj-product-detail-footer { margin-left: -8px; margin-right: -8px; padding-left: 8px; padding-right: 8px; }
}

/* Hide technical/noise controls from the primary CMS header while retaining the underlying functions. */
.lmj-admin-tab-orders button[title="Aktifkan/Matikan Suara Notifikasi Pesanan Baru"],
.lmj-admin-tab-orders button[title="Tes Bunyi Notifikasi"],
.lmj-admin-tab-orders button[title="Import & Sinkronisasi Pesanan dari Excel"],
.lmj-admin-tab-financials > div:first-child .text-xs.bg-purple-100 { display: none !important; }

/* v1.12.2 precision mobile corrections: real sticky product detail, clearer storefront header, cleaner CMS controls. */
.lmj-brand-lines { display: inline-flex !important; flex-direction: column !important; align-items: flex-start !important; line-height: 1.02 !important; white-space: normal !important; }
.lmj-brand-line-rest { display: block !important; font-size: .9em !important; }

@media (max-width: 639px) {
  /* Storefront header: intentionally taller and vertically centered without changing desktop layout. */
  .lmj-site-header { min-height: 94px !important; }
  .lmj-site-header-inner { min-height: 94px !important; padding: 15px 10px !important; align-items: center !important; gap: 8px !important; }
  .lmj-site-header-inner > button:first-child { flex: 1 1 auto !important; min-width: 0 !important; max-width: 44%; }
  .lmj-site-header .w-8.h-8 { width: 48px !important; height: 48px !important; border-radius: 15px !important; }
  .lmj-site-header .lmj-brand-name { font-size: 16px !important; line-height: 1.02 !important; max-width: 150px !important; }
  .lmj-site-header .lmj-site-header-inner > div:last-child { gap: 5px !important; flex: 0 0 auto !important; }
  .lmj-site-header .lmj-site-header-inner > div:last-child > button,
  .lmj-site-header .lmj-site-header-inner > div:last-child > div > button { min-width: 44px !important; width: 44px !important; min-height: 44px !important; height: 44px !important; padding: 0 !important; border-radius: 13px !important; }
  .lmj-site-header .lmj-site-header-inner > div:last-child > div { flex: 0 0 auto !important; }

  /* The detail scroll area is now a true single-column flex flow. This makes the media item sticky for the full scroll range. */
  .lmj-product-detail-modal { max-height: 94vh !important; }
  .lmj-product-detail-scroll { position: relative !important; overflow-y: auto !important; padding: 0 12px 92px !important; overscroll-behavior: contain !important; }
  .lmj-product-detail-layout { display: flex !important; flex-direction: column !important; gap: 16px !important; }
  .lmj-product-detail-media-column { display: contents !important; }
  .lmj-product-detail-media { position: sticky !important; top: 0 !important; z-index: 30 !important; width: calc(100% + 24px) !important; margin: 0 -12px !important; border-radius: 0 0 18px 18px !important; aspect-ratio: 4 / 3 !important; background: #f1f5f9 !important; box-shadow: 0 8px 18px rgba(15,23,42,.10) !important; }
  .lmj-product-detail-media-column > div:not(.lmj-product-detail-media) { position: relative; z-index: 1; }
  .lmj-product-detail-content { position: relative; z-index: 1; padding-top: 2px; }
  .lmj-product-detail-footer { flex: 0 0 auto !important; position: relative !important; z-index: 50 !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important; background: rgba(255,255,255,.98) !important; backdrop-filter: blur(14px) !important; border-top: 1px solid #e2e8f0 !important; box-shadow: 0 -8px 20px rgba(15,23,42,.08) !important; }
  .lmj-product-detail-footer button { min-height: 50px !important; margin: 0 !important; }
}

/* Hide the requested CMS header descriptions without touching descriptive text inside reports/forms. */
.lmj-admin-tab-orders > div:first-child > div:first-child p,
.lmj-admin-tab-financials > div:first-child > div:first-child p,
.lmj-admin-tab-catalog > div:first-child > div:first-child p,
.lmj-admin-catalog > div:first-child > div:first-child p { display: none !important; }

/* Catalog header is intentionally limited to Export Excel + Kategori + Tambah Produk. */
.lmj-admin-catalog > div:first-child > div:last-child button[title="Unduh Format Template Excel"],
.lmj-admin-catalog > div:first-child > div:last-child button[title="Import & Sinkronisasi Produk dari Excel"] { display: none !important; }

/* Order header keeps reporting exports but removes notification/import controls. */
.lmj-admin-tab-orders button[title="Aktifkan/Matikan Suara Notifikasi Pesanan Baru"],
.lmj-admin-tab-orders button[title="Tes Bunyi Notifikasi"],
.lmj-admin-tab-orders button[title="Import & Sinkronisasi Pesanan dari Excel"] { display: none !important; }

/* Compact the CMS data-backup footer while retaining every backup/restore action. */
.lmj-admin-data-footer { margin-top: 16px !important; margin-bottom: 16px !important; }
.lmj-admin-data-footer > div:first-child { padding: 8px 12px !important; }


/* v1.12.3 precision UI: readable product detail gutters + compact CMS. */
.lmj-brand-lines { display: inline-flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: center !important; line-height: 1.02 !important; white-space: nowrap !important; flex: 0 0 auto !important; }
.lmj-brand-line-first, .lmj-brand-line-rest { display: block !important; }
.lmj-product-detail-scroll { padding-left: 24px !important; padding-right: 24px !important; padding-bottom: 104px !important; }
.lmj-product-detail-content { padding: 4px 6px 12px !important; }
.lmj-product-detail-media { width: calc(100% + 48px) !important; margin-left: -24px !important; margin-right: -24px !important; }
.lmj-product-detail-footer { margin-left: -24px !important; margin-right: -24px !important; padding-left: 24px !important; padding-right: 24px !important; }
.lmj-admin-tab-orders > div:first-child,
.lmj-admin-tab-catalog > div:first-child { padding: 14px 16px !important; border-radius: 18px !important; }
.lmj-admin-tab-orders h3,
.lmj-admin-tab-catalog h3 { font-size: 18px !important; line-height: 1.2 !important; }
.lmj-admin-tab-orders > div:first-child button,
.lmj-admin-tab-catalog > div:first-child button { min-height: 38px !important; padding: 8px 11px !important; font-size: 11px !important; border-radius: 11px !important; }
.lmj-admin-tab-orders > div:nth-child(2) > div,
.lmj-admin-tab-orders .lmj-order-filter-card { padding: 12px !important; }
.lmj-admin-tab-orders .text-xl { font-size: 17px !important; }
.lmj-admin-tab-orders .text-2xl { font-size: 19px !important; }
.lmj-admin-tab-catalog .text-2xl { font-size: 19px !important; }
.lmj-admin-tab-catalog .text-xl { font-size: 17px !important; }
.lmj-admin-tab-catalog .lmj-admin-product-grid > div { padding: 12px !important; border-radius: 20px !important; }
.lmj-admin-tab-catalog .lmj-admin-product-grid { gap: 12px !important; }

@media (max-width: 639px) {
  .lmj-site-header { min-height: 106px !important; }
  .lmj-site-header-inner { min-height: 106px !important; padding: 16px 10px !important; }
  .lmj-site-header-inner > button:first-child { max-width: 42% !important; align-self: stretch !important; }
  .lmj-site-header .lmj-brand-name { max-width: 112px !important; font-size: 16px !important; line-height: 1.03 !important; }
  .lmj-site-header .lmj-brand-lines { max-width: 96px !important; }
  .lmj-site-header .lmj-brand-line-first { white-space: nowrap !important; }
  .lmj-site-header .lmj-brand-line-rest { white-space: nowrap !important; }
  .lmj-site-header .lmj-site-header-inner > div:last-child { gap: 5px !important; }
  .lmj-site-header .lmj-site-header-inner > div:last-child > button,
  .lmj-site-header .lmj-site-header-inner > div:last-child > div > button { width: 46px !important; min-width: 46px !important; height: 46px !important; min-height: 46px !important; }

  .lmj-product-detail-modal { max-height: 94vh !important; border-radius: 22px !important; }
  .lmj-product-detail-scroll { padding-left: 20px !important; padding-right: 20px !important; padding-bottom: 112px !important; }
  .lmj-product-detail-content { padding: 8px 4px 16px !important; }
  .lmj-product-detail-media { width: calc(100% + 40px) !important; margin-left: -20px !important; margin-right: -20px !important; }
  .lmj-product-detail-footer { margin-left: -20px !important; margin-right: -20px !important; padding-left: 20px !important; padding-right: 20px !important; }
  .lmj-product-detail-content h2 { padding-right: 2px !important; }
  .lmj-product-detail-content p { max-width: 100% !important; }

  .lmj-admin-tab-orders > div:first-child,
  .lmj-admin-tab-catalog > div:first-child { padding: 12px !important; border-radius: 17px !important; gap: 10px !important; }
  .lmj-admin-tab-orders h3,
  .lmj-admin-tab-catalog h3 { font-size: 16px !important; }
  .lmj-admin-tab-orders > div:first-child button,
  .lmj-admin-tab-catalog > div:first-child button { min-height: 36px !important; padding: 7px 9px !important; font-size: 10px !important; }
  .lmj-admin-tab-orders > div:first-child .text-xl,
  .lmj-admin-tab-orders > div:first-child .text-2xl { font-size: 16px !important; }
  .lmj-admin-tab-orders .text-xl { font-size: 15px !important; }
  .lmj-admin-tab-orders .text-2xl { font-size: 17px !important; }
  .lmj-admin-tab-orders .grid { gap: 8px !important; }
  .lmj-admin-tab-catalog .grid { gap: 8px !important; }
  .lmj-admin-tab-catalog .text-2xl { font-size: 17px !important; }
  .lmj-admin-tab-catalog .text-xl { font-size: 16px !important; }
  .lmj-admin-tab-catalog .lmj-admin-product-grid > div { padding: 10px !important; border-radius: 17px !important; }
  .lmj-admin-tab-catalog .lmj-admin-product-grid { gap: 9px !important; }
}


/* v1.12.4 — FINAL PRECISION OVERRIDES. These selectors intentionally target stable LMJ hooks. */
.lmj-brand-lock { display:inline-flex !important; align-items:center !important; min-width:0 !important; }
.lmj-brand-lines { display:inline-flex !important; flex-direction:column !important; align-items:flex-start !important; justify-content:center !important; white-space:normal !important; line-height:1.02 !important; }
.lmj-brand-line-first, .lmj-brand-line-rest { display:block !important; white-space:nowrap !important; }
.lmj-brand-line-rest { font-size:.9em !important; }
.lmj-detail-readable { padding-left:8px !important; padding-right:8px !important; }
.lmj-orders-compact .lmj-orders-header { padding:14px !important; }
.lmj-orders-compact .lmj-orders-title { font-size:18px !important; line-height:1.2 !important; }
.lmj-orders-compact .lmj-orders-header button { min-height:36px !important; padding:7px 10px !important; font-size:11px !important; }
.lmj-orders-compact .lmj-orders-stats > div { padding:10px !important; border-radius:14px !important; }
.lmj-orders-compact .lmj-orders-stats .text-xl { font-size:18px !important; line-height:1.15 !important; }
.lmj-orders-compact .lmj-orders-stats .text-2xl { font-size:19px !important; line-height:1.15 !important; }
.lmj-catalog-compact > .bg-white { padding:14px !important; }
.lmj-catalog-compact .lmj-catalog-title { font-size:18px !important; line-height:1.2 !important; }
.lmj-catalog-compact > .bg-white button { min-height:36px !important; padding:7px 10px !important; font-size:11px !important; }
.lmj-catalog-compact .lmj-catalog-stats > div { padding:12px !important; border-radius:16px !important; }
.lmj-catalog-compact .lmj-catalog-stats .text-2xl { font-size:19px !important; line-height:1.15 !important; }

@media (max-width:639px) {
  .lmj-site-header { min-height:112px !important; height:112px !important; }
  .lmj-site-header-inner { min-height:112px !important; height:112px !important; padding:16px 10px !important; gap:8px !important; }
  .lmj-site-header-inner > button:first-child { max-width:none !important; flex:1 1 auto !important; min-width:0 !important; }
  .lmj-site-header .w-8.h-8 { width:50px !important; height:50px !important; flex:0 0 50px !important; }
  .lmj-site-header .lmj-brand-name { font-size:17px !important; line-height:1.04 !important; max-width:130px !important; }
  .lmj-site-header .lmj-brand-lines { max-width:130px !important; }
  .lmj-site-header .lmj-site-header-inner > div:last-child { gap:4px !important; }
  .lmj-site-header .lmj-site-header-inner > div:last-child > button,
  .lmj-site-header .lmj-site-header-inner > div:last-child > div > button { width:46px !important; min-width:46px !important; height:46px !important; min-height:46px !important; }
  .lmj-detail-readable { padding-left:10px !important; padding-right:10px !important; }
  .lmj-orders-compact .lmj-orders-header { padding:10px !important; gap:8px !important; }
  .lmj-orders-compact .lmj-orders-title { font-size:16px !important; }
  .lmj-orders-compact .lmj-orders-header button { min-height:34px !important; padding:6px 8px !important; font-size:10px !important; }
  .lmj-orders-compact .lmj-orders-stats { gap:6px !important; }
  .lmj-orders-compact .lmj-orders-stats > div { padding:9px !important; min-height:74px !important; }
  .lmj-orders-compact .lmj-orders-stats .text-xl { font-size:16px !important; }
  .lmj-orders-compact .lmj-orders-stats .text-2xl { font-size:17px !important; }
  .lmj-catalog-compact > .bg-white { padding:10px !important; gap:8px !important; }
  .lmj-catalog-compact .lmj-catalog-title { font-size:16px !important; }
  .lmj-catalog-compact > .bg-white button { min-height:34px !important; padding:6px 8px !important; font-size:10px !important; }
  .lmj-catalog-compact .lmj-catalog-stats { gap:6px !important; }
  .lmj-catalog-compact .lmj-catalog-stats > div { padding:9px !important; min-height:74px !important; }
  .lmj-catalog-compact .lmj-catalog-stats .text-2xl { font-size:17px !important; }
}

/* v1.12.9 — mobile header alignment only. Storefront keeps cart + menu visible;
   receipt/login remain available inside the mobile menu. Admin action icons are centered. */
@media (max-width: 639px) {
  .lmj-site-header {
    min-height: 124px !important;
    height: 124px !important;
  }
  .lmj-site-header-inner {
    min-height: 124px !important;
    height: 124px !important;
    padding: 10px 10px !important;
    gap: 10px !important;
    align-items: center !important;
  }
  .lmj-site-header .w-8.h-8 {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    border-radius: 16px !important;
  }
  .lmj-site-header .lmj-brand-name {
    font-size: 18px !important;
    line-height: 1.04 !important;
    max-width: 150px !important;
  }
  .lmj-site-header .lmj-brand-lines {
    max-width: 150px !important;
    line-height: 1.04 !important;
  }
  .lmj-site-header .lmj-site-header-inner > div:last-child {
    gap: 8px !important;
    align-items: center !important;
    flex: 0 0 auto !important;
  }
  .lmj-site-header .lmj-site-header-inner > div:last-child > button {
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 !important;
    border-radius: 15px !important;
    line-height: 0 !important;
    align-items: center !important;
    justify-content: center !important;
  }
  /* Header mobile exposes exactly two actions: cart + hamburger. */
  .lmj-site-header .lmj-site-header-inner > div:last-child > button:nth-child(2),
  .lmj-site-header .lmj-site-header-inner > div:last-child > button:nth-child(3) {
    display: none !important;
  }
  .lmj-site-header .lmj-site-header-inner > div:last-child > button:last-child {
    display: flex !important;
  }

  /* Admin dashboard: center the home/preview and logout glyphs inside their badges. */
  .lmj-admin-topbar > div:last-child > button:nth-last-child(2),
  .lmj-admin-topbar > div:last-child > button:last-child {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    line-height: 0 !important;
    vertical-align: middle !important;
  }
  .lmj-admin-topbar > div:last-child > button:nth-last-child(2) svg,
  .lmj-admin-topbar > div:last-child > button:last-child svg {
    display: block !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
}

/* v1.13.0 — requested header refinement only: mobile storefront + CMS headers = 84px. */
@media (max-width: 639px) {
  .lmj-site-header,
  .lmj-site-header-inner,
  .lmj-admin-header,
  .lmj-admin-topbar {
    min-height: 84px !important;
    height: 84px !important;
  }
}

/* v1.13.2 — FINAL HEADER CLEANUP ONLY.
   Storefront mobile header remains 84px; CMS mobile header remains 84px.
   The brand area is allowed to use all available space so the site name is not
   artificially clipped by legacy max-width rules. No verification icon is rendered by Header.js. */
@media (max-width: 639px) {
  .lmj-site-header,
  .lmj-site-header-inner,
  .lmj-admin-header,
  .lmj-admin-topbar {
    min-height: 84px !important;
    height: 84px !important;
  }
  .lmj-site-header-inner > button:first-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  .lmj-site-header .lmj-brand-name,
  .lmj-site-header .lmj-brand-lines {
    max-width: none !important;
    width: auto !important;
  }
  .lmj-site-header .lmj-brand-name {
    overflow: visible !important;
    text-overflow: clip !important;
  }
  .lmj-site-header .lmj-brand-line-first,
  .lmj-site-header .lmj-brand-line-rest {
    overflow: visible !important;
    text-overflow: clip !important;
  }
  .lmj-site-header .lmj-brand-name::before,
  .lmj-site-header .lmj-brand-name::after,
  .lmj-site-header .lmj-brand-lines::before,
  .lmj-site-header .lmj-brand-lines::after {
    content: none !important;
    display: none !important;
  }
}
/* v1.13.4 — CMS DESKTOP brand layout only.
   Keep the mobile header/3-word behavior unchanged. On desktop, show the
   main website name on one line and place the CMS role badge below it. */
@media (min-width: 640px) {
  .lmj-admin-topbar .lmj-admin-brand-name {
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}
