/*
 * Premium color layer for Drone FPV Online.
 * Visual-only overrides: no layout, product, checkout, or content behavior changes.
 */
:root {
    --dfpv-ink: #07111f;
    --dfpv-navy: #0a1628;
    --dfpv-navy-soft: #10253c;
    --dfpv-slate: #1f2c3d;
    --dfpv-blue: #0077c8;
    --dfpv-cyan: #32b7ff;
    --dfpv-gold: #d8b56d;
    --dfpv-gold-soft: #f4e6c1;
    --dfpv-mist: #f3f7fa;
    --dfpv-cream: #fbf7ef;
    --dfpv-line: rgba(14, 34, 55, 0.1);
    --dfpv-shadow: 0 20px 50px rgba(7, 17, 31, 0.1);
    --dfpv-shadow-strong: 0 28px 70px rgba(7, 17, 31, 0.18);
}

body {
    background:
        radial-gradient(circle at 10% 0%, rgba(216, 181, 109, 0.14), transparent 28rem),
        linear-gradient(180deg, #ffffff 0%, var(--dfpv-mist) 100%);
    color: var(--dfpv-slate);
}

.site-header,
.ast-primary-header-bar {
    background: rgba(255, 255, 255, 0.94) !important;
    border-bottom: 1px solid rgba(216, 181, 109, 0.34);
    box-shadow: 0 14px 34px rgba(7, 17, 31, 0.06);
}

.main-header-menu .menu-link,
.ast-builder-menu-1 .menu-item > .menu-link {
    color: var(--dfpv-navy) !important;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.main-header-menu .menu-link:hover,
.ast-builder-menu-1 .menu-item:hover > .menu-link {
    color: var(--dfpv-blue) !important;
}

.elementor-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.single_add_to_cart_button {
    background: linear-gradient(135deg, var(--dfpv-blue), var(--dfpv-cyan)) !important;
    border: 0 !important;
    color: #ffffff !important;
    box-shadow: 0 12px 28px rgba(0, 119, 200, 0.24);
    transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
}

.elementor-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.single_add_to_cart_button:hover {
    color: #ffffff !important;
    filter: saturate(1.08);
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(0, 119, 200, 0.32);
}

.elementor-32 .elementor-element.elementor-element-74c721d:not(.elementor-motion-effects-element-type-background),
.elementor-32 .elementor-element.elementor-element-74c721d > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background:
        radial-gradient(circle at 18% 18%, rgba(50, 183, 255, 0.24), transparent 26rem),
        radial-gradient(circle at 82% 12%, rgba(216, 181, 109, 0.22), transparent 24rem),
        linear-gradient(135deg, #06101f 0%, #0b2440 48%, #12385a 100%) !important;
}

.elementor-32 .elementor-element.elementor-element-74c721d {
    position: relative;
    overflow: hidden;
}

.elementor-32 .elementor-element.elementor-element-74c721d::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.08) 38%, transparent 66%),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.045) 0 1px, transparent 1px 78px);
    opacity: 0.7;
    pointer-events: none;
}

.elementor-32 .elementor-element.elementor-element-74c721d > .elementor-container {
    position: relative;
    z-index: 1;
}

.elementor-32 .elementor-element.elementor-element-74c721d > .elementor-shape-bottom .elementor-shape-fill {
    fill: var(--dfpv-cream) !important;
}

.elementor-32 .elementor-element.elementor-element-b51b379 .elementor-heading-title {
    color: #ffffff !important;
    text-shadow: 0 18px 42px rgba(0, 0, 0, 0.36);
}

.elementor-32 .elementor-element.elementor-element-7ffad7b,
.elementor-32 .elementor-element.elementor-element-7ffad7b p {
    color: #c8d8e6 !important;
}

.elementor-32 .elementor-element.elementor-element-4a4cacd:not(.elementor-motion-effects-element-type-background),
.elementor-32 .elementor-element.elementor-element-4a4cacd > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background:
        radial-gradient(circle at 50% 0%, rgba(216, 181, 109, 0.2), transparent 26rem),
        linear-gradient(180deg, var(--dfpv-cream) 0%, #ffffff 100%) !important;
}

.elementor-32 .elementor-element.elementor-element-17cdbaf .elementor-heading-title,
.elementor-32 .elementor-element.elementor-element-04fdbae .elementor-heading-title,
.elementor-32 .elementor-element.elementor-element-13ef68c .elementor-heading-title {
    color: var(--dfpv-navy) !important;
}

.elementor-32 .elementor-element.elementor-element-17cdbaf .elementor-heading-title::after,
.elementor-32 .elementor-element.elementor-element-04fdbae .elementor-heading-title::after,
.elementor-32 .elementor-element.elementor-element-13ef68c .elementor-heading-title::after {
    content: "";
    display: block;
    width: 76px;
    height: 3px;
    margin: 14px auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--dfpv-gold), var(--dfpv-cyan));
}

.elementor-32 .elementor-element.elementor-element-ae56aaa p {
    color: #516071 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
}

.elementor-32 .elementor-element.elementor-element-14d8473:not(.elementor-motion-effects-element-type-background),
.elementor-32 .elementor-element.elementor-element-14d8473 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-32 .elementor-element.elementor-element-e12f9e0:not(.elementor-motion-effects-element-type-background),
.elementor-32 .elementor-element.elementor-element-e12f9e0 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background:
        radial-gradient(circle at 12% 18%, rgba(50, 183, 255, 0.12), transparent 24rem),
        linear-gradient(180deg, #ffffff 0%, var(--dfpv-mist) 100%) !important;
}

.elementor-32 .elementor-element.elementor-element-14d8473 .elementor-column > .elementor-element-populated {
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(216, 181, 109, 0.24);
    border-radius: 22px;
    box-shadow: var(--dfpv-shadow);
    margin: 10px;
    padding: 30px 24px !important;
}

