:root{
  --black:#0b0b0a;
  --black-2:#161513;
  --gold:#a8a8a8;
  --gold-light:#e4e4e4;
  --gold-dim:#7c7c7c;
  --white:#f7f5f0;
  --ink:#221f19;
  --line:#2a2722;
  --radius:2px;
  --serif:'Playfair Display', Georgia, 'Times New Roman', serif;
  --sans:'Inter', -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;overflow-x:hidden;max-width:100%;}
body{
  background:var(--white);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.5;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
h1,h2,h3,h4{font-family:var(--serif);margin:0;font-weight:700;letter-spacing:.01em;}
.container{max-width:1240px;margin:0 auto;padding:0 24px;}
.eyebrow{
  font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dim);
  font-weight:600;
}

/* ---------- Announcement bar ---------- */
.announce{
  background:var(--black);
  color:var(--gold-light);
  text-align:center;
  font-size:12.5px;
  letter-spacing:.06em;
  padding:8px 12px;
}

/* ---------- Header ---------- */
header.site-header{
  background:var(--black);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:100;
}
.nav-wrap{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px;max-width:1240px;margin:0 auto;gap:20px;
}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.brand img{height:40px;width:auto;}
.brand-text{color:var(--white);font-family:var(--serif);font-size:22px;letter-spacing:.04em;}
.brand-sub{display:block;color:var(--gold-dim);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;margin-top:1px;}

nav.main-nav{display:flex;align-items:center;gap:14px;}
.nav-item{position:relative;display:flex;align-items:center;}
.nav-link{
  display:flex;align-items:center;gap:5px;
  color:var(--white);font-size:11.5px;letter-spacing:.03em;text-transform:uppercase;
  padding:10px 0;border-bottom:1px solid transparent;transition:.2s;white-space:nowrap;
}
.nav-link:hover,.nav-link.active{color:var(--gold-light);border-color:var(--gold);}
.nav-link .chevron{transition:transform .2s;opacity:.75;flex-shrink:0;}
.nav-item.has-dropdown:hover .nav-link .chevron{transform:rotate(180deg);}

.dropdown-panel{
  position:absolute;top:100%;left:0;transform:translateY(4px);
  background:var(--black-2);border:1px solid var(--line);min-width:200px;
  padding:8px 0;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .16s ease,transform .16s ease;
  box-shadow:0 16px 34px rgba(0,0,0,.45);z-index:200;
}
.nav-item.has-dropdown:hover .dropdown-panel{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);
}
/* "Others" sits near the right edge of the nav — open its panel leftward so it doesn't run off-screen */
.nav-item:nth-child(7) .dropdown-panel{left:auto;right:0;}
.dropdown-link{
  display:block;padding:9px 22px;font-size:12.5px;letter-spacing:.03em;text-transform:none;
  color:#cfcabb;transition:.15s;
}
.dropdown-link:hover{color:var(--gold-light);background:rgba(255,255,255,.04);}
.dropdown-link-all{
  color:var(--gold-light);font-weight:600;border-bottom:1px solid var(--line);
  margin-bottom:6px;padding-bottom:12px;
}

