/* ═══════════════════════════════════════════════════════════════════════════
   LH Platform — Dashboard Styles
   Aplica al dashboard de autor, lector y selector de rol.
   Usa las variables CSS de color del tema de LecturaHonesta.
═══════════════════════════════════════════════════════════════════════════ */

:root {
  --lh-cream:       #FDFAF5;
  --lh-cream-mid:   #F4EFE6;
  --lh-cream-dark:  #EDE5D8;
  --lh-ink:         #1E1A16;
  --lh-ink-mid:     #3A342D;
  --lh-ink-light:   #5C5248;
  --lh-ink-muted:   #8C8078;
  --lh-terra:       #B85A28;
  --lh-terra-pale:  #F6E8DF;
  --lh-forest:      #3D6B4F;
  --lh-forest-pale: #E0EBE4;
  --lh-gold:        #A8842E;
  --lh-gold-pale:   #F5EDD6;
  --lh-border:      #DDD5C9;
  --lh-radius:      10px;
  --lh-radius-sm:   6px;

  /* ── Escala tipográfica global ──────────────────────────────────────────
     Cambia estos valores para ajustar TODOS los textos del dashboard.
     Base actual: 15px (era 13px). Aumenta/disminuye en 1px a la vez.
  ────────────────────────────────────────────────────────────────────── */
  --lh-fs-xs:    12px;   /* Notas al pie, timestamps, labels pequeños    */
  --lh-fs-sm:    13px;   /* Texto secundario, badges, meta info          */
  --lh-fs-base:  15px;   /* Texto principal — aumentar aquí sube todo    */
  --lh-fs-md:    16px;   /* Párrafos importantes, form labels            */
  --lh-fs-lg:    18px;   /* Subtítulos de sección                        */
  --lh-fs-xl:    22px;   /* Títulos de sección                           */
  --lh-fs-2xl:   28px;   /* Títulos grandes                              */
  --lh-fs-3xl:   36px;   /* Hero / H1                                    */
}

/* ── Layout base ────────────────────────────────────────────────────────── */
.lh-dashboard {
  max-width: 860px;
  margin: 0 auto;
  padding: 24px 20px 64px;
  font-family: 'DM Sans', sans-serif;
  color: var(--lh-ink);
}

/* ── Header ─────────────────────────────────────────────────────────────── */
.lh-dash-header {
  display: flex;
  align-items: center;
  gap: 18px;
  background: #fff;
  border: 1px solid var(--lh-border);
  border-radius: var(--lh-radius);
  padding: 24px;
  margin-bottom: 24px;
}
.lh-avatar-img {
  width: 72px !important;
  height: 72px !important;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.lh-dash-header-info { flex: 1 }
.lh-dash-welcome {
  font-size: var(--lh-fs-xs);
  color: var(--lh-ink-muted);
  letter-spacing: .5px;
  margin: 0 0 4px;
}
.lh-dash-name {
  font-family: 'Playfair Display', serif;
  font-size: var(--lh-fs-2xl);
  font-weight: 700;
  color: var(--lh-ink);
  margin: 0 0 4px;
  letter-spacing: -.3px;
}
.lh-dash-meta {
  font-size: var(--lh-fs-sm);
  color: var(--lh-ink-muted);
  margin: 0;
}
.lh-pledge-badge {
  font-size: var(--lh-fs-xs);
  color: var(--lh-forest);
  background: var(--lh-forest-pale);
  padding: 3px 10px;
  border-radius: 20px;
  display: inline-block;
  margin: 0;
}
.lh-dash-header-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-shrink: 0;
}

/* ── Secciones ───────────────────────────────────────────────────────────── */
.lh-section {
  background: #fff;
  border: 1px solid var(--lh-border);
  border-radius: var(--lh-radius);
  padding: 24px;
  margin-bottom: 20px;
}
.lh-section--highlight {
  border-color: var(--lh-terra);
  border-width: 2px;
}
.lh-section--progress {
  background: var(--lh-cream-mid);
  border-color: var(--lh-border);
}
.lh-section--services {
  background: var(--lh-ink);
  border-color: transparent;
  color: #fff;
}
.lh-section--services .lh-section-title { color: #fff }
.lh-section--services .lh-section-intro {
  font-family: 'Lora', serif;
  font-size: var(--lh-fs-base);
  color: rgba(255,255,255,.65);
  line-height: 1.7;
  margin-bottom: 18px;
}
.lh-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  gap: 12px;
  flex-wrap: wrap;
}
.lh-section-title {
  font-family: 'Playfair Display', serif;
  font-size: var(--lh-fs-xl);
  font-weight: 700;
  color: var(--lh-ink);
  margin: 0;
  letter-spacing: -.2px;
}
.lh-section-intro {
  font-size: var(--lh-fs-sm);
  color: var(--lh-ink-light);
  line-height: 1.6;
  margin-bottom: 16px;
}
.lh-section-meta {
  font-size: var(--lh-fs-xs);
  color: var(--lh-ink-muted);
}

