/* ==========================================================================
 * Tournée de livraison — Domaine Becht
 * Couleurs alignées sur l'extension Web67 Recettes (--w67-*).
 * Échelle : textes 13 / 14 / 16 / 18 / 24 px, espacements 4 / 8 / 12 / 16 / 24 / 32 px.
 * ========================================================================== */

:root {
    --becht-brown: #392515;
    --becht-brown-soft: #574331;
    --becht-muted: #76634f;
    --becht-gold: #9b7651;
    --becht-green: #234019;
    --becht-sage: #586832;
    --becht-green-bg: #f1f4ea;
    --becht-orange: #a4520f;
    --becht-orange-dark: #7e3e0a;
    --becht-paper: #fffdfb;
    --becht-sand: #f7f3ef;
    --becht-line: #e5ddd4;
    --becht-line-strong: #d9cdbc;

    --becht-fs-xs: .8125rem;  /* 13px : mentions, en-têtes de colonnes */
    --becht-fs-sm: .875rem;   /* 14px : notes, labels */
    --becht-fs-md: 1rem;      /* 16px : texte courant, champs */
    --becht-fs-lg: 1.125rem;  /* 18px : sous-titres, prix */
    --becht-fs-xl: 1.5rem;    /* 24px : titres de section */

    --becht-sp-1: 4px;
    --becht-sp-2: 8px;
    --becht-sp-3: 12px;
    --becht-sp-4: 16px;
    --becht-sp-5: 24px;
    --becht-sp-6: 32px;
}

pre:has(.becht-tournee-livraison) {
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    white-space: normal !important;
    font-family: inherit !important;
}

.becht-tournee-livraison {
    margin: 0 auto var(--becht-sp-6);
    padding: var(--becht-sp-5);
    border: 1px solid var(--becht-line);
    background: var(--becht-paper);
    box-shadow: 0 12px 34px rgb( 57 37 21 / 6% );
    color: var(--becht-brown-soft);
    font-size: var(--becht-fs-md);
    line-height: 1.5;
}

/* Avada et WooCommerce ajoutent parfois leurs propres coins arrondis. */
.becht-tournee-livraison,
.becht-tournee-livraison * {
    border-radius: 0 !important;
}

/* --- En-têtes de section ------------------------------------------------- */

.becht-tournee-meta {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--becht-sp-4);
    margin: 0 0 var(--becht-sp-4);
    padding-bottom: var(--becht-sp-3);
    border-bottom: 1px solid var(--becht-line-strong);
}

.becht-tournee-meta h2 {
    margin: 0;
    color: var(--becht-brown);
    font-size: var(--becht-fs-xl);
    line-height: 1.2;
}

.becht-tournee-meta p {
    margin: 0;
    color: var(--becht-gold);
    font-size: var(--becht-fs-sm);
    font-weight: 700;
    white-space: nowrap;
}

/* --- Étapes ---------------------------------------------------------------
 * Le parcours reste utilisable sans JavaScript ; JS ajoute seulement la
 * transition visuelle quand une étape devient disponible. */
.becht-tournee-steps {
    display: grid;
    grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
    gap: var(--becht-sp-2);
    margin: 0 0 var(--becht-sp-5);
    padding: 0;
    list-style: none;
}

.becht-tournee-step {
    display: flex;
    align-items: center;
    gap: var(--becht-sp-2);
    min-width: 0;
    margin: 0;
    padding: var(--becht-sp-2) var(--becht-sp-3);
    border: 1px solid var(--becht-line);
    background: var(--becht-sand);
    color: var(--becht-muted);
    font-size: var(--becht-fs-sm);
    font-weight: 700;
    line-height: 1.25;
}

.becht-tournee-step-number {
    display: inline-grid;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    place-items: center;
    border: 1px solid currentColor;
    font-size: var(--becht-fs-xs);
}

.becht-tournee-step.is-current {
    border-color: var(--becht-sage);
    background: var(--becht-green-bg);
    color: var(--becht-green);
}

.becht-tournee-step.is-current .becht-tournee-step-number {
    border-color: var(--becht-green);
    background: var(--becht-green);
    color: #fff;
}

.becht-tournee-step.is-complete {
    color: var(--becht-brown-soft);
}

.becht-tournee-step.is-complete .becht-tournee-step-number {
    font-size: 0;
}

.becht-tournee-step.is-complete .becht-tournee-step-number::before {
    content: '✓';
    font-size: var(--becht-fs-xs);
}

.becht-tournee-step-panel {
    opacity: 1;
}

.becht-tournee-livraison.is-js-ready .becht-tournee-step-panel {
    opacity: 0;
    transform: translateY( 6px );
    transition: opacity .22s ease, transform .22s ease;
}

.becht-tournee-livraison.is-js-ready .becht-tournee-step-panel.is-revealed {
    opacity: 1;
    transform: translateY( 0 );
}

@media (prefers-reduced-motion: reduce) {
    .becht-tournee-livraison.is-js-ready .becht-tournee-step-panel {
        transform: none;
        transition: none;
    }
}

/* --- Messages ------------------------------------------------------------ */

.becht-tournee-livraison .woocommerce-info,
.becht-tournee-livraison .woocommerce-message {
    margin: var(--becht-sp-3) 0;
    padding: var(--becht-sp-3) var(--becht-sp-4);
    border-top: 0;
    border-left: 3px solid var(--becht-sage);
    background: var(--becht-green-bg);
    color: var(--becht-green);
    font-size: var(--becht-fs-sm);
}

.becht-tournee-note {
    margin: var(--becht-sp-3) 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--becht-muted);
    font-size: var(--becht-fs-sm);
    line-height: 1.5;
}

.becht-tournee-note a,
.becht-tournee-zone a {
    color: var(--becht-orange-dark);
    font-weight: 700;
    text-underline-offset: 3px;
}

/* --- Étape 1 : choix de la ville ----------------------------------------- */

.becht-tournee-ville-form {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: var(--becht-sp-3);
    margin-top: var(--becht-sp-4);
}

.becht-tournee-ville-form label {
    width: 100%;
    margin: 0;
    color: var(--becht-brown-soft);
    font-size: var(--becht-fs-sm);
    font-weight: 700;
}

.becht-tournee-ville-form select {
    flex: 1 1 280px;
    min-height: 48px;
    padding: var(--becht-sp-2) var(--becht-sp-3);
    border: 1px solid var(--becht-line-strong);
    background: #fff;
    color: var(--becht-brown);
    font-size: var(--becht-fs-md);
}

/* --- Boutons ---------------------------------------------------------------
 * Principal : vert (comme les filtres actifs des recettes).
 * Paiement : orange, l'action finale du parcours. */
