/* Cart & checkout — clinical */
body#cart,
body#checkout,
body#order-confirmation {
  background: var(--pp-surface);
}

.cart-grid,
.checkout,
.checkout-grid {
  padding: var(--pp-space-md) 0 var(--pp-space-3xl);
  max-width: var(--pp-container-max);
  margin-inline: auto;
}

.cart-grid__content,
.cart-grid__aside,
.checkout-step,
.js-checkout-step,
#checkout-cart-summary,
.cart-summary,
.checkout-grid__content > *,
.checkout__summary-accordion {
  background: var(--pp-pure-white);
  border: 1px solid var(--pp-lab-border);
  border-radius: var(--pp-radius-xl);
  padding: var(--pp-space-lg);
  margin-bottom: var(--pp-space-md);
}

.cart-grid__aside,
.checkout-grid__aside-wrapper {
  position: sticky;
  top: 6.5rem;
}

.cart-grid__aside h2,
.cart-summary h2,
.page-title-section h1,
.checkout__summary-accordion-header .accordion-button {
  font-size: var(--pp-headline-md);
  font-weight: 700;
  margin-bottom: var(--pp-space-md);
  color: var(--pp-on-surface);
}

.cart-item,
.cart-detailed-product,
.js-cart-item,
.cart-detailed-product-line,
.product-line {
  border-bottom: 1px solid var(--pp-lab-border);
  padding: var(--pp-space-md) 0;
}

.cart-item:last-child,
.cart-detailed-product:last-child {
  border-bottom: none;
}

.cart-detailed-product-line .product-line__image img,
.cart-item img {
  border-radius: var(--pp-radius);
  border: 1px solid var(--pp-lab-border);
  background: var(--pp-surface-container-low);
}

.cart-detailed-product-line .product-line__name a,
.cart-item a {
  font-weight: 600;
  color: var(--pp-on-surface);
}

.cart__continue-shopping,
.cart-grid .btn-outline-primary {
  margin-top: var(--pp-space-md);
  border-radius: var(--pp-radius);
}

.cart-summary-line,
.cart-summary-products,
.cart-summary-totals {
  font-size: var(--pp-body-md);
}

.cart-summary-line .value,
.cart-total .value {
  font-weight: 700;
  color: var(--pp-on-surface);
}

.cart-total,
.cart-summary-totals .cart-total {
  font-size: var(--pp-headline-sm);
  border-top: 1px solid var(--pp-lab-border);
  padding-top: var(--pp-space-md);
  margin-top: var(--pp-space-md);
}

.cart-summary__voucher,
.cart-voucher {
  margin-top: var(--pp-space-md);
  padding-top: var(--pp-space-md);
  border-top: 1px solid var(--pp-lab-border);
}

.cart-voucher__accordion-button,
.cart-voucher .accordion-button {
  font-weight: 600;
  font-size: var(--pp-body-sm);
  color: var(--pp-primary-container);
  padding: 0.35rem 0;
  box-shadow: none;
  background: transparent;
}

.pp-checkout-banner {
  background: var(--pp-tertiary);
  color: white;
  text-align: center;
  padding: var(--pp-space-xs) var(--pp-gutter);
  font-size: var(--pp-label-caps);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: var(--pp-radius-lg);
  margin-bottom: var(--pp-space-lg);
}

.pp-checkout-banner .material-symbols-outlined {
  font-size: 1rem;
  vertical-align: middle;
  margin-right: 0.35rem;
  color: var(--pp-accent-cyan);
}

body#cart .blockreassurance,
body#checkout .blockreassurance {
  display: none !important;
}

.pp-compliance-note {
  display: flex;
  align-items: flex-start;
  gap: var(--pp-space-sm);
  background: rgba(186, 26, 26, 0.06);
  border: 1px solid rgba(186, 26, 26, 0.25);
  border-radius: var(--pp-radius-lg);
  padding: var(--pp-space-md);
  margin: var(--pp-space-lg) 0;
  font-size: var(--pp-body-sm);
  color: var(--pp-on-surface);
}

.pp-compliance-note .material-symbols-outlined {
  color: var(--pp-error);
  flex-shrink: 0;
}

/* Checkout steps */
.checkout-step.-current,
.checkout-step.js-current-step,
.checkout-step.-reachable {
  border-color: var(--pp-lab-border);
}

