/* =========================================================================
   Dumpster Rentals. Values transcribed from final_html/Dumpster Rentals.dc.html.
   ========================================================================= */

.dump-intro {
  font-size: 17px; line-height: 1.7; color: #3A4A40;
  max-width: 860px; margin: 0 !important; text-wrap: pretty;
}

/* ---- Sizes & Pricing ---------------------------------------------------- */
.dump-sizes { margin-top: 48px; scroll-margin-top: 120px; }
.dump-sizes__head { display: flex; align-items: baseline; justify-content: center; gap: 12px; }
.dump-sizes__head h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 34px; font-weight: 700; color: #2C2218; margin: 0;
}
.dump-sizes__head span { font-size: 13px; font-weight: 700; color: #3A6B52; }
.dump-sizes__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px; margin-top: 32px; align-items: stretch;
}
.dump-card {
  background: #EAF3EC; border: 1px solid #C8E6D8; border-radius: 12px;
  overflow: hidden; display: flex; flex-direction: column;
  border-top: 5px solid #2D5441;
}
.dump-card__top { padding: 28px 28px 24px; }
.dump-card__size {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 26px; font-weight: 700; color: #2C2218;
}
.dump-card__pricerow { display: flex; align-items: baseline; gap: 6px; margin-top: 8px; }
.dump-card__price {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 40px; font-weight: 700; color: #2D5441;
}
.dump-card__unit { font-size: 13px; font-weight: 600; color: #7A6E65; }
.dump-card__best { background: #2D5441; padding: 20px 26px 24px; flex: 1; }
.dump-card__best-label {
  font-size: 11px; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: #F7B51C;
}
.dump-card__best p {
  font-size: 14.5px; line-height: 1.6; color: #C8E6D8; margin: 8px 0 0 !important;
}
.dump-sizes__note { font-size: 15px; color: #4A3F35; text-align: center; margin: 26px 0 0 !important; }
.dump-sizes__ctas { display: flex; justify-content: center; gap: 14px; margin-top: 18px; flex-wrap: wrap; }

/* ---- Which size --------------------------------------------------------- */
.dump-which { margin-top: 60px; max-width: 920px; margin-left: auto; margin-right: auto; }
.dump-which h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 30px; font-weight: 700; color: #2C2218; margin: 0;
}
.dump-which__lede { font-size: 15px; line-height: 1.7; color: #4A3F35; margin: 12px 0 0 !important; }
.dump-which__rows { display: flex; flex-direction: column; gap: 12px; margin-top: 20px; }
.dump-help {
  background: #2D5441; border-radius: 8px; padding: 18px 22px;
  display: flex; gap: 16px; align-items: baseline;
}
.dump-help__label {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 18px; font-weight: 700; color: #F7B51C; flex: none; min-width: 76px;
}
.dump-help__body { font-size: 14.5px; line-height: 1.65; color: #C8E6D8; }

.dump-callout {
  background: #EAF3EC; border: 1px solid #C8E6D8; border-left: 4px solid #F7B51C;
  border-radius: 8px; padding: 18px 22px; margin-top: 20px;
}
.dump-callout p { font-size: 14.5px; line-height: 1.65; color: #3A4A40; margin: 0 !important; }
.dump-callout strong { color: #2D5441; }

.dump-tips {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px; margin-top: 16px;
}
.dump-tip {
  background: #EAF3EC; border: 1px solid #C8E6D8; border-radius: 8px;
  padding: 18px 22px;
}
.dump-tip__title { font-size: 14px; font-weight: 700; color: #2D5441; }
.dump-tip p { font-size: 13.5px; line-height: 1.6; color: #4A3F35; margin: 6px 0 0 !important; }

/* ---- Can / can't -------------------------------------------------------- */
.dump-cancant { margin-top: 60px; }
.dump-cancant h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 30px; font-weight: 700; color: #2C2218; margin: 0;
}
.dump-cancant__grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px; margin-top: 22px;
}
.dump-can, .dump-cant { border-radius: 10px; padding: 24px 26px; background: #EAF3EC; }
.dump-can  { border: 1px solid #C8E6D8; }
.dump-cant { border: 1px solid #E7C9A8; }
.dump-can__label, .dump-cant__label {
  font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
}
.dump-can__label  { color: #2D5441; }
.dump-cant__label { color: #8A5A2B; }
.dump-can p, .dump-cant p {
  font-size: 14.5px; line-height: 1.7; margin: 10px 0 0 !important; color: #3A4A40;
}

/* ---- Availability band -------------------------------------------------- */
.dump-avail {
  background: #2D5441; border-radius: 12px; padding: 32px 36px; margin-top: 44px;
  display: flex; align-items: center; gap: 28px; flex-wrap: wrap;
}
.dump-avail__text { flex: 1; min-width: 280px; }
.dump-avail__eyebrow {
  font-size: 11px; font-weight: 700; letter-spacing: 0.2em;
  text-transform: uppercase; color: #C8E6D8;
}
.dump-avail__text p {
  font-size: 15.5px; line-height: 1.7; color: #FFFBE6; margin: 10px 0 0 !important;
}
.dump-avail strong { color: #F7B51C; }

@media (max-width: 1024px) {
  .dump-sizes__grid { grid-template-columns: 1fr; max-width: 560px; margin-left: auto; margin-right: auto; }
}
@media (max-width: 767px) {
  .dump-sizes__head h2, .dump-which h2, .dump-cancant h2 { font-size: 26px; }
  .dump-help { flex-direction: column; gap: 6px; }
  .dump-tips, .dump-cancant__grid { grid-template-columns: 1fr; }
  .dump-sizes__ctas a { width: 100%; text-align: center; }
}

/* Size photos on the pricing cards (media 592/593/594) — 240px crop frame,
   matching the site-wide card treatment. John, 2026-08-16. */
.dump-card__img { height: 240px; overflow: hidden; }
.dump-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 767px) { .dump-card__img { height: 180px; } }
