/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

.catalogo-b2b{
    background:#ffffff;
    padding:60px 40px;
}

.catalogo-container{
    display:grid;
    grid-template-columns:280px 1fr;
    gap:40px;
    max-width:1600px;
    margin:auto;
}

.catalogo-sidebar{
    background:#f5f5f5;
    padding:30px;
    border-radius:20px;
    height:fit-content;
    position:sticky;
    top:30px;
}

.productos-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:30px;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after{
    display:none !important;
}

.woocommerce ul.products{
    display:contents !important;
}

.shop-layout{
    display:grid;
    grid-template-columns:280px 1fr;
    gap:40px;
}

.shop-sidebar{
    position:sticky;
    top:120px;
    height:max-content;
}

.shop-widget{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:22px;
    margin-bottom:24px;
}

.shop-widget-title{
    font-size:18px;
    font-weight:700;
    margin-bottom:18px;
}

.shop-filter-list{
    list-style:none;
    padding:0;
    margin:0;
}

.shop-filter-list li{
    margin-bottom:12px;
}

.shop-filter-list a{
    text-decoration:none;
    color:#111827;
    transition:.2s;
}

.shop-filter-list a:hover{
    color:#2563eb;
}

.shop-search-form input{
    width:100%;
    height:46px;
    border:1px solid #d1d5db;
    border-radius:12px;
    padding:0 14px;
    font-size:14px;
}


body{
    background:#ffffff;
    font-family:'Inter',sans-serif;
}

.rcc-shop-wrapper{
    max-width:1600px;
    margin:auto;
    padding:60px 30px;
    padding-top:120px;
}

.rcc-shop-grid{
    display:grid;
    grid-template-columns:320px 1fr;
    gap:40px;
}

.rcc-sidebar{
    background:#f5f5f5;
    padding:30px;
    border-radius:20px;
    
    height:fit-content;
    position:sticky;
    top:30px;
    max-height:calc(100vh - 80px);
    overflow:auto;

}

.rcc-sidebar h3{
    font-size:22px;
    font-weight:700;
    margin-bottom:25px;
    color:#000;
}

.rcc-filter-block{
    margin-bottom:35px;
}

.rcc-filter-block h4{
    font-size:16px;
    font-weight:700;
    margin-bottom:18px;
    color:#000;
}

.rcc-filter-list{
    list-style:none;
    margin:0;
    padding:0;
}

.rcc-filter-list li{
    margin-bottom:12px;
}

.rcc-filter-list a{
    text-decoration:none;
    color:#334155;
    transition:.2s;
    font-size:14px;
}

.rcc-filter-list a:hover{
    color:#00719D;
}

#rcc-search{
    width:100%;
    height:48px;
    border:1px solid #dbe2ea;
    border-radius:12px;
    padding:0 16px;
    font-size:14px;
    outline:none;
}

#rcc-search:focus{
    border-color:#00719D;
}

.rcc-products-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:40px;
}

.rcc-products-header h1{
    font-size:40px;
    font-weight:800;
    margin:0;
    color:#000;
}

.rcc-products-header p{
    color:#64748b;
    margin-top:10px;
}

.rcc-products-grid{
    display:grid;
    grid-template-columns:
    repeat(auto-fill,minmax(320px,1fr));
    gap:30px;
}

.rcc-product-card{
     background:#fff;
    border-radius:24px;
    border:1px solid #dbe3ea;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    height:100%;
    transition:.3s;
}

.rcc-product-card:hover{
    transform:translateY(-8px);
    box-shadow:
    0 20px 50px
    rgba(0,0,0,.08);
}

.rcc-product-image{
    aspect-ratio:1/1;
    background:#f8fafc;
    padding:25px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.rcc-product-image img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.rcc-product-card:hover img{
    transform:scale(1.05);
}

.rcc-product-content{
    padding:24px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.rcc-product-category{

font-size:11px;

font-weight:500;

letter-spacing:.8px;

text-transform:uppercase;

color:#64748b;

}

.rcc-product-title{
    font-size:17px;
    font-weight:800;
    line-height:1.4;
    min-height:78px;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin-bottom:18px;
}

.rcc-product-title a{
    color:inherit;
    text-decoration:none;
}

.rcc-product-description{
    font-size:14px;
    line-height:1.7;
    color:#64748b;
    min-height:85px;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin-bottom:24px;
}

.rcc-product-footer{
    margin-top:auto;
    padding-top:20px;
    border-top:
    1px solid #edf2f7;
}

.rcc-price{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:22px;
}

.rcc-price del{
    font-size:22px;
    color:#94a3b8;
}

.rcc-price ins{
    font-size:36px;
    font-weight:800;
    text-decoration:none;
    color:#000;
}

.rcc-button{
    background:#00719D;
    color:#fff;
    padding:12px 18px;
    border-radius:10px;
    text-decoration:none;
    font-size:12px;
    text-transform:uppercase;
    font-weight:700;
    transition:.3s;
}

.rcc-button:hover{
    background:#00a0db;
    color:#fff;
}

.rcc-pagination{
    margin-top:60px;
}

.rcc-pagination .page-numbers{
    display:inline-flex;
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    border:1px solid #cbd5e1;
    margin-right:8px;
    border-radius:10px;
    text-decoration:none;
    color:#000;
}

.rcc-pagination .current{
    background:#00719D;
    color:#fff;
    border-color:#00719D;
}


/*
|--------------------------------------------------------------------------
| SKELETON LOADING
|--------------------------------------------------------------------------
*/

.rcc-loading{
    position:relative;
    overflow:hidden;
}

.rcc-loading::after{
    content:'';
    position:absolute;
    inset:0;
    transform:translateX(-100%);
    background:
    linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.5),
        transparent
    );
    animation:rccSkeleton 1.2s infinite;
}

