/* ============================================================================
   Parcours d'achat — téléphone (≤ 800 px) : Panier, Paiement, Commande reçue (pages WooCommerce de la coquille du portail).
   Barre des 3 étapes à la place du fil d'Ariane, UNE barre collée en bas (total + bouton) à la place des gros boutons,
   code promo replié, commande repliée en tête du paiement, formulaire pleine largeur, bloc « merci » de la commande reçue.
   Au-delà de 800 px rien ne change : les éléments propres au téléphone sont masqués. Chargé avec cart.css / checkout.css
   (cf. PortalAssets::enqueue) ; le JS (shop-mobile.js) ajoute html.ar-shop-js — les règles qui masquent du natif en dépendent,
   sans JavaScript la page reste utilisable telle quelle.
   Attention : le kit Elementor stylise tout <button> (« .elementor-kit-9 button », 0,1,1) : nos boutons portent classe + élément.
   ============================================================================ */

.ar-shop-steps, .ar-shop-bar, .ar-ty, .ar-cs-head-tot, .ar-cs-head-chev { display: none; }
/* Edwiser pose « svg { display: block } » dans la boîte du Paiement : sélecteur plus précis pour garder la flèche masquée sur ordinateur. */
body.woocommerce-checkout .ar-checkout-summary-card .ar-cs-head-chev,
body.woocommerce-checkout .ar-checkout-summary-card .ar-cs-head-tot { display: none; }

