/*
 * Button Tones — Hello Elementor Child
 * Three variants controlled by a body class:
 *   body.hec-buttons--light  — subtle grey, minimal borders
 *   body.hec-buttons--medium — theme default (no overrides, just the defaults)
 *   body.hec-buttons--dark   — high contrast, black/white
 *
 * Affects: CTA buttons (card/banner/minimal/split), archive contact icons,
 * header contact icons, footer contact items, archive "Read article" link.
 */

/* ========================================================================
   LIGHT TONE — subtle grey, minimal borders
   ======================================================================== */

/* CTA buttons: primary */
body.hec-buttons--light .hec-btn--primary,
body.hec-buttons--light .hec-cta-banner__btn--primary,
html body.hec-buttons--light .hec-btn--primary {
    background: #f5f5f5 !important;
    color: #555 !important;
    -webkit-text-fill-color: #555 !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: none !important;
}

body.hec-buttons--light .hec-btn--primary:hover,
body.hec-buttons--light .hec-cta-banner__btn--primary:hover {
    background: var(--hec-accent) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: var(--hec-accent) !important;
}

/* CTA buttons: secondary */
body.hec-buttons--light .hec-btn--secondary,
body.hec-buttons--light .hec-cta-banner__btn--secondary {
    background: transparent !important;
    color: #999 !important;
    -webkit-text-fill-color: #999 !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

body.hec-buttons--light .hec-btn--secondary:hover,
body.hec-buttons--light .hec-cta-banner__btn--secondary:hover {
    background: #f5f5f5 !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    border-color: rgba(0, 0, 0, 0.15) !important;
}

/* Split CTA links */
body.hec-buttons--light .hec-cta-split__link {
    color: #999 !important;
}

body.hec-buttons--light .hec-cta-split__link:hover {
    color: var(--hec-accent) !important;
}

/* Minimal CTA links */
body.hec-buttons--light .hec-cta-minimal__link {
    color: #999 !important;
}

body.hec-buttons--light .hec-cta-minimal__link:hover {
    color: var(--hec-accent) !important;
}

/* Archive contact icons */
html body.hec-buttons--light .hec-archive__contact-link {
    color: #aaaaaa !important;
    border-color: rgba(0, 0, 0, 0.06) !important;
    background: transparent !important;
}

html body.hec-buttons--light .hec-archive__contact-link:hover {
    color: #ffffff !important;
    background: var(--hec-accent) !important;
    border-color: var(--hec-accent) !important;
}

/* Header contact links */
html body.hec-buttons--light .hec-site-header__contact-link {
    color: #aaaaaa !important;
    opacity: 1;
}

html body.hec-buttons--light .hec-site-header__contact-link:hover {
    color: var(--hec-accent) !important;
}

/* Footer contact items */
html body.hec-buttons--light a.hec-site-footer__contact-item {
    color: #999 !important;
    -webkit-text-fill-color: #999 !important;
    opacity: 1;
}

html body.hec-buttons--light a.hec-site-footer__contact-item:hover {
    color: var(--hec-accent) !important;
    -webkit-text-fill-color: var(--hec-accent) !important;
}

/* Archive "Read article" link */
body.hec-buttons--light .hec-row__link {
    color: #999 !important;
    border-bottom-color: rgba(0, 0, 0, 0.15) !important;
}

body.hec-buttons--light .hec-row__link:hover {
    color: var(--hec-accent) !important;
    border-bottom-color: var(--hec-accent) !important;
}

/* ========================================================================
   DARK TONE — high contrast black/white
   ======================================================================== */

/* CTA buttons: primary (solid dark with white text) */
body.hec-buttons--dark .hec-btn--primary,
body.hec-buttons--dark .hec-cta-banner__btn--primary,
html body.hec-buttons--dark .hec-btn--primary {
    background: #111111 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border: 1px solid #111111 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
}

body.hec-buttons--dark .hec-btn--primary:hover,
body.hec-buttons--dark .hec-cta-banner__btn--primary:hover {
    background: var(--hec-accent) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: var(--hec-accent) !important;
}

/* CTA buttons: secondary (dark text, dark border) */
body.hec-buttons--dark .hec-btn--secondary,
body.hec-buttons--dark .hec-cta-banner__btn--secondary {
    background: transparent !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    border: 1px solid #111111 !important;
}

body.hec-buttons--dark .hec-btn--secondary:hover,
body.hec-buttons--dark .hec-cta-banner__btn--secondary:hover {
    background: #111111 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Split CTA links */
body.hec-buttons--dark .hec-cta-split__link {
    color: #111111 !important;
    font-weight: 500;
}

body.hec-buttons--dark .hec-cta-split__link:hover {
    color: var(--hec-accent) !important;
}

/* Minimal CTA links */
body.hec-buttons--dark .hec-cta-minimal__link {
    color: #111111 !important;
    font-weight: 500;
}

body.hec-buttons--dark .hec-cta-minimal__link:hover {
    color: var(--hec-accent) !important;
}

/* Archive contact icons */
html body.hec-buttons--dark .hec-archive__contact-link {
    color: #2a2a2a !important;
    border-color: rgba(0, 0, 0, 0.25) !important;
    background: transparent !important;
}

html body.hec-buttons--dark .hec-archive__contact-link:hover {
    color: #ffffff !important;
    background: #111111 !important;
    border-color: #111111 !important;
}

/* Header contact links */
html body.hec-buttons--dark .hec-site-header__contact-link {
    color: #2a2a2a !important;
    opacity: 1;
}

html body.hec-buttons--dark .hec-site-header__contact-link:hover {
    color: var(--hec-accent) !important;
}

/* Footer contact items */
html body.hec-buttons--dark a.hec-site-footer__contact-item {
    color: #2a2a2a !important;
    -webkit-text-fill-color: #2a2a2a !important;
    font-weight: 500;
    opacity: 1;
}

html body.hec-buttons--dark a.hec-site-footer__contact-item:hover {
    color: var(--hec-accent) !important;
    -webkit-text-fill-color: var(--hec-accent) !important;
}

/* Archive "Read article" link */
body.hec-buttons--dark .hec-row__link {
    color: #111111 !important;
    border-bottom-color: #111111 !important;
    font-weight: 500;
}

body.hec-buttons--dark .hec-row__link:hover {
    color: var(--hec-accent) !important;
    border-bottom-color: var(--hec-accent) !important;
}

/* ========================================================================
   HERO-IMAGE CONTEXT — archive contact icons over bg image
   Tone variants adapt: light stays faded white, dark switches to near-black on hover
   ======================================================================== */
html body.hec-buttons--light .hec-archive__hero--image .hec-archive__contact-link {
    color: rgba(255, 255, 255, 0.55) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    background: transparent !important;
}

html body.hec-buttons--light .hec-archive__hero--image .hec-archive__contact-link:hover {
    color: #ffffff !important;
    background: transparent !important;
    border-color: #ffffff !important;
}

html body.hec-buttons--dark .hec-archive__hero--image .hec-archive__contact-link {
    color: #ffffff !important;
    border-color: #ffffff !important;
    background: transparent !important;
}

html body.hec-buttons--dark .hec-archive__hero--image .hec-archive__contact-link:hover {
    color: #111111 !important;
    background: #ffffff !important;
    border-color: #ffffff !important;
}
