/*
 * Éditions Sharon Kena — panier, paiement, compte client.
 * Écrans WooCommerce classiques dans le gabarit Bricks « Parcours » (bricks/poser-parcours.php),
 * habillés sur la page « Checkout » de Bookoe : cartes blanches, champs épais, bouton plein.
 * Chargée sur ces trois pages seulement (mu-plugin bp-skeditions-parcours.php).
 * Racine à 62,5 % : tailles en px ou variables, jamais en rem.
 */

/* ---------- cadre ---------- */
.sk-parcours { padding-block: var(--sp-24) var(--sp-80); }
.sk-parcours__titre { margin: var(--sp-16) 0 var(--sp-8); font-size: var(--fs-40); }
.sk-parcours__contenu { width: 100%; }
.sk-parcours__note { display: inline-block; margin: 0 0 var(--sp-24); padding: 8px 16px; border-radius: var(--radius-full); background: var(--color-primary-soft); color: var(--color-primary); font-size: var(--fs-14); font-weight: 600; }
.sk-parcours .woocommerce { width: 100%; }
.sk-parcours .woocommerce .brxe-container { width: 100%; max-width: none; padding: 0; }
.sk-parcours .woocommerce-notices-wrapper:not(:empty) { margin-bottom: var(--sp-24); }

/* suivi d'étapes (maquette Bookoe) : pastilles sur un trait, le trait se colore à mesure */
.sk-etapes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; max-width: 760px; margin: var(--sp-16) auto var(--sp-32); padding: 0; list-style: none; }
.sk-etapes__etape { position: relative; margin: 0; text-align: center; }
.sk-etapes__etape:not(:first-child)::before { content: ""; position: absolute; top: 22px; right: 50%; width: 100%; height: 4px; background: var(--color-grey-2); }
.sk-etapes__etape--faite:not(:first-child)::before, .sk-etapes__etape--courante:not(:first-child)::before { background: var(--color-primary); }
.sk-etapes__etape a { color: inherit; text-decoration: none; }
.sk-etapes__point { position: relative; z-index: 1; display: block; box-sizing: border-box; width: 48px; height: 48px; margin: 0 auto var(--sp-12); border: 8px solid var(--color-grey-2); border-radius: 50%; background: var(--color-white); }
.sk-etapes__etape--courante .sk-etapes__point { border: 0; background: var(--color-primary); }
.sk-etapes__etape--faite .sk-etapes__point { border: 0; background: var(--color-primary) 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center / 22px no-repeat; }
.sk-etapes__nom { color: var(--color-dark); font: 600 var(--fs-16)/1.3 var(--font-heading); }
.sk-etapes__etape--a-venir .sk-etapes__nom { color: var(--color-text-muted); }

/* cartes */
.woocommerce-cart-form, .cart_totals,
.woocommerce-billing-fields, .woocommerce-account-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields,
.woocommerce-checkout .sk-parcours form.checkout > div:not(#customer_details),
.woocommerce-order-details, .woocommerce-customer-details .woocommerce-column,
.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content,
.sk-parcours form.login, .sk-parcours form.lost_reset_password {
	background: var(--color-white); border-radius: var(--radius-md); box-shadow: var(--shadow-faint); padding: var(--sp-24);
}
.sk-parcours h2, .sk-parcours h3 { margin: 0 0 var(--sp-16); font-size: var(--fs-24); }

/* boutons */
.sk-parcours .button, .sk-parcours button[type="submit"], .sk-parcours a.checkout-button {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 var(--sp-24); border: 2px solid var(--color-primary); border-radius: var(--radius-md);
	background: var(--color-primary); color: var(--color-white); font: 700 var(--fs-16)/1.2 var(--font-heading); text-decoration: none; cursor: pointer; transition: background .2s, border-color .2s, color .2s;
}
.sk-parcours .button:hover, .sk-parcours button[type="submit"]:hover, .sk-parcours a.checkout-button:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); color: var(--color-white); }
.sk-parcours button[name="update_cart"], .sk-parcours button[name="apply_coupon"] { background: transparent; border-color: var(--color-grey-2); color: var(--color-dark); }
.sk-parcours button[name="update_cart"]:hover, .sk-parcours button[name="apply_coupon"]:hover { background: transparent; border-color: var(--color-primary); color: var(--color-primary); }
.sk-parcours button:disabled, .sk-parcours button[disabled] { opacity: .5; cursor: not-allowed; }

