/* Base 1.3.4 */
.eq-container {
    margin: 2rem 0;
    padding: 2.25rem;
    position: relative;
    border: none;
    transition: all 0.4s ease;
    overflow: hidden;
    isolation: isolate;
}

.eq-content,
.eq-citation {
    position: relative;
    z-index: 1;
}

.eq-content {
    font-size: 1.5rem;
    line-height: 1.5;
    margin: 0 0 1.25rem;
    font-weight: 500;
    color: #111827;
}

.eq-citation {
    display: block;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-style: normal;
    opacity: 0.75;
    color: #374151;
}

/* Widths */
.eq-width-narrow { max-width: 42rem; }
.eq-width-normal { max-width: 56rem; }
.eq-width-wide { max-width: 72rem; }

/* Heights */
.eq-height-auto { min-height: 0; }
.eq-height-compact { min-height: 140px; }
.eq-height-medium { min-height: 220px; }
.eq-height-tall { min-height: 320px; }
.eq-height-hero { min-height: 420px; display: flex; flex-direction: column; justify-content: center; }

/* Alignments */
.eq-align-left { text-align: left; }
.eq-align-center { text-align: center; margin-left: auto; margin-right: auto; }
.eq-align-right { text-align: right; margin-left: auto; }

/* Author off */
.eq-no-citation .eq-content { margin-bottom: 0; }
.eq-no-citation .eq-citation { display: none !important; }

/* Decor system — no text overlap */
.eq-container.has-decor { padding-top: 4.25rem; }
.eq-container.has-decor::before {
    position: absolute;
    top: 1rem;
    left: 1.25rem;
    opacity: 0.16;
    pointer-events: none;
    line-height: 1;
    z-index: 0;
}
.eq-container.eq-align-center.has-decor::before { left: 50%; transform: translateX(-50%); }
.eq-container.eq-align-right.has-decor::before { left: auto; right: 1.25rem; }