.header-actions{display:flex;align-items:center;gap:16px;}
.icon-btn{
  color:var(--white);position:relative;display:flex;align-items:center;justify-content:center;
  background:none;border:0;cursor:pointer;padding:4px;
}
.icon-btn svg{display:block;}
.icon-btn:hover{color:var(--gold-light);}
.icon-btn .badge{
  position:absolute;top:-6px;right:-8px;background:var(--gold);color:var(--black);
  font-size:10px;font-weight:700;border-radius:50%;width:16px;height:16px;
  display:flex;align-items:center;justify-content:center;
}
.search-wrap{display:flex;align-items:center;}
.search-box{
  max-width:0;overflow:hidden;opacity:0;transition:max-width .25s ease,opacity .2s ease,padding .25s ease;
  background:var(--black-2);border:1px solid var(--line);border-radius:20px;
}
.search-wrap.open .search-box{max-width:220px;opacity:1;padding:0 4px;margin-left:8px;}
.search-box input{
  background:transparent;border:0;outline:0;color:var(--white);font-size:13px;
  width:190px;padding:8px 12px;
}
.search-box input::placeholder{color:#8a8578;}
.hamburger{display:none;color:var(--white);background:none;border:0;cursor:pointer;padding:4px;}

/* ---------- Hero slider ---------- */
.hero-slider{
  position:relative;overflow:hidden;background:var(--black);
  aspect-ratio:1920/820;width:100%;height:auto;max-height:820px;
}
.slide{
  position:absolute;inset:0;opacity:0;transition:opacity 1s ease;
  background-size:cover;background-position:center;
}
.slide.active{opacity:1;}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.55));}
.slide-caption{
  position:absolute;left:0;right:0;bottom:16%;text-align:center;color:var(--white);z-index:2;
}
.slide-caption .btn{margin-top:16px;}
.slider-dots{position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:center;gap:10px;z-index:3;}
.slider-dots button{
  width:8px;height:8px;border-radius:50%;border:none;
  background:rgba(255, 255, 255, 0.4);cursor:pointer;
  padding:0;
  transition:width .3s ease,background-color .3s ease,border-radius .3s ease;
}
.slider-dots button.active{
  width:24px;border-radius:4px;background:var(--white);
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;padding:12px 30px;border:1px solid var(--gold);
  background:transparent;color:var(--white);font-size:12.5px;letter-spacing:.14em;
  text-transform:uppercase;cursor:pointer;transition:.2s;border-radius:var(--radius);
}
.btn:hover{background:var(--gold);color:var(--black);}
.btn-solid{background:var(--gold);color:var(--black);border-color:var(--gold);}
.btn-solid:hover{background:var(--gold-light);border-color:var(--gold-light);}
.btn-dark{border-color:var(--ink);color:var(--ink);}
.btn-dark:hover{background:var(--ink);color:var(--white);}
.btn-block{display:block;width:100%;text-align:center;}
.btn[disabled]{opacity:.45;cursor:not-allowed;}
.btn[disabled]:hover{background:transparent;color:var(--white);}

/* ---------- Category strip ---------- */
.cat-strip{padding-top:56px;padding-bottom:36px;}
.cat-strip h2{text-align:center;font-size:30px;margin-bottom:8px;}
.cat-strip p.sub{text-align:center;color:#6b675e;margin-bottom:32px;font-size:14px;}
.cat-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:16px;}
.cat-card{
  position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--black);
  border-radius:var(--radius);
}
.cat-card img{width:100%;height:100%;object-fit:cover;opacity:.72;transition:.35s;}
.cat-card:hover img{opacity:.9;transform:scale(1.04);}
.cat-card span{
  position:absolute;left:0;right:0;bottom:0;padding:14px 10px;text-align:center;
  color:var(--white);font-family:var(--serif);font-size:15px;letter-spacing:.03em;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.75));
}

