/* Lissor : panier, paiement et confirmation (blocs WooCommerce habillés).
   Les styles des blocs sont imprimés après celui-ci : chaque règle est donc préfixée body.lx-co. */

body.lx-co { margin: 0; background: var(--lx-ink); color: var(--lx-light); min-height: 100vh; display: flex; flex-direction: column; }
body.lx-co .lx-co-main { flex: 1; padding: clamp(24px, 4vw, 48px) 0 clamp(48px, 6vw, 80px); }

/* ---------- En-tête réduit ---------- */
.lx-co-head { border-bottom: 1px solid var(--lx-line); background: rgba(10,12,15,.9); }
.lx-co-head .lx-wrap { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: 64px; }
.lx-co-head .lx-logo { justify-self: center; }
.lx-co-back, .lx-co-secure { display: inline-flex; align-items: center; gap: 8px; font-size: .9rem; color: var(--lx-text-2); text-decoration: none; }
.lx-co-back:hover { color: var(--lx-light); }
.lx-co-secure { justify-self: end; }
.lx-co-back svg, .lx-co-secure svg { width: 18px; height: 18px; flex: none; }
.lx-co-secure svg { color: var(--lx-amber); }
@media (max-width: 560px) { .lx-co-back span, .lx-co-secure span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } }

/* ---------- Étapes et titre ---------- */
.lx-co-steps { display: flex; flex-wrap: wrap; gap: 8px 10px; list-style: none; margin: 0 0 18px; padding: 0; font-size: .86rem; color: var(--lx-text-2); }
.lx-co-steps li { display: flex; align-items: center; gap: 10px; }
.lx-co-steps li + li::before { content: ""; width: 18px; height: 1px; background: var(--lx-line); }
.lx-co-steps .is-on { color: var(--lx-light); font-weight: 600; }
.lx-co-steps .is-done a { color: var(--lx-text-2); }
.lx-co-steps .is-done a:hover { color: var(--lx-light); }
.lx-co-title { font-size: clamp(2.1rem, 4.4vw, 3.4rem); margin-bottom: clamp(20px, 3vw, 36px); }
.lx-co-service { justify-content: center; margin-top: clamp(36px, 5vw, 56px); padding-top: 24px; border-top: 1px solid var(--lx-line); }

/* ---------- Typographie et couleurs communes aux blocs ---------- */
body.lx-co .lx-co-content { color: var(--lx-light); font-family: var(--lx-body); font-size: 16px; }
body.lx-co .lx-co-content :where(h1, h2, h3, h4, .wc-block-components-title, .wc-block-components-checkout-step__title) {
  font-family: var(--lx-display); font-weight: 700; letter-spacing: -.01em; color: var(--lx-light);
}
body.lx-co .lx-co-content .wc-block-components-checkout-step__title,
body.lx-co .lx-co-content .wc-block-components-title.wc-block-components-title { font-size: 1.45rem; line-height: 1.1; }
body.lx-co .lx-co-content .wc-block-components-checkout-step__description,
body.lx-co .lx-co-content .wc-block-components-checkout-step__heading-content,
body.lx-co .lx-co-content .wc-block-components-product-metadata,
body.lx-co .lx-co-content .wc-block-components-product-details,
body.lx-co .lx-co-content .wc-block-components-totals-item__description { color: var(--lx-text-2); }
body.lx-co .lx-co-content a { color: var(--lx-light); text-underline-offset: .2em; }
body.lx-co .lx-co-content a:hover { color: #fff; }
body.lx-co .lx-co-content hr, body.lx-co .lx-co-content .wc-block-components-totals-wrapper,
body.lx-co .lx-co-content .wc-block-components-panel, body.lx-co .lx-co-content .wc-block-cart-items td,
body.lx-co .lx-co-content .wc-block-cart-items th, body.lx-co .lx-co-content .wc-block-components-order-summary-item,
body.lx-co .lx-co-content .wc-block-components-checkout-step { border-color: var(--lx-line); }

/* ---------- Colonne récapitulatif ---------- */
body.lx-co .wc-block-components-sidebar-layout .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block,
body.lx-co .wc-block-components-sidebar-layout .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-block {
  background: var(--lx-ink-2); border: 1px solid var(--lx-line); border-radius: 12px; padding: 4px 0;
}
body.lx-co .wc-block-checkout__sidebar.is-sticky, body.lx-co .wc-block-cart__sidebar.is-sticky { top: 24px; }
body.lx-co .wc-block-components-order-summary-item__quantity {
  background: var(--lx-amber); color: #1a1205; border: 0; box-shadow: none; font-weight: 700;
}
body.lx-co .wc-block-components-order-summary-item__image img,
body.lx-co .wc-block-cart-item__image img { border-radius: 8px; }
body.lx-co .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.lx-co .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--lx-display); font-size: 1.6rem; font-weight: 700; }
body.lx-co .wc-block-components-product-price__regular, body.lx-co del { color: var(--lx-text-2); }
body.lx-co .wc-block-components-sale-badge, body.lx-co .wc-block-components-product-badge {
  background: rgba(242,178,76,.12); color: var(--lx-amber); border: 1px solid rgba(242,178,76,.45); border-radius: 4px;
}
body.lx-co .wc-block-components-totals-item__value strong, body.lx-co .wc-block-components-totals-shipping .wc-block-components-totals-item__value { color: var(--lx-light); }

