/* Root Variables */
:root{
  --ink:#2D2A26;        /* text */
  --accent:#8E5528;     /* spice brown */
  --bg:#FAF7F2;         /* warm off-white */
  --wa:#198754;         /* WhatsApp */
  --card:#fff;
  --div:rgba(0,0,0,.08);
}

/* Base Styles */
html,body{ background:var(--bg); color:var(--ink); }
a{ color:inherit; }
.brand{ color:var(--accent) !important; letter-spacing:.2px; }
.shadow-sep{ box-shadow:0 4px 12px rgba(0,0,0,.06); }

/* Utility sections */
.section-white { background: #ffffff; }

/* Sticky Header (navbar + ribbon) */
.sticky-wrap{ position:sticky; top:0; z-index:1040; }
.sticky-wrap.scrolled .navbar{ box-shadow:0 6px 18px rgba(0,0,0,.08); }
[id]{ scroll-margin-top:96px; }

/* Soft curve behind navbar */
.nav-bg{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%221600%22 height=%2284%22><rect width=%22100%25%22 height=%22100%25%22 fill=%22%23ffffff%22/><path d=%22M0,64 C280,28 520,28 800,64 C1080,100 1320,100 1600,64 L1600,0 L0,0 Z%22 fill=%22%23f1ede6%22/></svg>');
  background-size:cover;
}

/* Hero */
.hero-img{
  aspect-ratio: 4/3;
  background:linear-gradient(135deg,#efe7dc,#f6efe8);
  border-radius:1rem;
  box-shadow:0 .25rem .75rem rgba(0,0,0,.08);
}

/* Ribbons & buttons */
.cat a{ white-space:nowrap; }
.btn-wa{ background:var(--wa); color:#fff; border:0; }
.btn-accent{ background:var(--accent); color:#fff; border:0; }

/* Navbar WhatsApp button alignment */
.nav-wa-btn{ 
  background:var(--wa); 
  color:#fff; 
  border:0; 
  padding: 0.5rem 1rem;
  line-height: 1.5;
  text-decoration: none;
  border-radius: 0.375rem;
  transition: background-color 0.15s ease-in-out;
}
.nav-wa-btn:hover{ 
  background: #146c43; 
  color: #fff;
  text-decoration: none;
}

/* Featured product images override */
#catalogue .card-img-top { aspect-ratio: 1/1; object-fit: contain; background:#efe7dc; }

/* Cards/tiles */
.card{ background:var(--card); border-color:var(--div); }
.card img{ aspect-ratio:4/3; object-fit:cover; background:#efe7dc; }
.usp{ background:#fff; border:1px solid var(--div); border-radius:.75rem; padding:1rem; }

/* Product cards (products.html) */
.product-card img {
  object-fit: contain;
  max-height: 280px;   /* keep images smaller but still clear */
  width: auto;
  margin: 0 auto;
  background: #efe7dc;
  border-top-left-radius: .5rem;
  border-top-right-radius: .5rem;
}
.product-card{background:var(--card);border:1px solid var(--div);border-radius:.5rem;display:flex;flex-direction:column;height:100%}
.product-card .body{padding:1rem;display:flex;flex-direction:column;gap:.5rem}
.muted{color:#595959}

/* Right rail */
.rail{ position:fixed; right:1rem; top:50%; transform:translateY(-50%); gap:.5rem; z-index:1030; }
.rail .btn{ width:44px; height:44px; border-radius:50%; }
.wa-fab{ position:fixed; right:1rem; bottom:1rem; display:none; z-index:1030; }
@media (max-width: 767.98px){ .rail{ display:none; } .wa-fab{ display:inline-flex; } }

/* Reveal-on-scroll */
.reveal-init{ opacity:0; transform:translateY(14px); transition:opacity .45s ease, transform .45s ease; }
.reveal-in{ opacity:1; transform:none; }