/*
 * Invico Region Router v1.5.0
 * Region-aware UI blocks.
 * Add data-invico-region-ui="ca" or class invico-nav-ca / invico-ui-ca to Canadian blocks.
 * Add data-invico-region-ui="us" or class invico-nav-us / invico-ui-us to U.S. blocks.
 * Add data-invico-region-ui="other" or class invico-nav-other / invico-ui-other for any Other-specific message blocks. Other otherwise shows Canadian nav/UI blocks.
 * Add class invico-region-display-flex to a regional block if its selected display state should be flex instead of block.
 */
.invico-nav-ca,
.invico-nav-us,
.invico-nav-other,
.invico-ui-ca,
.invico-ui-us,
.invico-ui-other,
[data-invico-region-ui="ca"],
[data-invico-region-ui="us"],
[data-invico-region-ui="other"] {
    display: none !important;
}

html[data-invico-region="ca"] .invico-nav-ca,
html[data-invico-region="ca"] .invico-ui-ca,
html[data-invico-region="ca"] [data-invico-region-ui="ca"],
html[data-invico-region="us"] .invico-nav-us,
html[data-invico-region="us"] .invico-ui-us,
html[data-invico-region="us"] [data-invico-region-ui="us"],
html[data-invico-region="other"] .invico-nav-ca,
html[data-invico-region="other"] .invico-ui-ca,
html[data-invico-region="other"] [data-invico-region-ui="ca"],
html[data-invico-region="other"] .invico-nav-other,
html[data-invico-region="other"] .invico-ui-other,
html[data-invico-region="other"] [data-invico-region-ui="other"] {
    display: block !important;
}

html[data-invico-region="ca"] .invico-region-display-flex.invico-nav-ca,
html[data-invico-region="ca"] .invico-region-display-flex.invico-ui-ca,
html[data-invico-region="ca"] [data-invico-region-ui="ca"].invico-region-display-flex,
html[data-invico-region="us"] .invico-region-display-flex.invico-nav-us,
html[data-invico-region="us"] .invico-region-display-flex.invico-ui-us,
html[data-invico-region="us"] [data-invico-region-ui="us"].invico-region-display-flex,
html[data-invico-region="other"] .invico-region-display-flex.invico-nav-ca,
html[data-invico-region="other"] .invico-region-display-flex.invico-ui-ca,
html[data-invico-region="other"] [data-invico-region-ui="ca"].invico-region-display-flex,
html[data-invico-region="other"] .invico-region-display-flex.invico-nav-other,
html[data-invico-region="other"] .invico-region-display-flex.invico-ui-other,
html[data-invico-region="other"] [data-invico-region-ui="other"].invico-region-display-flex {
    display: flex !important;
}

.invico-region-popup-trigger {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.invico-region-soft-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99997;
    background: var(--irr-soft-bg, #181B1E);
    color: var(--irr-soft-text, #E6E6D9);
    border-top: 1px solid var(--irr-soft-border, #A54D4D);
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.14);
    padding: 16px 20px;
    font-size: 15px;
}

.invico-region-soft-banner__inner {
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    gap: 14px;
    align-items: center;
}

.invico-region-soft-banner__title {
    white-space: nowrap;
}

.invico-region-soft-banner__message {
    flex: 1;
}

.invico-region-soft-banner button,
.invico-region-strict-gate button {
    cursor: pointer;
}

.invico-region-soft-banner__primary {
    border: 1px solid var(--irr-soft-button-bg, #6BC92C);
    background: var(--irr-soft-button-bg, #6BC92C);
    color: var(--irr-soft-button-text, #181B1E);
    padding: 10px 14px;
}

.invico-region-soft-banner__close {
    border: 0;
    background: transparent;
    color: var(--irr-soft-text, #E6E6D9);
    font-size: 24px;
    line-height: 1;
    padding: 2px 6px;
}

.invico-region-gate-active {
    overflow: hidden;
}

.invico-region-strict-gate {
    position: fixed;
    inset: 0;
    z-index: 99998;
    background: var(--irr-strict-overlay-bg, rgba(24, 27, 30, 0.72));
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.invico-region-strict-gate[hidden],
.invico-region-soft-banner[hidden] {
    display: none;
}

.invico-region-strict-gate__panel {
    max-width: 620px;
    background: var(--irr-strict-panel-bg, #E6E6D9);
    color: var(--irr-strict-panel-text, #181B1E);
    padding: 34px;
    box-shadow: 0 18px 60px rgba(0, 0, 0, 0.28);
}

.invico-region-strict-gate__title {
    margin: 0 0 14px;
    font-size: 28px;
    line-height: 1.2;
}

.invico-region-strict-gate__message {
    margin: 0 0 24px;
    font-size: 16px;
    line-height: 1.55;
}

.invico-region-strict-gate__actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.invico-region-strict-gate__primary {
    border: 1px solid var(--irr-strict-button-border, #1A2C52);
    background: var(--irr-strict-primary-bg, #1A2C52);
    color: var(--irr-strict-primary-text, #ffffff);
    padding: 12px 18px;
}

.invico-region-strict-gate__secondary {
    border: 1px solid var(--irr-strict-button-border, #1A2C52);
    background: var(--irr-strict-secondary-bg, #ffffff);
    color: var(--irr-strict-secondary-text, #1A2C52);
    padding: 12px 18px;
}

@media (max-width: 767px) {
    .invico-region-soft-banner__inner {
        display: block;
    }

    .invico-region-soft-banner__message {
        display: block;
        margin: 6px 0 12px;
    }

    .invico-region-strict-gate__panel {
        padding: 24px;
    }
}

/* Header/footer region switcher. Adjust typography/colour in Elementor or site CSS as needed. */
.invico-region-switcher {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    font-size: 13px;
    line-height: 1.3;
    text-decoration: none;
}

.invico-region-switcher__change {
    text-decoration: underline;
}
