/* =============================================================================
   icc-luxe.css — the app in the marketing site's language (ivory, navy, gold;
   Cormorant Garamond + Inter). Loads last; rolls back by removing one <link>.
   ============================================================================= */

:root {
  --lx-canvas: #faf7f1;
  --lx-panel: #f3ede2;
  --lx-panel-2: #ece4d5;
  --lx-card: #ffffff;
  --lx-ink: #0a1a30;
  --lx-ink-1: rgba(10, 26, 48, .82);
  --lx-ink-2: rgba(10, 26, 48, .62);
  --lx-ink-3: rgba(10, 26, 48, .42);
  --lx-gold: #8a5a12;
  --lx-gold-fill: #edc48b;
  --lx-gold-deep: #d9ab68;
  --lx-gold-soft: rgba(138, 90, 18, .08);
  --lx-gold-line: rgba(138, 90, 18, .28);
  --lx-line: rgba(10, 26, 48, .10);
  --lx-line-2: rgba(10, 26, 48, .16);
  --lx-shadow: 0 1px 2px rgba(60, 40, 10, .04), 0 12px 32px rgba(60, 40, 10, .06);
  --lx-shadow-lift: 0 2px 4px rgba(60, 40, 10, .05), 0 18px 44px rgba(60, 40, 10, .10);
  --lx-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --lx-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --lx-radius: 16px;
  --lx-radius-sm: 10px;
  --lx-ease: cubic-bezier(.2, .7, .2, 1);

  --lx-tint: #fffaf0;
  --lx-on-gold: #0a1a30;
  --lx-tint-2: #f6e7cb;
  --lx-hover: rgba(255, 255, 255, .65);
  --lx-solid-bg: #0a1a30;
  --lx-solid-fg: #fdf8ee;
  --lx-solid-accent: #edc48b;
  --lx-solid-hover: #13284a;
  --lx-link-hover: #6d4609;
  --lx-reading: #1c2636;
  --lx-header-bg: rgba(250, 247, 241, .82);
  --lx-ok-bg: #e9f3ec; --lx-ok-fg: #1f5135; --lx-ok-line: #cfe3d6;
  --lx-err-bg: #f8ecec; --lx-err-fg: #8f2a2a; --lx-err-line: #ecd0d0;
  --lx-crest-light-display: inline-block;
  --lx-crest-dark-display: none;

  --bs-primary: #edc48b;
  --bs-primary-rgb: 237, 196, 139;
  --bs-body-color: var(--lx-ink-1);
  --bs-heading-color: var(--lx-ink);
  --bs-border-color: var(--lx-line);
  --bs-link-color: var(--lx-gold);
  --bs-link-hover-color: #6d4609;
}

/* older icc-premium.css variables follow the theme too */
:root, :root[data-theme="dark"] {
  --icc-navy: var(--lx-ink);
  --icc-navy-mid: var(--lx-ink);
  --icc-cream: var(--lx-canvas);
  --icc-cream-border: var(--lx-line);
  --icc-cream-light: var(--lx-tint);
  --icc-gold: var(--lx-gold-fill);
  --icc-gold-dark: var(--lx-gold-deep);
}
.icc-stat-value, .icc-stat-card .icc-stat-value { color: var(--lx-ink) !important; font-family: var(--lx-serif) !important; }