/* champs */
.sk-parcours .form-row { margin: 0 0 var(--sp-16); padding: 0; }
.sk-parcours .form-row > label, .sk-parcours fieldset > legend { display: block; margin-bottom: 6px; color: var(--color-dark); font-size: var(--fs-14); font-weight: 600; }
.sk-parcours .form-row .required { color: var(--color-primary); text-decoration: none; }
.sk-parcours input.input-text, .sk-parcours textarea, .sk-parcours select, .sk-parcours .select2-container .select2-selection--single {
	width: 100%; min-height: 48px; padding: 10px 14px; border: 2px solid var(--color-grey-2); border-radius: var(--radius-sm); background-color: var(--color-white); color: var(--color-dark); font: 400 var(--fs-16)/1.4 var(--font-body);
}
.sk-parcours input.input-text:focus, .sk-parcours textarea:focus, .sk-parcours select:focus { border-color: var(--color-primary); outline: none; }
.sk-parcours .select2-container .select2-selection--single { display: flex; align-items: center; height: 48px; padding: 0 var(--sp-12); }
.sk-parcours .select2-container .select2-selection__arrow { height: 44px; }
.sk-parcours .woocommerce-invalid input.input-text { border-color: var(--color-accent-text); }
.sk-parcours input[type="checkbox"], .sk-parcours input[type="radio"] { width: 18px; height: 18px; accent-color: var(--color-primary); }
.sk-parcours .woocommerce-form__label-for-checkbox { display: flex; align-items: center; gap: 10px; cursor: pointer; }

/* tableaux : traits fins, pas de cadre (la carte en tient lieu) */
.sk-parcours table.shop_table { width: 100%; margin: 0; border: 0; border-collapse: collapse; background: none; }
.sk-parcours table.shop_table th, .sk-parcours table.shop_table td { padding: var(--sp-12) 0; border: 0; border-bottom: 1px solid var(--color-grey-3); background: none; text-align: left; vertical-align: middle; font-size: var(--fs-16); }
.sk-parcours table.shop_table tr:last-child > * { border-bottom: 0; }
.sk-parcours table.shop_table thead th { color: var(--color-text-muted); font-size: var(--fs-14); font-weight: 600; }
.sk-parcours table.shop_table tfoot th { font-weight: 600; }
.sk-parcours table.shop_table a { color: var(--color-dark); font-weight: 600; text-decoration: none; }
.sk-parcours table.shop_table a:hover { color: var(--color-primary); }
.sk-parcours table.shop_table a.button { color: var(--color-white); }
.sk-parcours .order-total th, .sk-parcours .order-total td { font-size: var(--fs-20); font-weight: 700; }
.sk-parcours .order-total .amount { color: var(--color-primary); font-family: var(--font-heading); }
.sk-parcours .includes_tax .amount { color: inherit; font-family: inherit; }
.sk-parcours .woocommerce-shipping-methods label { color: var(--color-dark); opacity: 1; }
.sk-parcours .includes_tax { display: block; color: var(--color-text-muted); font-size: var(--fs-14); font-weight: 400; }
.sk-parcours .woocommerce-shipping-methods { margin: 0; padding: 0; list-style: none; }
.sk-parcours .woocommerce-shipping-methods li { margin: 0 0 6px; }
.sk-parcours .woocommerce-shipping-destination { margin: 6px 0 0; color: var(--color-text-muted); font-size: var(--fs-14); }
.sk-parcours .shipping-calculator-button { color: var(--color-primary); font-size: var(--fs-14); }

/* ---------- panier ---------- */
.woocommerce-cart .sk-parcours .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: var(--sp-24) var(--sp-40); align-items: start; }
.woocommerce-cart .sk-parcours .before-cart, .woocommerce-cart .sk-parcours .wc-empty-cart-message, .woocommerce-cart .sk-parcours .return-to-shop, .woocommerce-cart .sk-parcours .cross-sells { grid-column: 1 / -1; }
.woocommerce-cart .sk-parcours .before-cart:not(:has(.woocommerce-message, .woocommerce-error, .woocommerce-info)) { display: none; }
.woocommerce-cart .cart-collaterals { width: 100%; position: sticky; top: var(--sp-24); }
.woocommerce-cart .cart_totals { width: 100%; float: none; }
.woocommerce-cart .cart_totals table.shop_table th { width: 40%; }
.woocommerce-cart .cart_totals table.shop_table td { text-align: right; }
.woocommerce-cart .wc-proceed-to-checkout { padding: var(--sp-16) 0 0; }
.woocommerce-cart a.checkout-button { width: 100%; }

