/* Qanoun V9.8.3 — compact mobile publication cards, reader-gate admin control, advertiser theme contrast */

/* --------------------------------------------------------------------------
   Mobile publication cards
   All publication cards outside the homepage become compact horizontal rows.
   The homepage deliberately keeps its existing visual layout.
   -------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
  body:not(.home-page-v73) .publication-card {
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    grid-template-rows: minmax(116px, auto) !important;
    align-items: stretch !important;
    min-height: 116px !important;
    height: auto !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    transform: none !important;
  }

  body:not(.home-page-v73) .publication-card:hover {
    transform: none !important;
  }

  body:not(.home-page-v73) .publication-card .publication-cover,
  body:not(.home-page-v73) .publication-card .cover-placeholder {
    width: 96px !important;
    min-width: 96px !important;
    height: 100% !important;
    min-height: 116px !important;
    max-height: 132px !important;
    border-radius: 0 !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: stretch !important;
  }

  body:not(.home-page-v73) .publication-card .publication-cover img {
    width: 100% !important;
    height: 100% !important;
    min-height: 116px !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  body:not(.home-page-v73) .publication-card .publication-body {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    padding: .64rem .72rem !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }

  body:not(.home-page-v73) .publication-card .publication-body > .small {
    margin-bottom: .22rem !important;
    gap: .3rem !important;
    font-size: .61rem !important;
    line-height: 1.35 !important;
  }

  body:not(.home-page-v73) .publication-card .publication-country-chip-v96 {
    padding: .18rem .42rem !important;
    font-size: .58rem !important;
    white-space: nowrap !important;
  }

  body:not(.home-page-v73) .publication-card .publication-body h3 {
    min-height: 0 !important;
    margin: 0 0 .22rem !important;
    font-size: .82rem !important;
    line-height: 1.48 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body:not(.home-page-v73) .publication-card .publication-body h3 a {
    color: inherit !important;
    text-decoration: none !important;
  }

  body:not(.home-page-v73) .publication-card .publication-teaser-v67 {
    min-height: 0 !important;
    margin: 0 0 .3rem !important;
    font-size: .64rem !important;
    line-height: 1.5 !important;
    -webkit-line-clamp: 1 !important;
  }

  body:not(.home-page-v73) .publication-card .publication-teaser-cue-v67 {
    display: none !important;
  }

  body:not(.home-page-v73) .publication-card .publication-meta {
    margin-top: auto !important;
    gap: .42rem !important;
    font-size: .56rem !important;
    line-height: 1.35 !important;
    display: flex !important;
    flex-wrap: wrap !important;
  }

  body:not(.home-page-v73) .publication-card .publication-meta span {
    min-width: 0 !important;
  }

  body:not(.home-page-v73) .publication-card .publication-meta span:first-child {
    max-width: 74% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body:not(.home-page-v73) .publication-card .type-chip {
    top: 6px !important;
    right: 6px !important;
    font-size: .52rem !important;
    line-height: 1.15 !important;
    padding: .22rem .38rem !important;
    max-width: 82px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body:not(.home-page-v73) .publication-card .promoted-chip-v70 {
    font-size: .48rem !important;
    padding: .18rem .32rem !important;
  }

  body:not(.home-page-v73) .publication-card .card-favorite {
    width: 30px !important;
    height: 30px !important;
    top: 6px !important;
    left: 6px !important;
    font-size: .78rem !important;
  }

  body:not(.home-page-v73) .row:has(> [class*="col-"] > .publication-card) {
    --bs-gutter-y: .85rem !important;
  }
}

@media (max-width: 359.98px) {
  body:not(.home-page-v73) .publication-card {
    grid-template-columns: 84px minmax(0, 1fr) !important;
    grid-template-rows: minmax(108px, auto) !important;
  }
  body:not(.home-page-v73) .publication-card .publication-cover,
  body:not(.home-page-v73) .publication-card .cover-placeholder {
    width: 84px !important;
    min-width: 84px !important;
    min-height: 108px !important;
  }
  body:not(.home-page-v73) .publication-card .publication-cover img {
    min-height: 108px !important;
  }
  body:not(.home-page-v73) .publication-card .publication-body {
    padding: .56rem .62rem !important;
  }
  body:not(.home-page-v73) .publication-card .publication-body h3 {
    font-size: .77rem !important;
  }
}

/* --------------------------------------------------------------------------
   Advertiser public page — actual theme-aware light/dark presentation.
   -------------------------------------------------------------------------- */
.advertise-public-v981,
.advertise-section-v981,
.advertise-final-v981 {
  color: var(--bs-body-color) !important;
}

