:root {
    --neon-red-glow: 0 0 2px #ff454599, 0 0 10px #ff080870, 0 0 22px #ff080845;
    --neon-red-heading: 0 0 3px #ff4545b3, 0 0 14px #ff080880, 0 0 32px #ff080859, 0 0 50px #a0000038;
    --neon-red-paper: 0 0 3px #ff080838, 0 0 10px #ff080829;
}

/* Shared glow for red text, including Tailwind and the legacy Bootstrap page. */
.text-primary, .text-accent,
.text-red-100, .text-red-200, .text-red-300, .text-red-400, .text-red-500,
.text-red-600, .text-red-700, .text-red-800, .text-red-900,
.text-danger, .text-danger-custom,
.article-content h2, .article-content h3, .article-content code,
.hover\:text-primary:hover, .hover\:text-accent:hover,
.group:hover .group-hover\:text-primary,
.eyebrow, .story-index, .private-topic, .work-title-row h3 span,
.home-page .email-link i, .home-page .social-links i,
.store-page nav a[href="/store/"], .feature-kicker, .feature-link i,
.catalog-filters button[aria-pressed="true"] span, .product-badge:not(.badge-free),
.course-tags span:first-child, .store-page summary i,
.instructors-page nav a[href="/instructor/"], .instructor-eyebrow,
.instructor-specialties span, .certificate-category,
.privacy-eyebrow, .privacy-number, .privacy-promises span {
    text-shadow: var(--neon-red-glow);
}
.home-page .hero-copy h1 span, .store-neon, .lab-title span,
.instructor-intro h1 span, .privacy-hero h1 span {
    text-shadow: var(--neon-red-heading);
}
.home-page .text-link:hover, .store-page .support-link:hover,
.privacy-contents a:hover, .privacy-provider-links a:hover, .privacy-email:hover {
    text-shadow: var(--neon-red-glow);
}
.home-page .about-layout .eyebrow, .home-page .about-layout .text-link:hover,
.instructor-contact .instructor-eyebrow, .instructor-contact .instructor-text-link:hover,
.privacy-promises span {
    text-shadow: var(--neon-red-paper);
}
.text-black, .text-white, .hover\:text-white:hover { text-shadow: none; }

