/* DayStar Publishers — Premium UI CSS v2.0 */

/* ── Custom Cursor ── */
#ds-cursor {
  position: fixed; width: 12px; height: 12px;
  background: var(--gold); border-radius: 50%;
  pointer-events: none; z-index: 99999;
  transition: transform 0.05s linear, width 0.3s ease, height 0.3s ease, background 0.3s ease;
  mix-blend-mode: multiply;
}
#ds-cursor-follower {
  position: fixed; width: 40px; height: 40px;
  border: 1.5px solid rgba(201,168,76,0.5);
  border-radius: 50%; pointer-events: none; z-index: 99998;
  transition: transform 0.12s cubic-bezier(0.22,1,0.36,1), width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
}
#ds-cursor.ds-cursor-grow { width: 18px; height: 18px; background: var(--burgundy); }
#ds-cursor-follower.ds-follower-grow { width: 56px; height: 56px; opacity: 0.6; border-color: var(--burgundy); }
@media (hover: none) { #ds-cursor, #ds-cursor-follower { display: none; } }

/* ── Page Transition Overlay ── */
#ds-page-overlay {
  position: fixed; inset: 0; background: var(--burgundy);
  z-index: 99990; pointer-events: none;
}

/* ── Fonts ── */
body { font-family: 'Inter', sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5,
.nav-brand-text, .nav-links a, .nav-cta,
.section-kicker, .hero-h1, .hero-kicker,
.page-hero h1, .page-hero-kicker,
.section-h2, .book-title, .ad-overlay-title,
.footer-brand h3, .testi-author, .mission-item h3,
.value-card h3, .contact-form-wrap h3,
.blog-card-title, .ad-modal-body h2,
.filter-btn, .ad-filter-btn, .newsletter-btn,
.btn-primary, .btn-outline, .btn-submit,
.book-link, .footer-col h4, .ds-save-btn {
  font-family: 'Outfit', sans-serif;
}
h1, .hero-h1, .page-hero h1, .section-h2, .nav-brand-text { font-weight: 800; }
h2, h3 { font-weight: 700; }
h4, .section-kicker, .nav-links a, .testi-author,
.btn-primary, .btn-outline, .btn-submit, .book-link { font-weight: 600; }

/* ── Gradient hero heading ── */
.hero-h1 em, .page-hero h1 em {
  background: linear-gradient(120deg, #e8c96a 0%, #c9a84c 40%, #f5d97a 70%, #c9a84c 100%);
  background-size: 300% 300%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: goldShimmer 4s ease-in-out infinite;
}
@keyframes goldShimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* ── Hero entrance animations ── */
.hero-kicker  { animation: slideUpFade 0.9s cubic-bezier(0.22,1,0.36,1) 0.1s both; }
.hero-h1      { animation: slideUpFade 0.9s cubic-bezier(0.22,1,0.36,1) 0.25s both; }
.hero-lead    { animation: slideUpFade 0.9s cubic-bezier(0.22,1,0.36,1) 0.4s both; }
.hero-actions { animation: slideUpFade 0.9s cubic-bezier(0.22,1,0.36,1) 0.55s both; }
.hero-book-stack { animation: slideUpFade 1s cubic-bezier(0.22,1,0.36,1) 0.45s both; }
.page-hero-kicker { animation: slideUpFade 0.8s cubic-bezier(0.22,1,0.36,1) 0.05s both; }
.page-hero h1 { animation: slideUpFade 0.8s cubic-bezier(0.22,1,0.36,1) 0.18s both; }
.page-hero p  { animation: slideUpFade 0.8s cubic-bezier(0.22,1,0.36,1) 0.3s both; }
@keyframes slideUpFade {
  from { opacity: 0; transform: translateY(36px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Scroll reveal ── */
.reveal { opacity: 0; transform: translateY(32px); transition: opacity 0.75s cubic-bezier(0.22,1,0.36,1), transform 0.75s cubic-bezier(0.22,1,0.36,1); }
.reveal.visible { opacity: 1; transform: none; }
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

/* ── Magnetic button glow ── */
.btn-primary {
  position: relative; overflow: hidden;
  transition: background 0.3s, transform 0.5s cubic-bezier(0.22,1,0.36,1), box-shadow 0.3s;
}
.btn-primary::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.15) 50%, transparent 70%);
  transform: translateX(-100%);
  transition: transform 0.6s ease;
}
.btn-primary:hover::after { transform: translateX(100%); }
.btn-primary:hover {
  box-shadow: 0 0 0 3px rgba(201,168,76,0.25), 0 12px 32px rgba(201,168,76,0.25);
}

/* ── Card lift with glow ── */
.book-card, .testi-card, .value-card, .ad-card, .blog-card {
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s ease;
  will-change: transform;
}
.book-card:hover  { box-shadow: 0 20px 50px rgba(74,16,32,0.18), 0 0 0 1px rgba(201,168,76,0.1); }
.testi-card:hover { box-shadow: 0 20px 50px rgba(0,0,0,0.3); }
.value-card:hover { box-shadow: 0 16px 40px rgba(74,16,32,0.14); }
.ad-card:hover    { box-shadow: 0 24px 60px rgba(74,16,32,0.22); }

/* ── Section kicker shimmer ── */
.section-kicker::before {
  background: linear-gradient(90deg, var(--gold), var(--gold-light), var(--gold));
  background-size: 200% 1px;
  animation: kicerShimmer 3s ease-in-out infinite;
}
@keyframes kicerShimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* ── Gold divider shimmer ── */
.testi-divider {
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  background-size: 200% 1px; animation: kicerShimmer 3s ease-in-out infinite;
}

/* ── Mission icon pulse ── */
.mission-item-icon {
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s ease;
}
.mission-item:hover .mission-item-icon {
  transform: scale(1.15) translateY(-3px);
  box-shadow: 0 8px 24px rgba(74,16,32,0.25);
}

/* ── Nav brand hover ── */
.nav-brand { transition: transform 0.3s cubic-bezier(0.22,1,0.36,1); }
.nav-brand:hover { transform: translateY(-1px); }

/* ── Social link ripple ── */
.social-link {
  position: relative; overflow: hidden;
  transition: border-color 0.3s, color 0.3s, transform 0.3s cubic-bezier(0.22,1,0.36,1), box-shadow 0.3s;
}
.social-link:hover {
  transform: translateY(-3px) scale(1.1);
  box-shadow: 0 8px 20px rgba(201,168,76,0.2);
}

/* ── Footer link hover ── */
.footer-col a {
  display: inline-block;
  transition: color 0.25s, padding-left 0.3s cubic-bezier(0.22,1,0.36,1), opacity 0.25s;
}
.footer-col a:hover { padding-left: 7px; opacity: 1; }

/* ── Smooth image zoom ── */
.book-cover img, .blog-card-img img, .ad-card-img img, .gallery-item img {
  transition: transform 0.6s cubic-bezier(0.22,1,0.36,1);
}
.book-card:hover .book-cover img,
.blog-card:hover .blog-card-img img,
.gallery-item:hover img { transform: scale(1.07); }

/* ── About image parallax container ── */
.home-about-img img, .about-mission img {
  transition: transform 0.1s linear;
  will-change: transform;
}

/* ── Hero book tilt on hover ── */
.hero-book {
  transition: transform 0.5s cubic-bezier(0.22,1,0.36,1), box-shadow 0.5s ease;
}
.hero-book:hover {
  box-shadow: 16px 24px 56px rgba(0,0,0,0.6) !important;
  z-index: 2;
}

/* ── Input focus glow ── */
.form-control:focus {
  border-color: var(--burgundy);
  box-shadow: 0 0 0 4px rgba(74,16,32,0.08), 0 2px 8px rgba(74,16,32,0.06);
  outline: none;
}

/* ── Newsletter input glow ── */
.newsletter-input:focus {
  border-color: var(--burgundy);
  box-shadow: 0 0 0 3px rgba(74,16,32,0.08);
  outline: none;
}

/* ── Catalogue filter btn ── */
.filter-btn, .ad-filter-btn {
  transition: all 0.25s cubic-bezier(0.22,1,0.36,1);
  position: relative; overflow: hidden;
}
.filter-btn:hover, .ad-filter-btn:hover { transform: translateY(-2px); }
.filter-btn.active, .ad-filter-btn.active { transform: none; }

/* ── Service row number ── */
.svc-number-badge {
  background: linear-gradient(135deg, var(--border) 0%, transparent 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  transition: -webkit-text-fill-color 0.3s;
}
.svc-row:hover .svc-number-badge { -webkit-text-fill-color: rgba(201,168,76,0.15); }

/* ── Service icon circle ── */
.svc-icon-circle {
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s ease;
}
.svc-icon-circle:hover {
  transform: scale(1.12) rotate(5deg);
  box-shadow: 0 12px 32px rgba(74,16,32,0.3);
}

/* ── Cookie banner slide up ── */
#daystar-cookie-banner {
  transform: translateY(100%);
  transition: transform 0.5s cubic-bezier(0.22,1,0.36,1);
}
#daystar-cookie-banner.visible { transform: translateY(0); }

/* ── Smooth scrollbar ── */
html { scroll-behavior: smooth; }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--cream); }
::-webkit-scrollbar-thumb { background: var(--burgundy); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--burgundy-mid); }