/* ── Stats grid ─────────────────────────────────────────────────────────── */
.lh-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 14px;
  margin-bottom: 20px;
}
.lh-stat-card {
  background: #fff;
  border: 1px solid var(--lh-border);
  border-radius: var(--lh-radius-sm);
  padding: 18px 16px;
  text-align: center;
}
.lh-stat-card--alert { border-color: var(--lh-gold) }
.lh-stat-num {
  display: block;
  font-family: 'Playfair Display', serif;
  font-size: var(--lh-fs-2xl);
  font-weight: 700;
  color: var(--lh-ink);
  line-height: 1;
}
.lh-stat-label {
  display: block;
  font-size: var(--lh-fs-xs);
  color: var(--lh-ink-muted);
  margin-top: 6px;
  letter-spacing: .3px;
}

/* ── Progreso del proceso ───────────────────────────────────────────────── */
.lh-progress-track {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 16px;
  flex-wrap: nowrap;
  overflow-x: auto;
}
.lh-progress-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  flex-shrink: 0;
  transition: opacity .2s;
}
.lh-progress-step:hover { opacity: .8 }
.lh-progress-dot {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--lh-fs-sm);
  font-weight: 500;
  border: 2px solid var(--lh-border);
  background: #fff;
  color: var(--lh-ink-muted);
  transition: all .2s;
}
.lh-progress-step--done .lh-progress-dot {
  background: var(--lh-forest);
  border-color: var(--lh-forest);
  color: #fff;
}
.lh-progress-step--current .lh-progress-dot {
  background: var(--lh-terra);
  border-color: var(--lh-terra);
  color: #fff;
  box-shadow: 0 0 0 4px var(--lh-terra-pale);
}
.lh-progress-label {
  font-size: var(--lh-fs-xs);
  color: var(--lh-ink-muted);
  white-space: nowrap;
}
.lh-progress-step--current .lh-progress-label { color: var(--lh-terra); font-weight: 500 }
.lh-progress-step--done .lh-progress-label    { color: var(--lh-forest) }

.lh-progress-line {
  flex: 1;
  height: 2px;
  min-width: 20px;
  margin-bottom: 18px;
  background: var(--lh-border);
}
.lh-progress-line--done { background: var(--lh-forest) }

.lh-progress-bar-wrap {
  height: 4px;
  background: var(--lh-border);
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 8px;
}
.lh-progress-bar {
  height: 100%;
  background: var(--lh-terra);
  border-radius: 2px;
  transition: width .5s ease;
}
.lh-progress-hint {
  font-size: var(--lh-fs-xs);
  color: var(--lh-ink-muted);
  margin: 0;
}

