/* ==========================================================================
   TYPOGRAPHY FIXES - Font sizes and weights ONLY
   Date: 2026-02-23 (Rewritten - removed all color rules)

   COLOR rules are now handled by contrast-fix-final.css ONLY.
   This file handles FONT SIZES and WEIGHTS exclusively.
   ========================================================================== */

/* Dark section heading overrides (template .row.dark/.row.gray) */
.row.dark .box-header, .row.dark h1, .row.dark h2, .row.dark h3,
.row.dark h4, .row.dark h5, .row.dark h6,
.row.gray .box-header, .row.gray h1, .row.gray h2, .row.gray h3,
.row.gray h4, .row.gray h5, .row.gray h6 {
    color: #fff !important;
}

/* Hero and slider heading colors */
.hero-section h1, .hero-section h2, .hero-section h3,
.slider-content-box h1, .slider-content-box h2, .slider-content-box h3,
.slider-content-box h4, .slider-content-box h5, .slider-content-box h6,
.tp-caption.heading, .tp-caption.large-title {
    color: #fff !important;
}

/* Motion text section */
.motion-text-section .motion-subtitle,
.motion-text-section h1, .motion-text-section h2, .motion-text-section h3 {
    color: #fff !important;
}

/* Footer headings */
footer .box-header, footer h1, footer h2, footer h3,
footer h4, footer h5, footer h6 {
    color: #fff !important;
}

/* Dark section text */
.row.dark .description, .row.dark p,
.row.gray .description, .row.gray p,
footer .description, footer p {
    color: #e2e8f0 !important;
}

/* Slider text */
.slider-content-box p, .tp-caption.small-text, .tp-caption.subtitle {
    color: #fff !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,.5) !important;
}

