/* Shared styles for the /books and /courses catalog pages
   (views/all-books.gohtml, views/all-courses.gohtml). Page-specific
   hero/shelf rules stay inline in each template. */
body{color:#4B5563}
h1,h2,h3{color:#111827}
.cta-glow:hover{color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(59,130,246,0.45)}
.cta-outline-white{display:inline-block;background:transparent;color:#fff;padding:13px 28px;border-radius:8px;font-size:1.05em;font-weight:bold;text-decoration:none;border:2px solid rgba(255,255,255,0.6);transition:all 0.2s}
.cta-outline-white:hover{background:rgba(255,255,255,0.1);border-color:#fff;color:#fff}
.catalog-section{background:#f0f7ff}
.catalog-inner{max-width:1200px;margin:0 auto;padding:60px 20px 70px}
.catalog-head h2{font-size:2.4em;font-weight:700;margin:0 0 6px}
.catalog-head p{color:#4B5563;font-size:1.05em;margin:0}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));gap:28px}
.catalog-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.08);overflow:hidden;position:relative;display:flex;flex-direction:column;transition:all 0.3s ease}
.catalog-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgba(0,0,0,0.15)}
.catalog-badge{position:absolute;top:12px;right:12px;font-size:0.8rem;font-weight:700;padding:5px 10px;border-radius:3px;box-shadow:0 2px 5px rgba(0,0,0,0.15);z-index:2}
.catalog-badge.paid{background:#fbbf24;color:#111827}
.catalog-badge.free{background:#10B981;color:#fff}
.catalog-badge.owned{background:#3B82F6;color:#fff}
.catalog-card-body{padding:22px;display:flex;flex-direction:column;flex:1}
.catalog-card h3{margin:0 0 10px;font-size:1.25em;line-height:1.3}
.catalog-card-desc{margin:0 0 16px;font-size:0.95em;line-height:1.55;color:#4B5563;flex:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.catalog-card-desc p{margin:0}
.catalog-card-desc br{display:none}
.catalog-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #E5E7EB;padding-top:16px}
.catalog-price{font-size:1.15em;font-weight:700;color:#111827}
.catalog-price.free{color:#10B981}
.catalog-cta{display:inline-block;background:#3B82F6;color:#fff;padding:10px 18px;border-radius:5px;font-weight:700;font-size:0.95em;text-decoration:none;transition:all 0.2s ease}
.catalog-cta:hover{background:#2563EB;color:#fff}
.catalog-cta.owned{background:#10B981}
.catalog-cta.owned:hover{background:#059669;color:#fff}
.why-section{background:#fff;border-top:1px solid #E5E7EB}
.why-inner{max-width:1200px;margin:0 auto;padding:70px 20px}
.why-inner h2{font-size:2.4em;font-weight:700;text-align:center;margin:0 0 12px}
.why-sub{text-align:center;color:#4B5563;font-size:1.05em;margin:0 auto 45px;max-width:640px}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:28px}
.why-card{background:#fff;border:1px solid #E5E7EB;border-radius:8px;padding:28px}
.why-icon{width:48px;height:48px;border-radius:8px;background:#f0f7ff;display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:24px}
.why-card h3{font-size:1.2em;margin:0 0 10px}
.why-card p{font-size:0.95em;line-height:1.6;color:#4B5563;margin:0}
.testimonials-section{background:#111827}
.testimonials-inner{max-width:1200px;margin:0 auto;padding:70px 20px}
.testimonials-inner h2{font-size:2.4em;font-weight:700;color:#fff;text-align:center;margin:0 0 45px}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:28px}
.testimonial-card{background:#1f2937;border:1px solid #374151;border-radius:8px;padding:28px;display:flex;flex-direction:column;gap:18px}
.testimonial-card>p{font-size:1em;line-height:1.65;color:#E5E7EB;margin:0;flex:1}
.testimonial-who{display:flex;align-items:center;gap:12px}
.testimonial-avatar{width:46px;height:46px;border-radius:50%;flex-shrink:0;object-fit:cover;border:1px solid #374151}
.testimonial-who strong{display:block;color:#fff;font-weight:700;font-size:0.95em}
.testimonial-who small{display:block;color:#9CA3AF;font-size:0.85em}
