
/* Bundle core: wp-content/themes/bigboom/css/rfj-layers.css */
/**
 * RFJ global layer tokens.
 *
 * Keep z-index values semantic and centralized. Component-local layering may
 * still use 0-9, but cross-component layers should use these variables.
 */
:root {
    --rfj-z-base: 0;
    --rfj-z-content-raised: 10;
    --rfj-z-local-sticky: 100;
    --rfj-z-global-header: 200;
    --rfj-z-page-sticky-over-header: 260;
    --rfj-z-dropdown: 1000;
    --rfj-z-popover: 1100;
    --rfj-z-overlay: 1900;
    --rfj-z-modal-backdrop: 2000;
    --rfj-z-modal: 2010;
    --rfj-z-toast: 3000;
    --rfj-z-system: 9000;
    --rfj-z-dropdown-portal: 10020;
}


/* Bundle core: wp-content/themes/bigboom/css/rfj-text-colors.css */
/* Shared foreground colors. Choose by the role of the text and its surface.
 * Titles and body: primary. Summaries and field labels: secondary.
 * Metadata, hints and placeholders: tertiary. Disabled is for inactive controls.
 * Use the dark palette on dark surfaces and on-accent on filled actions.
 * Links, business states and decorative colors are owned by their components.
 */
:root {
    --rfj-text-primary: #1d1d1f;
    --rfj-text-secondary: #515154;
    --rfj-text-tertiary: #69696f;
    --rfj-text-disabled: #8e8e93;
    --rfj-text-inverse: #fff;
    --rfj-on-accent: var(--rfj-text-inverse);

    --rfj-text-dark-primary: #f5f5f7;
    --rfj-text-dark-secondary: #c1c1c8;
    --rfj-text-dark-tertiary: #adadb5;
    --rfj-text-dark-disabled: #777780;
    --rfj-text-dark-inverse: var(--rfj-text-primary);

    /* Compatibility for older styles and templates. */
    --rfj-color-text: var(--rfj-text-primary);
    --rfj-color-text-secondary: var(--rfj-text-secondary);
    --rfj-color-text-muted: var(--rfj-text-tertiary);
}


/* Bundle core: wp-content/themes/bigboom/css/rfj-brand.css */
/* Public website brand and action colors. Business status colors belong to their components. */
:root {
    --rfj-brand-red: #ff0f23;
    --rfj-brand-red-soft: #ffebf1;
    --rfj-brand-red-border: #f6becb;
    --rfj-brand-red-shadow: rgba(255, 15, 35, .16);
    /* Use a deeper tone for filled buttons with white text. */
    --rfj-brand-action: #d7001d;
    --rfj-brand-action-hover: #c0001a;
    --rfj-brand-action-active: #a80017;
    /* Standard primary-action gradient: rose red to a clean deeper red. */
    --rfj-action-gradient: linear-gradient(135deg, #ff687c 0%, #e52c3c 52%, #cf1722 100%);
    /* Hover shares the homepage search palette and background scale. */
    --rfj-action-gradient-hover: linear-gradient(135deg, #ff8e53 0%, #e02a2b 40%, #d1191a 60%, #ff6b6b 100%);
    --rfj-action-gradient-size: 160% 100%;
    --rfj-action-gradient-hover-size: 200% 200%;
    /* Primary actions keep the gradient and sweep without an outer glow. */
    --rfj-action-gradient-shadow: none;
    --rfj-action-gradient-shadow-hover: none;
    --rfj-action-gradient-shadow-active: none;
}

/* Hero search retains its existing palette and glow. */
.hero-search-btn {
    --rfj-action-gradient: linear-gradient(135deg, #ff6b6b 0%, #d1191a 40%, #b81c1c 60%, #ff8e53 100%);
    --rfj-action-gradient-size: 200% 200%;
    --rfj-action-gradient-shadow: 0 4px 15px rgba(209, 25, 26, .3), 0 0 25px rgba(209, 25, 26, .1);
    --rfj-action-gradient-shadow-hover: 0 8px 25px rgba(209, 25, 26, .4), 0 0 40px rgba(209, 25, 26, .2);
    --rfj-action-gradient-shadow-active: 0 4px 15px rgba(209, 25, 26, .3), 0 0 20px rgba(209, 25, 26, .15);
}

/* Reusable appearance only: components own dimensions, layout and border radius.
 * Existing enquiry selectors adapt older templates to .rfj-button--gradient. */
body :is(
    .rfj-button--gradient,
    .hero-search-btn,
    .rfj-enquiry-primary,
    .xun_jia[data-toggle="enquiry-modal-light"],
    .xun_jia[data-toggle="modal"][data-target="#enquiryModal"],
    .software-inquiry-btn .software-footer-btn,
    .rfj-company-card__button--enquiry,
    .rfj-company-mobile-bar__button--primary,
    .rfj-contact-button--primary
):not(:disabled):not([aria-disabled="true"]) {
    background: var(--rfj-action-gradient) !important;
    background-size: var(--rfj-action-gradient-size) !important;
    border-color: transparent !important;
    box-shadow: var(--rfj-action-gradient-shadow) !important;
    color: var(--rfj-on-accent) !important;
    filter: none !important;
    position: relative;
    overflow: hidden;
    transition: background .4s cubic-bezier(.4, 0, .2, 1), box-shadow .4s cubic-bezier(.4, 0, .2, 1), transform .4s cubic-bezier(.4, 0, .2, 1);
}

body :is(
    .rfj-button--gradient,
    .hero-search-btn,
    .rfj-enquiry-primary,
    .xun_jia[data-toggle="enquiry-modal-light"],
    .xun_jia[data-toggle="modal"][data-target="#enquiryModal"],
    .software-inquiry-btn .software-footer-btn,
    .rfj-company-card__button--enquiry,
    .rfj-company-mobile-bar__button--primary,
    .rfj-contact-button--primary
):not(:disabled):not([aria-disabled="true"])::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .25), transparent);
    pointer-events: none;
    transition: left .5s ease;
}