/* ── Libros grid ─────────────────────────────────────────────────────────── */
.lh-books-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 18px;
}
.lh-book-card {
  border: 1px solid var(--lh-border);
  border-radius: var(--lh-radius-sm);
  overflow: hidden;
  transition: all .22s;
}
.lh-book-card--available:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(30,26,22,.09);
  border-color: var(--lh-terra);
}
.lh-book-cover {
  aspect-ratio: 2/3;
  background: var(--lh-cream-dark);
  position: relative;
  overflow: hidden;
}
.lh-book-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lh-book-cover-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--lh-terra) 0%, var(--lh-ink) 100%);
}
.lh-book-cover-placeholder span {
  font-family: 'Playfair Display', serif;
  font-size: var(--lh-fs-2xl);
  font-weight: 700;
  color: rgba(255,255,255,.7);
  text-transform: uppercase;
}
.lh-book-compensation-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  background: var(--lh-forest);
  color: #fff;
  font-size: var(--lh-fs-xs);
  font-weight: 500;
  padding: 3px 8px;
  border-radius: 20px;
}
.lh-book-info { padding: 14px }
.lh-book-title {
  font-family: 'Playfair Display', serif;
  font-size: var(--lh-fs-sm);
  font-weight: 600;
  color: var(--lh-ink);
  margin: 0 0 8px;
  line-height: 1.3;
}
.lh-book-meta {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.lh-book-status {
  font-size: var(--lh-fs-xs);
  padding: 2px 8px;
  border-radius: 20px;
}
.lh-book-status--publish { background: var(--lh-forest-pale); color: var(--lh-forest) }
.lh-book-status--draft   { background: var(--lh-cream-dark);  color: var(--lh-ink-muted) }
.lh-book-rating { font-size: var(--lh-fs-xs); color: var(--lh-gold) }
.lh-book-reviews-count { font-size: var(--lh-fs-xs); color: var(--lh-ink-muted); margin: 0 0 10px }
.lh-book-excerpt {
  font-size: var(--lh-fs-xs);
  color: var(--lh-ink-muted);
  line-height: 1.5;
  margin: 0 0 10px;
}
.lh-genre-tag {
  display: inline-block;
  background: var(--lh-cream-dark);
  color: var(--lh-ink-light);
  font-size: var(--lh-fs-xs);
  padding: 2px 8px;
  border-radius: 20px;
  margin-bottom: 8px;
}
.lh-already-reading { font-size: var(--lh-fs-xs); color: var(--lh-forest); margin: 8px 0 0 }
.lh-no-slots        { font-size: var(--lh-fs-xs); color: var(--lh-ink-muted); margin: 8px 0 0 }

/* ── Progress bar de lectores ───────────────────────────────────────────── */
.lh-readers-progress,
.lh-rp-label { margin-bottom: 0 }
.lh-rp-label {
  display: flex;
  justify-content: space-between;
  font-size: var(--lh-fs-xs);
  color: var(--lh-ink-muted);
  margin-bottom: 5px;
}
.lh-rp-bar {
  height: 3px;
  background: var(--lh-cream-dark);
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 10px;
}
.lh-rp-fill {
  height: 100%;
  background: var(--lh-terra);
  border-radius: 2px;
  transition: width .4s;
}

/* ── Solicitudes / requests ─────────────────────────────────────────────── */
.lh-requests-list { display: flex; flex-direction: column; gap: 14px }
.lh-request-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border: 1px solid var(--lh-border);
  border-radius: var(--lh-radius-sm);
  flex-wrap: wrap;
}
.lh-request-item--active { border-color: var(--lh-terra) }
.lh-request-cover {
  width: 50px;
  height: 70px;
  object-fit: cover;
  border-radius: 4px;
  flex-shrink: 0;
}
.lh-request-info { flex: 1 }
.lh-request-book {
  font-family: 'Playfair Display', serif;
  font-size: var(--lh-fs-base);
  font-weight: 600;
  color: var(--lh-ink);
  margin: 0 0 6px;
}
.lh-request-lector,
.lh-request-date {
  font-size: var(--lh-fs-sm);
  color: var(--lh-ink-muted);
  margin: 0 0 4px;
}
.lh-request-action { flex-shrink: 0 }
.lh-request-status { display: flex; flex-direction: column; gap: 8px; align-items: flex-end }
.lh-status-pill {
  font-size: var(--lh-fs-xs);
  font-weight: 500;
  padding: 4px 12px;
  border-radius: 20px;
  letter-spacing: .3px;
  white-space: nowrap;
}
.lh-compensated {
  font-size: var(--lh-fs-xs);
  color: var(--lh-forest);
  font-weight: 500;
}

/* ── Formulario de reseña ───────────────────────────────────────────────── */
.lh-review-form-wrap {
  background: var(--lh-cream-mid);
  border: 1px solid var(--lh-border);
  border-radius: var(--lh-radius-sm);
  padding: 20px;
  margin-top: 10px;
}
.lh-review-pledge {
  background: var(--lh-forest-pale);
  border-left: 3px solid var(--lh-forest);
  border-radius: 0 var(--lh-radius-sm) var(--lh-radius-sm) 0;
  padding: 12px 16px;
  margin-bottom: 20px;
}
.lh-review-pledge p {
  font-size: var(--lh-fs-sm);
  color: var(--lh-forest);
  line-height: 1.6;
  margin: 0;
}

