/**
 * Flavor Feed News — Nyheter-SPECIFIKA regler
 *
 * Delade layout-komponenter (ffn container, sidebar, toolbar, filters,
 * list, pagination, settings, animation m.m.) finns i app-shell.css.
 * Delade kortkomponenter (news-card, ffn__favorite-btn, etc.) finns i app-shell.css.
 * Delade artikel-modal (ffn__article-modal) finns i app-shell.css.
 *
 * Den här filen innehåller ENBART:
 *   – Nyheter-specifik member-access (smakprov, readonly, gate-hints)
 *   – Källänk (.ffn__source-link / .ffn__source-icon)
 *   – Fetstil i nyhetstexten
 *   – Modal "Spara vy" (.ffn__modal) – Tips använder .tips__modal
 *   – Teaser-kort (.ffn__card--teaser)
 *
 * @package FlavorFeed
 */

/* ================================================================
   Member-specifikt (Nyheter)
   ================================================================ */
.ffn--member-readonly .ffn__toolbar--disabled input,
.ffn--member-readonly .ffn__toolbar--disabled select,
.ffn--member-readonly .ffn__toolbar--disabled button {
  pointer-events: none;
  opacity: 0.75;
  cursor: not-allowed;
}
.ffn__view-link--disabled {
  cursor: default;
  color: var(--muted, #667085);
}
.ffn__pagination-member-hint {
  font-size: var(--bb-font-size-sm, 13px);
  color: var(--muted, #667085);
  margin: 0;
}
.ffn__pagination-member-hint a {
  color: var(--lav-600, #5557a0);
  font-weight: 600;
}

/* Member smakprov-meddelande (ovanför nyhetslistan) */
.ffn__member-smakprov {
  margin-bottom: var(--space-3, 20px);
  padding: var(--space-3, 20px);
  background: var(--lav-50, #f0f0f5);
  border-radius: var(--bb-radius-md, 8px);
  border-left: 4px solid var(--lav-500, #6b6dad);
}
.ffn__member-smakprov p {
  margin: 0;
  font-size: var(--bb-font-size-sm, 13px);
  color: var(--text, #1a1a1a);
}
.ffn__member-smakprov a {
  color: var(--lav-600, #5557a0);
  font-weight: 600;
}

/* ================================================================
   Källänk (Nyheter)
   ================================================================ */
.ffn__source-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: var(--bb-font-size-sm, 13px);
  color: var(--muted, #667085);
  text-decoration: none;
  transition: color 0.15s ease;
}
.ffn__source-link:hover {
  color: var(--lav-600, #5557a0);
  text-decoration: underline;
}
.ffn__source-icon {
  flex-shrink: 0;
  opacity: 0.7;
}

/* Fetstil i nyhetstext */
.flavor-news-read-card__text b,
.ffn__summary b,
.ffn__card .entry-content b {
  font-weight: 700 !important;
}

/* ================================================================
   Modal: Spara vy (Nyheter-specifik – Tips använder .tips__modal)
   ================================================================ */
.ffn__modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4, 24px);
}
.ffn__modal[hidden] { display: none !important; }
.ffn__modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  cursor: pointer;
}
.ffn__modal-content {
  position: relative;
  width: 100%;
  max-width: 400px;
  padding: var(--space-4, 24px);
  background: var(--bg-elev, #fff);
  border-radius: var(--radius-md, 16px);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);
}
.ffn__modal-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--lav-900, #3d3e66);
  margin: 0 0 var(--space-3, 24px);
}
.ffn__modal-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-2, 16px);
}
.ffn__modal-label {
  font-size: var(--bb-font-size-sm, 13px);
  font-weight: 600;
  color: var(--lav-900, #3d3e66);
}
.ffn__modal-input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--outline, #d5d7e3);
  border-radius: var(--radius-sm, 8px);
  font-size: var(--bb-font-size-base, 14px);
  color: var(--lav-900, #3d3e66);
}
.ffn__modal-input:focus {
  outline: none;
  border-color: var(--lav-500, #6264a7);
  box-shadow: 0 0 0 3px rgba(98, 100, 167, 0.15);
}
.ffn__modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-2, 16px);
  margin-top: var(--space-2, 16px);
}

/* ================================================================
   Member-teaser – suddat innehåll (Nyheter)
   ================================================================ */
.ffn__card--teaser {
  position: relative;
  overflow: hidden;
}
.ffn__card--teaser .ffn__summary,
.ffn__card--teaser .ffn__tags {
  filter: blur(3px);
  user-select: none;
  pointer-events: none;
  opacity: 0.7;
}
.ffn__card--teaser::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60%;
  background: linear-gradient(to bottom, transparent 0%, var(--bg-card, #fff) 85%);
  pointer-events: none;
}
html[data-theme="dark"] .ffn__card--teaser::after {
  background: linear-gradient(to bottom, transparent 0%, var(--bg-card-dark, #1e2030) 85%);
}