.becht-tournee-checkout-flow #place_order,
.becht-tournee-checkout-flow .button.alt,
.becht-tournee-ville-form .button,
.becht-tournee-livraison > p .button {
    width: 100%;
    min-height: 48px;
    margin: var(--becht-sp-2) 0 0;
    padding: 0 var(--becht-sp-5);
    border: 1px solid var(--becht-green);
    background: var(--becht-green);
    color: #fff;
    font-size: var(--becht-fs-sm);
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.becht-tournee-ville-form .button {
    flex: 0 0 auto;
    width: auto;
    margin: 0;
}

.becht-tournee-checkout-flow #place_order:hover,
.becht-tournee-checkout-flow .button.alt:hover,
.becht-tournee-ville-form .button:hover,
.becht-tournee-livraison > p .button:hover {
    border-color: var(--becht-sage);
    background: var(--becht-sage);
    box-shadow: 0 5px 12px rgb( 35 64 25 / 18% );
    transform: translateY( -1px );
}

.becht-tournee-checkout-flow #place_order {
    border-color: var(--becht-orange);
    background: var(--becht-orange);
    font-size: var(--becht-fs-md);
}

.becht-tournee-checkout-flow #place_order:hover {
    border-color: var(--becht-orange-dark);
    background: var(--becht-orange-dark);
}

.becht-tournee-livraison :focus-visible {
    outline: 2px solid var(--becht-orange);
    outline-offset: 2px;
}

/* --- Étape 2 : liste des vins -------------------------------------------- */

.becht-tournee-produits {
    overflow: hidden;
    border: 1px solid var(--becht-line);
    background: #fff;
}

.becht-tournee-entete-table,
.becht-tournee-ligne {
    display: grid;
    grid-template-columns: minmax( 0, 1fr ) 140px 190px;
    gap: var(--becht-sp-4);
    align-items: center;
}

.becht-tournee-entete-table {
    min-height: 40px;
    padding: 0 var(--becht-sp-4);
    border-bottom: 1px solid var(--becht-line);
    background: var(--becht-sand);
    color: var(--becht-gold);
    font-size: var(--becht-fs-xs);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.becht-tournee-ligne {
    min-height: 64px;
    padding: var(--becht-sp-2) var(--becht-sp-4);
    border-bottom: 1px solid var(--becht-line);
    transition: background .15s ease;
}

.becht-tournee-ligne:last-child {
    border-bottom: 0;
}

.becht-tournee-ligne:hover {
    background: var(--becht-paper);
}

.becht-tournee-cellule {
    min-width: 0;
    padding: 0;
    line-height: 1.3;
}

.becht-tournee-produit {
    color: var(--becht-brown);
    font-size: var(--becht-fs-md);
    font-weight: 700;
}

.becht-tournee-prix {
    color: var(--becht-brown);
    font-size: var(--becht-fs-lg);
    font-weight: 700;
    white-space: nowrap;
}

.becht-tournee-prix small {
    display: block;
    margin-top: 2px;
    color: var(--becht-muted);
    font-size: var(--becht-fs-xs);
    font-weight: 400;
}

.becht-tournee-action,
.becht-tournee-entete-table > :last-child {
    text-align: right;
}

.becht-tournee-ajout {
    display: inline-flex;
    align-items: stretch;
    gap: var(--becht-sp-2);
    margin: 0;
}

.becht-tournee-quantite {
    width: 64px;
    min-height: 40px;
    margin: 0 !important;
    padding: var(--becht-sp-1) var(--becht-sp-2) !important;
    border: 1px solid var(--becht-line-strong) !important;
    color: var(--becht-brown);
    font-size: var(--becht-fs-md) !important;
    line-height: 1 !important;
    text-align: center;
}

.becht-tournee-produits .button {
    display: inline-flex !important;
    align-items: center;
    min-height: 40px;
    padding: 0 var(--becht-sp-4) !important;
    border: 1px solid var(--becht-green) !important;
    background: var(--becht-green) !important;
    color: #fff !important;
    font-size: var(--becht-fs-xs) !important;
    font-weight: 700 !important;
    letter-spacing: .05em;
    line-height: 1 !important;
    text-transform: uppercase;
    white-space: nowrap;
}

.becht-tournee-produits .button:hover {
    border-color: var(--becht-sage) !important;
    background: var(--becht-sage) !important;
}

/* --- Récapitulatif (sélection) ------------------------------------------- */

.becht-tournee-livraison.becht-tournee-cart-embedded,
.becht-tournee-cart-embedded {
    margin-top: var(--becht-sp-5);
    padding: var(--becht-sp-4) var(--becht-sp-5);
    border: 1px solid var(--becht-line);
    background: var(--becht-sand);
    box-shadow: none;
}

.becht-tournee-cart-embedded .becht-tournee-meta {
    margin-bottom: var(--becht-sp-3);
}

.becht-tournee-cart-embedded form {
    margin: 0;
}

.becht-tournee-cart-embedded .becht-tournee-cart-table {
    margin: 0;
    border: 0;
    background: #fff;
}

.becht-tournee-cart-embedded .becht-tournee-cart-table th,
.becht-tournee-cart-embedded .becht-tournee-cart-table td {
    padding: var(--becht-sp-3);
    font-size: var(--becht-fs-md);
    vertical-align: middle;
}

.becht-tournee-cart-embedded .becht-tournee-cart-table thead th {
    padding-top: var(--becht-sp-2);
    padding-bottom: var(--becht-sp-2);
    color: var(--becht-gold);
    font-size: var(--becht-fs-xs);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.becht-tournee-cart-embedded .becht-tournee-cart-table input[type="number"] {
    width: 80px;
    min-height: 40px;
    margin: 0;
    padding: var(--becht-sp-1) var(--becht-sp-2);
    border: 1px solid var(--becht-line-strong);
    font-size: var(--becht-fs-md);
    text-align: center;
}

.becht-tournee-cart-embedded form > p {
    margin: var(--becht-sp-3) 0 0;
}

/* Action secondaire : contour, pas de fond plein. */
.becht-tournee-cart-embedded form > p .button {
    min-height: 40px;
    margin: 0;
    padding: 0 var(--becht-sp-4);
    border: 1px solid var(--becht-brown);
    background: transparent;
    color: var(--becht-brown);
    font-size: var(--becht-fs-xs);
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.becht-tournee-cart-embedded form > p .button:hover {
    background: var(--becht-brown);
    color: #fff;
}

.becht-tournee-cart-embedded .cart-collaterals {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    margin-top: var(--becht-sp-4);
}

.becht-tournee-cart-embedded .cart_totals {
    float: none;
    width: 380px !important;
    margin: 0 0 0 auto;
    padding: 0 !important;
}

.becht-tournee-cart-embedded .cart_totals h2 {
    margin: 0 !important;
    padding: 0 0 var(--becht-sp-2) !important;
    color: var(--becht-brown);
    font-size: var(--becht-fs-lg);
    line-height: 1.3;
}

.becht-tournee-cart-embedded .cart_totals h2 small {
    color: var(--becht-muted);
    font-size: var(--becht-fs-sm);
    font-weight: 400;
}

.becht-tournee-cart-embedded .cart_totals .shop_table {
    display: block;
    width: 100% !important;
    margin: 0 !important;
    border-collapse: collapse !important;
    background: #fff;
}

.becht-tournee-cart-embedded .cart_totals .shop_table tbody {
    display: block;
}

.becht-tournee-cart-embedded .cart_totals .shop_table tr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.becht-tournee-cart-embedded .cart_totals .shop_table th,
.becht-tournee-cart-embedded .cart_totals .shop_table td {
    display: block;
    width: auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: var(--becht-sp-3) var(--becht-sp-4) !important;
    border: 0 !important;
    font-size: var(--becht-fs-md);
    line-height: 1.3 !important;
}

.becht-tournee-cart-embedded .cart_totals .shop_table td {
    margin-left: auto !important;
    text-align: right;
}

.becht-tournee-cart-embedded .cart_totals .shop_table .order-total {
    border-top: 1px solid var(--becht-line);
    font-size: var(--becht-fs-lg);
}

.becht-tournee-cart-error {
    margin: var(--becht-sp-3) 0 0 !important;
    font-size: var(--becht-fs-sm);
}

.becht-tournee-cart-embedded .checkout-button {
    position: relative;
    display: block;
    width: 100%;
    min-height: 52px;
    margin: var(--becht-sp-3) 0 0;
    padding: 0 48px 0 var(--becht-sp-5) !important;
    border: 1px solid var(--becht-orange) !important;
    background: var(--becht-orange) !important;
    box-shadow: 0 4px 0 var(--becht-orange-dark) !important;
    color: #fff !important;
    font-size: var(--becht-fs-sm) !important;
    font-weight: 700;
    letter-spacing: .06em !important;
    line-height: 50px !important;
    text-align: center;
    text-transform: uppercase;
}

.becht-tournee-cart-embedded .checkout-button::after {
    position: absolute;
    top: 50%;
    right: var(--becht-sp-4);
    content: '→';
    font-size: var(--becht-fs-lg);
    font-weight: 400;
    transform: translateY( -50% );
}

.becht-tournee-cart-embedded .checkout-button:hover {
    border-color: var(--becht-orange-dark) !important;
    background: var(--becht-orange-dark) !important;
    box-shadow: 0 2px 0 #7a3f0e !important;
    transform: translateY( 2px );
}

.becht-tournee-cart-embedded .checkout-button.disabled {
    border-color: var(--becht-line-strong) !important;
    background: var(--becht-line) !important;
    box-shadow: none !important;
    color: var(--becht-muted) !important;
    cursor: not-allowed;
    transform: none;
}

/* Avada peut rendre ses propres éléments d'expédition, séparément du modèle
 * WooCommerce standard. Ils ne font pas partie du panier tournée. */
.becht-tournee-cart .woocommerce-shipping-totals,
.becht-tournee-cart .shipping,
.becht-tournee-cart [class*="cart-shipping"],
.becht-tournee-cart [class*="shipping-method"] {
    display: none !important;
}

/* --- Étape 3 : coordonnées et paiement ----------------------------------- */

.becht-tournee-livraison .woocommerce-form-coupon-toggle {
    display: none;
}

.becht-tournee-checkout-flow form.checkout {
    display: block;
    margin-top: var(--becht-sp-4);
    padding: var(--becht-sp-5);
    border: 1px solid var(--becht-line);
    background: #fff;
    box-shadow: none;
}

.becht-tournee-checkout-flow #customer_details {
    display: block;
    width: 100%;
}

.becht-tournee-checkout-flow #customer_details .col-1,
.becht-tournee-checkout-flow #customer_details .col-2,
.becht-tournee-checkout-flow .woocommerce-checkout-review-order {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.becht-tournee-checkout-flow #customer_details h3,
.becht-tournee-checkout-flow #order_review_heading {
    margin: 0 0 var(--becht-sp-4);
    color: var(--becht-brown);
    font-size: var(--becht-fs-lg);
    line-height: 1.3;
}

.becht-tournee-checkout-flow #order_review_heading {
    margin: var(--becht-sp-5) 0 var(--becht-sp-3);
    padding: var(--becht-sp-5) 0 0;
    border-top: 1px solid var(--becht-line);
}

.becht-tournee-checkout-flow #order_review {
    width: auto;
    margin: 0;
}