@keyframes rccSkeleton{

    100%{
        transform:translateX(100%);
    }

}

.rcc-skeleton-card{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:20px;
    overflow:hidden;
}

.rcc-skeleton-image{
    aspect-ratio:1/1;
    background:#e5e7eb;
}

.rcc-skeleton-content{
    padding:20px;
}

.rcc-skeleton-line{
    height:14px;
    border-radius:8px;
    background:#e5e7eb;
    margin-bottom:14px;
}

.rcc-skeleton-line:last-child{
    width:60%;
}

/*
|--------------------------------------------------------------------------
| TECH FILTERS
|--------------------------------------------------------------------------
*/

.rcc-tech-filter{
    margin-bottom:25px;
}

.rcc-tech-filter strong{
    display:block;
    margin-bottom:12px;
    font-size:14px;
    color:#000;
}

.rcc-tech-list a.active{
    color:#00719D;
    font-weight:700;
}

/*
|--------------------------------------------------------------------------
| LIVE SEARCH
|--------------------------------------------------------------------------
*/

.rcc-live-search{
    position:relative;
    width:100%;
    max-width:650px;
}

#rcc-search{
    width:100%;
    height:58px;
    border:none;
    border-radius:16px;
    padding:0 22px;
    background:#f1f5f9;
    font-size:15px;
    outline:none;
}

#rcc-search-results{
    position:absolute;
    top:70px;
    left:0;
    width:100%;
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:
    0 20px 60px rgba(0,0,0,.12);

    opacity:0;
    visibility:hidden;
    transform:translateY(10px);

    transition:.25s;

    z-index:9999;
}

#rcc-search-results.active{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.rcc-search-item{
    display:flex;
    gap:16px;
    padding:16px;
    text-decoration:none;
    color:#000;
    border-bottom:1px solid #f1f5f9;
    transition:.2s;
}

.rcc-search-item:hover{
    background:#f8fafc;
}

.rcc-search-image{
    width:70px;
    height:70px;
    flex-shrink:0;
}

.rcc-search-image img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.rcc-search-title{
    font-size:14px;
    font-weight:600;
    line-height:1.4;
    margin-bottom:8px;
}

.rcc-search-price{
    font-size:18px;
    font-weight:800;
    color:#00719D;
}

.rcc-no-results{
    padding:20px;
}

/*
|--------------------------------------------------------------------------
| MEGA MENU
|--------------------------------------------------------------------------
*/

.rcc-menu-item{
    position:relative;
}

.rcc-mega-menu{
    position:absolute;
    top:100%;
    left:0;
    width:1000px;
    background:#fff;
    border-radius:24px;
    box-shadow:0 30px 60px rgba(0,0,0,.12);
    padding:40px;
    opacity:0;
    visibility:hidden;
    transform:translateY(20px);
    transition:.35s;
    z-index:9999;
}

.rcc-menu-item:hover .rcc-mega-menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.rcc-mega-grid{
    display:grid;
    grid-template-columns:
    1fr
    1fr
    1.2fr;
    gap:40px;
}

.rcc-mega-column h3{
    font-size:18px;
    margin-bottom:20px;
    font-weight:800;
}

.rcc-mega-column ul{
    list-style:none;
    padding:0;
    margin:0;
}

.rcc-mega-column li{
    margin-bottom:14px;
}

.rcc-mega-column a{
    color:#334155;
    text-decoration:none;
    transition:.3s;
}

.rcc-mega-column a:hover{
    color:#00719D;
    padding-left:6px;
}

.rcc-mega-banner{
    background:
    linear-gradient(
        135deg,
        #00719D,
        #00a0db
    );
    border-radius:20px;
    padding:35px;
    color:#fff;
    display:flex;
    align-items:center;
}

.rcc-banner-content span{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:1px;
    opacity:.8;
}

.rcc-banner-content h2{
    font-size:34px;
    line-height:1.1;
    margin:15px 0;
    font-weight:800;
}

.rcc-banner-content p{
    line-height:1.7;
    opacity:.9;
    margin-bottom:25px;
}

.rcc-banner-content a{
    background:#fff;
    color:#000;
    text-decoration:none;
    padding:14px 20px;
    border-radius:12px;
    font-weight:700;
    display:inline-block;
}

/*
|--------------------------------------------------------------------------
| MEGA MENU ENTERPRISE
|--------------------------------------------------------------------------
*/

.rcc-mega-wrapper{
    position:relative;
    z-index:9999;
}

.rcc-mega-nav ul{
    list-style:none;
    margin:0;
    padding:0;
}

