/* =========================================================
   Axis Office — Premium Office Furniture Gallery
   Primary palette derived from brand logo & product photography
   ========================================================= */
:root{
  --ax-black:#17181a;
  --ax-charcoal:#242527;
  --ax-graphite:#3a3b3d;
  --ax-gold:#c69a3d;
  --ax-gold-soft:#d9b768;
  --ax-olive:#6b7355;
  --ax-cream:#f5f3ee;
  --ax-linen:#efece4;
  --ax-white:#ffffff;
  --ax-grey:#6d6d6d;
  --ax-grey-light:#9a9a9a;
  --ax-border:#e4e1d8;
  --ax-radius:2px;
  --ax-shadow:0 10px 30px rgba(23,24,26,.08);
  --ax-shadow-lg:0 20px 50px rgba(23,24,26,.14);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Jost','Helvetica Neue',Arial,sans-serif;
  color:var(--ax-black);
  background:var(--ax-white);
  font-size:15.5px;
  line-height:1.65;
}
h1,h2,h3,h4,h5,.font-serif{
  font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  font-weight:600;
  letter-spacing:.2px;
  color:var(--ax-black);
}
a{color:var(--ax-black);text-decoration:none;transition:.2s ease;}
a:hover{color:var(--ax-gold);}
img{max-width:100%;display:block;}
.container{max-width:1360px;}

