/* ===================================================================
   Qasim Furniture — Storefront Theme
   =================================================================== */
:root{
  --brand:#8B5E34;
  --brand-dark:#5C3D21;
  --brand-light:#A9784E;
  --gold:#C8A24B;
  --gold-dark:#A9863A;
  --cream:#F7F3EE;
  --cream-2:#EFE7DD;
  --ink:#2B2621;
  --ink-soft:#5c554d;
  --muted:#8A7E72;
  --line:#E7DED3;
  --success:#3d8b5f;
  --radius:14px;
  --radius-sm:10px;
  --shadow-sm:0 4px 14px rgba(43,38,33,.06);
  --shadow:0 10px 30px rgba(43,38,33,.10);
  --shadow-lg:0 22px 50px rgba(43,38,33,.16);
  --font-head:'Playfair Display',Georgia,serif;
  --font-body:'Poppins',system-ui,-apple-system,sans-serif;
}

*{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:#fff;
  font-size:15px;
  line-height:1.6;
}
h1,h2,h3,h4,h5,.font-head{font-family:var(--font-head);font-weight:700;color:var(--ink);letter-spacing:-.01em}
a{text-decoration:none;color:var(--brand);transition:.2s}
a:hover{color:var(--brand-dark)}
.text-brand{color:var(--brand)!important}
.text-gold{color:var(--gold)!important}
.text-muted-2{color:var(--muted)!important}
.bg-cream{background:var(--cream)!important}
.bg-cream-2{background:var(--cream-2)!important}
.bg-ink{background:var(--ink)!important}
.section{padding:70px 0}
.section-sm{padding:45px 0}
.container{max-width:1240px}