/* lignes du panier en grille : même découpe sur l'en-tête et les livres */
.woocommerce-cart-form table.cart, .woocommerce-cart-form table.cart thead, .woocommerce-cart-form table.cart tbody { display: block; width: 100%; }
.woocommerce-cart-form table.cart tr { display: grid; grid-template-columns: 24px 88px minmax(0, 1fr) 80px 136px 80px; gap: 0 var(--sp-16); align-items: center; border-bottom: 1px solid var(--color-grey-3); padding: var(--sp-12) 0; }
.woocommerce-cart-form table.cart thead tr { padding-top: 0; }
.woocommerce-cart-form table.cart th, .woocommerce-cart-form table.cart td { display: block; padding: 0; border: 0; }
.woocommerce-cart-form table.cart tbody tr:has(td.actions) { display: block; border: 0; padding-bottom: 0; }
.woocommerce-cart-form .product-thumbnail img { display: block; width: 88px; height: auto; aspect-ratio: 1 / 1.41; object-fit: cover; border-radius: var(--radius-sm); box-shadow: var(--shadow-faint); }
.woocommerce-cart-form th.product-name { font: 700 var(--fs-16)/1.3 var(--font-heading); }
.woocommerce-cart-form .backorder_notification { margin: 4px 0 0; color: var(--color-text-muted); font: 400 var(--fs-14)/1.3 var(--font-body); }
.woocommerce-cart-form a.remove { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; color: var(--color-text-muted) !important; font-size: 20px; font-weight: 400 !important; line-height: 1; text-decoration: none; }
.woocommerce-cart-form a.remove:hover { background: var(--color-primary-soft); color: var(--color-primary) !important; }
.woocommerce-cart-form .quantity { display: inline-flex; align-items: stretch; width: 136px; height: 44px; }
.woocommerce-cart-form .quantity input.qty { flex: 1 1 auto; order: 2; width: 48px; min-width: 0; min-height: 0; height: 44px; padding: 0; border-width: 2px 0; border-color: var(--color-grey-2); border-radius: 0; text-align: center; -moz-appearance: textfield; }
.woocommerce-cart-form .quantity input.qty::-webkit-inner-spin-button, .woocommerce-cart-form .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce-cart-form .quantity .action { position: static; display: inline-flex; flex: 0 0 44px; align-items: center; justify-content: center; width: 44px; height: 44px; border: 2px solid var(--color-grey-2); background: var(--color-white); color: var(--color-dark); cursor: pointer; }
.woocommerce-cart-form .quantity .action:hover { color: var(--color-primary); }
.woocommerce-cart-form .quantity .action.minus { order: 1; border-radius: var(--radius-sm) 0 0 var(--radius-sm); }
.woocommerce-cart-form .quantity .action.plus { order: 3; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.woocommerce-cart-form td.product-subtotal { font-weight: 700; color: var(--color-primary); text-align: right; }
.woocommerce-cart-form thead th.product-subtotal { text-align: right; }
.woocommerce-cart-form td.actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-12); }
.woocommerce-cart-form .coupon { display: flex; flex-wrap: wrap; gap: var(--sp-8); }
.woocommerce-cart-form .coupon input.input-text { width: 200px; }
.sk-panier__retour { margin: var(--sp-16) 0 0; font-size: var(--fs-14); }
.sk-panier__retour a { color: var(--color-primary); font-weight: 600; text-decoration: none; }
.woocommerce-cart .return-to-shop { margin: var(--sp-16) 0 0; }

