/* Peptide Global — branded cart & checkout (overrides the WooCommerce
   block-checkout defaults; loaded after the inline page-pg styles). */

/* ---------- form steps as numbered cards ---------- */
/* keep WC's own counter name alive alongside ours — its reset wins otherwise */
.wc-block-components-form.wc-block-checkout__form { counter-reset: checkout-step 0 pgstep 0 !important; }
.wc-block-checkout__form .wc-block-components-checkout-step {
  background: var(--paper) !important;
  border: 1px solid var(--line) !important;
  border-radius: 16px;
  padding: 26px 26px 28px !important;
  margin: 0 0 18px !important;
}
.wc-block-components-checkout-step::before,
.wc-block-components-checkout-step::after { display: none !important; }
.wc-block-components-checkout-step__heading { margin: 0 0 6px !important; }
.wc-block-components-checkout-step__title {
  display: flex !important;
  align-items: center;
  gap: 12px;
  font: 600 17.5px/1.3 'Poppins', 'Inter', sans-serif !important;
  color: var(--ink) !important;
  margin: 0 !important;
}
.wc-block-components-checkout-step__title::before {
  counter-increment: pgstep;
  content: counter(pgstep, decimal-leading-zero);
  flex: none;
  font: 700 12px/1 'Poppins', sans-serif;
  letter-spacing: .08em;
  color: var(--blue);
  background: var(--blue-wash);
  border-radius: 8px;
  padding: 7px 10px;
}
.wc-block-components-checkout-step__description {
  color: var(--slate) !important;
  font-size: 13.5px !important;
  margin: 4px 0 14px !important;
}
.wc-block-components-checkout-step__container p { color: var(--slate); }

/* guest note */
.wc-block-checkout__guest-checkout-notice,
#contact-fields .wc-block-components-checkout-step__container > p {
  font-size: 13px !important;
  color: var(--faint) !important;
}

/* ---------- inputs ---------- */
.wc-block-components-text-input input,
.wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-form .wc-block-components-select .components-custom-select-control__button,
.wc-block-checkout__form select {
  background: var(--paper) !important;
  color: var(--ink) !important;
  font-size: 15px !important;
}
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-select label { color: var(--faint) !important; }
.wc-block-components-address-form__address_2-toggle {
  color: var(--blue) !important;
  font: 600 13.5px/1 'Inter', sans-serif !important;
}

/* ---------- payment options ---------- */
.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control__option {
  border-color: var(--line) !important;
  font-family: 'Inter', sans-serif;
}
.wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control__option--checked-option-highlighted {
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 1px var(--blue) !important;
  border-radius: 12px;
}
.wc-block-components-radio-control__input:checked {
  background: var(--blue) !important;
  border-color: var(--blue) !important;
}

/* notices (e.g. "no payment methods") — soften into brand style */
.wc-block-components-notice-banner.is-error {
  border-radius: 12px !important;
  border: 1px solid rgba(255, 111, 94, .38) !important;
  background: #FFF4F2 !important;
  color: #0C2440 !important;
  font-family: 'Inter', sans-serif;
}
.wc-block-components-notice-banner.is-error > svg {
  background: var(--coral) !important;
  fill: #fff;
}

/* ---------- order notes / checkboxes ---------- */
.wc-block-checkout__add-note { color: var(--slate); font-family: 'Inter', sans-serif; }
.wc-block-components-textarea {
  border-color: var(--line) !important;
  border-radius: 10px !important;
  font-family: 'Inter', sans-serif !important;
}

/* ---------- terms + place order ---------- */
.wc-block-checkout__terms {
  font-size: 13px !important;
  color: var(--slate) !important;
  margin-top: 6px;
}
.wc-block-checkout__terms a { color: var(--blue); font-weight: 600; }
.wc-block-components-checkout-place-order-button {
  background: var(--coral) !important;
  color: #0C2440 !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 19px 26px !important;
  font: 600 16px/1.2 'Inter', sans-serif !important;
  box-shadow: none !important;
  transition: background .15s !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-checkout-place-order-button:focus {
  background: var(--coral-deep) !important;
  color: #0C2440 !important;
}
.wc-block-checkout__actions_row { margin-top: 6px; }

/* ---------- order summary sidebar ---------- */
.wc-block-checkout__sidebar.wc-block-components-sidebar {
  background: var(--paper) !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  box-shadow: var(--shadow);
  padding: 8px 26px 22px !important;
}
.wc-block-components-checkout-order-summary__title {
  padding: 18px 0 16px !important;
  border-bottom: 1px solid var(--line);
}
.wc-block-components-checkout-order-summary__title-text {
  font: 600 17px/1.3 'Poppins', 'Inter', sans-serif !important;
  color: var(--ink);
}
.wc-block-components-checkout-order-summary__content { padding-top: 4px; }

/* line items */
.wc-block-components-order-summary-item {
  padding: 16px 0 !important;
  border-bottom: 1px dashed var(--line);
  font-family: 'Inter', sans-serif;
}
.wc-block-components-order-summary-item:last-child { border-bottom: none; }
.wc-block-components-order-summary-item__image img {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--mist);
}
.wc-block-components-order-summary-item__quantity {
  background: var(--blue) !important;
  border: 2px solid var(--paper) !important;
  color: #fff !important;
  font-weight: 600;
}
.wc-block-components-order-summary-item__description .wc-block-components-product-name {
  font: 600 14.5px/1.4 'Poppins', 'Inter', sans-serif !important;
  color: var(--ink) !important;
}
.wc-block-components-order-summary-item__individual-prices {
  color: var(--faint);
  font-size: 12.5px;
}
/* hide long marketing descriptions inside the summary — order data only */
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata__description { display: none; }
.wc-block-components-order-summary-item__total-price {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--ink);
}

