/**
 * Theme Name: Dadov Theme
 * Template: goya
 * Version: 1.0.9.4
 */


/* =============================================================================
   PRODUCT CARDS
   ============================================================================= */

.products .product {
    margin-bottom: 0;
    padding: 0;
}

.products .product-inner {
    border: 1px solid #D9D9D9;
    padding: 0;
    background-color: #fff;
    box-sizing: border-box;
    margin-bottom: -1px;
    margin-right: -1px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.products .product .product_thumbnail {
    min-height: 16em;
    width: 100%;
    margin: 0;
}

.products .product .product_thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.products .product .product_thumbnail.et-image-hover {
    margin-top: 0;
}

.products .product .caption {
    padding: 12px 10px 14px;
    text-align: center;
}

.et-listing-style3 .actions-wrapper {
    top: 2%;
    right: 2%;
}

/* Fix first/last card clipping from Bootstrap .row negative margins */
.sec_row .products.row {
    margin-left: 0;
    margin-right: 0;
}

.sec_row .products.row .product {
    padding-left: 0;
    padding-right: 0;
}

.sec_row .vc_column-inner {
    overflow: visible;
    padding-left: 15px;
    padding-right: 15px;
}

/* 2 cards per row at ≤992px, 1 card per row at ≤575px */
@media (max-width: 992px) {
    .et-main-products .product.col-lg-3 {
        width: 50% !important;
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}

@media (max-width: 575px) {
    .products .product .product_thumbnail {
        min-height: 12em;
    }

    .products:not(.shop_display_list) .product.col-6:nth-child(odd) {
        padding-right: 0;
    }

    .products:not(.shop_display_list) .product.col-6:nth-child(even) {
        padding-left: 0;
    }

    .row {
        margin-right: -18px;
        margin-left: -18px;
    }

    .et-main-products .product.col-lg-3 {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}


/* =============================================================================
   PRODUCT TITLES & CAPTIONS
   ============================================================================= */

.title-main {
    font-size: 1.25em;
    font-weight: bold;
}

.title-sub {
    font-size: 1em;
    font-weight: normal;
    text-transform: uppercase;
    padding-top: 5px;
    color: #888;
}

.product-title h1,
.product-title h2 {
    text-align: center !important;
}

.product-title h2 a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

h1.product_title {
    display: flex;
    flex-direction: column;
}

h1.product_title .title-sub {
    font-size: 0.5em;
    font-weight: normal;
    text-transform: uppercase;
    color: #888;
    padding-top: 5px;
}

@media (max-width: 767px) {
    .caption .title-main                       { font-size: 16px; }
    .caption .title-sub                        { font-size: 12px; }
    .caption .woocommerce-Price-amount         { font-size: 12px; }
    .caption .product-excerpt p                { font-size: 12px; }
    .caption .button.add_to_cart_button .text  { font-size: 12px; }
    .title-sub                                 { font-size: .5em; }
}


/* =============================================================================
   PRICING
   ============================================================================= */

.product_after_shop_loop_price,
.related.products .product_after_shop_loop_price,
.related.products .price,
.related.products .woocommerce-Price-amount {
    text-align: center !important;
    display: block !important;
    width: 100% !important;
}

.product_after_shop_loop_price {
    font-size: 0.9em;
    margin-top: -6px;
}

.et-pro-summary-top {
    text-align: center !important;
}

.et-pro-summary-top .price,
.et-pro-summary-top p.price {
    display: block !important;
    text-align: center !important;
    width: 100% !important;
    font-size: 0.9em;
}

.et-pro-summary-top p.price .woocommerce-Price-amount {
    display: block !important;
    text-align: center !important;
}

.et-pro-summary-top .woocommerce-product-details__short-description {
    text-align: center !important;
}

.related h2,
.up-sells h2,
.cross-sells h2 {
    display: block;
}


/* =============================================================================
   SHOP PAGE
   ============================================================================= */

.et-shop-title {
    text-transform: uppercase;
}

@media (min-width: 576px) {
    .woocommerce .shop-full-width .shop_bar .container,
    .woocommerce .shop-full-width .shop-products.container {
        padding-left: 14px;
        padding-right: 14px;
    }
}

@media (min-width: 992px) {
    .woocommerce-products-header .col-lg-8 {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }
}


/* =============================================================================
   CATEGORY GRID
   ============================================================================= */

.products .product.product-category a {
    position: relative;
    padding: 0;
    height: auto;
    width: auto !important;
    background: none !important;
    display: block;
}

.products .product.product-category .et-category-inner {
    padding: 0;
    height: auto;
    background: none;
}

.products .product.product-category .category-caption {
    position: relative;
    padding: 1em 0 0;
    color: inherit;
}

.products .product.product-category .category-caption:before {
    content: none;
}

.products .product.product-category .category-caption h2 {
    color: inherit;
    font-size: inherit;
    text-align: center;
}

/* Hide product count in category titles */
.products .product.product-category .category-caption h2 .count {
    display: none;
}

/* Force 3 columns */
.products.columns-3 .product-category {
    width: 33.33% !important;
    float: left !important;
}

/* Images at 65% width, centred */
.products .product.product-category img {
    width: 65% !important;
    display: block;
    margin: 0 auto;
}

/* Mobile — tighter, smaller images */
@media (max-width: 767px) {
    ul.products.columns-3 {
        gap: 0 !important;
        column-gap: 0 !important;
    }

    .products .product.product-category {
        width: 33.33% !important;
        float: left !important;
        padding: 0 4px !important;
        margin-bottom: 8px !important;
    }

    .products .product.product-category .et-category-inner {
        padding: 0 4px !important;
    }

    .products .product.product-category img {
        width: 45% !important;
    }

    .products .product.product-category .category-caption h2 {
        font-size: 11px !important;
    }

    .woocommerce.columns-3 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .woocommerce.columns-3 ul.products.et-main-products {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        gap: 0 !important;
        margin: 0 auto !important;
        width: auto !important;
        padding: 0 0 30px !important;
    }

    .woocommerce.columns-3 ul.products.et-main-products .product-category {
        width: auto !important;
        flex: 0 0 30% !important;
        max-width: 20% !important;
        float: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .woocommerce.columns-3 ul.products.et-main-products .product-category img {
        width: 100% !important;
    }
}


/* =============================================================================
   SHOP CATEGORY NAVIGATION — HORIZONTAL SCROLL
   ============================================================================= */

.shop_categories_list {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    list-style: none;
    padding: 0 0 15px;
    margin: 0 0 30px;
    gap: 10px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.shop_categories_list::-webkit-scrollbar {
    display: none;
}

.shop_categories_list li {
    flex: 0 0 auto;
    scroll-snap-align: start;
    min-width: 120px;
}

/* Right-fade scroll indicator */
.hero-header .page-description {
    position: relative;
}

.shop_categories_list::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: calc(100% - 15px);
    background: linear-gradient(to left, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
    pointer-events: none;
    z-index: 1;
}

@media (max-width: 767px) {
    .shop_categories_list li          { min-width: 100px; }
    .shop_categories_list::after      { width: 30px; }
}

@media (max-width: 480px) {
    .shop_categories_list li  { min-width: 120px; }
    .shop_categories_list     { gap: 12px; }
}


/* =============================================================================
   MOBILE MENU — HEADER / LOGO
   ============================================================================= */

#mobile-menu header .panel-header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
}

.mobile-menu-logo {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

.mobile-menu-logo img {
    max-height: 22px !important;
    width: auto !important;
}

#mobile-menu header .et-close {
    position: absolute !important;
    right: 0 !important;
}


/* =============================================================================
   MOBILE MENU — NAV LINKS
   ============================================================================= */

#mobile-menu .sliding-menu-panel a,
#mobile-menu #mobile-menu-container {
    text-align: center !important;
    font-weight: 600;
}

#mobile-menu .sliding-menu-panel li {
    border-bottom: 1px solid #e8e8e8 !important;
    padding: 10px 0;
}

#mobile-menu .sliding-menu-panel li:first-child {
    border-top: 1px solid #e8e8e8 !important;
}


/* =============================================================================
   MOBILE MENU — SEARCH
   ============================================================================= */

#mobile-menu .mobile-search,
#mobile-menu .mobile-search .goya-search,
#mobile-menu .mobile-search form,
#mobile-menu .mobile-search fieldset {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
}