/* ---------- paiement ---------- */
.sk-parcours form.checkout.bricks-default-checkout { display: grid; grid-template-columns: minmax(0, 1fr) 480px; gap: var(--sp-24) var(--sp-40); align-items: start; }
.sk-parcours form.checkout #customer_details { display: flex; flex-direction: column; gap: var(--sp-24); width: 100%; float: none; }
.sk-parcours form.checkout #customer_details .col-1, .sk-parcours form.checkout #customer_details .col-2 { display: flex; flex-direction: column; gap: var(--sp-24); width: 100%; float: none; }
.sk-parcours .woocommerce-account-fields .form-row { margin: 0; }
.sk-parcours .woocommerce-account-fields label { font-weight: 600; }
.sk-parcours .woocommerce-form-login-toggle .woocommerce-info { margin-bottom: var(--sp-16); }
.woocommerce-checkout .sk-parcours form.login { margin-bottom: var(--sp-24); }
.woocommerce-checkout .sk-parcours form.login button[type="submit"] { width: auto; }
.sk-parcours form.checkout .woocommerce-shipping-fields:not(:has(#ship-to-different-address)) { display: none; }
.sk-parcours form.checkout .woocommerce-shipping-fields h3 { margin: 0; font-size: var(--fs-16); }
.sk-parcours form.checkout .woocommerce-shipping-fields .shipping_address { margin-top: var(--sp-16); }
.sk-parcours form.checkout .woocommerce-additional-fields:not(:has(textarea)) { display: none; }
/* pas de colonne collante ici : le récapitulatif dépasse souvent de l'écran, et le bouton Commander resterait hors de vue */
.woocommerce-checkout .sk-parcours form.checkout > div:not(#customer_details) { width: 100%; }
.sk-parcours #order_review { display: flex; flex-direction: column; gap: var(--sp-16); width: 100%; float: none; }
.sk-parcours #order_review table.shop_table td.product-total, .sk-parcours #order_review tfoot td { text-align: right; }
.sk-parcours #order_review thead th.product-total { text-align: right; }
.sk-parcours #payment { padding: 0; border: 0; background: none; border-radius: 0; }
.sk-parcours #payment ul.payment_methods { margin: 0 0 var(--sp-16); padding: 0; border: 0; list-style: none; }
.sk-parcours #payment ul.payment_methods > li { margin: 0 0 var(--sp-8); padding: var(--sp-12) var(--sp-16); border: 2px solid var(--color-grey-2); border-radius: var(--radius-sm); }
.sk-parcours #payment ul.payment_methods > li:has(input:checked) { border-color: var(--color-primary); background: var(--color-primary-soft); }
.sk-parcours #payment ul.payment_methods > li > label { display: inline; margin-left: 8px; font-weight: 600; cursor: pointer; }
.sk-parcours #payment .payment_box { margin: var(--sp-8) 0 0; padding: 0; background: none; color: var(--color-text-muted); font-size: var(--fs-14); }
.sk-parcours #payment .payment_box::before { content: none; }
.sk-parcours #payment .place-order { display: block; margin: 0; padding: 0; border: 0; }
.sk-parcours .woocommerce-privacy-policy-text, .sk-parcours .woocommerce-terms-and-conditions-wrapper { font-size: var(--fs-14); color: var(--color-text-muted); }
.sk-parcours .woocommerce-privacy-policy-text a, .sk-parcours .woocommerce-terms-and-conditions-wrapper a { color: var(--color-primary); }
.sk-parcours .woocommerce-terms-and-conditions-wrapper { margin-bottom: var(--sp-16); }
.sk-parcours #place_order { width: 100%; min-height: 56px; font-size: var(--fs-18); }
.sk-parcours form.checkout_coupon { margin: var(--sp-16) 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-8); padding: var(--sp-16); border: 2px solid var(--color-grey-3); border-radius: var(--radius-md); }
.sk-parcours form.checkout_coupon .form-row { flex: 1 1 220px; margin: 0; float: none; width: auto; }
.sk-parcours form.checkout_coupon .clear { display: none; }
.woocommerce-checkout .sk-parcours .before-checkout { margin-bottom: var(--sp-24); }

/* récapitulatif en blocs : dans un vrai tableau, un bloc de livraison resterait enfermé dans la première colonne */
.sk-parcours #order_review table.shop_table, .sk-parcours #order_review table.shop_table thead, .sk-parcours #order_review table.shop_table tbody, .sk-parcours #order_review table.shop_table tfoot { display: block; width: 100%; }
.sk-parcours #order_review table.shop_table tr { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-16); border-bottom: 1px solid var(--color-grey-3); }
.sk-parcours #order_review table.shop_table tfoot tr:last-child { border-bottom: 0; }
.sk-parcours #order_review table.shop_table tr > * { display: block; border: 0; }
.sk-parcours #order_review table.shop_table tr > .product-name { flex: 1 1 auto; min-width: 0; }
.sk-parcours #order_review table.shop_table tr > td.product-total, .sk-parcours #order_review table.shop_table tfoot tr > td { flex: none; white-space: nowrap; }
.sk-parcours #order_review table.shop_table tr.order-total > td { white-space: normal; }
.woocommerce-cart .cart_totals table.shop_table, .woocommerce-cart .cart_totals table.shop_table tbody { display: block; width: 100%; }
.woocommerce-cart .cart_totals table.shop_table tr { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-16); border-bottom: 1px solid var(--color-grey-3); }
.woocommerce-cart .cart_totals table.shop_table tr:last-child { border-bottom: 0; }
.woocommerce-cart .cart_totals table.shop_table tr > * { display: block; width: auto; border: 0; }
.woocommerce-cart .cart_totals table.shop_table tr.order-total > td { text-align: right; }
.sk-parcours .woocommerce-shipping-destination { line-height: 1.5; }

/* livraison : un bloc par colis en pleine largeur (les libellés de la boutique sont longs), radio contre son texte */
.sk-parcours #order_review table.shop_table tr.woocommerce-shipping-totals, .sk-parcours #order_review table.shop_table tr.mrwp,
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals, .woocommerce-cart .cart_totals table.shop_table tr.mrwp { display: block; padding: var(--sp-12) 0; border-bottom: 1px solid var(--color-grey-3); }
.sk-parcours #order_review table.shop_table tr.woocommerce-shipping-totals > *, .sk-parcours #order_review table.shop_table tr.mrwp > *,
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals > *, .woocommerce-cart .cart_totals table.shop_table tr.mrwp > * { display: block; width: 100%; padding: 0; border: 0; text-align: left; white-space: normal; }
.sk-parcours tr.woocommerce-shipping-totals th { margin-bottom: var(--sp-8); font: 600 var(--fs-14)/1.4 var(--font-body); color: var(--color-text-muted); }
.sk-parcours .woocommerce-shipping-methods li { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 var(--sp-8); text-align: left; }
.sk-parcours .woocommerce-shipping-methods li:last-child { margin-bottom: 0; }
.sk-parcours .woocommerce-shipping-methods li input { flex: none; margin: 3px 0 0; }
.sk-parcours .woocommerce-shipping-methods li label { margin: 0; font: 400 var(--fs-16)/1.4 var(--font-body); text-align: left; cursor: pointer; }
.sk-parcours .woocommerce-shipping-methods li label .amount { font-weight: 700; white-space: nowrap; }
/* point relais : texte puis bouton, aux couleurs du site (le greffon impose les siennes) */
.sk-parcours tr.mrwp th { margin-bottom: var(--sp-8); font: 400 var(--fs-14)/1.5 var(--font-body); color: var(--color-text-muted); }
.sk-parcours tr.mrwp th strong, .sk-parcours tr.mrwp th b { color: var(--color-dark); }
.sk-parcours tr.mrwp th em, .sk-parcours tr.mrwp th i { font-style: normal; }
.sk-parcours tr.mrwp .mrwpbutton { width: 100%; }
.sk-parcours tr.mrwp button#mrwpbutton, .sk-parcours tr.mrwp .mrwpbutton { display: block; width: 100%; padding: 0; border: 0; background: none; }
.sk-parcours a#modaal_link { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; min-height: 48px; margin: 0; padding: 10px var(--sp-16) !important; border: 2px solid var(--color-primary) !important; border-radius: var(--radius-md) !important; background: var(--color-white) !important; color: var(--color-primary) !important; font: 700 var(--fs-14)/1.3 var(--font-heading) !important; text-align: center; text-decoration: none; }
.sk-parcours a#modaal_link:hover { background: var(--color-primary) !important; color: var(--color-white) !important; }

/* coordonnées du virement, sur la confirmation */
.sk-parcours .woocommerce-bacs-bank-details { padding: var(--sp-24); border-radius: var(--radius-md); background: var(--color-white); box-shadow: var(--shadow-faint); }
.sk-parcours .woocommerce-bacs-bank-details ul { margin: 0; padding: 0; list-style: none; }
.sk-parcours .woocommerce-bacs-bank-details li { margin: 0 0 6px; color: var(--color-text-muted); font-size: var(--fs-14); }
.sk-parcours .woocommerce-bacs-bank-details li strong { color: var(--color-dark); font-size: var(--fs-16); }

/* confirmation de commande */
.woocommerce-order-received .sk-parcours__note { display: none; }
.sk-parcours table.woocommerce-table--order-details td:last-child, .sk-parcours table.woocommerce-table--order-details tfoot td, .sk-parcours table.woocommerce-table--order-details thead th:last-child { text-align: right; }
.sk-parcours table.woocommerce-table--order-details tfoot, .sk-parcours table.woocommerce-table--order-details tfoot tr, .sk-parcours table.woocommerce-table--order-details tfoot th, .sk-parcours table.woocommerce-table--order-details tfoot td { background: none !important; }
.sk-parcours .woocommerce-order { display: flex; flex-direction: column; gap: var(--sp-24); }
.sk-parcours .woocommerce-thankyou-order-received { margin: 0; padding: var(--sp-16) var(--sp-24); border-radius: var(--radius-md); background: var(--color-primary-soft); color: var(--color-primary); font: 700 var(--fs-18)/1.3 var(--font-heading); }
.sk-parcours ul.woocommerce-order-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--sp-16); margin: 0; padding: var(--sp-20) var(--sp-24); border: 0; border-radius: var(--radius-md); background: var(--color-white); box-shadow: var(--shadow-faint); list-style: none; }
.sk-parcours ul.woocommerce-order-overview li { width: auto; margin: 0; padding: 0; border: 0 !important; color: var(--color-text-muted); font-size: var(--fs-14); }
.sk-parcours ul.woocommerce-order-overview li strong { display: block; margin-top: 2px; color: var(--color-dark); font: 700 var(--fs-16)/1.3 var(--font-heading); }
.sk-parcours .woocommerce-customer-details .woocommerce-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-24); }
.sk-parcours .woocommerce-customer-details .woocommerce-column { width: 100%; float: none; }
.sk-parcours address { padding: 0; border: 0; font-style: normal; line-height: 1.6; }
.sk-parcours .woocommerce-order-downloads { margin: 0; }