.rcc-mega-nav > ul{
    display:flex;
    gap:40px;
}

.rcc-mega-item{
    position:relative;
}

.rcc-mega-item > a{
    color:#000;
    text-decoration:none;
    font-weight:700;
    font-size:15px;
    padding:20px 0;
    display:flex;
    align-items:center;
}

.rcc-mega-dropdown{
    position:absolute;
    top:100%;
    left:0;
    width:1100px;
    background:#fff;
    border-radius:24px;
    padding:45px;
    opacity:0;
    visibility:hidden;
    transform:translateY(15px);
    transition:.35s;
    box-shadow:
    0 30px 60px rgba(0,0,0,.12);
}

.rcc-mega-item:hover .rcc-mega-dropdown{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.rcc-mega-grid{
    display:grid;
    grid-template-columns:
    260px
    260px
    1fr;
    gap:50px;
}

.rcc-mega-col h4{
    font-size:15px;
    text-transform:uppercase;
    letter-spacing:1px;
    margin-bottom:25px;
    color:#00719D;
}

.rcc-mega-col a{
    display:block;
    padding:12px 0;
    color:#111827;
    text-decoration:none;
    border-bottom:1px solid #f1f5f9;
    transition:.25s;
    font-weight:500;
}

.rcc-mega-col a:hover{
    color:#00719D;
    transform:translateX(5px);
}

.rcc-highlight-card{
    background:
    linear-gradient(
        135deg,
        #00719D,
        #00AEEF
    );
    border-radius:24px;
    padding:40px;
    color:#fff;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.rcc-highlight-card span{
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    opacity:.8;
}

.rcc-highlight-card h3{
    font-size:34px;
    line-height:1.1;
    margin:20px 0;
    font-weight:800;
}

.rcc-highlight-card p{
    line-height:1.7;
    opacity:.9;
    margin-bottom:30px;
}

.rcc-highlight-card a{
    background:#fff;
    color:#00719D;
    text-decoration:none;
    padding:14px 22px;
    border-radius:12px;
    font-weight:700;
    width:max-content;
}

/*
|--------------------------------------------------------------------------
| AJAX SEARCH ENTERPRISE
|--------------------------------------------------------------------------
*/

.rcc-search-wrapper{
    position:relative;
    width:100%;
    max-width:420px;
}

#rcc-live-search{
    width:100%;
    height:64px;
    border:none;
    background:#f1f5f9;
    border-radius:18px;
    padding:0 24px;
    font-size:16px;
    outline:none;
    transition:.3s;
}

#rcc-live-search:focus{
    background:#fff;
    box-shadow:
    0 0 0 4px rgba(0,113,157,.12);
}

#rcc-search-results{
    position:absolute;
    top:74px;
    left:0;
    width:100%;
    background:#fff;
    border-radius:22px;
    overflow:hidden;
    box-shadow:
    0 25px 50px rgba(0,0,0,.12);
    display:none;
    z-index:9999;
    max-height:650px;
    overflow-y:auto;
}

.rcc-search-item{
    display:flex;
    gap:18px;
    padding:18px;
    text-decoration:none;
    border-bottom:1px solid #f1f5f9;
    transition:.25s;
}

.rcc-search-item:hover{
    background:#f8fafc;
}

.rcc-search-thumb{
    width:80px;
    height:80px;
    border-radius:14px;
    overflow:hidden;
    background:#f8fafc;
    flex-shrink:0;
}

.rcc-search-thumb img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.rcc-search-info{
    flex:1;
}

.rcc-search-title{
    font-size:15px;
    font-weight:700;
    color:#111827;
    margin-bottom:8px;
    line-height:1.4;
}

.rcc-search-meta{
    font-size:13px;
    color:#64748b;
    margin-bottom:10px;
}

.rcc-search-price{
    font-size:18px;
    font-weight:800;
    color:#00719D;
}

.rcc-search-empty{
    padding:30px;
    text-align:center;
    color:#64748b;
}

.rcc-add-to-cart{

    width:100%;
    border:none;
    background:#000;
    color:#fff;
    padding:14px;
    border-radius:12px;
    cursor:pointer;
    font-weight:700;
    margin-top:12px;
}

.rcc-add-to-cart.loading{

    opacity:.6;
    pointer-events:none;
}

.rcc-add-to-cart.added{

    background:#16a34a;
}

#rcc-cart-count{

    background:red;
    color:#fff;
    width:22px;
    height:22px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:11px;
}

.rcc-product-actions{
    display:grid;
    grid-template-columns:
    repeat(2,1fr);
    gap:12px;
}

.rcc-product-actions button,
.rcc-product-actions a{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
}

.rcc-add-to-cart{
    grid-column:span 2;
    background:#000;
    color:#fff;
}

.rcc-add-to-cart:hover{
    background:#111;
}

.rcc-add-compare{

    grid-column:span 2;
}

#rcc-mini-cart-overlay{

    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    z-index:9998;

    opacity:0;
    visibility:hidden;
    transition:.3s;
}

#rcc-mini-cart{

    position:fixed;
    top:0;
    right:-450px;

    width:420px;
    max-width:100%;

    height:100vh;
    background:#fff;

    z-index:9999;

    transition:.4s;

    display:flex;
    flex-direction:column;
}

