/*
Theme Name: BazarGhor
Theme URI: https://example.com/bazarghor
Author: BazarGhor Studio
Author URI: https://example.com
Description: একটি মাল্টি-ভেন্ডর মার্কেটপ্লেস ওয়ার্ডপ্রেস থিম, WooCommerce + Dokan/WCFM Marketplace সাপোর্ট সহ। ফ্ল্যাশ সেল, ভেন্ডর স্টল ও মোবাইল-ফার্স্ট বটম নেভিগেশন সহ ডিজাইন করা।
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bazarghor
Tags: e-commerce, multi-vendor, woocommerce, marketplace, custom-menu, translation-ready
WC requires at least: 7.0
WC tested up to: 9.0
*/

:root{
  --ink:#1A1A1A;
  --ink-soft:#5B5B5B;
  --cream:#FFF8F0;
  --paper:#FFFFFF;
  --line:#EFE6DA;
  --vermilion:#E8491D;
  --vermilion-dark:#C23A14;
  --forest:#155A3E;
  --forest-dark:#0E4530;
  --gold:#F5A623;
  --radius:14px;
  --shadow:0 6px 18px rgba(26,26,26,0.08);
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:'Hind Siliguri','Poppins',sans-serif;
  background:var(--cream);
  color:var(--ink);
}
.site-wrap{max-width:480px; margin:0 auto; background:var(--cream); position:relative; padding-bottom:76px;}
@media (min-width:481px){ .site-wrap{border-left:1px solid var(--line); border-right:1px solid var(--line);} }
h1,h2,h3,.brand,.section-title{font-family:'Baloo Da 2','Hind Siliguri',sans-serif;}
.num,.price,.woocommerce-Price-amount{font-family:'Poppins',sans-serif !important;}
a{text-decoration:none; color:inherit;}
img{display:block; max-width:100%; height:auto;}
ul{list-style:none; margin:0; padding:0;}
.screen-reader-text{position:absolute !important; clip:rect(1px,1px,1px,1px); overflow:hidden; height:1px; width:1px;}

/* ===== Topbar ticker (replaces old <marquee>) ===== */
.bazarghor-topbar{display:flex; align-items:center; gap:8px; background:var(--forest-dark); color:#fff; padding:6px 14px; font-size:11.5px; font-weight:600;}
.bazarghor-topbar .ticker-icon{flex-shrink:0; font-size:13px;}
.ticker-viewport{flex:1; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.ticker-track{display:flex; width:max-content; white-space:nowrap; animation:bazarghor-ticker-scroll 16s linear infinite;}
.ticker-item{padding-right:48px;}
@keyframes bazarghor-ticker-scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none;}}

/* ===== Header ===== */
.site-header{position:sticky; top:0; z-index:50; background:linear-gradient(135deg, var(--forest) 0%, var(--forest) 55%, var(--vermilion) 130%);}
.header-inner{padding:12px 14px 18px; display:flex; flex-direction:column; gap:10px;}