/* ---------- compte client ---------- */
.woocommerce-account.logged-in .sk-parcours .woocommerce { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: var(--sp-24) var(--sp-40); align-items: start; }
.woocommerce-account .sk-parcours .woocommerce-notices-wrapper { grid-column: 1 / -1; margin: 0; }
.woocommerce-account .sk-parcours .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { width: 100%; float: none; }
.woocommerce-MyAccount-navigation { padding: var(--sp-12); }
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-MyAccount-navigation li { margin: 0; padding: 0; border: 0; }
.woocommerce-MyAccount-navigation a { display: block; padding: 12px var(--sp-16); border-radius: var(--radius-sm); color: var(--color-dark); font: 600 var(--fs-16)/1.3 var(--font-heading); text-decoration: none; }
.woocommerce-MyAccount-navigation a:hover { color: var(--color-primary); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--color-primary-soft); color: var(--color-primary); }
.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: var(--sp-8) !important; padding-top: var(--sp-8) !important; border-top: 1px solid var(--color-grey-3) !important; }
.woocommerce-MyAccount-content a:not(.button) { color: var(--color-primary); }
.woocommerce-MyAccount-content > p:first-of-type { margin-top: 0; }
.sk-compte-tuiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-16); margin: var(--sp-24) 0 0; padding: 0; list-style: none; }
.sk-compte-tuiles li { margin: 0; }
.sk-compte-tuiles a { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: var(--sp-20) var(--sp-24); border: 2px solid var(--color-grey-3); border-radius: var(--radius-md); color: var(--color-dark) !important; text-decoration: none; transition: border-color .2s; }
.sk-compte-tuiles a:hover { border-color: var(--color-primary); }
.sk-compte-tuiles strong { font: 700 var(--fs-18)/1.3 var(--font-heading); }
.sk-compte-tuiles span { color: var(--color-text-muted); font-size: var(--fs-14); }
.sk-parcours .woocommerce-orders-table__cell-order-actions, .sk-parcours .download-file { text-align: right !important; }
.sk-parcours .woocommerce-orders-table .button, .sk-parcours .woocommerce-table--order-downloads .button { min-height: 40px; padding: 0 var(--sp-16); font-size: var(--fs-14); }
.sk-parcours .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-24); margin-top: var(--sp-16); }
.sk-parcours .woocommerce-Address { width: 100%; float: none; padding: var(--sp-20); border: 2px solid var(--color-grey-3); border-radius: var(--radius-md); }
.sk-parcours .woocommerce-Address-title { display: flex; flex-direction: column; align-items: flex-start; gap: 0; margin-bottom: var(--sp-8); }
.sk-parcours .woocommerce-Address-title .edit { font-size: var(--fs-14); font-weight: 600; float: none; }
.sk-parcours .woocommerce-Address-title h2, .sk-parcours .woocommerce-Address-title h3 { margin: 0 0 var(--sp-8); font-size: var(--fs-18); }
.sk-parcours fieldset { margin: var(--sp-24) 0; padding: var(--sp-16); border: 2px solid var(--color-grey-3); border-radius: var(--radius-md); }
.sk-parcours fieldset > legend { padding: 0 var(--sp-8); }
.sk-parcours .woocommerce-pagination, .sk-parcours .woocommerce-Pagination { display: flex; gap: var(--sp-8); margin-top: var(--sp-16); }

