/* Shared appearance for all AXIOM products and the Elementor starter preview. */
.axiom-product-style-context {
    --axiom-product-background: #FAFAF7;
    --axiom-product-gallery-background: #F1F3EF;
    --axiom-product-title: #165298;
    --axiom-product-section-heading: #165298;
    --axiom-product-subheading: #008540;
    --axiom-product-accent: #65A812;
    --axiom-product-border: #D9DAD5;
    --axiom-product-text: #222423;
    --axiom-product-secondary-text: #5F6E78;
    --axiom-product-link: #165298;
    --axiom-product-link-hover: #008540;
    --axiom-product-button: #165298;
    --axiom-product-button-hover: transparent;
    --axiom-product-button-hover-border: #165298;
    --axiom-product-button-hover-text: #165298;
    --axiom-product-dark-background: #01273E;
    --axiom-product-dark-button: #65A812;
    --axiom-product-dark-button-hover: #008540;
    --axiom-product-title-font: Michroma, Arial, sans-serif;
    --axiom-product-body-font: Helvetica, Arial, sans-serif;
}

.axiom-product-style-context .axiom-elementor-catalog,
.axiom-product-style-context .axiom-elementor-catalog > .elementor > .e-con:first-child,
.axiom-product-style-context:not(.single-axiom_product) .elementor > .e-con:first-child {
    background-color: var(--axiom-product-background);
}

.axiom-product-style-context .axiom-elementor-catalog,
.axiom-product-style-context .elementor .elementor-widget-text-editor {
    color: var(--axiom-product-text);
    font-family: var(--axiom-product-body-font);
}

.axiom-product-style-context .elementor .elementor-widget-text-editor :is(p, li),
.axiom-product-style-context .elementor .elementor-widget-icon-list .elementor-icon-list-text {
    color: inherit;
    font-family: var(--axiom-product-body-font);
}

body.axiom-product-style-context .axiom-elementor-catalog .elementor .elementor-widget-text-editor.axiom-field-subtitle,
body.axiom-product-style-context .axiom-elementor-catalog .elementor .elementor-widget-text-editor.axiom-field-subtitle .elementor-widget-container,
body.axiom-product-style-context .axiom-elementor-catalog .elementor .elementor-widget-text-editor.axiom-field-subtitle .elementor-widget-container :is(p, span) {
    color: var(--axiom-product-secondary-text);
}

.axiom-product-style-context .elementor .elementor-widget-heading .elementor-heading-title:is(h1, h2) {
    color: var(--axiom-product-title);
    font-family: var(--axiom-product-title-font);
    font-weight: 400;
}

.axiom-product-style-context .elementor .elementor-widget-heading .elementor-heading-title:is(h3, h4) {
    color: var(--axiom-product-subheading);
    font-family: var(--axiom-product-body-font);
    font-weight: 700;
}

.axiom-product-style-context .elementor .elementor-widget-heading .elementor-heading-title:is(h2) {
    color: var(--axiom-product-section-heading);
}

.axiom-product-style-context .elementor .e-con {
    border-color: var(--axiom-product-border);
}

.axiom-product-style-context .elementor .elementor-widget-divider .elementor-divider-separator {
    border-color: var(--axiom-product-accent);
}

.axiom-product-style-context .elementor .elementor-widget-icon-list .elementor-icon-list-icon i,
.axiom-product-style-context .elementor .elementor-widget-icon-list .elementor-icon-list-icon svg {
    color: var(--axiom-product-accent);
    fill: var(--axiom-product-accent);
}

.axiom-product-style-context .elementor .elementor-widget-icon-list .elementor-icon-list-text {
    color: var(--axiom-product-text);
    font-family: var(--axiom-product-body-font);
}

.axiom-product-style-context .elementor .elementor-widget-text-editor a,
.axiom-product-style-context .elementor .elementor-widget-icon-list a {
    color: var(--axiom-product-link);
}