/* ── Star rating ─────────────────────────────────────────────────────────── */
.lh-star-rating { display: flex; gap: 6px; margin-top: 6px }
.lh-star {
  font-size: 26px;
  color: var(--lh-border);
  cursor: pointer;
  transition: color .15s;
  line-height: 1;
}
.lh-star--hover,
.lh-star--selected { color: var(--lh-gold) }

/* ── Historial ───────────────────────────────────────────────────────────── */
.lh-history-list { display: flex; flex-direction: column; gap: 10px }
.lh-history-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border: 1px solid var(--lh-border);
  border-radius: var(--lh-radius-sm);
  flex-wrap: wrap;
}
.lh-history-info { display: flex; align-items: center; gap: 10px; flex-wrap: wrap }

/* ── Badges ──────────────────────────────────────────────────────────────── */
.lh-badges-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.lh-badge-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  background: var(--lh-cream-mid);
  border: 1px solid var(--lh-border);
  border-radius: var(--lh-radius-sm);
  padding: 14px 16px;
  min-width: 90px;
  text-align: center;
  transition: transform .2s;
}
.lh-badge-item:hover { transform: translateY(-2px) }
.lh-badge-icon  { font-size: 24px }
.lh-badge-name  { font-size: var(--lh-fs-xs); font-weight: 500; color: var(--lh-ink) }
.lh-badge-date  { font-size: 10px; color: var(--lh-ink-muted) }

/* ── Formularios ─────────────────────────────────────────────────────────── */
.lh-form { margin: 0 }
.lh-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
.lh-form-field { display: flex; flex-direction: column; gap: 6px }
.lh-form-field--full { grid-column: 1 / -1 }
.lh-form-field label {
  font-size: var(--lh-fs-sm);
  font-weight: 500;
  color: var(--lh-ink-mid);
}
.lh-required { color: var(--lh-terra) }
.lh-form-field input,
.lh-form-field select,
.lh-form-field textarea {
  font-family: 'DM Sans', sans-serif;
  font-size: var(--lh-fs-sm);
  color: var(--lh-ink);
  background: var(--lh-cream);
  border: 1px solid var(--lh-border);
  border-radius: var(--lh-radius-sm);
  padding: 10px 14px;
  outline: none;
  transition: border-color .2s;
  width: 100%;
}
.lh-form-field input:focus,
.lh-form-field select:focus,
.lh-form-field textarea:focus { border-color: var(--lh-terra) }
.lh-form-field textarea { resize: vertical; min-height: 80px }
.lh-field-note    { font-size: var(--lh-fs-xs); color: var(--lh-ink-muted); line-height: 1.5 }
.lh-char-count    { font-size: var(--lh-fs-xs); color: var(--lh-ink-muted) }
.lh-form-section-title {
  font-size: var(--lh-fs-sm);
  font-weight: 500;
  color: var(--lh-ink-mid);
  border-top: 1px solid var(--lh-border);
  padding-top: 14px;
  margin-bottom: 14px;
}
.lh-form-field--checkbox { justify-content: center }
.lh-checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--lh-fs-sm);
  color: var(--lh-ink-light);
  cursor: pointer;
}
.lh-checkbox-label input { width: auto }
.lh-genre-checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.lh-form-actions { display: flex; gap: 10px; flex-wrap: wrap }
.lh-form-message {
  margin-top: 12px;
  font-size: var(--lh-fs-sm);
  padding: 10px 14px;
  border-radius: var(--lh-radius-sm);
  display: none;
}
.lh-form-message:not(:empty) { display: block }
.lh-form-message--success  { background: var(--lh-forest-pale); color: var(--lh-forest) }
.lh-form-message--error    { background: #fce8e0; color: var(--lh-terra) }
.lh-form-message--loading  { background: var(--lh-cream-dark);  color: var(--lh-ink-muted) }

/* ── Servicios ───────────────────────────────────────────────────────────── */
.lh-services-grid { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px }
.lh-service-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  color: rgba(255,255,255,.8);
  font-size: var(--lh-fs-sm);
  padding: 6px 14px;
  border-radius: 20px;
}

