/* Rabri Home Studio 1.4.3 — Serchawe-informed proportions with Rabri identity. */

/* Desktop mega menu: no dead hover gap and no translucent low-contrast grid. */
@media (min-width: 1101px) {
  :root:not([data-theme="light"]) .rabri-mega-menu {
    top: calc(var(--rb-header-height, 76px) - 1px);
    padding-top: 0;
  }
  body.admin-bar .rabri-mega-menu {
    top: calc(var(--rb-header-height, 76px) + var(--rb-admin-bar-offset) - 1px);
  }
  :root:not([data-theme="light"]) .rabri-mega-menu:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -22px;
    height: 24px;
    background: transparent;
  }
}
:root:not([data-theme="light"]) .rabri-mega-menu__inner {
  border-color: color-mix(
    in srgb,
    var(--rb-palette-steel-blue) 46%,
    transparent
  );
  background: linear-gradient(
    145deg,
    var(--rb-palette-carbon),
    var(--rb-palette-graphite)
  );
  box-shadow: 0 30px 85px
    color-mix(in srgb, var(--rb-palette-carbon) 56%, transparent);
}
:root:not([data-theme="light"]) .rabri-mega-menu__intro {
  background:
    radial-gradient(
      circle at 18% 10%,
      color-mix(in srgb, var(--rb-palette-steel-blue) 30%, transparent),
      transparent 46%
    ),
    linear-gradient(
      145deg,
      var(--rb-palette-cerulean),
      var(--rb-palette-carbon)
    );
}
:root:not([data-theme="light"]) .rabri-mega-category {
  border-color: color-mix(
    in srgb,
    var(--rb-palette-steel-blue) 32%,
    transparent
  );
  background: var(--rb-palette-graphite);
  color: var(--rb-text-primary);
}
:root:not([data-theme="light"]) .rabri-mega-category:hover {
  border-color: var(--rb-accent-text);
  background: var(--rb-palette-graphite);
}
:root:not([data-theme="light"]) .rabri-mega-category__head,
:root:not([data-theme="light"]) .rabri-mega-category__head strong {
  color: var(--rb-text-primary);
}
:root:not([data-theme="light"]) .rabri-mega-category__head small {
  color: var(--rb-text-secondary);
}
:root:not([data-theme="light"]) .rabri-mega-category__children a {
  border-color: color-mix(in srgb, var(--rb-palette-carbon) 20%, transparent);
  background: var(--rb-palette-carbon);
  color: var(--rb-text-secondary);
}
:root:not([data-theme="light"]) .rabri-mega-category__children a:hover,
:root:not([data-theme="light"]) .rabri-mega-category__children a:focus-visible {
  border-color: var(--rb-accent-text);
  background: var(--rb-palette-steel-blue);
  color: var(--rb-action-fg);
}

/* Consistent homepage rhythm: distinct sections without oversized vertical walls. */
[data-rabri-home-section].rabri-section {
  padding-block: 48px 54px;
}
[data-rabri-home-section] .rabri-showcase-heading {
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--rb-line);
}
[data-rabri-home-section] .rabri-showcase-heading > div {
  max-width: 820px;
}
[data-rabri-home-section] .rabri-showcase-heading h2 {
  margin: 5px 0 4px;
  font-size: clamp(24px, 2.4vw, 34px);
}
[data-rabri-home-section] .rabri-showcase-heading p {
  max-width: 720px;
  margin: 0;
  color: var(--rb-muted);
}
[data-rabri-home-section] .rabri-showcase-heading > a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  padding: 7px 12px;
  border: 1px solid var(--rb-line);
  border-radius: 11px;
  background: var(--rb-surface);
  font-weight: 850;
}
[data-rabri-home-section] .rabri-showcase-heading > a:hover {
  border-color: var(--rb-accent-text);
  background: var(--rb-palette-steel-blue);
  color: var(--rb-action-fg);
}
:root[data-theme="light"] [data-rabri-home-section].rabri-section {
  background: linear-gradient(
    180deg,
    var(--rb-palette-white),
    var(--rb-palette-white)
  );
}
:root[data-theme="light"]
  [data-rabri-home-section].rabri-section:nth-of-type(even) {
  background: var(--rb-palette-white);
}
:root:not([data-theme="light"]) [data-rabri-home-section].rabri-section {
  background: linear-gradient(
    180deg,
    var(--rb-palette-carbon),
    var(--rb-palette-carbon)
  );
}
:root:not([data-theme="light"])
  [data-rabri-home-section].rabri-section:nth-of-type(even) {
  background: var(--rb-palette-carbon);
}