/* ── Dark theme (palette from indiancourtcases.com) ───────────────────── */
:root[data-theme="dark"] {
  color-scheme: dark;
  --lx-canvas: #070f1d;
  --lx-panel: #0b1729;
  --lx-panel-2: #10203a;
  --lx-card: #0d1a2e;
  --lx-ink: #f6f1e7;
  --lx-ink-1: rgba(246, 241, 231, .82);
  --lx-ink-2: rgba(246, 241, 231, .62);
  --lx-ink-3: rgba(246, 241, 231, .42);
  --lx-gold: #edc48b;
  --lx-gold-fill: #edc48b;
  --lx-gold-deep: #f3d3a5;
  --lx-gold-soft: rgba(237, 196, 139, .12);
  --lx-gold-line: rgba(237, 196, 139, .30);
  --lx-line: rgba(237, 196, 139, .13);
  --lx-line-2: rgba(237, 196, 139, .24);
  --lx-shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 14px 36px rgba(0, 0, 0, .35);
  --lx-shadow-lift: 0 2px 6px rgba(0, 0, 0, .4), 0 22px 50px rgba(0, 0, 0, .45);
  --lx-tint: #121f35;
  --lx-on-gold: #0a1a30;
  --lx-tint-2: #1a2a44;
  --lx-hover: rgba(255, 255, 255, .05);
  --lx-solid-bg: #f1e4cc;
  --lx-solid-fg: #0a1a30;
  --lx-solid-accent: #6d4609;
  --lx-solid-hover: #fff3dc;
  --lx-link-hover: #f6dcb4;
  --lx-reading: rgba(246, 241, 231, .88);
  --lx-header-bg: rgba(7, 15, 29, .8);
  --lx-ok-bg: rgba(79, 138, 101, .16); --lx-ok-fg: #a9dcbb; --lx-ok-line: rgba(79, 138, 101, .4);
  --lx-err-bg: rgba(163, 58, 58, .16); --lx-err-fg: #f0b0b0; --lx-err-line: rgba(163, 58, 58, .45);
  --lx-crest-light-display: none;
  --lx-crest-dark-display: inline-block;
  --bs-body-bg: #070f1d;
  --bs-body-color: rgba(246, 241, 231, .82);
  --bs-heading-color: #f6f1e7;
  --bs-border-color: rgba(237, 196, 139, .13);
  --bs-secondary-color: rgba(246, 241, 231, .62);
  --bs-emphasis-color: #f6f1e7;
  --bs-paper-bg: #0d1a2e;
  --bs-link-color: #edc48b;
  --bs-link-hover-color: #f6dcb4;
}
.lx-crest-for-light { display: var(--lx-crest-light-display) !important; }
.lx-crest-for-dark { display: var(--lx-crest-dark-display) !important; }

/* theme switch (same behaviour as the website: system -> light -> dark) */
.lx-theme-toggle {
  width: 38px; height: 38px; border-radius: 50%;
  border: 1px solid var(--lx-line-2); background: transparent; color: var(--lx-ink-1);
  display: inline-grid; place-items: center; cursor: pointer; margin-right: 12px;
  transition: border-color .2s, color .2s, background .2s;
}
.lx-theme-toggle:hover { border-color: var(--lx-gold); color: var(--lx-gold); }
.lx-theme-toggle svg { width: 18px; height: 18px; }

/* ── Canvas & type ──────────────────────────────────────────────────────── */
html, body, .layout-wrapper, .layout-page, .content-wrapper {
  background: var(--lx-canvas) !important;
}
body {
  font-family: var(--lx-sans) !important;
  color: var(--lx-ink-1) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "cv11", "ss01";
  letter-spacing: -.003em;
}
::selection { background: rgba(237, 196, 139, .45); color: var(--lx-ink); }

.content-wrapper h1, .content-wrapper h2, .content-wrapper h3, .content-wrapper h4,
.card-header h5, .card-header h6, .card-header .h5, .card-header .h6, .card-title,
.icc-page-title, .lx-title {
  font-family: var(--lx-serif) !important;
  font-weight: 600 !important;
  color: var(--lx-ink) !important;
  letter-spacing: -.005em;
}
.content-wrapper h1 { font-size: clamp(2rem, 3.2vw, 2.6rem) !important; line-height: 1.1 !important; }
.content-wrapper h2 { font-size: clamp(1.7rem, 2.6vw, 2.15rem) !important; line-height: 1.15 !important; }
.content-wrapper h3 { font-size: 1.6rem !important; }
.content-wrapper h4 { font-size: 1.35rem !important; }
.card-header h5, .card-header .h5, .card-title { font-size: 1.4rem !important; }
.text-muted, small.text-muted { color: var(--lx-ink-2) !important; }
a { color: var(--lx-gold); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--lx-link-hover); }

.lx-eyebrow {
  font: 600 .7rem/1 var(--lx-sans);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--lx-gold);
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.lx-eyebrow::before { content: ''; width: 24px; height: 1px; background: var(--lx-gold-fill); }