body :is(
    .rfj-button--gradient,
    .hero-search-btn,
    .rfj-enquiry-primary,
    .xun_jia[data-toggle="enquiry-modal-light"],
    .xun_jia[data-toggle="modal"][data-target="#enquiryModal"],
    .software-inquiry-btn .software-footer-btn,
    .rfj-company-card__button--enquiry,
    .rfj-company-mobile-bar__button--primary,
    .rfj-contact-button--primary
):not(:disabled):not([aria-disabled="true"]):focus-visible {
    outline: 2px solid var(--rfj-brand-action);
    outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
body :is(
    .rfj-button--gradient,
    .hero-search-btn,
    .rfj-enquiry-primary,
    .xun_jia[data-toggle="enquiry-modal-light"],
    .xun_jia[data-toggle="modal"][data-target="#enquiryModal"],
    .software-inquiry-btn .software-footer-btn,
    .rfj-company-card__button--enquiry,
    .rfj-company-mobile-bar__button--primary,
    .rfj-contact-button--primary
):not(:disabled):not([aria-disabled="true"]):hover {
    background: var(--rfj-action-gradient-hover) !important;
    background-size: var(--rfj-action-gradient-hover-size) !important;
    box-shadow: var(--rfj-action-gradient-shadow-hover) !important;
}

body :is(
    .rfj-button--gradient,
    .hero-search-btn,
    .rfj-enquiry-primary,
    .xun_jia[data-toggle="enquiry-modal-light"],
    .xun_jia[data-toggle="modal"][data-target="#enquiryModal"],
    .software-inquiry-btn .software-footer-btn,
    .rfj-company-card__button--enquiry,
    .rfj-company-mobile-bar__button--primary,
    .rfj-contact-button--primary
):not(:disabled):not([aria-disabled="true"]):hover::before {
    left: 100%;
}
}

body :is(
    .rfj-button--gradient,
    .hero-search-btn,
    .rfj-enquiry-primary,
    .xun_jia[data-toggle="enquiry-modal-light"],
    .xun_jia[data-toggle="modal"][data-target="#enquiryModal"],
    .software-inquiry-btn .software-footer-btn,
    .rfj-company-card__button--enquiry,
    .rfj-company-mobile-bar__button--primary,
    .rfj-contact-button--primary
):not(:disabled):not([aria-disabled="true"]):active {
    box-shadow: var(--rfj-action-gradient-shadow-active) !important;
}