.becht-tournee-checkout-flow .form-row {
    margin: 0 0 var(--becht-sp-3);
}

.becht-tournee-checkout-flow .form-row label {
    margin-bottom: var(--becht-sp-1);
    color: var(--becht-brown-soft);
    font-size: var(--becht-fs-sm);
    font-weight: 700;
}

/* 16px minimum : évite le zoom automatique d'iOS sur les champs. */
.becht-tournee-checkout-flow .form-row input.input-text,
.becht-tournee-checkout-flow .form-row select,
.becht-tournee-checkout-flow .form-row textarea {
    min-height: 48px;
    padding: var(--becht-sp-2) var(--becht-sp-3);
    border: 1px solid var(--becht-line-strong);
    background: var(--becht-paper);
    color: var(--becht-brown);
    font-size: var(--becht-fs-md);
    box-shadow: none;
}

.becht-tournee-checkout-flow .form-row textarea {
    min-height: 96px;
}

.becht-tournee-checkout-flow .form-row input.input-text:focus,
.becht-tournee-checkout-flow .form-row select:focus,
.becht-tournee-checkout-flow .form-row textarea:focus {
    border-color: var(--becht-sage);
    outline: 2px solid rgb( 88 104 50 / 20% );
    outline-offset: 1px;
}

.becht-tournee-checkout-flow .woocommerce-checkout-review-order-table {
    margin: 0 0 var(--becht-sp-4);
    border: 0;
}

.becht-tournee-checkout-flow .woocommerce-checkout-review-order-table th,
.becht-tournee-checkout-flow .woocommerce-checkout-review-order-table td {
    padding: var(--becht-sp-3) 0;
    border-color: var(--becht-line);
    font-size: var(--becht-fs-md);
}

.becht-tournee-checkout-flow .woocommerce-checkout-review-order-table .product-name {
    color: var(--becht-brown);
    font-weight: 700;
}

/* Avada impose 140px de hauteur par ligne et un tableau de totaux imbriqué
 * (th à 70 %, 20px de marge) : on revient à un récapitulatif compact où
 * tous les montants s'alignent sur la colonne de droite. */
.becht-tournee-checkout-flow .woocommerce-checkout-review-order-table tr {
    height: auto !important;
}

.becht-tournee-checkout-flow .woocommerce-checkout-review-order-table thead th {
    padding: 0 0 var(--becht-sp-2) !important;
    border-bottom: 1px solid var(--becht-line) !important;
    font-size: var(--becht-fs-sm);
}

.becht-tournee-checkout-flow .woocommerce-checkout-review-order-table > tbody > tr > td {
    padding: var(--becht-sp-3) 0 !important;
    border-bottom: 1px solid var(--becht-line) !important;
}