/* ── Sidebar ────────────────────────────────────────────────────────────── */
.layout-menu, .menu-vertical, .layout-menu.menu-vertical {
  background: var(--lx-panel) !important;
  border-right: 1px solid var(--lx-line) !important;
  box-shadow: none !important;
}
.layout-menu .app-brand { padding: 22px 20px 18px !important; height: auto !important; border-bottom: 1px solid var(--lx-line); margin-bottom: 6px; }
.layout-menu .app-brand-logo img { height: 34px !important; }
.lx-brand-name { font-family: var(--lx-serif); font-size: 1.12rem; font-weight: 600; color: var(--lx-ink); line-height: 1.1; display: block; letter-spacing: .01em; }
.lx-brand-sub { font: 600 .6rem/1 var(--lx-sans); color: var(--lx-gold); letter-spacing: .2em; text-transform: uppercase; display: block; margin-top: 5px; }
.layout-menu .menu-header { padding: 1.35rem 1.4rem .45rem !important; }
.layout-menu .menu-header-text, .layout-menu .menu-header .menu-header-text {
  font: 600 .64rem/1 var(--lx-sans) !important;
  letter-spacing: .2em !important;
  color: var(--lx-ink-3) !important;
  text-transform: uppercase;
}
.layout-menu .menu-inner { padding: 0 12px 12px !important; box-sizing: border-box; align-items: stretch !important; }
.layout-menu .menu-inner > .menu-item { margin: 1px 0 !important; width: auto !important; }
.layout-menu .menu-inner > .menu-header { margin: 0 !important; }
.layout-menu .menu-item .menu-link {
  width: 100% !important;
  display: flex !important;
  align-items: center;
  gap: .15rem;
  color: var(--lx-ink-1) !important;
  font: 500 .9rem var(--lx-sans) !important;
  border-radius: 10px !important;
  padding: .62rem .85rem !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: background .18s var(--lx-ease), color .18s var(--lx-ease);
}
.layout-menu .menu-item .menu-link .menu-icon, .layout-menu .menu-item .menu-link i {
  color: var(--lx-ink-3) !important;
  font-size: 1.12rem !important;
  transition: color .18s var(--lx-ease);
}
.layout-menu .menu-item:not(.active) .menu-link:hover { background: var(--lx-hover) !important; color: var(--lx-ink) !important; }
.layout-menu .menu-item:not(.active) .menu-link:hover i { color: var(--lx-gold) !important; }
.layout-menu .menu-item.active > .menu-link, .layout-menu .menu-item.active > .menu-link:hover {
  background: var(--lx-card) !important;
  color: var(--lx-ink) !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 2px rgba(60, 40, 10, .06), inset 0 0 0 1px var(--lx-line) !important;
  position: relative;
}
.layout-menu .menu-item.active > .menu-link::before {
  content: '';
  position: absolute;
  left: -12px;
  top: 10px;
  bottom: 9px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--lx-gold-fill);
}
.layout-menu .menu-item.active > .menu-link i { color: var(--lx-gold) !important; }
.layout-menu .menu-inner-shadow { display: none !important; }
.layout-menu .ps__thumb-y { background: rgba(10, 26, 48, .14) !important; }

.icc-plan-badge {
  margin: 12px !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, var(--lx-tint), var(--lx-tint-2)) !important;
  border: 1px solid var(--lx-gold-line) !important;
  box-shadow: none !important;
  transition: transform .2s var(--lx-ease), box-shadow .2s var(--lx-ease);
}
.icc-plan-badge:hover { transform: translateY(-1px); box-shadow: var(--lx-shadow) !important; }
.icc-plan-badge .plan-name { font-family: var(--lx-serif) !important; font-size: 1.05rem !important; font-weight: 600 !important; color: var(--lx-ink) !important; }
.icc-plan-badge i { color: var(--lx-gold) !important; }