.eq-container.has-decor[data-decor-type="none"]::before { content: none; }
.eq-container.has-decor[data-decor-type="quote"]::before { content: '“'; font-size: 5rem; font-family: Georgia, serif; }
.eq-container.has-decor[data-decor-type="dash"]::before { content: '—'; font-size: 2.6rem; font-weight: 800; }
.eq-container.has-decor[data-decor-type="diamond"]::before { content: '◆'; font-size: 1.2rem; }
.eq-container.has-decor[data-decor-type="orb"]::before { content: ''; width: 72px; height: 72px; border-radius: 999px; background: radial-gradient(circle at 30% 30%, rgba(99,102,241,.4), rgba(236,72,153,.08)); }
.eq-container.has-decor[data-decor-type="ring"]::before { content: ''; width: 34px; height: 34px; border-radius: 999px; border: 3px solid #8b5cf6; box-shadow: inset 0 0 0 6px rgba(139,92,246,.12); }
.eq-container.has-decor[data-decor-type="line"]::before { content: ''; width: 80px; height: 4px; background: #111827; border-radius: 999px; }
.eq-container.has-decor[data-decor-type="label"]::before { content: 'QUOTE'; font-size: .68rem; font-weight: 900; letter-spacing: .18em; background: #f3f4f6; padding: .35rem .55rem; border-radius: 999px; }
.eq-container.has-decor[data-decor-type="ribbon"]::before { content: 'Insight'; font-size: .72rem; font-weight: 900; letter-spacing: .08em; background: #ef4444; color: #fff; opacity: 1; padding: .45rem .85rem; clip-path: polygon(0 0,100% 0,92% 100%,0% 100%); }
.eq-container.has-decor[data-decor-type="badge"]::before { content: 'PROOF'; font-size: .68rem; font-weight: 900; letter-spacing: .16em; background: #0f172a; color: #fff; opacity: 1; padding: .3rem .55rem; border-radius: 999px; }
.eq-container.has-decor[data-decor-type="marker"]::before { content: ''; width: 90px; height: 18px; background: rgba(251,191,36,.38); transform: rotate(-3deg); border-radius: 4px; opacity: 1; }
.eq-container.has-decor[data-decor-type="chapter"]::before { content: '§'; font-size: 2rem; font-weight: 700; }
.eq-container.has-decor[data-decor-type="split"]::before { content: ''; width: 120px; height: 1px; background: linear-gradient(to right, transparent, #111827 40%, #111827 60%, transparent); }
.eq-container.has-decor[data-decor-type="star"]::before { content: '✦'; font-size: 1.6rem; }
.eq-container.has-decor[data-decor-type="custom"]::before { content: attr(data-decor); font-size: 1.25rem; font-weight: 800; opacity: 0.28; }

/* CRITICAL FIX: absolutely no pseudo decoration when decor is OFF */
.eq-container:not(.has-decor)::before,
.eq-container:not(.has-decor)::after,
.eq-container.eq-no-citation:not(.has-decor)::before,
.eq-container.eq-no-citation:not(.has-decor)::after {
    content: none !important;
    display: none !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    clip-path: none !important;
}

/* 1. Modern Minimal */
.eq-style-modern-minimal { border-left: 4px solid #111827; background: transparent; padding-left: 2.5rem; }
.eq-style-modern-minimal.eq-align-right { border-left: none; border-right: 4px solid #111827; padding-right: 2.5rem; }

/* 2. Glassmorphism */
.eq-style-glassmorphism { background: rgba(255,255,255,0.18); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,0.35); border-radius: 24px; box-shadow: 0 14px 44px rgba(30,41,59,0.08); }

/* 3. Soft Neumorphic */
.eq-style-soft-neumorphic { background: #eef1f4; border-radius: 28px; box-shadow: 18px 18px 36px #d8dce0, -18px -18px 36px #ffffff; }

/* 4. Gradient Accent */
.eq-style-gradient-accent { background: linear-gradient(135deg,#ffffff 0%,#f3f4f6 100%); border-radius: 16px; border-right: 8px solid #6366f1; box-shadow: 0 6px 22px rgba(99,102,241,0.08); }

/* 5. Editorial Magazine */
.eq-style-editorial-magazine { text-align: center; border-top: 1px solid #d1d5db; border-bottom: 1px solid #d1d5db; padding-bottom: 3rem; background: #fff; }
.eq-style-editorial-magazine .eq-content { font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1.35; }

/* 6. Brutalist Frame */
.eq-style-brutalist-frame { border: 3px solid #111827; background: #fff; box-shadow: 8px 8px 0 #111827; }

/* 7. Luxury Serif */
.eq-style-luxury-serif { background: linear-gradient(180deg,#fffdfa 0%,#faf6ef 100%); border: 1px solid #e7dcc8; border-radius: 18px; }
.eq-style-luxury-serif .eq-content { font-family: 'Times New Roman', Georgia, serif; font-size: 1.85rem; line-height: 1.55; }

/* 8. Neon Card */
.eq-style-neon-card { background: #0f172a; border: 1px solid rgba(59,130,246,0.35); border-radius: 22px; box-shadow: 0 0 0 1px rgba(59,130,246,0.15), 0 0 24px rgba(59,130,246,0.12); }
.eq-style-neon-card .eq-content, .eq-style-neon-card .eq-citation { color: #f8fafc; }

/* 9. Paper Note */
.eq-style-paper-note { background: #fff7d6; border: 1px solid #f3e7a2; border-radius: 10px; box-shadow: 0 10px 24px rgba(0,0,0,0.06); }

/* 10. Terminal Mono */
.eq-style-terminal-mono { background: #0b1220; border-radius: 18px; border: 1px solid #1f2937; }
.eq-style-terminal-mono .eq-content, .eq-style-terminal-mono .eq-citation { color: #d1fae5; font-family: 'Courier New', monospace; }

/* 11. Spotlight */
.eq-style-spotlight { background: radial-gradient(circle at top, rgba(255,255,255,0.98), #eef2f7 70%); border-radius: 24px; }

/* 12. Timeline Pull */
.eq-style-timeline-pull { border-left: 3px solid #94a3b8; background: #fff; padding-left: 2.75rem; }
.eq-style-timeline-pull.eq-align-right { border-left: none; border-right: 3px solid #94a3b8; padding-right: 2.75rem; }

/* 13. Bento Card */
.eq-style-bento-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 24px; box-shadow: 0 6px 20px rgba(15,23,42,0.05); }

/* 14. Ribbon Callout */
.eq-style-ribbon-callout { background: #fff; border: 1px solid #e5e7eb; border-radius: 20px; }

/* 15. Orbit Ring */
.eq-style-orbit-ring { background: #fff; border-radius: 999px 24px 24px 24px; border: 1px solid #e5e7eb; }

/* 16. Cinematic Shadow */
.eq-style-cinematic-shadow { background: linear-gradient(180deg,#111827 0%,#1f2937 100%); border-radius: 24px; box-shadow: 0 22px 50px rgba(15,23,42,0.28); }
.eq-style-cinematic-shadow .eq-content, .eq-style-cinematic-shadow .eq-citation { color: #f9fafb; }

/* 17. Academic Classic */
.eq-style-academic-classic { background: #fff; border: 1px solid #d1d5db; border-left: 8px solid #111827; box-shadow: inset 0 0 0 1px #f3f4f6; }
.eq-style-academic-classic .eq-content { font-family: Georgia, serif; font-size: 1.55rem; }

/* 18. Social Proof Bubble */
.eq-style-social-proof { background: #ffffff; border: 1px solid #e5e7eb; border-radius: 26px; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
.eq-style-social-proof::after { content: ''; position: absolute; bottom: 14px; left: 22px; width: 18px; height: 18px; background: inherit; border-left: 1px solid #e5e7eb; border-bottom: 1px solid #e5e7eb; transform: rotate(-45deg); }

/* 19. Marker Highlight */
.eq-style-marker-highlight { background: linear-gradient(transparent 0, transparent calc(100% - 22px), rgba(250,204,21,0.35) calc(100% - 22px), rgba(250,204,21,0.35) 100%); border-radius: 12px; }

/* 20. Split Border */
.eq-style-split-border { background: #fff; border: 1px solid #e5e7eb; border-radius: 18px; }
.eq-style-split-border::after { content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1px; background: linear-gradient(135deg,#111827 0 18%, transparent 18% 82%, #111827 82% 100%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0.22; pointer-events:none; }

/* 21. Kids: Rainbow Play */
.eq-style-rainbow-play { background: linear-gradient(135deg,#fff7ed 0%,#fef3c7 22%,#dcfce7 46%,#dbeafe 68%,#f5d0fe 100%); border: 2px solid #ffffff; border-radius: 28px; box-shadow: 0 12px 24px rgba(251,191,36,0.18); }
.eq-style-rainbow-play .eq-content { font-size: 1.7rem; }

/* 22. Kids: Comic Bubble */
.eq-style-comic-bubble { background: #ffffff; border: 3px solid #111827; border-radius: 26px; box-shadow: 8px 8px 0 #f59e0b; }
.eq-style-comic-bubble::after { content: ''; position: absolute; bottom: 18px; left: 30px; width: 18px; height: 18px; background: #fff; border-left: 3px solid #111827; border-bottom: 3px solid #111827; transform: rotate(-45deg); }

/* 23. Kids: Sticker Party */
.eq-style-sticker-party { background: #ffffff; border: 2px dashed #ec4899; border-radius: 24px; box-shadow: 0 8px 16px rgba(236,72,153,0.12); }
.eq-style-sticker-party .eq-citation { color: #ec4899; }

/* 24. Kids: Plush Cloud */
.eq-style-plush-cloud { background: linear-gradient(180deg,#ffffff 0%,#eff6ff 100%); border-radius: 36px; box-shadow: 0 10px 30px rgba(148,163,184,0.15); }
.eq-style-plush-cloud .eq-content { color: #334155; }

/* 25. Kids: Storybook Frame */
.eq-style-storybook-frame { background: #fffef7; border: 6px double #b45309; border-radius: 18px; box-shadow: inset 0 0 0 4px #fde68a; }
.eq-style-storybook-frame .eq-content { font-family: Georgia, serif; }

/* 26. Fun: Showtime Glam */
.eq-style-showtime-glam { background: linear-gradient(135deg,#111827 0%,#3b0764 40%,#831843 100%); border-radius: 24px; box-shadow: 0 16px 36px rgba(131,24,67,0.28); }
.eq-style-showtime-glam .eq-content, .eq-style-showtime-glam .eq-citation { color: #fdf2f8; }

/* 27. Fun: Confetti Burst */
.eq-style-confetti-burst { background: radial-gradient(circle at 10% 20%, rgba(251,191,36,.22) 0 8%, transparent 9%), radial-gradient(circle at 80% 15%, rgba(59,130,246,.18) 0 7%, transparent 8%), radial-gradient(circle at 70% 78%, rgba(236,72,153,.18) 0 7%, transparent 8%), #ffffff; border: 1px solid #e5e7eb; border-radius: 22px; }

/* 28. Fun: Cinema Ticket */
.eq-style-cinema-ticket { background: #fff7ed; border: 2px dashed #fb923c; border-radius: 20px; position: relative; }
.eq-style-cinema-ticket::after { content: ''; position: absolute; left: -10px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; border-radius: 999px; background: #fafafa; box-shadow: calc(100% + 20px) 0 0 #fafafa; }

/* 29. Fun: Popcorn Card */
.eq-style-popcorn-card { background: linear-gradient(180deg,#fff 0%,#fefce8 100%); border: 1px solid #fde68a; border-radius: 24px; box-shadow: 0 10px 24px rgba(234,179,8,0.12); }

/* 30. Fun: Festival Poster */
.eq-style-festival-poster { background: linear-gradient(135deg,#0f172a 0%,#312e81 50%,#7c3aed 100%); border-radius: 20px; border: 1px solid rgba(255,255,255,0.08); }
.eq-style-festival-poster .eq-content, .eq-style-festival-poster .eq-citation { color: #f8fafc; }

/* 31. Gaming: Pixel Arcade */
.eq-style-pixel-arcade { background: #0f172a; border: 4px solid #22c55e; box-shadow: 0 0 0 4px #111827 inset, 0 0 18px rgba(34,197,94,0.22); border-radius: 0; }
.eq-style-pixel-arcade .eq-content, .eq-style-pixel-arcade .eq-citation { color: #dcfce7; font-family: 'Courier New', monospace; text-transform: none; letter-spacing: 0.05em; }

/* 32. Gaming: Boss Battle */
.eq-style-boss-battle { background: linear-gradient(180deg,#111827 0%,#1e1b4b 100%); border: 2px solid #ef4444; border-radius: 22px; box-shadow: 0 0 0 2px rgba(239,68,68,0.18), 0 18px 30px rgba(15,23,42,0.3); }
.eq-style-boss-battle .eq-content, .eq-style-boss-battle .eq-citation { color: #fff1f2; }

/* 33. Gaming: Loot Drop */
.eq-style-loot-drop { background: linear-gradient(135deg,#fff 0%,#f8fafc 100%); border: 1px solid #cbd5e1; border-radius: 22px; box-shadow: 0 10px 30px rgba(99,102,241,0.12); }
.eq-style-loot-drop::after { content: ''; position: absolute; top: 16px; right: 16px; width: 18px; height: 18px; background: radial-gradient(circle, #fbbf24 0 55%, transparent 56%); opacity: 0.55; }

/* 34. Gaming: Cyber Rank */
.eq-style-cyber-rank { background: #020617; border: 1px solid rgba(34,211,238,0.35); border-radius: 20px; box-shadow: 0 0 0 1px rgba(34,211,238,0.1), 0 0 30px rgba(34,211,238,0.08); }
.eq-style-cyber-rank .eq-content, .eq-style-cyber-rank .eq-citation { color: #ecfeff; }

/* 35. Gaming: Speedrun Panel */
.eq-style-speedrun-panel { background: linear-gradient(180deg,#ffffff 0%,#eef2ff 100%); border: 1px solid #c7d2fe; border-left: 10px solid #4f46e5; border-radius: 18px; }
.eq-style-speedrun-panel .eq-citation { color: #4f46e5; }

/* Shared */
.wp-block-elite-quote,
.wp-block-elite-quote blockquote { max-width: 100%; }
