/*
Theme Name:        W3layouts Child
Theme URI:         https://w3layouts.com/
Author:            W3layouts
Author URI:        https://w3layouts.com/
Description:       W3layouts Theme - Child.
Requires at least: WordPress 5.0
Template:          W3layouts
Version:           2026
License:           W3layouts
Text Domain:       W3layouts-child
Tags:              two-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-menu, featured-images, full-width-template, threaded-comments, accessibility-ready, rtl-language-support, footer-widgets, sticky-post, theme-options
*/

/* Import Inter Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap');

/* Inter font system for the child theme */
:root {
    --w3l-font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Site-wide typography */
body,
body p,
body li,
body label,
body small,
body strong,
body em,
body blockquote,
body input,
body select,
body textarea,
body button,
body .btn,
body input[type="button"],
body input[type="submit"],
body input[type="reset"],
body .site-header,
body .navbar,
body .navbar-nav,
body .menu-item,
body .dropdown-menu,
body .footer,
body .sidebar,
body .widget,
body .woocommerce,
body .woocommerce-breadcrumb,
body .page-title,
body .entry-title,
body .entry-content,
body .woocommerce-result-count,
body .woocommerce-ordering,
body .woocommerce-pagination {
    font-family: var(--w3l-font-primary) !important;
}

/* Headings */
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .woocommerce h1,
body .woocommerce h2,
body .woocommerce h3,
body .woocommerce h4,
body .woocommerce h5,
body .woocommerce h6 {
    font-family: var(--w3l-font-primary) !important;
}

/* Product cards, titles, and badges */
.product-card,
.product-card-alt,
.product-card .card-body,
.product-card .card-body-hidden,
.product-card-alt .card-body,
.product-card .badge,
.product-card-alt .badge,
.product-card .product-badge,
.product-card-alt .product-badge,
.woocommerce ul.products li.product .badge,
.woocommerce ul.products li.product .product-badge,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce .product-title,
.woocommerce .woocommerce-loop-product__title,
.woocommerce div.product .product_title,
.woocommerce.single-product .product_title,
.woocommerce h1.product-title,
.woocommerce h2.product-title,
.woocommerce h3.product-title,
ul.products .product .woocommerce-loop-product__title,
.product-card .product-title,
.product-card-alt .product-title,
.product-title > a {
    font-family: var(--w3l-font-primary) !important;
}

/* Product title sizing to match the requested card aesthetic */
.woocommerce .product-title,
.woocommerce .woocommerce-loop-product__title,
.woocommerce div.product .product_title,
.woocommerce.single-product .product_title,
.woocommerce h1.product-title,
.woocommerce h2.product-title,
.woocommerce h3.product-title,
ul.products .product .woocommerce-loop-product__title,
.product-card .product-title,
.product-card-alt .product-title,
.product-title > a {
    font-size: 13px !important;
    font-weight: 400 !important;
}

/* Restore Original Product Hover Effects */
@media (min-width: 992px) {
    .product-card:hover:not(.card-static) {
        box-shadow: 0 0.3rem 1.525rem -0.375rem rgba(0, 0, 0, 0.1);
        z-index: 10;
        transition: all .15s ease-in-out;
    }
    
    .product-card:hover:not(.card-static) .card-body-hidden {
        opacity: 1;
        visibility: visible;
        box-shadow: 0 0.3rem 1.525rem -0.375rem rgba(0, 0, 0, 0.1);
    }
}

.product-card-alt .product-thumb-overlay,
.product-card-alt .btn-wishlist,
.product-card-alt .product-card-actions {
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease-in-out, visibility .3s ease-in-out;
}

.product-card-alt .w3l-product-card-actions {
    top: auto;
    right: .75rem;
    bottom: .75rem;
    left: auto;
    width: auto;
    transform: none;
    display: flex;
    gap: .5rem;
    text-align: right;
}

.product-card-alt .w3l-product-card-actions .btn {
    margin: 0 !important;
}

@media (min-width: 992px) {
    .product-card-alt .product-thumb:hover .product-thumb-overlay,
    .product-card-alt .product-thumb:hover .btn-wishlist,
    .product-card-alt .product-thumb:hover .product-card-actions {
        visibility: visible;
        opacity: 1;
    }
}

.product-floating-btn {
    opacity: 0;
    z-index: 10;
    transition: opacity .3s ease-in-out;
}

.product-card:hover .product-floating-btn {
    opacity: 1;
}

.w3l-demo-preview-card {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
    background: linear-gradient(145deg, #f8fafc, #e2e8f0);
    box-shadow: 0 1.25rem 3rem rgba(15, 23, 42, 0.12);
    --w3l-preview-scale: 0.56;
    --w3l-preview-width: 1280px;
    --w3l-preview-height: 3000px;
    --w3l-preview-scroll-y: -2400px;
    --w3l-preview-scroll-duration: 5s;
}

.w3l-demo-preview-card__frame {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: clamp(30rem, 72vh, 56rem);
    overflow: hidden !important;
    border-radius: inherit !important;
}

.w3l-demo-preview-card__image,
.w3l-demo-preview-card__iframe-scroll-container,
.w3l-demo-preview-card__hint {
    position: absolute;
    inset: 0;
}

.w3l-demo-preview-card__image {
    width: 100%;
    height: 100%;
    z-index: 1;
    visibility: visible;
    transition: opacity .2s ease, visibility .2s ease, transform .35s ease;
    border-radius: inherit !important;
    overflow: hidden !important;
}

.w3l-demo-preview-card__image-el {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    border-radius: inherit !important;
}

.w3l-demo-preview-card__iframe-scroll-container {
    position: absolute;
    inset: 0;
    z-index: 2;
    overflow: hidden;
    border-radius: inherit !important;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .2s ease, visibility .2s ease;
}

.w3l-demo-preview-card__iframe {
    position: absolute;
    top: 0;
    left: 0;
    display: block !important;
    width: var(--w3l-preview-width) !important;
    min-width: var(--w3l-preview-width) !important;
    max-width: none !important;
    height: var(--w3l-preview-height) !important;
    min-height: var(--w3l-preview-height) !important;
    border: 0 !important;
    border-radius: inherit !important;
    background: #fff;
    transform: scale(var(--w3l-preview-scale)) translateY(0);
    transform-origin: top left;
    transition: transform 0s linear;
    will-change: transform;
}

.w3l-demo-preview-card--interactive {
    --w3l-preview-scale: 0.56;
    --w3l-preview-scroll-duration: 5s;
}

.w3l-demo-preview-card--loop {
    border-radius: .4375rem !important;
    box-shadow: none;
    --w3l-preview-scale: 0.25;
    --w3l-preview-scroll-duration: 4s;
}

.w3l-demo-preview-card--loop .w3l-demo-preview-card__frame {
    min-height: 0 !important;
    aspect-ratio: 4 / 3;
}

.related-product-carousel .w3l-demo-preview-card__iframe-scroll-container {
    opacity: 0 !important;
    visibility: hidden !important;
}

.related-product-carousel .w3l-demo-preview-card.has-demo.is-preview-active .w3l-demo-preview-card__iframe-scroll-container {
    opacity: 1 !important;
    visibility: visible !important;
}

.related-product-carousel .w3l-demo-preview-card--loop,
.related-product-carousel .w3l-demo-preview-card--loop .w3l-demo-preview-card__frame {
    min-height: 0 !important;
    height: auto !important;
}

.related-product-carousel .slick-arrow:before {
    font-family: inherit !important;
    font-size: 1rem !important;
    font-weight: 700;
    line-height: 1;
}

.related-product-carousel .slick-arrow.slick-prev:before {
    content: '<' !important;
}

.related-product-carousel .slick-arrow.slick-next:before {
    content: '>' !important;
}

.w3l-demo-preview-card__hint {
    inset: auto 1rem 1rem auto;
    display: inline-flex;
    width: auto;
    height: auto;
    z-index: 3;
    transition: opacity .25s ease, transform .25s ease;
}

.w3l-demo-preview-card__hint span {
    display: inline-flex;
    align-items: center;
    padding: .6rem .9rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.78);
    color: #fff;
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .01em;
}

.w3l-demo-preview-card.has-demo.is-preview-active .w3l-demo-preview-card__iframe-scroll-container {
    opacity: 1;
    visibility: visible;
}

.w3l-demo-preview-card.has-demo.is-preview-active .w3l-demo-preview-card__iframe {
    transform: scale(var(--w3l-preview-scale)) translateY(var(--w3l-preview-scroll-y));
    transition: transform var(--w3l-preview-scroll-duration) ease-in-out;
}

.w3l-demo-preview-card.has-demo.is-preview-active .w3l-demo-preview-card__image {
    opacity: 0;
    visibility: hidden !important;
    transform: scale(1.01);
}

.w3l-demo-preview-card.has-demo.is-preview-active .w3l-demo-preview-card__hint {
    opacity: 0;
    transform: translateY(.4rem);
}

@media (max-width: 767px) {
    .w3l-demo-preview-card {
        border-radius: .875rem !important;
    }

    .w3l-demo-preview-card__frame {
        min-height: 20rem;
    }
}

.single-product .w3l-demo-preview-card + .woocommerce-product-gallery,
.single-product .w3l-demo-preview-card + .flex-control-thumbs,
.single-product .w3l-demo-preview-card ~ .woocommerce-product-gallery,
.single-product .w3l-demo-preview-card ~ .flex-control-thumbs {
    display: none !important;
}

.single-product.style-v3 .container {
    max-width: min(96vw, 1640px) !important;
}

.single-product.style-v3 .product-summary > .row {
    display: flex !important;
    align-items: stretch !important;
}

.single-product.style-v3 .product-summary > .row > section.col-lg-8 {
    flex: 0 0 76% !important;
    max-width: 76% !important;
}

.single-product.style-v3 .product-summary > .row > aside.col-lg-4 {
    flex: 0 0 24% !important;
    max-width: 24% !important;
}

.single-product.style-v3 .product-summary .cz-gallery,
.single-product.style-v3 .product-summary .w3l-demo-preview-card--interactive,
.single-product.style-v3 .product-summary .w3l-demo-preview-card--interactive .w3l-demo-preview-card__frame {
    height: 100% !important;
}

.single-product.style-v3 .product-summary .w3l-demo-preview-card--interactive .w3l-demo-preview-card__frame {
    min-height: clamp(34rem, 78vh, 64rem) !important;
}

.single-product.style-v3 .product-meta-items li:first-child,
.single-product.style-v3 .product-meta-items li:nth-child(2) {
    display: none !important;
}

@media (max-width: 991px) {
    .w3l-demo-preview-card--interactive {
        --w3l-preview-scale: 0.42;
    }

    .single-product.style-v3 .product-summary > .row > section.col-lg-8,
    .single-product.style-v3 .product-summary > .row > aside.col-lg-4 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 767px) {
    .w3l-demo-preview-card--interactive {
        --w3l-preview-scale: 0.34;
    }
}

/* Product title hover effects */
.product-title > a {
    color: #373f50;
    text-decoration: none !important;
    transition: color .25s ease-in-out;
}

.product-title > a:hover {
    color: #fe696a;
}

/* Product meta hover effects */
.product-meta {
    color: #7d879c;
    text-decoration: none !important;
    transition: color .25s ease-in-out;
}

.product-meta:hover {
    color: #4b566b;
}

/* Wishlist button hover effects */
.product-card a.add_to_wishlist:hover,
.product-card .yith-wcwl-wishlistaddedbrowse a:hover,
.product-card .yith-wcwl-wishlistexistsbrowse a:hover,
.product-card-alt a.add_to_wishlist:hover,
.product-card-alt .yith-wcwl-wishlistaddedbrowse a:hover,
.product-card-alt .yith-wcwl-wishlistexistsbrowse a:hover {
    color: #fe696a;
    transition: color .25s ease-in-out;
}

/* Add to cart button hover effects */
.product-card .added_to_cart:hover,
.product-card .added_to_cart:focus {
    color: #4b566b;
    transition: color .25s ease-in-out;
}
