/* Opt-in foundation components for gradual adoption across InMyJet. */

.ij-surface-shell {
  width: min(var(--ij-container-max), calc(100% - (2 * var(--ij-space-4))));
  margin-inline: auto;
  padding: var(--ij-space-6);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: var(--ij-radius-xl);
  background: rgba(255, 249, 240, 0.78);
  box-shadow: var(--ij-shadow-lg);
  color: var(--ij-color-text-primary);
}

.ij-stack > * + * {
  margin-top: var(--ij-space-4);
}

.ij-cluster {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ij-space-3);
  align-items: center;
}

.ij-grid {
  display: grid;
  gap: var(--ij-space-4);
}

.ij-grid-auto {
  display: grid;
  gap: var(--ij-space-4);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
}

.ij-eyebrow {
  margin: 0;
  color: var(--ij-color-brand-strong);
  font-family: var(--ij-font-family-label);
  font-size: var(--ij-font-size-xs);
  font-weight: var(--ij-font-weight-semibold);
  letter-spacing: 0.12em;
  line-height: var(--ij-line-height-tight);
  text-transform: uppercase;
}

.ij-heading-display,
.ij-heading-section,
.ij-heading-card,
.ij-body,
.ij-meta {
  margin: 0;
}

.ij-heading-display {
  font-family: var(--ij-font-family-display);
  font-size: var(--ij-font-size-3xl);
  font-weight: var(--ij-font-weight-bold);
  line-height: 0.95;
  letter-spacing: -0.02em;
}

.ij-heading-section {
  font-family: var(--ij-font-family-display);
  font-size: var(--ij-font-size-2xl);
  font-weight: var(--ij-font-weight-bold);
  line-height: 1;
}

.ij-heading-card {
  font-family: var(--ij-font-family-body);
  font-size: var(--ij-font-size-lg);
  font-weight: var(--ij-font-weight-semibold);
  line-height: var(--ij-line-height-snug);
}

.ij-body {
  color: var(--ij-color-text-secondary);
  font-family: var(--ij-font-family-body);
  font-size: var(--ij-font-size-md);
  line-height: var(--ij-line-height-body);
}

.ij-meta {
  color: var(--ij-color-text-muted);
  font-family: var(--ij-font-family-body);
  font-size: var(--ij-font-size-sm);
  line-height: var(--ij-line-height-body);
}

.ij-section-header {
  display: grid;
  gap: var(--ij-space-3);
  align-items: start;
}

.ij-section-header__content {
  display: grid;
  gap: var(--ij-space-2);
}

.ij-section-header__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ij-space-3);
  align-items: center;
}

.ij-card {
  display: grid;
  gap: var(--ij-space-4);
  padding: var(--ij-space-5);
  border: 1px solid var(--ij-color-border-soft);
  border-radius: var(--ij-radius-lg);
  background: var(--ij-color-bg-panel);
  box-shadow: var(--ij-shadow-sm);
  color: var(--ij-color-text-primary);
}

.ij-card--elevated {
  background: var(--ij-color-bg-panel-strong);
  box-shadow: var(--ij-shadow-md);
}

.ij-card--muted {
  background: var(--ij-color-bg-panel-muted);
}

.ij-card__header,
.ij-card__body,
.ij-card__footer {
  display: grid;
  gap: var(--ij-space-3);
}

.ij-feed-card {
  display: grid;
  gap: var(--ij-space-4);
  padding: var(--ij-space-5);
  border: 1px solid var(--ij-color-border-soft);
  border-radius: var(--ij-radius-lg);
  background: var(--ij-color-bg-elevated);
  box-shadow: var(--ij-shadow-sm);
  color: var(--ij-color-text-primary);
}

.ij-feed-card__header,
.ij-feed-card__meta,
.ij-feed-card__body,
.ij-feed-card__footer,
.ij-feed-card__actions {
  display: grid;
  gap: var(--ij-space-3);
}

.ij-feed-card__badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ij-space-2);
}

.ij-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ij-space-2);
  min-height: var(--ij-touch-target-min);
  padding: 0.75rem 1rem;
  border: 1px solid transparent;
  border-radius: var(--ij-radius-pill);
  background: transparent;
  color: var(--ij-color-text-primary);
  font-family: var(--ij-font-family-body);
  font-size: var(--ij-font-size-sm);
  font-weight: var(--ij-font-weight-semibold);
  line-height: 1;
  text-align: center;
  text-decoration: none;
  transition:
    color var(--ij-motion-fast),
    background-color var(--ij-motion-fast),
    border-color var(--ij-motion-fast),
    box-shadow var(--ij-motion-fast),
    transform var(--ij-motion-fast);
  cursor: pointer;
}

.ij-button:hover {
  text-decoration: none;
  transform: translateY(-1px);
}

.ij-button:focus-visible {
  outline: none;
  box-shadow: var(--ij-shadow-focus);
}

.ij-button:disabled,
.ij-button[aria-disabled="true"] {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.ij-button--primary {
  background: var(--ij-color-brand);
  border-color: var(--ij-color-brand);
  color: var(--ij-color-text-inverse);
}

.ij-button--primary:hover {
  background: var(--ij-color-brand-strong);
  border-color: var(--ij-color-brand-strong);
  color: var(--ij-color-text-inverse);
}

.ij-button--secondary {
  background: var(--ij-color-bg-panel-strong);
  border-color: var(--ij-color-border-default);
  color: var(--ij-color-text-primary);
}

.ij-button--secondary:hover {
  border-color: var(--ij-color-brand);
  color: var(--ij-color-brand-strong);
}

.ij-button--ghost {
  border-color: transparent;
  color: var(--ij-color-brand-strong);
}

.ij-button--ghost:hover {
  background: rgba(217, 123, 45, 0.08);
}

.ij-button--danger {
  background: var(--ij-color-danger);
  border-color: var(--ij-color-danger);
  color: var(--ij-color-text-inverse);
}

.ij-button--chip {
  min-height: 2.25rem;
  padding: 0.5rem 0.875rem;
  border-radius: var(--ij-radius-pill);
  background: var(--ij-color-bg-panel-strong);
  border-color: var(--ij-color-border-soft);
  color: var(--ij-color-text-secondary);
}

.ij-button--chip:hover,
.ij-button--chip[aria-pressed="true"],
.ij-button--chip.is-active {
  background: var(--ij-color-brand-soft);
  border-color: var(--ij-color-brand);
  color: var(--ij-color-brand-strong);
}

.ij-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--ij-space-2);
  min-height: 2rem;
  padding: 0.375rem 0.75rem;
  border: 1px solid transparent;
  border-radius: var(--ij-radius-pill);
  font-family: var(--ij-font-family-label);
  font-size: var(--ij-font-size-xs);
  font-weight: var(--ij-font-weight-semibold);
  letter-spacing: 0.06em;
  line-height: 1;
  text-transform: uppercase;
}

.ij-badge--neutral {
  background: var(--ij-color-neutral-soft);
  border-color: var(--ij-color-border-soft);
  color: var(--ij-color-neutral);
}

.ij-badge--brand {
  background: var(--ij-color-brand-soft);
  border-color: rgba(217, 123, 45, 0.28);
  color: var(--ij-color-brand-strong);
}

.ij-badge--success {
  background: var(--ij-color-success-soft);
  border-color: rgba(31, 122, 92, 0.24);
  color: var(--ij-color-success);
}

.ij-badge--warning {
  background: var(--ij-color-warning-soft);
  border-color: rgba(183, 121, 31, 0.24);
  color: var(--ij-color-warning);
}

.ij-badge--danger {
  background: var(--ij-color-danger-soft);
  border-color: rgba(184, 50, 50, 0.24);
  color: var(--ij-color-danger);
}

.ij-badge--info {
  background: var(--ij-color-info-soft);
  border-color: rgba(47, 111, 221, 0.24);
  color: var(--ij-color-info);
}

.ij-filter-bar {
  display: grid;
  gap: var(--ij-space-3);
  padding: var(--ij-space-4);
  border: 1px solid var(--ij-color-border-soft);
  border-radius: var(--ij-radius-lg);
  background: var(--ij-color-bg-panel);
  overflow-x: clip;
}

.ij-filter-bar__group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ij-space-2);
  align-items: center;
}

.ij-filter-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ij-space-2);
  min-height: 2.5rem;
  max-width: 100%;
  padding: 0.625rem 0.875rem;
  border: 1px solid var(--ij-color-border-soft);
  border-radius: var(--ij-radius-pill);
  background: var(--ij-color-bg-panel-strong);
  color: var(--ij-color-text-secondary);
  font-family: var(--ij-font-family-body);
  font-size: var(--ij-font-size-sm);
  font-weight: var(--ij-font-weight-medium);
  line-height: 1.2;
}

.ij-filter-chip.is-active,
.ij-filter-chip[aria-pressed="true"] {
  border-color: var(--ij-color-brand);
  background: var(--ij-color-brand-soft);
  color: var(--ij-color-brand-strong);
}

/* Legacy markup compatibility for the first phased filter-bar rollout. */
.ij-filter-bar .div-direct-access-category[style*="display:none"],
.ij-filter-bar .div-direct-access-category[style*="display: none"],
.ij-filter-bar .div-direct-access-planeserie[style*="display:none"],
.ij-filter-bar .div-direct-access-planeserie[style*="display: none"] {
  display: none !important;
}

.ij-filter-bar .div-direct-access-category:not([style*="display:none"]):not([style*="display: none"]),
.ij-filter-bar .div-direct-access-planeserie:not([style*="display:none"]):not([style*="display: none"]) {
  display: flex !important;
  flex-wrap: wrap;
  gap: var(--ij-space-2);
  align-items: flex-start;
  white-space: normal;
}