/* CTA banner */
.cta-banner-premium h2 { color: #fff !important; }
.cta-banner-premium p { color: #e2e8f0 !important; }

/* Announcement - inherit */
.announcement h3 { color: inherit !important; }
.announcement p.description { color: inherit !important; }

/* Button label */
.button-label { color: inherit !important; }
.row.gray .button-label { color: #fff !important; }

/* Counter and accent colors */
.counter-container .number, .gold-accent, .price,
.team-box .position, .team-member .position {
    color: #0d9488 !important;
}

/* Motion text accent */
.motion-text-section .motion-description,
.motion-text-section .motion-text .letter.gold {
    color: #0d9488 !important;
}

/* Links - ONLY body text links, NOT buttons
   Button text colors handled by contrast-fix-final.css */
a:not(.more):not(.btn):not(.button):not(.hero-btn):not(.why-cta-btn):not(.cta-btn):not(.mega-cta-btn):not(.header-v2-btn):not(.header-cta-btn):not(.mobile-nav-v2-btn):not(.floating-btn):not(.footer-cta-button):not(.premium-cta-button):not(.brand-cta-btn):not([class*="btn"]) {
    color: #0d9488 !important;
}
a:not(.more):not(.btn):not(.button):not(.hero-btn):not(.why-cta-btn):not(.cta-btn):not(.mega-cta-btn):not(.header-v2-btn):not(.header-cta-btn):not(.mobile-nav-v2-btn):not(.floating-btn):not(.footer-cta-button):not(.premium-cta-button):not(.brand-cta-btn):not([class*="btn"]):hover {
    color: #0f766e !important;
}

/* Navigation */
.navigation > ul > li > a { color: #1e293b !important; }
.navigation > ul > li > a:hover { color: #0d9488 !important; }
.navigation ul ul li a { color: #1e293b !important; background-color: #fff !important; }
.navigation ul ul li a:hover { color: #fff !important; background-color: #0d9488 !important; }

/* Mobile menu */
.mobile-menu li a { color: #1e293b !important; }
.mobile-menu li a:hover { color: #0d9488 !important; }

/* Testimonials */
.testimonial-author, .testimonials .author {
    color: #0d9488 !important;
}

/* Contact details */
.contact-details li, .contact-details-list li { color: inherit !important; }
.contact-details li a, .contact-details-list li a { color: #0d9488 !important; }

/* Copyright */
.copyright { color: #94a3b8 !important; }

/* --------------------------------------------------------------------------
   FONT SIZES - Responsive typography scale
   -------------------------------------------------------------------------- */
h1, .h1 { font-size: 58px !important; line-height: 1.1 !important; font-weight: 800 !important; }
h2, .h2 { font-size: 42px !important; line-height: 1.2 !important; font-weight: 700 !important; }
h3, .h3 { font-size: 32px !important; line-height: 1.3 !important; font-weight: 700 !important; }
h4, .h4 { font-size: 26px !important; line-height: 1.4 !important; font-weight: 600 !important; }
h5, .h5 { font-size: 20px !important; line-height: 1.5 !important; font-weight: 600 !important; }
h6, .h6 { font-size: 18px !important; line-height: 1.5 !important; font-weight: 600 !important; }

body, p { font-size: 18px !important; line-height: 1.8 !important; }
p.description { font-size: 17px !important; line-height: 1.75 !important; }

/* Hero/slider heading size overrides */
.hero-section h1, .slider-content-box h1 { font-size: 58px !important; }
.row > .box-header, h2.box-header { font-size: 42px !important; }
.features-section h3, .services-grid h3 { font-size: 32px !important; }
.service-box h4, .service-box h4 a, .services-list h4.box-header { font-size: 26px !important; }

/* Tablet breakpoint */
@media (max-width: 1024px) {
    h1, .h1 { font-size: 48px !important; }
    h2, .h2 { font-size: 38px !important; }
    h3, .h3 { font-size: 30px !important; }
    h4, .h4 { font-size: 24px !important; }
    h5, .h5 { font-size: 20px !important; }
    h6, .h6 { font-size: 18px !important; }
}

/* Mobile breakpoint */
@media (max-width: 768px) {
    h1, .h1 { font-size: 38px !important; }
    h2, .h2 { font-size: 32px !important; }
    h3, .h3 { font-size: 28px !important; }
    h4, .h4 { font-size: 22px !important; }
    h5, .h5 { font-size: 18px !important; }
    h6, .h6 { font-size: 16px !important; }
    body, p { font-size: 16px !important; }
    p.description { font-size: 15px !important; }
}

/* Small mobile breakpoint */
@media (max-width: 480px) {
    h1, .h1 { font-size: 32px !important; }
    h2, .h2 { font-size: 28px !important; }
    h3, .h3 { font-size: 24px !important; }
    h4, .h4 { font-size: 20px !important; }
    body, p { font-size: 15px !important; }
}

/* --------------------------------------------------------------------------
   BUTTON BASE STYLES (colors handled by contrast-fix-final.css)
   -------------------------------------------------------------------------- */
.btn, .button, .more, .more.large,
a.more, a.more.large, button.more, button.more.large,
input[type="submit"] {
    background-color: #0d9488 !important;
    border-color: #0d9488 !important;
}

.btn:hover, .button:hover, .more:hover,
a.more:hover, button.more:hover, input[type="submit"]:hover {
    background-color: #14b8a6 !important;
    border-color: #14b8a6 !important;
}

.slider-content-box .more, .slider-content-box a.more {
    background-color: #0d9488 !important;
}

.footer-cta-button {
    background-color: #0d9488 !important;
}

.footer-cta-button:hover {
    background-color: #fff !important;
}

/* --------------------------------------------------------------------------
   LIGHT SECTION TEXT (pages with .row.light or .row.white or main)
   These are for template-standard sections, NOT custom premium sections.
   Custom sections are handled by contrast-fix-final.css.
   -------------------------------------------------------------------------- */
.row.light p, .row.white p { color: #1e293b !important; }
.row.light h1, .row.light h2, .row.light h3,
.row.white h1, .row.white h2, .row.white h3 { color: #0f172a !important; }

/* Post content (blog pages) */
.post-content h1, .post-content h2, .post-content h2 a,
.post-content h3, .post-content h4, .post-content h4 a,
.post-content h5, .post-content h6 { color: #1e293b !important; }

/* Team and service boxes (template standard elements) */
.team-box h4, .team-member h4 { color: #1e293b !important; }
.features-list h4, .features-list h4.box-header,
.service-box h4, .service-box h4 a,
.services-list h4.box-header, .services-list h4.box-header a { color: #1e293b !important; }

/* Labels (form elements) */
label { color: #1e293b !important; }

/* Template blockquote (non-testimonial) */
.testimonials blockquote, blockquote { color: #374151 !important; }

/* Row.gray heading overrides */
.row.gray > * h1, .row.gray > * h2, .row.gray > * h3,
.row.gray > * h4, .row.gray > * h5, .row.gray > * h6 { color: #fff; }
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6 { color: #fff; }