/* ---------- Champs ---------- */
body.lx-co .wc-block-components-text-input input[type],
body.lx-co .wc-block-components-text-input textarea,
body.lx-co .wc-blocks-components-select .wc-blocks-components-select__select,
body.lx-co .wc-block-components-textarea,
body.lx-co .wc-block-components-totals-coupon__input input {
  background: var(--lx-ink); color: var(--lx-light); border: 1px solid rgba(226,232,238,.24); border-radius: 8px;
  font-family: var(--lx-body);
}
body.lx-co .wc-block-components-text-input input[type]:focus,
body.lx-co .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body.lx-co .wc-block-components-textarea:focus {
  border-color: var(--lx-light); box-shadow: 0 0 0 1px var(--lx-light); outline: none;
}
body.lx-co .wc-block-components-text-input label,
body.lx-co .wc-blocks-components-select .wc-blocks-components-select__label { color: var(--lx-text-2); }
body.lx-co .wc-blocks-components-select .wc-blocks-components-select__expand { fill: var(--lx-text-2); }
body.lx-co .wc-blocks-components-select__select option { background: var(--lx-ink-2); color: var(--lx-light); }
body.lx-co .wc-block-components-text-input input:-webkit-autofill {
  -webkit-text-fill-color: var(--lx-light); box-shadow: 0 0 0 100px var(--lx-ink) inset; caret-color: var(--lx-light);
}
body.lx-co .wc-block-components-validation-error, body.lx-co .wc-block-components-validation-error p { color: #ff9f9f; }
body.lx-co .has-error input, body.lx-co .has-error select { border-color: #ff9f9f; }
body.lx-co .wc-block-components-address-form__address_2-toggle, body.lx-co .wc-block-components-address-card__edit { color: var(--lx-light); }
body.lx-co .wc-block-components-address-card { border-color: var(--lx-line); background: var(--lx-ink-2); border-radius: 10px; }

/* Cases et boutons radio */
body.lx-co .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox],
body.lx-co .wc-block-components-radio-control__input {
  background: var(--lx-ink); border: 1px solid rgba(226,232,238,.4);
}
body.lx-co .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked,
body.lx-co .wc-block-components-radio-control__input:checked { background: var(--lx-ink); border-color: var(--lx-light); }
body.lx-co .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--lx-light); }
body.lx-co .wc-block-components-radio-control__input:checked::before { background: var(--lx-light); }
body.lx-co .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option,
body.lx-co .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option { box-shadow: 0 0 0 1px var(--lx-line); border-radius: 10px; }
body.lx-co .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.lx-co .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted {
  box-shadow: 0 0 0 1px var(--lx-light); background: rgba(238,241,244,.04);
}
body.lx-co .wc-block-components-radio-control__secondary-label, body.lx-co .wc-block-components-radio-control__description { color: var(--lx-text-2); }
body.lx-co .wc-block-components-radio-control-accordion-content { color: var(--lx-text-2); }