#mobile-menu .mobile-search .search-button-group {
    width: 100% !important;
    justify-content: center !important;
}

#mobile-menu .mobile-search .search-field {
    text-align: center !important;
    width: 100% !important;
}

#mobile-menu .mobile-search .search-field::placeholder {
    text-align: center !important;
    text-transform: uppercase;
}

.search-panel .search-button-group {
    border-bottom: none;
    margin: 0 auto;
}

.side-panel-mobile .search-panel .search-field,
.side-panel-mobile .search-panel .yith-s {
    font-size: 14px;
}

.goya-search .woocommerce-product-search .search-field {
    margin-left: 15px;
}

@media (min-width: 992px) {
    .search-panel .search-field,
    .search-panel .yith-s {
        font-size: 1em;
    }
}


/* =============================================================================
   MOBILE MENU — MY ACCOUNT SECTION
   ============================================================================= */

#mobile-menu .bottom-extras .account-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

#mobile-menu .bottom-extras .account-menu .account-title {
    text-align: center;
    width: 100%;
}

#mobile-menu .bottom-extras .account-menu ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}

#mobile-menu .bottom-extras .account-menu ul li {
    width: 200px;
}

#mobile-menu .bottom-extras .account-menu ul li a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px;
    text-align: left !important;
    width: 100%;
}