#rcc-mini-cart.active{

    right:0;
}

#rcc-mini-cart-overlay.active{

    opacity:1;
    visibility:visible;
}

.rcc-mini-cart-header{

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:25px;

    border-bottom:1px solid #e2e8f0;
}

#rcc-mini-cart-items{

    flex-grow:1;

    overflow:auto;

    padding:20px;
}

.rcc-mini-cart-footer{

    border-top:1px solid #e2e8f0;

    padding:20px;
}

.rcc-checkout-btn{

    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;

    background:#000;
    color:#fff;

    height:54px;

    border-radius:12px;

    text-decoration:none;
    font-weight:700;

    margin-top:20px;
}

.rcc-mini-cart-item{

    display:grid;
    grid-template-columns:80px 1fr;
    gap:15px;

    margin-bottom:20px;
}

.rcc-mini-cart-item img{

    width:80px;
    height:80px;
    object-fit:contain;
}
.rcc-mini-cart-title{

    font-weight:700;
    color:#000;
    text-decoration:none;

    display:block;

    margin-bottom:8px;
}

.rcc-mini-cart-price{

    font-size:14px;
    font-weight:700;

    margin-bottom:5px;
}

.rcc-mini-cart-qty{

    font-size:13px;
    color:#64748b;
}

.rcc-mini-cart-controls{

    display:flex;
    align-items:center;
    gap:10px;

    margin-top:10px;
}

.rcc-mini-cart-controls button{

    width:28px;
    height:28px;

    border:none;
    background:#f1f5f9;

    border-radius:6px;

    cursor:pointer;
}

.rcc-remove-cart-item{

    margin-top:12px;

    border:none;
    background:none;

    color:#dc2626;

    cursor:pointer;

    font-size:13px;
}

/*
|--------------------------------------------------------------------------
| QUICK VIEW
|--------------------------------------------------------------------------
*/

#rcc-quick-view-modal{
    position:fixed;
    inset:0;
    z-index:999999;
    display:none;
}

#rcc-quick-view-modal.active{
    display:block;
}

.rcc-quick-view-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.6);
    backdrop-filter:blur(4px);
}

.rcc-quick-view-content{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:min(1100px,95%);
    max-height:90vh;
    overflow:auto;
    background:#fff;
    border-radius:30px;
    padding:50px;
}

#rcc-close-quick-view{
    position:absolute;
    top:20px;
    right:20px;
    width:45px;
    height:45px;
    border:none;
    border-radius:50%;
    background:#f1f5f9;
    cursor:pointer;
    font-size:24px;
}

.rcc-qv-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
}

.rcc-qv-image img{
    width:100%;
    border-radius:20px;
}

.rcc-qv-title{
    font-size:36px;
    font-weight:800;
    margin-bottom:20px;
}

.rcc-qv-price{
    font-size:32px;
    font-weight:800;
    color:#00719D;
    margin-bottom:25px;
}

.rcc-qv-description{
    color:#64748b;
    line-height:1.8;
    margin-bottom:30px;
}

.rcc-qv-add{
    background:#00719D;
    color:#fff;
    border:none;
    padding:16px 30px;
    border-radius:14px;
    font-weight:700;
    cursor:pointer;
}


/*
|--------------------------------------------------------------------------
| RECENTLY VIEWED
|--------------------------------------------------------------------------
*/

.rcc-recently-viewed{
    padding:100px 0;
    background:#f8fafc;
}

.rcc-recently-viewed h2{
    font-size:42px;
    font-weight:800;
    margin-bottom:50px;
}

.rcc-recent-grid{
    display:grid;
    grid-template-columns:
    repeat(auto-fill,minmax(240px,1fr));
    gap:30px;
}

.rcc-recent-card{
    background:#fff;
    border-radius:24px;
    padding:20px;
    transition:.3s;
    border:1px solid #e2e8f0;
}

.rcc-recent-card:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.rcc-recent-card img{
    width:100%;
    border-radius:16px;
}

.rcc-recent-title{
    margin-top:20px;
    font-weight:700;
    line-height:1.5;
}

.rcc-recent-title a{
    color:#000;
    text-decoration:none;
}

.rcc-recent-price{
    margin-top:10px;
    font-size:22px;
    font-weight:800;
    color:#00719D;
}

/*
|--------------------------------------------------------------------------
| QUICK VIEW
|--------------------------------------------------------------------------
*/

#rcc-quick-view-overlay{

    position:fixed;
    inset:0;
    background:rgba(0,0,0,.65);
    z-index:9998;

    opacity:0;
    visibility:hidden;

    transition:.3s;
}

#rcc-quick-view-modal{

    position:fixed;
    top:50%;
    left:50%;

    transform:
    translate(-50%,-50%)
    scale(.92);

    width:min(1200px,92vw);
    max-height:90vh;

    overflow:auto;

    background:#fff;
    border-radius:30px;

    z-index:9999;

    opacity:0;
    visibility:hidden;

    transition:.35s;

    box-shadow:
    0 40px 100px rgba(0,0,0,.25);
}

#rcc-quick-view-overlay.active{

    opacity:1;
    visibility:visible;
}

