
/* IHS Responsive Heritage Theme — no blue palette */
:root{
  --ihs-charcoal:#2D2926;
  --ihs-charcoal-2:#403833;
  --ihs-wine:#5A2F36;
  --ihs-wine-dark:#3D2026;
  --ihs-brass:#B08D57;
  --ihs-brass-soft:#D8C3A0;
  --ihs-ivory:#F8F3EC;
  --ihs-cream:#FFFDF9;
  --ihs-taupe:#D8C9BA;
  --ihs-sage:#7A8173;
  --ihs-text:#2D2926;
  --ihs-muted:#746C66;
  --ihs-line:rgba(88,69,53,.16);
  --ihs-shadow:0 16px 44px rgba(50,40,32,.10);

  /* Replace old blue-oriented aliases */
  --navy:var(--ihs-charcoal)!important;
  --navy2:var(--ihs-wine)!important;
  --blue:var(--ihs-charcoal)!important;
  --primary:var(--ihs-wine)!important;
  --accent:var(--ihs-brass)!important;
  --gold:var(--ihs-brass)!important;
  --cream:var(--ihs-ivory)!important;
  --ink:var(--ihs-charcoal)!important;
  --line:var(--ihs-line)!important;
}

*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
img,video,svg,canvas{max-width:100%;height:auto}
iframe{max-width:100%}
table{width:100%;border-collapse:collapse}
pre,code{max-width:100%;overflow:auto}
body{
  color:var(--ihs-text)!important;
  background:
    radial-gradient(circle at 10% 0%,rgba(176,141,87,.10),transparent 28rem),
    linear-gradient(180deg,var(--ihs-cream) 0%,var(--ihs-ivory) 100%)!important;
}
a{color:var(--ihs-wine)}
a:hover{color:var(--ihs-brass)}

/* Remove blue from common storefront elements */
.announcement,.topbar,.top-bar,
.hero,.page-hero,.newsletter,
.site-footer,.footer,
.assistant-open,.assistant-drawer header,
.btn-dark,.btn-primary,.primary-btn,
.cart-count,.badge-primary,
.admin-sidebar,.sidebar,.admin-header{
  background:linear-gradient(135deg,var(--ihs-charcoal) 0%,var(--ihs-wine-dark) 58%,#6B4C40 100%)!important;
  color:#fff!important;
}
.site-header,.header,.navbar{
  background:rgba(255,253,249,.96)!important;
  border-color:rgba(176,141,87,.20)!important;
}
.main-nav a,.nav a,.navbar a,.brand strong,.icon-btn,.menu-toggle{
  color:var(--ihs-charcoal)!important;
}
.main-nav a:hover,.nav a:hover,.navbar a:hover{
  color:var(--ihs-wine)!important;
}
.btn,.button,button,input[type="submit"]{
  border-radius:999px;
  min-height:44px;
}
.btn-primary,.btn-dark,.primary-btn,input[type="submit"]{
  background:linear-gradient(135deg,var(--ihs-wine-dark),var(--ihs-wine) 58%,#76533F)!important;
  border-color:transparent!important;
  color:#fff!important;
}
.btn-outline,.secondary-btn{
  background:transparent!important;
  border:1px solid var(--ihs-brass)!important;
  color:var(--ihs-wine)!important;
}
.badge-sale,.sale-badge{
  background:linear-gradient(135deg,var(--ihs-wine-dark),#744B3D)!important;
  color:#fff!important;
}
.badge-new,.new-badge{
  background:#FFF9F0!important;
  color:var(--ihs-wine)!important;
  border-color:rgba(176,141,87,.28)!important;
}
input,select,textarea{
  max-width:100%;
  background:#FFFDF9!important;
  border-color:rgba(176,141,87,.28)!important;
  color:var(--ihs-text)!important;
}
input:focus,select:focus,textarea:focus{
  outline:2px solid rgba(176,141,87,.24)!important;
  border-color:var(--ihs-brass)!important;
}
.card,.panel,.product-card,.cart-item,.order-summary,.checkout-panel,
.product-detail,.filters,.shop-toolbar,.faq-list details,.track-card{
  background:rgba(255,253,249,.94)!important;
  border-color:rgba(176,141,87,.18)!important;
  box-shadow:var(--ihs-shadow)!important;
}

/* Layout responsiveness */
.container,.wrapper,.content-wrap,.site-width{
  width:min(1180px,calc(100% - 32px))!important;
  margin-inline:auto!important;
}
.grid,.product-grid,.category-grid,.benefit-grid,.footer-grid,.dashboard-grid{
  min-width:0;
}
.product-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
}
.category-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}
.footer-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:28px!important;
}
.product-card,.category-card,.panel,.card{min-width:0}
.product-info h3,.product-title,.card-title{
  overflow-wrap:anywhere;
  word-break:normal;
}
.product-image img,.category-card img{
  width:100%!important;
  aspect-ratio:4/5;
  object-fit:cover!important;
}
.hero{
  min-height:68vh;
  position:relative;
  overflow:hidden;
}
.hero img,.hero-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.hero-content{
  width:min(760px,100%)!important;
  padding-inline:clamp(18px,4vw,54px)!important;
}
.hero h1{
  font-size:clamp(2.5rem,6vw,5.5rem)!important;
  line-height:.98!important;
}
.hero p{
  font-size:clamp(.98rem,1.6vw,1.2rem)!important;
  line-height:1.65!important;
}
.section{padding:clamp(48px,7vw,88px) 0!important}
.section-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:end!important;
  gap:18px!important;
  flex-wrap:wrap!important;
}
.site-footer{padding-bottom:28px}
.whatsapp-float{
  right:18px!important;
  bottom:18px!important;
  z-index:40!important;
}
.assistant-open{
  left:18px!important;
  right:auto!important;
  bottom:18px!important;
  z-index:39!important;
}
.assistant-drawer{
  width:min(390px,calc(100vw - 24px))!important;
  max-height:min(72vh,680px)!important;
}

