.service-purchase { padding-block: 36px 52px; }
.service-purchase .page-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(340px, 440px); gap: 48px; }
.service-purchase .page-hero-copy { min-width: 0; }
.service-purchase h1 { font-size: 40px; line-height: 1.12; overflow-wrap: anywhere; }
.service-purchase .service-includes-heading { margin: 36px 0 12px; font-size: 20px; }
.service-purchase .service-detail-list { grid-template-columns: minmax(0, 1fr); gap: 0; }
.service-purchase .service-detail-list li { min-height: 48px; padding: 12px 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; align-items: start; font-size: 15px; overflow-wrap: anywhere; }
.service-purchase .service-detail-list span { flex: 0 0 24px; }
.service-checkout { min-width: 0; padding: 24px; border: 1px solid var(--border); border-radius: 6px; background: var(--background); scroll-margin-top: 90px; }
.service-checkout h2 { margin: 0 0 16px; font-size: 23px; line-height: 1.25; }
.service-checkout :is(p, label, small, button), .service-order { overflow-wrap: anywhere; }
.service-checkout [hidden], .service-order [hidden], .service-card-price[hidden] { display: none !important; }
.service-checkout fieldset { display: grid; gap: 14px; min-width: 0; padding: 0; margin: 0; border: 0; }
.service-checkout label { display: grid; gap: 6px; min-width: 0; font-size: 13px; font-weight: 600; }
.service-checkout label small { display: inline; color: var(--muted); font-size: 11px; font-weight: 400; }
.service-checkout input:not([type="checkbox"]), .service-checkout textarea { display: block; width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; color: var(--foreground); background: var(--background); border: 1px solid var(--border-strong); border-radius: 4px; font-size: 16px; font-weight: 400; line-height: 1.35; }
.service-checkout textarea { resize: vertical; min-height: 76px; }
.service-checkout input[type="number"] { height: 44px; }
.checkout-contact-grid, .checkout-quantities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.checkout-total { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 4px 12px; padding: 0 0 14px; border-bottom: 1px solid var(--border); }
.checkout-total > div { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: flex-end; gap: 6px 10px; }
.checkout-total strong { font-size: 26px; line-height: 1.25; }
.checkout-total s { color: var(--muted); font-size: 13px; }
.checkout-total small { grid-column: 1 / -1; color: #176b45; font-size: 12px; }
.checkout-promo { border-block: 1px solid var(--border); padding: 10px 0; }
.checkout-promo summary { width: fit-content; padding: 4px 0; cursor: pointer; font-size: 13px; }
.checkout-promo > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: end; margin-top: 8px; }
.checkout-promo .button { min-height: 44px; padding: 10px 12px; font-size: 13px; }
.checkout-promo p { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.checkout-promo p:empty { display: none; }
.service-checkout .checkout-consent { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 11px; font-weight: 400; line-height: 1.5; color: var(--muted); }
.checkout-consent input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--brand); }
.checkout-consent a, .checkout-recovery, .order-results a { text-decoration: underline; text-underline-offset: 3px; color: var(--brand); }
.checkout-submit { width: 100%; min-height: 48px; margin-top: 18px; white-space: normal; }
.service-checkout .button, .service-order .button { border-radius: 4px; white-space: normal; text-align: center; }
.service-checkout button:disabled, .service-order button:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.checkout-message { margin: 12px 0 0; font-size: 13px; }
.checkout-message:empty { display: none; }
.service-checkout [data-checkout-retry] { margin-top: 12px; }
.service-checkout .is-error, .service-order .is-error { color: #a72434; }
.checkout-recovery { display: block; margin: 16px 0; font-weight: 600; }
.checkout-managers { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.checkout-managers img { width: 22px; height: 22px; object-fit: contain; }
.service-card-price { margin-top: 14px; font-size: 16px; font-weight: 650; }
.checkout-order-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 80px; border-bottom: 1px solid var(--border); }
.checkout-order-header .brand img { width: 36px; height: 36px; }
.service-order { max-width: 860px; padding-block: 36px 70px; }
.service-order h1 { margin: 0 0 16px; font-size: 32px; line-height: 1.2; }
.service-order h2 { margin: 28px 0 16px; font-size: 21px; line-height: 1.3; }
.service-order [data-order-message] { font-size: 14px; min-height: 21px; }
.order-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.order-facts > div { padding: 14px 0; border-bottom: 1px solid var(--border); min-width: 0; }
.order-facts dt { color: var(--muted); font-size: 12px; }
.order-facts dd { margin: 5px 0 0; font-size: 16px; font-weight: 600; }
.order-history, .order-results { padding: 0; margin: 0; list-style: none; }
.order-history li { display: grid; grid-template-columns: 165px minmax(0, 1fr); gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--border); font-size: 14px; }
.order-history time { color: var(--muted); font-size: 12px; }
.order-results li { padding: 6px 0; font-size: 14px; }
.order-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.order-actions .button { min-height: 44px; font-size: 14px; }
@media (max-width: 900px) {
  .service-purchase .page-hero-grid { gap: 26px; grid-template-columns: minmax(0, 1fr) minmax(320px, 380px); }
  .service-purchase h1 { font-size: 32px; }
  .service-checkout { padding: 20px; }
}
@media (max-width: 700px) {
  .service-purchase .page-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .service-purchase { padding-block: 24px 36px; }
  .service-purchase .breadcrumbs { margin-bottom: 24px; }
  .service-purchase h1 { font-size: 30px; }
  .service-checkout { padding: 18px; }
  .service-order h1 { font-size: 28px; }
  .order-history li { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}
@media (max-width: 370px) {
  .checkout-contact-grid { grid-template-columns: minmax(0, 1fr); }
  .checkout-quantities { gap: 8px; }
  .service-checkout { padding: 14px; }
  .checkout-total { grid-template-columns: minmax(0, 1fr); }
  .checkout-total > div { justify-content: flex-start; }
  .order-facts { grid-template-columns: minmax(0, 1fr); }
  .order-actions { flex-direction: column; }
}