/* coupons */
.wc-block-components-totals-coupon-link,
.wc-block-components-panel__button {
  color: var(--blue) !important;
  font: 600 14px/1.3 'Inter', sans-serif !important;
}
.wc-block-components-totals-coupon .wc-block-components-button {
  border-radius: 10px !important;
}

/* totals */
.wc-block-components-totals-item {
  font: 400 14px/1.5 'Inter', sans-serif !important;
  padding: 4px 0;
}
.wc-block-components-totals-item__label { color: var(--slate); }
.wc-block-components-totals-item__value {
  color: var(--ink);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
/* discount lines in brand green */
.wc-block-components-totals-fees .wc-block-components-totals-item__value,
.wc-block-components-totals-discount .wc-block-components-totals-item__value {
  color: var(--good) !important;
}
.wc-block-components-totals-footer-item {
  padding: 14px 0 4px !important;
  border-top: 2px solid var(--ink);
  margin-top: 10px;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font: 700 19px/1.3 'Poppins', 'Inter', sans-serif !important;
  color: var(--ink) !important;
}

/* ---------- page band secure note ---------- */
.band-secure {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 14px 0 0;
  font: 600 12.5px/1.4 'Inter', sans-serif;
  color: var(--slate);
}
.band-secure svg { flex: none; color: var(--good); }

/* ---------- trust strip under checkout ---------- */
.checkout-trust { border-top: 1px solid var(--line); background: var(--mist); }
.checkout-trust .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px 44px;
  padding-top: 30px;
  padding-bottom: 34px;
}
.checkout-trust-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.checkout-trust-item svg { flex: none; margin-top: 2px; color: var(--good); }
.checkout-trust-item b { display: block; font: 600 13.5px/1.35 'Inter', sans-serif; color: var(--ink); }
.checkout-trust-item span { font-size: 12px; color: var(--faint); }

/* ---------- responsive ---------- */
@media (max-width: 640px) {
  .wc-block-components-checkout-step { padding: 20px 18px 22px !important; }
  .wc-block-checkout__sidebar.wc-block-components-sidebar { padding: 4px 18px 18px !important; }
}
/* ---------- Secure bank payment: trust treatment ---------- */
/* The gateway supplies its own label component, so the hooks are
   .wc-block-components-payment-method-{label,description,content} —
   NOT .wc-block-components-radio-control__label, which it never renders. */

.wc-block-components-payment-method-label {
  display: flex !important;
  align-items: center;
  gap: 10px;
  width: 100%;
  font: 600 14.5px/1.35 'Inter', -apple-system, sans-serif !important;
  color: var(--ink) !important;
}
.pg-pay-badge {
  margin-left: auto;
  flex: 0 0 auto;
  background: var(--good-wash);
  color: #146B48;
  border-radius: 5px;
  padding: 4px 8px;
  font: 600 10.5px/1 'Inter', sans-serif;
  letter-spacing: .03em;
  text-transform: uppercase;
  white-space: nowrap;
}
.wc-block-components-payment-method-description {
  font: 400 13px/1.65 'Inter', -apple-system, sans-serif !important;
  color: var(--slate) !important;
}

/* Only one method available: read it as confirmed, not as an unmade choice. */
.wc-block-components-radio-control-accordion-option:first-child:last-child .wc-block-components-radio-control__input {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  border: none !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  background: var(--good) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px 12px no-repeat !important;
}
.wc-block-components-radio-control-accordion-option:first-child:last-child .wc-block-components-radio-control__input::before,
.wc-block-components-radio-control-accordion-option:first-child:last-child .wc-block-components-radio-control__input::after {
  display: none !important;
}

/* .page-prose ul/li in page-pg.php out-specify a single class selector, so the
   inherited list indent (1.3em) and row margins (.45em) must be forced off. */
.pg-pay-trust {
  list-style: none;
  margin: 11px 0 0 !important;
  padding: 0 !important;
  max-width: none !important;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.pg-pay-trust li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  font: 400 13px/1.5 'Inter', -apple-system, sans-serif;
  color: var(--ink);
}
.pg-pay-trust svg,
.pg-pay-bar svg {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  fill: none;
  stroke: var(--good);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.pg-pay-trust svg { margin-top: 1px; }

.pg-pay-bar {
  margin-top: 14px;
  padding-top: 11px;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.pg-pay-bar > span {
  display: flex;
  align-items: center;
  gap: 5px;
  font: 500 11.5px/1.3 'Inter', -apple-system, sans-serif;
  color: var(--slate);
}
.pg-pay-bar > span:first-child { color: var(--good); }
.pg-pay-bar > span:not(:first-child) svg { stroke: var(--faint); }

@media (max-width: 520px) {
  .pg-pay-badge { display: none; }
  .pg-pay-bar { gap: 8px 14px; }
}
