/* A clean, mobile-first custom checkout that complements the original storefront. */
.checkout-page { background: #fcf9fa; color: #1c1519; min-height: 100vh; }
.test-banner { min-height: 37px; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 9px; padding: 9px 14px; background: #f1d6e2; color: #61354a; text-align: center; font-size: 9px; font-weight: 760; letter-spacing: .1em; }
.checkout-header { min-height: 84px; background: #080809; padding: 12px clamp(18px, 6vw, 100px); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.checkout-brand { display: inline-flex; align-items: center; gap: 11px; color: #fff; }
.checkout-brand img { width: 45px; height: 45px; border-radius: 50%; }
.checkout-brand strong { font-size: 16px; font-weight: 700; letter-spacing: -.04em; }
.checkout-lock { color: #d6c9d1; font-size: 11px; letter-spacing: .035em; }
.checkout-main { max-width: 1230px; margin: 0 auto; padding: 55px clamp(20px, 5vw, 70px) 110px; }
.back-link { color: #6e5263; font-size: 12px; font-weight: 700; }
.back-link:hover { text-decoration: underline; }
.checkout-kicker { color: #a04b74; font-size: 10px; letter-spacing: .2em; font-weight: 800; margin: 32px 0 12px; }
.checkout-lead h1 { font-size: clamp(56px, 7.3vw, 96px); letter-spacing: -.07em; line-height: .97; font-weight: 670; margin: 0; }
.checkout-dot { color: #dc83a9; }
.checkout-explainer { max-width: 510px; font-size: 13px; line-height: 1.8; margin: 18px 0 40px; color: #7a6e75; }
.checkout-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .82fr); gap: clamp(26px, 4vw, 55px); align-items: start; }
.checkout-form { display: grid; gap: 18px; }
.checkout-panel, .checkout-summary { background: #fff; border: 1px solid #e8dfe4; padding: clamp(23px, 3vw, 32px); }
.checkout-panel-head { display: flex; align-items: center; gap: 12px; margin-bottom: 26px; }
.step-number { display: grid; place-items: center; height: 31px; width: 31px; background: #f6e7ee; border-radius: 50%; color: #9e5375; font-size: 11px; font-weight: 700; flex-shrink: 0; }
.checkout-panel-head h2 { font-size: 21px; margin: 0; letter-spacing: -.04em; font-weight: 680; }
.field-label { display: block; font-size: 11px; color: #392a33; font-weight: 730; margin: 0 0 8px; }
.field-label span { color: #c76593; }
.checkout-panel input:not([type=checkbox]) { display: block; min-width: 0; width: 100%; height: 46px; border: 1px solid #dfd0d8; border-radius: 0; background: #fff; color: #1c1519; font-size: 13px; padding: 0 14px; transition: border-color .2s, box-shadow .2s; }
.checkout-panel input:not([type=checkbox]):focus { outline: none; border-color: #9f5274; box-shadow: 0 0 0 3px #ebcddd80; }
.checkout-panel input::placeholder { color: #9c8d96; }
.field-help { color: #958590; font-size: 10px; line-height: 1.7; margin: 10px 0 0; }
.checkout-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px 15px; }
.checkout-field-grid .full { grid-column: 1 / -1; }
.checkout-panel-copy { color: #7e7079; font-size: 12px; line-height: 1.7; margin: -10px 0 14px; }
.checkout-checkboxes { display: grid; gap: 0; border-top: 1px solid #e9dce3; }
.checkout-checkboxes label { display: flex; align-items: flex-start; gap: 12px; padding: 16px 0; border-bottom: 1px solid #e9dce3; color: #50434c; font-size: 12px; line-height: 1.7; cursor: pointer; }
.checkout-checkboxes input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #ab5b82; }
.payment-preview { border: 1px dashed #dabfcd; background: #fef9fb; padding: 24px 17px; display: flex; align-items: center; gap: 16px; }
.payment-preview-icon { display: grid; place-items: center; flex: 0 0 46px; height: 46px; width: 46px; background: #f7dfe9; border-radius: 50%; color: #9a5678; font-size: 23px; }
.payment-preview strong { font-size: 13px; }
.payment-preview p { color: #8f7985; font-size: 11px; line-height: 1.6; margin: 6px 0 0; }
#payment-element { margin: 14px 0; }
.checkout-notice { font-size: 11px; line-height: 1.6; color: #83516b; margin: 16px 0; }
.checkout-action { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 19px 21px; border: 0; background: #1c131a; color: #fff; font-size: 12px; font-weight: 780; letter-spacing: .02em; }
.checkout-action:disabled { background: #d8cfd4; color: #857881; }
.checkout-action:not(:disabled):hover { background: #66354c; }
.checkout-action span { font-size: 19px; }
.checkout-fineprint { font-size: 10px; color: #8c8188; line-height: 1.7; margin: 15px 0 0; }
.checkout-summary { position: sticky; top: 20px; background: #140f13; color: #fff; border-color: #211920; }
.checkout-summary-head p { color: #e0a5be; letter-spacing: .15em; font-size: 10px; font-weight: 720; margin: 0 0 10px; }
.checkout-summary-head h2 { font-size: 27px; margin: 0 0 25px; letter-spacing: -.045em; }
.checkout-items { border-top: 1px solid #40323c; }
.checkout-item { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; border-bottom: 1px solid #40323c; }
.checkout-item span { font-size: 13px; font-weight: 670; }
.checkout-item small { display: block; color: #b7a3af; font-size: 11px; margin-top: 7px; }
.checkout-item strong { font-size: 13px; white-space: nowrap; }
.checkout-totals { display: grid; gap: 13px; padding: 25px 0; border-bottom: 1px solid #40323c; }
.checkout-totals div { display: flex; align-items: center; justify-content: space-between; gap: 15px; font-size: 12px; color: #bbadb6; }
.checkout-totals strong { color: #fff; font-size: 20px; }
.checkout-summary-note { font-size: 11px; line-height: 1.75; color: #b3a2ad; margin: 20px 0 24px; }
.policy-link { font-size: 12px; font-weight: 680; color: #f3b1d0; text-decoration: underline; text-underline-offset: 4px; }
.checkout-footer { padding: 28px 15px; background: #080809; color: #998792; text-align: center; font-size: 11px; }
.checkout-success-wrap { max-width: 630px; margin: 70px auto 110px; padding: 0 20px; }
.checkout-success-card { padding: 50px 38px; background: #fff; border: 1px solid #eadfe5; }
.checkout-success-card h1 { font-size: clamp(38px, 7vw, 60px); letter-spacing: -.05em; margin: 14px 0; line-height: 1.07; }
.checkout-success-card p { font-size: 14px; line-height: 1.8; color: #6e6069; }
.checkout-success-card .success-mark { display: inline-grid; place-items: center; width: 55px; height: 55px; border-radius: 50%; background: #f7e1eb; color: #8b4767; font-size: 25px; }
.checkout-success-card .button { margin-top: 15px; }
@media (max-width: 800px) { .checkout-layout { grid-template-columns: 1fr; } .checkout-summary { position: static; order: -1; } .checkout-main { padding-top: 40px; } }
@media (max-width: 460px) { .checkout-header { padding: 10px 17px; } .checkout-brand strong { font-size: 13px; } .checkout-brand img { width: 38px; height: 38px; } .checkout-lock { font-size: 9px; max-width: 107px; } .checkout-main { padding: 29px 16px 70px; } .checkout-explainer { margin-bottom: 28px; } .checkout-panel, .checkout-summary { padding: 20px; } .checkout-field-grid { gap: 15px 12px; } .test-banner { font-size: 8px; } }

/* Verified customer test receipt */
.receipt-details { background:#fcf7f9; border:1px solid #ecdae3; padding:22px; margin:23px 0 10px; }
.receipt-details > div:not(.receipt-items) { display:flex; justify-content:space-between; gap:18px; align-items:baseline; padding:11px 0; border-bottom:1px solid #e7d9df; font-size:12px; }
.receipt-details span { color:#76636e; }
.receipt-details strong { color:#21161d; font-weight:740; text-align:right; overflow-wrap:anywhere; }
.receipt-details .receipt-items { padding:9px 0 0; }
.receipt-item { display:flex; align-items:baseline; gap:18px; justify-content:space-between; padding:8px 0; font-size:12px; }
.checkout-success-card .receipt-note { font-size:11px; line-height:1.6; color:#897883; }
@media(max-width:460px){.checkout-success-wrap{margin:38px auto 60px}.checkout-success-card{padding:29px 22px}}

/* U.S. demo shipping selector, checkout sidebar totals */
.shipping-method-options {border:1px solid #e5d7df;display:grid;}
.shipping-option {display:flex;align-items:center;gap:14px;padding:16px 14px;cursor:pointer;}
.shipping-option + .shipping-option {border-top:1px solid #e8dfe4;}
.shipping-option:has(input:checked) {background:#fff5fa;}
.shipping-option input {width:18px;height:18px;flex:0 0 18px;accent-color:#a9507b;}
.shipping-option > span {flex:1;min-width:0;}
.shipping-option strong {font-size:13px;color:#2c2028;display:block;}
.shipping-option small {display:block;font-size:10px;color:#8a7783;line-height:1.5;margin-top:4px;}
.shipping-option b {font-size:11px;color:#55404c;font-weight:680;text-align:right;max-width:125px;}
.checkout-totals .checkout-total-final {border-top:1px solid #584150;padding-top:16px;font-weight:750;color:#fff;}
.checkout-totals .checkout-total-final strong {font-size:23px;}


/* Shippo-only test rate choices — deliberately override generic form input rules.
   The prior oversized Mac circles came from .checkout-panel input:not([type=checkbox]). */
.shippo-select-box {padding:14px;border:1px solid #e2c9d5;border-radius:9px;background:#fffafd;}
.shippo-quote-button {display:block;width:100%;padding:13px 14px;border:1px solid #b35481;border-radius:6px;background:#fff;color:#723454;font:inherit;font-size:13px;font-weight:720;cursor:pointer;line-height:1.45;}
.shippo-quote-button:hover:not(:disabled) {background:#fff0f7;}
.shippo-quote-button:disabled {opacity:.66;cursor:wait;}
.shippo-privacy-help {margin:10px 0 7px;}
.shippo-rate-list {display:grid;gap:9px;margin-top:13px;}
.shippo-rate-card {display:grid;grid-template-columns:18px minmax(0,1fr) max-content;column-gap:13px;align-items:center;min-width:0;border:1px solid #ddc5d1;border-radius:7px;background:#fff;padding:13px 14px;cursor:pointer;line-height:1.5;}
.shippo-rate-card:has(.shippo-rate-radio:checked) {background:#fff0f7;border-color:#ae5681;box-shadow:0 0 0 1px #ae5681;}
.shipping-panel input.shippo-rate-radio[type="radio"] {
  -webkit-appearance:radio !important; appearance:auto !important;
  display:block !important; width:18px !important; height:18px !important;
  min-width:18px !important; min-height:18px !important;
  max-width:18px !important; max-height:18px !important;
  padding:0 !important; margin:0 !important;
  border-radius:50% !important; box-shadow:none !important;
  flex:none !important; justify-self:center; accent-color:#a9507b; cursor:pointer;
}
.shippo-rate-label {min-width:0;color:#3c2534;font-size:13px;font-weight:620;overflow-wrap:anywhere;}
.shippo-rate-price {white-space:nowrap;text-align:right;color:#37202d;font-size:14px;font-weight:780;}
@media(max-width:460px) {
  .shippo-select-box {padding:10px;}
  .shippo-rate-card {padding:12px 10px;column-gap:10px;grid-template-columns:18px minmax(0,1fr) auto;}
  .shippo-rate-label {font-size:12px;}
  .shippo-rate-price {font-size:12px;}
}
