/* CABOOK Leitor — padrão visual oficial CABOOK 2026-08-21 */
html {
  background: #fbf8f1;
}

body.cabook-reader-standard {
  --navy: #0b4a35;
  --navy2: #073828;
  --navy3: #176148;
  --gold: #c99a45;
  --gold2: #efd28a;
  --ivory: #fbf8f1;
  --surface: #fffdf8;
  --ink: #17352b;
  --muted: #68746f;
  --line: #e3dbcd;
  --success: #176148;
  --warning: #8b641a;
  --danger: #a83131;
  --shadow: 0 16px 40px rgba(23, 53, 43, 0.09);
  --cabook-book-context-lines: 4;
  --cabook-app-book-context-height: 4.85rem;
  margin: 0;
  background:
    radial-gradient(circle at 10% 4%, rgba(201, 154, 69, 0.08), transparent 25%),
    #fbf8f1;
  color: var(--ink);
}

body.cabook-reader-standard .reader-topbar {
  min-height: 72px;
  padding-block: 8px;
  background: rgba(255, 253, 248, 0.97);
  color: var(--ink);
  border-bottom: 1px solid #e4ddd0;
  box-shadow: 0 5px 22px rgba(23, 53, 43, 0.07);
  backdrop-filter: blur(16px);
}

body.cabook-reader-standard .reader-brand {
  gap: 11px;
}

body.cabook-reader-standard .reader-brand img {
  width: 48px;
  height: 48px;
  padding: 1px;
  border-radius: 0;
  background: transparent;
  object-fit: contain;
}

body.cabook-reader-standard .reader-brand strong {
  color: #0b4a35;
  font-size: 1.12rem;
}

body.cabook-reader-standard .reader-brand small {
  color: #7b766d;
}

body.cabook-reader-standard .reader-nav button {
  color: #40594f;
  border: 1px solid transparent;
}

body.cabook-reader-standard .reader-nav button:hover {
  background: #f5f0e7;
  color: #0b4a35;
}

body.cabook-reader-standard .reader-nav button.active {
  background: #f4efe5;
  color: #0b4a35;
  border-color: #dfd2bc;
  box-shadow: inset 0 -2px 0 #c99a45;
}

body.cabook-reader-standard .account-button {
  border: 1px solid #0b4a35;
  background: #0b4a35;
  color: #fff;
  box-shadow: 0 7px 18px rgba(11, 74, 53, 0.15);
}

body.cabook-reader-standard .menu-button {
  border: 1px solid #d9cdb9;
  background: #fff;
  color: #0b4a35;
}

body.cabook-reader-standard .reader-shell {
  gap: 22px;
  padding-top: 24px;
}

body.cabook-reader-standard .reader-hero {
  min-height: 318px;
  padding: clamp(28px, 4.4vw, 52px);
  border: 1px solid rgba(239, 210, 138, 0.45);
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 18%, rgba(239, 210, 138, 0.24), transparent 32%),
    linear-gradient(145deg, #073828 0%, #0b4a35 55%, #176148 100%);
  box-shadow: 0 24px 58px rgba(7, 56, 40, 0.22);
}

body.cabook-reader-standard .reader-hero::after {
  background: radial-gradient(circle, rgba(239, 210, 138, 0.2), transparent 68%);
}

body.cabook-reader-standard .reader-hero h1 {
  max-width: 730px;
  font-size: clamp(2.25rem, 4.2vw, 3.75rem);
}

body.cabook-reader-standard .reader-hero p {
  max-width: 680px;
  color: #e4eee9;
}

body.cabook-reader-standard .reader-hero .eyebrow,
body.cabook-reader-standard .hero-mark span {
  color: #efd28a;
}

body.cabook-reader-standard .hero-mark {
  width: 176px;
  height: 176px;
  border-color: rgba(239, 210, 138, 0.68);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.025));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 20px 44px rgba(0, 0, 0, 0.16);
}

