/* Affiliate Factory — shared styles (editorial theme; palette comes from each site's theme) */

html { scroll-behavior: smooth; }
body { font-family: 'Inter', system-ui, -apple-system, sans-serif; -webkit-font-smoothing: antialiased; }

/* Serif display for headings gives the site an editorial, premium feel */
h1, h2 { font-family: 'Playfair Display', Georgia, serif; letter-spacing: -0.01em; }
h3 { letter-spacing: -0.01em; }

/* Hero overlay helper (premium navy → teal wash) */
.hero-gradient {
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(14,124,139,.35), transparent 60%),
    linear-gradient(160deg, #0f1b2f 0%, #1b2a4a 45%, #0e7c8b 130%);
}

/* Card lift on hover */
.card-hover { transition: transform .25s ease, box-shadow .25s ease; }
.card-hover:hover { transform: translateY(-6px); box-shadow: 0 20px 40px -20px rgba(15,27,47,.45); }

/* Article reading rhythm */
.prose p { margin-bottom: 1.15rem; line-height: 1.85; font-size: 1.05rem; color: #3f4650; }
.prose h2 { margin-top: 2.25rem; }

/* Smooth FAQ / details disclosure */
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
details[open] > summary { margin-bottom: .25rem; }

/* line-clamp fallbacks (in case the CDN build omits the utilities) */
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Nicer focus states for keyboard users */
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid #0e7c8b; outline-offset: 2px; border-radius: 4px;
}

img { max-width: 100%; }