.checkout-step.-current {
  border-color: var(--pp-primary-container);
  box-shadow: 0 0 0 3px var(--pp-soft-tint);
}

.checkout-step .step-title,
.checkout-step .accordion-button,
.checkout-navigation .step-title {
  font-weight: 700;
  color: var(--pp-on-surface);
  font-size: var(--pp-headline-sm);
}

.checkout-step .step-number,
.checkout-step .accordion-button .step-number {
  background: var(--pp-primary-container) !important;
  color: white !important;
  border-radius: var(--pp-radius-full);
}

/* Une seule option carte : masquer le radio PS, garder le formulaire ouvert */
.payment-options__list .payment-option:only-child .payment-option__form-check {
  display: none;
}

.payment-options__list .payment-option:only-child .payment-option__additional-information {
  display: block !important;
}

#payment-confirmation button,
#payment-confirmation .btn-primary,
#payment-confirmation a.btn-primary,
.checkout .btn-primary[type="submit"],
.checkout a.btn-primary,
.cart-detailed-actions .btn-primary,
.cart-detailed-actions a.btn-primary,
.cart-summary__actions .btn-primary,
.cart-summary__actions a.btn-primary,
.cart-summary .btn-primary,
.cart-summary a.btn-primary,
.blockcart-modal .btn-primary,
.blockcart-modal a.btn-primary,
#blockcart-modal .btn-primary,
#blockcart-modal a.btn-primary,
body#cart .btn-primary,
body#cart a.btn-primary {
  width: 100%;
  min-height: 52px;
  font-size: var(--pp-label-md);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: var(--pp-radius);
  color: #fff !important;
  background-color: var(--pp-primary-container) !important;
  border-color: var(--pp-primary-container) !important;
}

#blockcart-modal .btn-primary *,
.blockcart-modal .btn-primary *,
.cart-summary .btn-primary *,
.cart-detailed-actions .btn-primary *,
body#cart .btn-primary * {
  color: inherit !important;
}

#blockcart-modal .btn-primary:hover,
#blockcart-modal a.btn-primary:hover,
.blockcart-modal .btn-primary:hover,
.blockcart-modal a.btn-primary:hover,
.cart-summary__actions .btn-primary:hover,
.cart-summary__actions a.btn-primary:hover,
.cart-detailed-actions .btn-primary:hover,
.cart-detailed-actions a.btn-primary:hover,
body#cart .btn-primary:hover,
body#cart a.btn-primary:hover {
  color: #fff !important;
  background-color: var(--pp-primary) !important;
  border-color: var(--pp-primary) !important;
}

.condition-label,
.js-terms {
  font-size: var(--pp-body-sm);
  color: var(--pp-secondary);
}

.checkout-navigation {
  margin-bottom: var(--pp-space-lg);
}

.checkout-navigation .nav-link,
.checkout-navigation a {
  font-weight: 600;
  font-size: var(--pp-body-sm);
}

#checkout .mb-3:has(#field-optin),
#checkout .mb-3:has(#field-ps_emailsubscription_newsletter) {
  display: none !important;
}

/* Forms in checkout */
#checkout .form-control,
#checkout .form-select,
#cart .form-control {
  min-height: 44px;
  border-radius: var(--pp-radius);
}

#checkout .form-control:focus,
#checkout .form-select:focus {
  border-color: var(--pp-primary-container);
  box-shadow: 0 0 0 3px var(--pp-soft-tint);
}

/* Order confirmation */
#order-confirmation,
.page-order-confirmation {
  padding: var(--pp-space-2xl) var(--pp-gutter);
  max-width: var(--pp-container-max);
  margin-inline: auto;
}

.page-order-confirmation .card {
  border: 1px solid var(--pp-lab-border);
  border-radius: var(--pp-radius-xl);
}

/* Empty cart */
.cart-empty,
#content-hook_shopping_empty {
  text-align: center;
  padding: var(--pp-space-3xl) var(--pp-gutter);
  background: var(--pp-pure-white);
  border: 1px solid var(--pp-lab-border);
  border-radius: var(--pp-radius-xl);
}

.cart-empty .btn {
  margin-top: var(--pp-space-lg);
}