/* dans le compte, la page est déjà une carte : pas de carte dans la carte */
.woocommerce-MyAccount-content .woocommerce-order-details, .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-column { padding: 0; box-shadow: none; }
.woocommerce-MyAccount-content .woocommerce-order-details, .woocommerce-MyAccount-content .woocommerce-order-downloads, .woocommerce-MyAccount-content .woocommerce-customer-details { margin-top: var(--sp-24); }
.woocommerce-MyAccount-content mark { padding: 0; background: none; color: inherit; font-weight: 700; }
.sk-parcours .order-again { margin: var(--sp-16) 0 0; }

/* connexion, sans compte ouvert */
.woocommerce-account:not(.logged-in) .sk-parcours .woocommerce { display: block; max-width: 520px; }
.sk-parcours form.login, .sk-parcours form.lost_reset_password { display: block; width: 100%; }
.woocommerce-account:not(.logged-in) .sk-parcours .woocommerce > h2 { text-align: left; }
.sk-parcours form.login, .sk-parcours form.lost_reset_password, .sk-parcours form.login label, .sk-parcours form.login .form-row { text-align: left; }
.sk-parcours .password-input { position: relative; display: block; }
.sk-parcours .password-input input.input-text { padding-right: 48px; }
.sk-parcours .show-password-input { position: absolute; top: 50%; right: 12px; width: 28px; height: 28px; padding: 0; border: 0; background: none; color: var(--color-text-muted); transform: translateY(-50%); cursor: pointer; }
.sk-parcours .show-password-input::before, .sk-parcours .show-password-input::after { content: none; }
.sk-parcours .show-password-input { font-size: 0; }
.sk-parcours .show-password-input::after { content: ""; display: block; width: 22px; height: 22px; margin: auto; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat; }
.sk-parcours .show-password-input.display-password { color: var(--color-primary); }
.sk-parcours form.login, .sk-parcours form.lost_reset_password { margin: 0; border: 0; }
.sk-parcours form.login .form-row-first, .sk-parcours form.login .form-row-last,
.sk-parcours form.lost_reset_password .form-row-first { width: 100%; float: none; }
.sk-parcours form.login button[type="submit"] { width: 100%; margin-top: var(--sp-8); }
.sk-parcours .woocommerce-LostPassword { margin: var(--sp-12) 0 0; font-size: var(--fs-14); }
.sk-parcours .woocommerce-LostPassword a { color: var(--color-primary); font-weight: 600; }

