  /* Synergy Silo theme: full-width banner, fixed header, brand palette */

/* ===== Palette (kept as-is) ===== */
:root{
  --bg-1: #cedef3;     /* light sky */
  --bg-2: #353a50b2;   /* soft blush */

  --brand-blue: #c6caff;
  --brand-blue-2: #ffffff;
  --brand-red:  #ffffff;
  --brand-gold: #c6caff;

  --ink: #ffffff;
  --ink-muted: #ffffff;
  --card: #ffffff;
  --ring: rgb(157, 159, 238);

  --header-h: 96px; /* locked header height */
}

/* ========== Base & wallpaper ========== */
*{box-sizing:border-box}
html, body { overflow:auto; margin:0; padding:0; }
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
  color:var(--ink);
  line-height:1.5;
  background:
    linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 100%) fixed,
    url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'>\
  <defs>\
    <g id='fl'>\
      <circle cx='6' cy='0' r='4' fill='%237aa8ff'/>\
      <circle cx='-6' cy='0' r='4' fill='%23a7c8ff'/>\
      <circle cx='0' cy='6' r='4' fill='%23e49aa2'/>\
      <circle cx='0' cy='-6' r='4' fill='%23ffd7db'/>\
      <circle cx='0' cy='0' r='2.5' fill='%23ffffff'/>\
    </g>\
  </defs>\
  <g opacity='0.50'>\
    <use href='%23fl' x='24' y='24'/>\
    <use href='%23fl' x='84' y='40'/>\
    <use href='%23fl' x='50' y='90'/>\
    <use href='%23fl' x='100' y='16'/>\
  </g>\
</svg>") repeat;
  background-size: auto, 120px 120px;
}
img{max-width:100%;display:block}

/* ========== Layout ========== */
.container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

main{ padding-top: calc(var(--header-h) + 20px); } /* clears sticky header */
body { scroll-padding-top: calc(var(--header-h) + 20px); } /* anchor jumps */

/* ========== Header ========== */
.site-header{
  position:sticky; top:0; z-index:1000;
  backdrop-filter:saturate(120%) blur(6px);
  background:rgba(124, 117, 148, 0.418);
  border-bottom:1px solid rgba(255, 255, 255, 0.06);
}
.header-row{
  min-height: var(--header-h);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 16px;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font-weight:800}
.brand img{ height:48px; width:auto; object-fit:contain; border-radius:8px; background:transparent; }
.brand span{ display:none; }