.ij-filter-bar .ij-filter-bar__group.row {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.ij-filter-bar .ij-filter-panel {
  width: 100%;
  padding-top: var(--ij-space-2);
}

.ij-filter-bar .ij-filter-panel__section {
  display: grid;
  gap: var(--ij-space-3);
  align-content: start;
  padding: var(--ij-space-4);
  border: 1px solid var(--ij-color-border-soft);
  border-radius: var(--ij-radius-lg);
  background: rgba(255, 255, 255, 0.42);
}

.ij-filter-bar .ij-filter-panel__title {
  margin: 0;
  color: var(--ij-color-brand-strong);
  font-family: var(--ij-font-family-label);
  font-size: var(--ij-font-size-xs);
  font-weight: var(--ij-font-weight-semibold);
  letter-spacing: 0.12em;
  line-height: var(--ij-line-height-tight);
  text-transform: uppercase;
}

.ij-filter-bar .ij-filter-panel__items {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ij-space-2);
  align-items: flex-start;
}

.ij-filter-bar .ij-filter-panel__item {
  margin: 0 !important;
}

.ij-filter-bar .ij-filter-panel__item .btn,
.ij-filter-bar .ij-filter-panel__item .ij-filter-chip {
  margin: 0 !important;
}

.ij-filter-bar .ij-filter-panel__manufacturer {
  display: grid;
  gap: var(--ij-space-3);
}

.ij-filter-bar .ij-filter-panel__manufacturer-label {
  margin: 0;
}

.ij-filter-bar .ij-filter-panel__manufacturer-label .btn {
  min-height: 2.25rem;
  border-radius: var(--ij-radius-pill);
}

.ij-filter-bar .ij-filter-panel__manufacturer-items {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ij-space-2);
  justify-content: flex-start;
}

.ij-filter-bar .text-right {
  text-align: left !important;
}

.ij-filter-bar .btn,
.ij-filter-bar .ij-filter-chip,
.ij-filter-bar .ij-button {
  max-width: 100%;
  white-space: normal;
}

.ij-filter-bar .ij-section-header__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ij-space-2);
  align-items: center;
}

.ij-filter-bar .ij-button {
  display: inline-flex !important;
  justify-content: center;
}

.ij-filter-bar .btn-direct-access-planeserie,
.ij-filter-bar .btn-direct-access-category,
.ij-filter-bar .btn-direct-access-gmarket {
  width: auto;
}

/* Main Cafe header/filter-shell compatibility for phased rollout 1. */
.ij-maincafe-shell {
  position: relative;
  gap: 0.2rem;
  margin-bottom: 0 !important;
  padding: 0.46rem 0.7rem !important;
  border: 1px solid rgba(20, 39, 63, 0.07);
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(185, 151, 92, 0.1), transparent 26%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(246, 248, 251, 0.97));
  box-shadow: 0 20px 46px rgba(18, 35, 58, 0.075);
  overflow: hidden;
}

.ij-maincafe-shell::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(24, 38, 57, 0), rgba(24, 38, 57, 0.08), rgba(191, 166, 124, 0.18), rgba(24, 38, 57, 0.08), rgba(24, 38, 57, 0));
  pointer-events: none;
}

.ij-maincafe-shell .ij-maincafe-shell__content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.34rem 0.44rem;
  min-width: 0;
}

.cafe-tab,
.ij-cafe-tab,
.main-cafe-tab,
.ij-maincafe-shell .ij-maincafe-shell__current,
.ij-maincafe-shell .ij-maincafe-shell__nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 34px;
  padding: 6px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  font-family: Inter, Arial, sans-serif;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.25;
  vertical-align: middle;
}

.ij-maincafe-shell .ij-maincafe-shell__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
  align-items: center;
}

.ij-maincafe-shell .ij-maincafe-shell__nav-link,
.ij-maincafe-shell .ij-maincafe-shell__action-button,
.ij-maincafe-shell .ij-maincafe-shell__market-link {
  margin: 0 !important;
}

.cafe-tab.active,
.ij-cafe-tab.active,
.main-cafe-tab.active,
.ij-maincafe-shell .ij-maincafe-shell__current {
  border: none;
  background: #18365f;
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(15, 35, 65, 0.14);
}

.cafe-tab:not(.active),
.ij-cafe-tab:not(.active),
.main-cafe-tab:not(.active),
.ij-maincafe-shell .ij-maincafe-shell__nav-link {
  border: 1.5px solid #3b66b8;
  background: #ffffff !important;
  color: #2f4f7f !important;
  box-shadow: none;
}

.ij-maincafe-shell .ij-maincafe-shell__nav-link:hover,
.ij-maincafe-shell .ij-maincafe-shell__nav-link:focus {
  border-color: #3b66b8;
  background: #ffffff !important;
  color: #2f4f7f !important;
}

.ij-maincafe-shell .ij-maincafe-shell__actions {
  align-items: stretch;
  gap: 0.16rem;
}

.ij-maincafe-shell .ij-maincafe-shell__action-button,
.ij-maincafe-shell .ij-maincafe-shell__market-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  min-height: 1.88rem;
  padding: 0.34rem 0.88rem;
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(18, 35, 58, 0.04);
  font-size: 0.77rem;
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: 0.01em;
  text-align: center;
  white-space: nowrap;
  flex-wrap: nowrap;
}

.ij-maincafe-shell .btn-direct-access-planeserie,
.ij-maincafe-shell .btn-direct-access-category,
.ij-maincafe-shell .btn-direct-access-gmarket {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  min-height: 1.88rem;
  min-width: 0;
  width: auto;
  max-width: none;
  padding: 0.34rem 0.88rem;
  border-radius: 999px;
  font-size: 0.77rem;
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: 0.01em;
  text-align: center;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  flex-wrap: nowrap;
}

.ij-maincafe-shell .ij-maincafe-shell__action-button {
  min-width: 0;
  max-width: none;
  border-color: rgba(20, 39, 63, 0.1);
  background: rgba(255, 255, 255, 0.9);
  color: #22374f;
  white-space: nowrap;
  overflow-wrap: normal;
  flex-wrap: nowrap;
}

.ij-maincafe-shell .ij-maincafe-shell__action-button:hover,
.ij-maincafe-shell .ij-maincafe-shell__action-button:focus {
  border-color: rgba(185, 151, 92, 0.42);
  background: rgba(255, 255, 255, 0.98);
  color: #13233a;
}

.ij-maincafe-shell .ij-maincafe-shell__market-link {
  border-color: rgba(192, 160, 102, 0.58);
  background: linear-gradient(180deg, #243b5f, #182c49) !important;
  color: #fffdf8 !important;
  box-shadow:
    0 10px 22px rgba(15, 36, 63, 0.115),
    inset 0 0 0 1px rgba(201, 170, 112, 0.3);
}

.ij-maincafe-shell .ij-maincafe-shell__market-link:hover,
.ij-maincafe-shell .ij-maincafe-shell__market-link:focus {
  border-color: rgba(205, 173, 114, 0.68);
  background: linear-gradient(180deg, #2b466f, #1d3557) !important;
  color: #ffffff !important;
  box-shadow:
    0 14px 28px rgba(15, 36, 63, 0.16),
    inset 0 0 0 1px rgba(210, 180, 121, 0.38);
}

.ij-maincafe-shell .ij-maincafe-shell__action-button .icon,
.ij-maincafe-shell .ij-maincafe-shell__market-link .icon {
  flex: 0 0 auto;
  font-size: 0.94rem;
  line-height: 1;
}

.ij-maincafe-shell .ij-filter-panel__section {
  border: 1px solid rgba(20, 39, 63, 0.06);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.74);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
  padding-top: 0;
  padding-bottom: 0;
}

.ij-maincafe-shell .ij-filter-panel__title {
  color: #5c6a7e;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ij-maincafe-shell .ij-filter-panel__manufacturer-label .btn {
  min-height: 1.74rem;
}

.ij-maincafe-shell .ij-filter-chip {
  border-color: rgba(20, 39, 63, 0.09);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #3c4c63;
  box-shadow: 0 8px 18px rgba(18, 35, 58, 0.03);
  min-height: 1.68rem;
  padding: 0.24rem 0.52rem;
}

.ij-maincafe-shell .ij-filter-chip:hover,
.ij-maincafe-shell .ij-filter-chip:focus {
  border-color: rgba(185, 151, 92, 0.4);
  background: rgba(255, 255, 255, 1);
  color: #13233a;
}

/* Main Cafe premium top composer. */
.ij-maincafe-top-composer-wrap {
  padding-top: 0 !important;
  padding-bottom: 0.08rem !important;
}

/* Main Cafe route-specific legacy header/banner compatibility. */
.ij-page--main-cafe .page-banner.bg-img.overlay-dark {
  background-position: center center;
}

.ij-page--main-cafe .search-form .form-group {
  margin-bottom: 0.02rem !important;
}

.ij-page--main-cafe #sq.form-control.form-control-sm {
  min-height: 2.38rem;
}

.ij-maincafe-top-composer {
  position: relative;
  padding: 0.56rem 0.72rem 0.5rem;
  border: 1px solid rgba(20, 39, 63, 0.07);
  border-radius: 20px;
  background:
    radial-gradient(circle at top left, rgba(185, 151, 92, 0.08), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(246, 248, 251, 0.97));
  box-shadow: 0 14px 30px rgba(18, 35, 58, 0.065);
}

.ij-maincafe-top-composer__header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.54rem;
  align-items: start;
}

.ij-maincafe-top-composer__avatar {
  margin: 0;
}

.ij-maincafe-top-composer__body {
  display: grid;
  gap: 0.34rem;
  min-width: 0;
}

.ij-maincafe-top-composer__title {
  min-height: 2.08rem;
  padding: 0.5rem 0.64rem;
  border: 1px solid rgba(20, 39, 63, 0.08);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
  color: #13233a;
  font-size: 1.02rem;
  font-weight: 600;
}