/* ---------- Product grid ---------- */
.section{padding-top:48px;padding-bottom:48px;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:10px;}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.product-card{background:var(--white);}
.product-thumb{position:relative;aspect-ratio:1/1;overflow:hidden;background:#eee;border-radius:var(--radius);}
.product-thumb img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.product-card:hover .product-thumb img{transform:scale(1.05);}
.product-name{margin-top:14px;font-size:15px;font-weight:600;}
.product-cat{font-size:11.5px;color:var(--gold-dim);text-transform:uppercase;letter-spacing:.08em;margin-top:2px;}
.product-price{margin-top:6px;font-family:var(--serif);font-size:17px;color:var(--ink);}
.product-card .add-btn{margin-top:10px;width:100%;font-size:11px;padding:9px;}

/* ---------- Banner / promo ---------- */
.promo-banner{
  background:var(--black);color:var(--white);text-align:center;padding:70px 24px;margin:56px 0;
}
.promo-banner h2{font-size:34px;color:var(--white);}
.promo-banner p{color:var(--gold-light);margin-top:10px;font-size:14px;letter-spacing:.05em;}
.promo-banner .btn{margin-top:22px;}

/* ---------- Footer ---------- */
footer{background:var(--black);color:#cfcabb;margin-top:60px;}
.footer-top{padding-top:56px;padding-bottom:30px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;}
.footer-brand img{height:42px;margin-bottom:12px;}
.footer-brand p{font-size:13px;color:#a8a293;max-width:280px;line-height:1.6;}
footer h4{color:var(--gold-light);font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;font-family:var(--sans);}
footer ul{list-style:none;margin:0;padding:0;}
footer li{margin-bottom:10px;}
footer a{font-size:13.5px;color:#cfcabb;}
footer a:hover{color:var(--gold-light);}
.footer-contact li{color:#cfcabb;font-size:13.5px;}
.social-row{display:flex;gap:12px;margin-top:16px;}
.social-row a{
  width:38px;height:38px;border:1px solid var(--white);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:var(--white);transition:.2s;
}
.social-row a:hover{border-color:var(--gold-light);background:rgba(255,255,255,0.1);transform:scale(1.05);}
.footer-bottom{
  border-top:1px solid var(--line);padding-top:18px;padding-bottom:18px;text-align:center;font-size:12px;color:#7d7869;
}

/* ---------- Newsletter & WhatsApp Chat Widget ---------- */
.footer-newsletter-text {
  font-size: 13.5px;
  color: #a8a293;
  margin-bottom: 16px;
  line-height: 1.5;
}
.footer-newsletter-form {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  align-items: center;
}
.footer-newsletter-form input[type="email"] {
  background: var(--black-2);
  border: 1px solid var(--line);
  color: var(--white);
  padding: 10px 18px;
  border-radius: 25px;
  font-size: 13.5px;
  outline: none;
  flex: 1;
  min-width: 0;
  transition: border-color 0.2s;
}
.footer-newsletter-form input[type="email"]:focus {
  border-color: var(--gold-light);
}
.footer-newsletter-form .newsletter-submit-btn {
  background: var(--white);
  color: var(--black);
  border: none;
  padding: 10px 24px;
  border-radius: 25px;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  letter-spacing: normal;
  text-transform: none;
  transition: opacity 0.2s, background-color 0.2s;
  white-space: nowrap;
}
.footer-newsletter-form .newsletter-submit-btn:hover {
  background: var(--gold-light);
  color: var(--black);
}
.footer-newsletter-disclaimer {
  font-size: 12px;
  color: #a8a293;
  line-height: 1.5;
  margin-top: 12px;
}
.footer-newsletter-disclaimer a {
  color: var(--white);
  text-decoration: none;
  font-size: 12px;
}
.footer-newsletter-disclaimer a strong {
  font-weight: 700;
}
.footer-newsletter-disclaimer a:hover {
  text-decoration: underline;
}

/* WhatsApp widget styling */
.whatsapp-row {
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 1000;
}
.whatsapp-chat-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
.whatsapp-icon {
  background-color: #25D366;
  color: var(--white);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 4px 14px rgba(0,0,0,0.18);
}
.whatsapp-chat-link:hover .whatsapp-icon {
  transform: scale(1.08);
  box-shadow: 0 6px 18px rgba(37, 211, 102, 0.4);
}
.whatsapp-chat-btn {
  background-color: var(--white);
  color: var(--ink);
  padding: 8px 18px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  border: 1px solid #e5e0d8;
  box-shadow: 0 4px 14px rgba(0,0,0,0.08);
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
.whatsapp-chat-link:hover .whatsapp-chat-btn {
  background-color: var(--black);
  color: var(--white);
  border-color: var(--black);
}

@media (max-width: 480px) {
  .whatsapp-row {
    bottom: 16px;
    left: 16px;
  }
  .whatsapp-icon {
    width: 36px;
    height: 36px;
  }
  .whatsapp-icon svg {
    width: 17px;
    height: 17px;
  }
  .whatsapp-chat-btn {
    padding: 6px 14px;
    font-size: 12px;
  }
}


/* ---------- Breadcrumb ---------- */
.breadcrumb{padding:18px 0;font-size:12.5px;color:#8a8578;}
.breadcrumb a{color:#8a8578;}
.breadcrumb a:hover{color:var(--ink);}

/* ---------- Filters ---------- */
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px;}
.filter-bar button{
  padding:8px 18px;border:1px solid var(--line);background:var(--white);
  font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:20px;color:var(--ink);
  border-color:#ddd8ca;
}
.filter-bar button.active{background:var(--black);color:var(--white);border-color:var(--black);}
.subcat-bar{margin-top:-14px;margin-bottom:34px;}
.subcat-bar button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;padding:6px 4px;color:#6b675e;}
.subcat-bar button.active{background:transparent;color:var(--ink);border-bottom-color:var(--gold);}

/* ---------- Product detail ---------- */
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding-top:40px;padding-bottom:70px;}
.pd-gallery-main{aspect-ratio:1/1;overflow:hidden;background:#eee;border-radius:var(--radius);margin-bottom:12px;}
.pd-gallery-main img{width:100%;height:100%;object-fit:cover;}
.pd-thumbs{display:flex;gap:10px;}
.pd-thumbs img{width:80px;height:80px;object-fit:cover;border-radius:var(--radius);cursor:pointer;border:1px solid #eee;opacity:.7;}
.pd-thumbs img.active{opacity:1;border-color:var(--gold);}
.pd-info .eyebrow{margin-bottom:10px;}
.pd-info h1{font-size:32px;margin-bottom:12px;}
.pd-price{font-family:var(--serif);font-size:26px;color:var(--ink);margin-bottom:18px;}
.pd-desc{color:#5b5748;font-size:14.5px;line-height:1.7;margin:0;white-space:pre-line;}

/* ---------- Accordion ---------- */
.pd-accordion {
  margin-top: 10px;
  margin-bottom: 26px;
  border-top: 1px solid #e5e0d8;
}
.accordion-item {
  border-bottom: 1px solid #e5e0d8;
}
.accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 16px 0;
  background: none;
  border: 0;
  cursor: pointer;
  text-align: left;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--ink);
  transition: color .2s;
}
.accordion-header:hover {
  color: var(--gold-dim);
}
.accordion-header .icon {
  font-size: 18px;
  font-weight: 400;
  color: var(--gold-dim);
  line-height: 1;
}
.accordion-content {
  display: none;
  padding-bottom: 18px;
  font-size: 14px;
  line-height: 1.6;
  color: #6b675e;
}
.accordion-content p {
  margin: 0;
}
.qty-row{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
.qty-box{display:flex;align-items:center;border:1px solid #ddd8ca;border-radius:20px;}
.qty-box button{background:none;border:0;width:34px;height:34px;font-size:16px;cursor:pointer;}
.qty-box span{min-width:26px;text-align:center;font-size:14px;}
.pd-actions{display:flex;gap:14px;margin-bottom:26px;}
.pd-meta{font-size:12.5px;color:#8a8578;border-top:1px solid #eee;padding-top:18px;line-height:2;}

/* ---------- Cart / Checkout ---------- */
.cart-table{width:100%;border-collapse:collapse;}
.cart-table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:#8a8578;padding:10px 0;border-bottom:1px solid #eee;}
.cart-table td{padding:18px 0;border-bottom:1px solid #f1efe8;font-size:14px;vertical-align:middle;}
.cart-item{display:flex;gap:14px;align-items:center;}
.cart-item img{width:74px;height:74px;object-fit:cover;border-radius:var(--radius);}
.cart-remove{color:#b34b3c;font-size:12px;cursor:pointer;background:none;border:0;padding:0;margin-top:6px;}
.cart-summary{background:#f7f5f0;border:1px solid #ece8dc;padding:26px;border-radius:var(--radius);}
.cart-summary .row{display:flex;justify-content:space-between;font-size:14px;margin-bottom:12px;color:#5b5748;}
.cart-summary .row.total{font-size:18px;color:var(--ink);font-weight:700;border-top:1px solid #ece8dc;padding-top:14px;margin-top:8px;}
.cart-layout{display:grid;grid-template-columns:2fr 1fr;gap:40px;padding-top:40px;padding-bottom:70px;}
.empty-state{text-align:center;padding:80px 20px;color:#8a8578;}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-grid.full{grid-template-columns:1fr;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#6b675e;margin-bottom:6px;}
.field input,.field textarea,.field select{
  width:100%;padding:12px 14px;border:1px solid #ddd8ca;border-radius:var(--radius);font-size:14px;font-family:var(--sans);
  background:var(--white);color:var(--ink);
}
.field textarea{resize:vertical;min-height:80px;}
.pay-options{display:flex;flex-direction:column;gap:10px;margin:20px 0;}
.pay-option{
  border:1px solid #ddd8ca;border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;
}
.pay-option.disabled{opacity:.5;cursor:not-allowed;}
.pay-option.selected{border-color:var(--gold);background:#f2f2f0;}
.pay-option strong{font-size:14px;}
.pay-option small{display:block;color:#8a8578;font-size:12px;margin-top:2px;}
.tag-soon{background:var(--gold);color:var(--black);font-size:10px;padding:2px 8px;border-radius:10px;letter-spacing:.05em;margin-left:8px;}

/* ---------- About / Contact pages ---------- */
.page-hero{background:var(--black);color:var(--white);text-align:center;padding:80px 24px;}
.page-hero .eyebrow{color:var(--gold-light);}
.page-hero h1{font-size:38px;margin-top:10px;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-top:56px;padding-bottom:80px;}
.contact-info li{display:flex;gap:14px;margin-bottom:22px;font-size:14.5px;}
.contact-info b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--gold-dim);margin-bottom:2px;}

/* ---------- Toast ---------- */
#toast{
  position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--black);color:var(--white);padding:12px 24px;border-radius:30px;font-size:13px;
  opacity:0;pointer-events:none;transition:.3s;z-index:999;border:1px solid var(--gold);
}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ---------- Responsive ---------- */
@media(max-width:1000px){
  .cat-grid{grid-template-columns:repeat(3,1fr);}
  .product-grid{grid-template-columns:repeat(3,1fr);}
  .product-detail{grid-template-columns:1fr;gap:30px;}
  .cart-layout{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;}
}
@media(max-width:720px){
  nav.main-nav{display:none;}
  .hamburger{display:block;}
  .search-wrap.open .search-box{max-width:150px;}
  /* Mobile Category Cards & Grid (Matches Mockup) */
  .cat-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .cat-card {
    display: flex !important;
    flex-direction: column !important;
    aspect-ratio: 4 / 5 !important;
    position: relative !important;
    overflow: hidden !important;
    background: #261e18 !important;
    border-radius: 6px !important;
    text-decoration: none !important;
  }
  .cat-card img {
    flex: 1 1 auto !important;
    width: 100% !important;
    height: calc(100% - 46px) !important;
    min-height: 0 !important;
    object-fit: cover !important;
    opacity: 0.88 !important;
    transition: transform 0.3s ease, opacity 0.3s ease !important;
  }
  .cat-card span {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    height: 46px !important;
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #2a2019 !important;
    color: #ffffff !important;
    font-family: var(--serif) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    padding: 0 8px !important;
    text-align: center !important;
  }
  .cat-card:last-child {
    grid-column: 1 / -1 !important;
    aspect-ratio: 16 / 9 !important;
  }
  .cat-card:last-child img {
    height: calc(100% - 46px) !important;
  }
  .product-grid{grid-template-columns:repeat(2,1fr);gap:16px;}
  .hero-slider{aspect-ratio:1920/820;}
  .slide-caption h1{font-size:26px !important;}
  .footer-top{grid-template-columns:1fr;padding-top:40px;padding-bottom:10px;}
  .form-grid{grid-template-columns:1fr;}
  .nav-wrap{padding:12px 16px;}

}
nav.main-nav.open{
  display:flex;position:absolute;top:100%;left:0;right:0;background:var(--black);
  flex-direction:column;align-items:stretch;padding:10px 24px 20px;gap:2px;
  border-top:1px solid var(--line);max-height:80vh;overflow-y:auto;
}
nav.main-nav.open .nav-item{display:flex;flex-direction:column;align-items:stretch;}
nav.main-nav.open .nav-link{padding:12px 0;border-bottom:1px solid var(--line);justify-content:space-between;}
nav.main-nav.open .nav-item.has-dropdown .nav-link .chevron{transition:transform .2s;}
nav.main-nav.open .nav-item.open .nav-link .chevron{transform:rotate(180deg);}
nav.main-nav.open .dropdown-panel{
  position:static;opacity:1;visibility:visible;pointer-events:auto;transform:none;
  background:transparent;border:0;box-shadow:none;padding:0 0 6px;display:none;
}
nav.main-nav.open .nav-item.open .dropdown-panel{display:block;}
nav.main-nav.open .dropdown-link{padding:10px 0 10px 16px;color:#a8a49a;}
nav.main-nav.open .dropdown-link-all{border-bottom:0;margin-bottom:0;padding-bottom:10px;}

/* ---------- Custom Design Features ---------- */
.badge-new {
  animation: pulse-badge 2s infinite;
}
@keyframes pulse-badge {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

.upload-zone {
  border: 2px dashed #ddd8ca;
  background: rgba(255, 255, 255, 0.5);
  border-radius: var(--radius);
  padding: 40px 20px;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.upload-zone:hover {
  border-color: var(--black);
  background: rgba(255, 255, 255, 0.8);
}
.upload-zone input[type="file"] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.upload-icon {
  font-size: 32px;
  color: var(--gold-dim);
}
.upload-preview {
  max-width: 100%;
  max-height: 200px;
  object-fit: contain;
  border-radius: var(--radius);
  margin-top: 10px;
  display: none;
}

/* Status Tags */
.status-tag {
  display: inline-block;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 20px;
}
.status-tag.pending {
  background: #fcf8e3;
  color: #c09853;
  border: 1px solid #faebcc;
}
.status-tag.approved {
  background: #dff0d8;
  color: #3c763d;
  border: 1px solid #d6e9c6;
}
.status-tag.rejected {
  background: #f2dede;
  color: #a94442;
  border: 1px solid #ebccd1;
}
.status-tag.clarification_needed {
  background: #d9edf7;
  color: #31708f;
  border: 1px solid #bce8f1;
}
.status-tag.pending_payment {
  background: #fcf8e3;
  color: #c09853;
  border: 1px solid #faebcc;
}
.status-tag.paid {
  background: #dff0d8;
  color: #3c763d;
  border: 1px solid #d6e9c6;
}
.status-tag.shipped {
  background: #d9edf7;
  color: #31708f;
  border: 1px solid #bce8f1;
}
.status-tag.cancelled {
  background: #f2dede;
  color: #a94442;
  border: 1px solid #ebccd1;
}

/* Admin Panel & Tracking Lists */
.request-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
  margin-top: 30px;
}
.request-card {
  background: #fff;
  border: 1px solid #ece8dc;
  border-radius: var(--radius);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.request-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 1px solid #f1efe8;
  padding-bottom: 12px;
}
.request-card-title {
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 700;
  color: var(--ink);
}
.request-card-date {
  font-size: 12px;
  color: var(--gold-dim);
}
.request-card-image {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: var(--radius);
  background: #fcfbf9;
  border: 1px solid #f1efe8;
}
.request-card-details {
  font-size: 13.5px;
  color: #5b5748;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.request-card-details div b {
  color: var(--ink);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.05em;
}
.request-card-actions {
  display: flex;
  gap: 10px;
  margin-top: auto;
  border-top: 1px solid #f1efe8;
  padding-top: 16px;
}

/* Request Drawer / Form overlay for Admin */
.admin-action-box {
  background: #fbfaf7;
  border: 1px solid #e0dbce;
  border-radius: var(--radius);
  padding: 16px;
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ---------- Product Page Actions Row (Ask a Question & Share) ---------- */
.product-actions-row {
  display: flex;
  gap: 24px;
  margin-bottom: 24px;
  font-family: var(--sans);
  font-size: 14px;
}
.product-actions-row button {
  background: none;
  border: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  color: #4a4638;
  cursor: pointer;
  padding: 0;
  font-family: var(--sans);
  transition: color 0.15s;
}
.product-actions-row button:hover {
  color: var(--black);
}
.product-actions-row button svg {
  flex-shrink: 0;
}

/* Question Modal Styles */
.question-modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(11, 11, 10, 0.6);
  z-index: 9999;
  justify-content: center;
  align-items: center;
  font-family: var(--sans);
  backdrop-filter: blur(2px);
}
.question-modal {
  background: var(--white);
  width: 95%;
  max-width: 480px;
  padding: 32px;
  border-radius: var(--radius);
  position: relative;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
  box-sizing: border-box;
}
.question-modal .close-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: var(--gold-dim);
  line-height: 1;
  transition: color 0.15s;
}
.question-modal .close-btn:hover {
  color: var(--black);
}
.question-modal h3 {
  margin-top: 0;
  margin-bottom: 6px;
  font-family: var(--serif);
  font-size: 24px;
  color: var(--ink);
}
.question-modal p.subtitle {
  margin-top: 0;
  margin-bottom: 24px;
  font-size: 13.5px;
  color: var(--gold-dim);
}

/* Share Dropdown Popover */
.share-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  background: var(--white);
  border: 1px solid #e0dbce;
  border-radius: var(--radius);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  z-index: 100;
  min-width: 180px;
  overflow: hidden;
}
.share-dropdown button {
  display: flex !important;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px 18px;
  border: none;
  background: none;
  font-size: 13.5px;
  text-align: left;
  cursor: pointer;
  color: var(--ink);
  font-family: var(--sans);
  border-radius: 0;
  transition: background 0.15s;
}
.share-dropdown button:hover {
  background: #f1efe8;
}
.share-dropdown button + button {
  border-top: 1px solid #ece8dc;
}

.rating-stars {
  display: inline-flex;
  gap: 2px;
  color: #ffd200;
}
.rating-stars.small svg {
  width: 14px;
  height: 14px;
}
.rating-stars.medium svg {
  width: 18px;
  height: 18px;
}
.rating-stars.large svg {
  width: 24px;
  height: 24px;
}
.rating-stars svg {
  fill: currentColor;
  stroke: currentColor;
}
.rating-stars svg.outline {
  fill: none;
  stroke: #e5e0d8;
}

.reviews-section {
  padding: 60px 0;
  border-top: 1px solid #e5e0d8;
  margin-top: 40px;
}
.reviews-section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 32px;
  flex-wrap: wrap;
  gap: 16px;
}
.reviews-summary-big {
  display: flex;
  align-items: center;
  gap: 12px;
}
.reviews-summary-big .avg-num {
  font-family: var(--serif);
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  color: var(--ink);
}

.review-item {
  padding: 24px 0;
  border-bottom: 1px solid #ece8dc;
}
.review-item:last-child {
  border-bottom: none;
}
.review-item-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
  flex-wrap: wrap;
  gap: 8px;
}
.review-item-user {
  font-weight: 600;
  font-size: 14.5px;
  color: var(--ink);
}
.review-item-date {
  font-size: 12.5px;
  color: var(--gold-dim);
  margin-bottom: 8px;
}
.review-item-comment {
  font-size: 14px;
  line-height: 1.6;
  color: #5b5748;
  margin: 0;
  white-space: pre-wrap;
}

/* Star Rating Selector Form Row */
.star-selector {
  display: inline-flex;
  gap: 6px;
  cursor: pointer;
  color: var(--gold-dim);
}
.star-selector svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  transition: color 0.15s, fill 0.15s;
}
.star-selector svg.active {
  color: var(--black);
  fill: var(--black);
}

/* ---------- Recently Viewed Products Section ---------- */
.recently-viewed-scroll-grid {
  display: flex;
  overflow-x: auto;
  gap: 26px;
  padding-bottom: 12px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}
.recently-viewed-scroll-grid::-webkit-scrollbar {
  height: 6px;
}
.recently-viewed-scroll-grid::-webkit-scrollbar-track {
  background: #f0ebe1;
  border-radius: 3px;
}
.recently-viewed-scroll-grid::-webkit-scrollbar-thumb {
  background: var(--gold-dim);
  border-radius: 3px;
}
.recently-viewed-scroll-grid::-webkit-scrollbar-thumb:hover {
  background: var(--black);
}
.recently-viewed-scroll-grid .product-card {
  flex: 0 0 260px;
  margin: 0;
}
@media (max-width: 720px) {
  .recently-viewed-scroll-grid {
    gap: 16px;
  }
  .recently-viewed-scroll-grid .product-card {
    flex: 0 0 180px;
  }
}

/* ---------- Cart Table Wrapping & Scrolling ---------- */
.cart-table-wrap {
  overflow-x: auto;
  width: 100%;
  -webkit-overflow-scrolling: touch;
}

/* ---------- Reviews Histogram column responsiveness ---------- */
@media (max-width: 768px) {
  .review-histogram-col {
    border-left: none !important;
    border-right: none !important;
    padding: 20px 0 !important;
  }
}

/* ---------- Product Gallery Thumbnails wrapping ---------- */
.pd-thumbs {
  flex-wrap: wrap;
}
.pd-thumbs img {
  max-width: calc(25% - 8px);
  height: auto;
  aspect-ratio: 1 / 1;
}

/* ---------- Responsive Hero Slider Height ---------- */
@media (max-width: 720px) {
  .hero-slider {
    aspect-ratio: 4 / 3 !important;
  }
  .slide-caption h1 {
    font-size: 20px !important;
  }
}

/* ---------- Admin panel newsletter grid ---------- */
.admin-newsletter-grid {
  display: grid;
  grid-template-columns: 1.8fr 1.2fr;
  gap: 40px;
  align-items: start;
}
@media (max-width: 768px) {
  .admin-newsletter-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* ---------- Mobile container padding override ---------- */
@media (max-width: 720px) {
  .container {
    padding: 0 16px;
  }
}

/* ---------- Mobile product action buttons stacking ---------- */
@media (max-width: 480px) {
  .pd-actions {
    flex-direction: column;
    gap: 10px;
  }
}


@media (max-width: 480px) {
  .slider-nav-btn {
    width: 36px !important;
    height: 36px !important;
    font-size: 14px !important;
  }
  #slider-prev {
    left: 8px !important;
  }
  #slider-next {
    right: 8px !important;
  }
  .announce {
    font-size: 11px !important;
    padding: 6px 12px !important;
  }
  .slide-caption {
    padding: 0 16px !important;
    bottom: 12% !important;
  }
  /* Header Brand and Actions Mobile Fixes */
  .brand-sub {
    display: none !important;
  }
  .brand-text {
    font-size: 18px !important;
  }
  .brand img {
    height: 32px !important;
  }
  .nav-wrap {
    gap: 10px !important;
    padding: 12px 12px !important;
  }
  .header-actions {
    gap: 10px !important;
  }
}

/* ---------- Grid toggle buttons and bar ---------- */
.grid-toggle-bar {
  display: none;
  gap: 8px;
  align-items: center;
}
.grid-toggle-btn {
  background: none;
  border: 1px solid #ddd8ca;
  color: var(--gold-dim);
  padding: 6px 10px;
  cursor: pointer;
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}
.grid-toggle-btn.active {
  background: var(--black);
  color: var(--white);
  border-color: var(--black);
}

@media (max-width: 720px) {
  .grid-toggle-bar {
    display: flex !important;
  }
  .product-grid.grid-1-col {
    grid-template-columns: 1fr !important;
    gap: 20px;
  }
  .product-grid.grid-2-col {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px;
  }
}