/* ── Empty states ────────────────────────────────────────────────────────── */
.lh-empty-state { text-align: center; padding: 32px 16px }
.lh-empty-icon  { font-size: 36px; margin: 0 0 10px }
.lh-empty-title {
  font-family: 'Playfair Display', serif;
  font-size: var(--lh-fs-lg);
  font-weight: 600;
  color: var(--lh-ink);
  margin: 0 0 8px;
}
.lh-empty-sub {
  font-size: var(--lh-fs-sm);
  color: var(--lh-ink-muted);
  line-height: 1.6;
  margin: 0 0 18px;
}

/* ── Botones ─────────────────────────────────────────────────────────────── */
.lh-btn {
  font-family: 'DM Sans', sans-serif;
  font-size: var(--lh-fs-sm);
  font-weight: 500;
  padding: 9px 18px;
  border-radius: 4px;
  cursor: pointer;
  border: 2px solid transparent;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all .2s;
  white-space: nowrap;
  line-height: 1;
}
.lh-btn--primary  { background: var(--lh-terra); color: #fff; border-color: var(--lh-terra) }
.lh-btn--primary:hover { background: transparent; color: var(--lh-terra) }
.lh-btn--outline  { background: transparent; color: var(--lh-terra); border-color: var(--lh-terra) }
.lh-btn--outline:hover { background: var(--lh-terra); color: #fff }
.lh-btn--ghost    { background: transparent; color: var(--lh-ink-light); border-color: var(--lh-border) }
.lh-btn--ghost:hover { border-color: var(--lh-terra); color: var(--lh-terra) }
.lh-btn--text     { background: transparent; border-color: transparent; color: var(--lh-ink-muted); padding: 9px 4px }
.lh-btn--text:hover { color: var(--lh-terra) }
.lh-btn--sm       { font-size: var(--lh-fs-xs); padding: 6px 12px }
.lh-btn--full     { width: 100%; justify-content: center }
.lh-btn--success  { background: var(--lh-forest) !important; border-color: var(--lh-forest) !important; color: #fff !important }
.lh-btn:disabled  { opacity: .6; cursor: not-allowed }

/* ── Elegir rol ──────────────────────────────────────────────────────────── */
.lh-elegir-rol { max-width: 600px; margin: 40px auto; text-align: center; padding: 0 20px }
.lh-er-header   { margin-bottom: 32px }
.lh-er-title {
  font-family: 'Playfair Display', serif;
  font-size: 32px;
  font-weight: 700;
  color: var(--lh-ink);
  margin: 0 0 10px;
}
.lh-er-sub { font-family: 'Lora', serif; font-size: var(--lh-fs-md); color: var(--lh-ink-light); margin: 0 }
.lh-er-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px }
.lh-er-card {
  background: #fff;
  border: 2px solid var(--lh-border);
  border-radius: var(--lh-radius);
  padding: 32px 24px;
  cursor: pointer;
  transition: all .2s;
  font-family: 'DM Sans', sans-serif;
  text-align: center;
}
.lh-er-card:hover { border-color: var(--lh-terra); transform: translateY(-3px); box-shadow: 0 8px 24px rgba(30,26,22,.08) }
.lh-er-card:disabled { opacity: .6; cursor: not-allowed }
.lh-er-icon { font-size: 36px; display: block; margin-bottom: 14px }
.lh-er-card h2 {
  font-family: 'Playfair Display', serif;
  font-size: var(--lh-fs-xl);
  font-weight: 700;
  color: var(--lh-ink);
  margin: 0 0 8px;
}
.lh-er-card p { font-size: var(--lh-fs-sm); color: var(--lh-ink-muted); line-height: 1.6; margin: 0 }
.lh-er-message { font-size: var(--lh-fs-sm); color: var(--lh-ink-muted); min-height: 20px }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 600px) {
  .lh-dashboard { padding: 12px 12px 48px }
  .lh-dash-header { flex-wrap: wrap }
  .lh-dash-header-actions { flex-direction: row }
  .lh-form-grid { grid-template-columns: 1fr }
  .lh-er-grid   { grid-template-columns: 1fr }
  .lh-books-grid { grid-template-columns: repeat(2, 1fr) }
  .lh-stats-grid { grid-template-columns: repeat(2, 1fr) }
  .lh-request-status { align-items: flex-start }
}

/* ── MOBILE HAMBURGER MENU ───────────────────────────────────────────────── */
/* Applies to ALL LH page templates (frontpage + interior pages) */

.lhp-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 4px;
  background: none;
  border: none;
  z-index: 300;
}
.lhp-hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--ink);
  border-radius: 2px;
  transition: all .25s;
}
.lhp-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.lhp-hamburger.open span:nth-child(2) { opacity: 0; }
.lhp-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.lhp-mobile-nav {
  display: none;
  position: fixed;
  top: 62px; left: 0; right: 0;
  background: rgba(253,250,245,.97);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--lh-border, #DDD5C9);
  padding: 20px 5vw 28px;
  z-index: 199;
  flex-direction: column;
  gap: 4px;
}
.lhp-mobile-nav.open { display: flex; }
.lhp-mobile-nav a {
  font-size: var(--lh-fs-md);
  color: var(--lh-ink, #1E1A16);
  text-decoration: none;
  padding: 12px 0;
  border-bottom: 1px solid var(--lh-border, #DDD5C9);
  transition: color .18s;
}
.lhp-mobile-nav a:last-child { border-bottom: none; }
.lhp-mobile-nav a:hover { color: var(--lh-terra, #B85A28); }
.lhp-mobile-nav .btn-cta-mobile {
  margin-top: 12px;
  background: var(--lh-terra, #B85A28);
  color: #fff !important;
  padding: 13px 20px;
  border-radius: 6px;
  text-align: center;
  font-weight: 500;
  border-bottom: none !important;
}

@media (max-width: 768px) {
  /* Show hamburger, hide desktop nav */
  .lhp-hamburger { display: flex !important; }
  .lhp-nav { display: none !important; }
  nav { gap: 12px; }
  /* Frontpage header nav */
  header nav a:not(.btn-nav-cta) { display: none; }
  header .btn-nav-cta { display: flex; font-size: var(--lh-fs-xs); padding: 7px 12px; }
  /* Show the hamburger button in the header */
  header .lhp-hamburger { display: flex; }
}

/* Force hamburger visible on mobile via JS-friendly class + media query override */
@media (max-width: 768px) {
  .lhp-hamburger { display: flex !important; }
  header nav { display: none !important; }
}

/* ── Cover upload widget ─────────────────────────────────────────────────── */
.lh-cover-upload{
  border:2px dashed var(--lh-border,#DDD5C9);border-radius:8px;
  padding:20px;text-align:center;cursor:pointer;transition:border-color .2s;
  background:var(--lh-cream,#FDFAF5);min-height:120px}
.lh-cover-upload:hover{border-color:var(--lh-terra,#B85A28)}
.lh-cover-placeholder{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  cursor:pointer;padding:8px}
.lh-cover-preview{
  display:flex;flex-direction:column;align-items:center;gap:6px}

/* ── Genre filter buttons ────────────────────────────────────────────────── */
.lh-genre-filter{
  font-family:"DM Sans",sans-serif;font-size:12px;font-weight:500;
  padding:6px 14px;border-radius:20px;border:1.5px solid var(--lh-border,#DDD5C9);
  background:var(--lh-cream,#FDFAF5);color:var(--lh-ink-light,#5C5248);
  cursor:pointer;transition:all .18s;white-space:nowrap}
.lh-genre-filter:hover{border-color:var(--lh-terra,#B85A28);color:var(--lh-terra,#B85A28)}
.lh-genre-filter.active{background:var(--lh-terra,#B85A28);border-color:var(--lh-terra,#B85A28);color:#fff}
.lh-genre-filter--fav{border-color:var(--lh-forest,#385F48);color:var(--lh-forest,#385F48)}
.lh-genre-filter--fav.active{background:var(--lh-forest,#385F48);border-color:var(--lh-forest,#385F48);color:#fff}

/* ── Author dashboard book cards — wider, no overflow clip ─────────────────── */
.lh-dashboard--autor .lh-books-grid {
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}
.lh-dashboard--autor .lh-book-card {
  overflow: visible; /* allow seek panel to expand beyond card bounds */
}
.lh-dashboard--autor .lh-book-info {
  padding: 14px;
}
/* Seek panel always full width inside card */
#[id^="lh-seek-panel-"] {
  width: 100%;
  box-sizing: border-box;
}

/* Draft books in biblioteca */
.lhp-lib-card--draft{opacity:.75}
.lhp-lib-card--draft:hover{opacity:1}