.ij-maincafe-top-composer__title::placeholder {
  color: #314764;
  opacity: 1;
  font-size: 1.08rem;
  font-weight: 500;
  font-style: italic;
}

.ij-maincafe-top-composer__title:focus {
  border-color: rgba(185, 151, 92, 0.42);
  box-shadow: 0 0 0 3px rgba(185, 151, 92, 0.12);
}

.ij-maincafe-top-composer__editor {
  display: grid;
  grid-template-columns: auto auto auto minmax(0, 1fr);
  gap: 0.34rem;
  align-items: center;
  padding: 0.34rem 0.48rem;
  border: 1px solid rgba(20, 39, 63, 0.07);
  border-radius: 15px;
  background: rgba(247, 249, 252, 0.92);
}

.ij-maincafe-top-composer__emoji,
.ij-maincafe-top-composer__media {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.82rem;
  height: 1.82rem;
  margin: 0 !important;
  border: 1px solid rgba(20, 39, 63, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #52627a;
  box-shadow: 0 8px 18px rgba(18, 35, 58, 0.035);
}

.ij-maincafe-top-composer__textarea {
  min-height: 1.84rem;
  margin: 0 !important;
  padding: 0.28rem 0.04rem;
  border: none;
  background: transparent;
  box-shadow: none;
  color: #23374f;
  line-height: 1.6;
  resize: vertical;
}

.ij-maincafe-top-composer__textarea::placeholder {
  color: #758093;
}

.ij-maincafe-top-composer__textarea:focus {
  background: transparent;
  box-shadow: none;
}

.ij-maincafe-top-composer__photos {
  margin-left: 0;
  margin-right: 0;
}

.ij-maincafe-top-composer__selectors {
  margin-top: 0 !important;
}

.ij-maincafe-top-composer__select {
  min-height: 2rem;
  border: 1px solid rgba(20, 39, 63, 0.08);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.94);
  color: #23374f;
  box-shadow: none;
}

.ij-maincafe-top-composer__select:focus {
  border-color: rgba(185, 151, 92, 0.42);
  box-shadow: 0 0 0 3px rgba(185, 151, 92, 0.12);
}

.ij-maincafe-top-composer__note {
  margin: 0 !important;
  padding: 0;
  color: #6a7688;
  line-height: 1.32;
}

.ij-maincafe-top-composer__footer {
  margin-top: 0 !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.3rem;
}

.ij-maincafe-top-composer__ack {
  margin-left: 0.18rem;
  color: #52627a;
}

.ij-maincafe-top-composer__hint {
  color: #6d532a;
}

.ij-maincafe-top-composer__error {
  border-radius: 12px;
}

.ij-maincafe-top-composer__submit {
  min-height: 1.98rem;
  padding-inline: 0.78rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #13233a, #233a5c);
  border-color: rgba(185, 151, 92, 0.75);
  box-shadow: 0 14px 30px rgba(19, 35, 58, 0.16);
}

.col-12.py-2.smaller2 {
  padding-top: 0.04rem !important;
  padding-bottom: 0.08rem !important;
}

#div-collapse-all-posts,
#div-expand-all-posts {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  color: #52627a;
  line-height: 1.25;
}

/* Main Cafe feed cards: message + job. */
.ij-maincafe-message-card,
.ij-maincafe-job-card {
  position: relative;
  border: 1px solid rgba(20, 39, 63, 0.06);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(248, 250, 252, 0.965));
  box-shadow: 0 14px 28px rgba(18, 35, 58, 0.055);
  overflow: hidden;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.ij-maincafe-message-card:hover,
.ij-maincafe-job-card:hover {
  transform: translateY(-1px);
  border-color: rgba(20, 39, 63, 0.085);
  box-shadow: 0 22px 40px rgba(18, 35, 58, 0.075);
}

.ij-maincafe-message-card .div-collapse,
.ij-maincafe-job-card .div-collapse {
  top: 0.95rem;
  right: 1rem;
  opacity: 0.42;
}

.ij-maincafe-message-card .ij-maincafe-message-card__header,
.ij-maincafe-job-card .ij-feed-card__header {
  padding: 0;
}

.ij-maincafe-message-card .ij-maincafe-message-card__meta,
.ij-maincafe-job-card .ij-feed-card__meta {
  gap: 0.16rem;
}

.ij-maincafe-message-card .ij-maincafe-message-card__badge-row,
.ij-maincafe-job-card .ij-feed-card__badge-row {
  gap: 0.38rem;
}

.ij-maincafe-message-card .ij-maincafe-message-card__badge-row .btn,
.ij-maincafe-job-card .ij-feed-card__badge-row .btn {
  min-height: 1.95rem;
  padding-inline: 0.62rem;
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  box-shadow: none;
}

.ij-maincafe-message-card .ij-maincafe-message-card__badge-row .btn-tag,
.ij-maincafe-job-card .ij-feed-card__badge-row .btn-tag {
  border-color: rgba(20, 39, 63, 0.09);
  background: rgba(247, 249, 252, 0.96);
  color: #52627a;
}

.ij-maincafe-message-card .ij-maincafe-message-card__body,
.ij-maincafe-job-card .ij-maincafe-job-card__body {
  gap: 0;
  padding: 0;
}

.ij-maincafe-message-card .ij-maincafe-message-card__title .spn-edit-title,
.ij-maincafe-job-card .ij-maincafe-job-card__title {
  max-width: none;
}

.ij-maincafe-job-card .ij-maincafe-job-card__title {
  margin: 0;
}

.ij-maincafe-message-card .ij-maincafe-message-card__excerpt,
.ij-maincafe-job-card .ij-maincafe-job-card__excerpt {
  max-width: none;
  gap: 0.64rem;
}

.ij-maincafe-message-card .ij-maincafe-message-card__text,
.ij-maincafe-job-card .ij-maincafe-job-card__excerpt .text {
  max-width: none;
}

.ij-maincafe-job-card .btn-job-apply {
  min-height: 2.45rem;
  margin-top: 0.3rem;
  border-radius: 999px;
  padding-inline: 1rem;
  box-shadow: 0 12px 26px rgba(19, 35, 58, 0.14);
}

.ij-maincafe-message-card .post-images,
.ij-maincafe-job-card .post-images,
.ij-maincafe-message-card .post-links,
.ij-maincafe-job-card .post-links {
  padding-inline: 1.02rem;
}

.ij-maincafe-message-card .post-images .div-img img,
.ij-maincafe-job-card .post-images .div-img img,
.ij-maincafe-message-card .post-links img,
.ij-maincafe-job-card .post-links img {
  border-radius: 16px;
  box-shadow: 0 10px 22px rgba(18, 35, 58, 0.06);
}

.ij-maincafe-message-card .ij-maincafe-message-card__footer,
.ij-maincafe-job-card .ij-maincafe-job-card__footer {
  gap: 0.42rem;
  padding: 0;
  border-top: none;
  background: transparent;
}

.ij-maincafe-message-card .ij-maincafe-message-card__actions {
  gap: 0.42rem;
}

.ij-maincafe-message-card .ij-maincafe-message-card__count {
  min-width: 1.95rem;
  min-height: 1.95rem;
  border: 1px solid rgba(20, 39, 63, 0.08);
  border-radius: 999px;
  background: rgba(247, 249, 252, 0.95);
  color: #52627a;
  line-height: 1.95rem;
}

.ij-maincafe-message-card .ij-maincafe-message-card__like-button,
.ij-maincafe-message-card .ij-maincafe-message-card__comments-trigger,
.ij-maincafe-job-card .btn-previous-comments {
  min-height: 1.95rem;
  border-radius: 999px;
  box-shadow: none;
}

.ij-maincafe-message-card .btn-danger,
.ij-maincafe-message-card .btn-warning,
.ij-maincafe-message-card .btn-save-edit-post,
.ij-maincafe-job-card .btn-warning,
.ij-maincafe-job-card .btn-primary,
.ij-maincafe-top-composer .btn-primary,
.ij-maincafe-composer .btn-send-new-comment {
  border-radius: 999px;
  box-shadow: none;
}

.ij-maincafe-message-card .btn-danger {
  border-color: rgba(184, 50, 50, 0.16);
  background: rgba(184, 50, 50, 0.08);
  color: #8c3e3e;
}

.ij-maincafe-message-card .btn-warning,
.ij-maincafe-job-card .btn-warning {
  border-color: rgba(185, 151, 92, 0.2);
  background: rgba(185, 151, 92, 0.12);
  color: #6d532a;
}

.ij-maincafe-message-card .btn-save-edit-post,
.ij-maincafe-job-card .btn-primary,
.ij-maincafe-top-composer .btn-primary,
.ij-maincafe-composer .btn-send-new-comment {
  border-color: rgba(185, 151, 92, 0.34);
  background: rgba(19, 35, 58, 0.08);
  color: #13233a;
}

.ij-maincafe-message-card .btn-danger:hover,
.ij-maincafe-message-card .btn-warning:hover,
.ij-maincafe-job-card .btn-warning:hover,
.ij-maincafe-message-card .btn-save-edit-post:hover,
.ij-maincafe-job-card .btn-primary:hover,
.ij-maincafe-top-composer .btn-primary:hover,
.ij-maincafe-composer .btn-send-new-comment:hover {
  background: rgba(19, 35, 58, 0.12);
  color: #13233a;
}

.ij-maincafe-composer .ij-maincafe-composer__send {
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  flex: 0 0 36px;
  background: linear-gradient(180deg, #173154 0%, #0f243f 100%);
  border: 1px solid rgba(201, 170, 112, 0.34);
  color: #fffdf8;
  box-shadow: 0 6px 14px rgba(10, 23, 40, 0.12);
}

.ij-maincafe-composer .ij-maincafe-composer__send:hover {
  background: linear-gradient(180deg, #19365d 0%, #112846 100%);
  color: #ffffff;
  box-shadow: 0 10px 18px rgba(10, 23, 40, 0.16);
}

/* Main Cafe message-card header compatibility for phased rollout 2. */
.ij-maincafe-message-card .ij-maincafe-message-card__header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--ij-space-3);
  align-items: start;
}