/* ---------- Boutons ---------- */
body.lx-co .wc-block-components-button:not(.is-link),
body.lx-co .wc-block-cart__submit-button,
body.lx-co .wc-block-components-checkout-place-order-button {
  background: var(--lx-light); color: var(--lx-ink); border: 0; border-radius: 6px; min-height: 56px;
  font: 700 1.05rem/1 var(--lx-body); text-decoration: none;
  box-shadow: 0 0 0 1px rgba(255,255,255,.6) inset, 0 14px 40px -12px rgba(238,241,244,.45);
  transition: background .2s, box-shadow .25s var(--lx-ease), transform .25s var(--lx-ease);
}
body.lx-co .wc-block-components-button:not(.is-link):hover,
body.lx-co .wc-block-cart__submit-button:hover { background: #fff; color: var(--lx-ink); }
body.lx-co .wc-block-components-button:not(.is-link):active { transform: scale(.985); }
body.lx-co .wc-block-components-button:not(.is-link) .wc-block-components-button__text { color: inherit; }
body.lx-co .wc-block-components-totals-coupon__button.wc-block-components-button:not(.is-link) { min-height: 0; box-shadow: none; }
body.lx-co .wc-block-components-checkout-return-to-cart-button { color: var(--lx-text-2); }
body.lx-co .wc-block-components-button.is-link { color: var(--lx-light); }

/* Sélecteur de quantité (panier) */
body.lx-co .wc-block-components-quantity-selector { border-color: var(--lx-line); border-radius: 8px; }
body.lx-co .wc-block-components-quantity-selector::after { border-color: var(--lx-line); }
body.lx-co .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
body.lx-co .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { background: transparent; color: var(--lx-light); }
body.lx-co .wc-block-cart-item__remove-link { color: var(--lx-text-2); }

/* Panneau dépliable (code promo, récap mobile) */
body.lx-co .wc-block-components-panel__button, body.lx-co .wc-block-components-panel__button:hover,
body.lx-co .wc-block-components-panel__button:focus { color: var(--lx-light); background: transparent; }
body.lx-co .wc-block-components-panel__button-icon { fill: var(--lx-light); }
body.lx-co .wc-block-components-checkout-order-summary__title,
body.lx-co .wc-block-components-checkout-order-summary__title-text { color: var(--lx-light); }

/* Avis et messages */
body.lx-co .wc-block-components-notice-banner { background: var(--lx-ink-2); color: var(--lx-light); border-color: var(--lx-line); border-radius: 10px; }
body.lx-co .wc-block-components-notice-banner.is-error { border-color: #ff9f9f; }
body.lx-co .wc-block-components-notice-banner.is-success { border-color: var(--lx-amber); }
body.lx-co .wc-block-components-notice-banner > svg { fill: currentColor; background: transparent; }
body.lx-co .wc-block-checkout__terms, body.lx-co .wc-block-checkout__terms a { color: var(--lx-text-2); }

/* Panier vide et suggestions */
body.lx-co .wp-block-woocommerce-empty-cart-block, body.lx-co .wc-block-cart__empty-cart__title { color: var(--lx-light); }
body.lx-co .wp-block-woocommerce-empty-cart-block .wp-block-separator { display: none; }

/* ---------- Confirmation de commande ---------- */
body.lx-co .wc-block-order-confirmation-status { font-size: 1.1rem; color: var(--lx-text-2); }
body.lx-co .wc-block-order-confirmation-status h1 { display: none; }
body.lx-co .wc-block-order-confirmation-summary-list {
  background: var(--lx-ink-2); border: 1px solid var(--lx-line); border-radius: 12px; padding: 18px 20px; margin: 24px 0;
}
body.lx-co .wc-block-order-confirmation-summary-list-item__key { color: var(--lx-text-2); }
body.lx-co .wc-block-order-confirmation-totals table { border-color: var(--lx-line); }
body.lx-co .wc-block-order-confirmation-totals th, body.lx-co .wc-block-order-confirmation-totals td { border-color: var(--lx-line); }
body.lx-co .lx-co-content h2.wp-block-heading { font-size: 1.45rem; margin: 36px 0 14px; }
body.lx-co .wc-block-order-confirmation-shipping-address { border-color: var(--lx-line); border-radius: 12px; background: var(--lx-ink-2); }

/* Ajustements après contrôle visuel */
body.lx-co .wc-blocks-components-select .wc-blocks-components-select__container { background: transparent; }
body.lx-co .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block,
body.lx-co .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-block { padding: 4px 18px; }
body.lx-co .lx-co-content .wc-block-components-product-name { font-family: var(--lx-body); font-weight: 600; letter-spacing: 0; }

/* Offres : bandeau Black Friday et précommande */
.lx-co-notes { display: grid; gap: 10px; margin: -6px 0 clamp(20px, 3vw, 32px); }
.lx-co-note { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0; padding: 12px 16px; border-radius: 10px; border: 1px solid var(--lx-line); background: var(--lx-ink-2); font-size: .92rem; color: var(--lx-text-2); }
.lx-co-note b { color: var(--lx-light); font-weight: 600; }
.lx-co-note svg { width: 18px; height: 18px; flex: none; color: var(--lx-amber); }
.lx-co-note--bf { border-color: rgba(242,178,76,.45); background: linear-gradient(90deg, rgba(242,178,76,.12), transparent 70%), var(--lx-ink-2); }
body.lx-co .wc-block-components-product-details__precommande, body.lx-co .wc-block-components-product-details__name { color: var(--lx-text-2); }

/* Pages d'information */
.lx-legal { max-width: 760px; }
.lx-legal-body { color: var(--lx-text-2); font-size: 1rem; line-height: 1.7; }
.lx-legal-body h2 { font: 700 1.5rem/1.15 var(--lx-display); color: var(--lx-light); margin: 2.2em 0 .6em; letter-spacing: -.01em; }
.lx-legal-body h2:first-child { margin-top: 0; }
.lx-legal-body h3 { font-size: 1.05rem; color: var(--lx-light); margin: 1.6em 0 .4em; }
.lx-legal-body p, .lx-legal-body ul { margin: 0 0 1em; }
.lx-legal-body ul { padding-left: 1.2em; }
.lx-legal-body strong { color: var(--lx-light); }
.lx-legal-body a { color: var(--lx-light); text-underline-offset: .2em; }
.lx-legal-date { margin-top: 48px; padding-top: 18px; border-top: 1px solid var(--lx-line); }
.lx-legal-body mark { background: rgba(242,178,76,.14); color: var(--lx-amber); padding: 0 .25em; border-radius: 3px; }
