/*
 * Digonest Marketplace shared UI polish.
 * Loaded on Digonest storefront templates to keep colors, button contrast,
 * focus states and interactions consistent even when a WordPress theme adds
 * broad anchor/button rules.
 */
:root {
    --digo-ui-primary: #5b2cff;
    --digo-ui-primary-strong: #4321e6;
    --digo-ui-primary-hover: #3716c9;
    --digo-ui-accent: #247bff;
    --digo-ui-ink: #0b1435;
    --digo-ui-muted: #5c6885;
    --digo-ui-border: #dfe4f2;
    --digo-ui-soft: #f6f4ff;
    --digo-ui-white: #fff;
    --digo-ui-focus: rgba(91, 44, 255, .24);
    --digo-ui-primary-gradient: linear-gradient(135deg, #6847ff 0%, #4f2bf0 48%, #276fff 100%);
    --digo-ui-primary-gradient-hover: linear-gradient(135deg, #7558ff 0%, #4320df 48%, #175fe7 100%);
    --digo-ui-primary-shadow: 0 12px 26px rgba(79, 43, 240, .24);
    --digo-ui-primary-shadow-hover: 0 16px 34px rgba(67, 32, 223, .31);
}

/* Theme-resistant interaction baseline. */
.digo-site-header a,
.digo-site-header button,
.digo-home2 a,
.digo-home2 button,
.digo-page-shell a,
.digo-page-shell button,
.digo-cart-page a,
.digo-cart-page button,
.digo-start-project-page a,
.digo-start-project-page button,
.digo-services-page a,
.digo-services-page button,
.digo-websites-page a,
.digo-websites-page button,
.digo-single-plugin-page a,
.digo-single-plugin-page button,
.digo-ws-page a,
.digo-ws-page button,
.digo-solutions-page a,
.digo-solutions-page button,
.digo-help-page a,
.digo-help-page button,
.digo-docs-page a,
.digo-docs-page button,
.digo-single-doc-page a,
.digo-single-doc-page button,
.digo-product-archive a,
.digo-product-archive button,
.digo-single-product a,
.digo-single-product button,
.digo-portfolio-page a,
.digo-portfolio-page button,
.digo-marketplace-page a,
.digo-marketplace-page button,
.digo-home-page a,
.digo-home-page button {
    -webkit-tap-highlight-color: transparent;
}

/* Accessible keyboard focus across all plugin templates. */
.digo-site-header :is(a, button, input):focus-visible,
.digo-home-page :is(a, button, input, select, textarea):focus-visible,
.digo-page-shell :is(a, button, input, select, textarea):focus-visible,
.digo-cart-page :is(a, button, input, select, textarea):focus-visible,
.digo-start-project-page :is(a, button, input, select, textarea):focus-visible,
.digo-services-page :is(a, button, input, select, textarea):focus-visible,
.digo-websites-page :is(a, button, input, select, textarea):focus-visible,
.digo-single-plugin-page :is(a, button, input, select, textarea):focus-visible,
.digo-ws-page :is(a, button, input, select, textarea):focus-visible,
.digo-solutions-page :is(a, button, input, select, textarea):focus-visible,
.digo-help-page :is(a, button, input, select, textarea):focus-visible,
.digo-docs-page :is(a, button, input, select, textarea):focus-visible,
.digo-single-doc-page :is(a, button, input, select, textarea):focus-visible,
.digo-product-archive :is(a, button, input, select, textarea):focus-visible,
.digo-single-product :is(a, button, input, select, textarea):focus-visible,
.digo-portfolio-page :is(a, button, input, select, textarea):focus-visible {
    outline: 3px solid var(--digo-ui-focus) !important;
    outline-offset: 3px !important;
}

/*
 * Primary actions: white text is intentionally locked with !important.
 * This prevents theme-level a/a:visited/button declarations from producing
 * unreadable black text on purple, blue, green or dark CTA backgrounds.
 */
.digo-get-started,
.digo-get-started:visited,
.digo-home-page .btn-primary,
.digo-home-page .btn-primary:visited,
.digo-home2 .dh2-btn-primary,
.digo-home2 .dh2-btn-primary:visited,
.digo-marketplace .digo-primary-btn,
.digo-marketplace .digo-primary-btn:visited,
.digo-marketplace .digo-buy-btn,
.digo-marketplace .digo-buy-btn:visited,
.digo-marketplace .digo-core-box button,
.digo-marketplace .digo-page-btn.active,
.digo-marketplace-page .digo-btn-primary,
.digo-marketplace-page .digo-btn-primary:visited,
.digo-websites-page .digo-web-btn-primary,
.digo-websites-page .digo-web-btn-primary:visited,
.digo-websites-page .digo-web-page-btn.active,
.digo-websites-page .digo-web-view-toggle button.active,
.digo-websites-page .digo-web-mockup-cta,
.digo-product-archive .digo-product-btn.primary,
.digo-product-archive .digo-product-btn.primary:visited,
.digo-single-product .digo-single-btn.primary,
.digo-single-product .digo-single-btn.primary:visited,
.digo-single-plugin-page .btn-buy,
.digo-single-plugin-page .btn-buy:visited,
.digo-single-plugin-page .btn-contact,
.digo-single-plugin-page .btn-contact:visited,
.digo-single-plugin-page .sidebar-buy-btn,
.digo-single-plugin-page .sidebar-buy-btn:visited,
.digo-single-plugin-page .cta-buy-btn,
.digo-single-plugin-page .cta-buy-btn:visited,
.digo-single-plugin-page .mobile-buy,
.digo-single-plugin-page .mobile-buy:visited,
.digo-single-plugin-page .tab-btn.active,
.digo-single-plugin-page .digo-review-submit,
.digo-ws-page .digo-ws-hero-btn-primary,
.digo-ws-page .digo-ws-hero-btn-primary:visited,
.digo-ws-page .digo-ws-hcbtn-p,
.digo-ws-page .digo-ws-hcbtn-p:visited,
.digo-ws-page .digo-ws-btn-p,
.digo-ws-page .digo-ws-btn-p:visited,
.digo-solutions-page .digo-solutions-primary,
.digo-solutions-page .digo-solutions-primary:visited,
.digo-solutions-page .digo-solution-cta,
.digo-solutions-page .digo-solution-cta:visited,
.digo-start-project-page .dsp-btn-primary,
.digo-start-project-page .dsp-btn-primary:visited,
.digo-start-project-page .dsp-submit,
.digo-services-page .digo-btn-primary,
.digo-services-page .digo-btn-primary:visited,
.digo-services-page .digo-cta-btn.primary,
.digo-services-page .digo-cta-btn.primary:visited,
.digo-help-page .digo-submit-btn,
.digo-help-page .digo-still-help-btn:hover,
.digo-docs-page .dcp-btn,
.digo-docs-page .dcp-btn:visited,
.digo-docs-page .ddf-nl-btn,
.digo-cart-page .digo-checkout-btn,
.digo-cart-page .digo-checkout-btn:visited,
.digo-cart-page .digo-newsletter button,
.woocommerce-checkout .digo-coupon-form button,
.woocommerce-checkout .digo-place-order-btn,
.digo-full-ty-wrapper .digo-btn-purple,
.digo-full-ty-wrapper .digo-btn-purple:visited,
.digo-full-ty-wrapper .digo-btn-dark,
.digo-full-ty-wrapper .digo-btn-dark:visited,
.digo-full-ty-wrapper .digo-continue-btn,
.digo-full-ty-wrapper .digo-continue-btn:visited,
.digo-cs-button-whatsapp,
.digo-cs-button-whatsapp:visited {
    color: #fff !important;
    text-shadow: none !important;
}

/* Use the same premium purple-blue treatment on the main marketplace CTAs. */
.digo-get-started,
.digo-home-page .btn-primary,
.digo-home2 .dh2-btn-primary,
.digo-marketplace .digo-primary-btn,
.digo-marketplace .digo-buy-btn,
.digo-marketplace .digo-core-box button,
.digo-marketplace-page .digo-btn-primary,
.digo-product-archive .digo-product-btn.primary,
.digo-single-product .digo-single-btn.primary,
.digo-start-project-page .dsp-btn-primary,
.digo-start-project-page .dsp-submit {
    background: var(--digo-ui-primary-gradient) !important;
    border-color: transparent !important;
    box-shadow: var(--digo-ui-primary-shadow) !important;
}

.digo-get-started:hover,
.digo-home-page .btn-primary:hover,
.digo-home2 .dh2-btn-primary:hover,
.digo-marketplace .digo-primary-btn:hover,
.digo-marketplace .digo-buy-btn:hover,
.digo-marketplace .digo-core-box button:hover,
.digo-marketplace-page .digo-btn-primary:hover,
.digo-product-archive .digo-product-btn.primary:hover,
.digo-single-product .digo-single-btn.primary:hover,
.digo-start-project-page .dsp-btn-primary:hover,
.digo-start-project-page .dsp-submit:hover {
    color: #fff !important;
    background: var(--digo-ui-primary-gradient-hover) !important;
    box-shadow: var(--digo-ui-primary-shadow-hover) !important;
    transform: translateY(-2px);
}

/* Preserve readable text and a polished hover on outlined/light actions. */
.digo-home-page .btn-ghost,
.digo-home-page .btn-ghost:visited,
.digo-home2 .dh2-btn-secondary,
.digo-home2 .dh2-btn-secondary:visited,
.digo-home2 .dh2-btn-outline,
.digo-home2 .dh2-btn-outline:visited,
.digo-marketplace .digo-video-btn,
.digo-marketplace .digo-video-btn:visited,
.digo-marketplace .digo-detail-btn,
.digo-marketplace .digo-detail-btn:visited,
.digo-product-archive .digo-product-btn.secondary,
.digo-product-archive .digo-product-btn.secondary:visited,
.digo-single-product .digo-single-btn.secondary,
.digo-single-product .digo-single-btn.secondary:visited,
.digo-websites-page .digo-web-btn-outline,
.digo-websites-page .digo-web-btn-outline:visited,
.digo-websites-page .digo-web-btn-outline-primary,
.digo-websites-page .digo-web-btn-outline-primary:visited,
.digo-start-project-page .dsp-btn-outline,
.digo-start-project-page .dsp-btn-outline:visited {
    text-shadow: none !important;
}

.digo-home2 .dh2-btn-secondary,
.digo-home2 .dh2-btn-secondary:visited,
.digo-home2 .dh2-btn-outline,
.digo-home2 .dh2-btn-outline:visited,
.digo-marketplace .digo-video-btn,
.digo-marketplace .digo-video-btn:visited,
.digo-marketplace .digo-detail-btn,
.digo-marketplace .digo-detail-btn:visited,
.digo-websites-page .digo-web-btn-outline-primary,
.digo-websites-page .digo-web-btn-outline-primary:visited,
.digo-start-project-page .dsp-btn-outline,
.digo-start-project-page .dsp-btn-outline:visited {
    color: var(--digo-ui-primary) !important;
}

.digo-home2 .dh2-btn-secondary:hover,
.digo-home2 .dh2-btn-outline:hover,
.digo-marketplace .digo-video-btn:hover,
.digo-marketplace .digo-detail-btn:hover,
.digo-websites-page .digo-web-btn-outline-primary:hover,
.digo-start-project-page .dsp-btn-outline:hover {
    color: var(--digo-ui-primary-strong) !important;
    background: var(--digo-ui-soft) !important;
    border-color: rgba(91, 44, 255, .38) !important;
}

/* Active pagination/filter controls always remain readable. */
.digo-blog-pagination span.page-numbers.current,
.digo-product-pagination span.page-numbers.current,
.digo-websites-page .digo-web-page-btn.active,
.digo-marketplace .digo-page-btn.active,
.digo-marketplace .digo-sort-pill.active,
.digo-marketplace .digo-category-control.active {
    color: #fff !important;
    background-color: var(--digo-ui-primary) !important;
    border-color: var(--digo-ui-primary) !important;
}

/* Icons inherit the corrected label color instead of keeping theme colors. */
.digo-get-started svg,
.digo-home-page .btn-primary svg,
.digo-home2 .dh2-btn-primary svg,
.digo-marketplace .digo-primary-btn svg,
.digo-marketplace .digo-buy-btn svg,
.digo-marketplace-page .digo-btn-primary svg,
.digo-websites-page .digo-web-btn-primary svg,
.digo-product-archive .digo-product-btn.primary svg,
.digo-single-product .digo-single-btn.primary svg,
.digo-start-project-page .dsp-btn-primary svg,
.digo-services-page .digo-btn-primary svg,
.digo-services-page .digo-cta-btn.primary svg {
    color: currentColor !important;
    stroke: currentColor;
}

/* Form controls share the same clear focus treatment. */
.digo-home-page :is(input, select, textarea),
.digo-page-shell :is(input, select, textarea),
.digo-cart-page :is(input, select, textarea),
.digo-start-project-page :is(input, select, textarea),
.digo-help-page :is(input, select, textarea),
.woocommerce-checkout :is(input, select, textarea) {
    accent-color: var(--digo-ui-primary);
}

/* Disabled actions should not look active. */
.digo-site-header :is(a, button)[aria-disabled="true"],
.digo-page-shell :is(a, button)[aria-disabled="true"],
.digo-home-page :is(a, button)[aria-disabled="true"],
.digo-cart-page :is(a, button):disabled,
.woocommerce-checkout :is(a, button):disabled {
    opacity: .55 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Slightly stronger body-copy contrast throughout the main storefront. */
.digo-home2 .dh2-section-head p,
.digo-home2 .dh2-product-meta,
.digo-home2 .dh2-product-category,
.digo-marketplace .digo-card-copy,
.digo-websites-page .digo-web-card-desc,
.digo-services-page .digo-section-copy,
.digo-product-archive .digo-product-card p {
    color: var(--digo-ui-muted);
}

@media (prefers-reduced-motion: reduce) {
    .digo-site-header *,
    .digo-home-page *,
    .digo-page-shell *,
    .digo-cart-page *,
    .digo-start-project-page * {
        scroll-behavior: auto !important;
    }
}

/* v1.1.40: final theme-resistant contrast lock.
 * Some themes apply -webkit-text-fill-color or late !important anchor rules.
 * These selectors intentionally repeat the component class and also reset
 * descendants so labels and SVG icons remain readable on colored actions.
 */
a.digo-get-started.digo-get-started,
a.btn-primary.btn-primary,
button.btn-primary.btn-primary,
a.dh2-btn-primary.dh2-btn-primary,
button.dh2-btn-primary.dh2-btn-primary,
a.digo-primary-btn.digo-primary-btn,
button.digo-primary-btn.digo-primary-btn,
a.digo-buy-btn.digo-buy-btn,
button.digo-buy-btn.digo-buy-btn,
a.digo-btn-primary.digo-btn-primary,
button.digo-btn-primary.digo-btn-primary,
a.digo-web-btn-primary.digo-web-btn-primary,
button.digo-web-btn-primary.digo-web-btn-primary,
a.digo-product-btn.primary,
button.digo-product-btn.primary,
a.digo-single-btn.primary,
button.digo-single-btn.primary,
a.btn-buy.btn-buy,
button.btn-buy.btn-buy,
a.btn-contact.btn-contact,
button.btn-contact.btn-contact,
a.sidebar-buy-btn.sidebar-buy-btn,
button.sidebar-buy-btn.sidebar-buy-btn,
a.cta-buy-btn.cta-buy-btn,
button.cta-buy-btn.cta-buy-btn,
a.mobile-buy.mobile-buy,
button.mobile-buy.mobile-buy,
a.digo-ws-hero-btn-primary.digo-ws-hero-btn-primary,
a.digo-ws-hcbtn-p.digo-ws-hcbtn-p,
a.digo-ws-btn-p.digo-ws-btn-p,
a.digo-solutions-primary.digo-solutions-primary,
a.digo-solution-cta.digo-solution-cta,
a.dsp-btn-primary.dsp-btn-primary,
button.dsp-submit.dsp-submit,
a.digo-cta-btn.primary,
button.digo-cta-btn.primary,
button.digo-submit-btn.digo-submit-btn,
a.dcp-btn.dcp-btn,
button.ddf-nl-btn.ddf-nl-btn,
a.digo-checkout-btn.digo-checkout-btn,
button.digo-checkout-btn.digo-checkout-btn,
button.digo-place-order-btn.digo-place-order-btn,
a.digo-btn-purple.digo-btn-purple,
a.digo-btn-dark.digo-btn-dark,
a.digo-continue-btn.digo-continue-btn,
a.digo-cs-button-whatsapp.digo-cs-button-whatsapp {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-decoration-color: currentColor !important;
    text-shadow: none !important;
}

a.digo-get-started.digo-get-started > *,
a.btn-primary.btn-primary > *,
button.btn-primary.btn-primary > *,
a.dh2-btn-primary.dh2-btn-primary > *,
button.dh2-btn-primary.dh2-btn-primary > *,
a.digo-primary-btn.digo-primary-btn > *,
button.digo-primary-btn.digo-primary-btn > *,
a.digo-buy-btn.digo-buy-btn > *,
button.digo-buy-btn.digo-buy-btn > *,
a.digo-btn-primary.digo-btn-primary > *,
button.digo-btn-primary.digo-btn-primary > *,
a.digo-web-btn-primary.digo-web-btn-primary > *,
button.digo-web-btn-primary.digo-web-btn-primary > *,
a.digo-product-btn.primary > *,
button.digo-product-btn.primary > *,
a.digo-single-btn.primary > *,
button.digo-single-btn.primary > *,
a.cta-buy-btn.cta-buy-btn > *,
button.cta-buy-btn.cta-buy-btn > *,
a.mobile-buy.mobile-buy > *,
button.mobile-buy.mobile-buy > *,
a.dsp-btn-primary.dsp-btn-primary > *,
button.dsp-submit.dsp-submit > *,
a.digo-cta-btn.primary > *,
button.digo-cta-btn.primary > * {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

a.digo-get-started.digo-get-started svg,
a.dh2-btn-primary.dh2-btn-primary svg,
a.digo-primary-btn.digo-primary-btn svg,
a.digo-buy-btn.digo-buy-btn svg,
a.digo-btn-primary.digo-btn-primary svg,
a.digo-web-btn-primary.digo-web-btn-primary svg,
a.digo-product-btn.primary svg,
a.digo-single-btn.primary svg,
a.cta-buy-btn.cta-buy-btn svg,
a.mobile-buy.mobile-buy svg,
a.dsp-btn-primary.dsp-btn-primary svg,
a.digo-cta-btn.primary svg {
    color: #fff !important;
    stroke: currentColor !important;
}



/* v1.1.41 — final contrast coverage for every purple/blue action used by the storefront. */
:is(a,button).dh2-btn-primary,
:is(a,button).btn-primary,
:is(a,button).digo-buy-btn,
:is(a,button).digo-primary-btn,
:is(a,button).digo-btn-primary,
:is(a,button).dsp-btn-primary,
:is(a,button).btn-buy,
:is(a,button).sidebar-buy-btn,
:is(a,button).cta-buy-btn,
:is(a,button).mobile-buy,
:is(a,button).digo-ws-btn-p,
:is(a,button).digo-ws-hcbtn-p,
:is(a,button).digo-ws-hero-btn-primary,
:is(a,button).digo-solutions-primary,
:is(a,button).digo-solution-cta,
:is(a,button).digo-cta-btn.primary,
:is(a,button).digo-checkout-btn,
:is(a,button).digo-place-order-btn {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
:is(a,button).dh2-btn-primary :is(span,strong,small,em,i,svg,path),
:is(a,button).btn-primary :is(span,strong,small,em,i,svg,path),
:is(a,button).digo-buy-btn :is(span,strong,small,em,i,svg,path),
:is(a,button).digo-primary-btn :is(span,strong,small,em,i,svg,path),
:is(a,button).digo-btn-primary :is(span,strong,small,em,i,svg,path),
:is(a,button).dsp-btn-primary :is(span,strong,small,em,i,svg,path),
:is(a,button).btn-buy :is(span,strong,small,em,i,svg,path),
:is(a,button).sidebar-buy-btn :is(span,strong,small,em,i,svg,path) {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
    stroke: currentColor !important;
}
.digo-button-cart-icon { width: 18px; height: 18px; flex: 0 0 18px; vertical-align: -4px; }

/* Production mobile safeguards and accessible touch targets. */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

@supports (overflow: clip) {
    html,
    body {
        overflow-x: clip;
    }
}

@media (pointer: coarse) {
    :is(
        .digo-mobile-toggle,
        .digo-get-started,
        .digo-header-search button,
        .dh2-btn,
        .digo-btn,
        .digo-buy-btn,
        .digo-web-btn,
        .digo-product-btn,
        .digo-single-btn,
        .btn-buy,
        .btn-demo,
        .sidebar-buy-btn,
        .cta-buy-btn,
        .mobile-buy,
        .digo-ws-hero-btn,
        .digo-ws-hcbtn,
        .digo-ws-btn,
        .digo-solutions-primary,
        .digo-solution-cta,
        .dsp-btn,
        .dsp-submit,
        .digo-cta-btn,
        .digo-submit-btn,
        .digo-checkout-btn,
        .digo-place-order-btn
    ) {
        min-height: 44px;
    }
}

@media (max-width: 480px) {
    :is(.digo-web-actions, .dh2-product-actions, .digo-single-actions, .digo-ws-btn-row) {
        min-width: 0;
    }

    :is(.digo-web-btn, .dh2-btn, .digo-single-btn, .digo-ws-btn) {
        white-space: normal;
        text-align: center;
    }
}