.site-footer { border-top: 1px solid #ffffff1a; padding-block: 28px; color: #8e8e8a; font: 400 11px/1.7 Inter, Prompt, Kanit, sans-serif; }
.footer-inner { width: min(100% - 64px, 1280px); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-footer p { margin: 0; }
.site-footer .footer-links { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px 24px; padding: 0; background: transparent; border: 0; }
.footer-links a, .footer-links button { color: #aaa9a6; text-decoration: none; padding-block: 6px; font-size: 11px; line-height: 1.7; }
.footer-links button { padding-inline: 0; background: transparent; border: 0; font-family: inherit; cursor: pointer; }
.footer-links a:hover, .footer-links button:hover, .footer-links button[aria-expanded="true"] { color: #ff4545; text-shadow: var(--neon-red-glow); }
.footer-links a:focus-visible, .footer-links button:focus-visible { outline: 2px solid #ff4545; outline-offset: 5px; }
.privacy-page:not(.site-map-page) .footer-links a[href="/privacy.php"], .site-map-page .footer-links a[href="/site-map.php"] { color: #ff4545; text-shadow: var(--neon-red-glow); }

.site-map-hero h1 span { display: block; }
.site-map-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding-block: 12px 80px; }
.site-map-card { display: flex; flex-direction: column; min-height: 164px; gap: 18px; padding: 28px; background: #191919; border: 1px solid #f0eee729; border-radius: 6px; }
.site-map-card > span { color: #ff4545; font: 500 10px/1.6 Inter, sans-serif; letter-spacing: .1em; text-shadow: var(--neon-red-glow); }
.site-map-card h2 { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 21px; font-weight: 500; line-height: 1.6; }
.site-map-card i { font-size: 12px; color: #ff4545; text-shadow: var(--neon-red-glow); }
.site-map-card:hover { border-color: #ff454580; background: #211616; }

/* Give secondary headings and their labels more room to read on desktop. */
@media (min-width: 1024px) {
    .eyebrow, .store-eyebrow, .instructor-eyebrow, .privacy-eyebrow,
    .story-index span, .shop-types, .contact-platform-label,
    .feature-kicker, .section-format, .product-category, .course-tags,
    .instructor-specialties span, .credential-strip > p, .certificate-category,
    .privacy-promises span, .site-map-card > span { font-size: 13px; }

    .hero-description, .work-title-row p, .status-label,
    .contact-intro > p, .catalog-heading p, .credentials-heading > p {
        font-size: 14px;
    }
    .private-topic, .store-lead { font-size: 15px; }
    .story-index { font-size: 15px; }

    .section-heading h2, .contact-intro h2 { font-size: clamp(30px, 3.2vw, 44px); }
    .about-layout h2, .shop-copy h2 { font-size: clamp(34px, 3.6vw, 50px); }
    .work-title-row h3 { font-size: clamp(28px, 3vw, 40px); }
    .private-heading h3 { font-size: clamp(30px, 3.2vw, 44px); }
    .contact-card h3 { font-size: 32px; }

    .free-feature h2, .site-map-card h2 { font-size: 23px; }
    .catalog-heading h2, .instructor-specialties h2 { font-size: 26px; }
    .book-info h3 { font-size: 18px; }
    .course-info h3 { font-size: 34px; }
    .support-intro h2, .privacy-sections h2 { font-size: 28px; }
    .order-details > summary h2 { font-size: 15px; }
    .order-flow { font-size: 13px; }
    .order-details-label { font-size: 12px; }
    .order-steps h3, .course-details summary, .course-details strong { font-size: 14px; }
    .store-faq summary { font-size: 15px; }

    .credentials-heading h2 { font-size: clamp(28px, 2.9vw, 38px); }
    .certificate-info h3 { font-size: 23px; }
    .instructor-contact h2 { font-size: clamp(28px, 2.9vw, 40px); }
    .privacy-promises p { font-size: 19px; }
    .privacy-contents p, .privacy-number { font-size: 13px; }
    .privacy-contents a { font-size: 14px; }
}

/* Keep desktop descriptions readable alongside the larger subheadings. */
@media (min-width: 1024px) {
    .hero-description, .store-lead, .instructor-lead {
        font-size: 16px;
        line-height: 1.9;
    }
    .shop-copy > p:not(.eyebrow), .contact-intro > p, .catalog-heading p,
    .course-description, .credentials-heading > p,
    .instructor-contact p:not(.instructor-eyebrow),
    .privacy-hero-bottom, .privacy-sections p, .cookie-preference-row strong {
        font-size: 15px;
        line-height: 1.9;
    }
    .contact-card-content p, .product-description, .order-steps p,
    .order-email-reminder, .checkout-note, .course-details li,
    .course-details li span, .support-intro > p:not(.store-eyebrow),
    .store-faq details p, .instructor-specialties p, .certificate-description,
    .cookie-preference-row > span > span {
        font-size: 14px;
        line-height: 1.9;
    }
    .work-title-row p { font-size: 15px; }
    .contact-secondary a { font-size: 14px; }
    .photo-badge, .caption-label, .catalog-count,
    .product-price .price-note, .course-topics span, .credential-tags span,
    .privacy-hero-bottom .privacy-updated,
    .privacy-settings #cookie-preference-status,
    .cookie-preference-actions #cookie-preference-feedback { font-size: 13px; }

    .article-card p { font-size: 16px; line-height: 1.75; }
    .article-content { font-size: 20px; }
    .cta-section p { font-size: 18px; line-height: 1.9; }

    .cookie-notice .cookie-copy h2 { font-size: 16px; }
    .cookie-notice .cookie-copy p { font-size: 13px; }
    .cookie-notice .cookie-copy .cookie-current { font-size: 12px; }
}

@media (max-width: 1023px) { .site-map-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
    .footer-inner { width: calc(100% - 40px); }
    .site-map-grid { grid-template-columns: 1fr; padding-bottom: 48px; gap: 14px; }
    .site-map-card { min-height: 140px; padding: 24px; }
}
@media (max-width: 599px) {
    .footer-inner { flex-direction: column; align-items: stretch; gap: 12px; }
    .site-footer .footer-links { gap: 12px 20px; }
    .footer-links a, .footer-links button { font-size: 10px; }
}
