/*
 Theme Name:   Crest Child
 Theme URI:    https://wdtcrest.wpengine.com/
 Description:  Crest Child Theme
 Author:       the WeDesignTech team
 Author URI:   https://wedesignthemes.com/
 Template:     crest
 Text Domain:  crest-child
 Version:      1.0.0
 Tested up to: 6.8
 Requires PHP: 7.4
 Tags:  E-Commerce, Blog, portfolio
 License: GNU General Public License v2 or later
 License URI: https://www.gnu.org/licenses/gpl-2.0.html
 This theme, like WordPress, is licensed under the GPL.
 Use it to make something cool, have fun, and share what you've learned with others.
 Copyright (C) 2025 venusweb. All rights reserved.
*/


* {
    font-family: "Plus Jakarta Sans", Sans-serif !important;
}

#faq_home {
    padding: 0;
}

.wdt-button-holder.wdt-button-style-underline:before,
.wdt-button-holder.wdt-button-style-overline:before {
    background: none !important;
}

#header-wrapper {
    margin: 0px !important;
}

#footer .wdt-header-menu .wdt-primary-nav > li > a {
    margin: 11px 0px !important;
    height: 15px;
}

.wdt-listings-contactform{
    box-shadow: none !important;
}

.dcg-variation-wrap input {
    height: 40px !important;
    min-height: 40px !important;
    padding: 10px;
}

a.ti-header.ti-header-grid.source-Google {
    padding: 0 !important;
}


/* Menu CSS starts*/

.dcg-top-nav-wrapper {
    padding: 16px;
    border: 1px solid #A5BBD7;
    border-radius: 20px;
    width: 93%;
    margin: 0 auto;
    top: -18px;
    position: relative;
}

.dcg-top-nav {
    display: flex;
    align-items: center;
    padding: 14px 16px;
    position: relative;
    z-index: 10;
}

.dcg-nav-item {
    padding: 0 35px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    cursor: pointer;
    white-space: nowrap;
    position: relative;
}

.dcg-title {
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    /* 24px */
    letter-spacing: -0.32px;
}

.dcg-subtitle {
    font-size: 12px;
}

