.kc-product-order {
  scroll-margin-top: 112px;
}

@media (min-width: 1024px) {
  body.single-product main.site-main {
    margin-top: 120px;
  }
}

.kindle-checkout[data-single-product-name] {
  max-width: var(--theme-normal-container-max-width, 1168px);
  margin: 0 auto 80px;
  padding: 0 20px;
  box-sizing: border-box;
}

.kindle-checkout {
  --kc-ink: var(--theme-palette-color-3, #0F1111);
  --kc-bone: var(--theme-palette-color-5, #F7F4EF);
  --kc-border: var(--theme-border-color, #aaabab);
  --kc-card-radius: var(--theme-form-field-border-radius, 3px);
  --kc-display-font: "Momo Trust Display", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: var(--kc-ink);
}

.kc-order-divider { max-width: var(--theme-normal-container-max-width, 1168px); box-sizing: border-box; border: 0; border-top: 1px solid var(--theme-border-color, #aaabab); margin: 40px auto 0; }
.kc-order-heading { font-family: var(--kc-display-font); text-align: center; margin-top: 32px; margin-bottom: 32px; }

.kc-grid { display: grid; grid-template-columns: 1fr; gap: 40px; }
@media (min-width: 900px) {
  .kc-grid { grid-template-columns: 1.6fr 1fr; align-items: start; }
}

.kc-fieldset { border: 0; margin: 0 0 32px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.kc-legend { font-family: var(--kc-display-font); font-size: 22px; line-height: 1.2; font-weight: 700; margin: 0; padding: 0; }
.kc-row { display: flex; gap: 16px; flex-wrap: wrap; }
.kc-row .kc-input-group { flex: 1 1 200px; }
.kc-input-group { display: flex; flex-direction: column; gap: 0; }
.kc-input-group label { font-size: 0.875em; margin: 0; }
.kc-field-error { color: var(--wc-red, #cc1818); font-size: 0.8em; margin-inline-start: 8px; }
.kc-field-invalid { border-color: var(--wc-red, #cc1818) !important; }
.kc-input-group input,
.kc-input-group select { width: 100%; box-sizing: border-box; font: inherit; }

.kc-device-options { display: flex; flex-direction: column; gap: 12px; }
.kc-device { display: flex; align-items: center; gap: 12px; border: 1px solid var(--kc-border); border-radius: var(--kc-card-radius); padding: 14px 16px; cursor: pointer; }
.kc-device-info { display: flex; flex-direction: column; flex: 1; }
.kc-device-name { font-family: var(--kc-display-font); font-weight: 400; }
.kc-device-desc { font-size: 0.875em; opacity: 0.7; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.kc-device-price { font-weight: 700; white-space: nowrap; }

.kc-delivery-options { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 480px) {
  .kc-delivery-options { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
}
.kc-delivery-option { display: flex; align-items: center; justify-content: center; gap: 8px; height: 100%; box-sizing: border-box; text-align: center; border: 1px solid var(--kc-border); border-radius: var(--kc-card-radius); padding: 14px 16px; cursor: pointer; }

.kindle-checkout input[type="radio"] { accent-color: var(--theme-form-selection-field-active-color, var(--theme-palette-color-1)); }

.kc-delivery-option input:disabled { cursor: not-allowed; }
.kc-delivery-option:has(input:disabled) { opacity: 0.5; }

.kc-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.cf-turnstile { margin-top: 20px; }

.kc-submit { display: block; width: 100%; margin-top: 20px; padding: 14px 24px; border: 0; border-radius: 999px; background: var(--kc-ink); color: var(--theme-palette-color-8, #fff); font: inherit; font-weight: 700; cursor: pointer; }
.kc-submit:disabled { opacity: 0.5; cursor: not-allowed; }
.kc-status { margin-top: 12px; padding: 12px 16px; border-radius: 8px; background: color-mix(in srgb, var(--kc-ink) 6%, transparent); }
.kc-status.is-error { background: color-mix(in srgb, red 10%, transparent); }

.kc-thankyou {
  --kc-ink: var(--theme-palette-color-3, #0F1111);
  --kc-border: var(--theme-border-color, #aaabab);
  --kc-display-font: "Momo Trust Display", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: var(--kc-ink);
  text-align: center;
  padding: 40px 0;
}
.kc-thankyou svg { width: 52px; height: 52px; color: var(--kc-ink); }
.kc-thankyou-title { font-family: var(--kc-display-font); font-size: 32px; line-height: 1.2; margin: 20px auto 12px; max-width: 560px; }
.kc-thankyou-body { opacity: 0.7; max-width: 460px; margin: 0 auto; }

.kc-receipt { text-align: left; max-width: 520px; margin: 32px auto 0; border: 1px solid var(--kc-border); border-radius: 12px; padding: 24px; }
.kc-receipt-heading { font-family: var(--kc-display-font); font-size: 18px; margin: 0 0 12px; }
.kc-receipt-heading:not(:first-child) { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--kc-border); }
.kc-receipt-row { display: flex; justify-content: space-between; gap: 16px; padding: 6px 0; }
.kc-receipt-row span:first-child { opacity: 0.7; }
.kc-receipt-row span:last-child { text-align: right; }
.kc-receipt-total { border-top: 1px solid var(--kc-border); margin-top: 8px; padding-top: 12px; font-weight: 700; }
.kc-receipt-total span { opacity: 1; }

.kc-summary { border: 1px solid var(--kc-border); border-radius: 12px; padding: 20px; position: sticky; top: 20px; }

@media (min-width: 900px) {
  .kc-summary { top: 112px; }
}
.kc-summary-title { font-family: var(--kc-display-font); margin: 0 0 12px; }
.kc-summary-row { display: flex; justify-content: space-between; padding: 6px 0; gap: 12px; }
.kc-summary-total { border-top: 1px solid var(--kc-border); margin-top: 8px; padding-top: 12px; font-weight: 700; }
