/*
 * 404 control hardening v2
 * Loads after the first reference stylesheet and makes every visible 404
 * control feed a CSS variable that is consumed here. This removes cascade
 * fights with theme/Elementor/reference defaults.
 */

/* --------------------------------------------------------------------------
 * Hero: deterministic sizing, header spacing and responsive physical layout
 * -------------------------------------------------------------------------- */
.elementor-widget-aliclick_contact_hero:has(.ac404-hero) {
    --ac404-header-gap: 0px;
    --ac404-pad-top: 48px;
    --ac404-pad-right: 54px;
    --ac404-pad-bottom: 44px;
    --ac404-pad-left: 54px;
    --ac404-columns-gap: 54px;
    --ac404-flex-direction: row;
    --ac404-align-items: center;
    --ac404-media-width: 46%;
    --ac404-content-max: 620px;
    --ac404-text-align: right;
    --ac404-actions-justify: flex-start;
    --ac404-buttons-gap: 14px;
    --ac404-search-radius: 13px;

    --ac404-button-min-height: 48px;
    --ac404-button-pad-top: 11px;
    --ac404-button-pad-right: 24px;
    --ac404-button-pad-bottom: 11px;
    --ac404-button-pad-left: 24px;
    --ac404-button-radius: 11px;
    --ac404-button-icon-size: 17px;
    --ac404-button-icon-gap: 9px;

    --ac404-primary-bg: #1769e0;
    --ac404-primary-color: #ffffff;
    --ac404-primary-icon: #ffffff;
    --ac404-primary-border: #1769e0;
    --ac404-primary-hover-bg: #0e55c4;
    --ac404-primary-hover-color: #ffffff;
    --ac404-primary-hover-icon: #ffffff;
    --ac404-primary-hover-border: #0e55c4;

    --ac404-secondary-bg: #ffffff;
    --ac404-secondary-color: #1769e0;
    --ac404-secondary-icon: #1769e0;
    --ac404-secondary-border: #1769e0;
    --ac404-secondary-hover-bg: #1769e0;
    --ac404-secondary-hover-color: #ffffff;
    --ac404-secondary-hover-icon: #ffffff;
    --ac404-secondary-hover-border: #1769e0;
}

.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero {
    min-height: var(--ac404-min-height, 560px);
    margin-top: var(--ac404-header-gap, 0px);
    box-sizing: border-box;
}

.elementor-widget-aliclick_contact_hero.ac404-under-header-yes:has(.ac404-hero) .ac404-hero {
    margin-top: calc(var(--ac404-header-gap, 0px) - var(--ac404-header-overlap, 88px));
}

.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__inner {
    min-height: var(--ac404-min-height, 560px);
    padding-top: var(--ac404-pad-top, 48px);
    padding-right: var(--ac404-pad-right, 54px);
    padding-bottom: var(--ac404-pad-bottom, 44px);
    padding-left: var(--ac404-pad-left, 54px);
    gap: var(--ac404-columns-gap, 54px);
    flex-direction: var(--ac404-flex-direction, row);
    align-items: var(--ac404-align-items, center);
    box-sizing: border-box;
}

/* The v1 stylesheet used a transparent border for safe space, which changed
 * the measured height and made the height slider feel broken. Safe space is
 * now ordinary padding that is added to the user's own top padding. */
.elementor-widget-aliclick_contact_hero.ac404-under-header-yes:has(.ac404-hero) .ac404-hero__inner {
    border-top: 0 !important;
    padding-top: calc(var(--ac404-pad-top, 48px) + var(--ac404-header-safe, 88px));
}

.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__media {
    flex-basis: var(--ac404-media-width, 46%);
    width: var(--ac404-media-width, 46%);
    max-width: var(--ac404-media-width, 46%);
}

.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__content {
    max-width: var(--ac404-content-max, 620px);
    text-align: var(--ac404-text-align, right);
}

.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__actions {
    width: 100%;
    justify-content: var(--ac404-actions-justify, flex-start);
    gap: var(--ac404-buttons-gap, 14px);
}

.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__search {
    border-radius: var(--ac404-search-radius, 13px);
}

/* --------------------------------------------------------------------------
 * Hero buttons: normal + hover + independent icon colors
 * -------------------------------------------------------------------------- */
.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button {
    min-height: var(--ac404-button-min-height, 48px);
    padding: var(--ac404-button-pad-top, 11px) var(--ac404-button-pad-right, 24px) var(--ac404-button-pad-bottom, 11px) var(--ac404-button-pad-left, 24px);
    border-radius: var(--ac404-button-radius, 11px);
    gap: var(--ac404-button-icon-gap, 9px);
}