.becht-tournee-checkout-flow .woocommerce-checkout-review-order-table .product-quantity {
    white-space: nowrap;
}

/* Avada dessine « Commander » en bouton à contour : action finale en orange plein. */
.becht-tournee-checkout-flow #payment #place_order {
    width: 100% !important;
    min-height: 52px !important;
    border: 1px solid var(--becht-orange) !important;
    background: var(--becht-orange) !important;
    color: #fff !important;
    font-size: var(--becht-fs-md) !important;
    font-weight: 700 !important;
    letter-spacing: .05em;
}

.becht-tournee-checkout-flow #payment #place_order:hover {
    border-color: var(--becht-orange-dark) !important;
    background: var(--becht-orange-dark) !important;
}

.becht-tournee-checkout-flow .woocommerce-checkout-review-order-table .product-total,
.becht-tournee-checkout-flow .woocommerce-checkout-review-order-table thead .product-total {
    width: auto !important;
    text-align: right !important;
    white-space: nowrap;
}

.becht-tournee-checkout-flow .fusion-product-name-wrapper {
    display: flex;
    align-items: center;
    gap: var(--becht-sp-4);
}

.becht-tournee-checkout-flow .woocommerce-checkout-review-order-table .product-thumbnail {
    flex: 0 0 48px;
    width: 48px;
    margin: 0 !important;
}

.becht-tournee-checkout-flow .woocommerce-checkout-review-order-table .product-thumbnail img {
    display: block;
    width: 48px !important;
    height: 80px !important;
    max-width: none;
    object-fit: contain;
}

.becht-tournee-checkout-flow .woocommerce-checkout-review-order-table .product-info {
    margin: 0 !important;
    padding: 0 !important;
}

.becht-tournee-checkout-flow .awb-checkout-totals-wrapper > td {
    padding: 0 !important;
    border: 0 !important;
}

.becht-tournee-checkout-flow .awb-cart-totals-table {
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse;
}

.becht-tournee-checkout-flow .awb-cart-totals-table tr {
    height: auto !important;
    border-bottom: 1px solid var(--becht-line);
}

.becht-tournee-checkout-flow .awb-cart-totals-table th,
.becht-tournee-checkout-flow .awb-cart-totals-table td {
    width: auto !important;
    height: auto !important;
    padding: var(--becht-sp-3) 0 !important;
    border: 0 !important;
    font-size: var(--becht-fs-md);
    line-height: 1.4 !important;
    vertical-align: middle;
}

.becht-tournee-checkout-flow .awb-cart-totals-table th {
    color: var(--becht-brown-soft);
    font-size: var(--becht-fs-sm);
    text-align: left !important;
}

.becht-tournee-checkout-flow .awb-cart-totals-table td {
    text-align: right !important;
}

.becht-tournee-checkout-flow .awb-cart-totals-table .order-total {
    border-bottom: 0;
}

.becht-tournee-checkout-flow .awb-cart-totals-table .order-total th,
.becht-tournee-checkout-flow .awb-cart-totals-table .order-total td {
    padding-top: var(--becht-sp-4) !important;
    font-size: var(--becht-fs-lg);
}

.becht-tournee-checkout-flow #shipping_method {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

.becht-tournee-checkout-flow #shipping_method li {
    margin: 0 !important;
    padding: 0 !important;
    text-align: right;
}

.becht-tournee-checkout-flow #shipping_method label {
    margin: 0;
    font-weight: 400;
}

.becht-tournee-checkout-flow #payment ul.payment_methods {
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
}

.becht-tournee-checkout-flow #payment ul.payment_methods > li {
    margin: 0 0 var(--becht-sp-2) !important;
    padding: 0 !important;
}

.becht-tournee-checkout-flow #payment .place-order {
    margin: var(--becht-sp-4) 0 0 !important;
    padding: 0 !important;
}

.becht-tournee-checkout-flow .woocommerce-checkout-payment {
    margin: var(--becht-sp-2) 0 0;
    padding: var(--becht-sp-4);
    border: 1px solid var(--becht-line);
    background: var(--becht-sand);
}

.becht-tournee-checkout-flow .woocommerce-checkout-payment .payment_box {
    margin: var(--becht-sp-3) 0;
    padding: var(--becht-sp-3) var(--becht-sp-4);
    background: #fff;
    color: var(--becht-brown-soft);
    font-size: var(--becht-fs-sm);
}

/* Le lien de retour est une action secondaire (contour). */
.becht-tournee-checkout-flow > p .button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-height: 44px !important;
    margin: var(--becht-sp-4) 0 0 !important;
    padding: 0 var(--becht-sp-4) !important;
    border: 1px solid var(--becht-brown) !important;
    background: transparent !important;
    color: var(--becht-brown) !important;
    font-size: var(--becht-fs-xs) !important;
    font-weight: 700 !important;
    letter-spacing: .05em !important;
    line-height: 1 !important;
    text-decoration: none !important;
    text-transform: uppercase;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}

.becht-tournee-checkout-flow > p .button::before {
    margin-right: var(--becht-sp-2);
    content: '←';
    font-size: var(--becht-fs-md);
    font-weight: 400;
}

.becht-tournee-checkout-flow > p .button:hover {
    background: var(--becht-brown) !important;
    color: #fff !important;
    box-shadow: none;
    transform: translateX( -2px );
}

/* --- Bandeau « Boutique / Tournée » (boutique, panier, caisse) ----------- */

.becht-parcours {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--becht-sp-2) var(--becht-sp-4);
    margin: 0 0 var(--becht-sp-5);
    padding: var(--becht-sp-3) var(--becht-sp-4);
    border-left: 4px solid var(--becht-gold);
    background: var(--becht-sand);
    color: var(--becht-brown-soft);
    font-size: var(--becht-fs-sm);
    line-height: 1.5;
}

.becht-parcours strong {
    color: var(--becht-brown);
    font-size: var(--becht-fs-md);
}

.becht-parcours span {
    flex: 1 1 260px;
}

