/* Shared banner CTA buttons */

/* Keep every banner CTA on the same walnut surface with white lettering. */
body #main :is(.banner, .dgp-design-ux-hero, .dgp-new-arrivals-hero, .dgp-promotion-hero) :is(.button, a.button, button.button, .elementor-button) {
    background: #c68b59 !important;
    color: #fff !important;
    border: 2px solid #c68b59 !important;
    box-shadow: 0 4px 15px rgba(114, 80, 29, 0.28) !important;
    transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease !important;
    text-shadow: none !important;
    -webkit-text-fill-color: #fff !important;
    transform: translateY(0) scale(1) !important;
}

body #main :is(.banner, .dgp-design-ux-hero, .dgp-new-arrivals-hero, .dgp-promotion-hero) :is(.button, a.button, button.button, .elementor-button):hover,
body #main :is(.banner, .dgp-design-ux-hero, .dgp-new-arrivals-hero, .dgp-promotion-hero) :is(.button, a.button, button.button, .elementor-button):focus-visible {
    transform: translateY(-5px) scale(1.05) !important;
    box-shadow: 0 10px 25px rgba(114, 80, 29, 0.34) !important;
    background: #d9a77a !important;
    border-color: #d9a77a !important;
    color: #fff !important;
    filter: none !important;
    text-shadow: none !important;
    -webkit-text-fill-color: #fff !important;
}

/* Explicit selectors keep the rule reliable on older CSS selector engines. */
body #main .banner .button,
body #main .banner a.button,
body #main .banner button.button,
body #main .banner .elementor-button,
body #main .dgp-design-ux-hero .button,
body #main .dgp-new-arrivals-hero .button,
body #main .dgp-promotion-hero .button {
    background-color: #c68b59 !important;
    background-image: none !important;
    border-color: #c68b59 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* Match the homepage banner's existing primary/outline specificity. */
body.home #main .dgp-home-slider .dgp-banner-main .button,
body.home #main .dgp-home-slider .dgp-banner-main .button.primary,
body.home #main .dgp-home-slider .dgp-banner-main .button.is-outline,
body #main .banner .button.primary,
body #main .banner .button.is-outline {
    background: #c68b59 !important;
    background-image: none !important;
    border-color: #c68b59 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

body #main .banner .button:hover,
body #main .banner a.button:hover,
body #main .banner button.button:hover,
body #main .banner .elementor-button:hover,
body #main .dgp-design-ux-hero .button:hover,
body #main .dgp-new-arrivals-hero .button:hover,
body #main .dgp-promotion-hero .button:hover {
    background-color: #d9a77a !important;
    border-color: #d9a77a !important;
    color: #c68b59 !important;
    -webkit-text-fill-color: #c68b59 !important;
}

body.home #main .dgp-home-slider .dgp-banner-main .button:hover,
body.home #main .dgp-home-slider .dgp-banner-main .button.primary:hover,
body.home #main .dgp-home-slider .dgp-banner-main .button.is-outline:hover,
body #main .banner .button.primary:hover,
body #main .banner .button.is-outline:hover {
    background: #d9a77a !important;
    background-image: none !important;
    border-color: #d9a77a !important;
    color: #c68b59 !important;
    -webkit-text-fill-color: #c68b59 !important;
}

/* Banner CTAs: translucent brand blue by default, crisp white on interaction. */
body #main :is(.banner, .dgp-home-slider, .dgp-design-ux-hero, .dgp-new-arrivals-hero, .dgp-promotion-hero) :is(.button, a.button, button.button, .elementor-button) {
    background: rgba(41, 57, 146, 0.72) !important;
    background-image: none !important;
    border: 2px solid rgba(255, 255, 255, 0.92) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 5px 18px rgba(8, 20, 82, 0.28) !important;
    text-shadow: none !important;
    transform: translateY(0) !important;
}

body #main :is(.banner, .dgp-home-slider, .dgp-design-ux-hero, .dgp-new-arrivals-hero, .dgp-promotion-hero) :is(.button, a.button, button.button, .elementor-button):is(:hover, :focus-visible) {
    background: #fff !important;
    background-image: none !important;
    border-color: #fff !important;
    color: #293992 !important;
    -webkit-text-fill-color: #293992 !important;
    box-shadow: 0 8px 22px rgba(8, 20, 82, 0.36) !important;
    transform: translateY(-2px) !important;
}

/* The home slider's legacy rules are highly specific, so override them directly. */
body.home #main .dgp-home-slider .dgp-home-banner .dgp-banner-main .button {
    background: rgba(41, 57, 146, 0.72) !important;
    background-image: none !important;
    border: 2px solid rgba(255, 255, 255, 0.92) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 5px 18px rgba(8, 20, 82, 0.28) !important;
}

body.home #main .dgp-home-slider .dgp-home-banner .dgp-banner-main .button:is(:hover, :focus-visible) {
    background: #fff !important;
    border-color: #fff !important;
    color: #293992 !important;
    -webkit-text-fill-color: #293992 !important;
    box-shadow: 0 8px 22px rgba(8, 20, 82, 0.36) !important;
    transform: translateY(-2px) !important;
}