/* =============================================================================
   MOBILE MENU — CART & WISHLIST ROWS
   ============================================================================= */

#mobile-menu .bottom-extras .et-menu-account-btn,
#mobile-menu .bottom-extras .quick_cart,
#mobile-menu .bottom-extras .quick_wishlist {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 200px;
    margin: 0 auto !important;
}


/* =============================================================================
   MOBILE MENU — SOCIAL ICONS
   ============================================================================= */

#mobile-menu .bottom-extras .mobile-social-icons {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0;
}


/* =============================================================================
   FOOTER WIDGETS
   ============================================================================= */

.footer-widgets .widget {
    text-align: center !important;
}

.footer-widgets .widgettitle,
.footer-widgets .menu,
.footer-widgets .menu li,
.footer-widgets .menu li a,
.footer-widgets .social_widget,
.footer-widgets .social-icons {
    text-align: center !important;
    list-style: none !important;
    padding-left: 0 !important;
}


/* =============================================================================
   FOOTER BAR
   ============================================================================= */

#footer-bar .container {
    display: flex;
    align-items: center;
}

.footer-items.footer-left,
.footer-items.footer-center,
.footer-items.footer-right {
    flex: 0 0 33.333%;
    max-width: 33.333%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Hide copyright — only language selector in footer-right */
.footer-items.footer-right .footer-bar-content.copyright {
    display: none;
}

@media (max-width: 767px) {
    #footer-bar .container {
        flex-direction: column;
        gap: 16px;
    }

    .footer-items.footer-left,
    .footer-items.footer-center,
    .footer-items.footer-right {
        flex: unset;
        max-width: 100%;
        width: 100%;
    }
}

@media (min-width: 992px) {
    .footer-bar .footer-center {
        margin: 0;
    }
}


/* =============================================================================
   SINGLE PRODUCT PAGE
   ============================================================================= */

.woocommerce-product-details__short-description ~ .yith-add-to-wishlist-button-block,
.yith-add-to-wishlist-button-block--single {
    display: none !important;
}

.single-product .cart .quantity {
    display: none !important;
}

