.crCardFields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}
.crCardFields label{display:grid;gap:7px;min-width:0;color:#173d34;font:600 12px/1.4 Inter,system-ui,sans-serif}
.crCardFields .is-wide{grid-column:1/-1}
.crCardFields input,.crCheckoutFields select{box-sizing:border-box;min-width:0;width:100%;min-height:46px;padding:10px;border:1px solid #a4b7af;border-radius:12px;background:#fff;color:#173d34;font:400 16px/1.4 Inter,system-ui,sans-serif}
.crCardFields input:focus-visible,.crCheckoutFields select:focus-visible{outline:2px solid #805735;outline-offset:2px}
.crCardFields[hidden]{display:none}
.crPaymentBody{min-height:0}
.crCheckoutContact .crCheckoutFields{grid-template-columns:repeat(2,minmax(0,1fr))}
.crCheckoutContact .crCheckoutFields label:first-child{grid-column:auto}
@media(max-width:600px){.crPaymentSummaryLabel{margin-top:12px}.crPaymentBrand{margin-bottom:14px}.crPaymentSummary{padding:16px 18px}}
@media(max-width:600px) and (max-height:740px){
  .crCommercePanel:has(.crPaymentBody) .crCommerceHead{padding:14px 18px}
  .crCommercePanel:has(.crPaymentBody) .crCommerceHead strong{font-size:25px}
  .crPaymentSummary{padding:12px 18px}
  .crPaymentSummary>strong{font-size:28px}
  .crPaymentItems{margin-top:10px;padding-top:10px;gap:6px}
  .crPaymentForm{padding:16px 18px}
  .crPaymentBrand{margin-bottom:12px}
  .crCardFields{margin-bottom:12px;gap:8px}
  .crPaymentForm .crCommercePrimary{margin-top:6px;padding:12px}
  .crPaymentFine{margin-top:8px}
  .crPaymentForm .crCommerceStatus:empty{display:none}
}
.crCheckoutForm label.crBillingSame{display:flex;flex-direction:row;align-items:flex-start;gap:9px}
.crCheckoutForm label.crBillingSame>span{display:block;line-height:1.45}
.crCheckoutForm label.crBillingSame a{display:inline;color:#174e43;text-decoration:underline}
/* Checkout owns its sizing; legacy modal rules must not squeeze it to 520px. */
.crCommerceBackdrop .crCommercePanel.is-checkout-details,
.crCommerceBackdrop .crCommercePanel:has(.crPaymentBody){width:min(960px,calc(100vw - 32px))!important;max-width:none!important;box-sizing:border-box!important}
@media(max-width:600px){
  .crCommerceBackdrop .crCommercePanel.is-checkout-details,
  .crCommerceBackdrop .crCommercePanel:has(.crPaymentBody){width:100%!important;max-width:100%!important}
}
.crCommerceBackdrop.is-checkout-details{padding:12px!important;place-items:center!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details{width:min(740px,calc(100vw - 24px))!important;max-height:calc(100dvh - 24px)!important;overflow:auto!important;border-radius:24px!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutHead{padding:18px 22px!important;position:relative!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutHead strong{font-size:32px!important;line-height:1.1!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutBody{padding:14px 22px 22px!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutForm{display:block!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutSection{display:block!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutSection[hidden]{display:none!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutSection>header{display:none!important}
.crCheckoutSteps{display:flex;gap:10px;margin:3px 0 20px!important}
.crCheckoutSteps button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:38px;border:0;border-radius:10px;background:#e6ece8;color:#425c53;font:600 12px/1.3 Inter,system-ui,sans-serif;cursor:pointer}
.crCheckoutSteps button span{font-size:10px}
.crCheckoutSteps button[aria-current="step"]{background:#123d33;color:#fff}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutFields{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(70px,.4fr) minmax(90px,.65fr)!important;gap:12px!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutContact .crCheckoutFields{grid-template-columns:1fr 1fr!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutFields label{grid-column:auto!important;gap:6px!important;font-size:12px!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutFields label.is-wide{grid-column:1/-1!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutFields input,
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutFields select{height:46px!important;min-height:46px!important;padding:10px 12px!important;font-size:16px!important;font-weight:400!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutActions{display:grid!important;grid-template-columns:auto 1fr!important;gap:12px!important;margin-top:14px!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crStepNext{display:block!important;min-height:44px!important;margin-top:18px!important;padding:12px 18px!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crStepBack{display:inline-block!important;min-height:40px!important;margin:0!important;padding:10px 0!important;border:0!important;background:transparent!important;color:#31574a!important;font:600 12px/1.3 Inter,system-ui,sans-serif!important;cursor:pointer}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutShipping>.crStepBack{margin-top:10px!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutShipping>.crStepNext{margin-top:0!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crBillingSame{min-height:38px!important;margin:0 0 12px!important;padding:10px!important;font-size:12px!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crBillingFields{margin:0 0 12px!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crBillingFields[hidden]{display:none!important}
.crCommerceBackdrop .crCommercePanel.is-checkout-details .crCommerceStatus:empty{display:none!important}
@media(max-width:600px){
  .crCommerceBackdrop.is-checkout-details{padding:8px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;border-radius:20px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutHead{padding:15px 16px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutHead strong{font-size:27px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutBody{padding:10px 14px 16px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutFields{gap:9px!important;grid-template-columns:minmax(0,1fr) 62px 86px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutFields label{font-size:11px!important;gap:4px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutFields input,
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutFields select{height:42px!important;min-height:42px!important;padding:8px!important}
  .crCheckoutSteps{gap:6px;margin-bottom:14px!important}
  .crCheckoutSteps button{font-size:11px;gap:5px}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crBillingSame{font-size:11px!important;padding:8px!important;margin-bottom:9px!important}
}
@media(min-width:601px) and (max-height:540px){
  .crCommerceBackdrop .crCommercePanel.is-checkout-details{width:min(880px,calc(100vw - 24px))!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutHead{padding:5px 16px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutHead strong{font-size:25px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutBody{padding:6px 16px 10px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutUtility{display:none!important}
  .crCheckoutSteps{margin-bottom:6px!important}
  .crCheckoutSteps button{min-height:30px}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutFields,
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutContact .crCheckoutFields{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:7px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutFields label,
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutFields label.is-wide{grid-column:span 2!important;font-size:10px!important;gap:3px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutFields input,
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutFields select{height:35px!important;min-height:35px!important;padding:6px 8px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutShipping>.crStepBack{margin-top:4px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crStepNext{min-height:38px!important;padding:9px!important;margin-top:10px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crBillingSame{padding:7px!important;margin-bottom:7px!important;min-height:32px!important;font-size:10px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutActions{margin-top:6px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutBilling:not([hidden]){display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:10px!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutBilling>.crBillingSame{grid-row:1!important;align-self:start!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutBilling>.crBillingFields{grid-column:1/-1!important;grid-row:2!important;margin-bottom:0!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutBilling>.crCheckoutActions{grid-column:1/-1!important;grid-row:3!important}
  .crCommerceBackdrop .crCommercePanel.is-checkout-details .crCheckoutBilling>.crCommerceStatus{grid-column:1/-1!important}
  .crCommerceBackdrop .crCommercePanel:has(.crPaymentBody){max-height:calc(100dvh - 16px)!important}
  .crCommerceBackdrop .crCommercePanel:has(.crPaymentBody) .crCommerceHead{padding:7px 16px!important}
  .crCommerceBackdrop .crCommercePanel:has(.crPaymentBody) .crCommerceHead strong{font-size:25px!important;margin-top:3px!important}
  .crCommerceBackdrop .crCommercePanel .crPaymentBody{grid-template-columns:minmax(165px,.7fr) minmax(0,1.3fr)!important;min-height:0!important}
  .crCommerceBackdrop .crCommercePanel .crPaymentSummary{padding:12px!important}
  .crCommerceBackdrop .crCommercePanel .crPaymentSummaryLabel{margin-top:14px!important}
  .crCommerceBackdrop .crCommercePanel .crPaymentSummary>strong{font-size:28px!important}
  .crCommerceBackdrop .crCommercePanel .crPaymentItems{margin-top:12px!important;padding-top:10px!important}
  .crCommerceBackdrop .crCommercePanel .crPaymentForm{padding:10px 12px!important}
  .crCommerceBackdrop .crCommercePanel .crPaymentBrand{margin-bottom:8px!important}
  .crCommerceBackdrop .crCommercePanel .crPaymentBrand small{display:none!important}
  .crCommerceBackdrop .crCommercePanel .crPaymentLock{width:25px!important;height:25px!important;font-size:16px!important}
  .crCommerceBackdrop .crCommercePanel .crCardFields{gap:6px!important;margin-bottom:8px!important}
  .crCommerceBackdrop .crCommercePanel .crCardFields label{gap:3px!important;font-size:10px!important}
  .crCommerceBackdrop .crCommercePanel .crCardFields input{min-height:36px!important;height:36px!important;padding:6px 8px!important}
  .crCommerceBackdrop .crCommercePanel .crPaymentForm .crCommercePrimary{margin-top:0!important;min-height:38px!important;padding:10px!important}
  .crCommerceBackdrop .crCommercePanel .crPaymentFine{margin-top:7px!important;font-size:9px!important}
  .crCommerceBackdrop .crCommercePanel .crPaymentForm .crCommerceStatus:empty{display:none!important}
}
/* Native date controls must shrink with their grid column on phones/Safari. */
.crCommercePanel.is-telehealth .crTelehealthForm > *,
.crCommercePanel.is-telehealth .crTelehealthForm label {
  min-width: 0;
  min-inline-size: 0;
}
.crCommercePanel.is-telehealth .crTelehealthForm input,
.crCommercePanel.is-telehealth .crTelehealthForm select {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-inline-size: 0;
  max-inline-size: 100%;
}
/* iOS date controls can ignore border-box sizing when native appearance and
   horizontal padding are combined (WebKit 301648). Keep the picker, but use
   a zero-padding CSS-sized outer control and indent only the displayed text. */
.crCommerceBackdrop .crCommercePanel.is-telehealth .crTelehealthForm input[type="date"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: block;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-inline-size: 0 !important;
  padding: 0 !important;
  text-indent: 10px;
}
.crCommercePanel.is-telehealth input[type="date"]::-webkit-date-and-time-value {
  min-width: 0;
  min-height: 1.2em;
  text-align: left;
}
.crCommercePanel.is-telehealth input[type="date"]::-webkit-datetime-edit {
  min-width: 0;
  padding: 0;
}
