/* Shop Pricing page styles (loaded after base.css). */
.hero--pricing { min-height: clamp(240px, 22.3vw, 382px); padding-block: 40px; }
.hero--pricing .hero__title { font-weight: 600; margin-bottom: clamp(20px, 3vw, 30px); }
.hero--pricing { --c-overlay: rgba(0,0,0,.5); }
.pricing-hours-btn { font: 700 13px/1 var(--ff-sans); letter-spacing: 2.5px; text-transform: uppercase; padding: 16px 20px; gap: 10px; width: auto; max-width: 100%; }
@media (min-width: 768px) { .pricing-hours-btn { padding: 22px 50px; } }
.pricing-hours-btn .ext-icon { flex: none; }

.pricing-body { background: #f7f7f7; padding-block: clamp(40px, 5.3vw, 91px) 0; }
.jump-cards { display: grid; gap: 16px; max-width: 1120px; margin-inline: auto; }
@media (min-width: 768px) { .jump-cards { grid-template-columns: 1fr 1fr; gap: 20px; } }
.jump-card { min-height: 230px; padding: 40px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
@media (min-width: 768px) { .jump-card { min-height: 263px; } }
.jump-card--dark { background: #000; color: #fff; }
.jump-card--light { background: #fff; color: #000; }
.jump-card__title { font: 700 clamp(1.75rem, 5vw, 2.5rem)/1.2 var(--ff-display); letter-spacing: -.5px; margin-bottom: 20px; }
.jump-card__btn { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 28px; font: 400 clamp(.875rem, 1.2vw, .9375rem)/1.2 var(--ff-sans); text-transform: uppercase; text-decoration: none; }
.jump-card--dark .jump-card__btn { background: #fff; color: #000; }
.jump-card--light .jump-card__btn { background: #000; color: #fff; }
.jump-card--dark .jump-card__btn:hover { background: #ddd; }
.jump-card--light .jump-card__btn:hover { background: #363636; }
.jump-card--dark .jump-card__btn:focus-visible { outline-color: #fff; }

.price-group { scroll-margin-top: var(--header-h); padding-top: clamp(48px, 8vw, 100px); }
#laundry { padding-top: clamp(64px, 14vw, 232px); }
#dry-cleaning { padding-top: clamp(64px, 12vw, 200px); }
.price-section { scroll-margin-top: var(--header-h); }
.price-section + .price-section { margin-top: clamp(40px, 6vw, 75px); }
.price-eyebrow { font: 500 14.5px/1.4 var(--ff-sans); letter-spacing: 0; text-transform: uppercase; color: #6b6b6b; margin: 0 0 8px; }
.price-heading { font: 400 clamp(1.6rem, 4vw + .5rem, 2.28rem)/1.2 var(--ff-display); color: var(--c-navy); margin: 0 0 28px; }
.price-grid { list-style: none; margin: 0 0 0 10px; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
@media (min-width: 768px) { .price-grid { gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1025px) { .price-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .price-grid { gap: 20px; grid-template-columns: repeat(5, 208px); justify-content: start; align-items: start; } }
.price-card--row { }
@media (min-width: 1200px) { .price-card--row { grid-column-start: 1; } .price-card--wide { margin-top: 70px; } }
.price-card { background: #fff; padding: 10px 4px 7px; text-align: center; }
.price-card img { width: 52px; height: 52px; margin: 0 auto 20px; }
@media (min-width: 768px) { .price-card img { width: 62px; height: 62px; } }
.price-name { font: 700 15px/27px var(--ff-slab); color: var(--c-slate); }
@media (min-width: 768px) { .price-name { font-size: 17px; } }
.price-name__blank { display: none; }
@media (min-width: 768px) { .price-name__blank { display: block; height: 27px; } }
.price-amount { margin-top: 13px; font: 300 15px/21px var(--ff-roboto); color: #767676; }
@media (min-width: 768px) { .price-amount { font-size: 15px; } }
.price-card .price-name:has(.price-name__blank) br { display: none; }

.pricing-cta { text-align: center; padding: 70px var(--gutter) 105px; }
.pricing-cta__text { font: 700 13px/1.5 var(--ff-sans); letter-spacing: 1px; text-transform: uppercase; color: var(--c-navy); max-width: 32ch; margin: 0 auto 70px; }
@media (min-width: 768px) { .pricing-cta__text { max-width: none; } }
@media (max-width: 767.98px) { .pricing-cta { padding-bottom: 70px; } }

/* Stretched rows below 1200px: keep prices on a common baseline at the card bottom */
@media (max-width: 1199.98px) {
  .price-card { display: flex; flex-direction: column; }
  .price-amount { margin-top: auto; padding-top: 13px; }
}