.woocommerce-product-gallery .flex-control-thumbs {
    display: none !important;
}

.et-product-detail.et-product-gallery-column .woo-variation-gallery-wrapper .slick-slide,
.et-product-detail.et-product-gallery-column .rtwpvg-slider-wrapper .swiper-slide,
.et-product-detail.et-product-gallery-column .woocommerce-product-gallery__image {
    padding-top: 0;
}


/* =============================================================================
   COLOUR SWATCHES (related products)
   ============================================================================= */

.dadov-related-swatches {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
    align-items: center;
    justify-content: center;
}

.dadov-swatch img {
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: 0;
    border: 1px solid #ddd;
    transition: border-color 0.2s;
}

.dadov-swatch:hover img,
.dadov-swatch--active img {
    border-color: #ddd;
    border-width: 1px;
}


/* =============================================================================
   CART
   ============================================================================= */

.cart-panel-summary .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout) {
    display: none !important;
}


#side-cart.top .et-close {
    background: rgba(0,0,0,0.05);
}

/* 1. Ensure the parent container of your cart icon is relative */
/* (You may need to inspect your theme to adjust this selector name if needed) */
.header-cart-icon-container { 
    position: relative;
    display: inline-block;
}

/* 2. Your updated cart counter */
.minicart-counter {
    /* --- ADD THESE POSITIONING LINES --- */
    position: absolute;
    top: 8px;               /* Pulls it up over the top edge */
    right: 14px;             /* Pulls it out over the right edge */
    margin-left: 0;          /* Remove the old left margin since it's absolute now */
    
}

.minicart-counter.do-animation {
    animation: .48s zoomIn;	
}

.minicart-counter.et-count-zero {
    display: none;
}

.side-panel .side-panel-title .minicart-counter {
    /* If this is a slide-out sidebar title, we keep it normal text style */
    position: static;        /* Resets the absolute position back to normal inline text */
    margin-top: -5px;
    background: transparent;
    color: inherit;
    font-size: 0.8em;
}


/* =============================================================================
   SHOWROOM BUTTON
   ============================================================================= */

.reserve-showroom-btn {
    display: block;
    margin-top: 10px;
    text-align: center;
    background: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-size: 12px;
}

.reserve-showroom-btn:hover {
    background: #000 !important;
    color: #fff !important;
}


/* =============================================================================
   MINICART COUNTER
   ============================================================================= */

.vc_progress_bar.vc_progress-bar-color-bar_orange .vc_single_bar span.vc_bar,
span.minicart-counter,
.filter-trigger .et-active-filters-count,
.et-active-filters-count,
div.argmc-wrapper .argmc-tab-item.current .argmc-tab-number,
div.argmc-wrapper .argmc-tab-item.visited:hover .argmc-tab-number,
div.argmc-wrapper .argmc-tab-item.last.current + .argmc-tab-item:hover .argmc-tab-number,
.slick-dots li button:hover,
.wpb_column.et-light-column .postline:before,
.wpb_column.et-light-column .postline-medium:before,
.wpb_column.et-light-column .postline-large:before,
.et-feat-video-btn:hover .et-featured-video-icon:after,
.post.type-post.sticky .entry-title a:after {
    background-color: rgba(0, 0, 0, 0.5);
    background: rgba(0, 0, 0, 0.5);
}


/* =============================================================================
   WPML COUNTRY / LANGUAGE SELECTOR
   ============================================================================= */

.wpml-ls-statics-footer.wpml-ls {
    display: block;
    position: relative;
    width: auto;
    min-width: unset;
    margin-top: 0;
    font-family: inherit;
}

.dadov-lang-wrap {
    position: relative;
    display: inline-block;
}

.dadov-lang-toggle {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 9px 12px;
    font-family: inherit;
    background: #fff;
    color: #111;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    cursor: pointer;
    text-align: left;
    width: auto;
}


.dadov-lang-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #999;
    margin-bottom: 6px;
    display: block;
}

.dadov-lang-toggle-inner {
    display: flex;
    align-items: center;
}