@media (prefers-reduced-motion: reduce) {
body :is(
    .rfj-button--gradient,
    .hero-search-btn,
    .rfj-enquiry-primary,
    .xun_jia[data-toggle="enquiry-modal-light"],
    .xun_jia[data-toggle="modal"][data-target="#enquiryModal"],
    .software-inquiry-btn .software-footer-btn,
    .rfj-company-card__button--enquiry,
    .rfj-company-mobile-bar__button--primary,
    .rfj-contact-button--primary
):not(:disabled):not([aria-disabled="true"]),
body :is(
    .rfj-button--gradient,
    .hero-search-btn,
    .rfj-enquiry-primary,
    .xun_jia[data-toggle="enquiry-modal-light"],
    .xun_jia[data-toggle="modal"][data-target="#enquiryModal"],
    .software-inquiry-btn .software-footer-btn,
    .rfj-company-card__button--enquiry,
    .rfj-company-mobile-bar__button--primary,
    .rfj-contact-button--primary
):not(:disabled):not([aria-disabled="true"])::before {
    transition: none;
}

body :is(
    .rfj-button--gradient,
    .hero-search-btn,
    .rfj-enquiry-primary,
    .xun_jia[data-toggle="enquiry-modal-light"],
    .xun_jia[data-toggle="modal"][data-target="#enquiryModal"],
    .software-inquiry-btn .software-footer-btn,
    .rfj-company-card__button--enquiry,
    .rfj-company-mobile-bar__button--primary,
    .rfj-contact-button--primary
):not(:disabled):not([aria-disabled="true"])::before {
    display: none;
}
}

/* Primary enquiry actions using dedicated component selectors share the same site-wide gradient. */
body :is(
    .rfj-inquiry-btn,
    .rfj-company-directory-card__enquiry,
    .rfzj_company_card__cta[data-toggle="enquiry-modal-light"],
    .rfzj_company_card__contact_cta[data-toggle="enquiry-modal-light"],
    .rfzj_company_card__related_action--enquiry[data-toggle="enquiry-modal-light"],
    .rfj-batch-enquiry-trigger,
    .software-footer-btn.software-red-btn[data-rfj-batch-enquiry-open]
):not(:disabled):not([aria-disabled="true"]) {
    background: var(--rfj-action-gradient) !important;
    background-size: var(--rfj-action-gradient-size) !important;
    border-color: transparent !important;
    box-shadow: var(--rfj-action-gradient-shadow) !important;
    color: var(--rfj-on-accent) !important;
    filter: none !important;
    position: relative;
    overflow: hidden;
    transition: background .4s cubic-bezier(.4, 0, .2, 1), box-shadow .4s cubic-bezier(.4, 0, .2, 1), transform .4s cubic-bezier(.4, 0, .2, 1);
}

body :is(
    .rfj-inquiry-btn,
    .rfj-company-directory-card__enquiry,
    .rfzj_company_card__cta[data-toggle="enquiry-modal-light"],
    .rfzj_company_card__contact_cta[data-toggle="enquiry-modal-light"],
    .rfzj_company_card__related_action--enquiry[data-toggle="enquiry-modal-light"],
    .rfj-batch-enquiry-trigger,
    .software-footer-btn.software-red-btn[data-rfj-batch-enquiry-open]
):not(:disabled):not([aria-disabled="true"])::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .25), transparent);
    pointer-events: none;
    transition: left .5s ease;
}

body :is(
    .rfj-inquiry-btn,
    .rfj-company-directory-card__enquiry,
    .rfzj_company_card__cta[data-toggle="enquiry-modal-light"],
    .rfzj_company_card__contact_cta[data-toggle="enquiry-modal-light"],
    .rfzj_company_card__related_action--enquiry[data-toggle="enquiry-modal-light"],
    .rfj-batch-enquiry-trigger,
    .software-footer-btn.software-red-btn[data-rfj-batch-enquiry-open]
):not(:disabled):not([aria-disabled="true"]):focus-visible {
    outline: 2px solid var(--rfj-brand-action);
    outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
    body :is(
        .rfj-inquiry-btn,
        .rfj-company-directory-card__enquiry,
        .rfzj_company_card__cta[data-toggle="enquiry-modal-light"],
        .rfzj_company_card__contact_cta[data-toggle="enquiry-modal-light"],
        .rfzj_company_card__related_action--enquiry[data-toggle="enquiry-modal-light"],
        .rfj-batch-enquiry-trigger,
        .software-footer-btn.software-red-btn[data-rfj-batch-enquiry-open]
    ):not(:disabled):not([aria-disabled="true"]):hover {
        background: var(--rfj-action-gradient-hover) !important;
        background-size: var(--rfj-action-gradient-hover-size) !important;
        box-shadow: var(--rfj-action-gradient-shadow-hover) !important;
    }

    body :is(
        .rfj-inquiry-btn,
        .rfj-company-directory-card__enquiry,
        .rfzj_company_card__cta[data-toggle="enquiry-modal-light"],
        .rfzj_company_card__contact_cta[data-toggle="enquiry-modal-light"],
        .rfzj_company_card__related_action--enquiry[data-toggle="enquiry-modal-light"],
        .rfj-batch-enquiry-trigger,
        .software-footer-btn.software-red-btn[data-rfj-batch-enquiry-open]
    ):not(:disabled):not([aria-disabled="true"]):hover::before {
        left: 100%;
    }
}