.elementor-32 .elementor-element.elementor-element-14d8473 .elementor-icon {
    color: var(--dfpv-gold) !important;
    fill: var(--dfpv-gold) !important;
    filter: drop-shadow(0 10px 18px rgba(216, 181, 109, 0.24));
}

.elementor-32 .elementor-element.elementor-element-14d8473 .elementor-heading-title {
    color: var(--dfpv-navy) !important;
}

.elementor-32 .elementor-element.elementor-element-14d8473 .elementor-widget-text-editor,
.elementor-32 .elementor-element.elementor-element-05a31b1,
.elementor-32 .elementor-element.elementor-element-9cabd1a {
    color: #5d6b7a !important;
}

.elementor-32 .elementor-element.elementor-element-a8cf999:not(.elementor-motion-effects-element-type-background),
.elementor-32 .elementor-element.elementor-element-a8cf999 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background:
        radial-gradient(circle at 88% 5%, rgba(216, 181, 109, 0.16), transparent 22rem),
        linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%) !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid var(--dfpv-line);
    border-radius: 22px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 14px 34px rgba(7, 17, 31, 0.08);
    overflow: hidden;
    padding: 14px 14px 20px !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
    border-color: rgba(216, 181, 109, 0.52);
    box-shadow: var(--dfpv-shadow-strong);
    transform: translateY(-4px);
}

.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img {
    aspect-ratio: 520 / 335;
    display: block;
    height: 190px !important;
    object-fit: contain;
    object-position: center;
    width: 100% !important;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff, #f0f4f8);
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap {
    background: linear-gradient(180deg, #ffffff 0%, #f3f7fa 100%);
    border-radius: 16px;
    display: flex;
    min-height: 190px;
    overflow: hidden;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a:first-child,
.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap > a:first-child {
    align-items: center;
    display: flex;
    justify-content: center;
    width: 100%;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap,
.woocommerce-page ul.products li.product .astra-shop-summary-wrap {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding-top: 20px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title {
    color: var(--dfpv-navy) !important;
    display: -webkit-box;
    font-weight: 700;
    line-height: 1.35;
    min-height: 3.65em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--dfpv-blue) !important;
    font-weight: 800;
}

.woocommerce ul.products li.product .price {
    margin-top: auto;
    min-height: 1.6em;
}

.woocommerce ul.products li.product .button {
    align-self: flex-start;
    margin-top: 10px !important;
}

.woocommerce ul.products li.product .ast-woo-product-category {
    color: #758396 !important;
    min-height: 1.4em;
}

.elementor-32 .elementor-element.elementor-element-3bbb71e .elementor-button {
    background: rgba(255, 255, 255, 0.88) !important;
    border: 1px solid rgba(0, 119, 200, 0.42) !important;
    color: var(--dfpv-blue) !important;
    box-shadow: 0 12px 26px rgba(0, 119, 200, 0.12);
}

.elementor-32 .elementor-element.elementor-element-3bbb71e .elementor-button:hover {
    background: linear-gradient(135deg, var(--dfpv-blue), var(--dfpv-cyan)) !important;
    color: #ffffff !important;
}

.elementor-32 .elementor-element.elementor-element-6dd8bad:not(.elementor-motion-effects-element-type-background),
.elementor-32 .elementor-element.elementor-element-6dd8bad > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background:
        radial-gradient(circle at 18% 28%, rgba(0, 119, 200, 0.22), transparent 24rem),
        radial-gradient(circle at 78% 14%, rgba(216, 181, 109, 0.18), transparent 26rem),
        linear-gradient(135deg, #06101f 0%, #0a1628 58%, #10253c 100%) !important;
}

.elementor-32 .elementor-element.elementor-element-6dd8bad {
    border-top: 1px solid rgba(216, 181, 109, 0.28);
}

.elementor-32 .elementor-element.elementor-element-d06f5b2 .elementor-heading-title {
    color: var(--dfpv-gold) !important;
}

.elementor-32 .elementor-element.elementor-element-b3dd49e,
.elementor-32 .elementor-element.elementor-element-b3dd49e p,
.elementor-32 .elementor-element.elementor-element-a551ff4 .elementor-icon-list-text {
    color: #c8d8e6 !important;
}

.elementor-32 .elementor-element.elementor-element-b3dd49e strong,
.elementor-32 .elementor-element.elementor-element-a551ff4 .elementor-icon-list-icon i {
    color: var(--dfpv-gold) !important;
}

.elementor-32 .elementor-element.elementor-element-8bdbb6a .elementor-heading-title {
    color: #ffffff !important;
}

.woocommerce-page .site-content,
.single-product .site-content {
    background:
        radial-gradient(circle at 8% 4%, rgba(216, 181, 109, 0.12), transparent 28rem),
        linear-gradient(180deg, #ffffff 0%, var(--dfpv-mist) 100%);
}

.single-product div.product {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--dfpv-line);
    border-radius: 28px;
    box-shadow: var(--dfpv-shadow);
    padding: clamp(18px, 3vw, 36px);
}

.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary {
    background: rgba(255, 255, 255, 0.72);
    border-radius: 22px;
}

.single-product div.product .product_title {
    color: var(--dfpv-navy);
}

.woocommerce-message,
.woocommerce-info {
    border-top-color: var(--dfpv-gold);
    background: #fffaf0;
    color: var(--dfpv-navy);
}

.woocommerce-message::before,
.woocommerce-info::before {
    color: var(--dfpv-gold);
}

@media (max-width: 767px) {
    .elementor-32 .elementor-element.elementor-element-14d8473 .elementor-column > .elementor-element-populated {
        margin: 10px 0;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        border-radius: 18px;
    }
}