.becht-parcours a {
    color: var(--becht-orange-dark);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.becht-parcours-tournee {
    border-left-color: var(--becht-green);
    background: var(--becht-green-bg);
}

.becht-parcours-tournee strong {
    color: var(--becht-green);
}

/* --- Mobile -------------------------------------------------------------- */

@media (max-width: 782px) {
    .becht-tournee-entete-table,
    .becht-tournee-ligne {
        grid-template-columns: minmax( 0, 1fr ) 110px 170px;
        gap: var(--becht-sp-3);
    }
}

@media (max-width: 600px) {
    .becht-tournee-livraison {
        padding: var(--becht-sp-4);
    }

    .becht-tournee-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: var(--becht-sp-1);
    }

    .becht-tournee-meta h2 {
        font-size: 1.3rem;
    }

    .becht-tournee-meta p {
        white-space: normal;
    }

    .becht-parcours {
        align-items: flex-start;
        flex-direction: column;
        gap: var(--becht-sp-1);
    }

    .becht-tournee-steps {
        grid-template-columns: 1fr;
        gap: var(--becht-sp-1);
        margin-bottom: var(--becht-sp-4);
    }

    .becht-tournee-ville-form select,
    .becht-tournee-ville-form .button {
        flex: 1 1 100%;
        width: 100%;
    }

    .becht-tournee-entete-table {
        display: none;
    }

    /* Chaque vin devient une petite carte : nom, puis prix et ajout côte à côte. */
    .becht-tournee-ligne {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "nom nom"
            "prix action";
        gap: var(--becht-sp-2) var(--becht-sp-3);
        padding: var(--becht-sp-3) var(--becht-sp-4);
    }

    .becht-tournee-produit {
        grid-area: nom;
    }

    .becht-tournee-ligne > .becht-tournee-cellule:nth-child(2) {
        grid-area: prix;
    }

    .becht-tournee-action {
        grid-area: action;
        text-align: right;
    }

    .becht-tournee-checkout-flow form.checkout {
        padding: var(--becht-sp-4);
    }

    .becht-tournee-checkout-flow #customer_details,
    .becht-tournee-checkout-flow #order_review_heading,
    .becht-tournee-checkout-flow #order_review {
        display: block;
        width: 100%;
    }

    .becht-tournee-livraison.becht-tournee-cart-embedded,
    .becht-tournee-cart-embedded {
        padding: var(--becht-sp-3);
    }

    .becht-tournee-cart-embedded .cart_totals {
        width: 100% !important;
    }
}

/* ==========================================================================
 * Ergonomie de l'étape 2 — même langage que les filtres des recettes et de
 * la boutique : recherche de 50 px, catégories carrées, vert quand actif.
 * ========================================================================== */

[data-becht-tournee-outils][hidden],
.becht-tournee-ligne[hidden],
.becht-tournee-vide[hidden] {
    display: none !important;
}

/* En-tête de tableau : vert olive plutôt que doré (contraste suffisant). */
.becht-tournee-entete-table {
    color: var(--becht-sage);
}

/* --- Barre d'outils ------------------------------------------------------- */

.becht-tournee-outils {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--becht-sp-3);
    margin: 0 0 var(--becht-sp-4);
}

.becht-tournee-recherche {
    position: relative;
    flex: 1 1 100%;
}

.becht-tournee-recherche svg {
    position: absolute;
    top: 50%;
    left: 14px;
    color: var(--becht-sage);
    transform: translateY( -50% );
    pointer-events: none;
}

.becht-tournee-recherche input[type="search"] {
    box-sizing: border-box;
    width: 100%;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 8px 12px 8px 42px !important;
    border: 1px solid rgb( 57 37 21 / 22% ) !important;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--becht-brown) !important;
    font-family: inherit !important;
    font-size: var(--becht-fs-md) !important;
    -webkit-appearance: none;
    appearance: none;
}

.becht-tournee-recherche input[type="search"]::placeholder {
    color: #6e6a5e;
    opacity: 1;
}

.becht-tournee-categories {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    gap: var(--becht-sp-2);
}

.becht-tournee-chip {
    display: inline-flex !important;
    align-items: center;
    min-height: 38px;
    margin: 0 !important;
    padding: 6px 14px !important;
    border: 1px solid rgb( 57 37 21 / 18% ) !important;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--becht-brown) !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}

.becht-tournee-chip:hover {
    border-color: #e2a051 !important;
}

.becht-tournee-chip.is-active {
    border-color: var(--becht-green) !important;
    background: var(--becht-green) !important;
    color: #fff !important;
}

.becht-tournee-compteur {
    margin: 0 0 0 auto !important;
    color: var(--becht-sage);
    font-size: 15px;
    white-space: nowrap;
}

.becht-tournee-compteur strong {
    color: var(--becht-brown);
    font-size: 18px;
}

.becht-tournee-vide {
    margin: 0 !important;
    padding: var(--becht-sp-5) var(--becht-sp-4) !important;
    color: var(--becht-muted);
    font-size: 15px;
    text-align: center;
}

.becht-tournee-vide button {
    margin: 0 0 0 var(--becht-sp-1);
    padding: 0;
    border: 0;
    background: none;
    color: var(--becht-orange);
    font: inherit;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
}

/* --- Lignes un peu plus compactes ---------------------------------------- */

.becht-tournee-ligne {
    min-height: 56px;
    padding-top: 6px;
    padding-bottom: 6px;
}

.becht-tournee-produit {
    font-size: 15px;
    font-weight: 600;
}

.becht-tournee-prix {
    font-size: var(--becht-fs-md);
}

/* Le thème colore les champs en vert pâle : quantité lisible en brun. */
.becht-tournee-quantite {
    border-color: rgb( 57 37 21 / 22% ) !important;
    color: var(--becht-brown) !important;
}

/* --- Rappel de la sélection, toujours visible en bas d'écran ------------- */

.becht-tournee-resume {
    position: sticky;
    bottom: 12px;
    z-index: 20;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--becht-sp-2) var(--becht-sp-4);
    margin: var(--becht-sp-4) 0 0;
    padding: var(--becht-sp-3) var(--becht-sp-4);
    border: 1px solid var(--becht-green);
    background: #fff;
    box-shadow: 0 8px 24px rgb( 57 37 21 / 14% );
    color: var(--becht-brown);
    font-size: 15px;
    text-decoration: none !important;
}

.becht-tournee-resume-total strong {
    color: var(--becht-brown);
}

.becht-tournee-resume-etat {
    color: var(--becht-orange);
    font-weight: 600;
}

.becht-tournee-resume.is-complete .becht-tournee-resume-etat {
    color: var(--becht-sage);
}

