/*
Theme Name: LUNTHE Premium Marketplace
Theme URI: https://lunthe.com
Author: LUNTHE Design Studio
Description: Premium WooCommerce + Dokan marketplace theme.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: lunthe
*/

:root{
 --l-primary:#111827;
 --l-primary-2:#2563eb;
 --l-accent:#ff6b00;
 --l-accent-soft:#fff3eb;
 --l-bg:#f7f8fa;
 --l-white:#fff;
 --l-text:#111827;
 --l-muted:#667085;
 --l-border:#e7e9ee;
 --l-green:#16a34a;
 --l-red:#dc2626;
 --l-radius:18px;
 --l-radius-sm:12px;
 --l-shadow:0 10px 35px rgba(15,23,42,.07);
 --l-shadow-hover:0 20px 50px rgba(15,23,42,.12);
 --l-font:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;
 background:var(--l-bg);
 color:var(--l-text);
 font-family:var(--l-font);
 line-height:1.55;
 -webkit-font-smoothing:antialiased;
}
a{text-decoration:none}
button,input,select{font:inherit}
img{max-width:100%;display:block}

.lunthe-container{
 width:min(1400px,calc(100% - 40px));
 margin:auto;
}

.lunthe-section{padding:72px 0}
.lunthe-section-header{
 display:flex;
 justify-content:space-between;
 align-items:end;
 gap:20px;
 margin-bottom:28px;
}
.lunthe-section-title{
 margin:0;
 font-size:clamp(28px,3vw,40px);
 line-height:1.1;
 font-weight:800;
 letter-spacing:-.04em;
}
.lunthe-section-subtitle{
 margin:8px 0 0;
 color:var(--l-muted);
 font-size:15px;
}