/* ---------- écrans moyens et petits ---------- */
@media (max-width: 1279px) {
	.woocommerce-cart .sk-parcours .woocommerce, .sk-parcours form.checkout.bricks-default-checkout { grid-template-columns: minmax(0, 1fr) 380px; gap: var(--sp-24); }
	.woocommerce-cart-form table.cart tr { grid-template-columns: 24px 72px minmax(0, 1fr) 130px 80px; }
	.woocommerce-cart-form table.cart .product-price { display: none; }
	.woocommerce-cart-form .product-thumbnail img { width: 72px; }
}
@media (max-width: 991px) {
	.woocommerce-cart .sk-parcours .woocommerce, .sk-parcours form.checkout.bricks-default-checkout, .woocommerce-account.logged-in .sk-parcours .woocommerce { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-cart .cart-collaterals, .woocommerce-checkout .sk-parcours form.checkout > div:not(#customer_details) { position: static; }
}
@media (max-width: 767px) {
	.sk-parcours__titre { font-size: var(--fs-28); }
	.sk-etapes { margin-bottom: var(--sp-24); }
	.sk-etapes__point { width: 36px; height: 36px; margin-bottom: var(--sp-8); border-width: 6px; }
	.sk-etapes__etape--faite .sk-etapes__point { background-size: 18px; }
	.sk-etapes__etape:not(:first-child)::before { top: 16px; }
	.sk-etapes__nom { font-size: var(--fs-14); }
	.woocommerce-cart-form, .cart_totals, .woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields,
	.woocommerce-checkout .sk-parcours form.checkout > div:not(#customer_details), .woocommerce-MyAccount-content, .sk-parcours form.login { padding: var(--sp-16); }
	/* une ligne du panier : couverture à gauche, titre puis quantité et total à droite */
	.woocommerce-cart-form table.cart thead { display: none; }
	.woocommerce-cart-form table.cart tr.cart_item { grid-template-columns: 72px minmax(0, 1fr) 24px; grid-template-areas: "image titre retirer" "image quantite quantite" "image total total"; gap: var(--sp-8) var(--sp-12); align-items: start; }
	.woocommerce-cart-form table.cart td::before, .woocommerce-cart-form table.cart th::before { content: none; }
	.woocommerce-cart-form td.product-remove { grid-area: retirer; }
	.woocommerce-cart-form td.product-thumbnail { grid-area: image; display: block; }
	.woocommerce-cart-form th.product-name { grid-area: titre; text-align: left; }
	.woocommerce-cart-form td.product-quantity { grid-area: quantite; }
	.woocommerce-cart-form td.product-subtotal { grid-area: total; text-align: left; }
	.woocommerce-cart-form td.actions, .woocommerce-cart-form .coupon { flex-direction: column; align-items: stretch; }
	.woocommerce-cart-form .coupon { width: 100%; }
	.woocommerce-cart-form .coupon input.input-text, .woocommerce-cart-form td.actions .button { width: 100%; }
	/* totaux : libellé à gauche, montant à droite */
	.woocommerce-cart .cart_totals table.shop_table, .woocommerce-cart .cart_totals table.shop_table tbody { display: block; }
	.woocommerce-cart .cart_totals table.shop_table tr { display: flex; justify-content: space-between; gap: var(--sp-16); border-bottom: 1px solid var(--color-grey-3); }
	.woocommerce-cart .cart_totals table.shop_table tr:last-child { border-bottom: 0; }
	.woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td { display: block; width: auto; border: 0; }
	.woocommerce-cart .cart_totals table.shop_table td::before { content: none; }
	.sk-parcours #order_review table.shop_table tfoot td { min-width: 50%; }
	/* commandes et e-books : chaque colonne devient une ligne « libellé — valeur » */
	.sk-parcours table.woocommerce-orders-table thead, .sk-parcours table.woocommerce-table--order-downloads thead { display: none; }
	.sk-parcours table.woocommerce-orders-table tr, .sk-parcours table.woocommerce-table--order-downloads tr { display: block; padding: var(--sp-8) 0; border-bottom: 1px solid var(--color-grey-3); }
	.sk-parcours table.woocommerce-orders-table tr:last-child, .sk-parcours table.woocommerce-table--order-downloads tr:last-child { border-bottom: 0; }
	.sk-parcours table.woocommerce-orders-table td, .sk-parcours table.woocommerce-orders-table th, .sk-parcours table.woocommerce-table--order-downloads td, .sk-parcours table.woocommerce-table--order-downloads th { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-16); padding: 6px 0; border: 0; text-align: right !important; }
	.sk-parcours table.woocommerce-orders-table td::before, .sk-parcours table.woocommerce-orders-table th::before, .sk-parcours table.woocommerce-table--order-downloads td::before, .sk-parcours table.woocommerce-table--order-downloads th::before { content: attr(data-title); flex: none; color: var(--color-text-muted); font-size: var(--fs-14); font-weight: 600; text-align: left; }
	.sk-parcours table.shop_table_responsive tr { display: block; }
	.woocommerce-cart-form table.cart tr.cart_item { display: grid; }
	.sk-compte-tuiles, .sk-parcours .woocommerce-Addresses, .sk-parcours .woocommerce-customer-details .woocommerce-columns { grid-template-columns: minmax(0, 1fr); }
	.sk-parcours .form-row-first, .sk-parcours .form-row-last { width: 100%; float: none; }
}