.axiom-product-style-context .elementor .elementor-widget-text-editor a:is(:hover, :focus-visible),
.axiom-product-style-context .elementor .elementor-widget-icon-list a:is(:hover, :focus-visible) {
    color: var(--axiom-product-link-hover);
}

.axiom-product-style-context .elementor .axiom-product-back-link {
    color: var(--axiom-product-link);
    font-family: var(--axiom-product-body-font);
}

.axiom-product-style-context .elementor .axiom-product-back-link:hover,
.axiom-product-style-context .elementor .axiom-product-back-link:focus-visible {
    color: var(--axiom-product-link-hover);
}

.axiom-product-style-context .elementor .axiom-gallery__main,
.axiom-product-style-context .elementor .axiom-gallery__thumbnail {
    background-color: var(--axiom-product-gallery-background);
}

.axiom-product-style-context .elementor .axiom-gallery__thumbnail[aria-current="true"]::after {
    background-color: var(--axiom-product-accent);
}

.axiom-product-style-context .elementor .axiom-gallery .axiom-gallery__arrow {
    color: var(--axiom-product-link);
}

.axiom-product-style-context .elementor .axiom-gallery :is(a, button):focus-visible {
    outline-color: var(--axiom-product-link);
}

.axiom-product-style-context .elementor .axiom-product-placeholder {
    background-color: var(--axiom-product-gallery-background);
    color: var(--axiom-product-secondary-text);
}

body.axiom-product-style-context .axiom-elementor-catalog .elementor .elementor-widget-button .elementor-button {
    background-color: var(--axiom-product-button);
    border-color: var(--axiom-product-button);
    color: #FFFFFF;
    font-family: var(--axiom-product-body-font);
}

body.axiom-product-style-context .axiom-elementor-catalog .elementor .elementor-widget-button .elementor-button:hover,
body.axiom-product-style-context .axiom-elementor-catalog .elementor .elementor-widget-button .elementor-button:focus-visible {
    background-color: var(--axiom-product-button-hover);
    border-color: var(--axiom-product-button-hover-border);
    color: var(--axiom-product-button-hover-text);
}

/* Shared contact CTA appears through a shortcode at the foot of each product. */
body.axiom-product-style-context .elementor .elementor-widget-axiom-contact-cta .axiom-contact-cta {
    background-color: var(--axiom-product-dark-background);
    font-family: var(--axiom-product-body-font);
}

body.axiom-product-style-context .elementor .elementor-widget-axiom-contact-cta .axiom-contact-cta .axiom-contact-cta__icon,
body.axiom-product-style-context .elementor .elementor-widget-axiom-contact-cta .axiom-contact-cta .axiom-contact-cta__icon svg {
    color: var(--axiom-product-accent);
    fill: var(--axiom-product-accent);
}

body.axiom-product-style-context .elementor .elementor-widget-axiom-contact-cta .axiom-contact-cta .axiom-contact-cta__title {
    color: #FFFFFF;
    font-family: var(--axiom-product-title-font);
    font-weight: 400;
}

body.axiom-product-style-context .elementor .elementor-widget-axiom-contact-cta .axiom-contact-cta .axiom-contact-cta__description,
body.axiom-product-style-context .elementor .elementor-widget-axiom-contact-cta .axiom-contact-cta .axiom-contact-cta__description p {
    color: #FFFFFF;
    font-family: var(--axiom-product-body-font);
}

body.axiom-product-style-context .elementor .elementor-widget-axiom-contact-cta .axiom-contact-cta .axiom-contact-cta__button {
    background-color: var(--axiom-product-dark-button);
    border-color: var(--axiom-product-dark-button);
    color: #FFFFFF;
    font-family: var(--axiom-product-body-font);
}

body.axiom-product-style-context .elementor .elementor-widget-axiom-contact-cta .axiom-contact-cta .axiom-contact-cta__button:is(:hover, :focus-visible) {
    background-color: var(--axiom-product-dark-button-hover);
    border-color: var(--axiom-product-dark-button-hover);
    color: #FFFFFF;
}
