/* ===== Global ===== */
body {
  background-color: #f5f5f5;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
}

h1,
h2,
h3,
h4,
h5 {
  font-weight: 600;
}

h6 {
  margin: 0;
}

/* ===== Navbar ===== */
.navbar {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}

.navbar-brand {
  font-weight: 700;
  letter-spacing: 0.03em;
}

/* ===== Hero Bar ===== */
.hero-bar {
  background: radial-gradient(circle at top left,
      #fef6e9 0,
      #f5f5f5 45%,
      #e9f3ff 100%);
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

.hero-title {
  font-size: clamp(1.8rem, 3vw, 2.3rem);
  letter-spacing: 0.02em;
}

.hero-subtitle {
  max-width: 32rem;
}

.hero-note {
  font-weight: 700;
  /* display: inline-flex; */
  align-items: center;
  gap: 0.25rem;
}

/* simple little pill thumbnails on the right */
.hero-thumb-grid {
  display: grid;
  grid-template-columns: repeat(2, 120px);
  grid-auto-rows: 80px;
  gap: 10px;
  justify-content: flex-end;
}

.hero-thumb {
  border-radius: 0.75rem;
  background-size: cover;
  background-position: center;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.18);
}

/* You can replace these paths with real preview images you have */
.hero-thumb-1 {
  background-image: url("../images/thumb1.jpg");
}

.hero-thumb-2 {
  background-image: url("../images/thumb2.jpg");
}

.hero-thumb-3 {
  background-image: url("../images/thumb3.jpg");
}

/* Cart badge animation */
#cart-count-badge {
  font-size: 0.75rem;
}

/* bump animation class; JS will add/remove this */
.cart-badge-bump {
  animation: cartBadgeBump 0.3s ease-out;
}

.red-font {
  color: rgb(253, 88, 88);
}

.disclaimer {
  padding: 15px 0;
}

.subcatg-container {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    row-gap: 5px;
    width: 100%;
}

.subcatg-container .sub-category-button {
    flex: 0 0 auto;
    white-space: nowrap;
    border-radius: 999px;
    margin-right: -1px;
    margin-bottom: -1px;
}

.subcatg-container .sub-category-button:hover,
.subcatg-container .sub-category-button:focus,
.subcatg-container .sub-category-button.active {
    position: relative;
    z-index: 2;
}

@keyframes cartBadgeBump {
  0% {
    transform: translate(-50%, -50%) scale(1);
  }

  50% {
    transform: translate(-50%, -50%) scale(1.25);
  }

  100% {
    transform: translate(-50%, -50%) scale(1);
  }
}

/* ===== Gallery / Cards ===== */
#gallery .card {
  border: none;
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

#gallery .card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.32);
  /* box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12); */
}

#gallery .card-img-top {
  height: 180px;
  object-fit: cover;
}

#gallery .card-body {
  background-color: #ffffff;
}

#gallery .btn-view-photo {
  font-size: 0.8rem;
}

/* Category buttons */
.category-button {
  border-radius: 999px;
}

.category-button.active {
  color: #fff !important;
}

/* Sub-Category buttons */
.sub-category-button {
  border-radius: 999px;
}

.sub-category-button.active {
  color: #fff !important;
}

/* ===== Modal ===== */
#photoModalImage {
  border-radius: 0.75rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

/* ===== Cart page ===== */
#cart-content .card {
  border-radius: 0.75rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.07);
}

/* Cart table */
#cart-table-body tr td {
  vertical-align: middle;
}

/* Highlight on update */
.cart-row-updated {
  animation: cartRowHighlight 0.7s ease-out;
}

@keyframes cartRowHighlight {
  0% {
    background-color: #fff5d6;
  }

  100% {
    background-color: transparent;
  }
}

/* Continue shopping link style */
.continue-shopping-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.9rem;
  text-decoration: none;
}

.continue-shopping-link:hover {
  text-decoration: underline;
}

/* Summary card total emphasis */
#cart-total {
  font-size: 1.2rem;
}

.form-check-select {
  height: 30px;
  width: 175px;
  vertical-align: middle;
  padding: 0 0 0 10px;
}

#photoOptionsForm {
  padding-left: 10px;
  width: 300px;
  height: 157px;
  overflow-y: auto;
}