.dcg-has-dropdown .dcg-title::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 4px 0px 9px 6px;
    border-right: 1.5px solid var(--wdt-elementor-color-secondary, #4FBF9F);
    border-bottom: 1.5px solid var(--wdt-elementor-color-secondary, #4FBF9F);
    transform: rotate(45deg);
    vertical-align: middle;
}

.dcg-nav-divider {
    width: 1px;
    height: 36px;
}

.ti-widget.ti-goog.ti-disable-animation .ti-widget-container{
    margin: 0 !important;
}

.wdt-header-menu ul li ul.children > li > a, .wdt-header-menu ul li ul.sub-menu > li > a, .wdt-header-menu ul li.has-mega-menu ul.menu > li > a {
    padding: 10px;
}

a:hover{
    color: var(--wdt-elementor-color-text, #101826) !important;
}

.year-block{
    margin-bottom: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
}

.year-block label{
    display:block;
    padding: 10px;
    background: #f8f8f8;
    cursor: pointer; margin:0;
}

.year-details {
    display:none;
    padding: 15px;
    border-top: 1px solid #ddd;
}

.dcg-multi-year-container {
    margin-bottom:20px;
    border-top: 1px solid #eee;
    padding-top: 15px;
}

/* Sub Menu */
.dcg-sub-menu {
    background: var(--wdt-elementor-color-secondary, #4FBF9F);
    position: absolute;
    top: 30px;
    left: 0;
    min-width: 220px;
    border-radius: 6px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    padding: 8px 0;
    list-style: none;
    margin: 10px 0 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: all 0.2s ease;
    z-index: 99;
    display: none;
}

.dcg-sub-menu li a {
    display: block;
    padding: 10px 16px;
    font-size: 13px;
    text-decoration: none;
}


.dcg-nav-item.dcg-has-dropdown:hover .dcg-sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    display: block;
}

.single_add_to_cart_button , .quantity-with-plusminus{
    display: none !important;
}


/* CTA */
.dcg-nav-cta {
    padding-left: 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.dcg-cta-title {
    font-size: 13px;
    font-weight: 600;
}

.dcg-cta-form {
    display: flex;
    gap: 8px;
}

.dcg-cta-form input {
    height: 34px;
    border-radius: 4px;
    border: 1px solid var(--wdt-elementor-color-primary, #3E7C85);
    font-size: 13px;
}

.dcg-cta-form button {
    height: 45px;
    padding: 9px;
    font-size: 13px;
    cursor: pointer;
    width: 225px;
    margin: 0;
    font-weight: 700;
    font-style: normal;
    line-height: 24px;
    letter-spacing: 0.5px;
}

.dcg-has-dropdown .dcg-title::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 6px;
    border-right: 1.5px solid var(--wdt-elementor-color-secondary, #4FBF9F);
    border-bottom: 1.5px solid var(--wdt-elementor-color-secondary, #4FBF9F);
    transform: rotate(45deg);
    transition: transform 0.25s ease;
}

/* Rotate arrow when open */
.dcg-has-dropdown.is-open .dcg-title::after {
    transform: rotate(-135deg);
}


/* Container for the loader to ensure it spans the whole grid width */
.dcg-loader {
    grid-column: 1 / -1;
    /* Spans across all 4 columns */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    /* Gives enough space so it feels centered */
    width: 100%;
    margin: 40px 0;
}

/* The Spinner Circle */
.dcg-loader::before {
    content: "";
    width: 60px;
    height: 60px;
    border: 5px solid rgba(0, 0, 0, 0.1);
    border-top: 5px solid #5d7285;
    border-radius: 50%;
    animation: dcg-spin 0.8s linear infinite;
    margin-bottom: 20px;
}

.dcg-loader::after {
    content: "Loading...";
    font-weight: 600;
    font-size: 18px;
    letter-spacing: 1px;
}

/* Spinner Rotation */
@keyframes dcg-spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Smooth transition when products appear */
.dcg-product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0;
    transition: opacity 0.3s ease;
    min-height: 400px;
}

ul.dcg-product-grid > li:last-child, ol > li:last-child{
    padding: 25px;
}

.dcg-inline-error {
    color: #b81c23;
    font-size: 14px;
    margin-top: 6px;
    display: none;
}


/* Tabs */
/* --- Tabs --- */
.dcg-tabs-container {
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 30px;
    text-align: center;
    overflow: hidden;
}

.dcg-tabs {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline-flex;
    gap: 40px;
}

.dcg-tab-item {
    padding: 15px 5px;
    cursor: pointer;
    position: relative;
    transition: color 0.3s;
    font-size: 17px;
    font-style: normal;
    font-weight: 600;
    line-height: 33px;
    letter-spacing: -0.44px;
}


.dcg-tab-item.active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 3px;
    border-bottom: 4px solid var(--wdt-elementor-color-primary, #3E7C85);
}

/* --- Product Card --- */
.dcg-product-card {
    padding: 25px;
    background: var(--wdtBodyBGColor, #EFF2F7);
    border-radius: 8px;
    position: relative;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s;
}

.dcg-product-card:hover {
    transform: translateY(-5px);
}

/* Card Header: Title + Stars */
.dcg-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    min-height: 60px;
}

.dcg-product-title {
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 40px;
    letter-spacing: 0.5px;
}

.dcg-mini-title {
    font-weight: 700;
    margin: 0;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    /* 30px */
    letter-spacing: -0.6px;
}

.dcg-star-rating {
    font-size: 14px;
}

/* Card Image */
.dcg-card-image {
    /* Placeholder bg */
    border-radius: 8px;
    height: 65px;
    width: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

.dcg-card-image img {
    max-height: 100%;
    width: auto;
    object-fit: contain;
}

/* Card Content */

.dcg-product-desc {
    line-height: 1.5;
    margin-bottom: 20px;
    flex-grow: 1;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    /* 150% */
    letter-spacing: 0.5px;
}

/* Card Footer: Price + Button */
.dcg-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
}

.dcg-price {
    font-size: 14px;
    font-weight: 700;
}

.elementor-4577 .elementor-element.elementor-element-3d18ff69 .wdt-button-holder .wdt-button {
    padding: 14px !important;
}

.dcg-add-btn {
    border: 1px solid #ddd;
    padding: 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s;
}


/* Load More */
.dcg-pagination-container {
    text-align: center;
    margin-top: 40px;
}

/* Search form CSS starts*/
.dcg-search-form {
    position: relative;
    max-width: 320px;
}

.dcg-search-wrapper {
    position: relative;
}

.dcg-search-form input {
    width: 100%;
    border: 1px solid var(--wdt-elementor-color-primary, #3E7C85);
    border-radius: 24px;
    font-size: 14px;
    height: 20px;
}


.dcg-search-btn {
    position: absolute;
    right: 13px;
    border: none;
    top: 13px;
    transform: translateY(-50%);
    border: none;
    padding: 0;
    cursor: pointer;
    font-size: 15px;
    color: var(--wdt-elementor-color-primary, #3E7C85) !important;
    background: transparent !important;
}


/* Search form CSS ends*/
/* Elementor click safety */
.dcg-load-more a,
.dcg-load-more a * {
    pointer-events: auto !important;
}

.type-product .quantity-with-plusminus,
.type-product .single_add_to_cart_button {
    display: none !important;
}

.button-variable-items-wrapper li {
    width: 100% !important;
    padding: 19px !important;
    font-size: 14px !important;
}

.woocommerce div.product .summary form.cart .single_variation_wrap .woocommerce-variation-add-to-cart {
    display: block !important;
}
.wdt-button{
    font-size: 18px;
    font-weight: 700;
    font-style: normal;
    line-height: 16px;
    letter-spacing: 0.5px;
    padding: 12px;
    color: var(--wdtAccentTxtColor) !important;
    border-style: none;
}

.wdt-button-holder,
.wdt-button-holder a {
    display: block !important;
}

.woocommerce div.product .summary form.cart .variations .woo-variation-items-wrapper {
    display: block !important;
}

/* Stats CSS starts*/
.dcg-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    margin: 0 auto;
}

.dcg-stat-card {
    text-align: center;
}

.dcg-stat-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 22px;
    border-radius: 18px;
    margin-bottom: 18px;
    min-width: 110px;
    transition: transform 0.3s ease;
    font-size: 60px;
    font-style: normal;
    font-weight: 700;
    line-height: 76px;
    letter-spacing: 0.5px;
}

.dcg-stat-badge.is-animated {
    transform: scale(1.05);
}

.dcg-stat-title {
    margin-bottom: 8px;
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
    /* 36px */
    letter-spacing: -0.48px;
}

.dcg-stat-text {
    max-width: 260px;
    margin: 0 auto;
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 24.5px;
    letter-spacing: -0.28px;
}

/* Stats CSS ends*/

/* Contact CSS starts*/

#dcg-support-section h3 {
    margin: 0;
}

#dcg-support-section .elementor-shape-circle {
    padding: 0px 20px 20px 20px !important;
}


/*===============================
   Responsive CSS starts
   =============================== */

@media (max-width: 1024px) {

    .dcg-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px;
    }

    .dcg-stat-badge {
        font-size: 48px;
        line-height: 60px;
        padding: 12px 20px;
        min-width: 96px;
    }

    .dcg-stat-title {
        font-size: 20px;
        line-height: 140%;
        letter-spacing: -0.4px;
    }

    .dcg-stat-text {
        font-size: 13px;
        line-height: 22px;
    }

    .dcg-product-grid {
        grid-template-columns: repeat(4, 1fr);
    }


    /* Product grid & tabs */
    .dcg-tabs {
        display: grid;
        gap: 24px;
        justify-content: center;
    }

    .dcg-tab-item {
        font-size: 18px;
        line-height: 26px;
        padding: 12px 4px;
    }

    /* Navigation */
    .dcg-top-nav {
        flex-wrap: wrap;
        gap: 12px;
    }

    .dcg-nav-divider {
        display: none;
    }

    .dcg-nav-item {
        width: calc(50% - 6px);
        padding: 10px 14px;
        border-radius: 10px;
        border: 1px solid #e5e7eb;
    }

    .dcg-subtitle {
        display: none;
    }

    /* Accordion submenu */
    .dcg-sub-menu {
        position: relative;
        margin-top: 10px;
        padding: 0;
        border-radius: 8px;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    } 

    .dcg-nav-item.is-open .dcg-sub-menu {
        max-height: 500px;
        padding: 8px 0;
    }

    .dcg-sub-menu li a {
        padding: 10px 14px;
        font-size: 13px;
    }

    /* CTA */
    .dcg-nav-cta {
        width: 100%;
        padding: 14px;
        border-radius: 10px;
        border: 1px solid #e5e7eb;
    }

    .dcg-cta-form {
        flex-direction: column;
    }

    .dcg-cta-form input,
    .dcg-cta-form button {
        width: 100%;
    }
}


@media (max-width: 768px) {

    .dcg-search-toggle {
        display: inline-flex;
        border: none;
        font-size: 20px;
        cursor: pointer;
    }

    .dcg-search-wrapper.active .dcg-search-form {
        display: block;
    }

    .dcg-tabs-container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .dcg-tabs,
    .dcg-product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        padding: 0 12px;
        display: grid;
    }

    .dcg-tab-item {
        font-size: 16px;
        line-height: 22px;
        padding: 10px 0;
    }

    .dcg-tab-item.active::after {
        height: 2px;
    }

    /* Hide scrollbar */
    .dcg-tabs-container::-webkit-scrollbar {
        display: none;
    }
}


@media (max-width: 600px) {

    .dcg-nav-item {
        width: 100%;
    }


    .dcg-tabs,
    .dcg-product-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        display: grid;
        padding: 0 12px;
    }

    .dcg-stats {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .dcg-stat-badge {
        font-size: 36px;
        line-height: 46px;
        padding: 10px 18px;
        min-width: 84px;
        border-radius: 14px;
        margin-bottom: 14px;
    }

    .dcg-stat-title {
        font-size: 18px;
        line-height: 135%;
        margin-bottom: 6px;
    }

    .dcg-stat-text {
        font-size: 13px;
        line-height: 21px;
        max-width: 100%;
    }
}


/*===============================
   Responsive CSS ends
=============================== */