.becht-tournee-resume-cta {
    margin-left: auto;
    padding: 10px 16px;
    background: var(--becht-green);
    color: #fff;
    font-size: var(--becht-fs-sm);
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.becht-tournee-resume:hover .becht-tournee-resume-cta {
    background: var(--becht-sage);
}

.becht-tournee-cart-embedded {
    scroll-margin-top: 120px;
}

/* Marges latérales du thème réduites sur tablette et téléphone (comme les recettes). */
@media (max-width: 1024px) {
    #main:has(.becht-tournee-livraison) {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

@media (max-width: 600px) {
    .becht-tournee-categories {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin: 0 calc( -1 * var(--becht-sp-4) );
        padding: 2px var(--becht-sp-4) 4px;
        scrollbar-width: none;
    }

    .becht-tournee-categories::-webkit-scrollbar {
        display: none;
    }

    .becht-tournee-chip {
        flex: none;
        white-space: nowrap;
    }

    .becht-tournee-compteur {
        margin-left: 0 !important;
    }

    /* Étapes sur une seule ligne : seul l'intitulé de l'étape en cours reste visible. */
    .becht-tournee-steps {
        display: flex;
        grid-template-columns: none;
        gap: var(--becht-sp-1);
    }

    .becht-tournee-step {
        flex: 0 0 auto;
    }

    .becht-tournee-step.is-current {
        flex: 1 1 auto;
    }

    .becht-tournee-step:not(.is-current) > span:last-child {
        position: absolute !important;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect( 0 0 0 0 );
        white-space: nowrap;
    }

    .becht-tournee-ligne {
        padding-top: var(--becht-sp-2);
        padding-bottom: var(--becht-sp-2);
    }

    .becht-tournee-resume {
        bottom: 8px;
        padding: var(--becht-sp-2) var(--becht-sp-3);
        font-size: 14px;
    }

    .becht-tournee-resume-label {
        position: absolute !important;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect( 0 0 0 0 );
        white-space: nowrap;
    }

    /* Pas de double cadre sur téléphone : la liste prend toute la largeur. */
    .becht-tournee-livraison {
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .becht-tournee-categories {
        margin: 0 -16px;
        padding: 2px 16px 4px;
    }

    .becht-tournee-resume-etat {
        flex: 1 1 100%;
        order: 3;
        font-size: 13px;
    }

    .becht-tournee-resume-cta {
        padding: 8px 12px;
    }
}

/* ==========================================================================
 * Harmonisation des polices et des boutons avec les recettes, la boutique
 * et « Mon compte » : Fredoka partout, boutons 14 px gras en majuscules,
 * libellés 13 px vert olive.
 * ========================================================================== */

/* Les boutons et champs n'héritent pas de la police du site (Arial sinon). */
.becht-tournee-livraison button,
.becht-tournee-livraison input,
.becht-tournee-livraison select,
.becht-tournee-livraison textarea,
.becht-tournee-livraison .button {
    font-family: inherit !important;
}

/* Tous les boutons d'action : même typographie. */
.becht-tournee-livraison .button,
.becht-tournee-livraison button[type="submit"],
.becht-tournee-resume-cta {
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

/* « Commander » reste l'action finale : un cran plus grand. */
.becht-tournee-checkout-flow #payment #place_order {
    font-size: 16px !important;
}

/* Hauteurs : 50 px pour les actions principales, 44 px pour les secondaires. */
.becht-tournee-ville-form select,
.becht-tournee-ville-form .button {
    min-height: 50px !important;
}

.becht-tournee-cart-embedded form > p .button,
.becht-tournee-checkout-flow > p .button,
.becht-tournee-resume-cta {
    min-height: 44px !important;
}

.becht-tournee-resume-cta {
    display: inline-flex;
    align-items: center;
}

/* Libellés et en-têtes : 13 px vert olive, sans majuscules espacées. */
.becht-tournee-ville-form label {
    color: var(--becht-sage) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.becht-tournee-entete-table,
.becht-tournee-cart-embedded .becht-tournee-cart-table thead th {
    color: var(--becht-sage) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* Prix tournée à côté du titre : vert olive lisible plutôt que doré. */
.becht-tournee-meta p {
    color: var(--becht-sage);
    font-weight: 600;
}

/* ==========================================================================
   Tournée livraison — compléments responsive
   ========================================================================== */

/* Textes longs (noms de vins, e-mails…) : jamais de débordement horizontal */
.becht-tournee-livraison {
    overflow-wrap: break-word;
}

/* --------------------------------------------------------------------------
   ≤ 1024 px — Étape 3 : la navigation Avada du checkout (colonne de 220 px)
   passe au-dessus du formulaire, en onglets horizontaux.
   Entre 800 et 1024 px, elle écrasait le formulaire (champs < 200 px).
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
    .becht-tournee-checkout-flow .woocommerce-checkout-nav {
        float: none;
        display: flex;
        gap: var(--becht-sp-5);
        width: 100%;
        margin: 0 0 var(--becht-sp-4);
        padding: 0;
        overflow-x: auto;
        border-bottom: 1px solid var(--becht-line);
        list-style: none;
        scrollbar-width: none;
    }

    .becht-tournee-checkout-flow .woocommerce-checkout-nav::-webkit-scrollbar {
        display: none;
    }

    .becht-tournee-checkout-flow .woocommerce-checkout-nav li {
        flex: 0 0 auto;
        margin: 0;
    }

    .becht-tournee-checkout-flow .woocommerce-checkout-nav li a {
        margin-bottom: -1px;
        padding: var(--becht-sp-3) 0;
        border-bottom: 2px solid transparent;
        white-space: nowrap;
    }

    .becht-tournee-checkout-flow .woocommerce-checkout-nav li.is-active a {
        border-bottom-color: var(--becht-orange);
    }

    .becht-tournee-checkout-flow .avada-checkout {
        float: none;
        width: auto;
        margin-left: 0;
    }

    /* Bandeau Avada « Bonjour … / Voir le panier » : retour à la ligne */
    .becht-tournee-checkout-flow .avada-myaccount-user {
        flex-wrap: wrap;
        gap: 0 var(--becht-sp-4);
        font-size: var(--becht-fs-sm);
    }

    .becht-tournee-checkout-flow .avada-myaccount-user-column {
        min-width: 0;
    }
}

/* --------------------------------------------------------------------------
   ≤ 782 px — Étape 3 : suppression du double encadré (boîte Avada + formulaire)
   qui faisait perdre ~90 px de largeur utile aux champs.
   -------------------------------------------------------------------------- */
@media (max-width: 782px) {
    .becht-tournee-checkout-flow .avada-checkout {
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
    }
}

/* --------------------------------------------------------------------------
   ≤ 600 px — mobile
   -------------------------------------------------------------------------- */
@media (max-width: 600px) {
    /* Onglets Avada du checkout : les 3 visibles d'un coup, sur 3 colonnes */
    .becht-tournee-checkout-flow .woocommerce-checkout-nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--becht-sp-2);
        overflow: visible;
    }

    .becht-tournee-checkout-flow .woocommerce-checkout-nav li a {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        padding: var(--becht-sp-2) var(--becht-sp-1);
        font-size: var(--becht-fs-sm);
        line-height: 1.25;
        text-align: center;
        white-space: normal;
    }

    /* Encadré « Commande tournée de livraison » : en colonne, la base de 260 px
       du <span> devenait une HAUTEUR de 260 px (grand vide sous le texte). */
    .becht-parcours span {
        flex: 0 1 auto;
    }

    /* Panier de tournée (étape 2) : le tableau 5 colonnes devient une carte */
    .becht-tournee-cart-embedded .becht-tournee-cart-table,
    .becht-tournee-cart-embedded .becht-tournee-cart-table tbody {
        display: block;
        width: 100%;
    }

    .becht-tournee-cart-embedded .becht-tournee-cart-table thead {
        display: none;
    }

    .becht-tournee-cart-embedded .becht-tournee-cart-table tbody tr {
        display: grid;
        grid-template-columns: auto auto 1fr;
        grid-template-areas:
            "nom    nom  retirer"
            "prix   qte  total";
        align-items: end;
        gap: var(--becht-sp-2) var(--becht-sp-4);
        padding: var(--becht-sp-3);
        border-bottom: 1px solid var(--becht-line);
    }

    .becht-tournee-cart-embedded .becht-tournee-cart-table tbody tr:last-child {
        border-bottom: 0;
    }

    .becht-tournee-cart-embedded .becht-tournee-cart-table tbody td {
        display: block;
        padding: 0 !important;
        border: 0 !important;
        text-align: left;
    }

    .becht-tournee-cart-embedded .becht-tournee-cart-table tbody td::before {
        display: none;
    }

    .becht-tournee-cart-embedded .becht-tournee-cart-table tbody td:nth-child(1) {
        grid-area: nom;
        align-self: center;
        color: var(--becht-brown);
        font-weight: 700;
    }

    .becht-tournee-cart-embedded .becht-tournee-cart-table tbody td:nth-child(2) {
        grid-area: prix;
    }

    .becht-tournee-cart-embedded .becht-tournee-cart-table tbody td:nth-child(3) {
        grid-area: qte;
    }

    .becht-tournee-cart-embedded .becht-tournee-cart-table tbody td:nth-child(4) {
        grid-area: total;
        font-weight: 700;
        text-align: right;
    }

    .becht-tournee-cart-embedded .becht-tournee-cart-table tbody td:nth-child(5) {
        grid-area: retirer;
        align-self: start;
        text-align: right;
    }

    .becht-tournee-cart-embedded .becht-tournee-cart-table tbody td:nth-child(2)::before,
    .becht-tournee-cart-embedded .becht-tournee-cart-table tbody td:nth-child(3)::before,
    .becht-tournee-cart-embedded .becht-tournee-cart-table tbody td:nth-child(4)::before {
        display: block;
        float: none;
        margin-bottom: 2px;
        content: attr(data-title);
        color: var(--becht-sage);
        font-size: 13px;
        font-weight: 500;
        line-height: 1.2;
    }

    .becht-tournee-cart-embedded .becht-tournee-cart-table input[type="number"] {
        width: 72px;
        color: var(--becht-brown);
    }

    .becht-tournee-cart-embedded form > p .button {
        width: 100%;
    }

    /* Étape 3 : récapitulatif de commande plus compact */
    .becht-tournee-checkout-flow .fusion-product-name-wrapper {
        gap: var(--becht-sp-3);
    }

    .becht-tournee-checkout-flow .woocommerce-checkout-review-order-table .product-thumbnail {
        flex-basis: 36px;
        width: 36px;
    }

    .becht-tournee-checkout-flow .woocommerce-checkout-review-order-table .product-thumbnail img {
        width: 36px !important;
        height: 60px !important;
    }

    .becht-tournee-checkout-flow .woocommerce-checkout-payment {
        padding: var(--becht-sp-3);
    }
}

/* --------------------------------------------------------------------------
   ≤ 480 px — Prénom / Nom l'un sous l'autre
   -------------------------------------------------------------------------- */
@media (max-width: 480px) {
    .becht-tournee-checkout-flow form.checkout .form-row-first,
    .becht-tournee-checkout-flow form.checkout .form-row-last,
    .becht-tournee-checkout-flow form.checkout #billing_first_name_field,
    .becht-tournee-checkout-flow form.checkout #billing_last_name_field,
    .becht-tournee-checkout-flow form.checkout #shipping_first_name_field,
    .becht-tournee-checkout-flow form.checkout #shipping_last_name_field {
        float: none;
        width: 100%;
    }
}

/* --------------------------------------------------------------------------
   ≤ 400 px — petits téléphones (iPhone SE, Galaxy A…) : lignes produit
   -------------------------------------------------------------------------- */
@media (max-width: 400px) {
    .becht-tournee-ligne {
        gap: var(--becht-sp-2);
        padding-right: var(--becht-sp-3);
        padding-left: var(--becht-sp-3);
    }

    .becht-tournee-ajout {
        gap: var(--becht-sp-1);
    }

    .becht-tournee-quantite {
        width: 52px;
    }

    .becht-tournee-produits .button {
        padding: 0 var(--becht-sp-3) !important;
    }
}


/* ==========================================================
   Encadré d'introduction de la page Tournée livraison
   (même style que l'intro de la page Gourmandises)
   ========================================================== */
.becht-tournee-intro{
  margin:8px auto 30px;
  color:var(--awb-color5);
  font-size:18px;
  line-height:1.7;
  border:1px solid #dda15e;
  padding:25px 30px;
  background:transparent;
}
.becht-tournee-intro p{margin:0 0 12px;}
.becht-tournee-intro p:last-child{margin-bottom:0;}
.becht-tournee-intro a{color:var(--awb-color4);font-weight:600;text-underline-offset:3px;}
@media (max-width:600px){
  .becht-tournee-intro{margin-bottom:20px;padding:18px 20px;font-size:16px;text-align:left;}
}

/* --- Notices : alignées sur la largeur du site --------------------------
   Panier et caisse boutique sont des pages Avada en 100 % : sans cela,
   le bandeau « Commande boutique » et les messages WooCommerce prennent
   toute la largeur de l'écran. */
.post-content > .becht-parcours,
.post-content > .woocommerce-notices-wrapper,
.post-content > .woocommerce > .woocommerce-notices-wrapper,
.post-content > form.checkout > .woocommerce-NoticeGroup,
.post-content > form.checkout > .woocommerce-notices-wrapper {
    box-sizing: border-box;
    width: calc(100% - 60px);
    max-width: var(--site_width, 1140px);
    margin-left: auto;
    margin-right: auto;
}

/* --- Caisse boutique : couleurs alignées sur la palette Becht ------------
   (le parcours tournée a ses propres règles, sa caisse n'est pas ciblée ici) */
.post-content > form.checkout #order_comments {
    border-color: #283618 !important;
    color: #606c38 !important;
}
.post-content > form.checkout #order_comments::placeholder {
    color: rgba(96, 108, 56, .5) !important;
}
.post-content > form.checkout #payment ul.payment_methods,
.post-content > form.checkout #payment ul.payment_methods li,
.post-content > form.checkout #payment .payment_box,
.post-content > form.checkout #payment li label {
    background-color: #fefae0 !important;
}
.post-content > form.checkout #payment .payment_box::before {
    border-bottom-color: #fefae0 !important;
}
.post-content > form.checkout input[type="radio"] + label::before,
.post-content > form.checkout input[type="checkbox"] + span::before {
    border-color: #283618 !important;
}
.post-content > form.checkout input[type="radio"]:checked + label::after,
.post-content > form.checkout input[type="checkbox"]:checked + span::after {
    background-color: #283618 !important;
}
.post-content > form.checkout .woocommerce-checkout-review-order-table thead th {
    color: #362417 !important;
}

