/* Optional color layer. Loaded only after a palette is selected.
   Deliberately changes color properties only: no layout, fonts or image filters. */
body.hop-color-theme {
    --e-global-color-primary: var(--hop-theme-heading);
    --e-global-color-secondary: var(--hop-theme-text);
    --e-global-color-text: var(--hop-theme-text);
    --e-global-color-accent: var(--hop-theme-accent);
    color: var(--hop-theme-text);
}
body.hop-color-theme.elementor-page-1326:not(.elementor-motion-effects-element-type-background),
body.hop-color-theme.elementor-page-1326 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: var(--hop-theme-background);
}

/* Original header and footer surfaces, including Elementor's motion layer. */
body.hop-color-theme .elementor-1605 .elementor-element.elementor-element-12e78581:not(.elementor-motion-effects-element-type-background),
body.hop-color-theme .elementor-1605 .elementor-element.elementor-element-12e78581 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
body.hop-color-theme .elementor-1582 .elementor-element.elementor-element-3e82603d:not(.elementor-motion-effects-element-type-background),
body.hop-color-theme .elementor-1582 .elementor-element.elementor-element-3e82603d > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: var(--hop-theme-header-bg);
}
body.hop-color-theme .elementor-1605 .elementor-element.elementor-element-12e78581,
body.hop-color-theme .elementor-1582 .elementor-element.elementor-element-3e82603d,
body.hop-color-theme .elementor-1582 .elementor-element.elementor-element-bf6ec20 {
    border-color: var(--hop-theme-accent);
}
body.hop-color-theme .elementor-1582 .elementor-element.elementor-element-bf6ec20:not(.elementor-motion-effects-element-type-background),
body.hop-color-theme .elementor-1582 .elementor-element.elementor-element-bf6ec20 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: var(--hop-theme-header-alt);
}

/* Existing main content panels and the three heading bands. */
body.hop-color-theme .elementor-1326 .elementor-element:is(.elementor-element-6d0a02a,.elementor-element-2f1c32c,.elementor-element-bc3eeae):not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap,
body.hop-color-theme .elementor-1326 .elementor-element:is(.elementor-element-6d0a02a,.elementor-element-2f1c32c,.elementor-element-bc3eeae) > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: var(--hop-theme-surface);
}
body.hop-color-theme .elementor-1326 .elementor-element:is(.elementor-element-eeeb0cd,.elementor-element-f175742,.elementor-element-40312c7) {
    background-color: var(--hop-theme-surface-alt);
}
body.hop-color-theme .elementor-1326 .elementor-element:is(.elementor-element-77a9457,.elementor-element-0a07707) img {
    border-color: var(--hop-theme-accent);
}

/* Text, headings and source-only inline highlights. */
body.hop-color-theme .elementor-1326 .elementor-element .elementor-heading-title,
body.hop-color-theme .hop-standard-content :is(h1,h2,h3,h4,h5,h6) {
    color: var(--hop-theme-heading);
}
body.hop-color-theme .elementor-1326 .elementor-element.elementor-widget-text-editor,
body.hop-color-theme .hop-standard-content {
    color: var(--hop-theme-text);
}
body.hop-color-theme .elementor-1326 .elementor-element.elementor-widget-text-editor a,
body.hop-color-theme .hop-standard-content a {
    color: var(--hop-theme-accent);
}
body.hop-color-theme .elementor-1326 .elementor-element .elementor-heading-title a {
    color: inherit;
}
body.hop-color-theme .elementor-1326 .elementor-widget-text-editor [style*="#ffff99" i] {
    color: var(--hop-theme-heading) !important;
}
body.hop-color-theme .elementor-1326 .elementor-widget-text-editor [style*="#ffcc00" i],
body.hop-color-theme .elementor-1582 .elementor-widget-text-editor [style*="#ffff99" i],
body.hop-color-theme .elementor-1582 .elementor-widget-text-editor [style*="#ffcc00" i] {
    color: var(--hop-theme-accent) !important;
}
body.hop-color-theme .elementor-1582 {
    --e-global-color-text: var(--hop-theme-header-text);
    --e-global-color-secondary: var(--hop-theme-header-text);
    color: var(--hop-theme-header-text);
}
body.hop-color-theme .elementor-1582 .elementor-element.elementor-widget-text-editor {
    color: var(--hop-theme-header-text);
}
body.hop-color-theme .elementor-1582 .elementor-element.elementor-widget-text-editor a,
body.hop-color-theme .elementor-1582 .elementor-element .elementor-heading-title {
    color: var(--hop-theme-accent);
}
body.hop-color-theme .elementor-1582 .elementor-element:is(.elementor-element-4b76e4a,.elementor-element-93e4cbd,.elementor-element-0a0830c,.elementor-element-fc08d6b) .elementor-heading-title {
    color: var(--hop-theme-header-text);
}
body.hop-color-theme .elementor-1582 .elementor-element.elementor-element-33a627a {
    --divider-color: var(--hop-theme-accent);
}
body.hop-color-theme .elementor-1582 .elementor-element.elementor-element-d31a82e .elementor-icon-list-icon i {
    color: var(--hop-theme-accent);
}
body.hop-color-theme .elementor-1582 .elementor-element.elementor-element-d31a82e .elementor-icon-list-icon svg {
    fill: var(--hop-theme-accent);
}
body.hop-color-theme .elementor-1582 .elementor-element.elementor-element-d31a82e .elementor-icon-list-text {
    color: var(--hop-theme-header-text);
}
body.hop-color-theme .elementor-1582 .elementor-element.elementor-element-d31a82e .elementor-icon-list-item:not(:last-child):after {
    border-color: var(--hop-theme-header-border);
}