/* Tables and admin */
.table-wrap,.responsive-table{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.admin-layout,.dashboard-layout{
  min-width:0;
}
.admin-main,.main-content{
  min-width:0;
  max-width:100%;
}
.admin-sidebar,.sidebar{
  color:#fff!important;
}
.admin-sidebar a,.sidebar a{color:#F8F1E8!important}
.admin-sidebar a:hover,.sidebar a:hover,
.admin-sidebar .active,.sidebar .active{
  background:rgba(176,141,87,.20)!important;
  color:#fff!important;
}

/* Tablet */
@media (max-width:1024px){
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .hero{min-height:64vh}
  .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Mobile */
@media (max-width:768px){
  .container,.wrapper,.content-wrap,.site-width{
    width:min(100% - 24px,1180px)!important;
  }
  .announcement,.topbar,.top-bar{
    font-size:.72rem!important;
    padding:8px 12px!important;
    text-align:center!important;
  }
  .site-header,.header,.navbar{position:sticky!important;top:0;z-index:60}
  .header-inner,.navbar-inner{
    min-height:64px!important;
    gap:10px!important;
  }
  .brand img,.logo img{width:46px!important;height:46px!important;object-fit:contain!important}
  .brand strong{font-size:.95rem!important}
  .main-nav,.desktop-nav{display:none!important}
  .menu-toggle,.mobile-menu-toggle{display:inline-flex!important}
  .hero{min-height:74vh!important;align-items:end!important}
  .hero-overlay{
    background:linear-gradient(0deg,rgba(45,41,38,.92) 0%,rgba(90,47,54,.58) 54%,rgba(176,141,87,.12) 100%)!important;
  }
  .hero-content{padding:34px 18px 48px!important}
  .hero h1{font-size:clamp(2.7rem,13vw,4.4rem)!important}
  .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .hero-actions .btn,.hero-actions button{width:100%!important}
  .section{padding:52px 0!important}
  .section-head{align-items:flex-start!important}
  .product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .footer-grid{grid-template-columns:1fr!important;gap:0!important}
  .footer-grid>div{
    border-bottom:1px solid rgba(176,141,87,.18);
    padding:16px 0;
  }
  .product-card{padding:6px!important;border-radius:14px!important}
  .product-info{padding:10px 2px!important}
  .product-info h3{font-size:.96rem!important;line-height:1.35!important}
  .price{font-size:.9rem!important}
  .product-info .btn,.product-card .btn{
    width:100%!important;
    font-size:.78rem!important;
    padding:10px 8px!important;
  }
  .product-detail,.checkout-grid,.cart-grid,.story-grid,.two-column{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  .product-gallery,.product-summary,.checkout-panel,.order-summary{
    width:100%!important;
    min-width:0!important;
  }
  .sticky-add-to-cart,.mobile-sticky-cart{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:70!important;
    background:#FFFDF9!important;
    border-top:1px solid rgba(176,141,87,.22)!important;
    padding:10px 12px!important;
    box-shadow:0 -12px 30px rgba(50,40,32,.12)!important;
  }
  .site-footer{padding-bottom:90px!important}
  .whatsapp-float{right:14px!important;bottom:78px!important}
  .assistant-open{left:14px!important;bottom:78px!important}
  .assistant-drawer{
    left:12px!important;
    right:12px!important;
    bottom:72px!important;
    width:auto!important;
    max-height:72vh!important;
  }
  .admin-layout,.dashboard-layout{display:block!important}
  .admin-sidebar,.sidebar{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    overflow-x:auto!important;
  }
  .admin-main,.main-content{padding:16px!important;width:100%!important}
  .dashboard-grid{grid-template-columns:1fr!important}
  table{font-size:.88rem}
}

/* Small phones */
@media (max-width:480px){
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .category-grid{grid-template-columns:1fr!important}
  .hero{min-height:68vh!important}
  .hero h1{font-size:2.8rem!important}
  .brand span{max-width:175px!important;overflow:hidden!important}
  .brand strong{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .trust-grid{grid-template-columns:1fr 1fr!important}
  .modal,.dialog{
    width:calc(100vw - 20px)!important;
    max-height:90vh!important;
    overflow:auto!important;
  }
}

/* Safety net against blue inline classes */
.text-blue,.text-primary,.link-primary{color:var(--ihs-wine)!important}
.bg-blue,.bg-primary{background:var(--ihs-wine)!important}
.border-blue,.border-primary{border-color:var(--ihs-brass)!important}
