/* Pricing tables — match original black/gold/green header style */
.pricing-table {
  width: 100%;
  border-collapse: collapse;
  margin: 15px 0;
  text-align: center;
}

.pricing-table th,
.pricing-table td {
  padding: 6px 10px;
  font-size: 14px;
}

.pricing-header {
  background: var(--black);
  color: var(--white);
  font-weight: bold;
}

.pricing-col-label {
  background: var(--gold);
  color: var(--black);
  font-weight: bold;
}

.pricing-col-value {
  background: var(--green);
  color: var(--white);
  font-weight: bold;
}

.pricing-section {
  background: var(--gold);
  color: var(--black);
  font-weight: bold;
}

.pricing-table tbody td {
  font-weight: bold;
  font-size: 14px;
}

.highlight-row {
  background: var(--gray-light);
}

.pricing-footer {
  background: var(--black);
  color: var(--white);
  font-weight: bold;
}

/* Shop promo banner — homepage only, below navbar */
.shop-promo-banner {
  background: var(--green);
  color: var(--white);
  text-align: center;
  padding: 10px 15px;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 10px;
}

.shop-promo-banner a {
  color: var(--gold);
  text-decoration: underline;
}

.shop-promo-banner a:hover {
  color: var(--white);
}

/* Gallery grid — 3 columns of 102x77 thumbnails */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 102px);
  gap: 8px;
  justify-content: center;
  margin: 15px 0;
}

.gallery-grid a {
  display: block;
  border: 1px solid var(--gray-mid);
}

.gallery-grid img {
  display: block;
  width: 102px;
  height: 77px;
  object-fit: cover;
}

.gallery-label {
  text-align: left;
  margin-bottom: 5px;
}

/* Features box */
.features-box {
  border: 1px solid var(--gray-mid);
  padding: 10px;
  margin: 10px 0;
  background: var(--gray-light);
}

/* Content images — float left like original Gazebo.jpg */
.content-img-left {
  float: left;
  margin: 0 15px 10px 0;
  border: 1px solid var(--gray-mid);
}

.content-img-right {
  float: right;
  margin: 0 0 10px 15px;
  border: 1px solid var(--gray-mid);
}

.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

/* Responsive */
@media (max-width: 768px) {
  .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .gallery-grid img {
    width: 100%;
    height: auto;
  }

  .pricing-table {
    font-size: 12px;
  }

  .pricing-table th,
  .pricing-table td {
    padding: 4px 6px;
  }

  .content-img-left,
  .content-img-right {
    float: none;
    display: block;
    margin: 10px auto;
    max-width: 100%;
  }
}