.nav { display:flex; flex-wrap:wrap; gap:12px; }
.nav a{ text-decoration:none; color:#ffffff; font-weight:600 }
.nav a:hover{ color: var(--brand-blue); }
.cart-btn{border:1px solid var(--ring);background:#fff;border-radius:999px;padding:6px 10px;cursor:pointer}

/* ========== Full-width banner below header ========== */
.banner-top{ width:100%; background:transparent; }
.banner-top img{
  width:100%; height:120px; object-fit:cover; display:block;
}

/* CTA just under banner */
.cta-top{ display:flex; justify-content:center; padding:10px 16px 0; }
.btn{appearance:none;border:0;padding:12px 16px;border-radius:12px;font-weight:700;cursor:pointer;text-decoration:none}
.btn.primary{background: var(--brand-blue); color:#ffffff; border:none}
.btn.primary:hover{ filter:brightness(0.95); }
.btn.lg{ font-size:1rem; padding:10px 16px; border-radius:999px; }

/* ========== Full-bleed hero ========== */
.fullbleed{
  width:100vw;
  position:relative;
  left:50%; right:50%;
  margin-left:-50vw; margin-right:-50vw;
}

/* Hero full-width banner, text always centered */
.hero {
  display: flex;
  flex-direction: column;   /* stack text + image */
  align-items: center;      /* center horizontally */
  padding: 24px 0 16px;
  background: rgba(255,255,255,0.16);
  backdrop-filter: blur(4px);
  box-shadow: 0 6px 24px rgba(0,0,0,.1) inset, 0 2px 10px rgba(0,0,0,.06);
}

.hero-copy {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 18px 16px;
  text-align: center;
}

.hero h1 {
  font-size: clamp(28px,6vw,44px);
  margin: 8px 0 10px;
}

.hero .lead {
  max-width: 60ch;
  margin: 0 auto;
}

.hero-img {
  margin-top: 18px;             /* gap below text */
  max-width: 800px;
  width: 100%;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

.hero-copy{ max-width:1100px; margin:0 auto; padding:18px 16px; }
.tag{display:inline-block;background:var(--brand-gold);color:#ffffff;padding:4px 10px;border-radius:999px;font-size:12px;letter-spacing:.5px;text-transform:uppercase;margin:0 0 6px}
h1{font-size:clamp(28px,6vw,44px);margin:8px 0 10px}
.lead{color:var(--ink-muted); margin:0}
.hero-img{border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.06)}

/* ========== Products ========== */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap}
.kicker{text-transform:uppercase;letter-spacing:.7px;color:#ffffff;font-size:12px;margin:0}
.muted{color:var(--ink-muted)}
.small{font-size:14px}
.filters{display:flex;gap:10px;align-items:center}
input[type="search"], select{
  padding:10px 12px;border:1px solid var(--ring);border-radius:10px;font:inherit;background:#d8c7ff59
}

.grid{
  display:grid;
  gap:18px;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

.card{
  border:1px solid var(--ring);
  border-radius:14px;
  overflow:hidden;
  background:var(--card);
  box-shadow:0 6px 20px rgba(255, 255, 255, 0);
}
.card > img{ width:100%; height:220px; object-fit:cover; border-radius:12px 12px 0 0; }
.card .pad{padding:12px}
.row{display:flex;gap:10px;align-items:center}
.space{justify-content:space-between}
.price{font-weight:800;color:#000000}

/* Card text colors (readable on light cards) */
.card h3{ color:#000; margin:0 0 6px; font-weight:700; }
.card p{ color:#000000; margin:0; }

/* Quantity control */
.qty{display:flex;align-items:center;border:1px solid var(--ring);border-radius:999px;overflow:hidden}
.qty button{border:0;background:#f6f6f6;padding:6px 10px;cursor:pointer}
.qty input{width:48px;border:0;text-align:center;font:inherit;padding:6px}
.btn.add{margin-left:auto}

/* Thumbnails */
.thumbs img{ background:#ffffff; }

/* Ratings inside card */
.card .rating .stars { color:#e0b460 }
.card .rating .review-count { color:#846de9; }
.rating-link{ text-decoration:none; color:inherit; display:inline-flex; gap:4px; align-items:center; }
.rating-link:hover{ text-decoration:underline; color: var(--brand-gold); }

/* ========== Cart drawer ========== */
.drawer{ position:fixed; inset:0; display:none; }
.drawer[aria-hidden="false"]{ display:block; }
.drawer-content{
  position:fixed; right:0; top:0;
  width:min(420px, 92vw); height:100vh;
  background:#fff; overflow-y:auto; -webkit-overflow-scrolling:touch;
  box-shadow:-4px 0 16px rgba(0,0,0,.15);
  padding:18px; display:flex; flex-direction:column;
}
.drawer-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ring);padding-bottom:10px;margin-bottom:12px}
#closeCart{border:1px solid var(--ring);background:#fff;border-radius:8px;padding:6px 8px;cursor:pointer}
.cart-items{display:flex;flex-direction:column;gap:12px;overflow:auto;max-height:42vh}
.cart-row{display:grid;grid-template-columns:72px 1fr auto;gap:12px;border:1px solid var(--ring);padding:10px;border-radius:10px}
.cart-row img{width:72px;height:72px;object-fit:cover;border-radius:8px;background:#f3f3f3}
.cart-row .grow{display:flex;flex-direction:column;gap:6px}
.cart-row .price-col{text-align:right}
.link{background:none;border:0;color:#c00;text-decoration:underline;cursor:pointer}
.qty.tiny button{padding:4px 8px}
.qty.tiny input{width:42px;padding:4px}
.cart-summary{margin-top:12px;border-top:1px solid var(--ring);padding-top:12px}
.cart-summary .row{display:flex;justify-content:space-between;margin:8px 0}
.cart-summary .total{font-size:18px}
body.cart-open { overflow:hidden; }

/* ========== Footer ========== */
.site-footer{border-top:1px solid var(--ring);padding:24px 0;margin-top:30px}
.footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}

/* ========== Responsive ========== */
@media (max-width:900px){
  .hero{ grid-template-columns:1fr; }
  .grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){
  .grid{ grid-template-columns:1fr; }
  .nav a{ display:none; } /* optional: hide wide nav on very small screens */
}
/* Center hero text block */
.hero-copy {
  max-width: 1100px;
  margin: 0 auto;
  padding: 18px 16px;
  text-align: center;        /* 👈 center align */
}

.hero-copy h1,
.hero-copy .tag,
.hero-copy .lead {
  text-align: center;        /* ensure all inner text is centered */
  margin-left: auto;
  margin-right: auto;
}
/* Fix product card text colors */
.card strong {
  color: #000 !important;   /* black title text */
}

.card .muted,
.card .small,
.card .review-count {
  color: #333 !important;   /* darker gray for subtler text */
}
/* Navigation bar fixes */
nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

nav ul li {
  margin: 6px;
}

nav ul li a {
  color: #000 !important;   /* make links black */
  background: rgba(255,255,255,0.7);
  padding: 6px 12px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  transition: background 0.2s;
}

nav ul li a:hover {
  background: rgba(255,255,255,0.95);
}
/* Reviews page text fixes */
.review,
.review * {
  color: #000 !important; /* force all review text black */
}

#cartDrawer, #cartDrawer * { color: #000 !important; }
#reviewForm {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 500px;
  margin: 0 auto;
  padding: 20px;
  background: rgba(255,255,255,0.05);
  border-radius: 12px;
}

#reviewForm label {
  font-weight: bold;
  color: white;
}

#reviewForm input,
#reviewForm select,
#reviewForm textarea,
#reviewForm button {
  padding: 10px;
  border-radius: 8px;
  border: none;
  font-size: 1rem;
}

#reviewForm button {
  background: #a68bd1; /* your lilac tone */
  color: white;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.3s ease;
}

#reviewForm button:hover {
  background: #8c6fb8;
}
.review-card {
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 15px;
  margin-bottom: 15px;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  color: #000;
  max-width: 500px; /* optional: keeps them a nice width */
}

.review-card h3 {
  margin-top: 0;
}

.review-img {
  margin-top: 10px;
  max-width: 100%;      /* ✅ keeps it inside the card */
  height: auto;         /* ✅ keeps proportions */
  border-radius: 8px;
  display: block;
}
.review-card {
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 15px;
  margin-bottom: 15px;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  color: #000;
  max-width: 500px;
}

.review-img {
  margin-top: 10px;
  max-width: 100%;   /* ✅ contained within card */
  height: auto;
  border-radius: 8px;
  display: block;
}
/* Top margin */
.mt-5  { margin-top: 5px; }
.mt-10 { margin-top: 10px; }
.mt-15 { margin-top: 15px; }
.mt-20 { margin-top: 20px; }
.mt-30 { margin-top: 30px; }

/* Bottom margin */
.mb-5  { margin-bottom: 5px; }
.mb-10 { margin-bottom: 10px; }
.mb-15 { margin-bottom: 15px; }
.mb-20 { margin-bottom: 20px; }
.mb-30 { margin-bottom: 30px; }

/* Vertical margin (top + bottom) */
.my-5  { margin-top: 5px; margin-bottom: 5px; }
.my-10 { margin-top: 10px; margin-bottom: 10px; }
.my-15 { margin-top: 15px; margin-bottom: 15px; }
.my-20 { margin-top: 20px; margin-bottom: 20px; }
.my-30 { margin-top: 30px; margin-bottom: 30px; }

/* Left margin */
.ml-5  { margin-left: 5px; }
.ml-10 { margin-left: 10px; }
.ml-15 { margin-left: 15px; }
.ml-20 { margin-left: 20px; }

/* Right margin */
.mr-5  { margin-right: 5px; }
.mr-10 { margin-right: 10px; }
.mr-15 { margin-right: 15px; }
.mr-20 { margin-right: 20px; }

/* Horizontal margin (left + right) */
.mx-5  { margin-left: 5px; margin-right: 5px; }
.mx-10 { margin-left: 10px; margin-right: 10px; }
.mx-15 { margin-left: 15px; margin-right: 15px; }
.mx-20 { margin-left: 20px; margin-right: 20px; }

/* All sides */
.m-5  { margin: 5px; }
.m-10 { margin: 10px; }
.m-15 { margin: 15px; }
.m-20 { margin: 20px; }
.m-30 { margin: 30px; }
/* Navbar basics */
.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #333;
  padding: 10px;
}

.navbar a {
  color: #fff;
  text-decoration: none;
  padding: 10px;
}

.nav-links {
  list-style: none;
  display: flex;
  gap: 15px;
}

/* Hamburger button hidden on desktop */
.hamburger {
  display: none;
  font-size: 24px;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
}

/* Mobile version */
@media (max-width: 768px) {
  .nav-links {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 60px;
    right: 10px;
    background: #b7b6ff;
    padding: 10px;
    border-radius: 8px;
  }

  .nav-links.show {
    display: flex;
  }

  .hamburger {
    display: block;
  }
}
/* Reset nav links to look clean */
.nav-links li {
  list-style: none;
}

.nav-links a {
  display: block;
  padding: 10px 15px;
  color: #fff;              /* white text */
  text-decoration: none;    /* remove underline */
  border-radius: 4px;       /* slight rounding */
  transition: background 0.3s;
}

.nav-links a:hover {
  background: rgba(255, 255, 255, 0.2); /* subtle hover effect */
}
.navbar {
  background: #33333300;        /* dark background */
  padding: 10px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.nav-brand {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
}