.eyebrow{
  text-transform:uppercase;letter-spacing:3px;font-size:12px;font-weight:600;
  color:var(--ax-gold);margin-bottom:10px;display:inline-block;
}
.section-title{font-size:2.4rem;margin-bottom:.4rem;}
.section-sub{color:var(--ax-grey);max-width:560px;margin:0 auto;}
.btn{border-radius:var(--ax-radius);letter-spacing:1px;text-transform:uppercase;font-size:13px;font-weight:600;padding:.75rem 1.7rem;transition:.25s ease;}
.btn-dark{background:var(--ax-black);border-color:var(--ax-black);color:#fff;}
.btn-dark:hover{background:var(--ax-gold);border-color:var(--ax-gold);color:#fff;}
.btn-outline-dark{border-color:var(--ax-black);color:var(--ax-black);}
.btn-outline-dark:hover{background:var(--ax-black);color:#fff;}
.btn-gold{background:var(--ax-gold);border-color:var(--ax-gold);color:#fff;}
.btn-gold:hover{background:var(--ax-black);border-color:var(--ax-black);color:#fff;}
.btn-outline-light{border-color:#fff;color:#fff;}
.btn-outline-light:hover{background:#fff;color:var(--ax-black);}
.btn-sm-pill{border-radius:30px;padding:.4rem 1rem;font-size:12px;}

/* ---------------- TOPBAR / HEADER ---------------- */
.topbar{background:var(--ax-black);color:#cfcfcf;font-size:12.5px;letter-spacing:.4px;}
.topbar a{color:#cfcfcf;}
.topbar a:hover{color:var(--ax-gold-soft);}

.site-header{background:#fff;border-bottom:1px solid var(--ax-border);position:sticky;top:0;z-index:1000;transition:box-shadow .2s;}
.site-header.scrolled{box-shadow:0 4px 18px rgba(0,0,0,.06);}
.site-header .navbar-brand img{height:42px;width:auto;}
.main-nav .nav-link{
  font-size:13.5px;text-transform:uppercase;letter-spacing:1px;font-weight:600;
  color:var(--ax-black);padding:.5rem 1rem !important;position:relative;
}
.main-nav .nav-link:hover,.main-nav .nav-link.active{color:var(--ax-gold);}
.header-icons a{color:var(--ax-black);position:relative;margin-left:6px;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;}
.header-icons a:hover{background:var(--ax-linen);color:var(--ax-gold);}
.badge-count{
  position:absolute;top:-2px;right:-2px;background:var(--ax-gold);color:#fff;
  font-size:10px;width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;
}
.dropdown-menu{border:none;box-shadow:var(--ax-shadow-lg);border-radius:var(--ax-radius);}
.mega-menu{width:100%;border-top:3px solid var(--ax-gold);}

/* ---------------- HERO ---------------- */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;background-size:cover;background-position:center;overflow:hidden;}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,16,17,.72) 0%,rgba(15,16,17,.35) 55%,rgba(15,16,17,.1) 100%);}
.hero-content{position:relative;z-index:2;color:#fff;max-width:640px;}
.hero-content .eyebrow{color:var(--ax-gold-soft);}
.hero-content h1{font-size:3.6rem;color:#fff;line-height:1.1;margin-bottom:1.2rem;}
.hero-content p{color:#e6e4dd;font-size:1.05rem;margin-bottom:2rem;max-width:480px;}

/* ---------------- CATEGORY GRID ---------------- */
.cat-card{position:relative;overflow:hidden;border-radius:var(--ax-radius);display:block;aspect-ratio:4/5;}
.cat-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.cat-card:hover img{transform:scale(1.08);}
.cat-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.72) 100%);}
.cat-card .cat-label{position:absolute;left:0;right:0;bottom:0;padding:1.2rem;z-index:2;color:#fff;}
.cat-card .cat-label h5{color:#fff;margin:0;font-size:1.15rem;}
.cat-card .cat-label span{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--ax-gold-soft);}

/* ---------------- PRODUCT CARD ---------------- */
.product-card{position:relative;background:#fff;transition:.25s ease;}
.product-card .thumb{position:relative;overflow:hidden;aspect-ratio:1/1;background:var(--ax-linen);border-radius:var(--ax-radius);}
.product-card .thumb img{width:100%;height:100%;object-fit:cover;transition:opacity .5s ease,transform .6s ease;}
.product-card .thumb img.img-hover{position:absolute;inset:0;opacity:0;}
.product-card:hover .thumb img.img-main{opacity:0;}
.product-card:hover .thumb img.img-hover{opacity:1;transform:scale(1.05);}
.product-card .badges{position:absolute;top:10px;left:10px;z-index:3;display:flex;flex-direction:column;gap:6px;}
.product-card .badge-tag{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;padding:.3rem .6rem;border-radius:2px;font-weight:700;}
.badge-new{background:var(--ax-olive);color:#fff;}
.badge-sale{background:#b5433a;color:#fff;}
.badge-featured{background:var(--ax-gold);color:#fff;}
.product-card .quick-actions{position:absolute;top:10px;right:10px;z-index:3;display:flex;flex-direction:column;gap:8px;opacity:0;transform:translateX(8px);transition:.25s ease;}
.product-card:hover .quick-actions{opacity:1;transform:translateX(0);}
.qa-btn{width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid var(--ax-border);display:flex;align-items:center;justify-content:center;box-shadow:var(--ax-shadow);color:var(--ax-black);}
.qa-btn:hover{background:var(--ax-black);color:#fff;}
.qa-btn.active{background:#b5433a;color:#fff;border-color:#b5433a;}
.product-card .info{padding:1rem .2rem;}
.product-card .cat-name{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--ax-grey-light);}
.product-card .p-name{font-size:15px;font-weight:600;margin:.25rem 0;color:var(--ax-black);}
.product-card .p-name a{color:inherit;}
.product-card .price{font-weight:700;font-size:15.5px;}
.price .old{color:var(--ax-grey-light);text-decoration:line-through;font-weight:400;font-size:13px;margin-left:6px;}
.add-cart-btn{width:100%;margin-top:.6rem;background:var(--ax-black);color:#fff;border:none;padding:.55rem;text-transform:uppercase;font-size:12px;letter-spacing:1px;border-radius:var(--ax-radius);}
.add-cart-btn:hover{background:var(--ax-gold);}
.stock-low{color:#b5433a;font-size:12px;}
.stock-out{color:var(--ax-grey-light);font-size:12px;}

/* ---------------- SECTIONS ---------------- */
.section-py{padding:5.5rem 0;}
.bg-linen{background:var(--ax-linen);}
.bg-charcoal{background:var(--ax-black);color:#e7e5df;}
.bg-charcoal h2,.bg-charcoal h3,.bg-charcoal h4{color:#fff;}

.why-item i{font-size:2rem;color:var(--ax-gold);margin-bottom:1rem;display:block;}

.promo-banner{position:relative;border-radius:var(--ax-radius);overflow:hidden;min-height:380px;display:flex;align-items:center;background-size:cover;background-position:center;}
.promo-banner::after{content:"";position:absolute;inset:0;background:rgba(15,16,17,.55);}
.promo-banner .content{position:relative;z-index:2;color:#fff;padding:3rem;}

.testimonial-card{background:#fff;padding:2rem;border:1px solid var(--ax-border);border-radius:var(--ax-radius);height:100%;}
.testimonial-card .stars{color:var(--ax-gold);letter-spacing:2px;}

.gallery-item{position:relative;overflow:hidden;border-radius:var(--ax-radius);aspect-ratio:1/1;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.gallery-item:hover img{transform:scale(1.06);}
.gallery-item .overlay{position:absolute;inset:0;background:rgba(15,16,17,.5);opacity:0;transition:.3s;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff;text-align:center;}
.gallery-item:hover .overlay{opacity:1;}

/* ---------------- FOOTER ---------------- */
.site-footer{background:var(--ax-black);color:#b9b7b0;}
.site-footer h6{color:#fff;text-transform:uppercase;letter-spacing:1.5px;font-size:12.5px;margin-bottom:1.3rem;}
.site-footer a{color:#b9b7b0;}
.site-footer a:hover{color:var(--ax-gold-soft);}
.site-footer .footer-bottom{border-top:1px solid #333;font-size:12.5px;color:#8b8a85;}
.social-icons a{width:34px;height:34px;border:1px solid #444;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-right:6px;}
.social-icons a:hover{background:var(--ax-gold);border-color:var(--ax-gold);color:#fff;}
.newsletter-form input{border-radius:var(--ax-radius) 0 0 var(--ax-radius);border:1px solid #444;background:#1f2022;color:#fff;}
.newsletter-form button{border-radius:0 var(--ax-radius) var(--ax-radius) 0;}

/* ---------------- BREADCRUMB ---------------- */
.breadcrumb-bar{background:var(--ax-linen);padding:1rem 0;}
.breadcrumb{margin:0;font-size:13px;}

/* ---------------- SHOP / FILTERS ---------------- */
.filter-box{border:1px solid var(--ax-border);border-radius:var(--ax-radius);padding:1.3rem;margin-bottom:1.3rem;}
.filter-box h6{text-transform:uppercase;letter-spacing:1px;font-size:12.5px;margin-bottom:.9rem;font-weight:700;}
.filter-box .form-check{margin-bottom:.4rem;font-size:14px;}
.sort-bar{border:1px solid var(--ax-border);border-radius:var(--ax-radius);padding:.8rem 1.2rem;}

/* ---------------- PRODUCT DETAIL ---------------- */
.pd-thumb-main{border:1px solid var(--ax-border);border-radius:var(--ax-radius);overflow:hidden;aspect-ratio:1/1;background:var(--ax-linen);cursor:zoom-in;}
.pd-thumb-main img{width:100%;height:100%;object-fit:cover;}
.pd-thumb-list img{width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--ax-border);border-radius:var(--ax-radius);cursor:pointer;opacity:.7;}
.pd-thumb-list img.active{opacity:1;border-color:var(--ax-black);}
.pd-title{font-size:2rem;}
.pd-price{font-size:1.7rem;font-weight:700;}
.variant-swatch{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:40px;padding:0 .8rem;border:1px solid var(--ax-border);border-radius:var(--ax-radius);margin-right:8px;margin-bottom:8px;cursor:pointer;font-size:13px;}
.variant-swatch.active{border-color:var(--ax-black);background:var(--ax-black);color:#fff;}
.color-swatch{width:32px;height:32px;border-radius:50%;border:2px solid var(--ax-border);display:inline-block;margin-right:8px;cursor:pointer;}
.color-swatch.active{border-color:var(--ax-gold);}
.qty-input{width:120px;}
.qty-input .btn{padding:.5rem .8rem;}
.nav-tabs .nav-link{color:var(--ax-grey);border:none;border-bottom:2px solid transparent;text-transform:uppercase;font-size:12.5px;letter-spacing:1px;font-weight:600;}
.nav-tabs .nav-link.active{color:var(--ax-black);border-bottom-color:var(--ax-gold);background:none;}

/* ---------------- CART / CHECKOUT ---------------- */
.cart-table td{vertical-align:middle;}
.cart-thumb{width:76px;height:76px;object-fit:cover;border-radius:var(--ax-radius);border:1px solid var(--ax-border);}
.summary-box{border:1px solid var(--ax-border);border-radius:var(--ax-radius);padding:1.5rem;background:var(--ax-linen);}
.checkout-step{border:1px solid var(--ax-border);border-radius:var(--ax-radius);padding:1.6rem;margin-bottom:1.3rem;}
.addr-card{border:1px solid var(--ax-border);border-radius:var(--ax-radius);padding:1rem;cursor:pointer;}
.addr-card.selected{border-color:var(--ax-gold);background:#fbf6ea;}
.payment-option{border:1px solid var(--ax-border);border-radius:var(--ax-radius);padding:1rem;cursor:pointer;}
.payment-option.selected{border-color:var(--ax-black);}

/* ---------------- ACCOUNT ---------------- */
.account-sidebar a{display:block;padding:.6rem 1rem;border-radius:var(--ax-radius);color:var(--ax-black);font-size:14px;}
.account-sidebar a.active,.account-sidebar a:hover{background:var(--ax-black);color:#fff;}
.status-badge{padding:.3rem .7rem;border-radius:30px;font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;font-weight:700;}
.status-pending{background:#fde9c8;color:#8a5a00;}
.status-confirmed,.status-processing{background:#d6e4f0;color:#264b73;}
.status-shipped,.status-ready{background:#e1dcf5;color:#4b3486;}
.status-delivered{background:#d9ecd7;color:#2c6b2f;}
.status-cancelled,.status-refunded{background:#f5d6d6;color:#8a2626;}
.status-paid{background:#d9ecd7;color:#2c6b2f;}
.status-unpaid{background:#f5d6d6;color:#8a2626;}
.status-partially_paid{background:#fde9c8;color:#8a5a00;}

/* ---------------- MISC ---------------- */
.empty-state{text-align:center;padding:4rem 1rem;}
.empty-state i{font-size:3rem;color:var(--ax-grey-light);margin-bottom:1rem;}
.whatsapp-float{position:fixed;bottom:24px;right:24px;z-index:1200;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;box-shadow:0 6px 20px rgba(0,0,0,.25);}
.whatsapp-float:hover{color:#fff;transform:scale(1.06);}
.star-rating{color:var(--ax-gold);}
.form-control,.form-select{border-radius:var(--ax-radius);border-color:var(--ax-border);padding:.65rem .9rem;}
.form-control:focus,.form-select:focus{border-color:var(--ax-gold);box-shadow:0 0 0 .2rem rgba(198,154,61,.15);}
.card-clean{border:1px solid var(--ax-border);border-radius:var(--ax-radius);}
.toast-container{z-index:2000;}
table.admin-table thead{background:var(--ax-black);color:#fff;}
.brand-logo-strip img{max-height:40px;filter:grayscale(1);opacity:.6;}
.brand-logo-strip img:hover{filter:none;opacity:1;}

@media (max-width:991px){
  .hero{min-height:70vh;}
  .hero-content h1{font-size:2.4rem;}
  .section-py{padding:3.2rem 0;}
}
@media (max-width:575px){
  .hero-content h1{font-size:1.9rem;}
  .section-title{font-size:1.7rem;}
}