/* ==========================================================================
 * 2.9.0 — Parcours séparés boutique / tournée
 * Coins droits, boutons à contour, palette du domaine.
 * ========================================================================== */

/* Avertissement avant de vider le panier boutique ou une autre sélection. */
.becht-tournee-alerte {
    display: flex;
    flex-wrap: wrap;
    gap: var(--becht-sp-1) var(--becht-sp-4);
    margin: var(--becht-sp-4) 0;
    padding: var(--becht-sp-3) var(--becht-sp-4);
    border: 1px solid var(--becht-line-strong);
    border-left: 4px solid var(--becht-orange);
    background: #fff8f1;
    color: var(--becht-brown-soft);
    font-size: var(--becht-fs-sm);
    line-height: 1.5;
}

.becht-tournee-alerte strong {
    flex: 1 1 100%;
    color: var(--becht-orange-dark);
    font-size: var(--becht-fs-md);
}

.becht-tournee-alerte a,
.becht-tournee-encours a {
    color: var(--becht-orange-dark);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.becht-tournee-livraison .becht-tournee-encours {
    margin: var(--becht-sp-4) 0;
}

.becht-tournee-info-ville {
    color: var(--becht-green) !important;
}

/* Étapes déjà franchies : cliquables pour revenir en arrière. */
.becht-tournee-step a {
    display: inline-flex;
    align-items: center;
    gap: var(--becht-sp-2);
    color: inherit;
    text-decoration: none;
}

.becht-tournee-step a:hover span:last-child,
.becht-tournee-step a:focus-visible span:last-child {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Liste des vins : quantité déjà choisie et vins épuisés. */
.becht-tournee-dans-selection {
    display: block;
    margin-top: var(--becht-sp-1);
    color: var(--becht-sage);
    font-size: var(--becht-fs-xs);
    font-weight: 700;
}

.becht-tournee-dans-selection[hidden] {
    display: none;
}

.becht-tournee-epuise {
    display: inline-block;
    padding: 6px 12px;
    border: 1px dashed var(--becht-line-strong);
    color: var(--becht-muted);
    font-size: var(--becht-fs-sm);
}

.becht-tournee-ajout.is-busy,
.becht-tournee-cart-embedded form.is-busy {
    opacity: .6;
    pointer-events: none;
}

.becht-tournee-ajout .button.is-done {
    border-color: var(--becht-sage) !important;
    background: var(--becht-green-bg) !important;
    color: var(--becht-green) !important;
}

/* Récapitulatif : retirer un vin, vider la sélection. */
/* #main : le CSS personnalisé du thème remplit tous les boutons de la tournée. */
#main .becht-tournee-livraison button.becht-tournee-retirer,
.becht-tournee-cart-embedded .becht-tournee-retirer {
    width: 34px !important;
    min-width: 0 !important;
    height: 34px !important;
    padding: 0 !important;
    border: 1px solid var(--becht-line-strong) !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--becht-brown-soft) !important;
    font-size: 20px !important;
    line-height: 1 !important;
    cursor: pointer;
}

#main .becht-tournee-livraison button.becht-tournee-retirer:hover,
#main .becht-tournee-livraison button.becht-tournee-retirer:focus-visible,
.becht-tournee-cart-embedded .becht-tournee-retirer:hover,
.becht-tournee-cart-embedded .becht-tournee-retirer:focus-visible {
    border-color: var(--becht-orange-dark) !important;
    color: var(--becht-orange-dark) !important;
}

.becht-tournee-cart-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--becht-sp-2);
}