/* ── Top bar ───────────────────────────────────────────────────────────── */
.layout-navbar, .layout-navbar.navbar-detached, .bg-navbar-theme {
  background: var(--lx-header-bg) !important;
  backdrop-filter: saturate(140%) blur(14px);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
  box-shadow: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--lx-line) !important;
  border-radius: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  min-height: 68px;
  padding: 0 28px !important;
}
.icc-page-title { font-size: 1.55rem !important; line-height: 1 !important; }
.layout-navbar .sidebar-toggle-icon { color: var(--lx-ink-2) !important; }
.icc-avatar-initials {
  width: 38px !important; height: 38px !important;
  border-radius: 50% !important;
  background: var(--lx-solid-bg) !important;
  color: var(--lx-solid-accent) !important;
  font: 600 .8rem var(--lx-sans) !important;
  letter-spacing: .06em;
  display: grid !important; place-items: center;
  box-shadow: 0 0 0 3px var(--lx-canvas), 0 0 0 4px var(--lx-gold-line) !important;
}
.dropdown-menu {
  border: 1px solid var(--lx-line) !important;
  border-radius: 14px !important;
  box-shadow: var(--lx-shadow-lift) !important;
  background: var(--lx-card) !important;
  padding: 8px !important;
}
.dropdown-item { border-radius: 8px; font-size: .9rem; color: var(--lx-ink-1); padding: .55rem .75rem; }
.dropdown-item:hover { background: var(--lx-canvas); color: var(--lx-ink); }

/* ── Content area ──────────────────────────────────────────────────────── */
.content-wrapper > .container-xxl, .content-wrapper > [class*="container"] { padding-top: 32px !important; padding-bottom: 40px !important; }
@media (min-width: 1200px) { .content-wrapper > .container-xxl { padding-left: 40px !important; padding-right: 40px !important; max-width: 1280px; } }

/* ── Cards ─────────────────────────────────────────────────────────────── */
.card {
  background: var(--lx-card) !important;
  border: 1px solid var(--lx-line) !important;
  border-radius: var(--lx-radius) !important;
  box-shadow: var(--lx-shadow) !important;
}
.card-header {
  background: transparent !important;
  border-bottom: 1px solid var(--lx-line) !important;
  padding: 1.25rem 1.5rem !important;
}
.card-body { padding: 1.5rem !important; }
.card-footer { background: transparent !important; border-top: 1px solid var(--lx-line) !important; }

/* ── Buttons ───────────────────────────────────────────────────────────── */
.btn {
  font: 600 .875rem/1.2 var(--lx-sans) !important;
  letter-spacing: .01em;
  border-radius: 999px !important;
  padding: .66rem 1.25rem;
  transition: transform .18s var(--lx-ease), box-shadow .18s var(--lx-ease), background .18s, color .18s, border-color .18s;
  box-shadow: none !important;
}
.btn-sm { padding: .42rem .9rem !important; font-size: .8rem !important; }
.btn-primary, .btn-warning, .btn-gold {
  background: var(--lx-gold-fill) !important;
  border: 1px solid var(--lx-gold-fill) !important;
  color: var(--lx-on-gold) !important;
}
.btn-primary:hover, .btn-warning:hover, .btn-gold:hover {
  background: var(--lx-gold-deep) !important;
  border-color: var(--lx-gold-deep) !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(217, 171, 104, .32) !important;
}
.btn-dark, .btn-secondary, .btn-info {
  background: var(--lx-solid-bg) !important;
  border: 1px solid var(--lx-solid-bg) !important;
  color: var(--lx-solid-fg) !important;
}
.btn-dark:hover, .btn-secondary:hover, .btn-info:hover { background: var(--lx-solid-hover) !important; transform: translateY(-1px); }
.btn-outline-primary, .btn-outline-secondary, .btn-outline-dark, .btn-label-primary, .btn-label-secondary, .btn-light {
  background: transparent !important;
  border: 1px solid var(--lx-line-2) !important;
  color: var(--lx-ink) !important;
}
.btn-outline-primary:hover, .btn-outline-secondary:hover, .btn-outline-dark:hover, .btn-label-primary:hover, .btn-label-secondary:hover, .btn-light:hover {
  border-color: var(--lx-gold) !important;
  color: var(--lx-gold) !important;
  background: var(--lx-gold-soft) !important;
}
.btn-success {
  background: var(--lx-ok-bg) !important; border: 1px solid var(--lx-ok-line) !important; color: var(--lx-ok-fg) !important;
}
.btn-danger, .btn-outline-danger, .btn-label-danger {
  background: transparent !important; border: 1px solid rgba(155, 44, 44, .35) !important; color: var(--lx-err-fg) !important;
}
.btn-danger:hover, .btn-outline-danger:hover, .btn-label-danger:hover { background: rgba(155, 44, 44, .06) !important; }
.btn:focus-visible, .form-control:focus, .form-select:focus { outline: none; box-shadow: 0 0 0 4px rgba(237, 196, 139, .35) !important; }