#rcc-quick-view-modal.active{

    opacity:1;
    visibility:visible;

    transform:
    translate(-50%,-50%)
    scale(1);
}

.rcc-quick-view-close{

    position:absolute;
    top:20px;
    right:25px;

    font-size:40px;
    cursor:pointer;

    z-index:2;
}

#rcc-quick-view-content{

    padding:50px;
}

.rcc-qv-grid{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
}

.rcc-qv-image{

    background:#f8fafc;
    border-radius:24px;
    padding:30px;
}

.rcc-qv-image img{

    width:100%;
    height:auto;
    object-fit:contain;
}

.rcc-qv-title{

    font-size:42px;
    font-weight:800;
    line-height:1.1;
    margin-bottom:20px;
}

.rcc-qv-price{

    font-size:34px;
    font-weight:800;
    margin-bottom:25px;
}

.rcc-qv-description{

    color:#64748b;
    line-height:1.8;
    margin-bottom:35px;
}

.rcc-qv-add{

    background:#00719D;
    color:#fff;

    border:none;

    padding:18px 28px;

    border-radius:14px;

    font-weight:700;

    cursor:pointer;
}

/*
|--------------------------------------------------------------------------
| RECENTLY VIEWED
|--------------------------------------------------------------------------
*/

.rcc-recently-viewed-section{

    margin-top:120px;
}

.rcc-recently-viewed-section h2{

    font-size:36px;
    font-weight:800;
    margin-bottom:40px;
}

.rcc-recent-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fill,minmax(240px,1fr));

    gap:30px;
}

.rcc-recent-card{

    background:#fff;

    border-radius:22px;

    padding:20px;

    border:1px solid #e2e8f0;

    transition:.3s;
}

.rcc-recent-card:hover{

    transform:translateY(-5px);

    box-shadow:
    0 20px 40px rgba(0,0,0,.08);
}

.rcc-recent-card img{

    width:100%;
    aspect-ratio:1/1;

    object-fit:contain;
}

.rcc-recent-title{

    margin-top:15px;

    font-weight:700;

    line-height:1.4;
}

.rcc-recent-title a{

    color:#000;

    text-decoration:none;
}

.rcc-recent-price{

    margin-top:12px;

    font-size:22px;

    font-weight:800;
}

/*
|--------------------------------------------------------------------------
| WISHLIST
|--------------------------------------------------------------------------
*/

.rcc-add-wishlist{

    width:48px;
    height:48px;

    border:none;
    border-radius:14px;

    background:#f1f5f9;

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;

    transition:.3s;

    font-size:18px;
}

.rcc-add-wishlist:hover{

    background:#fee2e2;
    transform:translateY(-2px);
}

.rcc-add-wishlist.active{

    background:#ef4444;
    color:#fff;
}

/*
|--------------------------------------------------------------------------
| WISHLIST PANEL
|--------------------------------------------------------------------------
*/

#rcc-wishlist-overlay{

    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);

    opacity:0;
    visibility:hidden;

    transition:.3s;

    z-index:9998;
}

#rcc-wishlist-overlay.active{

    opacity:1;
    visibility:visible;
}

#rcc-wishlist-panel{

    position:fixed;

    top:0;
    right:-460px;

    width:440px;
    max-width:100%;

    height:100vh;

    background:#fff;

    z-index:9999;

    transition:.35s ease;

    display:flex;
    flex-direction:column;

    box-shadow:
    -10px 0 40px rgba(0,0,0,.15);
}

#rcc-wishlist-panel.active{

    right:0;
}

.rcc-wishlist-header{

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:24px;

    border-bottom:1px solid #e2e8f0;
}

.rcc-wishlist-header h3{

    margin:0;
    font-size:24px;
    font-weight:800;
}

#rcc-close-wishlist{

    border:none;
    background:none;
    cursor:pointer;

    font-size:24px;
}

#rcc-wishlist-items{

    flex:1;

    overflow-y:auto;

    padding:24px;
}

.rcc-wishlist-item{

    display:flex;
    gap:15px;

    margin-bottom:20px;

    padding-bottom:20px;

    border-bottom:1px solid #f1f5f9;
}

.rcc-wishlist-item img{

    width:90px;
    height:90px;

    object-fit:contain;

    background:#f8fafc;

    border-radius:14px;
}

.rcc-wishlist-info{

    flex:1;
}

.rcc-wishlist-title{

    font-size:14px;
    font-weight:700;
    color:#000;

    text-decoration:none;

    line-height:1.5;

    display:block;

    margin-bottom:10px;
}

.rcc-wishlist-price{

    font-weight:800;
    color:#00719D;

    margin-bottom:10px;
}

.rcc-remove-wishlist{

    border:none;
    background:none;

    color:#dc2626;

    cursor:pointer;

    padding:0;
}

.rcc-wishlist-footer{

    padding:24px;

    border-top:1px solid #e2e8f0;
}

.rcc-wishlist-quote{

    width:100%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#00719D;
    color:#fff;

    text-decoration:none;

    padding:18px;

    border-radius:14px;

    font-weight:700;
}

#rcc-open-wishlist{

    position:relative;

    border:none;
    background:none;

    cursor:pointer;

    font-size:22px;
}