[data-bs-theme="light"] .advertise-hero-v981 {
  background:
    radial-gradient(circle at 88% 6%, rgba(213,160,33,.16), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #f4f7f9 58%, #edf3f6 100%) !important;
  border-bottom: 1px solid var(--bs-border-color) !important;
  color: #172a38 !important;
}
[data-bs-theme="light"] .advertise-hero-v981:after {
  background: rgba(11,38,61,.045) !important;
}
[data-bs-theme="light"] .advertise-hero-v981 h1 {
  color: #132c3c !important;
  text-shadow: none !important;
}
[data-bs-theme="light"] .advertise-hero-v981 p {
  color: #5a6e7b !important;
}
[data-bs-theme="light"] .advertise-badge-v981 {
  color: #17354a !important;
  background: rgba(213,160,33,.12) !important;
  border-color: rgba(178,126,18,.25) !important;
}

[data-bs-theme="dark"] .advertise-hero-v981 {
  background:
    radial-gradient(circle at 88% 6%, rgba(213,160,33,.12), transparent 34%),
    linear-gradient(145deg, #07141d 0%, #0b2737 62%, #0d3346 100%) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  color: #f7fafc !important;
}
[data-bs-theme="dark"] .advertise-hero-v981 h1 {
  color: #f7fafc !important;
}
[data-bs-theme="dark"] .advertise-hero-v981 p {
  color: #c9d6de !important;
}
[data-bs-theme="dark"] .advertise-badge-v981 {
  color: #f7fafc !important;
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(255,255,255,.18) !important;
}

.advertise-primary-btn-v983,
.advertise-secondary-btn-v983 {
  min-height: 48px !important;
  border-radius: 13px !important;
  padding-inline: 20px !important;
  font-weight: 800 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}
.advertise-primary-btn-v983 {
  background: var(--gold, #d5a021) !important;
  border: 1px solid var(--gold, #d5a021) !important;
  color: #17212a !important;
}
.advertise-primary-btn-v983:hover,
.advertise-primary-btn-v983:focus {
  filter: brightness(.96);
  color: #111820 !important;
}
[data-bs-theme="light"] .advertise-secondary-btn-v983 {
  background: transparent !important;
  border: 1px solid #27485d !important;
  color: #17354a !important;
}
[data-bs-theme="light"] .advertise-secondary-btn-v983:hover,
[data-bs-theme="light"] .advertise-secondary-btn-v983:focus {
  background: #17354a !important;
  color: #fff !important;
}
[data-bs-theme="dark"] .advertise-secondary-btn-v983 {
  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(255,255,255,.62) !important;
  color: #f8fbfd !important;
}
[data-bs-theme="dark"] .advertise-secondary-btn-v983:hover,
[data-bs-theme="dark"] .advertise-secondary-btn-v983:focus {
  background: #f8fbfd !important;
  color: #102638 !important;
}
.advertise-card-v981 h2,
.advertise-flow-step-v981 strong,
.advertise-final-v981 h2 {
  color: var(--bs-body-color) !important;
}
.advertise-card-v981 p,
.advertise-flow-step-v981 small,
.advertise-final-v981 p {
  color: var(--bs-secondary-color) !important;
}

/* --------------------------------------------------------------------------
   Admin — explicit Reading Gate master switch.
   -------------------------------------------------------------------------- */
.reader-gate-admin-v983 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 1rem 0 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 16px;
  background: var(--bs-tertiary-bg);
}
.reader-gate-admin-v983 > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .25rem;
}
.reader-gate-admin-v983 strong {
  color: var(--bs-body-color);
  font-size: .94rem;
}
.reader-gate-admin-v983 small {
  color: var(--bs-secondary-color);
  line-height: 1.55;
}
.reader-gate-status-v983 {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  width: max-content;
  max-width: 100%;
  font-size: .72rem;
  font-weight: 800;
  padding: .3rem .55rem;
  border-radius: 999px;
}
.reader-gate-admin-v983.is-disabled .reader-gate-status-v983 {
  background: color-mix(in srgb, var(--bs-secondary-color) 12%, transparent);
  color: var(--bs-secondary-color);
}
.reader-gate-admin-v983.is-enabled .reader-gate-status-v983 {
  background: color-mix(in srgb, var(--bs-success) 15%, transparent);
  color: var(--bs-success-text-emphasis);
}
.reader-gate-switch-v983 {
  flex: 0 0 auto;
  display: flex !important;
  align-items: center;
  gap: .55rem;
  margin: 0 !important;
  font-weight: 800;
  color: var(--bs-body-color);
}
.reader-gate-switch-v983 .form-check-input {
  width: 3rem !important;
  height: 1.55rem !important;
  margin: 0 !important;
}

.subscription-invariant-v983 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .15rem;
  min-height: 78px;
  padding: .85rem 1rem;
  padding-inline-start: 3.3rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 14px;
  background: var(--bs-tertiary-bg);
  color: var(--bs-body-color);
  position: relative;
}
.subscription-invariant-v983 > i {
  position: absolute;
  inset-inline-start: 1rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.35rem;
  color: var(--gold, #d5a021);
}
.subscription-invariant-v983 b { color: var(--bs-body-color); }
.subscription-invariant-v983 small { color: var(--bs-secondary-color); }

/* Reader transient connectivity state. */
.reader-page-v74 .secure-page-placeholder-v89 .bi-wifi-off {
  font-size: 1.45rem;
  color: var(--gold, #d5a021);
  margin-bottom: .3rem;
}
.reader-page-v74 .secure-page-placeholder-v89 strong { color: var(--bs-body-color); }
.reader-page-v74 .secure-page-placeholder-v89 small {
  color: var(--bs-secondary-color);
  max-width: 38rem;
  line-height: 1.65;
  text-align: center;
}

@media (max-width: 767.98px) {
  .reader-gate-admin-v983 {
    align-items: stretch;
    flex-direction: column;
  }
  .reader-gate-switch-v983 {
    justify-content: space-between;
    min-height: 44px;
  }
  .advertise-hero-v981 {
    padding-top: 34px !important;
  }
  .advertise-cta-v981 {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .advertise-primary-btn-v983,
  .advertise-secondary-btn-v983 {
    width: 100% !important;
  }
}