/* Desktop navigation and the original mobile dropdown. */
body.hop-color-theme .elementor-1605 .elementor-element.elementor-element-736ccc39 .elementor-nav-menu--main .elementor-item,
body.hop-color-theme .elementor-1605 .elementor-element.elementor-element-736ccc39 .elementor-nav-menu--dropdown a {
    color: var(--hop-theme-header-text);
    fill: var(--hop-theme-header-text);
}
body.hop-color-theme .elementor-1605 .elementor-element.elementor-element-736ccc39 .elementor-nav-menu--main .elementor-item:is(:hover,:focus,.elementor-item-active,.highlighted),
body.hop-color-theme .elementor-1605 .elementor-element.elementor-element-736ccc39 .elementor-nav-menu--dropdown a:is(:hover,:focus,.elementor-item-active,.highlighted) {
    color: var(--hop-theme-accent);
    fill: var(--hop-theme-accent);
}
body.hop-color-theme .elementor-1605 .elementor-element.elementor-element-736ccc39 .elementor-nav-menu--dropdown {
    background-color: var(--hop-theme-header-bg);
}
body.hop-color-theme .elementor-1605 .elementor-element.elementor-element-736ccc39 .elementor-nav-menu--dropdown a:is(:hover,:focus,.elementor-item-active,.highlighted) {
    background-color: var(--hop-theme-header-alt);
}
body.hop-color-theme .elementor-1605 .elementor-element.elementor-element-736ccc39 div.elementor-menu-toggle {
    color: var(--hop-theme-accent);
}
body.hop-color-theme .elementor-1605 .elementor-element.elementor-element-736ccc39 div.elementor-menu-toggle svg {
    fill: var(--hop-theme-accent);
}

/* Primary gradient CTAs: selectors retain all original sizing and effects. */
body.hop-color-theme .elementor .elementor-element:is(.elementor-element-7568936,.elementor-element-ae1372b,.elementor-element-b5488b7,.elementor-element-3b39e88,.elementor-element-aea4595,.elementor-element-6aa7657,.elementor-element-7591cae,.elementor-element-560c132,.elementor-element-389faf8) .elementor-button {
    background-color: var(--hop-theme-primary-dark);
    background-image: linear-gradient(180deg,var(--hop-theme-primary) 0%,var(--hop-theme-primary-dark) 100%);
    color: var(--hop-theme-button-text);
    fill: var(--hop-theme-button-text);
    border-color: var(--hop-theme-primary-dark);
    box-shadow: 0 0 10px 0 var(--hop-theme-primary) inset;
}
body.hop-color-theme .elementor .elementor-element:is(.elementor-element-7568936,.elementor-element-ae1372b,.elementor-element-b5488b7,.elementor-element-3b39e88,.elementor-element-aea4595,.elementor-element-6aa7657,.elementor-element-7591cae,.elementor-element-560c132,.elementor-element-389faf8) .elementor-button:is(:hover,:focus) {
    background-image: linear-gradient(180deg,var(--hop-theme-primary-dark) 0%,var(--hop-theme-primary) 100%);
    color: var(--hop-theme-button-text);
    fill: var(--hop-theme-button-text);
}
body.hop-color-theme .elementor .elementor-element:is(.elementor-element-3601acb,.elementor-element-bf91365,.elementor-element-a606e3d,.elementor-element-102435e,.elementor-element-074de92,.elementor-element-43e246d) .elementor-button {
    background-color: var(--hop-theme-text);
    background-image: none;
    color: var(--hop-theme-background);
    fill: var(--hop-theme-background);
    border-color: var(--hop-theme-accent);
}
body.hop-color-theme .elementor .elementor-element:is(.elementor-element-3601acb,.elementor-element-bf91365,.elementor-element-a606e3d,.elementor-element-102435e,.elementor-element-074de92,.elementor-element-43e246d) .elementor-button:is(:hover,:focus) {
    background-color: var(--hop-theme-heading);
    color: var(--hop-theme-background);
    fill: var(--hop-theme-background);
}
body.hop-color-theme .elementor .elementor-button svg {
    fill: currentColor;
}

/* Ordinary WordPress pages share the selected palette. */
body.hop-color-theme .hop-standard-content :is(.wp-element-button,.wp-block-button__link) {
    background-color: var(--hop-theme-primary-dark);
    background-image: linear-gradient(180deg,var(--hop-theme-primary),var(--hop-theme-primary-dark));
    color: var(--hop-theme-button-text);
    border-color: var(--hop-theme-primary-dark);
}
body.hop-color-theme .hop-standard-content :is(blockquote,table,th,td,hr) {
    border-color: var(--hop-theme-border);
}
