/* PhishDestroy — Animated Background + Glow Effects v5
   Particles + breathing + hover glow + LIVE pulse
   Minimal mode for legal/policy pages */

/* Prevent horizontal overflow from orbs/shapes */
html{overflow-x:hidden}

/* ══════════════════════════════════════
   BACKGROUND LAYER
   ══════════════════════════════════════ */
#pd-particles{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.4}

.pd-grid-bg{
  position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.04;
  background-image:linear-gradient(rgba(148,163,184,.3) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(148,163,184,.3) 1px,transparent 1px);
  background-size:60px 60px;
  animation:pdGridMove 20s linear infinite;
}
@keyframes pdGridMove{0%{background-position:0 0}100%{background-position:60px 60px}}

.pd-grain{
  position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.025;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.pd-orb{position:fixed;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:-1}
.pd-orb-1{width:500px;height:500px;top:-20%;left:-15%;background:rgba(34,197,94,.08);animation:pdOrbA 15s ease-in-out infinite}
.pd-orb-2{width:400px;height:400px;bottom:-15%;right:-10%;background:rgba(16,185,129,.06);animation:pdOrbB 18s ease-in-out infinite}
.pd-orb-3{width:300px;height:300px;top:50%;left:60%;background:rgba(34,197,94,.04);animation:pdOrbC 12s ease-in-out infinite}
@keyframes pdOrbA{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-30px) scale(1.1)}66%{transform:translate(-25px,20px) scale(.9)}}
@keyframes pdOrbB{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-35px,-25px) scale(1.15)}}
@keyframes pdOrbC{0%,100%{transform:translate(0,0) scale(.9)}50%{transform:translate(30px,40px) scale(1.1)}}

