/* Cívora — separate product catalogue
   Cart, checkout and modal styles remain in styles.css. */

.catalogue-page {
  background: var(--cream);
}

.catalogue-page .nav-links a.active {
  color: var(--green2);
  font-weight: 800;
}

.catalogue-hero {
  padding: 74px 0 34px;
  background:
    radial-gradient(circle at 85% 15%, rgba(114,190,53,.12), transparent 28%),
    var(--cream);
}

.catalogue-hero h1 {
  max-width: 760px;
  margin: 8px 0 12px;
  font-family: "Manrope", sans-serif;
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  line-height: .98;
  letter-spacing: -.045em;
  color: var(--ink);
}

.catalogue-hero p:last-child {
  max-width: 620px;
  color: var(--muted);
  font-size: 1.02rem;
}

.catalogue-section {
  padding: 18px 0 110px;
}

.catalogue-tools {
  position: sticky;
  top: 76px;
  z-index: 20;
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin-bottom: 28px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: color-mix(in srgb, var(--cream) 92%, transparent);
  backdrop-filter: blur(14px);
}

.catalogue-search input {
  width: 100%;
  min-height: 46px;
  padding: 11px 16px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--white);
  color: var(--ink);
  font: inherit;
  outline: none;
}

.catalogue-search input:focus {
  border-color: var(--green2);
  box-shadow: 0 0 0 3px rgba(10,106,61,.10);
}

.category-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.category {
  min-height: 40px;
  padding: 8px 15px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  color: var(--ink);
  font: inherit;
  font-size: .8rem;
  font-weight: 800;
  cursor: pointer;
  transition: .2s ease;
}

.category:hover {
  border-color: var(--green2);
  transform: translateY(-1px);
}

.category.active {
  border-color: var(--green2);
  background: var(--green2);
  color: #fff;
}

.catalogue-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.catalogue-empty {
  padding: 40px 20px;
  border: 1px dashed var(--line);
  border-radius: 16px;
  color: var(--muted);
  text-align: center;
}

[data-theme="dark"] .catalogue-page,
[data-theme="dark"] .catalogue-hero {
  background: var(--bg);
}

[data-theme="dark"] .catalogue-tools {
  background: rgba(11,28,18,.90);
}

@media (max-width: 980px) {
  .catalogue-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .catalogue-tools {
    grid-template-columns: 1fr;
  }

  .category-menu {
    justify-content: flex-start;
  }
}

@media (max-width: 700px) {
  .catalogue-hero {
    padding: 48px 0 24px;
  }

  .catalogue-section {
    padding-top: 8px;
  }

  .catalogue-tools {
    top: 66px;
    margin-inline: -2px;
    padding: 10px;
    border-radius: 14px;
  }

  .category-menu {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

  .category-menu::-webkit-scrollbar {
    display: none;
  }

  .category {
    flex: 0 0 auto;
  }

  .catalogue-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}

@media (max-width: 420px) {
  .catalogue-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* v9 inventory notice: intentionally does not disclose exact stock to customers */
.stock-notice{position:fixed;left:50%;bottom:92px;transform:translate(-50%,18px);z-index:9999;max-width:min(92vw,520px);padding:12px 16px;border-radius:12px;background:#16221b;color:#fff;font-weight:700;font-size:.9rem;box-shadow:0 12px 32px rgba(0,0,0,.22);opacity:0;pointer-events:none;transition:.2s ease}.stock-notice.show{opacity:1;transform:translate(-50%,0)}

.civora-toast{position:fixed;right:22px;bottom:24px;z-index:10050;display:flex;align-items:center;gap:12px;min-width:280px;max-width:390px;padding:14px 16px;background:#fff;border:1px solid #dce6dd;border-radius:16px;box-shadow:0 18px 50px rgba(7,83,47,.18);transform:translateY(24px);opacity:0;pointer-events:none;transition:.22s ease}
.civora-toast.show{transform:translateY(0);opacity:1}.toast-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e7f4e9;color:#07532f;font-weight:900;flex:0 0 38px}.civora-toast strong,.civora-toast span{display:block}.civora-toast strong{font-size:.9rem;color:#10271d}.civora-toast span{font-size:.8rem;color:#66786e;margin-top:2px}.order-track-link{display:inline-block;margin-top:8px;color:#07532f;font-weight:800;text-decoration:none;font-size:.84rem}
@media(max-width:620px){.civora-toast{left:14px;right:14px;bottom:82px;min-width:0}}

/* v21 catalogue image performance */
.shop-card-image-wrap{
  width:100%;
  aspect-ratio:3/2;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 45%,rgba(7,83,47,.07),transparent 48%),
    #f4f8f1;
  position:relative;
}
.shop-card-image{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
}
.shop-card-image-wrap.image-failed::after{
  content:"🌱";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:2rem;
  opacity:.35;
}

.shop-legal-links{max-width:960px;margin:28px auto 90px;padding:0 20px;text-align:center;font-size:.78rem;color:var(--muted)}.shop-legal-links a{color:inherit;text-decoration:none;font-weight:700}.shop-legal-links span{padding:0 8px}@media(max-width:980px){.shop-legal-links{margin-bottom:90px}}
.checkout-form select{width:100%;font:inherit;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--paper);color:var(--ink)}

/* v45 delivery scheduling */
.delivery-schedule{border:1px solid var(--line);border-radius:16px;padding:16px;margin:4px 0 16px}
.delivery-schedule legend{font-weight:800;padding:0 6px}
.delivery-schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.delivery-slot-status{font-size:.82rem;margin-top:8px}.slot-warning{color:#9a5b00}
.express-option{display:flex!important;gap:12px;align-items:flex-start;margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--soft)}
.express-option input{width:18px!important;height:18px!important;margin-top:2px}.express-option div{display:flex;flex-direction:column;gap:4px}.express-option small{color:var(--muted)}
[data-theme="dark"] .delivery-schedule,[data-theme="dark"] .express-option{border-color:#31503d;background:#0d2117;color:#eef6f1}
@media(max-width:560px){.delivery-schedule-grid{grid-template-columns:1fr}}