/* Homepage book cards use Serchawe's four-column proportions and segmented footer. */
.rabri-home-books-section .rabri-books-grid-dynamic {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.rabri-home-books-section .rabri-book-card {
  padding: 0 !important;
  overflow: hidden;
  border-radius: 22px;
  background: var(--rb-surface);
  box-shadow: 0 10px 30px
    color-mix(in srgb, var(--rb-palette-carbon) 8%, transparent);
}
.rabri-home-books-section .rabri-book-cover {
  aspect-ratio: 4/5.05;
  margin: 0;
  padding: 13px 13px 9px;
  background: color-mix(in srgb, var(--rb-surface-2) 74%, transparent);
}
.rabri-home-books-section .rabri-book-info {
  padding: 14px 16px 0;
}
.rabri-home-books-section .rabri-card-kicker {
  font-size: 13px;
}
.rabri-home-books-section .rabri-book-info h3 {
  min-height: 3em;
  margin: 3px 0 9px;
  font-size: 16px !important;
  line-height: 1.5;
}
.rabri-home-books-section .rabri-card-author {
  min-height: 28px;
  padding-bottom: 10px;
}
.rabri-home-books-section .rabri-book-meta,
.rabri-home-books-section .rabri-card-actions {
  display: none !important;
}
.rabri-home-books-section .rabri-card-signals {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 4px -16px 0;
  border-top: 1px solid var(--rb-line);
  background: color-mix(in srgb, var(--rb-surface-2) 72%, transparent);
}
.rabri-home-books-section .rabri-card-signals > span {
  min-width: 0;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 5px;
  align-items: center;
  justify-content: center;
  padding: 11px 7px;
  text-align: center;
}
.rabri-home-books-section .rabri-card-signals > span + span {
  border-inline-start: 1px solid var(--rb-line);
}
.rabri-home-books-section .rabri-card-signals svg {
  grid-row: 1/3;
  width: 16px;
  height: 16px;
}
.rabri-home-books-section .rabri-card-signals b,
.rabri-home-books-section .rabri-card-signals small {
  min-width: 0;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.25;
}
.rabri-home-books-section .rabri-card-signals b {
  color: var(--rb-text);
  font-size: 13px;
}
.rabri-home-books-section .rabri-card-signals small {
  color: var(--rb-muted);
  font-size: 12px !important;
}
.rabri-home-books-section .rabri-card-hover {
  background: color-mix(in srgb, var(--rb-palette-carbon) 90%, transparent);
  color: var(--rb-action-fg);
}

/* Dense information sections share the same geometry instead of unrelated boxes. */
.rabri-category-directory,
.rabri-term-showcase-grid,
.rabri-author-rail,
.rabri-audio-library-grid {
  gap: 16px;
}
.rabri-category-directory__item,
.rabri-term-showcase,
.rabri-author-rail > a,
.rabri-audio-library-card {
  border-radius: 18px;
  box-shadow: 0 10px 30px
    color-mix(in srgb, var(--rb-palette-carbon) 8%, transparent);
}
.rabri-featured-story,
.rabri-home-cta-card {
  border-radius: 24px;
  box-shadow: 0 18px 52px
    color-mix(in srgb, var(--rb-palette-carbon) 12%, transparent);
}

@media (max-width: 1180px) {
  .rabri-home-books-section .rabri-books-grid-dynamic {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 820px) {
  [data-rabri-home-section].rabri-section {
    padding-block: 38px 44px;
  }
  .rabri-home-books-section .rabri-books-grid-dynamic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 540px) {
  [data-rabri-home-section] .rabri-showcase-heading {
    align-items: flex-start;
  }
  .rabri-home-books-section .rabri-books-grid-dynamic {
    grid-template-columns: 1fr;
  }
  .rabri-home-books-section .rabri-book-card {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
  }
  .rabri-home-books-section .rabri-book-cover {
    aspect-ratio: auto;
    min-height: 205px;
  }
  .rabri-home-books-section .rabri-book-info h3 {
    min-height: auto;
  }
  .rabri-home-books-section .rabri-card-signals {
    grid-column: 1/-1;
    margin-top: 9px;
  }
}