/* ── Forms ─────────────────────────────────────────────────────────────── */
.form-label, label { font: 500 .8rem var(--lx-sans); color: var(--lx-ink-2); letter-spacing: .01em; margin-bottom: .45rem; }
.form-control, .form-select, input[type="text"], input[type="email"], input[type="tel"], input[type="search"], input[type="url"], input[type="number"], textarea, select {
  background-color: var(--lx-card) !important;
  border: 1px solid var(--lx-line-2) !important;
  border-radius: 12px !important;
  color: var(--lx-ink) !important;
  font: 400 .95rem var(--lx-sans) !important;
  padding: .72rem 1rem !important;
  box-shadow: none !important;
  transition: border-color .18s, box-shadow .18s;
}
.form-select, select { padding-right: 2.4rem !important; }
.form-control::placeholder, textarea::placeholder, input::placeholder { color: var(--lx-ink-3) !important; }
.form-control:focus, .form-select:focus, input:focus, textarea:focus, select:focus { border-color: var(--lx-gold) !important; }
.form-control:disabled, .form-control[readonly] { background: var(--lx-canvas) !important; color: var(--lx-ink-2) !important; }
.form-check-input:checked { background-color: var(--lx-solid-bg) !important; border-color: var(--lx-solid-bg) !important; }
.input-group-text { background: var(--lx-canvas) !important; border-color: var(--lx-line-2) !important; color: var(--lx-ink-2) !important; }

/* ── Tables ────────────────────────────────────────────────────────────── */
.table { --bs-table-bg: transparent; --bs-table-striped-bg: transparent; --bs-table-hover-bg: rgba(237, 196, 139, .08); color: var(--lx-ink-1) !important; margin-bottom: 0; }
.table > :not(caption) > * > * { padding: .95rem 1.1rem !important; border-bottom: 1px solid var(--lx-line) !important; background: transparent !important; }
.table thead th, .table > thead > tr > th {
  font: 600 .66rem/1.2 var(--lx-sans) !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: var(--lx-ink-3) !important;
  background: var(--lx-canvas) !important;
  border-bottom: 1px solid var(--lx-line-2) !important;
}
.table tbody tr:last-child td { border-bottom: 0 !important; }
.dataTables_wrapper .dataTables_length select, .dataTables_wrapper .dataTables_filter input { border-radius: 999px !important; padding: .4rem .9rem !important; }
.dataTables_wrapper .dataTables_info { color: var(--lx-ink-2) !important; font-size: .82rem; }
.page-item .page-link { border-radius: 999px !important; border: 1px solid var(--lx-line) !important; color: var(--lx-ink-1) !important; margin: 0 2px; background: var(--lx-card) !important; }
.page-item.active .page-link { background: var(--lx-solid-bg) !important; border-color: var(--lx-solid-bg) !important; color: var(--lx-solid-accent) !important; }

/* ── Badges ────────────────────────────────────────────────────────────── */
.badge {
  font: 600 .68rem/1 var(--lx-sans) !important;
  letter-spacing: .06em;
  border-radius: 999px !important;
  padding: .42rem .7rem !important;
  background: var(--lx-gold-soft) !important;
  color: var(--lx-gold) !important;
  border: 1px solid var(--lx-gold-line);
  text-transform: none;
}
.badge.bg-success, .badge.bg-label-success { background: var(--lx-ok-bg) !important; color: var(--lx-ok-fg) !important; border-color: var(--lx-ok-line); }
.badge.bg-danger, .badge.bg-label-danger { background: var(--lx-err-bg) !important; color: var(--lx-err-fg) !important; border-color: var(--lx-err-line); }
.badge.bg-secondary, .badge.bg-label-secondary { background: var(--lx-canvas) !important; color: var(--lx-ink-2) !important; border-color: var(--lx-line); }