/* ---------- Buttons ---------- */
.btn{border-radius:50px;font-weight:600;padding:.62rem 1.5rem;transition:.25s;letter-spacing:.2px}
.btn-brand{background:var(--brand);border:1px solid var(--brand);color:#fff}
.btn-brand:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-gold{background:var(--gold);border:1px solid var(--gold);color:#2b2621}
.btn-gold:hover{background:var(--gold-dark);border-color:var(--gold-dark);color:#fff;transform:translateY(-2px)}
.btn-outline-brand{border:1px solid var(--brand);color:var(--brand);background:transparent}
.btn-outline-brand:hover{background:var(--brand);color:#fff}
.btn-dark2{background:var(--ink);color:#fff;border:1px solid var(--ink)}
.btn-dark2:hover{background:#000;color:#fff;transform:translateY(-2px)}
.btn-lg{padding:.85rem 2rem;font-size:1rem}
.btn-sm{padding:.4rem 1rem;font-size:.82rem}

/* ---------- Top bar ---------- */
.topbar{background:var(--ink);color:#e9e1d7;font-size:.82rem;padding:8px 0}
.topbar a{color:#e9e1d7}
.topbar a:hover{color:var(--gold)}

/* ---------- Header / Navbar ---------- */
.site-header{position:sticky;top:0;z-index:1030;background:#fff;box-shadow:var(--shadow-sm)}
.navbar-brand{font-family:var(--font-head);font-weight:800;font-size:1.7rem;color:var(--brand)!important;line-height:1}
.navbar-brand span{color:var(--gold)}
.navbar-brand small{display:block;font-family:var(--font-body);font-size:.5rem;letter-spacing:3px;color:var(--muted);font-weight:500;text-transform:uppercase}
.main-nav .nav-link{color:var(--ink)!important;font-weight:500;padding:.6rem 1rem!important;position:relative}
.main-nav .nav-link:hover,.main-nav .nav-link.active{color:var(--brand)!important}
.main-nav .nav-link.active::after,.main-nav .nav-link:hover::after{content:"";position:absolute;left:1rem;right:1rem;bottom:.35rem;height:2px;background:var(--gold)}
.header-icon{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);background:var(--cream);position:relative;transition:.2s}
.header-icon:hover{background:var(--brand);color:#fff}
.header-icon .badge{position:absolute;top:-4px;right:-4px;background:var(--gold);color:#2b2621;font-size:.62rem;font-weight:700}
.search-box .form-control{border-radius:50px;border:1px solid var(--line);background:var(--cream);padding-left:1.1rem}
.search-box .btn{border-radius:50px}
.dropdown-menu{border:none;box-shadow:var(--shadow);border-radius:var(--radius-sm);padding:.5rem}
.dropdown-item{border-radius:8px;padding:.5rem .9rem;font-weight:500}
.dropdown-item:hover{background:var(--cream);color:var(--brand)}

/* ---------- Hero slider ---------- */
.hero{position:relative}
.hero .slide{position:relative;height:min(82vh,640px);background-size:cover;background-position:center;display:flex;align-items:center}
.hero .slide::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,22,16,.72) 0%,rgba(28,22,16,.35) 55%,rgba(28,22,16,.05) 100%)}
.hero .slide-content{position:relative;z-index:2;color:#fff;max-width:600px}
.hero .badge-pill{display:inline-block;background:rgba(200,162,75,.95);color:#2b2621;padding:.4rem 1.1rem;border-radius:50px;font-weight:600;font-size:.78rem;letter-spacing:1px;text-transform:uppercase;margin-bottom:1.2rem}
.hero h1{font-size:clamp(2.1rem,5vw,3.8rem);color:#fff;line-height:1.08;margin-bottom:1rem}
.hero p{font-size:1.12rem;color:#f0e9df;margin-bottom:1.8rem;max-width:480px}
.carousel-indicators [data-bs-target]{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;opacity:.8}
.carousel-indicators .active{background:var(--gold);border-color:var(--gold)}
.carousel-control-prev,.carousel-control-next{width:6%;opacity:.7}

/* ---------- Feature strip ---------- */
.feature-strip{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.feature-item{display:flex;align-items:center;gap:14px;padding:22px 10px}
.feature-item i{font-size:1.9rem;color:var(--brand)}
.feature-item h6{margin:0;font-weight:600;font-family:var(--font-body)}
.feature-item small{color:var(--muted)}

/* ---------- Section heading ---------- */
.section-head{margin-bottom:2.6rem}
.section-head .eyebrow{color:var(--gold);font-weight:600;letter-spacing:3px;text-transform:uppercase;font-size:.78rem;display:block;margin-bottom:.5rem}
.section-head h2{font-size:clamp(1.7rem,3.5vw,2.5rem);margin:0}
.section-head p{color:var(--muted);margin-top:.6rem;margin-bottom:0}

/* ---------- Category cards ---------- */
.cat-card{position:relative;border-radius:var(--radius);overflow:hidden;display:block;height:260px;box-shadow:var(--shadow-sm)}
.cat-card img{width:100%;height:100%;object-fit:cover;transition:.6s}
.cat-card:hover img{transform:scale(1.08)}
.cat-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(28,22,16,.78),rgba(28,22,16,.05) 60%)}
.cat-card .cat-body{position:absolute;left:0;right:0;bottom:0;padding:20px;z-index:2;color:#fff}
.cat-card h5{color:#fff;margin:0 0 2px}
.cat-card small{color:#e6ddd0}
.cat-card .go{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--brand);display:flex;align-items:center;justify-content:center;transform:translateY(-6px);opacity:0;transition:.3s;z-index:2}
.cat-card:hover .go{transform:translateY(0);opacity:1}

/* ---------- Product card ---------- */
.product-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.3s;height:100%;display:flex;flex-direction:column}
.product-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px);border-color:transparent}
.product-thumb{position:relative;overflow:hidden;aspect-ratio:1/1;background:var(--cream)}
.product-thumb img{width:100%;height:100%;object-fit:cover;transition:.6s}
.product-card:hover .product-thumb img{transform:scale(1.07)}
.product-badges{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px;z-index:3}
.pbadge{font-size:.68rem;font-weight:700;padding:.3rem .6rem;border-radius:50px;letter-spacing:.4px;text-transform:uppercase}
.pbadge-sale{background:#d9534f;color:#fff}
.pbadge-new{background:var(--brand);color:#fff}
.pbadge-out{background:#6c757d;color:#fff}
.product-actions{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:8px;z-index:3}
.paction{width:40px;height:40px;border-radius:50%;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);border:none;transform:translateX(60px);opacity:0;transition:.28s}
.product-card:hover .paction{transform:translateX(0);opacity:1}
.paction:nth-child(2){transition-delay:.05s}
.paction:hover{background:var(--brand);color:#fff}
.paction.active{background:var(--brand);color:#fff}
.product-cart-btn{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;transform:translateY(20px);opacity:0;transition:.3s}
.product-card:hover .product-cart-btn{transform:translateY(0);opacity:1}
.product-body{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1}
.product-cat{font-size:.72rem;color:var(--gold);text-transform:uppercase;letter-spacing:1px;font-weight:600}
.product-title{font-size:.98rem;font-weight:600;margin:.25rem 0 .4rem;line-height:1.3}
.product-title a{color:var(--ink)}
.product-title a:hover{color:var(--brand)}
.product-rating{color:var(--gold);font-size:.8rem;margin-bottom:.5rem}
.product-rating span{color:var(--muted);margin-left:4px}
.product-price{margin-top:auto;display:flex;align-items:baseline;gap:8px}
.product-price .now{font-size:1.15rem;font-weight:700;color:var(--brand)}
.product-price .was{font-size:.9rem;color:var(--muted);text-decoration:line-through}

/* ---------- Deal / promo ---------- */
.deal-banner{background:linear-gradient(120deg,var(--brand-dark),var(--brand));border-radius:var(--radius);color:#fff;overflow:hidden;position:relative}
.deal-banner .p-inner{padding:48px}
.countdown{display:flex;gap:12px;margin-top:18px}
.countdown .box{background:rgba(255,255,255,.15);border-radius:10px;padding:10px 14px;text-align:center;min-width:64px}
.countdown .box b{display:block;font-size:1.5rem;line-height:1;font-family:var(--font-head)}
.countdown .box small{font-size:.65rem;text-transform:uppercase;letter-spacing:1px;opacity:.85}

/* ---------- Blog cards ---------- */
.blog-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;height:100%;transition:.3s}
.blog-card:hover{box-shadow:var(--shadow);transform:translateY(-5px)}
.blog-card .thumb{aspect-ratio:16/10;overflow:hidden}
.blog-card .thumb img{width:100%;height:100%;object-fit:cover;transition:.5s}
.blog-card:hover .thumb img{transform:scale(1.06)}
.blog-card .body{padding:20px}
.blog-meta{font-size:.76rem;color:var(--muted);margin-bottom:.5rem}
.blog-card h5{font-size:1.08rem;line-height:1.35}
.blog-card h5 a{color:var(--ink)}
.blog-card h5 a:hover{color:var(--brand)}

/* ---------- Testimonials ---------- */
.testi-card{background:#fff;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-sm);height:100%;border:1px solid var(--line)}
.testi-card .stars{color:var(--gold)}
.testi-card p{color:var(--ink-soft);font-style:italic}
.testi-user{display:flex;align-items:center;gap:12px;margin-top:16px}
.testi-user img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.testi-user b{display:block}
.testi-user small{color:var(--muted)}

/* ---------- Newsletter ---------- */
.newsletter{background:var(--ink);color:#fff;border-radius:var(--radius);overflow:hidden}
.newsletter .inner{padding:50px}
.newsletter h3{color:#fff}
.newsletter .form-control{border-radius:50px 0 0 50px;border:none;padding:.8rem 1.4rem}
.newsletter .btn{border-radius:0 50px 50px 0}

/* ---------- Footer ---------- */
.site-footer{background:#221d18;color:#c9beb0;padding-top:64px}
.site-footer h6{color:#fff;font-family:var(--font-body);font-weight:600;margin-bottom:1.2rem;letter-spacing:.5px}
.site-footer a{color:#c9beb0}
.site-footer a:hover{color:var(--gold)}
.footer-links li{margin-bottom:.6rem}
.footer-brand{font-family:var(--font-head);font-size:1.6rem;font-weight:800;color:#fff}
.footer-brand span{color:var(--gold)}
.social-ico{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;color:#fff;margin-right:8px}
.social-ico:hover{background:var(--gold);color:#2b2621}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:48px;padding:22px 0;font-size:.85rem}
.footer-contact li{display:flex;gap:12px;margin-bottom:1rem}
.footer-contact i{color:var(--gold);font-size:1.1rem;margin-top:3px}

/* ---------- Breadcrumb / page hero ---------- */
.page-hero{background:linear-gradient(rgba(43,38,33,.55),rgba(43,38,33,.55)),var(--cream-2);background-size:cover;background-position:center;padding:64px 0;color:#fff;text-align:center}
.page-hero h1{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem)}
.breadcrumb{justify-content:center;margin:0}
.breadcrumb a{color:#f0e9df}
.breadcrumb .breadcrumb-item.active{color:var(--gold)}
.breadcrumb-item+.breadcrumb-item::before{color:#cbb9a5}

/* ---------- Shop / filters ---------- */
.filter-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:24px}
.filter-card h6{font-weight:600;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}
.filter-list a{display:flex;justify-content:space-between;color:var(--ink-soft);padding:.35rem 0}
.filter-list a:hover,.filter-list a.active{color:var(--brand);font-weight:600}
.filter-list .count{color:var(--muted);font-size:.82rem}
.toolbar{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 18px;margin-bottom:24px}
.form-select,.form-control{border-color:var(--line)}
.form-control:focus,.form-select:focus{border-color:var(--brand-light);box-shadow:0 0 0 .2rem rgba(139,94,52,.15)}

/* ---------- Product detail ---------- */
.gallery-main{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--cream);aspect-ratio:1/1}
.gallery-main img{width:100%;height:100%;object-fit:cover}
.gallery-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.gallery-thumbs img{width:74px;height:74px;object-fit:cover;border-radius:10px;border:2px solid var(--line);cursor:pointer;transition:.2s}
.gallery-thumbs img:hover,.gallery-thumbs img.active{border-color:var(--brand)}
.price-block .now{font-size:2rem;font-weight:700;color:var(--brand)}
.price-block .was{font-size:1.2rem;color:var(--muted);text-decoration:line-through;margin-left:10px}
.price-block .save{background:#fdeceb;color:#d9534f;padding:.25rem .7rem;border-radius:50px;font-weight:600;font-size:.85rem;margin-left:10px}
.qty-input{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:50px;overflow:hidden}
.qty-input button{border:none;background:transparent;width:42px;height:44px;font-size:1.1rem;color:var(--ink)}
.qty-input input{width:52px;text-align:center;border:none;font-weight:600}
.spec-table td{padding:.6rem 0;border-bottom:1px solid var(--line)}
.spec-table td:first-child{color:var(--muted);width:42%;font-weight:500}
.nav-tabs-custom{border-bottom:2px solid var(--line)}
.nav-tabs-custom .nav-link{border:none;color:var(--ink-soft);font-weight:600;padding:.8rem 1.4rem}
.nav-tabs-custom .nav-link.active{color:var(--brand);border-bottom:2px solid var(--brand);background:transparent;margin-bottom:-2px}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--cream);border-radius:50px;padding:.4rem .9rem;font-size:.82rem;color:var(--ink-soft);font-weight:500}

/* ---------- Reviews ---------- */
.review-item{border-bottom:1px solid var(--line);padding:20px 0}
.review-avatar{width:46px;height:46px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.rating-input{direction:rtl;display:inline-flex;font-size:1.6rem}
.rating-input input{display:none}
.rating-input label{color:#dcd3c6;cursor:pointer;padding:0 2px}
.rating-input input:checked ~ label,.rating-input label:hover,.rating-input label:hover ~ label{color:var(--gold)}

/* ---------- Cart ---------- */
.cart-table img{width:80px;height:80px;object-fit:cover;border-radius:10px}
.summary-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:sticky;top:100px}
.summary-card .line{display:flex;justify-content:space-between;padding:.5rem 0;color:var(--ink-soft)}
.summary-card .total{border-top:1px solid var(--line);margin-top:8px;padding-top:14px;font-size:1.25rem;font-weight:700;color:var(--ink)}

/* ---------- Auth ---------- */
.auth-wrap{min-height:calc(100vh - 60px);display:flex;align-items:center;background:var(--cream)}
.auth-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.auth-side{background:linear-gradient(160deg,var(--brand),var(--brand-dark));color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:center}
/* Compact auth pages so they fit on a single screen (footer hidden on these pages) */
.auth-compact{min-height:calc(100vh - 172px);padding-top:1rem;padding-bottom:1rem}
.auth-compact .auth-side{padding:30px}
.auth-compact .auth-side h2{font-size:1.45rem;margin-bottom:.35rem}
.auth-compact .p-4 h3{font-size:1.35rem}
.auth-compact .auth-side .mt-auto{padding-top:1.2rem!important}
.auth-compact .form-label{font-size:.76rem}
.auth-compact .form-control{padding:.48rem .8rem}
.auth-compact .btn{padding:.58rem 1.5rem}
.auth-compact .dev-credit-inline,.auth-compact [class*="mt-4"]{margin-top:1rem!important}
@media (max-height:700px){
  .auth-compact .auth-side .mt-auto{padding-top:.8rem!important}
  .auth-compact .p-4{padding:1.5rem!important}
}

/* ---------- Account ---------- */
.acct-nav{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.acct-nav a{display:flex;align-items:center;gap:12px;padding:14px 20px;color:var(--ink-soft);border-bottom:1px solid var(--line);font-weight:500}
.acct-nav a:hover,.acct-nav a.active{background:var(--cream);color:var(--brand)}
.acct-nav a i{width:20px}
.stat-tile{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.stat-tile .ico{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem}

/* ---------- Misc ---------- */
.badge-soft{background:var(--cream);color:var(--brand);font-weight:600;padding:.4rem .8rem;border-radius:50px}
.wa-float{position:fixed;bottom:24px;right:24px;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.7rem;box-shadow:var(--shadow-lg);z-index:1040}
.wa-float:hover{color:#fff;transform:scale(1.08)}
.divider-x{height:1px;background:var(--line);border:0}
.rounded-2xl{border-radius:var(--radius)!important}

@media (max-width:991px){
  .hero .slide{height:60vh}
  .section{padding:48px 0}
  .newsletter .inner,.deal-banner .p-inner{padding:32px}
}
