/* Badge contrast: white on the original pink was below WCAG AA. */
.hero-container div[class*="mb-6"][class*="rounded-"] { background-color: #a30040 !important; }

/* Touch targets: announcement arrows/close (16px) and slider bullets (8px). */
.asam-ann-prev, .asam-ann-next, .asam-ann-close {
  min-width: 44px !important; min-height: 44px !important;
  display: inline-flex; align-items: center; justify-content: center;
}
button[class*="rounded-full"][class*="h-2"], button[class*="rounded-full"][class*="w-2"],
.glide__bullet { min-width: 24px !important; min-height: 24px !important; }

/* Visible keyboard focus for interactive elements. */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid #00403d; outline-offset: 2px;
}

/* ---------- Checkout order summary polish (breathing room) ---------- */
.asam-checkout__cols { grid-template-columns: minmax(0, 1fr) 468px; gap: 36px; }
.asam-checkout__right { padding-left: 32px; }
.asam-review__items { margin-top: 20px; }
.asam-review-item { padding: 18px 0; gap: 14px; border-bottom-color: #f0ebe5; }
.asam-review-item__media { border-radius: 2px; }
.asam-review-item__info { padding-top: 2px; gap: 2px; }
.asam-review-item__name { line-height: 1.45; }
.asam-review-item__price { padding-top: 2px; }
.asam-review__shipping { padding-top: 24px; }
.asam-review__totals { margin-top: 20px; padding-top: 18px; gap: 10px; border-top-color: #f0ebe5; }
.asam-review__totals .asam-summary__row { font-size: 15px; line-height: 24px; }
.asam-review__totals .asam-summary__row--total { margin-top: 4px; padding-top: 14px; font-size: 21px; line-height: 30px; }
.asam-checkout #payment { margin-top: 24px; padding: 22px 22px 24px; }
.asam-checkout .asam-payment-brands { padding: 22px; }
@media (min-width: 1200px) {
  .asam-checkout__right { position: sticky; top: 20px; align-self: start; }
}
@media (max-width: 1023px) {
  .asam-checkout__cols { display: flex; flex-direction: column; gap: 0; }
  .asam-checkout__right { border-left: 0; padding-left: 0; border-top: 1px solid #ece7e0; margin-top: 28px; padding-top: 24px; }
  .asam-review__items { margin-top: 16px; }
  .asam-review-item { padding: 16px 0; }
  .asam-review__shipping { padding-top: 20px; }
  .asam-review__totals { margin-top: 18px; padding-top: 16px; }
}
@media (max-width: 767px) {
  .asam-review-item { grid-template-columns: 72px minmax(0, 1fr) auto; gap: 12px; padding: 15px 0; }
  .asam-review-item__media { width: 72px; height: 72px; }
  .asam-review-item__qty { left: 52px; }
  .asam-review-item__name { font-size: 14px; line-height: 1.4; }
  .asam-review-item__price { font-size: 14px; }
  .asam-review__totals .asam-summary__row { font-size: 14px; line-height: 22px; }
  .asam-review__totals .asam-summary__row--total { font-size: 19px; line-height: 26px; }
  .asam-checkout #payment { margin-top: 20px; padding: 18px; }
}

/* Checkout: breathing room before the site footer */
.asam-checkout-page { padding-bottom: 72px; }
.asam-checkout__form { margin-bottom: 0; }
.asam-checkout #payment { margin-bottom: 4px; }
@media (max-width: 767px) {
  .asam-checkout-page { padding-bottom: 48px; }
}