#rcc-wishlist-count{

    position:absolute;

    top:-8px;
    right:-10px;

    width:20px;
    height:20px;

    background:#00719D;
    color:#fff;

    border-radius:50%;

    font-size:11px;

    display:flex;
    align-items:center;
    justify-content:center;
}

.rcc-empty-wishlist{

    text-align:center;

    color:#64748b;

    padding-top:60px;
}

/*
|--------------------------------------------------------------------------
| COMPARE PAGE
|--------------------------------------------------------------------------
*/

.rcc-compare-page{

    padding:100px 0;
}

.rcc-compare-table{

    width:100%;

    border-collapse:
    collapse;

    overflow:auto;
}

.rcc-compare-table th{

    width:250px;

    background:#f8fafc;

    text-align:left;

    padding:20px;

    font-weight:800;
}

.rcc-compare-table td{

    padding:20px;

    border-left:
    1px solid #e2e8f0;

    text-align:center;
}

.rcc-compare-table img{

    max-width:180px;
}

.rcc-compare-table tr{

    border-bottom:
    1px solid #e2e8f0;
}

/*
|--------------------------------------------------------------------------
| RELATED
|--------------------------------------------------------------------------
*/

.rcc-related-products,
.rcc-accessories{

padding:100px 0;
}

.rcc-related-products h2,
.rcc-accessories h2{

font-size:40px;

font-weight:800;

margin-bottom:40px;
}

.rcc-related-grid{

display:grid;

grid-template-columns:
repeat(
auto-fill,
minmax(
260px,
1fr
)
);

gap:30px;
}

.rcc-related-card{

background:#fff;

padding:25px;

border-radius:20px;

border:
1px solid #e2e8f0;

transition:.3s;
}

.rcc-related-card:hover{

transform:
translateY(-5px);

box-shadow:
0 20px 40px
rgba(
0,0,0,.08
);
}

.rcc-related-card img{

width:100%;

aspect-ratio:1/1;

object-fit:contain;
}

.rcc-related-card h3{

margin-top:20px;

font-size:18px;
}

.rcc-related-card a{

text-decoration:none;

color:#000;
}

.rcc-single-product{
    max-width:1400px;
    margin:auto;
    padding:80px 30px;
}

.rcc-product-layout{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:start;
}

.rcc-gallery{
    position:sticky;
    top:40px;
}

.rcc-main-image{
    background:#f8fafc;
    border-radius:24px;
    overflow:hidden;
    border:1px solid #e2e8f0;
    padding:40px;
}

.rcc-thumbnails{

    display:flex;
    gap:15px;
    margin-top:20px;
    flex-wrap:wrap;

}

.rcc-thumb{

    width:90px;
    height:90px;
    border-radius:16px;
    overflow:hidden;
    cursor:pointer;
    border:2px solid transparent;
    transition:.3s;
    background:#f8fafc;

}

.rcc-thumb:hover{

    border-color:#00719D;

}

.rcc-thumb.active{

    border-color:#00719D;

}

.rcc-thumb img{

    width:100%;
    height:100%;
    object-fit:cover;

}

.rcc-main-image img{
    width:100%;
    height:auto;
    object-fit:contain;
}

.rcc-product-info{
    display:flex;
    flex-direction:column;
}

.rcc-category{
    color:#00719D;
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    margin-bottom:20px;
}

.rcc-title{
    font-size:48px;
    line-height:1.1;
    font-weight:800;
    color:#000;
    margin-bottom:25px;
}
.rcc-price{
    font-size:42px;
    font-weight:800;
    color:#000;
    margin-bottom:30px;
}

.rcc-description{
    color:#64748b;
    font-size:16px;
    line-height:1.8;
    margin-bottom:40px;
}

.rcc-stock{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#dcfce7;
    color:#166534;
    padding:12px 18px;
    border-radius:12px;
    font-weight:600;
    margin-bottom:30px;
}

.rcc-buttons{
    display:flex;
    gap:15px;
    margin-bottom:50px;
}

.rcc-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:16px 28px;
    border-radius:14px;
    font-weight:700;
    text-decoration:none;
    transition:.3s;
}

.rcc-btn-primary{
    background:#00719D;
    color:#fff;
}

.rcc-btn-primary:hover{
    background:#00a0db;
    color:#fff;
}

.rcc-btn-secondary{
    border:1px solid #cbd5e1;
    color:#000;
}

.rcc-btn-secondary:hover{
    background:#f8fafc;
}

.rcc-specs{
    background:#f8fafc;
    border-radius:24px;
    padding:35px;
    border:1px solid #e2e8f0;
}

.rcc-specs h3{
    font-size:24px;
    font-weight:800;
    margin-bottom:25px;
}

.rcc-specs table{
    width:100%;
    border-collapse:collapse;
}

.rcc-specs td{
    padding:14px 0;
    border-bottom:1px solid #e2e8f0;
}

.rcc-specs td:first-child{
    font-weight:700;
    color:#000;
    width:220px;
}

.rcc-specs td:last-child{
    color:#64748b;
}