.dadov-lang-toggle-country {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
}

.dadov-lang-chevron {
    color: #999;
    font-size: 12px;
    flex-shrink: 0;
    margin-left: 5px;
    transition: transform 0.2s;
}

.dadov-lang--open .dadov-lang-chevron {
    transform: rotate(180deg);
}

.dadov-lang-list {
    position: absolute;
    bottom: calc(62%);
    left: 0;
    width: 100%;
    min-width:175px;
    margin: 0;
    padding: 4px 0;
    list-style: none;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    z-index: 9999;
    max-height: 320px;
    overflow-y: auto;
}

.dadov-lang-list li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dadov-lang-item {
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding: 8px 12px;
    text-decoration: none;
    color: #111;
    font-family: inherit;
    border-top: 1px solid #f0f0f0;
}

.dadov-lang-list li:first-child .dadov-lang-item {
    border-top: none;
}

.dadov-lang-item:hover,
.dadov-lang-item.dadov-lang-active {
    background: #f7f7f7;
}

.dadov-lang-item-country {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
}

.footer1 .widgettitle,
.footer2 .widgettitle,
.footer3 .widgettitle {
    font-size: 16px;
}

.et-wishlist-counter.active {
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    position: absolute;
    top: -5px;
    right: -18px;
}

@media only screen and (min-width: 768px) {
    .light-title:not(.header_on_scroll) .site-header .et-wishlist-counter.active {
        background-color: rgba(0, 0, 0, 0.5);
    }
}

/*  Hide search */
.header-right-items a.search-header_icon {
    display: none;
}

/* Newsletter form wrapper */
/* Form fields container */
.mc4wp-form-fields {
    display: block !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-top: -20px !important;
    max-width: 320px !important;
}

/* Heading */
.mc4wp-form-fields .newsletter-heading {
    font-size: 11px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #999 !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

/* Input row — grid to place email + button together */
.mc4wp-form-fields {
    display: grid !important;
    grid-template-rows: auto auto !important;
}

.mc4wp-form-fields .newsletter-heading {
    grid-row: 1 !important;
}

.mc4wp-form-fields input[type="email"] {
    grid-row: 2 !important;
    grid-column: 1 !important;
    width: 100% !important;
    border: 1px solid #d0d0d0 !important;
    outline: none !important;
    box-shadow: none !important;
    background: #fff !important;
    font-size: 12px !important;
    padding: 10px 90px 10px 12px !important;
    color: #111 !important;
    letter-spacing: 0.04em !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    transition: border-color 0.2s !important;
    border-radius: 4px !important;
}

.mc4wp-form-fields input[type="email"]:focus {
    border-color: #111 !important;
    outline: none !important;
}

.mc4wp-form-fields input[type="email"]::placeholder {
    color: #aaa !important;
    font-size: 12px !important;
    letter-spacing: 0.04em !important;
}

/* Confirm button — overlaid on the right of the email input */
.mc4wp-form-fields input[type="submit"] {
    grid-row: 2 !important;
    grid-column: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    margin-right: 6px !important;
    margin-top:10px !important;
    background: #111 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 5px 10px !important;
    font-size: 10px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    box-shadow: none !important;
    line-height: 1.4 !important;
    transition: background 0.2s !important;
    z-index: 1 !important;
}

.mc4wp-form-fields input[type="submit"]:hover {
    background: #333 !important;
    color: #999 !important;
    
}


/* Success / error message */
.mc4wp-alert {
    max-width: 220px;
    margin-top: 6px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    padding: 5px 0 !important;
    color: #333 !important;
}

.mc4wp-alert.mc4wp-error {
    color: #c0392b !important;
}

/* Confirm button — hidden by default, shows when input has value */
.mc4wp-form-fields input[type="submit"] {
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.2s, background 0.2s !important;
}

.mc4wp-form-fields.has-value input[type="submit"] {
    opacity: 1 !important;
    pointer-events: auto !important;
}