.package-promo{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:center;background:#fffdf8;padding:28px;border:1px solid #d6c6a8;border-radius:14px;margin-bottom:28px}.package-promo img{width:100%;border-radius:10px}.package-promo h3{font-size:32px;margin:10px 0}.package-promo strong{font-size:35px;display:block;color:#087f83}.package-save{display:inline-block;background:#e5f2e8;color:#21583b;padding:8px 14px;border-radius:20px;font-weight:700}.package-cross{display:block;padding:16px;margin:18px 0;color:#17394b;background:#f3eee4;border:1px solid #d6c6a8;border-radius:10px;font-weight:700}.package-dialog{width:min(1060px,94vw);box-sizing:border-box}.package-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.package-products figure{margin:0;background:#f8f8f3;border:1px solid #dddccf;border-radius:12px;padding:14px}.package-products img{width:100%;height:220px;object-fit:contain;background:white}.package-products figcaption{line-height:1.8;margin:12px 0;font-weight:700}.package-dialog select,.package-dialog input[type=number]{display:block;width:100%;box-sizing:border-box;font:inherit;padding:12px;border:1px solid #a7b9b9;border-radius:8px;background:white}.package-dialog fieldset{display:grid;gap:12px;margin:20px 0;border:1px solid #bac9c6;border-radius:10px;padding:18px}.package-total{display:grid;gap:10px;background:#edf6f0;padding:24px;border-radius:12px;margin:24px 0}.package-total strong{font-size:42px;color:#17394b}.package-breakdown{margin-top:22px;line-height:1.9}.package-breakdown summary{cursor:pointer;font-weight:bold;padding:12px}.package-table-wrap{overflow-x:auto}.package-breakdown table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap}.package-breakdown th,.package-breakdown td{text-align:right;padding:10px;border-bottom:1px solid #d6dfd7}.foam-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#e8f0f7;color:#17394b;min-height:220px;padding:20px;text-align:center;box-sizing:border-box}.foam-copy strong{font-size:24px}.package-category-link{margin-top:15px}.package-dialog .purchase-actions{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px}@media(max-width:700px){.package-promo{grid-template-columns:1fr;padding:18px}.package-products{grid-template-columns:1fr}.package-dialog{padding:20px}.package-products img{height:240px}.package-dialog .purchase-actions .btn{width:100%}.package-promo h3{font-size:27px}}

.package-image-link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.package-gallery {
  margin: 0;
  padding: 8px;
  background: linear-gradient(145deg, #e9f4f5, #f5f8fb);
  border: 1px solid #20858c;
  border-radius: 14px;
}
.package-gallery img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.package-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.package-gallery-grid > * {
  box-sizing: border-box;
  min-width: 0;
  aspect-ratio: 1;
  border: 2px solid #20858c;
  border-radius: 8px;
  background: #fff;
}
.package-gallery-grid > :nth-child(even) {
  border-color: #163c5d;
}
.package-gallery-grid > img {
  object-fit: contain;
}
.package-gallery-sofa {
  display: grid;
  align-items: center;
  overflow: hidden;
}
.package-gallery-sofa img {
  /* Display the sofa between the headline and pricing in the catalog artwork. */
  aspect-ratio: 2.12;
  object-fit: cover;
  object-position: center 47%;
  border-radius: 0;
}
.package-gallery figcaption {
  padding: 7px 0 2px;
  text-align: center;
  color: #53646b;
  font-size: .75rem;
}
.package-card .product-copy h3 a {
  color: #102e4c;
  text-decoration: none;
}
.package-card .product-copy h3 a:hover {
  text-decoration: underline;
}
.package-card .product-copy > .btn {
  text-decoration: none;
  text-align: center;
}
@media (max-width: 600px) {
  .package-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .package-card .product-copy > .btn {
    display: block;
  }
}
.basic-package-contents {
  display: block;
  margin-top: 6px;
  font-size: 0.58em;
  line-height: 1.5;
  color: #102e4c;
}
#basic-package-card .price {
  font-size: clamp(1.7rem, 5vw, 2.2rem);
  color: #087f83;
}

#home-packages .package-promo {
  border: 1px solid #168b96;
  border-block-start: 5px solid #123a58;
  background: linear-gradient(145deg, #eaf7f6 0%, #f9fcfc 48%, #f1f6fa 100%);
  box-shadow: 0 8px 24px #123a5812;
}
#home-packages .package-promo .occasions-eyebrow {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 6px;
  background: #123a58;
  color: #fff;
}
#home-packages .package-promo h3 { color: #102e4c; }
#home-packages .package-promo .package-gallery {
  border: 2px solid #168b96;
  background: #dcefee;
}

.package-material-note {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  border-inline-start: 3px solid #168b96;
  border-radius: 6px;
  background: #e2f3f2;
  color: #102e4c;
}
.package-material-note span { font-size: .88em; }