.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--primary {
    color: var(--ac404-primary-color, #fff);
    background: var(--ac404-primary-bg, #1769e0);
    border-color: var(--ac404-primary-border, #1769e0);
}

.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--secondary {
    color: var(--ac404-secondary-color, #1769e0);
    background: var(--ac404-secondary-bg, #fff);
    border-color: var(--ac404-secondary-border, #1769e0);
}

.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button svg,
.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button i {
    width: var(--ac404-button-icon-size, 17px);
    height: var(--ac404-button-icon-size, 17px);
    font-size: var(--ac404-button-icon-size, 17px);
    fill: currentColor;
}

.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--primary svg,
.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--primary i {
    color: var(--ac404-primary-icon, #fff);
    fill: var(--ac404-primary-icon, #fff);
}

.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--secondary svg,
.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--secondary i {
    color: var(--ac404-secondary-icon, #1769e0);
    fill: var(--ac404-secondary-icon, #1769e0);
}

.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--primary:hover,
.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--primary:focus-visible {
    color: var(--ac404-primary-hover-color, #fff);
    background: var(--ac404-primary-hover-bg, #0e55c4);
    border-color: var(--ac404-primary-hover-border, #0e55c4);
}

.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--primary:hover svg,
.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--primary:hover i,
.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--primary:focus-visible svg,
.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--primary:focus-visible i {
    color: var(--ac404-primary-hover-icon, #fff);
    fill: var(--ac404-primary-hover-icon, #fff);
}

.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--secondary:hover,
.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--secondary:focus-visible {
    color: var(--ac404-secondary-hover-color, #fff);
    background: var(--ac404-secondary-hover-bg, #1769e0);
    border-color: var(--ac404-secondary-hover-border, #1769e0);
}

.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--secondary:hover svg,
.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--secondary:hover i,
.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--secondary:focus-visible svg,
.elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__button--secondary:focus-visible i {
    color: var(--ac404-secondary-hover-icon, #fff);
    fill: var(--ac404-secondary-hover-icon, #fff);
}

/* --------------------------------------------------------------------------
 * 404 help CTA: make layout controls authoritative and let the action button
 * move independently from the text alignment.
 * -------------------------------------------------------------------------- */
.elementor-widget-aliclick_faq_contact_cta:has(.acw-faq-contact-cta--error-404-help) {
    --ac404-help-min-height: 230px;
    --ac404-help-media-height: 230px;
    --ac404-help-pad-top: 30px;
    --ac404-help-pad-right: 48px;
    --ac404-help-pad-bottom: 30px;
    --ac404-help-pad-left: 48px;
    --ac404-help-text-align: right;
    --ac404-help-actions-justify: flex-start;
    --ac404-help-button-color: #ffffff;
    --ac404-help-button-bg: #1769e0;
    --ac404-help-button-hover-color: #ffffff;
    --ac404-help-button-hover-bg: #0c4fbd;
    --ac404-help-button-radius-tl: 9px;
    --ac404-help-button-radius-tr: 9px;
    --ac404-help-button-radius-br: 9px;
    --ac404-help-button-radius-bl: 9px;
    --ac404-help-button-pad-top: 10px;
    --ac404-help-button-pad-right: 25px;
    --ac404-help-button-pad-bottom: 10px;
    --ac404-help-button-pad-left: 25px;
    --ac404-help-button-gap: 7px;
}

.elementor-widget-aliclick_faq_contact_cta:has(.acw-faq-contact-cta--error-404-help) .acw-faq-contact-cta--error-404-help .acw-faq-contact-cta__inner {
    min-height: var(--ac404-help-min-height, 230px);
}

.elementor-widget-aliclick_faq_contact_cta:has(.acw-faq-contact-cta--error-404-help) .acw-faq-contact-cta--error-404-help .acw-faq-contact-cta__media,
.elementor-widget-aliclick_faq_contact_cta:has(.acw-faq-contact-cta--error-404-help) .acw-faq-contact-cta--error-404-help .acw-faq-contact-cta__image {
    height: var(--ac404-help-media-height, 230px);
    min-height: 0;
}

.elementor-widget-aliclick_faq_contact_cta:has(.acw-faq-contact-cta--error-404-help) .acw-faq-contact-cta--error-404-help .acw-faq-contact-cta__content {
    padding: var(--ac404-help-pad-top, 30px) var(--ac404-help-pad-right, 48px) var(--ac404-help-pad-bottom, 30px) var(--ac404-help-pad-left, 48px);
    text-align: var(--ac404-help-text-align, right);
    align-items: stretch;
}

.elementor-widget-aliclick_faq_contact_cta:has(.acw-faq-contact-cta--error-404-help) .acw-faq-contact-cta--error-404-help .acw-faq-contact-cta__actions {
    display: flex;
    width: 100%;
    justify-content: var(--ac404-help-actions-justify, flex-start);
}

.elementor-widget-aliclick_faq_contact_cta:has(.acw-faq-contact-cta--error-404-help) .acw-faq-contact-cta--error-404-help .acw-faq-contact-cta__button--primary {
    color: var(--ac404-help-button-color, #fff);
    background: var(--ac404-help-button-bg, #1769e0);
    border-radius: var(--ac404-help-button-radius-tl, 9px) var(--ac404-help-button-radius-tr, 9px) var(--ac404-help-button-radius-br, 9px) var(--ac404-help-button-radius-bl, 9px);
    padding: var(--ac404-help-button-pad-top, 10px) var(--ac404-help-button-pad-right, 25px) var(--ac404-help-button-pad-bottom, 10px) var(--ac404-help-button-pad-left, 25px);
    gap: var(--ac404-help-button-gap, 7px);
}

.elementor-widget-aliclick_faq_contact_cta:has(.acw-faq-contact-cta--error-404-help) .acw-faq-contact-cta--error-404-help .acw-faq-contact-cta__button--primary:hover,
.elementor-widget-aliclick_faq_contact_cta:has(.acw-faq-contact-cta--error-404-help) .acw-faq-contact-cta--error-404-help .acw-faq-contact-cta__button--primary:focus-visible {
    color: var(--ac404-help-button-hover-color, #fff);
    background: var(--ac404-help-button-hover-bg, #0c4fbd);
}

.elementor-widget-aliclick_faq_contact_cta:has(.acw-faq-contact-cta--error-404-help) .acw-faq-contact-cta--error-404-help .acw-faq-contact-cta__button-icon svg,
.elementor-widget-aliclick_faq_contact_cta:has(.acw-faq-contact-cta--error-404-help) .acw-faq-contact-cta--error-404-help .acw-faq-contact-cta__button-icon i {
    fill: currentColor;
    color: currentColor;
}

/* --------------------------------------------------------------------------
 * Quick links: compact reference proportions + reliable icon colors.
 * -------------------------------------------------------------------------- */
.elementor-widget-aliclick_quick_links {
    --ac404-quick-items-align: center;
    --ac404-quick-link-justify: center;
    --ac404-quick-icon-color: #1769e0;
    --ac404-quick-icon-bg: #eff6ff;
    --ac404-quick-icon-hover: #ffffff;
    --ac404-quick-icon-hover-bg: #1769e0;
    --ac404-quick-icon-size: 26px;
    --ac404-quick-icon-box: 58px;
    --ac404-quick-icon-radius: 50%;
    --ac404-quick-card-hover-border: #c9dcf7;
}

.elementor-widget-aliclick_quick_links .ac404-quick-links__card {
    align-items: var(--ac404-quick-items-align, center);
}

.elementor-widget-aliclick_quick_links .ac404-quick-links__icon {
    flex-basis: var(--ac404-quick-icon-box, 58px);
    width: var(--ac404-quick-icon-box, 58px);
    height: var(--ac404-quick-icon-box, 58px);
    margin-bottom: 14px;
    border: 1px solid #e2ecf9;
    border-radius: var(--ac404-quick-icon-radius, 50%);
    color: var(--ac404-quick-icon-color, #1769e0);
    background: var(--ac404-quick-icon-bg, #eff6ff);
    transition: color .2s ease, background .2s ease, transform .2s ease;
}

.elementor-widget-aliclick_quick_links .ac404-quick-links__icon svg,
.elementor-widget-aliclick_quick_links .ac404-quick-links__icon i,
.elementor-widget-aliclick_quick_links .ac404-quick-links__icon svg * {
    width: var(--ac404-quick-icon-size, 26px);
    height: var(--ac404-quick-icon-size, 26px);
    font-size: var(--ac404-quick-icon-size, 26px);
    color: inherit;
    fill: currentColor;
}

.elementor-widget-aliclick_quick_links .ac404-quick-links__card:hover {
    border-color: var(--ac404-quick-card-hover-border, #c9dcf7);
}

.elementor-widget-aliclick_quick_links .ac404-quick-links__card:hover .ac404-quick-links__icon {
    color: var(--ac404-quick-icon-hover, #fff);
    background: var(--ac404-quick-icon-hover-bg, #1769e0);
    transform: translateY(-1px);
}

.elementor-widget-aliclick_quick_links .ac404-quick-links__card-title {
    margin-bottom: 7px;
    font-size: 16px;
    line-height: 1.55;
}

.elementor-widget-aliclick_quick_links .ac404-quick-links__description {
    font-size: 13px;
    line-height: 1.75;
}

.elementor-widget-aliclick_quick_links .ac404-quick-links__link {
    align-self: stretch;
    justify-content: var(--ac404-quick-link-justify, center);
    padding-top: 14px;
    font-size: 12.5px;
}

@media (max-width: 1024px) {
    .elementor-widget-aliclick_contact_hero:has(.ac404-hero) {
        --ac404-pad-top: 38px;
        --ac404-pad-right: 28px;
        --ac404-pad-bottom: 34px;
        --ac404-pad-left: 28px;
    }
}

@media (max-width: 767px) {
    .elementor-widget-aliclick_contact_hero:has(.ac404-hero) {
        --ac404-pad-top: 30px;
        --ac404-pad-right: 18px;
        --ac404-pad-bottom: 30px;
        --ac404-pad-left: 18px;
        --ac404-align-items: stretch;
    }

    .elementor-widget-aliclick_contact_hero:has(.ac404-hero) .ac404-hero__actions {
        justify-items: stretch;
    }

    .elementor-widget-aliclick_faq_contact_cta:has(.acw-faq-contact-cta--error-404-help) {
        --ac404-help-pad-top: 24px;
        --ac404-help-pad-right: 18px;
        --ac404-help-pad-bottom: 28px;
        --ac404-help-pad-left: 18px;
    }
}