body :is(
    .rfj-inquiry-btn,
    .rfj-company-directory-card__enquiry,
    .rfzj_company_card__cta[data-toggle="enquiry-modal-light"],
    .rfzj_company_card__contact_cta[data-toggle="enquiry-modal-light"],
    .rfzj_company_card__related_action--enquiry[data-toggle="enquiry-modal-light"],
    .rfj-batch-enquiry-trigger,
    .software-footer-btn.software-red-btn[data-rfj-batch-enquiry-open]
):not(:disabled):not([aria-disabled="true"]):active {
    box-shadow: var(--rfj-action-gradient-shadow-active) !important;
}

@media (prefers-reduced-motion: reduce) {
    body :is(
        .rfj-inquiry-btn,
        .rfj-company-directory-card__enquiry,
        .rfzj_company_card__cta[data-toggle="enquiry-modal-light"],
        .rfzj_company_card__contact_cta[data-toggle="enquiry-modal-light"],
        .rfzj_company_card__related_action--enquiry[data-toggle="enquiry-modal-light"],
        .rfj-batch-enquiry-trigger,
        .software-footer-btn.software-red-btn[data-rfj-batch-enquiry-open]
    ):not(:disabled):not([aria-disabled="true"]),
    body :is(
        .rfj-inquiry-btn,
        .rfj-company-directory-card__enquiry,
        .rfzj_company_card__cta[data-toggle="enquiry-modal-light"],
        .rfzj_company_card__contact_cta[data-toggle="enquiry-modal-light"],
        .rfzj_company_card__related_action--enquiry[data-toggle="enquiry-modal-light"],
        .rfj-batch-enquiry-trigger,
        .software-footer-btn.software-red-btn[data-rfj-batch-enquiry-open]
    ):not(:disabled):not([aria-disabled="true"])::before {
        transition: none;
    }

    body :is(
        .rfj-inquiry-btn,
        .rfj-company-directory-card__enquiry,
        .rfzj_company_card__cta[data-toggle="enquiry-modal-light"],
        .rfzj_company_card__contact_cta[data-toggle="enquiry-modal-light"],
        .rfzj_company_card__related_action--enquiry[data-toggle="enquiry-modal-light"],
        .rfj-batch-enquiry-trigger,
        .software-footer-btn.software-red-btn[data-rfj-batch-enquiry-open]
    ):not(:disabled):not([aria-disabled="true"])::before {
        display: none;
    }
}

/* Shared software-detail primary/secondary action pair, reused by ranking entries. */
.rfj-single-primary-action-wrap .xun_jia,
.rfj-single-primary-action-wrap .xun_jia-o,
.rfj-single-primary-action {
    appearance: none;
    background: var(--rfj-color-primary, var(--rfj-brand-action)) !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-sizing: border-box;
    color: var(--rfj-on-accent) !important;
    cursor: pointer;
    display: block !important;
    font-family: inherit;
    font-size: 15px !important;
    font-weight: 700;
    line-height: 44px !important;
    margin: 0 !important;
    min-height: 44px;
    padding: 0 22px !important;
    text-align: center;
    text-decoration: none !important;
    width: 100% !important;
}

.rfj-single-primary-action-wrap .xun_jia:hover,
.rfj-single-primary-action-wrap .xun_jia:focus,
.rfj-single-primary-action-wrap .xun_jia-o:hover,
.rfj-single-primary-action-wrap .xun_jia-o:focus,
.rfj-single-primary-action:hover,
.rfj-single-primary-action:focus {
    background: var(--rfj-color-primary-hover, var(--rfj-brand-action-hover)) !important;
    color: var(--rfj-on-accent) !important;
    text-decoration: none !important;
}

.rfj-single-secondary-action {
    background: #fff;
    border: 1px solid var(--rfj-color-border, #e5e5ea);
    border-radius: 999px;
    color: var(--rfj-text-primary);
    display: block;
    font-size: 13px;
    font-weight: 600;
    line-height: 34px;
    min-height: 34px;
    padding: 0 16px;
    text-align: center;
    text-decoration: none;
}

.rfj-single-secondary-action--consult {
    font-size: 15px;
    line-height: 42px;
    min-height: 44px;
}

.rfj-single-secondary-action:hover,
.rfj-single-secondary-action:focus {
    border-color: var(--rfj-color-primary, var(--rfj-brand-action));
    color: var(--rfj-color-primary, var(--rfj-brand-action));
    text-decoration: none;
}