/* ── Notices & alerts ──────────────────────────────────────────────────── */
.alert {
  border: 1px solid var(--lx-line) !important;
  border-radius: 14px !important;
  background: var(--lx-card) !important;
  color: var(--lx-ink-1) !important;
  box-shadow: var(--lx-shadow) !important;
  padding: 1rem 1.25rem !important;
}
.alert-success { border-left: 3px solid #4f8a65 !important; }
.alert-danger { border-left: 3px solid #a33a3a !important; }
.alert-warning, .alert-info { border-left: 3px solid var(--lx-gold-fill) !important; }

.lx-notice {
  display: flex; align-items: center; gap: 18px;
  background: linear-gradient(180deg, var(--lx-tint), var(--lx-tint-2));
  border: 1px solid var(--lx-gold-line);
  border-radius: var(--lx-radius);
  padding: 16px 20px;
  margin-bottom: 24px;
  box-shadow: var(--lx-shadow);
}
.lx-notice-icon {
  flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px;
  display: grid; place-items: center;
  background: var(--lx-card); border: 1px solid var(--lx-gold-line); color: var(--lx-gold); font-size: 1.2rem;
}
.lx-notice-title { font-family: var(--lx-serif); font-size: 1.22rem; font-weight: 600; color: var(--lx-ink); line-height: 1.2; }
.lx-notice-text { font-size: .86rem; color: var(--lx-ink-2); margin-top: 2px; }
.lx-notice .btn { flex: 0 0 auto; }
@media (max-width: 767px) {
  .lx-notice { padding: 12px 14px; gap: 12px; margin-bottom: 18px; border-radius: 14px; }
  .lx-notice-icon { display: none; }
  .lx-notice-title { font-size: 1.05rem; }
  .lx-notice-text { font-size: .78rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .lx-notice .btn { padding: .5rem .9rem !important; font-size: .78rem !important; white-space: nowrap; }
  .layout-navbar, .layout-navbar.navbar-detached { padding: 0 16px !important; }
  .icc-page-title { font-size: 1.3rem !important; }
}

/* ── Footer ────────────────────────────────────────────────────────────── */
.content-footer, .footer, .bg-footer-theme { background: transparent !important; border-top: 1px solid var(--lx-line) !important; }
.lx-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 0; font-size: .8rem; color: var(--lx-ink-3); flex-wrap: wrap; }
.lx-footer a { color: var(--lx-ink-2); text-decoration: none; margin-left: 20px; }
.lx-footer a:hover { color: var(--lx-gold); }
.lx-footer .lx-footer-mark { font-family: var(--lx-serif); font-style: italic; font-size: .98rem; color: var(--lx-ink-2); }

/* ── Misc polish ───────────────────────────────────────────────────────── */
hr, .dropdown-divider { border-color: var(--lx-line) !important; opacity: 1; }
.nav-tabs .nav-link, .nav-pills .nav-link { border-radius: 999px !important; color: var(--lx-ink-2) !important; font-weight: 500; }
.nav-pills .nav-link.active, .nav-tabs .nav-link.active { background: var(--lx-solid-bg) !important; color: var(--lx-solid-accent) !important; border-color: transparent !important; }
.modal-content { border: 1px solid var(--lx-line) !important; border-radius: 20px !important; box-shadow: var(--lx-shadow-lift) !important; }
.modal-header { border-bottom: 1px solid var(--lx-line) !important; }
.modal-title { font-family: var(--lx-serif) !important; font-weight: 600 !important; font-size: 1.5rem !important; color: var(--lx-ink) !important; }
.swal2-popup { border-radius: 20px !important; font-family: var(--lx-sans) !important; }
.swal2-title { font-family: var(--lx-serif) !important; color: var(--lx-ink) !important; }
.swal2-confirm { background: var(--lx-gold-fill) !important; color: var(--lx-on-gold) !important; border-radius: 999px !important; }
.progress { background: var(--lx-panel) !important; border-radius: 999px !important; height: 6px !important; }
.progress-bar { background: linear-gradient(90deg, var(--lx-gold-deep), var(--lx-gold-fill)) !important; border-radius: 999px !important; }
*:focus-visible { outline: 2px solid var(--lx-gold-fill); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* ── Pricing ───────────────────────────────────────────────────────────── */
.icc-pricing-heading { font-family: var(--lx-serif) !important; font-weight: 600 !important; font-size: clamp(2.2rem, 3.6vw, 3rem) !important; color: var(--lx-ink) !important; }
.icc-pricing-sub { color: var(--lx-ink-2) !important; }
.icc-plan-card { border-radius: 20px !important; border: 1px solid var(--lx-line) !important; box-shadow: var(--lx-shadow) !important; background: var(--lx-card) !important; }
.icc-plan-card.featured { border-color: var(--lx-gold-line) !important; background: linear-gradient(180deg, var(--lx-tint), var(--lx-card) 46%) !important; box-shadow: var(--lx-shadow-lift) !important; }
.icc-popular-badge { background: var(--lx-gold-fill) !important; color: var(--lx-on-gold) !important; font: 700 .62rem var(--lx-sans) !important; letter-spacing: .16em !important; border-radius: 999px !important; }
.icc-plan-name { font-family: var(--lx-serif) !important; font-size: 1.9rem !important; font-weight: 600 !important; color: var(--lx-ink) !important; }
.icc-price-amount { font-family: var(--lx-serif) !important; font-weight: 600 !important; font-size: 3.2rem !important; color: var(--lx-ink) !important; letter-spacing: -.01em; }
.icc-price-currency { font-family: var(--lx-serif) !important; font-size: 1.6rem !important; color: var(--lx-gold) !important; }
.icc-price-slashed { color: var(--lx-ink-3) !important; }
.icc-discount-badge, .icc-save-badge, .icc-annual-save {
  background: var(--lx-gold-soft) !important; color: var(--lx-gold) !important; border: 1px solid var(--lx-gold-line) !important;
  border-radius: 999px !important; font: 600 .66rem var(--lx-sans) !important; letter-spacing: .08em !important;
}
.icc-features li .check { color: var(--lx-gold) !important; }
.icc-features li { color: var(--lx-ink-1) !important; }
.icc-plan-btn { border-radius: 999px !important; font: 600 .9rem var(--lx-sans) !important; }
.icc-plan-btn.primary { background: var(--lx-solid-bg) !important; color: var(--lx-solid-accent) !important; border-color: var(--lx-solid-bg) !important; }
.icc-toggle-wrap { background: var(--lx-panel) !important; border-radius: 999px !important; }
.icc-toggle-btn.active { background: var(--lx-solid-bg) !important; color: var(--lx-solid-accent) !important; }
.icc-faq-heading { font-family: var(--lx-serif) !important; font-weight: 600 !important; color: var(--lx-ink) !important; }
.icc-faq-item { border-color: var(--lx-line) !important; }
.icc-faq-q { font-family: var(--lx-serif) !important; font-size: 1.25rem !important; font-weight: 600 !important; color: var(--lx-ink) !important; }

/* ── Floating-label fields (Bootstrap .form-floating) ─────────────────── */
.content-wrapper .form-floating { position: relative; }
.content-wrapper .form-floating > .form-control, .content-wrapper .form-floating > .form-select {
  height: 58px !important; min-height: 58px !important; padding: 24px 16px 8px !important; line-height: 1.3 !important;
}
.content-wrapper .form-floating > label {
  position: absolute; top: 0; left: 0; height: auto !important; padding: 9px 17px 0 !important; margin: 0 !important;
  border: 0 !important; background: none !important; transform: none !important; opacity: 1 !important;
  font: 600 .64rem/1.4 var(--lx-sans) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--lx-ink-3) !important;
  pointer-events: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%;
}
.content-wrapper .form-floating > label::after { display: none !important; }
.content-wrapper .form-floating > .form-control:focus ~ label, .content-wrapper .form-floating > .form-select:focus ~ label { color: var(--lx-gold) !important; }
.content-wrapper .form-floating > .form-control::placeholder { color: transparent !important; }
.content-wrapper .form-floating > .form-control:focus::placeholder { color: var(--lx-ink-3) !important; }

/* ── Judgment reader ───────────────────────────────────────────────────── */
.jr-doc {
  max-width: 800px !important; background: var(--lx-card) !important; border: 1px solid var(--lx-line) !important;
  border-radius: 20px !important; box-shadow: var(--lx-shadow) !important; overflow: hidden;
}
.jr-top { padding: 48px 64px 28px !important; background: linear-gradient(180deg, var(--lx-tint), var(--lx-card)) !important; border-bottom: 1px solid var(--lx-line) !important; }
.jr-brand { font: 600 .64rem/1 var(--lx-sans) !important; letter-spacing: .24em !important; color: var(--lx-gold) !important; }
.jr-citation { font-family: var(--lx-serif) !important; font-weight: 600 !important; font-size: clamp(1.8rem, 3vw, 2.4rem) !important; line-height: 1.18 !important; color: var(--lx-ink) !important; text-wrap: balance; }
.jr-meta-block { padding: 20px 64px !important; background: var(--lx-canvas) !important; border-bottom: 1px solid var(--lx-line) !important; }
.jr-court { font: 600 .7rem/1.7 var(--lx-sans) !important; letter-spacing: .1em !important; color: var(--lx-gold) !important; text-transform: uppercase; margin: 0 !important; }
.jr-body { padding: 36px 64px 48px !important; }
.jr-para {
  font-family: 'Source Serif 4', Georgia, serif !important; font-size: 1.08rem !important; line-height: 1.85 !important;
  color: var(--lx-reading) !important; text-align: left !important; hyphens: auto; margin: 0 0 1.15em !important;
}
.jr-num { font: 600 .82rem var(--lx-sans) !important; color: var(--lx-gold) !important; margin-right: .5em; }
.jr-section { font-family: var(--lx-serif) !important; font-size: 1.35rem !important; font-weight: 600 !important; letter-spacing: .02em !important; color: var(--lx-ink) !important; text-transform: none !important; margin: 1.6em 0 .7em !important; }
.jr-hn { background: var(--lx-tint) !important; border: 1px solid var(--lx-gold-line) !important; border-left: 3px solid var(--lx-gold-fill) !important; border-radius: 12px !important; padding: 14px 18px !important; font-family: 'Source Serif 4', Georgia, serif; font-size: .98rem !important; line-height: 1.7 !important; color: var(--lx-ink-1) !important; }
.jr-hn-label { font: 600 .7rem var(--lx-sans) !important; color: var(--lx-gold) !important; letter-spacing: .08em; }
.jr-footer { padding: 18px 64px !important; border-top: 1px solid var(--lx-line) !important; font: 500 .74rem var(--lx-sans) !important; color: var(--lx-ink-3) !important; background: var(--lx-canvas) !important; }
.jr-toolbar { gap: 8px; }
.jr-btn, .icc-judgment-btn { border-radius: 999px !important; border: 1px solid var(--lx-line-2) !important; background: var(--lx-card) !important; color: var(--lx-ink-1) !important; font: 500 .8rem var(--lx-sans) !important; padding: .45rem .95rem !important; }
.jr-btn:hover, .icc-judgment-btn:hover { background: var(--lx-solid-bg) !important; color: var(--lx-solid-accent) !important; border-color: var(--lx-solid-bg) !important; }
#back-to-top { background: var(--lx-solid-bg) !important; color: var(--lx-solid-accent) !important; border-radius: 50% !important; border: 0 !important; box-shadow: var(--lx-shadow-lift) !important; }
@media (max-width: 767px) { .jr-top, .jr-meta-block, .jr-body, .jr-footer { padding-left: 22px !important; padding-right: 22px !important; } .jr-para { font-size: 1.02rem !important; } }

.layout-menu .app-brand-logo { background: none !important; width: auto !important; height: auto !important; box-shadow: none !important; }
.layout-menu .app-brand-logo img { height: 30px !important; }

.icc-feature-title { color: var(--lx-ink) !important; font-family: var(--lx-serif) !important; font-weight: 600 !important; font-size: 1.15rem !important; }