/* ── Selection color ── */
::selection { background: rgba(201,168,76,0.25); color: var(--burgundy); }

/* ── Border Radius System ── */
:root { --radius: 14px; --radius-sm: 8px; --radius-lg: 20px; --radius-pill: 40px; }

/* Cards */
.book-card, .testi-card, .value-card, .blog-card { border-radius: var(--radius); overflow: hidden; }
.ad-card { border-radius: var(--radius); }
.ad-modal-box { border-radius: var(--radius-lg); }
.ad-modal-img-wrap { border-radius: var(--radius-lg) 0 0 var(--radius-lg); }

/* Buttons */
.btn-primary, .btn-outline, .btn-submit, .nav-cta,
.newsletter-btn, .filter-btn, .ad-view-btn,
.ds-save-btn, .cookie-accept, .cookie-decline { border-radius: var(--radius-sm) !important; }

/* Pill buttons */
.ad-filter-btn, .blog-filter-btn, .blog-cat-pill { border-radius: var(--radius-pill) !important; }

/* Form inputs */
.form-control, .newsletter-input { border-radius: var(--radius-sm) !important; }
.newsletter-input { border-radius: var(--radius-sm) 0 0 var(--radius-sm) !important; }
.newsletter-btn { border-radius: 0 var(--radius-sm) var(--radius-sm) 0 !important; }

/* Nav */
nav { border-radius: 0; }

/* Images */
.home-about-img img, .about-mission img { border-radius: var(--radius); }
.single-book-layout img { border-radius: var(--radius); }

/* Hero book stack */
.hero-book { border-radius: var(--radius-sm); }

/* Mission strip items */
.mission-item-icon { border-radius: var(--radius-sm); }

/* Contact form wrap */
.contact-form-wrap { border-radius: var(--radius-lg); }

/* Meta box on single book */
.single-book-layout > div > div:last-child { border-radius: var(--radius); }

/* Page hero */
.page-hero { border-radius: 0 0 var(--radius-lg) var(--radius-lg); }

/* DS admin cards */
.ds-card { border-radius: var(--radius) !important; }
.ds-header { border-radius: var(--radius) !important; }

/* ── Services Page Responsive ── */
.svc-row-grid {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 72px;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
}
.svc-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-bottom: 64px;
  text-align: left;
}
@media (max-width: 768px) {
  .svc-row-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .svc-why-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}