.ij-maincafe-message-card .ij-maincafe-message-card__avatar {
  flex: 0 0 auto;
  margin: 0;
}

.ij-maincafe-message-card .ij-maincafe-message-card__meta {
  min-width: 0;
  align-content: start;
}

.ij-maincafe-message-card .ij-maincafe-message-card__author {
  line-height: var(--ij-line-height-snug);
}

.ij-maincafe-message-card .ij-maincafe-message-card__date {
  line-height: var(--ij-line-height-body);
}

.ij-maincafe-message-card .ij-maincafe-message-card__badge-row {
  float: none !important;
  display: flex;
  flex-wrap: wrap;
  gap: var(--ij-space-2);
  align-items: center;
  justify-content: flex-start;
  margin-top: 0.18rem;
  text-align: left !important;
}

.ij-maincafe-message-card .ij-maincafe-message-card__badge-row .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  min-height: 2rem;
  max-width: 100%;
  line-height: 1;
  white-space: normal;
}

.ij-maincafe-message-card .ij-maincafe-message-card__badge-row .btn-tag {
  border-color: rgba(24, 38, 57, 0.12);
  background: rgba(247, 249, 252, 0.96);
  color: var(--ij-color-text-secondary);
  padding-top: 0.34rem;
  padding-bottom: 0.34rem;
}

.ij-maincafe-message-card .ij-maincafe-message-card__body {
  display: grid;
  gap: 0;
  padding-top: 0;
}

.ij-maincafe-message-card .ij-maincafe-message-card__title {
  display: grid;
  gap: 0;
  margin: 0;
}

.ij-maincafe-message-card .ij-maincafe-message-card__title .spn-edit-title {
  display: block;
  text-wrap: balance;
}

.ij-maincafe-message-card .ij-maincafe-message-card__excerpt {
  display: grid;
  gap: var(--ij-space-3);
  padding-bottom: 0 !important;
}

.ij-maincafe-message-card .ij-maincafe-message-card__text-lead {
  display: block;
  overflow-wrap: anywhere;
}

.ij-maincafe-message-card .ij-maincafe-message-card__text .spn-show-more {
  color: var(--ij-color-text-muted);
}

.ij-maincafe-message-card .ij-maincafe-message-card__text .btn-show-more {
  color: var(--ij-color-info);
  font-weight: var(--ij-font-weight-medium);
}

.ij-maincafe-message-card .ij-maincafe-message-card__text .btn-show-more:hover {
  color: var(--ij-color-brand-strong);
  text-decoration: none;
}

.ij-maincafe-message-card .ij-maincafe-message-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ij-space-2);
  padding-top: var(--ij-space-2);
}

.ij-maincafe-message-card .ij-maincafe-message-card__count {
  margin: 0 !important;
  min-width: 1.75rem;
  text-align: center;
}

.ij-maincafe-message-card .ij-maincafe-message-card__like-button {
  margin: 0 !important;
  min-height: 2.25rem;
}

.ij-maincafe-message-card .ij-maincafe-message-card__footer {
  display: grid;
  gap: var(--ij-space-3);
  padding-top: 0;
}

.ij-maincafe-message-card .ij-maincafe-message-card__comments-trigger {
  width: fit-content;
  margin: 0;
  min-height: 2.25rem;
}

.ij-maincafe-comment {
  display: grid;
  gap: 0.3rem;
  padding: 0.42rem 0.62rem 0;
  border-top: 1px solid rgba(20, 39, 63, 0.05);
  background: rgba(255, 255, 255, 0.44);
}

.ij-maincafe-comment .ij-maincafe-comment__header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--ij-space-3);
  align-items: start;
}

.ij-maincafe-comment .ij-maincafe-comment__avatar-wrap {
  min-width: 0;
}

.ij-maincafe-comment .ij-maincafe-comment__avatar {
  margin: 0;
}

.ij-maincafe-comment .ij-maincafe-comment__body {
  display: grid;
  gap: 0.24rem;
  min-width: 0;
  padding: 0.02rem 0.02rem 0.02rem 0;
}

.ij-maincafe-comment .ij-maincafe-comment__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ij-space-2);
  align-items: center;
  min-width: 0;
}

.ij-maincafe-comment .ij-maincafe-comment__author {
  color: var(--ij-color-text-primary);
}

.ij-maincafe-comment .ij-maincafe-comment__date {
  color: var(--ij-color-text-muted);
  font-size: var(--ij-font-size-sm);
  line-height: var(--ij-line-height-body);
}

.ij-maincafe-comment .ij-maincafe-comment__text {
  color: var(--ij-color-text-secondary);
  font-size: var(--ij-font-size-sm);
  line-height: 1.54;
  overflow-wrap: anywhere;
}

.ij-maincafe-comment .ij-maincafe-comment__reply-to {
  color: var(--ij-color-text-primary);
}

.ij-maincafe-comment .ij-maincafe-comment__actions-wrap {
  display: grid;
  gap: 0.24rem;
  padding-left: calc(2.75rem + var(--ij-space-3));
}

.ij-maincafe-comment .ij-maincafe-comment__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.28rem;
}

.ij-maincafe-comment .ij-maincafe-comment__actions .count-notifications {
  min-width: 1.8rem;
  min-height: 1.8rem;
  border: 1px solid rgba(20, 39, 63, 0.08);
  border-radius: 999px;
  background: rgba(247, 249, 252, 0.96);
  color: #52627a;
  line-height: 1.8rem;
  text-align: center;
}

.ij-maincafe-comment .btn-comment-like,
.ij-maincafe-comment .btn-comment-answer {
  color: #52627a;
  font-weight: 600;
}

.ij-maincafe-comment .ij-maincafe-comment__children {
  display: grid;
  gap: 0;
  margin-left: 0.5rem;
  padding-left: 0.5rem;
  border-left: 1px solid rgba(24, 38, 57, 0.08);
  min-width: 0;
}

.ij-maincafe-comment .ij-maincafe-comment__load-more {
  width: fit-content;
  margin-left: 0 !important;
  margin-top: 0 !important;
  min-height: 1.95rem;
}

.ij-maincafe-comment .ij-maincafe-comment__reply-composer {
  min-width: 0;
}