@media(max-width:1024px){

    .rcc-mega-menu{
        width:95vw;
        left:50%;
        transform:
        translateX(-50%)
        translateY(20px);
    }

    .rcc-menu-item:hover .rcc-mega-menu{
        transform:
        translateX(-50%)
        translateY(0);
    }
    
    .rcc-mega-dropdown{
        width:95vw;
        left:-100px;
    }

}
/*
|--------------------------------------------------------------------------
| HEADER
|--------------------------------------------------------------------------
*/

.rcc-header{

    background:#fff;

    position:sticky;

    top:0;

    z-index:999;

    border-bottom:1px solid #e2e8f0;

    padding:18px 40px;
}

.rcc-header-inner{

    max-width:1600px;

    margin:auto;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:30px;
}

.rcc-menu-item{

    position:relative;
}

.rcc-cart-icon,
#rcc-open-wishlist{

    width:52px;

    height:52px;

    border-radius:50%;

    background:#f8fafc;

    display:flex;

    align-items:center;

    justify-content:center;

    position:relative;

    cursor:pointer;
}

#rcc-cart-count,
#rcc-wishlist-count{

    position:absolute;

    top:-5px;

    right:-5px;

    width:22px;

    height:22px;

    background:#ef4444;

    color:#fff;

    border-radius:50%;

    font-size:11px;

    display:flex;

    align-items:center;

    justify-content:center;
}
/*
|--------------------------------------------------------------------------
| PANELS
|--------------------------------------------------------------------------
*/

#rcc-mini-cart,
#rcc-wishlist-panel{

position:fixed;

top:0;

right:-420px;

width:420px;

height:100vh;

background:#fff;

z-index:9999;

transition:.35s;

box-shadow:
-10px 0 40px
rgba(0,0,0,.1);

display:flex;

flex-direction:column;

}

#rcc-mini-cart.active,
#rcc-wishlist-panel.active{

right:0;

}

#rcc-mini-cart-overlay{

position:fixed;

inset:0;

background:
rgba(0,0,0,.5);

opacity:0;

visibility:hidden;

transition:.3s;

z-index:9998;

}

#rcc-mini-cart-overlay.active{

opacity:1;

visibility:visible;

}

#rcc-wishlist-panel{

position:fixed;

top:0;

right:-420px;

width:420px;

height:100vh;

background:#fff;

z-index:10000;

transition:.35s;

box-shadow:
-10px 0 40px
rgba(0,0,0,.1);

overflow:auto;

}

#rcc-wishlist-panel.active{

right:0;

}
/*
|--------------------------------------------------------------------------
| CHECKOUT ENTERPRISE
|--------------------------------------------------------------------------
*/

.rcc-checkout-page{

padding:
140px 30px 80px;

background:
#f8fafc;

min-height:
100vh;

}

.rcc-checkout-container{

max-width:
1400px;

margin:auto;

display:grid;

grid-template-columns:
1fr 420px;

gap:40px;

align-items:start;

}

.rcc-checkout-main{

display:flex;

flex-direction:column;

gap:30px;

}

.rcc-checkout-block{

background:#fff;

border-radius:24px;

padding:40px;

box-shadow:
0 10px 40px
rgba(0,0,0,.05);

border:
1px solid #e2e8f0;

}

.rcc-checkout-block h2{

font-size:28px;

margin-bottom:30px;

font-weight:800;

}

.rcc-checkout-sidebar{

position:sticky;

top:120px;

}

.rcc-order-summary{

background:#fff;

border-radius:24px;

padding:35px;

box-shadow:
0 10px 40px
rgba(0,0,0,.05);

border:
1px solid #e2e8f0;

}

.rcc-order-summary h3{

font-size:24px;

font-weight:800;

margin-bottom:30px;

}

/*
|--------------------------------------------------------------------------
| FORM
|--------------------------------------------------------------------------
*/

.woocommerce form .form-row{

margin-bottom:20px;

}

.woocommerce-input-wrapper input,
.woocommerce-input-wrapper select,
.woocommerce-input-wrapper textarea{

width:100%;

padding:16px 18px;

border-radius:14px;

border:
1px solid #cbd5e1;

font-size:15px;

transition:.3s;

}

.woocommerce-input-wrapper input:focus,
.woocommerce-input-wrapper select:focus,
.woocommerce-input-wrapper textarea:focus{

border-color:#00719D;

outline:none;

box-shadow:
0 0 0 4px
rgba(0,113,157,.1);

}

/*
|--------------------------------------------------------------------------
| BUTTON
|--------------------------------------------------------------------------
*/

#place_order{

width:100%;

padding:18px;

border:none;

border-radius:16px;

background:#00719D;

color:#fff;

font-size:16px;

font-weight:700;

cursor:pointer;

transition:.3s;

}

#place_order:hover{

background:#0099d4;

}

/*
|--------------------------------------------------------------------------
| MOBILE
|--------------------------------------------------------------------------
*/

/*
|--------------------------------------------------------------------------
| CHECKOUT UX
|--------------------------------------------------------------------------
*/

.woocommerce-checkout label{

display:block;

font-size:14px;

font-weight:700;

margin-bottom:10px;

color:#0f172a;

}

.select2-container .select2-selection--single{

height:56px !important;

border-radius:14px !important;

border:
1px solid #cbd5e1 !important;

padding:
12px 10px !important;

}