.pd-shape{position:fixed;pointer-events:none;z-index:-1;opacity:.05}
.pd-shape-1{width:3px;height:80px;background:linear-gradient(to bottom,#22c55e,transparent);top:20%;left:12%;animation:pdShapeDrift 8s ease-in-out infinite;transform:rotate(15deg)}
.pd-shape-2{width:60px;height:60px;border:2px solid #22c55e;border-radius:50%;top:70%;right:15%;animation:pdShapeDrift 10s ease-in-out infinite reverse}
.pd-shape-3{width:2px;height:120px;background:linear-gradient(to bottom,transparent,#10b981,transparent);bottom:25%;left:85%;animation:pdShapeDrift 12s ease-in-out infinite;transform:rotate(-20deg)}
@keyframes pdShapeDrift{0%,100%{transform:translateY(0)}50%{transform:translateY(-30px)}}

/* ══════════════════════════════════════
   LIVE DOT — breathing red glow (all pages)
   Unique keyframe names to avoid design-tokens conflict
   ══════════════════════════════════════ */
span.pd-live-dot,
.pd-live-dot {
  width:8px !important;height:8px !important;
  border-radius:50% !important;
  background:#ef4444 !important;
  display:inline-block !important;
  position:relative !important;
  animation: pdLiveBreathe 2s ease-in-out infinite !important;
}
@keyframes pdLiveBreathe{
  0%,100%{box-shadow:0 0 3px 0 rgba(239,68,68,.7), 0 0 6px rgba(239,68,68,.4);transform:scale(1)}
  50%{box-shadow:0 0 6px 5px rgba(239,68,68,.3), 0 0 20px rgba(239,68,68,.6);transform:scale(1.3)}
}
a.pd-nav-live,
.pd-nav-live {
  animation: pdLiveNavGlow 2.5s ease-in-out infinite !important;
  position:relative !important;
  overflow:visible !important;
  border-radius:8px !important;
}
@keyframes pdLiveNavGlow{
  0%,100%{
    text-shadow:none;
    box-shadow:0 0 4px rgba(239,68,68,.15), 0 0 8px rgba(239,68,68,.08);
  }
  50%{
    text-shadow:0 0 10px rgba(239,68,68,.35), 0 0 20px rgba(239,68,68,.12);
    box-shadow:0 0 12px rgba(239,68,68,.35), 0 0 24px rgba(239,68,68,.15), 0 0 40px rgba(239,68,68,.08);
  }
}
.live-tag i {
  animation: pdLiveBreathe 2s ease-in-out infinite !important;
  border-radius:50% !important;
}

/* ══════════════════════════════════════
   CARD BREATHING — subtle shadow pulse
   ══════════════════════════════════════ */
.battle-card,
.glass,
.lift-card,
.special-recommendation,
.card-tool,
.hero,
.featured,
.live-feed,
.stat-card,
.info-card,
.cta-card,
.res-card,
main .card,
#main-content .card,
[class*="counter-box"] {
  animation: pdBreathe 4s ease-in-out infinite;
}
@keyframes pdBreathe{
  0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,0), 0 4px 24px rgba(0,0,0,.3)}
  50%{box-shadow:0 0 20px 0 rgba(34,197,94,.07), 0 4px 24px rgba(0,0,0,.3)}
}

/* Hero section — stronger breathe */
.hero {
  animation: pdHeroBreathe 5s ease-in-out infinite !important;
}
@keyframes pdHeroBreathe{
  0%,100%{box-shadow:0 0 20px rgba(33,230,193,.06),0 0 36px rgba(129,140,248,.04)}
  50%{box-shadow:0 0 35px rgba(33,230,193,.12),0 0 60px rgba(129,140,248,.08)}
}

/* Featured section (BREAKING / Emergency) — cyan breathe */
.featured {
  animation: pdFeaturedBreathe 3.5s ease-in-out infinite !important;
}
@keyframes pdFeaturedBreathe{
  0%,100%{box-shadow:0 0 8px rgba(33,230,193,.06), 0 4px 24px rgba(0,0,0,.3)}
  50%{box-shadow:0 0 24px rgba(33,230,193,.14), 0 0 48px rgba(33,230,193,.06), 0 4px 24px rgba(0,0,0,.3)}
}

/* Emergency / Primary action buttons — breathing glow */
.btn-primary,
a.btn-primary,
.btn-seal.pulse {
  animation: pdBtnBreathe 3s ease-in-out infinite !important;
}
@keyframes pdBtnBreathe{
  0%,100%{box-shadow:0 0 4px rgba(33,230,193,.1), 0 2px 8px rgba(0,0,0,.2)}
  50%{box-shadow:0 0 16px rgba(33,230,193,.25), 0 0 32px rgba(33,230,193,.1), 0 2px 8px rgba(0,0,0,.2)}
}

/* News article cards — hover border glow */
.card.featured-card:hover,
article.card:hover {
  box-shadow: 0 0 24px rgba(33,230,193,.1), 0 8px 32px rgba(0,0,0,.35) !important;
  border-color: rgba(33,230,193,.2) !important;
}

/* ══════════════════════════════════════
   BUTTON HOVER GLOW
   ══════════════════════════════════════ */
.pd-btn,
.btn:not(.filter-btn):not(.accordion-button):not(.navbar-toggler),
a.btn:not(.filter-btn),
.btn-seal,
button:not(.accordion-button):not(.navbar-toggler):not(.filter-btn) {
  transition: all .3s ease, box-shadow .3s ease !important;
}
.pd-btn:hover,
a.btn:not(.filter-btn):not(.btn-outline):hover,
.btn-seal:hover,
.btn.primary:hover,
.btn.danger:hover,
[class*="btn-primary"]:hover,
[class*="btn-accent"]:hover,
.pd-btn-primary:hover {
  box-shadow: 0 0 20px rgba(34,197,94,.35), 0 0 40px rgba(34,197,94,.15), 0 4px 16px rgba(0,0,0,.3) !important;
}
.pd-btn-outline:hover,
.btn-outline:hover,
.btn.ghost:hover,
[class*="btn-ghost"]:hover {
  box-shadow: 0 0 15px rgba(148,163,184,.15), 0 4px 16px rgba(0,0,0,.2) !important;
}
.filter-btn:hover {box-shadow: 0 0 12px rgba(33,230,193,.1) !important}
.filter-btn.active {box-shadow: 0 0 16px rgba(33,230,193,.15) !important}
.cat-btn:hover {box-shadow: 0 0 10px rgba(34,197,94,.1) !important}
.cat-btn.active {box-shadow: 0 0 14px rgba(34,197,94,.12) !important}

/* ══════════════════════════════════════
   CARD HOVER GLOW
   ══════════════════════════════════════ */
.battle-card:hover,
.glass:hover,
.lift-card:hover,
.card-tool:hover,
.featured:hover,
.stat-card:hover,
.info-card:hover,
.cta-card:hover,
.res-card:hover,
main .card:hover,
#main-content .card:hover,
[class*="counter-box"]:hover {
  box-shadow: 0 0 28px rgba(34,197,94,.1), 0 8px 32px rgba(0,0,0,.4) !important;
  border-color: rgba(34,197,94,.2) !important;
}

/* ══════════════════════════════════════
   NAV + ACCORDION GLOW
   ══════════════════════════════════════ */
.pd-nav-link:hover,
.navbar-nav .nav-link:hover {
  text-shadow: 0 0 12px rgba(34,197,94,.3);
}
.accordion-item {
  transition: border-color .3s ease, box-shadow .3s ease;
}
.accordion-item:hover {
  border-color: rgba(34,197,94,.15) !important;
  box-shadow: 0 0 12px rgba(34,197,94,.06);
}

/* ══════════════════════════════════════
   STAT CARD ICONS — more visible
   ══════════════════════════════════════ */
.stat-card-icon {
  color: rgba(34,197,94,.5) !important;
  font-size: 1.4rem !important;
  transition: color .3s ease, transform .3s ease !important;
}
.stat-card:hover .stat-card-icon {
  color: rgba(34,197,94,.9) !important;
  transform: scale(1.15);
}
.stat-card-num {
  background: linear-gradient(135deg, #fff, rgba(34,197,94,.8));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ══════════════════════════════════════
   ARTICLE SECTIONS — fade reveal enhancement
   ══════════════════════════════════════ */
.article-section,
.animate-fade {
  transition: opacity .6s ease, transform .6s ease, box-shadow .3s ease;
}
.article-section:hover {
  box-shadow: 0 0 16px rgba(34,197,94,.04);
}

/* ══════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════ */
@media(prefers-reduced-motion:reduce){
  .pd-grid-bg,.pd-orb,.pd-shape{animation:none}
  #pd-particles{display:none}
  .battle-card,.glass,.lift-card,.hero,.featured,.live-feed,
  .pd-live-dot,.pd-nav-live,.live-tag i,
  .stat-card,.info-card,.cta-card,.res-card,
  main .card,#main-content .card{animation:none !important}
}
@media(max-width:480px){
  .pd-orb-3,.pd-shape{display:none}
}

/* ══════════════════════════════════════
   FOOTER GRID — prevent cutoff
   ══════════════════════════════════════ */
.pd-footer-grid{overflow:visible !important}
@media(max-width:900px){
  .pd-footer-grid{grid-template-columns:1fr 1fr !important;gap:32px !important}
}
@media(max-width:560px){
  .pd-footer-grid{grid-template-columns:1fr !important;gap:24px !important}
}
.pd-site-footer{overflow:visible !important}

/* ══════════════════════════════════════
   LEGAL / POLICY PAGES — minimal mode
   No particles, no orbs, no shapes, no breathing,
   no card glow, no tilt. Only subtle grid + grain.
   ══════════════════════════════════════ */
html[data-page="legal"] #pd-particles,
html[data-page="cookies"] #pd-particles,
html[data-page="gdpr"] #pd-particles,
html[data-page="acceptable-use"] #pd-particles,
html[data-page="responsible-disclosure"] #pd-particles,
html[data-page="security"] #pd-particles,
html[data-page="policy"] #pd-particles {
  display:none !important;
}
html[data-page="legal"] .pd-orb,
html[data-page="legal"] .pd-shape,
html[data-page="cookies"] .pd-orb,
html[data-page="cookies"] .pd-shape,
html[data-page="gdpr"] .pd-orb,
html[data-page="gdpr"] .pd-shape,
html[data-page="acceptable-use"] .pd-orb,
html[data-page="acceptable-use"] .pd-shape,
html[data-page="responsible-disclosure"] .pd-orb,
html[data-page="responsible-disclosure"] .pd-shape,
html[data-page="security"] .pd-orb,
html[data-page="security"] .pd-shape,
html[data-page="policy"] .pd-orb,
html[data-page="policy"] .pd-shape {
  display:none !important;
}
html[data-page="legal"] .battle-card,
html[data-page="legal"] .glass,
html[data-page="legal"] .lift-card,
html[data-page="legal"] .hero,
html[data-page="legal"] .featured,
html[data-page="legal"] .stat-card,
html[data-page="legal"] .info-card,
html[data-page="legal"] .cta-card,
html[data-page="legal"] .res-card,
html[data-page="legal"] main .card,
html[data-page="legal"] #main-content .card,
html[data-page="legal"] [class*="counter-box"],
html[data-page="cookies"] .battle-card,
html[data-page="cookies"] .glass,
html[data-page="cookies"] .lift-card,
html[data-page="cookies"] .hero,
html[data-page="cookies"] .stat-card,
html[data-page="cookies"] main .card,
html[data-page="cookies"] #main-content .card,
html[data-page="gdpr"] .battle-card,
html[data-page="gdpr"] .glass,
html[data-page="gdpr"] .lift-card,
html[data-page="gdpr"] .hero,
html[data-page="gdpr"] .stat-card,
html[data-page="gdpr"] main .card,
html[data-page="gdpr"] #main-content .card,
html[data-page="acceptable-use"] main .card,
html[data-page="acceptable-use"] #main-content .card,
html[data-page="responsible-disclosure"] main .card,
html[data-page="responsible-disclosure"] #main-content .card,
html[data-page="security"] main .card,
html[data-page="security"] #main-content .card,
html[data-page="policy"] main .card,
html[data-page="policy"] #main-content .card {
  animation:none !important;
}
html[data-page="legal"] .battle-card:hover,
html[data-page="legal"] .glass:hover,
html[data-page="legal"] .lift-card:hover,
html[data-page="legal"] .stat-card:hover,
html[data-page="legal"] main .card:hover,
html[data-page="legal"] #main-content .card:hover,
html[data-page="cookies"] main .card:hover,
html[data-page="cookies"] #main-content .card:hover,
html[data-page="gdpr"] main .card:hover,
html[data-page="gdpr"] #main-content .card:hover,
html[data-page="acceptable-use"] main .card:hover,
html[data-page="acceptable-use"] #main-content .card:hover,
html[data-page="responsible-disclosure"] main .card:hover,
html[data-page="responsible-disclosure"] #main-content .card:hover,
html[data-page="security"] main .card:hover,
html[data-page="security"] #main-content .card:hover,
html[data-page="policy"] main .card:hover,
html[data-page="policy"] #main-content .card:hover {
  box-shadow:none !important;
  border-color:inherit !important;
}