.ij-maincafe-composer,
.imj-post-comments .new-comment,
.imj-cafe-card-v2-comments .new-comment {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ij-maincafe-composer {
  padding-top: 0.3rem;
}

.ij-maincafe-composer .ij-maincafe-composer__header {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.ij-maincafe-composer .ij-maincafe-composer__avatar-wrap {
  min-width: 0;
}

.ij-maincafe-composer .ij-maincafe-composer__avatar {
  margin: 0;
}

.ij-maincafe-composer .ij-maincafe-composer__body,
.imj-post-comments-body,
.imj-cafe-card-v2-comment-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
  flex-wrap: nowrap;
  padding: 0.34rem 0.34rem 0.34rem 0.48rem;
  border: 1px solid rgba(24, 38, 57, 0.08);
  border-radius: 13px 999px 999px 13px;
  background: rgba(247, 249, 252, 0.92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.ij-maincafe-composer .ij-maincafe-composer__emoji,
.ij-maincafe-composer .ij-maincafe-composer__media,
.ij-maincafe-composer .ij-maincafe-composer__send,
.imj-cafe-card-v2-comment-emoji,
.imj-cafe-card-v2-comment-camera {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  min-width: 36px;
  margin: 0 !important;
  border-radius: 999px;
}

.ij-maincafe-composer .ij-maincafe-composer__textarea,
.ij-maincafe-composer textarea,
.ij-maincafe-composer input,
.imj-post-comments input,
.imj-cafe-card-v2-comments input,
.imj-post-comments .txt-new-comment,
.imj-cafe-card-v2-comments .txt-new-comment {
  flex: 1;
  min-width: 0;
  height: 44px;
  min-height: 44px;
  margin: 0 !important;
  border: none;
  background: transparent;
  box-shadow: none;
  padding: 10px 12px;
  color: #23374f;
  resize: none;
}

.ij-maincafe-composer .ij-maincafe-composer__textarea:focus {
  background: transparent;
  box-shadow: none;
}

.ij-maincafe-composer .ij-maincafe-composer__send,
.imj-post-comment-send,
.imj-cafe-card-v2-comment-send {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  padding: 0 !important;
  line-height: 1;
  flex: 0 0 36px;
}

.ij-maincafe-composer .ij-maincafe-composer__send .icon,
.imj-post-comment-send .icon,
.imj-cafe-card-v2-comment-send .icon,
.ij-maincafe-composer .ij-maincafe-composer__send svg,
.ij-maincafe-composer .ij-maincafe-composer__send i,
.imj-post-comment-send svg,
.imj-post-comment-send i,
.imj-cafe-card-v2-comment-send svg,
.imj-cafe-card-v2-comment-send i {
  display: block;
  margin: 0;
  line-height: 1;
}

.ij-maincafe-composer .ij-maincafe-composer__photos {
  margin-left: 0;
  margin-right: 0;
  min-width: 0;
}

/* Main Cafe shared post system: regular posts + job posts use one visual language. */
.imj-post-card {
  max-width: 860px;
  margin: 0 auto 34px auto;
  padding: 34px 42px;
  border-radius: 22px;
  background: #fff;
}

.ij-maincafe-message-card .ij-maincafe-message-card__header,
.ij-maincafe-job-card .ij-feed-card__header,
.imj-post-header {
  gap: var(--ij-space-3);
  padding: 0;
}

.ij-maincafe-message-card .ij-maincafe-message-card__meta,
.ij-maincafe-job-card .ij-feed-card__meta,
.entry-header {
  min-width: 0;
  gap: 0.16rem;
  align-content: start;
}

.post-author,
.imj-post-author,
.ij-maincafe-message-card__author,
.ij-maincafe-job-card__author,
.entry-header .post-author,
.header .post-author,
.ij-maincafe-message-card .ij-maincafe-message-card__author,
.ij-maincafe-job-card .post-author {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #13233a !important;
  line-height: 1.25 !important;
}

.ij-maincafe-message-card .ij-maincafe-message-card__date,
.ij-maincafe-job-card .post-date,
.ij-maincafe-message-card .post-date,
.post-date,
.imj-post-date {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #8a9ab0 !important;
  line-height: 1.4;
}

.ij-maincafe-message-card .ij-maincafe-message-card__badge-row,
.ij-maincafe-job-card .ij-feed-card__badge-row,
.ij-feed-card__badge-row {
  gap: 0.38rem;
  margin-top: 0.18rem;
}

.ij-maincafe-message-card .ij-maincafe-message-card__badge-row .btn,
.ij-maincafe-job-card .ij-feed-card__badge-row .btn {
  min-height: 1.95rem;
  padding-inline: 0.62rem;
  border-radius: 999px;
  box-shadow: none;
}

.ij-maincafe-message-card .ij-maincafe-message-card__body,
.ij-maincafe-job-card .ij-maincafe-job-card__body {
  display: grid;
  gap: 0;
  padding: 0;
}

.ij-maincafe-message-card .ij-maincafe-message-card__title .spn-edit-title,
.ij-maincafe-job-card .ij-maincafe-job-card__title,
.ij-maincafe-message-card .post-title,
.ij-maincafe-job-card .post-title,
.post-title,
.imj-post-title {
  font-size: 16px !important;
  line-height: 1.35;
  font-weight: 600 !important;
  color: #13233a !important;
  margin-bottom: 10px;
  max-width: 720px;
}

.ij-maincafe-message-card .ij-maincafe-message-card__title,
.ij-maincafe-job-card .ij-maincafe-job-card__title {
  gap: 0;
  margin: 0;
}

.ij-maincafe-message-card .ij-maincafe-message-card__excerpt,
.ij-maincafe-job-card .ij-maincafe-job-card__excerpt {
  display: grid;
  gap: var(--ij-space-3);
  max-width: 720px;
  padding-bottom: 0 !important;
}

.ij-maincafe-message-card .ij-maincafe-message-card__text,
.ij-maincafe-job-card .ij-maincafe-job-card__excerpt .text,
.ij-maincafe-message-card .post-excerpt .text,
.ij-maincafe-job-card .post-excerpt .text,
.post-excerpt .text,
.imj-post-body {
  font-size: 14px !important;
  line-height: 1.6;
  font-weight: 400 !important;
  color: #4e5f79 !important;
  max-width: 720px;
}

.ij-maincafe-job-card .post-company-name,
.ij-maincafe-message-card .post-company-name,
.post-company-name,
.imj-post-company {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #4e5f79 !important;
}

.ij-maincafe-message-card .ij-maincafe-message-card__text a,
.ij-maincafe-job-card .ij-maincafe-job-card__excerpt .text a,
.post-primary-link,
.imj-post-body a {
  font-size: 16px;
  font-weight: 500;
  color: #3b66b8;
}

.ij-maincafe-message-card .ij-maincafe-message-card__actions,
.ij-maincafe-job-card .imj-post-actions,
.imj-post-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.42rem;
  padding-top: var(--ij-space-2);
}

.ij-maincafe-message-card .ij-maincafe-message-card__like-button,
.ij-maincafe-job-card .btn-like-post,
.imj-post-actions .like-button,
.imj-post-actions .btn-like-post {
  font-size: 14px;
  font-weight: 600;
  border-radius: 999px;
  padding: 8px 14px;
}

.btn-like-post,
.btn-comment-like {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 14px;
  border-radius: 999px;
  background: linear-gradient(180deg, #173154 0%, #0f243f 100%);
  border: 1px solid rgba(201, 170, 112, 0.34) !important;
  color: #fffdf8 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(10, 23, 40, 0.12);
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.btn-like-post:hover,
.btn-comment-like:hover {
  background: linear-gradient(180deg, #19365d 0%, #112846 100%);
  color: #ffffff !important;
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 12px 22px rgba(10, 23, 40, 0.16);
}

.ij-maincafe-message-card .ij-maincafe-message-card__footer,
.ij-maincafe-job-card .ij-maincafe-job-card__footer,
.imj-post-comments {
  display: grid;
  gap: var(--ij-space-3);
  padding-top: 0;
  border-top: 1px solid #d1d5db;
  background: transparent;
}

.ij-maincafe-message-card .ij-maincafe-message-card__comments-trigger,
.ij-maincafe-job-card .btn-previous-comments,
.ij-maincafe-comment .ij-maincafe-comment__load-more {
  border-color: rgba(20, 39, 63, 0.12) !important;
  background: rgba(247, 249, 252, 0.96) !important;
  color: #52627a !important;
}

.ij-maincafe-message-card .ij-maincafe-message-card__comments-trigger:hover,
.ij-maincafe-job-card .btn-previous-comments:hover,
.ij-maincafe-comment .ij-maincafe-comment__load-more:hover {
  border-color: rgba(185, 151, 92, 0.4) !important;
  color: #22374f !important;
  background: rgba(255, 255, 255, 0.98) !important;
  text-decoration: none;
}

.ij-maincafe-comment,
.ij-maincafe-comment .ij-maincafe-comment__children,
.ij-maincafe-composer .ij-maincafe-composer__body,
.imj-post-comments .btn-previous-comments {
  border-color: #d1d5db;
}

.ij-maincafe-composer,
.ij-maincafe-composer .ij-maincafe-composer__body,
.ij-maincafe-composer .txt-new-comment,
.imj-post-comments .ij-maincafe-composer,
.imj-post-comments .ij-maincafe-composer__body,
.imj-post-comments .txt-new-comment {
  max-width: 720px;
}

.ij-maincafe-composer .ij-maincafe-composer__body,
.imj-post-comments .ij-maincafe-composer__body {
  width: 100%;
  background: #f8fafc;
}

.ij-maincafe-composer .txt-new-comment,
.imj-post-comments .txt-new-comment {
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
  color: #475569;
}

@media (max-width: 47.99rem) {
  .ij-maincafe-comment .ij-maincafe-comment__actions-wrap {
    padding-left: 0;
  }

  .ij-maincafe-comment .ij-maincafe-comment__children {
    margin-left: var(--ij-space-2);
    padding-left: var(--ij-space-2);
  }
}

@media (min-width: 48rem) {
  .ij-maincafe-shell {
    padding: 0.48rem 0.78rem !important;
  }

  .ij-maincafe-shell .ij-maincafe-shell__content {
    flex: 0 0 46%;
    max-width: 46%;
  }

  .ij-maincafe-shell .ij-maincafe-shell__actions {
    flex: 0 0 54%;
    max-width: 54%;
  }

  .ij-maincafe-shell .ij-section-header {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .ij-maincafe-shell .ij-maincafe-shell__actions {
    gap: 0.2rem;
  }

  .ij-maincafe-message-card .ij-maincafe-message-card__header {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .ij-maincafe-message-card .ij-maincafe-message-card__badge-row {
    margin-top: 0;
    justify-content: flex-end;
  }

  .ij-maincafe-message-card .ij-maincafe-message-card__body {
    padding-top: 0;
  }

  .ij-maincafe-message-card .ij-maincafe-message-card__footer {
    padding-top: 0;
  }

  .ij-maincafe-job-card .ij-feed-card__header {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .ij-maincafe-comment {
    padding-top: 0.5rem;
  }

  .ij-maincafe-composer {
    padding-top: 0.36rem;
  }
}

@media (max-width: 47.99rem) {
  .ij-page--main-cafe .page-banner.bg-img.overlay-dark {
    min-height: 7.88rem;
  }

  .ij-page--main-cafe .page-banner.bg-img.overlay-dark .container,
  .ij-page--main-cafe .page-banner.bg-img.overlay-dark .row {
    min-height: inherit;
  }

  .ij-page--main-cafe .page-title {
    margin-bottom: 0;
  }

  .ij-page--main-cafe .search-form .form-group {
    margin-top: 0.9rem !important;
    width: calc(100vw - 8.5rem);
    max-width: 18rem !important;
  }

  .ij-page--main-cafe #sq.form-control.form-control-sm {
    min-height: 2.12rem;
    padding: 0.3rem 2.62rem 0.3rem 0.62rem;
    font-size: 0.76rem;
  }

  .ij-page--main-cafe .search-form .btn.btn-sm {
    min-height: 2.12rem;
    right: 4px;
    top: 3px;
    padding: 0.24rem 0.58rem;
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
  }

  .ij-maincafe-shell {
    padding: 0.44rem 0.64rem !important;
  }

  .ij-maincafe-shell .ij-section-header {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: flex-start;
  }

  .ij-maincafe-shell .ij-maincafe-shell__content,
  .ij-maincafe-shell .ij-maincafe-shell__actions {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .ij-maincafe-shell .ij-maincafe-shell__content {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.42rem;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 0.1rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .ij-maincafe-shell .ij-maincafe-shell__content::-webkit-scrollbar {
    display: none;
  }

  .ij-maincafe-shell .ij-maincafe-shell__current,
  .ij-maincafe-shell .ij-maincafe-shell__nav,
  .ij-maincafe-shell .ij-maincafe-shell__nav-link {
    flex: 0 0 auto;
  }

  .ij-maincafe-shell .ij-maincafe-shell__nav {
    flex-wrap: nowrap;
    gap: 0.42rem;
  }

  .ij-maincafe-shell .ij-maincafe-shell__actions {
    display: grid;
    gap: 0.28rem;
    margin-top: 0.06rem;
  }

  .ij-maincafe-shell .btn-direct-access-planeserie,
  .ij-maincafe-shell .btn-direct-access-category,
  .ij-maincafe-shell .btn-direct-access-gmarket,
  .ij-maincafe-shell .ij-maincafe-shell__action-button,
  .ij-maincafe-shell .ij-maincafe-shell__market-link {
    min-width: 0;
    width: 100%;
    max-width: none;
    min-height: 1.82rem;
    padding: 0.3rem 0.78rem;
    font-size: 0.74rem;
    white-space: nowrap;
  }

  .ij-maincafe-shell .ij-maincafe-shell__market-link {
    box-shadow:
      0 8px 18px rgba(15, 36, 63, 0.1),
      inset 0 0 0 1px rgba(201, 170, 112, 0.28);
  }
}

/* Legacy Jet Market card header compatibility for the phased badge-row rollout. */
.ij-feed-card__header {
  gap: var(--ij-space-3);
}

.ij-feed-card__header .entry-header {
  min-width: 0;
}

.ij-feed-card__header .post-tags {
  float: none !important;
  display: flex;
  flex-wrap: wrap;
  gap: var(--ij-space-2);
  align-items: flex-start;
  justify-content: flex-start;
  margin-top: var(--ij-space-2);
  text-align: left !important;
}

.ij-feed-card__header .post-tags.text-right {
  text-align: left !important;
}

.ij-feed-card__badge-row .btn-tag,
.ij-feed-card__badge-row .btn-contract,
.ij-feed-card__badge-row .btn-fulltime {
  margin: 0 !important;
  max-width: 100%;
  white-space: normal;
}

.ij-feed-card__badge-row .btn-contract,
.ij-feed-card__badge-row .btn-fulltime {
  display: inline-flex;
  align-items: center;
  gap: var(--ij-space-2);
}

/* Jet Market aircraft-name and badge-strip compatibility for the phased listing rollout. */
.jet-market-page .ij-market-card__cell {
  min-width: 0;
}

.jet-market-page .ij-market-card__header {
  display: grid;
  gap: var(--ij-space-2);
  min-width: 0;
  align-content: start;
}

.jet-market-page .ij-market-card__title {
  min-width: 0;
  margin: 0;
  color: var(--ij-color-text-primary);
  font-family: var(--ij-font-family-body);
  font-size: var(--ij-font-size-sm);
  font-weight: var(--ij-font-weight-semibold);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.jet-market-page .ij-market-card__badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ij-space-2);
  align-items: center;
}

.jet-market-page .ij-market-card__badge {
  margin: 0;
  max-width: 100%;
}

/* Jet Market details/icons column compatibility for the phased listing rollout. */
.jet-market-page .ij-market-details__cell {
  min-width: 0;
}

.jet-market-page .ij-market-details__icons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--ij-space-2);
  min-width: 0;
}

.jet-market-page .ij-market-details__icons .block-picto-gmarket,
.jet-market-page .ij-market-details__icons .bg-picto-seats {
  margin: 0;
}

/* Jet Market year and price metadata compatibility for the phased listing rollout. */
.jet-market-page .ij-market-meta__cell {
  min-width: 0;
}

.jet-market-page .ij-market-meta__value {
  display: inline-block;
  min-width: 0;
  color: var(--ij-color-text-secondary);
  font-family: var(--ij-font-family-body);
  font-size: var(--ij-font-size-sm);
  font-weight: var(--ij-font-weight-medium);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

@media (max-width: 47.99rem) {
  .ij-filter-bar .ij-filter-panel__section[class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .ij-filter-bar .ij-filter-panel__manufacturer[class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (min-width: 48rem) {
  .ij-feed-card__header .post-tags {
    margin-top: 0;
    justify-content: flex-end;
  }
}

.ij-inline-notice {
  display: grid;
  gap: var(--ij-space-2);
  padding: var(--ij-space-4);
  border: 1px solid var(--ij-color-border-soft);
  border-left-width: 4px;
  border-radius: var(--ij-radius-md);
  background: var(--ij-color-bg-panel-strong);
  color: var(--ij-color-text-secondary);
}

.ij-inline-notice--info {
  border-left-color: var(--ij-color-info);
}

.ij-inline-notice--warning {
  border-left-color: var(--ij-color-warning);
}

.ij-inline-notice--danger {
  border-left-color: var(--ij-color-danger);
}

.ij-inline-notice--success {
  border-left-color: var(--ij-color-success);
}

.ij-table-wrap {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid var(--ij-color-border-soft);
  border-radius: var(--ij-radius-lg);
  background: var(--ij-color-bg-panel-strong);
  -webkit-overflow-scrolling: touch;
}

.ij-table {
  width: 100%;
  border-collapse: collapse;
  color: var(--ij-color-text-primary);
  font-family: var(--ij-font-family-body);
}

.ij-table th,
.ij-table td {
  padding: 0.875rem 1rem;
  border-bottom: 1px solid var(--ij-color-border-soft);
  text-align: left;
  vertical-align: top;
  font-size: var(--ij-font-size-sm);
}

.ij-table th {
  color: var(--ij-color-text-muted);
  font-weight: var(--ij-font-weight-semibold);
  white-space: nowrap;
}

.ij-table tbody tr:last-child td {
  border-bottom: none;
}

.ij-table--compact th,
.ij-table--compact td {
  padding: 0.75rem;
}

.ij-table-wrap--stack {
  overflow-x: clip;
}

.ij-table-wrap--stack .ij-table {
  min-width: 0;
}

.ij-empty-state {
  display: grid;
  gap: var(--ij-space-3);
  padding: var(--ij-space-5);
  border: 1px dashed var(--ij-color-border-default);
  border-radius: var(--ij-radius-lg);
  background: rgba(255, 255, 255, 0.45);
  color: var(--ij-color-text-muted);
}

/* Preserve legacy dropdown hidden state after all component compatibility rules. */
.ij-filter-bar .row.div-direct-access-category[style*="display:none"],
.ij-filter-bar .row.div-direct-access-category[style*="display: none"],
.ij-filter-bar .div-direct-access-planeserie[style*="display:none"],
.ij-filter-bar .div-direct-access-planeserie[style*="display: none"] {
  display: none !important;
}

.ij-filter-bar .row.div-direct-access-category:not([style*="display:none"]):not([style*="display: none"]),
.ij-filter-bar .div-direct-access-planeserie:not([style*="display:none"]):not([style*="display: none"]) {
  display: flex !important;
}

/* ── Restaure le logo à sa taille naturelle + supprime le vide sous la navbar ── */
.page-header .div-logo .logo img {
  width: auto !important;
  max-width: 100% !important;
  max-height: 60px !important;
}
.row.page-header {
  align-items: center !important;
}

/* ── Café section frame — card shell for AMT/CA Café pages ── */
.ij-cafe-section-frame {
  padding: var(--ij-space-4);
  border: 1px solid rgba(20, 39, 63, 0.07);
  border-radius: var(--ij-radius-lg);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.985) 0%, rgba(246, 248, 251, 0.97) 100%);
  box-shadow: 0 20px 46px rgba(18, 35, 58, 0.075);
}
/* ── Restaure le logo à sa taille naturelle + supprime le vide sous la navbar ── */
.main-header-logo {
  max-height: 120px !important;
  width: auto !important;
}
.row.page-header {
  align-items: center !important;
}
.page-header .div-logo {
  height: auto !important;
}

/* ── Café section frame — card shell for AMT/CA Café pages ── */
.ij-cafe-section-frame {
  padding: var(--ij-space-4);
  border: 1px solid rgba(20, 39, 63, 0.07);
  border-radius: var(--ij-radius-lg);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.985) 0%, rgba(246, 248, 251, 0.97) 100%);
  box-shadow: 0 20px 46px rgba(18, 35, 58, 0.075);
}

/* ── Barre de navigation Main Café ── */
.ij-maincafe-shell {
  overflow: visible !important;
  padding-right: 1.75rem !important;
}
.ij-maincafe-shell .ij-section-header {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
}
@media (min-width: 48rem) {
  .ij-maincafe-shell .ij-section-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
  }
}
.ij-maincafe-shell .ij-section-header__actions {
  display: flex !important;
  justify-content: flex-end !important;
  padding-right: 1rem !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
  margin-left: auto !important;
}

.ij-page--main-cafe .page-banner.bg-img.overlay-dark {
  margin-bottom: 0 !important;
}

.ij-page--main-cafe .page-section {
  padding-top: 8px !important;
}

.ij-maincafe-shell .ij-maincafe-shell__action-button,
.ij-maincafe-shell .ij-maincafe-shell__market-link {
  min-height: 34px !important;
}

.ij-maincafe-shell .ij-maincafe-shell__content,
.ij-maincafe-shell .ij-section-header__actions {
  align-self: center !important;
}


/* ════════════════════════════════════════════════════════════════
   IMJ BUTTON DESIGN SYSTEM  (buttons.css — Navy · Sand · Gold)
   Prefix: .imj-  ·  Tokens: --imj-  (see inmyjet-tokens.css)
   Added: zero conflicts with existing .ij- classes above
   ════════════════════════════════════════════════════════════════ */

/* ── Shared reset ───────────────────────────────────────────── */
.imj-btn,
.imj-tag,
.imj-icon-btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  font-family: inherit;
  font-size: inherit;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  -webkit-font-smoothing: antialiased;
  transition:
    color          var(--imj-ease),
    background     var(--imj-ease),
    border-color   var(--imj-ease),
    box-shadow     var(--imj-ease),
    opacity        var(--imj-ease),
    transform      var(--imj-ease);
}
.imj-btn:focus-visible,
.imj-icon-btn:focus-visible { outline: none; box-shadow: var(--imj-ring); }
.imj-btn svg,
.imj-icon-btn svg { flex-shrink: 0; pointer-events: none; }


/* ── Tags (non-interactive informational pills) ──────────────── */
.imj-tag {
  height: var(--imj-h-xs);
  padding: 0 0.5625rem;
  border-radius: var(--imj-r);
  border: 1px solid transparent;
  font-size: 0.6875rem;  /* 11 px */
  font-weight: 600;
  letter-spacing: 0.01em;
  cursor: default;
  pointer-events: none;
}

/* — Job type — */
.imj-tag--job-full {
  background: rgba(27, 42, 69, 0.07);
  border-color: rgba(27, 42, 69, 0.14);
  color: var(--imj-navy);
}
.imj-tag--job-contract {
  background: rgba(201, 147, 58, 0.09);
  border-color: rgba(201, 147, 58, 0.2);
  color: var(--imj-gold-press);
}
.imj-tag--job-part {
  background: rgba(109, 106, 98, 0.08);
  border-color: rgba(109, 106, 98, 0.16);
  color: var(--imj-n500);
}

/* — Café section — */
.imj-tag--cafe {
  background: rgba(27, 42, 69, 0.88);
  border-color: transparent;
  color: var(--imj-sand);
}

/* — Jet Market badges — */
.imj-tag--for-sale {
  background: rgba(201, 147, 58, 0.11);
  border-color: rgba(201, 147, 58, 0.26);
  color: var(--imj-gold-press);
}
.imj-tag--off-market {
  background: var(--imj-border-soft);
  border-color: var(--imj-border);
  color: var(--imj-text-2);
}
.imj-tag--confidential {
  background: rgba(184, 50, 50, 0.06);
  border-color: rgba(184, 50, 50, 0.18);
  color: var(--imj-danger);
}
.imj-tag--escrow {
  background: rgba(42, 122, 80, 0.07);
  border-color: rgba(42, 122, 80, 0.18);
  color: #2a7a50;
}

/* Dark overrides for tags — all colors lifted to ramp-200 for WCAG AA */
@media (prefers-color-scheme: dark) {
  .imj-tag--job-full     { background: rgba(168,196,224,.12); border-color: rgba(168,196,224,.24); color: #a8c4e0; }
  .imj-tag--job-contract { background: rgba(240,207,128,.12); border-color: rgba(240,207,128,.25); color: #f0cf80; }
  .imj-tag--job-part     { color: #dedad2; }
  .imj-tag--cafe         { background: rgba(36,55,88,.9); }
  .imj-tag--for-sale     { background: rgba(240,207,128,.12); border-color: rgba(240,207,128,.25); color: #f0cf80; }
  .imj-tag--off-market   { color: #dedad2; }
  .imj-tag--confidential { color: #f5b4b4; }
  .imj-tag--escrow       { color: #9ed4b8; }
}
.dark .imj-tag--job-full     { background: rgba(168,196,224,.12); border-color: rgba(168,196,224,.24); color: #a8c4e0; }
.dark .imj-tag--job-contract { background: rgba(240,207,128,.12); border-color: rgba(240,207,128,.25); color: #f0cf80; }
.dark .imj-tag--job-part     { color: #dedad2; }
.dark .imj-tag--cafe         { background: rgba(36,55,88,.9); }
.dark .imj-tag--for-sale     { background: rgba(240,207,128,.12); border-color: rgba(240,207,128,.25); color: #f0cf80; }
.dark .imj-tag--off-market   { color: #dedad2; }
.dark .imj-tag--confidential { color: #f5b4b4; }
.dark .imj-tag--escrow       { color: #9ed4b8; }


/* ── Filter pills (interactive tag-shaped chips) ─────────────── */
.imj-filter-pill {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  height: var(--imj-h-sm);
  padding: 0 0.75rem;
  border-radius: var(--imj-r);
  border: 1px solid var(--imj-border);
  background: var(--imj-surface);
  color: var(--imj-text-2);
  font-family: inherit;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  -webkit-font-smoothing: antialiased;
  transition:
    color var(--imj-ease), background var(--imj-ease),
    border-color var(--imj-ease), box-shadow var(--imj-ease);
}
.imj-filter-pill:hover { border-color: var(--imj-border-strong); color: var(--imj-text); }
.imj-filter-pill:focus-visible { outline: none; box-shadow: var(--imj-ring); }

.imj-filter-pill.is-active {
  background: rgba(27, 42, 69, 0.07);
  border-color: rgba(27, 42, 69, 0.4);
  color: var(--imj-navy);
}
.imj-filter-pill.is-active svg { opacity: 1; }

@media (prefers-color-scheme: dark) {
  .imj-filter-pill.is-active {
    background: rgba(201, 147, 58, 0.1);
    border-color: rgba(201, 147, 58, 0.45);
    color: var(--imj-gold-hover);
  }
}
.dark .imj-filter-pill.is-active {
  background: rgba(201, 147, 58, 0.1);
  border-color: rgba(201, 147, 58, 0.45);
  color: var(--imj-gold-hover);
}


/* ── Button base + size scale ────────────────────────────────── */
.imj-btn {
  height: var(--imj-h-md);
  padding: 0 var(--imj-px-md);
  border-radius: var(--imj-r);
  border: 1.5px solid transparent;
  font-size: 0.8125rem;  /* 13 px */
  font-weight: 600;
  letter-spacing: 0.01em;
}
.imj-btn--sm {
  height: var(--imj-h-sm);
  padding: 0 var(--imj-px-sm);
  font-size: 0.75rem;
}
.imj-btn--lg {
  height: var(--imj-h-lg);
  padding: 0 var(--imj-px-lg);
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}


/* ── Button variants ─────────────────────────────────────────── */

/* Primary (Navy filled) */
.imj-btn--primary {
  background: var(--imj-navy);
  border-color: var(--imj-navy);
  color: var(--imj-sand);
}
.imj-btn--primary:hover  { background: var(--imj-navy-hover); border-color: var(--imj-navy-hover); }
.imj-btn--primary:active { background: var(--imj-navy-press); border-color: var(--imj-navy-press); transform: scale(0.98); }

@media (prefers-color-scheme: dark) {
  .imj-btn--primary { background: #243758; border-color: #2e4670; }
  .imj-btn--primary:hover { background: #2d4a72; border-color: #3a5985; }
}
.dark .imj-btn--primary { background: #243758; border-color: #2e4670; }
.dark .imj-btn--primary:hover { background: #2d4a72; border-color: #3a5985; }

/* Secondary (Navy outline) */
.imj-btn--secondary {
  background: transparent;
  border-color: var(--imj-navy);
  color: var(--imj-navy);
}
.imj-btn--secondary:hover  { background: rgba(27, 42, 69, 0.05); }
.imj-btn--secondary:active { background: rgba(27, 42, 69, 0.1); transform: scale(0.98); }

@media (prefers-color-scheme: dark) {
  .imj-btn--secondary { background: transparent; border-color: rgba(201,147,58,.45); color: var(--imj-gold-hover); }
  .imj-btn--secondary:hover { background: rgba(201,147,58,.07); border-color: var(--imj-gold); }
}
.dark .imj-btn--secondary { background: transparent; border-color: rgba(201,147,58,.45); color: var(--imj-gold-hover); }
.dark .imj-btn--secondary:hover { background: rgba(201,147,58,.07); border-color: var(--imj-gold); }

/* Ghost (neutral outline) */
.imj-btn--ghost {
  background: transparent;
  border-color: var(--imj-border);
  color: var(--imj-text);
}
.imj-btn--ghost:hover  { border-color: var(--imj-border-strong); background: var(--imj-surface); }
.imj-btn--ghost:active { background: var(--imj-surface-2); transform: scale(0.98); }

@media (prefers-color-scheme: dark) {
  .imj-btn--ghost { border-color: var(--imj-border-strong); }
}
.dark .imj-btn--ghost { border-color: var(--imj-border-strong); }

/* Gold (hero CTA) */
.imj-btn--gold {
  background: var(--imj-gold);
  border-color: var(--imj-gold);
  color: var(--imj-navy);
  font-weight: 700;
}
.imj-btn--gold:hover  { background: var(--imj-gold-hover); border-color: var(--imj-gold-hover); }
.imj-btn--gold:active { background: var(--imj-gold-press); border-color: var(--imj-gold-press); transform: scale(0.98); }

/* Gold ghost */
.imj-btn--gold-ghost {
  background: transparent;
  border-color: rgba(201, 147, 58, 0.48);
  color: var(--imj-gold);
}
.imj-btn--gold-ghost:hover  { background: rgba(201,147,58,.07); border-color: var(--imj-gold); }
.imj-btn--gold-ghost:active { transform: scale(0.98); }

@media (prefers-color-scheme: dark) {
  .imj-btn--gold-ghost { border-color: rgba(201,147,58,.36); color: var(--imj-gold-hover); }
  .imj-btn--gold-ghost:hover { background: rgba(201,147,58,.1); border-color: var(--imj-gold-hover); }
}
.dark .imj-btn--gold-ghost { border-color: rgba(201,147,58,.36); color: var(--imj-gold-hover); }
.dark .imj-btn--gold-ghost:hover { background: rgba(201,147,58,.1); border-color: var(--imj-gold-hover); }

/* Destructive (danger filled) */
.imj-btn--destructive {
  background: var(--imj-danger);
  border-color: var(--imj-danger);
  color: var(--imj-danger-text);
  font-weight: 600;
}
.imj-btn--destructive:hover  { background: var(--imj-danger-hover); border-color: var(--imj-danger-hover); }
.imj-btn--destructive:active { background: var(--imj-danger-press); transform: scale(0.98); }
.imj-btn--destructive:focus-visible { box-shadow: var(--imj-ring-danger); }

/* Destructive ghost */
.imj-btn--destructive-ghost {
  background: transparent;
  border-color: var(--imj-danger-border);
  color: var(--imj-danger);
}
.imj-btn--destructive-ghost:hover { background: var(--imj-danger-soft); border-color: rgba(139,46,46,.4); }
.imj-btn--destructive-ghost:focus-visible { box-shadow: var(--imj-ring-danger); }


/* ── Navigation buttons ──────────────────────────────────────── */

/* Nav tab – inactive */
.imj-btn--nav {
  background: var(--imj-bg);
  border-color: var(--imj-border);
  color: var(--imj-text-2);
  white-space: nowrap;
}
.imj-btn--nav:hover { border-color: var(--imj-navy); color: var(--imj-navy); }

/* Nav tab – active */
.imj-btn--nav.is-active,
.imj-btn--nav-active {
  background: var(--imj-navy);
  border-color: var(--imj-navy);
  color: var(--imj-sand);
}

@media (prefers-color-scheme: dark) {
  .imj-btn--nav { background: transparent; }
  .imj-btn--nav:hover { border-color: var(--imj-gold); color: var(--imj-gold-hover); }
  .imj-btn--nav.is-active,
  .imj-btn--nav-active { background: #243758; border-color: #3b5280; color: var(--imj-sand); }
}
.dark .imj-btn--nav { background: transparent; }
.dark .imj-btn--nav:hover { border-color: var(--imj-gold); color: var(--imj-gold-hover); }
.dark .imj-btn--nav.is-active,
.dark .imj-btn--nav-active { background: #243758; border-color: #3b5280; color: var(--imj-sand); }

/* Nav dropdown */
.imj-btn--nav-dropdown {
  background: var(--imj-surface);
  border-color: var(--imj-border);
  color: var(--imj-text);
}
.imj-btn--nav-dropdown:hover { border-color: var(--imj-border-strong); background: var(--imj-surface-2); }
.imj-btn--nav-dropdown svg { opacity: 0.55; transition: transform var(--imj-ease-md); }
.imj-btn--nav-dropdown.is-open svg { transform: rotate(180deg); }

/* Jet Market CTA (highlighted nav) */
.imj-btn--nav-cta {
  background: linear-gradient(155deg, #243758, #12203a);
  border-color: transparent;
  color: var(--imj-gold);
  font-weight: 700;
  box-shadow: inset 0 0 0 1px rgba(201, 147, 58, 0.22);
}
.imj-btn--nav-cta:hover {
  background: linear-gradient(155deg, #2d4a72, #1b2a45);
  box-shadow: inset 0 0 0 1px rgba(201, 147, 58, 0.38);
  color: var(--imj-gold-hover);
}
.imj-btn--nav-cta:active { transform: scale(0.98); }


/* ── Post action buttons ─────────────────────────────────────── */

/* Like (toggle) */
.imj-btn--like {
  background: transparent;
  border-color: var(--imj-border);
  color: var(--imj-text-2);
  font-size: 0.8125rem;
  font-weight: 500;
  gap: 0.3rem;
}
.imj-btn--like svg { opacity: 0.6; }
.imj-btn--like:hover { border-color: rgba(192,57,43,.3); color: var(--imj-like); }
.imj-btn--like:hover svg { opacity: 1; }

.imj-btn--like.is-liked {
  background: var(--imj-like-soft);
  border-color: rgba(192, 57, 43, 0.28);
  color: var(--imj-like);
}
.imj-btn--like.is-liked svg { opacity: 1; }
.imj-btn--like.is-liked:hover { background: rgba(192,57,43,.12); }

/* Post trigger (fake input / compose button) */
.imj-btn--post-trigger {
  width: 100%;
  justify-content: flex-start;
  height: var(--imj-h-lg);
  padding: 0 var(--imj-px-md);
  border-radius: var(--imj-r-card);
  border: 1.5px solid var(--imj-border);
  background: var(--imj-surface);
  color: var(--imj-text-muted);
  font-size: 0.875rem;
  font-weight: 400;
  cursor: text;
}
.imj-btn--post-trigger:hover { border-color: var(--imj-border-strong); background: var(--imj-bg); }
.imj-btn--post-trigger:focus-visible { box-shadow: var(--imj-ring); border-color: rgba(27,42,69,.35); }

@media (prefers-color-scheme: dark) {
  .imj-btn--post-trigger:focus-visible { border-color: rgba(201,147,58,.35); }
}
.dark .imj-btn--post-trigger:focus-visible { border-color: rgba(201,147,58,.35); }

/* Text button (collapse / expand all posts) */
.imj-btn--text {
  height: auto;
  padding: 0.125rem 0;
  border-radius: 4px;
  border: none;
  background: transparent;
  color: var(--imj-text-2);
  font-size: 0.8125rem;
  font-weight: 500;
  gap: 0.25rem;
  letter-spacing: 0;
}
.imj-btn--text svg { opacity: 0.65; transition: transform var(--imj-ease-md); }
.imj-btn--text:hover { color: var(--imj-text); }
.imj-btn--text:hover svg { opacity: 1; }
.imj-btn--text.is-expanded svg { transform: rotate(180deg); }

@media (prefers-color-scheme: dark) {
  .imj-btn--text:hover { color: var(--imj-gold-hover); }
}
.dark .imj-btn--text:hover { color: var(--imj-gold-hover); }


/* ── Icon buttons (round, 32 px default) ─────────────────────── */
.imj-icon-btn {
  position: relative;
  flex-shrink: 0;
  width:  var(--imj-icon-md);
  height: var(--imj-icon-md);
  border-radius: 50%;
  border: 1.5px solid transparent;
  background: var(--imj-surface);
  color: var(--imj-text-2);
}
.imj-icon-btn:hover  { background: var(--imj-surface-2); color: var(--imj-text); }
.imj-icon-btn:active { transform: scale(0.91); }

/* Edit */
.imj-icon-btn--edit:hover {
  background: rgba(27, 42, 69, 0.07);
  border-color: rgba(27, 42, 69, 0.2);
  color: var(--imj-navy);
}
@media (prefers-color-scheme: dark) {
  .imj-icon-btn--edit:hover { background: rgba(201,147,58,.1); border-color: rgba(201,147,58,.25); color: var(--imj-gold-hover); }
}
.dark .imj-icon-btn--edit:hover { background: rgba(201,147,58,.1); border-color: rgba(201,147,58,.25); color: var(--imj-gold-hover); }

/* Delete */
.imj-icon-btn--delete:hover {
  background: var(--imj-danger-soft);
  border-color: var(--imj-danger-border);
  color: var(--imj-danger);
}
.imj-icon-btn--delete:focus-visible { box-shadow: var(--imj-ring-danger); }

/* Collapse (chevron, animates) */
.imj-icon-btn--collapse svg { transition: transform var(--imj-ease-md); }
.imj-icon-btn--collapse.is-expanded svg { transform: rotate(180deg); }
.imj-icon-btn--collapse:hover {
  background: rgba(27, 42, 69, 0.06);
  border-color: var(--imj-border);
  color: var(--imj-navy);
}
@media (prefers-color-scheme: dark) {
  .imj-icon-btn--collapse:hover { color: var(--imj-gold-hover); border-color: rgba(201,147,58,.25); }
}
.dark .imj-icon-btn--collapse:hover { color: var(--imj-gold-hover); border-color: rgba(201,147,58,.25); }

/* Sizes */
.imj-icon-btn--sm { width: var(--imj-icon-sm); height: var(--imj-icon-sm); }
.imj-icon-btn--lg { width: var(--imj-icon-lg); height: var(--imj-icon-lg); }


/* ── Disabled state ──────────────────────────────────────────── */
.imj-btn[disabled],
.imj-btn[aria-disabled="true"],
.imj-btn.is-disabled,
.imj-icon-btn[disabled],
.imj-icon-btn[aria-disabled="true"],
.imj-icon-btn.is-disabled,
.imj-filter-pill[disabled],
.imj-filter-pill.is-disabled {
  background: #E5E5E5 !important;
  border-color: transparent !important;
  color: #A0A0A0 !important;
  opacity: 1 !important;
  cursor: not-allowed;
  pointer-events: none;
  transform: none !important;
  box-shadow: none !important;
}

@media (prefers-color-scheme: dark) {
  .imj-btn[disabled],
  .imj-btn[aria-disabled="true"],
  .imj-btn.is-disabled,
  .imj-icon-btn[disabled],
  .imj-icon-btn[aria-disabled="true"],
  .imj-icon-btn.is-disabled,
  .imj-filter-pill[disabled],
  .imj-filter-pill.is-disabled {
    background: rgba(255,255,255,0.08) !important;
    color: rgba(255,255,255,0.22) !important;
  }
}
.dark .imj-btn[disabled],
.dark .imj-btn[aria-disabled="true"],
.dark .imj-btn.is-disabled,
.dark .imj-icon-btn[disabled],
.dark .imj-icon-btn[aria-disabled="true"],
.dark .imj-icon-btn.is-disabled,
.dark .imj-filter-pill[disabled],
.dark .imj-filter-pill.is-disabled {
  background: rgba(255,255,255,0.08) !important;
  color: rgba(255,255,255,0.22) !important;
}


/* ── Touch targets (44 × 44 px on coarse-pointer devices) ────── */
@media (pointer: coarse) {
  .imj-icon-btn::before {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    min-width: 44px;
    min-height: 44px;
  }
}


/* ── Mobile (< 640 px) ───────────────────────────────────────── */
@media (max-width: 39.9375rem) {
  .imj-btn--lg {
    height: var(--imj-h-md);
    font-size: 0.875rem;
  }
  .imj-btn--nav {
    padding: 0.375rem 0.625rem;  /* 6px 10px — prevents 2-line wrap */
  }
}


/* ── Button group (layout helper) ───────────────────────────── */
.imj-btn-group {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
}
.imj-btn-group--sm  { gap: 0.25rem; }
.imj-btn-group--lg  { gap: 0.5rem; }

/* Divider between nav groups */
.imj-btn-group__divider {
  display: inline-block;
  width: 1px;
  height: 1.25rem;
  background: var(--imj-border);
  flex-shrink: 0;
  border-radius: 1px;
}