.select2-container--default
.select2-selection--single
.select2-selection__arrow{

top:14px !important;

right:10px !important;

}

.woocommerce-checkout-review-order-table{

width:100%;

border-collapse:collapse;

}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{

padding:16px 0;

border-bottom:
1px solid #e2e8f0;

}

.woocommerce-checkout-payment{

margin-top:30px;

}

.wc_payment_method{

padding:18px;

border:
1px solid #e2e8f0;

border-radius:16px;

margin-bottom:15px;

background:#fff;

}

.woocommerce-info,
.woocommerce-message{

border:none;

background:#eff6ff;

padding:18px 22px;

border-radius:14px;

}

/*
|--------------------------------------------------------------------------
| PRODUCT CARD MODERN
|--------------------------------------------------------------------------
*/

.rcc-products-grid{

display:grid;

grid-template-columns:
repeat(auto-fill,minmax(280px,1fr));

gap:28px;

}

.rcc-product-card{

background:#fff;

border-radius:22px;

overflow:hidden;

border:
1px solid #e2e8f0;

transition:.35s;

position:relative;

display:flex;

flex-direction:column;

}

.rcc-product-card:hover{

transform:
translateY(-5px);

box-shadow:
0 18px 40px
rgba(0,0,0,.08);

}

/*
|--------------------------------------------------------------------------
| IMAGE
|--------------------------------------------------------------------------
*/

.rcc-product-image{

position:relative;

background:#f8fafc;

aspect-ratio:1/1;

display:flex;

align-items:center;

justify-content:center;

overflow:hidden;

}

.rcc-product-image img{

width:100%;

height:100%;

object-fit:contain;

padding:24px;

transition:.35s;

}

.rcc-product-card:hover
.rcc-product-image img{

transform:scale(1.04);

}

/*
|--------------------------------------------------------------------------
| HOVER BUTTONS
|--------------------------------------------------------------------------
*/

.rcc-product-hover{

position:absolute;

top:50%;

left:50%;

transform:
translate(-50%,-50%);

display:flex;

gap:12px;

opacity:0;

visibility:hidden;

transition:.25s;

}

.rcc-product-card:hover
.rcc-product-hover{

opacity:1;

visibility:visible;

}

.rcc-hover-btn{

width:50px;

height:50px;

border:none;

border-radius:50%;

background:#fff;

font-size:18px;

cursor:pointer;

box-shadow:
0 10px 25px
rgba(0,0,0,.12);

transition:.25s;

}

.rcc-hover-btn:hover{

background:#00719D;

color:#fff;

transform:translateY(-3px);

}

/*
|--------------------------------------------------------------------------
| CONTENT
|--------------------------------------------------------------------------
*/

.rcc-product-content{

padding:22px;

display:flex;

flex-direction:column;

gap:10px;

height:100%;

}

.rcc-product-category{

font-size:11px;

font-weight:400;

letter-spacing:.8px;

text-transform:uppercase;

color:#64748b;

}

.rcc-product-title{

font-size:17px;

line-height:1.45;

font-weight:700;

margin:0;

min-height:52px;

}

.rcc-product-title a{

text-decoration:none;

color:#111827;

}

/*
|--------------------------------------------------------------------------
| PRICE + BUTTON
|--------------------------------------------------------------------------
*/

.rcc-product-bottom{

display:flex;

justify-content:space-between;

align-items:end;

gap:14px;

margin-top:8px;

}

.rcc-product-prices{

display:flex;

flex-direction:column;

gap:4px;

}

.rcc-old-price{

font-size:13px;

color:#94a3b8;

text-decoration:line-through;

font-weight:500;

line-height:1;

}

.rcc-product-price{

font-size:24px;

font-weight:800;

color:#000;

line-height:1;

}

/*
|--------------------------------------------------------------------------
| BUTTON
|--------------------------------------------------------------------------
*/

.rcc-add-to-cart-btn{

height:44px;

padding:0 20px;

border:none;

border-radius:12px;

background:#00719D;

color:#fff;

font-size:12px;

font-weight:700;

cursor:pointer;

transition:.25s;

white-space:nowrap;

}

.rcc-add-to-cart-btn:hover{

background:#0099d4;

}

@media(max-width:991px){

.rcc-checkout-container{

grid-template-columns:
1fr;

}

.rcc-checkout-sidebar{

position:relative;

top:0;

}

}

@media(max-width:767px){

    .rcc-mega-grid{
        grid-template-columns:1fr;
    }
    
    .rcc-mega-dropdown{
        position:relative;
        width:100%;
        padding:25px;
    }
    
    .rcc-qv-grid{

        grid-template-columns:1fr;
    }

    #rcc-quick-view-content{

        padding:30px;
    }
    .rcc-product-layout{
        grid-template-columns:1fr;
    }

    .rcc-gallery{
        position:relative;
        top:0;
    }

    .rcc-title{
        font-size:34px;
    }
        .rcc-qv-grid{
        grid-template-columns:1fr;
    }

    .rcc-quick-view-content{
        padding:25px;
    }
        .rcc-shop-grid{
        grid-template-columns:1fr;
    }

    .rcc-sidebar{
        position:relative;
        top:0;
    }

}