@media (max-width: 800px) {
    /* ---------- Mise en page commune : plus de marges superposées ---------- */
    /* Les conteneurs Elementor ajoutent 10 px de chaque côté, la boîte Edwiser du Paiement 25 px (bordure + marge) : il restait
       277 px de large sur 375. */
    body.woocommerce-cart .ar-portal-content .e-con,
    body.woocommerce-cart .ar-portal-content .e-con-inner,
    body.woocommerce-checkout .ar-portal-content .e-con,
    body.woocommerce-checkout .ar-portal-content .e-con-inner { padding: 0 !important; }
    body.woocommerce-cart .ar-portal-content .e-con,
    body.woocommerce-checkout .ar-portal-content .e-con { --gap: 0px; --row-gap: 0px; --column-gap: 0px; }
    body.woocommerce-checkout .eb-legacy-checkout__wrapper { padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; border-radius: 0 !important; }
    /* La barre collée en bas ne doit pas masquer la fin de la page. */
    body.woocommerce-cart .ar-portal-main,
    body.woocommerce-checkout:not(.woocommerce-order-received) .ar-portal-main { padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px)); }

    /* Le thème remplit les icônes (fill) : sur ces pages elles devenaient des pavés pleins. */
    body.woocommerce-cart .ar-portal-content svg.lucide,
    body.woocommerce-checkout .ar-portal-content svg.lucide { fill: none; stroke: currentColor; }

    /* ---------- Barre des étapes ---------- */
    .ar-shop-steps { display: flex; align-items: center; gap: 6px; margin: 2px 0 12px; }
    .ar-stp-i { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; height: 28px; padding: 0 11px 0 4px; border-radius: 14px; background: #eef1f6; color: #64748b; font-size: 11.5px; font-weight: 800; }
    /* Chiffres : interligne 1 et aucune marge (le thème donne aux <i> un interligne haut qui faisait descendre le chiffre dans le rond). */
    .ar-stp-i i { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 20px; height: 20px; margin: 0; padding: 0; border-radius: 50%; background: #fff; color: #64748b; font-size: 10.5px; font-style: normal; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; text-indent: 0; }
    .ar-stp-i i svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
    .ar-stp-i.is-on { background: #e0fafd; color: #187c86; }
    .ar-stp-i.is-on i { background: #21a9b7; color: #fff; }
    .ar-stp-i.is-done { background: #dcfce7; color: #15803d; }
    .ar-stp-i.is-done i { background: #15803d; color: #fff; }
    .ar-shop-steps u { flex: 1 1 6px; min-width: 6px; height: 2px; border-radius: 1px; background: #dfe4ee; text-decoration: none; }

    /* ---------- Messages WooCommerce : deux bandeaux fins ---------- */
    body.woocommerce-cart .woocommerce-notices-wrapper,
    body.woocommerce-checkout .woocommerce-notices-wrapper { margin: 0; }
    body.woocommerce-cart .woocommerce-notices-wrapper:not(:empty) { margin: 0 0 6px; }
    body.woocommerce-cart .woocommerce-message,
    body.woocommerce-cart .woocommerce-info,
    body.woocommerce-checkout .woocommerce-message,
    body.woocommerce-checkout .woocommerce-info { margin: 0 0 8px; padding: 10px 12px 10px 38px; border: 1px solid #bbf0d0; border-top-width: 1px; border-radius: 14px; background: #ecfdf3; color: #166534; font-size: 12.5px; font-weight: 700; line-height: 1.45; }
    body.woocommerce-cart .woocommerce-info,
    body.woocommerce-checkout .woocommerce-info { border-color: #c7dcf8; background: #eff6ff; color: #1e4f9c; }
    body.woocommerce-cart .woocommerce-message::before,
    body.woocommerce-cart .woocommerce-info::before,
    body.woocommerce-checkout .woocommerce-message::before,
    body.woocommerce-checkout .woocommerce-info::before { left: 13px; top: 11px; font-size: 14px; color: inherit; }
    body.woocommerce-cart .woocommerce-message .button,
    body.woocommerce-cart .woocommerce-info .button { display: none; }
    body.woocommerce-cart .woocommerce-error,
    body.woocommerce-checkout .woocommerce-error { margin: 0 0 8px; padding: 10px 12px 10px 38px; border-radius: 14px; font-size: 12.5px; }

    /* ---------- Barre collée en bas (Panier et Paiement) ---------- */
    .ar-shop-bar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; align-items: center; gap: 12px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)); background: #fff; border-top: 1px solid var(--ar-border, #e8edf5); box-shadow: 0 -8px 24px rgba(15, 23, 42, .08); }
    .ar-shop-bar-tt small { display: block; font-size: 10.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: #64748b; }
    .ar-shop-bar-tt b { display: block; font-size: 20px; font-weight: 900; line-height: 1.1; color: #0f172a; white-space: nowrap; }
    a.ar-shop-go, a.ar-shop-go:hover, a.ar-shop-go:focus,
    button.ar-shop-go, button.ar-shop-go:hover, button.ar-shop-go:focus { display: flex; align-items: center; justify-content: center; gap: 8px; flex: 1 1 auto; height: 48px; margin: 0; padding: 0 14px; border: 0; border-radius: 15px; background: var(--ar-orange, #f97316); color: #fff !important; font-size: 14.5px; font-weight: 800; line-height: 1.2; text-decoration: none; box-shadow: 0 6px 16px color-mix(in srgb, var(--ar-orange, #f97316) 30%, transparent); cursor: pointer; }
    button.ar-shop-go:disabled { opacity: .55; }
    html.ar-typing .ar-shop-bar { display: none; }
    html.ar-typing body.woocommerce-cart .ar-portal-main,
    html.ar-typing body.woocommerce-checkout .ar-portal-main { padding-bottom: 14px; }

    /* ======================= PANIER ======================= */
    body.woocommerce-cart .ar-cart-breadcrumb { display: none; }
    body.woocommerce-cart .ar-cart-header { gap: 8px; margin-bottom: 0; }
    body.woocommerce-cart .ar-cart-header-title { font-size: 22px; letter-spacing: -.015em; }
    body.woocommerce-cart .ar-cart-header .ar-shop-steps { margin: 0 0 4px; }
    body.woocommerce-cart .woocommerce { gap: 12px; }

    /* Article : une carte compacte, titre à gauche (le mode « tableau responsive » de WooCommerce alignait tout à droite). */
    body.woocommerce-cart table.cart td { text-align: left !important; }
    body.woocommerce-cart table.cart tbody { gap: 8px; }
    body.woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item { flex-wrap: nowrap; align-items: flex-start; gap: 12px; padding: 12px; border-radius: 18px; }
    body.woocommerce-cart table.cart td.product-thumbnail { order: 0; width: 60px; height: 60px; border-radius: 16px; }
    body.woocommerce-cart table.cart td.product-thumbnail img { width: 60px; height: 60px; border-radius: 16px; }
    body.woocommerce-cart table.cart td.product-name { order: 1; flex: 1 1 0%; margin: 0; }
    body.woocommerce-cart table.cart td.product-remove { order: 2; margin: 0; }
    body.woocommerce-cart table.cart td.product-quantity { display: none; }
    body.woocommerce-cart table.cart td.product-name a:not(.remove) { font-size: 15px; line-height: 1.25; }
    .ar-cart-item-meta { gap: 5px; margin-top: 7px; }
    .ar-cart-item-format, .ar-cart-item-plan, .ar-cart-item-for { padding: 3px 9px; font-size: 11.5px; }
    .ar-cart-item-due { margin-top: 8px; gap: 6px; }
    .ar-cart-item-due b { font-size: 18px; }

    /* Code promo : replié sur une ligne (html.ar-shop-js : sans JavaScript il reste ouvert), s'ouvre au toucher. */
    body.woocommerce-cart tr:not(.woocommerce-cart-form__cart-item) td.actions { display: block; }
    .ar-coupon-help { display: none; }
    html.ar-shop-js body.woocommerce-cart .coupon { gap: 0; padding: 0; border-radius: 16px; background: #fff; border-color: var(--ar-border, #e8edf5); }
    html.ar-shop-js body.woocommerce-cart .coupon label.screen-reader-text { position: relative !important; top: auto !important; left: auto !important; min-height: 50px; margin: 0; padding: 0 40px 0 14px; cursor: pointer; font-size: 13.5px; }
    html.ar-shop-js body.woocommerce-cart .coupon label.screen-reader-text::after { content: ""; position: absolute; right: 18px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border-right: 2px solid #94a3b8; border-bottom: 2px solid #94a3b8; transform: rotate(45deg); transition: transform .15s; }
    html.ar-shop-js body.woocommerce-cart .coupon.is-open label.screen-reader-text::after { margin-top: -2px; transform: rotate(-135deg); }
    html.ar-shop-js body.woocommerce-cart .coupon:not(.is-open) > :not(label) { display: none !important; }
    /* Ouvert : la marge intérieure est portée par la carte (pas par chaque enfant : le champ du thème garde sa propre largeur et débordait). */
    html.ar-shop-js body.woocommerce-cart .coupon.is-open { padding: 0 14px 14px; gap: 10px; }
    html.ar-shop-js body.woocommerce-cart .coupon.is-open label.screen-reader-text { flex: 0 0 auto; width: calc(100% + 28px) !important; margin: 0 -14px; }
    body.woocommerce-cart .coupon .input-text { flex: 1 1 100%; box-sizing: border-box; width: 100% !important; max-width: 100% !important; min-width: 0; margin: 0 !important; height: 46px; border-radius: 13px; font-size: 16px; }
    body.woocommerce-cart .coupon button[name="apply_coupon"],
    body.woocommerce-cart .coupon button[name="apply_coupon"]:hover { flex: 1 1 100%; height: 44px; padding: 0 16px; border-radius: 13px; white-space: normal; background: var(--ar-primary, #005064); color: #fff; font-size: 13.5px; }
    .ar-cart-secure-standalone { display: none; }

    /* Récapitulatif : formule, prix, « inclus » en pastilles, une seule ligne de sécurité ; plus de boutons dans la carte. */
    .ar-cart-summary-card .ar-cs-head { padding: 12px 16px; font-size: 12px; }
    .ar-cart-summary-card .ar-cs-body { padding: 14px; }
    .ar-cart-summary-card .ar-cs-cta-wrap-top { display: none; }
    .ar-cart-summary-card .ar-cs-cta { display: none; }
    .ar-cart-summary-card .ar-cs-cta-wrap-bottom { margin: 0; padding: 10px 0 0; border-top: 0; }
    .ar-cart-summary-card .ar-cart-fineprint { margin: 0; font-size: 11.5px; }
    .ar-cart-summary-card .ar-cs-plan { gap: 12px; margin-bottom: 12px; padding-bottom: 12px; }
    .ar-cart-summary-card .ar-cs-avatar { width: 44px; height: 44px; }
    /* Déjà dits dans la carte de l'article juste au-dessus. */
    .ar-cart-summary-card .ar-cs-badge, .ar-cart-summary-card .ar-cs-for { display: none; }
    .ar-cart-summary-card .ar-cs-steps { margin-bottom: 12px; }
    .ar-cs-included ul { flex-direction: row; flex-wrap: wrap; gap: 6px; }
    .ar-cs-included li { align-items: center; padding: 6px 10px 6px 8px; border-radius: 15px; background: #f1f5f9; font-size: 12px; font-weight: 700; line-height: 1.2; }
    .ar-cs-included li svg { margin-top: 0; width: 14px; height: 14px; }
    .ar-cs-included > strong { margin-bottom: 8px; }
    .ar-cart-summary-card .ar-cs-secure { margin-top: 12px; padding: 10px 12px; }
    .ar-cart-summary-card .ar-cs-secure span { display: none; }

    /* ======================= PAIEMENT ======================= */
    body.woocommerce-checkout form.checkout { gap: 10px; align-items: stretch; }
    /* La commande remonte en tête (repliée) ; l'enveloppe de droite disparaît pour libérer ses deux cartes. */
    body.woocommerce-checkout .ar-checkout-right-col { display: contents; }
    body.woocommerce-checkout .ar-checkout-summary-card { order: -1; border-radius: 16px; box-shadow: none; }
    body.woocommerce-checkout #customer_details.col2-set { order: 0; }
    body.woocommerce-checkout .ar-checkout-payment-card { order: 1; padding: 14px; border-radius: 18px; }
    body.woocommerce-checkout .ar-checkout-reassure { display: none; }
    body.woocommerce-checkout .ar-checkout-summary-card .ar-cs-head { gap: 9px; min-height: 52px; padding: 0 14px; background: #fff; color: var(--ar-ink, #0f172a); font-size: 14px; letter-spacing: 0; text-transform: none; cursor: pointer; }
    body.woocommerce-checkout .ar-checkout-summary-card .ar-cs-head > svg:first-child { color: #187c86; }
    body.woocommerce-checkout .ar-checkout-summary-card .ar-cs-head-tot { display: inline; margin-left: auto; font-size: 15px; font-weight: 900; }
    body.woocommerce-checkout .ar-checkout-summary-card .ar-cs-head-chev { display: block; width: 17px; height: 17px; color: #94a3b8; transition: transform .15s; }
    body.woocommerce-checkout .ar-checkout-summary-card.is-open .ar-cs-head-chev { transform: rotate(180deg); }
    html.ar-shop-js body.woocommerce-checkout .ar-checkout-summary-card:not(.is-open) .ar-cs-body { display: none; }
    body.woocommerce-checkout .ar-checkout-summary-card .ar-cs-body { padding: 4px 14px 14px; border-top: 1px solid var(--ar-line, #eef2f7); }
    body.woocommerce-checkout .ar-checkout-summary-card .ar-cs-avatar { width: 44px; height: 44px; }
    body.woocommerce-checkout .ar-checkout-summary-card .ar-cs-secure { display: none; }
    .ar-cs-included ul { margin-top: 0; }

    /* Formulaire : une seule carte, champs pleine largeur de la carte. */
    body.woocommerce-checkout .woocommerce-form-coupon-toggle { margin: 0 0 10px; }
    body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin: 0 !important; padding: 12px 14px !important; border: 1px solid var(--ar-border, #e8edf5) !important; border-radius: 16px !important; background: #fff !important; color: #475569; font-size: 13px; font-weight: 600; }
    body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none; }
    body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon { color: #187c86 !important; font-weight: 800; }
    body.woocommerce-checkout form.checkout_coupon { margin: 0 0 8px; padding: 12px; border-radius: 16px; flex-wrap: wrap; }
    body.woocommerce-checkout form.checkout_coupon .input-text { flex: 1 1 100%; height: 46px; font-size: 16px; }
    body.woocommerce-checkout form.checkout_coupon button { flex: 1 1 100%; height: 44px; }
    body.woocommerce-checkout .woocommerce-billing-fields,
    body.woocommerce-checkout .woocommerce-shipping-fields,
    body.woocommerce-checkout .woocommerce-additional-fields { padding: 14px; border-radius: 18px; box-shadow: none; }
    body.woocommerce-checkout .woocommerce-billing-fields { margin: 0 0 10px; }
    body.woocommerce-checkout .woocommerce-shipping-fields { margin: 0 0 10px; padding-bottom: 12px; }
    body.woocommerce-checkout .woocommerce-billing-fields h3,
    body.woocommerce-checkout .woocommerce-additional-fields h3 { margin: 0 0 12px; font-size: 15px; line-height: 1.3; }
    body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { gap: 0 10px; }
    body.woocommerce-checkout .form-row { margin: 0 0 11px; }
    body.woocommerce-checkout .form-row label { margin: 0 0 4px; font-size: 11.5px; }
    body.woocommerce-checkout .form-row input.input-text,
    body.woocommerce-checkout .form-row select,
    body.woocommerce-checkout .form-row textarea,
    body.woocommerce-checkout .select2-container .select2-selection--single { min-height: 46px; padding: 0 13px; border-radius: 13px; font-size: 16px; }
    body.woocommerce-checkout .form-row textarea { min-height: 64px; padding: 11px 13px; }
    /* « Expédier à une adresse différente ? » : interrupteur à droite de la question. */
    body.woocommerce-checkout .woocommerce-shipping-fields > h3 { display: block; width: 100%; margin: 0; }
    body.woocommerce-checkout .woocommerce-shipping-fields > h3 label { justify-content: space-between; width: 100%; min-height: 40px; cursor: pointer; font-size: 14px; }
    body.woocommerce-checkout .woocommerce-shipping-fields > h3 input[type="checkbox"] { -webkit-appearance: none; appearance: none; order: 2; position: relative; flex: 0 0 auto; width: 42px !important; height: 26px !important; margin: 0; padding: 0 !important; border: 0 !important; border-radius: 13px; background: #cbd5e1; cursor: pointer; transition: background .15s; }
    body.woocommerce-checkout .woocommerce-shipping-fields > h3 input[type="checkbox"]::after { content: ""; position: absolute; left: 3px; top: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: transform .15s; }
    body.woocommerce-checkout .woocommerce-shipping-fields > h3 input[type="checkbox"]:checked { background: var(--ar-primary, #005064) !important; }
    body.woocommerce-checkout .woocommerce-shipping-fields > h3 input[type="checkbox"]:checked::after { transform: translateX(16px); }
    body.woocommerce-checkout .woocommerce-shipping-fields .shipping_address { margin-top: 12px; }

    /* Paiement : cartes à cocher, conditions, et le bouton natif cède la place à la barre du bas (si JavaScript). */
    body.woocommerce-checkout .ar-cpc-head { margin-bottom: 12px; }
    body.woocommerce-checkout .ar-checkout-payment-card ul.payment_methods li.wc_payment_method { padding: 12px 13px !important; margin-bottom: 8px; border-radius: 15px; }
    body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin: 12px 0 0; }
    body.woocommerce-checkout .woocommerce-privacy-policy-text { margin: 8px 0 0; }
    html.ar-shop-js body.woocommerce-checkout #place_order { display: none; }
    html.ar-shop-js body.woocommerce-checkout .form-row.place-order { padding: 0; margin: 0; }

    /* ======================= COMMANDE REÇUE ======================= */
    body.woocommerce-order-received .ar-portal-main { padding-bottom: 20px; }
    .ar-ty { display: block; margin: 0 0 12px; }
    .ar-ty .ar-shop-steps { margin-bottom: 4px; }
    .ar-ty-hero { padding: 18px 6px 12px; text-align: center; }
    .ar-ty-ico { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 12px; border-radius: 50%; background: #dcfce7; color: #15803d; }
    .ar-ty.is-wait .ar-ty-ico { background: #fef3c7; color: #b45309; }
    .ar-ty-ico svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
    .ar-ty-hero h2 { margin: 0; font-size: 22px; font-weight: 900; letter-spacing: -.015em; color: #0f172a; }
    .ar-ty-hero p { margin: 6px 0 0; font-size: 13.5px; line-height: 1.5; color: #64748b; }
    .ar-ty-facts { margin: 0 0 10px; padding: 4px 14px; border: 1px solid var(--ar-border, #e8edf5); border-radius: 18px; background: #fff; }
    .ar-ty-facts div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; font-size: 13px; }
    .ar-ty-facts div + div { border-top: 1px solid #eef1f6; }
    .ar-ty-facts dt { margin: 0; font-weight: 600; color: #64748b; }
    .ar-ty-facts dd { margin: 0; text-align: right; font-weight: 800; color: #0f172a; }
    .ar-ty-card { margin: 0 0 10px; padding: 14px; border: 1px solid var(--ar-border, #e8edf5); border-radius: 18px; background: #fff; }
    .ar-ty-card h3 { margin: 0 0 8px; font-size: 14px; font-weight: 800; }
    .ar-ty-steps { margin: 0; padding: 0; list-style: none; }
    .ar-ty-steps li { display: flex; gap: 12px; padding: 10px 0; }
    .ar-ty-steps li + li { border-top: 1px solid #eef1f6; }
    .ar-ty-steps i { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 26px; height: 26px; margin: 0; padding: 0; border-radius: 50%; background: #e0fafd; color: #187c86; font-size: 12px; font-weight: 800; font-style: normal; line-height: 1; font-variant-numeric: tabular-nums; }
    .ar-ty-steps b { display: block; font-size: 13.5px; font-weight: 800; }
    .ar-ty-steps span { display: block; margin-top: 1px; font-size: 12.5px; line-height: 1.45; color: #64748b; font-weight: 600; }
    .ar-ty-copy { display: flex; flex-direction: column; gap: 8px; }
    .ar-ty-copy:not(:empty) { margin-top: 6px; }
    .ar-ty-cp { display: flex; align-items: center; gap: 10px; padding: 9px 10px 9px 12px; border: 1px dashed #cbd5e1; border-radius: 13px; background: #f8fafc; }
    .ar-ty-cp small { display: block; font-size: 10.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: #64748b; }
    .ar-ty-cp b { display: block; font-size: 14px; word-break: break-all; }
    .ar-ty-cp button, .ar-ty-cp button:hover, .ar-ty-cp button:focus { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; margin: 0 0 0 auto; padding: 0; border: 1px solid var(--ar-border, #e8edf5); border-radius: 11px; background: #fff; color: #187c86; cursor: pointer; }
    .ar-ty-cp button svg { width: 16px; height: 16px; }
    .ar-ty-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
    a.ar-ty-btn, a.ar-ty-btn:hover, a.ar-ty-btn:focus { display: flex; align-items: center; justify-content: center; gap: 8px; height: 46px; border: 1px solid var(--ar-border, #e8edf5); border-radius: 14px; background: #fff; color: #187c86 !important; font-size: 14px; font-weight: 800; text-decoration: none; }
    a.ar-ty-btn.is-main, a.ar-ty-btn.is-main:hover, a.ar-ty-btn.is-main:focus { border-color: #21a9b7; background: #21a9b7; color: #fff !important; }
    .ar-ty-btn svg, .ar-shop-go svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
    /* Le natif remplacé : aperçu de commande, phrase de remerciement ; consignes du virement quand les lignes « Copier » existent. */
    .woocommerce-order .ar-ty ~ .woocommerce-thankyou-order-received,
    .woocommerce-order .ar-ty ~ ul.woocommerce-order-overview { display: none !important; }
    .woocommerce-order .ar-ty.has-copy ~ p.ar-ty-instr { display: none !important; }
    .woocommerce-order > p.ar-ty-instr { font-size: 14px; line-height: 1.6; }
    /* Le tableau natif « Détails de la commande » (et la note du plugin de sous-comptes) double la carte ci-dessus : numéro, niveau, enfant,
       montant, paiement — masqué sur téléphone quand le bloc « merci » est là. */
    .woocommerce-order .ar-ty ~ section.woocommerce-order-details { display: none !important; }
    .ar-ty-card h3, .ar-ty-hero h2 { letter-spacing: 0; }

    /* Adresses : UNE carte, deux rubriques séparées par un filet (une seule quand livraison = facturation, cf. shop-mobile.js). */
    body.woocommerce-order-received .woocommerce-customer-details { margin: 0 0 10px; padding: 4px 14px; border: 1px solid var(--ar-border, #e8edf5); border-radius: 18px; background: #fff; }
    body.woocommerce-order-received .woocommerce-columns--addresses { display: block; width: 100%; margin: 0 !important; padding: 0; }
    body.woocommerce-order-received .woocommerce-columns--addresses::before, body.woocommerce-order-received .woocommerce-columns--addresses::after { display: none; }
    body.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column { float: none; width: 100%; margin: 0; padding: 12px 0; border-top: 1px solid #eef1f6; }
    body.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column:first-child { border-top: 0; }
    body.woocommerce-order-received .woocommerce-column__title { margin: 0 0 6px !important; padding: 0 !important; background: transparent !important; border: 0 !important; font-size: 11px !important; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; line-height: 1.3; color: #64748b; }
    body.woocommerce-order-received .woocommerce-customer-details address { margin: 0; padding: 0 !important; border: 0 !important; background: transparent; font-style: normal; font-size: 13.5px; line-height: 1.55; color: #0f172a; }
    body.woocommerce-order-received .woocommerce-customer-details--email { margin: 6px 0 0 !important; font-size: 13px; color: #475569; word-break: break-all; }
    body.woocommerce-order-received .woocommerce-columns--addresses.is-same .woocommerce-column--shipping-address { display: none; }
}

/* Petits téléphones (≤ 380 px) : la barre des étapes se resserre pour tenir sur une ligne (292 px de large à 320 px d'écran). */
@media (max-width: 380px) {
    .ar-shop-steps { gap: 4px; }
    .ar-stp-i { gap: 4px; height: 26px; padding: 0 8px 0 3px; font-size: 10.5px; }
    .ar-stp-i i { width: 18px; height: 18px; font-size: 10px; }
    .ar-shop-steps u { flex-basis: 4px; min-width: 4px; }
    .ar-shop-bar { gap: 10px; padding-left: 12px; padding-right: 12px; }
    .ar-shop-bar-tt b { font-size: 18px; }
    a.ar-shop-go, a.ar-shop-go:hover, a.ar-shop-go:focus, button.ar-shop-go, button.ar-shop-go:hover, button.ar-shop-go:focus { padding: 0 10px; font-size: 13.5px; }
}