.lunthe-btn{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:9px;
 min-height:46px;
 padding:0 20px;
 border:0;
 border-radius:12px;
 font-weight:700;
 cursor:pointer;
 transition:.2s ease;
}
.lunthe-btn:hover{transform:translateY(-2px)}
.lunthe-btn-primary{background:#111827;color:white}
.lunthe-btn-primary:hover{background:#000;color:white}
.lunthe-btn-accent{background:var(--l-accent);color:white}
.lunthe-btn-accent:hover{background:#e85c00;color:white}
.lunthe-btn-outline{
 background:white;
 color:#111827;
 border:1px solid var(--l-border);
}
.lunthe-btn-outline:hover{
 border-color:#111827;
 color:#111827;
}
.lunthe-btn-lg{min-height:54px;padding:0 26px;border-radius:14px}

.lunthe-card{
 background:#fff;
 border:1px solid var(--l-border);
 border-radius:var(--l-radius);
 box-shadow:var(--l-shadow);
}

.lunthe-badge-discount{
 position:absolute;
 left:14px;
 top:14px;
 z-index:4;
 padding:6px 9px;
 border-radius:8px;
 background:#111827;
 color:#fff;
 font-size:12px;
 font-weight:800;
}

/* Product grid */
.lunthe-products-grid,
ul.products.lunthe-products-grid{
 display:grid!important;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:22px;
 list-style:none!important;
 margin:0!important;
 padding:0!important;
}
.lunthe-product-card{width:auto!important;margin:0!important}
.lunthe-product-card-inner{
 height:100%;
 background:#fff;
 border:1px solid var(--l-border);
 border-radius:18px;
 overflow:hidden;
 transition:.25s ease;
 position:relative;
}
.lunthe-product-card-inner:hover{
 transform:translateY(-5px);
 box-shadow:var(--l-shadow-hover);
 border-color:#d8dce5;
}
.lunthe-product-thumb-wrap{
 position:relative;
 aspect-ratio:1/1;
 background:#f4f5f7;
 overflow:hidden;
}
.lunthe-product-thumb-wrap img{
 width:100%;
 height:100%;
 object-fit:cover;
 transition:.35s ease;
}
.lunthe-product-card-inner:hover .lunthe-product-thumb-wrap img{
 transform:scale(1.045);
}
.lunthe-product-card-overlay-actions{
 position:absolute;
 top:12px;
 right:12px;
 opacity:0;
 transform:translateY(-5px);
 transition:.2s;
}
.lunthe-product-card-inner:hover .lunthe-product-card-overlay-actions{
 opacity:1;
 transform:none;
}
.lunthe-quickview-btn{
 width:40px;
 height:40px;
 border-radius:50%;
 border:1px solid #eee;
 background:white;
 display:grid;
 place-items:center;
 cursor:pointer;
 box-shadow:0 5px 20px rgba(0,0,0,.1);
}
.lunthe-product-card-body{padding:17px}
.lunthe-product-vendor-meta{
 font-size:12px;
 color:#8a93a3;
 margin-bottom:7px;
}
.lunthe-vendor-name{
 color:#2563eb;
 font-weight:700;
}
.lunthe-product-title{
 margin:0 0 8px;
 font-size:15px;
 line-height:1.4;
 font-weight:700;
}
.lunthe-product-title a{color:#111827}
.lunthe-product-title a:hover{color:#2563eb}
.lunthe-product-rating-wrap{
 min-height:20px;
 color:#f59e0b;
 font-size:13px;
}
.lunthe-product-price-wrap{
 margin:8px 0 14px;
 font-size:18px;
 font-weight:800;
}
.lunthe-product-price-wrap del{
 color:#98a2b3;
 font-size:13px;
 margin-right:6px;
 font-weight:500;
}
.lunthe-product-price-wrap ins{
 color:#111827;
 text-decoration:none;
}
.lunthe-product-card-btn-wrap .button,
.lunthe-product-card-btn-wrap a.button{
 width:100%;
 min-height:42px;
 border-radius:11px!important;
 background:#111827!important;
 color:#fff!important;
 border:0!important;
 font-weight:700!important;
 transition:.2s!important;
}
.lunthe-product-card-btn-wrap .button:hover{
 background:#2563eb!important;
 transform:translateY(-1px);
}

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb{
 width:min(1400px,calc(100% - 40px));
 margin:24px auto!important;
 color:#667085;
 font-size:13px;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
 border:1px solid var(--l-border)!important;
 border-top:3px solid #2563eb!important;
 border-radius:12px!important;
 background:#fff!important;
 box-shadow:var(--l-shadow);
}
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button{
 border-radius:12px!important;
 background:#111827!important;
 color:white!important;
 font-weight:700!important;
 padding:13px 20px!important;
}
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover{
 background:#2563eb!important;
 color:white!important;
}

/* Single product */
.single-product div.product{
 width:min(1400px,calc(100% - 40px));
 margin:30px auto 80px;
}
.single-product .woocommerce-product-gallery{
 background:#fff;
 border:1px solid var(--l-border);
 border-radius:20px;
 padding:18px;
}
.single-product div.product .summary{
 background:#fff;
 border:1px solid var(--l-border);
 border-radius:20px;
 padding:30px;
}
.single-product .product_title{
 font-size:clamp(28px,4vw,44px)!important;
 letter-spacing:-.04em;
 line-height:1.1!important;
 margin-bottom:15px!important;
}
.single-product .price{
 font-size:28px!important;
 font-weight:800!important;
 color:#111827!important;
}
.single-product form.cart{
 display:flex;
 gap:12px;
 align-items:center;
}
.single-product form.cart .quantity input{
 min-height:50px;
 border:1px solid var(--l-border);
 border-radius:11px;
}
.single-product form.cart .single_add_to_cart_button{
 min-height:50px!important;
 background:#111827!important;
 border-radius:12px!important;
}
.single-product .product_meta{
 padding-top:20px;
 border-top:1px solid var(--l-border);
 color:#667085;
 font-size:13px;
}

/* Vendor box */
.lunthe-single-vendor-box{
 display:flex;
 align-items:center;
 gap:15px;
 margin:25px 0;
 padding:16px;
 border:1px solid var(--l-border);
 border-radius:16px;
 background:#fafafa;
}
.lunthe-single-vendor-avatar img{
 width:54px;height:54px;border-radius:50%;object-fit:cover;
}
.lunthe-single-vendor-info{flex:1}
.lunthe-vendor-badge-label{
 font-size:11px;
 text-transform:uppercase;
 letter-spacing:.06em;
 color:#16a34a;
 font-weight:800;
}
.lunthe-single-vendor-name{
 margin:3px 0;
 font-size:16px;
}

/* Shop */
.lunthe-shop-layout-inner{
 display:grid;
 grid-template-columns:250px 1fr;
 gap:30px;
 width:min(1400px,calc(100% - 40px));
 margin:30px auto 70px;
}
.lunthe-shop-sidebar{
 background:#fff;
 border:1px solid var(--l-border);
 border-radius:18px;
 padding:20px;
 height:max-content;
}
.lunthe-shop-main{min-width:0}
.lunthe-shop-toolbar{
 display:flex;
 align-items:center;
 justify-content:space-between;
 padding:14px 18px;
 background:#fff;
 border:1px solid var(--l-border);
 border-radius:14px;
 margin-bottom:22px;
}

/* Seller CTA */
.lunthe-seller-cta-section{padding:40px 0 80px}
.lunthe-seller-cta-card{
 position:relative;
 overflow:hidden;
 background:#111827;
 border-radius:24px;
 padding:55px;
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:50px;
 color:white;
}
.lunthe-seller-cta-title{
 margin:10px 0 14px;
 max-width:700px;
 font-size:clamp(30px,4vw,50px);
 line-height:1.05;
 letter-spacing:-.045em;
}
.lunthe-seller-cta-desc{
 max-width:650px;
 color:#aab2c0;
 font-size:16px;
}
.lunthe-seller-cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.lunthe-seller-cta-stats{
 min-width:190px;
 padding:22px;
 background:rgba(255,255,255,.06);
 border:1px solid rgba(255,255,255,.1);
 border-radius:18px;
}
.lunthe-stat-item{padding:10px 0}
.lunthe-stat-num{font-size:28px;font-weight:800;color:#ff7a00}
.lunthe-stat-lbl{font-size:12px;color:#aab2c0}

/* Search */
.lunthe-search-form{
 display:flex;
 width:100%;
 height:50px;
 background:#f6f7f9;
 border:1px solid #e4e7ec;
 border-radius:13px;
 overflow:visible;
}
.lunthe-search-category-select{display:flex}
.lunthe-search-cat-dropdown{
 border:0;
 border-right:1px solid #e4e7ec;
 background:transparent;
 padding:0 13px;
 outline:0;
 color:#475467;
}
.lunthe-search-input-wrap{position:relative;flex:1}
.lunthe-search-field{
 width:100%;
 height:48px;
 border:0;
 outline:0;
 background:transparent;
 padding:0 15px;
 color:#111827;
}
.lunthe-search-submit{
 height:50px;
 border:0;
 margin:-1px -1px -1px 0;
 padding:0 19px;
 background:#111827;
 color:white;
 border-radius:0 13px 13px 0;
 cursor:pointer;
 font-weight:700;
}
.lunthe-search-suggestions{
 position:absolute;
 top:calc(100% + 9px);
 left:0;
 right:0;
 background:#fff;
 border:1px solid var(--l-border);
 border-radius:14px;
 box-shadow:0 20px 50px rgba(15,23,42,.15);
 z-index:99999;
 overflow:hidden;
}
.lunthe-search-results-list{
 list-style:none;
 margin:0;
 padding:7px;
}
.lunthe-search-results-list a{
 display:flex;
 gap:12px;
 padding:10px;
 border-radius:10px;
 color:#111827;
}
.lunthe-search-results-list a:hover{background:#f7f8fa}
.lunthe-search-results-list img{
 width:50px;height:50px;object-fit:cover;border-radius:8px;
}
.lunthe-search-results-list h4{margin:0 0 3px;font-size:14px}
.lunthe-search-results-list span{color:#2563eb;font-weight:700;font-size:13px}
.lunthe-search-empty{padding:20px;text-align:center;color:#667085}

/* Dokan store */
.lunthe-dokan-store-wrapper{background:#f7f8fa}
.lunthe-store-hero{
 min-height:330px;
 display:flex;
 align-items:end;
 background-size:cover;
 background-position:center;
 position:relative;
}
.lunthe-store-hero:before{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.7));
}
.lunthe-store-hero .lunthe-container{position:relative;width:100%}
.lunthe-store-header-card{
 margin-bottom:-55px;
 position:relative;
 background:#fff;
 border:1px solid var(--l-border);
 border-radius:22px;
 padding:25px;
 display:flex;
 align-items:center;
 gap:20px;
 box-shadow:var(--l-shadow);
}
.lunthe-store-avatar{
 width:90px;height:90px;
 border-radius:50%;
 object-fit:cover;
 border:4px solid white;
 box-shadow:0 5px 20px rgba(0,0,0,.1);
}
.lunthe-store-header-meta{flex:1}
.lunthe-store-badge-verified{
 display:inline-flex;
 gap:6px;
 align-items:center;
 color:#16a34a;
 font-size:12px;
 font-weight:800;
}
.lunthe-store-title{
 margin:4px 0;
 font-size:30px;
 letter-spacing:-.03em;
}
.lunthe-store-sub-meta{color:#667085;font-size:13px}
.lunthe-store-body{padding-top:90px;padding-bottom:70px}

/* Mobile drawer */
.lunthe-mobile-drawer{display:none}
.lunthe-mobile-nav-toggle{
 display:none;
 border:0;
 background:#f2f4f7;
 width:42px;height:42px;
 border-radius:11px;
 place-items:center;
}

/* Responsive */
@media(max-width:1100px){
 .lunthe-products-grid,
 ul.products.lunthe-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .lunthe-shop-layout-inner{grid-template-columns:210px 1fr}
 .lunthe-seller-cta-card{padding:40px}
}
@media(max-width:800px){
 .lunthe-container{width:min(100% - 28px,1400px)}
 .lunthe-section{padding:50px 0}
 .lunthe-products-grid,
 ul.products.lunthe-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px}
 .lunthe-shop-layout-inner{display:block;width:min(100% - 28px,1400px)}
 .lunthe-shop-sidebar{display:none}
 .lunthe-seller-cta-card{display:block;padding:30px}
 .lunthe-seller-cta-stats{margin-top:25px}
 .lunthe-store-header-card{margin-bottom:-40px;padding:18px}
 .lunthe-store-avatar{width:68px;height:68px}
 .lunthe-store-title{font-size:22px}
}
@media(max-width:600px){
 .lunthe-header-main{gap:8px}
 .lunthe-search-category-select{display:none}
 .lunthe-search-submit span{display:none}
 .lunthe-search-submit{padding:0 15px}
 .lunthe-products-grid,
 ul.products.lunthe-products-grid{gap:10px!important}
 .lunthe-product-card-body{padding:12px}
 .lunthe-product-title{font-size:14px}
 .lunthe-product-price-wrap{font-size:16px}
 .lunthe-product-card-btn-wrap .button{font-size:12px!important}
 .single-product div.product{width:calc(100% - 28px)}
 .single-product div.product .summary{padding:20px}
 .single-product .product_title{font-size:28px!important}
 .lunthe-single-vendor-box{align-items:flex-start}
 .lunthe-store-header-card{display:block;text-align:center}
 .lunthe-store-avatar{margin:-55px auto 12px}
 .lunthe-store-body{padding-top:70px}
 .lunthe-section-header{align-items:flex-start;flex-direction:column}
}