body.cabook-reader-standard .primary-button {
  border-color: #e2ba61;
  background: linear-gradient(180deg, #f0d58f, #c99a45);
  color: #17352b;
  box-shadow: 0 5px 0 #8b641a;
}

body.cabook-reader-standard .secondary-button {
  border-color: rgba(255, 253, 248, 0.48);
  background: rgba(255, 253, 248, 0.07);
  color: #fff;
}

body.cabook-reader-standard .section-block,
body.cabook-reader-standard .profile-card,
body.cabook-reader-standard .auth-gate,
body.cabook-reader-standard .orders-table,
body.cabook-reader-standard .media-card {
  background: rgba(255, 253, 248, 0.96);
  border-color: #e3dbcd;
  box-shadow: var(--shadow);
}

body.cabook-reader-standard .section-block {
  padding: 21px;
}

body.cabook-reader-standard .section-heading h2,
body.cabook-reader-standard .view-heading h1,
body.cabook-reader-standard .profile-card h2,
body.cabook-reader-standard .auth-gate h2,
body.cabook-reader-standard .media-card h3 {
  color: #0b4a35;
}

body.cabook-reader-standard .eyebrow,
body.cabook-reader-standard .text-button,
body.cabook-reader-standard .media-footer a {
  color: #9a6b18;
}

body.cabook-reader-standard .book-grid {
  gap: 14px;
  align-items: stretch;
}

body.cabook-reader-standard .book-card {
  height: 100%;
  border-color: #e3dbcd;
  border-radius: 16px;
  background: #fffdf8;
  color: #17352b;
  box-shadow: 0 10px 26px rgba(23, 53, 43, 0.07);
}

body.cabook-reader-standard .book-card:hover {
  transform: translateY(-3px);
  border-color: #d6c59e;
  box-shadow: 0 18px 36px rgba(23, 53, 43, 0.12);
}

body.cabook-reader-standard .book-cover {
  background:
    radial-gradient(circle at 50% 35%, rgba(201, 154, 69, 0.15), transparent 43%),
    linear-gradient(145deg, #f1ebdf, #fffdf8);
  border-bottom: 1px solid #e1d6c3;
}

body.cabook-reader-standard .book-status {
  background: rgba(11, 74, 53, 0.94);
  color: #fff;
  box-shadow: 0 4px 12px rgba(7, 56, 40, 0.18);
}

body.cabook-reader-standard .book-card-body {
  min-height: 228px;
  padding: 14px;
}

body.cabook-reader-standard .book-card h3 {
  color: #17352b;
  font-size: 1.08rem;
}

body.cabook-reader-standard .book-card p,
body.cabook-reader-standard .book-card .book-context {
  height: var(--cabook-app-book-context-height);
  min-height: var(--cabook-app-book-context-height);
  max-height: var(--cabook-app-book-context-height);
  color: #68746f;
  -webkit-line-clamp: var(--cabook-book-context-lines);
  line-clamp: var(--cabook-book-context-lines);
}

body.cabook-reader-standard .book-meta {
  color: #8b681f;
}

body.cabook-reader-standard .book-actions {
  min-height: 58px;
  gap: 6px;
  padding-top: 10px;
}

body.cabook-reader-standard .book-actions button,
body.cabook-reader-standard .book-actions a {
  border-color: #d8ccb7;
  background: #fff;
  color: #0b4a35;
}

body.cabook-reader-standard .book-actions .read-primary {
  border-color: #0b4a35;
  background: #0b4a35;
  color: #fff;
}

body.cabook-reader-standard .pill {
  background: #edf4f0;
  color: #285b48;
}

body.cabook-reader-standard .filter-row button {
  border-color: #d8ccb7;
  color: #536a61;
}

body.cabook-reader-standard .filter-row button.active {
  border-color: #0b4a35;
  background: #0b4a35;
  color: #fff;
}

body.cabook-reader-standard .advertising-rail {
  top: 94px;
}

body.cabook-reader-standard .ad-slot {
  border-color: #e3dbcd;
  background: #fffdf8;
  box-shadow: 0 10px 25px rgba(23, 53, 43, 0.07);
}

body.cabook-reader-standard .ad-empty {
  background: linear-gradient(145deg, #fffdf8, #f3eee5);
}

body.cabook-reader-standard .ad-empty strong,
body.cabook-reader-standard .ad-copy strong {
  color: #17352b;
}

body.cabook-reader-standard .orders-table th {
  background: #f4efe6;
  color: #536a61;
}

body.cabook-reader-standard .reader-footer {
  background: #073828;
  color: #dce8e2;
  border-top: 1px solid rgba(239, 210, 138, 0.25);
}

body.cabook-reader-standard .reader-footer a {
  color: #efd28a;
}

body.cabook-reader-standard .login-dialog::backdrop {
  background: rgba(7, 39, 29, 0.72);
}

body.cabook-reader-standard .dialog-card {
  background: #fffdf8;
  color: #17352b;
  border: 1px solid #e3dbcd;
  box-shadow: 0 28px 80px rgba(7, 56, 40, 0.25);
}

body.cabook-reader-standard .dialog-card h2 {
  color: #0b4a35;
}

body.cabook-reader-standard .reader-auth-tabs {
  background: #f2ede4;
}

body.cabook-reader-standard .reader-auth-tabs button {
  color: #536a61;
}

body.cabook-reader-standard .reader-auth-tabs button.active {
  background: #0b4a35;
  color: #fff;
  box-shadow: 0 7px 18px rgba(11, 74, 53, 0.16);
}

body.cabook-reader-standard input,
body.cabook-reader-standard select,
body.cabook-reader-standard textarea {
  background: #fff;
  color: #17352b;
  border-color: #d8ccb7;
}

body.cabook-reader-standard .danger-zone input:focus,
body.cabook-reader-standard .login-dialog input:focus {
  border-color: #c99a45;
  box-shadow: 0 0 0 4px rgba(201, 154, 69, 0.16);
}

@media (max-width: 950px) {
  body.cabook-reader-standard .reader-nav {
    border: 1px solid #e0d5c3;
    background: #fffdf8;
    box-shadow: 0 20px 42px rgba(23, 53, 43, 0.18);
  }

  body.cabook-reader-standard .reader-nav button {
    color: #40594f;
    text-align: left;
  }
}

@media (max-width: 700px) {
  body.cabook-reader-standard .reader-topbar {
    min-height: 66px;
  }

  body.cabook-reader-standard .reader-shell {
    padding-top: 14px;
  }

  body.cabook-reader-standard .reader-hero {
    padding: 27px 22px;
    border-radius: 19px;
  }

  body.cabook-reader-standard .reader-hero h1 {
    font-size: clamp(2rem, 10vw, 2.55rem);
  }

  body.cabook-reader-standard .section-block {
    padding: 14px;
  }

  body.cabook-reader-standard .book-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  body.cabook-reader-standard .book-card-body {
    min-height: 226px;
    padding: 10px;
  }

  body.cabook-reader-standard .book-card h3 {
    font-size: 0.92rem;
    line-height: 1.18;
  }

  body.cabook-reader-standard .book-card p,
  body.cabook-reader-standard .book-card .book-context {
    font-size: 0.68rem;
    line-height: 1.4;
    height: 3.82rem;
    min-height: 3.82rem;
    max-height: 3.82rem;
    -webkit-line-clamp: 4;
    line-clamp: 4;
  }

  body.cabook-reader-standard .book-meta-slot {
    font-size: 0.64rem;
  }

  body.cabook-reader-standard .book-actions {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 64px;
  }

  body.cabook-reader-standard .book-actions button,
  body.cabook-reader-standard .book-actions a {
    width: 100%;
    padding: 7px 6px;
    font-size: 0.68rem;
    text-align: center;
  }
}

@media (max-width: 430px) {
  body.cabook-reader-standard .reader-brand img {
    width: 42px;
    height: 42px;
  }

  body.cabook-reader-standard .reader-brand strong {
    font-size: 0.94rem;
  }

  body.cabook-reader-standard .reader-shell {
    padding-inline: 9px;
  }

  body.cabook-reader-standard .hero-actions > * {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cabook-reader-standard * {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