/* Action secondaire : bouton à contour, jamais plein. */
#main .becht-tournee-livraison button.becht-tournee-vider,
.becht-tournee-cart-embedded form > p .button.becht-tournee-vider {
    border: 2px solid var(--becht-green) !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--becht-green) !important;
}

#main .becht-tournee-livraison button.becht-tournee-vider:hover,
#main .becht-tournee-livraison button.becht-tournee-vider:focus-visible,
.becht-tournee-cart-embedded form > p .button.becht-tournee-vider:hover,
.becht-tournee-cart-embedded form > p .button.becht-tournee-vider:focus-visible {
    background: var(--becht-green-bg) !important;
}

.becht-tournee-cart-embedded .becht-tournee-livraison-offerte td {
    color: var(--becht-sage);
    font-weight: 600;
}

/* Avec JavaScript, les quantités se mettent à jour d'elles-mêmes. */
.has-live-cart [data-becht-update] {
    display: none !important;
}

/* Messages après un ajout sans rechargement. */
.becht-tournee-toast {
    position: fixed;
    left: 50%;
    bottom: 96px;
    z-index: 99990;
    display: none;
    width: min( 560px, calc( 100% - 32px ) );
    padding: var(--becht-sp-3) 44px var(--becht-sp-3) var(--becht-sp-4);
    border: 1px solid var(--becht-green);
    background: #fff;
    box-shadow: 0 10px 30px rgb( 57 37 21 / 18% );
    color: var(--becht-brown);
    font-size: var(--becht-fs-sm);
    transform: translateX( -50% );
}

.becht-tournee-toast.is-visible {
    display: block;
}

.becht-tournee-toast-item {
    margin: 0 !important;
    padding: 2px 0 !important;
}

.becht-tournee-toast-item.is-success::before {
    content: '✓ ';
    color: var(--becht-sage);
    font-weight: 700;
}

.becht-tournee-toast-item.is-error {
    color: var(--becht-orange-dark);
    font-weight: 600;
}

.becht-tournee-toast-close {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--becht-muted);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

/* Rappel « Commande tournée en cours », sur toutes les autres pages du site. */
.becht-parcours-bar {
    position: fixed;
    left: 16px;
    bottom: 16px;
    z-index: 99980;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--becht-sp-1) var(--becht-sp-3);
    max-width: calc( 100% - 32px );
    padding: var(--becht-sp-2) var(--becht-sp-3);
    border: 1px solid var(--becht-green);
    border-left-width: 4px;
    background: #fff;
    box-shadow: 0 8px 24px rgb( 57 37 21 / 14% );
    color: var(--becht-brown-soft);
    font-size: var(--becht-fs-sm);
    line-height: 1.4;
}

.becht-parcours-bar strong {
    color: var(--becht-green);
}

.becht-parcours-bar a {
    padding: 6px 12px;
    border: 1px solid var(--becht-green);
    color: var(--becht-green);
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.becht-parcours-bar a:hover,
.becht-parcours-bar a:focus-visible {
    background: var(--becht-green);
    color: #fff;
}

@media (max-width: 600px) {
    .becht-parcours-bar {
        left: 0;
        right: 0;
        bottom: 0;
        max-width: none;
        border-width: 1px 0 0;
    }

    .becht-parcours-bar a {
        margin-left: auto;
    }

    .becht-tournee-toast {
        bottom: 84px;
    }
}

@media print {
    .becht-parcours-bar,
    .becht-tournee-toast {
        display: none !important;
    }
}

/* Le récapitulatif reçoit le focus après une mise à jour (lecteurs d'écran) : pas de cadre visible. */
.becht-tournee-cart-embedded[data-becht-tour-recap]:focus {
    outline: none;
}