/* Row 1 — Logo + Icons */
.header-main{display:flex; align-items:center; justify-content:space-between; gap:10px;}
.header-main .brand{flex-shrink:0; font-weight:800; font-size:17px; color:#fff; letter-spacing:.2px; display:flex; align-items:center; gap:6px;}
.header-main .brand img{height:26px;}
.header-main .brand .dot{color:var(--gold); font-size:18px; line-height:0;}

.header-icons{display:flex; gap:8px; flex-shrink:0;}
.icon-btn{width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.16); border:1px solid rgba(255,255,255,0.22); color:#fff; font-size:16px; position:relative; transition:background .15s ease, transform .15s ease;}
.icon-btn:active{transform:scale(0.92); background:rgba(255,255,255,0.28);}
.icon-btn .badge, .cart-count-bubble{position:absolute; top:-4px; right:-4px; background:var(--gold); color:#1A1A1A; font-size:10px; font-weight:700; border-radius:8px; padding:1px 5px; font-family:'Poppins',sans-serif; box-shadow:0 0 0 2px var(--forest);}

/* Row 2 — Full-width search, thumb-friendly */
.header-search-row{width:100%;}
.header-search{display:flex;}
.header-search .h-search-inner form{display:flex; align-items:center; gap:8px; background:#fff; border-radius:24px; padding:10px 14px; box-shadow:0 4px 14px rgba(0,0,0,0.16); width:100%;}
.header-search input[type="search"],.header-search input[type="text"]{flex:1; border:none; outline:none; font-family:'Hind Siliguri',sans-serif; font-size:13.5px; color:var(--ink); background:none; padding:0;}
.header-search input::placeholder{color:#B4AFA6;}
.header-search .search-cam-btn, .header-search .search-submit-btn{background:none; border:none; color:var(--vermilion); font-size:15px; cursor:pointer; padding:0; flex-shrink:0;}
.header-search .search-submit-btn{display:flex; align-items:center; justify-content:center;}
.h-image-search{display:flex; align-items:center; gap:8px; background:#fff; border-radius:24px; padding:9px 14px; box-shadow:0 4px 14px rgba(0,0,0,0.16); width:100%;}
.h-image-search .img-upload-label{flex:1; font-size:12.5px; color:var(--ink-soft); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; cursor:pointer;}
.h-image-search .img-search-btn,.h-image-search .img-close-btn{background:none; border:none; font-size:14px; color:var(--vermilion); cursor:pointer; flex-shrink:0; padding:0;}

/* ===== Hero float — banner/slider peek-card overlapping the header ===== */
.bazarghor-hero-float{margin:-14px 14px 0; position:relative; z-index:2; border-radius:var(--radius); overflow:hidden; box-shadow:0 10px 22px rgba(26,26,26,0.16); background:var(--paper);}
.bazarghor-hero-float .slider-image-link{display:block; width:100%; aspect-ratio:16/9; overflow:hidden;}
.slider-image{width:100%; height:100%; object-fit:cover; display:block;}
.bazarghor-hero-float .banner-strip-link{display:block; width:100%;}
.banner-strip-image{width:100%; height:auto; display:block;}

/* ===== Category chip scroller ===== */
.cat-scroll{display:flex; gap:12px; overflow-x:auto; padding:16px 14px; background:var(--paper); border-bottom:1px solid var(--line); scrollbar-width:none; scroll-snap-type:x proximity;}
.cat-scroll::-webkit-scrollbar{display:none;}
.cat-chip{flex:0 0 auto; width:64px; text-align:center; font-size:11px; color:var(--ink-soft); font-weight:600; scroll-snap-align:start;}
.cat-chip .ic{width:54px; height:54px; border-radius:16px; margin:0 auto 6px; display:flex; align-items:center; justify-content:center; font-size:24px; background:var(--cream); border:1px solid var(--line); overflow:hidden; transition:transform .15s ease;}
.cat-chip:active .ic{transform:scale(0.92);}
.cat-chip .ic img{width:100%; height:100%; object-fit:cover;}
.cat-chip:nth-child(6n+1) .ic{background:#FFE9DE;}
.cat-chip:nth-child(6n+2) .ic{background:#E1F0E6;}
.cat-chip:nth-child(6n+3) .ic{background:#FDF0D8;}
.cat-chip:nth-child(6n+4) .ic{background:#E5EEFB;}
.cat-chip:nth-child(6n+5) .ic{background:#FBE3EA;}
.cat-chip:nth-child(6n+6) .ic{background:#EAE3F7;}

/* ===== Hero ===== */
.hero{margin:14px; border-radius:18px; overflow:hidden; position:relative; background:linear-gradient(120deg,#FFDCC2,#FFF3E0); padding:22px 18px; min-height:150px; display:flex; flex-direction:column; justify-content:center;}
.hero::after{content:""; position:absolute; right:-30px; bottom:-40px; width:160px; height:160px; background:radial-gradient(circle, rgba(232,73,29,0.18), transparent 70%);}
.hero .eyebrow{display:inline-block; background:var(--vermilion); color:#fff; font-size:11px; font-weight:700; padding:3px 10px; border-radius:20px; margin-bottom:8px; width:fit-content;}
.hero h1{font-size:24px; font-weight:800; color:var(--ink); line-height:1.25; max-width:78%; margin:0;}
.hero p{font-size:12.5px; color:var(--ink-soft); margin-top:6px; max-width:76%;}
.hero .dots{display:flex; gap:5px; margin-top:14px; position:relative; z-index:1;}
.hero .dots span{width:6px; height:6px; border-radius:50%; background:rgba(26,26,26,0.18);}
.hero .dots span.on{background:var(--vermilion); width:16px; border-radius:4px;}

/* ===== Flash sale ===== */
.flash{margin:0 14px 16px; background:var(--ink); border-radius:16px; padding:14px 16px; color:#fff; background-image:radial-gradient(circle at 100% 0%, rgba(232,73,29,0.35), transparent 55%);}
.flash-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:12px;}
.flash-head .title{display:flex; align-items:center; gap:6px; font-weight:700; font-size:15px;}
.flash-head .title .bolt{color:var(--gold);}
.flash-head .timer{display:flex; gap:4px; align-items:center; font-family:'Poppins',sans-serif; font-size:11px; font-weight:700;}
.flash-head .timer span{background:rgba(255,255,255,0.14); padding:3px 6px; border-radius:5px; min-width:20px; text-align:center;}
.flash-scroll{display:flex; gap:10px; overflow-x:auto; scrollbar-width:none;}
.flash-scroll::-webkit-scrollbar{display:none;}
.flash-card{flex:0 0 108px; background:rgba(255,255,255,0.06); border-radius:12px; padding:8px;}
.flash-card .thumb{width:100%; aspect-ratio:1/1; border-radius:8px; background:#2A2A2A; overflow:hidden; display:flex; align-items:center; justify-content:center; font-size:26px; margin-bottom:6px;}
.flash-card .thumb img{width:100%; height:100%; object-fit:cover;}
.flash-card .name{font-size:10.5px; color:#D9D9D9; height:28px; overflow:hidden; margin-bottom:4px;}
.flash-card .price{font-size:13px; font-weight:700; color:var(--gold);}
.flash-card .old{font-size:10px; color:#9C9C9C; text-decoration:line-through; margin-left:4px;}
.flash-card .bar{height:4px; background:#3A3A3A; border-radius:3px; margin-top:6px; overflow:hidden;}
.flash-card .bar i{display:block; height:100%; background:var(--vermilion);}

/* ===== Section heading ===== */
.section{margin:22px 14px;}
.section-head{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:12px;}
.section-title{font-size:17px; font-weight:700;}
.section-title small{display:block; font-family:'Hind Siliguri',sans-serif; font-weight:500; font-size:11.5px; color:var(--ink-soft); margin-top:1px;}
.see-all{font-size:12px; font-weight:600; color:var(--vermilion);}

/* ===== Vendor stalls ===== */
.stalls{display:flex; gap:12px; overflow-x:auto; padding-bottom:4px; scrollbar-width:none;}
.stalls::-webkit-scrollbar{display:none;}
.stall{flex:0 0 128px; background:var(--paper); border-radius:12px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow);}
.stall .awning{height:14px; background:repeating-linear-gradient(115deg, var(--vermilion) 0 8px, var(--forest) 8px 16px);}
.stall .body{padding:10px 10px 12px;}
.stall .logo{width:38px; height:38px; border-radius:50%; background:var(--cream); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; color:var(--forest); margin-bottom:8px; overflow:hidden;}
.stall .logo img{width:100%; height:100%; object-fit:cover;}
.stall .name{font-size:12.5px; font-weight:700; margin-bottom:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.stall .meta{font-size:10.5px; color:var(--ink-soft); display:flex; align-items:center; gap:3px;}
.stall .meta .star{color:var(--gold);}
.stall .visit{margin-top:8px; font-size:10.5px; font-weight:700; color:var(--forest); border:1px solid var(--forest); text-align:center; padding:4px; border-radius:20px;}

/* ===== Product tabs + grid (also used to skin WooCommerce loops) ===== */
.tabs{display:flex; gap:8px; margin-bottom:14px;}
.tab-btn{font-size:12.5px; font-weight:600; padding:6px 14px; border-radius:20px; background:var(--paper); border:1px solid var(--line); color:var(--ink-soft); cursor:pointer;}
.tab-btn.active{background:var(--forest); color:#fff; border-color:var(--forest);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.grid, ul.products{display:grid !important; grid-template-columns:1fr 1fr; gap:12px; margin:0 !important; padding:0 !important;}
.card, ul.products li.product{background:var(--paper); border-radius:14px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); position:relative; list-style:none; width:auto !important; margin:0 !important; padding:0 !important; float:none !important;}
.card .badge, .onsale{position:absolute; top:8px; left:8px; background:var(--vermilion); color:#fff; font-size:10px; font-weight:700; padding:2px 7px; border-radius:6px; z-index:2;}
.card .fav{position:absolute; top:8px; right:8px; width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,0.85); display:flex; align-items:center; justify-content:center; font-size:13px; z-index:2;}
.card .thumb, ul.products li.product img{aspect-ratio:1/1; object-fit:cover; background:linear-gradient(145deg,#F3EEE4,#FBF6EE); display:flex; align-items:center; justify-content:center; font-size:34px; color:#C9BFAE; width:100%;}
.card .info{padding:10px 10px 12px; position:relative;}
.card .vendor-tag{font-size:10px; color:var(--forest); font-weight:600; margin-bottom:3px;}
.card .title, ul.products li.product .woocommerce-loop-product__title{font-size:12.5px; font-weight:500; line-height:1.35; max-height:34px; overflow:hidden; margin:0 0 6px;}
.card .price-row{display:flex; align-items:baseline; gap:6px;}
.card .price{font-size:15px; font-weight:800; color:var(--vermilion);}
.card .old{font-size:11px; color:#B4AFA6; text-decoration:line-through;}
.card .rating{display:flex; align-items:center; gap:4px; margin-top:5px; font-size:11px; color:var(--ink-soft);}
.card .rating .star{color:var(--gold);}
.card .cart-add{position:absolute; bottom:10px; right:10px; width:28px; height:28px; border-radius:50%; background:var(--forest); color:#fff; display:flex; align-items:center; justify-content:center; font-size:15px; border:none;}

/* ===== Sell-with-us banner ===== */
.sell-banner{margin:22px 14px; border-radius:16px; padding:20px; text-align:center; background:linear-gradient(120deg, var(--forest-dark), var(--forest)); color:#fff;}
.sell-banner h3{font-size:17px; margin-bottom:4px;}
.sell-banner p{font-size:12px; color:#D7E9DF; margin-bottom:12px;}
.sell-banner .btn{background:var(--gold); color:#1A1A1A; font-weight:700; font-size:13px; border:none; padding:9px 22px; border-radius:24px; display:inline-block;}

/* ===== Footer ===== */
.site-footer{margin:26px 14px 10px; font-size:11px; color:var(--ink-soft); text-align:center; line-height:1.7;}
.site-footer .brand{justify-content:center; color:var(--forest); font-size:15px; margin-bottom:6px;}
.footer-widgets{padding:6px 14px 0;}
.footer-widgets .widget{margin-bottom:14px; font-size:12px;}
.footer-widgets .widget h2,.footer-widgets .widget .widgettitle{font-size:13px; font-weight:700; margin-bottom:8px; color:var(--ink);}

/* ===== Bottom nav ===== */
.bottom-nav{position:fixed; left:50%; transform:translateX(-50%); bottom:0; width:100%; max-width:480px; background:#fff; border-top:1px solid var(--line); display:flex; z-index:60; box-shadow:0 -4px 14px rgba(0,0,0,0.06);}
.bottom-nav a{flex:1; display:flex; flex-direction:column; align-items:center; gap:3px; padding:9px 0 8px; font-size:10.5px; font-weight:600; color:#A7A199; position:relative;}
.bottom-nav a .ic{font-size:19px;}
.bottom-nav a.active{color:var(--vermilion);}
.bottom-nav a .cart-count-bubble{position:absolute; top:2px; right:22%; background:var(--vermilion); color:#fff; font-size:9px; font-weight:700; border-radius:8px; padding:0 4px; min-width:14px; text-align:center; font-family:'Poppins',sans-serif;}

/* ===== Generic page/content ===== */
.page-head{padding:16px 14px 4px;}
.page-head h1,.page-head h2{font-size:19px; font-weight:700;}
.entry-content{padding:0 14px 20px; font-size:13.5px; line-height:1.8;}
.entry-content img{border-radius:12px; margin:10px 0;}

/* ===== WooCommerce overrides ===== */
.woocommerce ul.products li.product .button{background:var(--forest); color:#fff; border-radius:20px; font-size:11.5px; padding:6px 12px; border:none;}
.woocommerce span.onsale{left:8px; top:8px; background:var(--vermilion);}
.woocommerce div.product .woocommerce-tabs{padding:0 14px;}
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{background:var(--vermilion); color:#fff; border-radius:24px; font-weight:700; border:none; padding:11px 20px;}
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover{background:var(--vermilion-dark);}
.woocommerce table.shop_table{border-radius:12px; overflow:hidden; border:1px solid var(--line);}
.woocommerce-message, .woocommerce-info{border-top-color:var(--forest) !important;}
.woocommerce-message::before, .woocommerce-info::before{color:var(--forest) !important;}
