/* ============================================================
   Page Mon compte — affichage lecture seule
   ============================================================ */
.woocommerce-account {
  .woocommerce {
    display: grid;
    grid-template-columns: 1fr 3fr;
    gap: 1em;

    &::before, &::after {
      content: none;
    }

    @media (width <= 84ch) {
      grid-template-columns: 1fr;
    }
  }

  .woocommerce-MyAccount-navigation {
    width: auto;
    float: none;

    ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }
  }
}

.cal-account-dashboard {
  max-width: 80ch;

  > * + *:not(.cal-welcome-logout) {
      margin-top: .75lh;
  }
}


.cal-notice {
    padding: 1rem 1.25rem;
    border-radius: 4px;
    border-left: 4px solid;
}

.cal-notice--info {
    background-color: #0e0e0e;
    color: #fafafa;
}

.cal-info-block {
    padding: 1.25rem 1.5rem;
    background-color: #fafafa;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
}

.cal-info-block h2 {
    margin-top: 0;
    font-size: 1.25em;
    color: #2c2c2c;
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 0.5rem;
}

.cal-info-block dl {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 0.5rem 1rem;
    margin: 0;
}

.cal-info-block dt {
    font-weight: 600;
    color: #555;

    @container (width <= 600px) {
        font-weight: 500;
    }
}

.cal-info-block dd {
    margin: 0;
}

.cal-info-block address {
    font-style: normal;
}

@media (width <= 600px) {
    .cal-info-block dl {
        grid-template-columns: 1fr;
        gap: 0.25rem;
    }

    .cal-info-block dt {
        margin-top: 0.5rem;
    }
}

/* ============================================================
   Checkout — champs verrouillés (utilisateurs connectés)
   Spécificité bumpée (body + form.checkout) pour battre la règle
   Divi `.woocommerce .preset--module--divi-woocommerce-checkout-billing--default
   form .form-row.woocommerce-validated .input-text` qui est en (0, 5, 1).
   Depuis Divi 5.14, les champs vivent dans un <div class="checkout"> et non plus
   dans le <form> : `:is(form, div)` couvre les deux, à spécificité égale.
   ============================================================ */
body .woocommerce-checkout {
    .cal-notice {
        margin-bottom: 1.5rem;
    }

    :is(form, div).checkout {
        .form-row {
            .input-text:read-only {
                background-color: #f4f4f4;
                color: #555;
                cursor: not-allowed;
                border-color: #d8d8d8;
            }

            :is(select:disabled, select:disabled + .select2-container .select2-selection) {
                background-color: #f4f4f4;
                color: #555;
                cursor: not-allowed;
                border-color: #d8d8d8;
            }
        }
    }

    .woocommerce-shipping-fields {
        > h3#ship-to-different-address {
            pointer-events: none;

            /* La case est pilotée par client-account-lock (état forcé) et cachée
               ci-dessous : personne ne peut la cocher à la main. Décochée, le titre
               « Expédier à une adresse différente ? » reste seul, sans case ni
               champs (WooCommerce replie .shipping_address en JS) — on le retire.
               Cochée, il coiffe le bloc de livraison en lecture seule et reste. */
            &:not(:has(input[type="checkbox"]:checked)) {
                display: none;
            }

            input[type="checkbox"] {
                display: none;
            }

            label {
                cursor: default;
                opacity: 0.7;
            }
        }
    }
}

/* ============================================================
   Caisse — centrer la facturation quand la livraison est vide
   Le Theme Builder pose la caisse sur une rangée Divi à deux colonnes :
   facturation à gauche, livraison à droite. Sans adresse de livraison
   distincte (le cas général depuis que client-account-lock recopie la
   facturation), la colonne de droite est vide mais garde sa moitié, et la
   facturation reste collée à gauche. On ne peut pas retirer la colonne dans
   Divi : un client avec une vraie adresse de livraison distincte doit la voir.
   Donc, conditionnel : colonne livraison sans case cochée ⇒ retirée du flux,
   et la colonne facturation garde sa largeur, centrée.
   Attention : `:has()` ne peut pas contenir un autre `:has()` (règle entière
   rejetée) — d'où le `:not(:has())` posé au niveau de la rangée.
   ============================================================ */
body.woocommerce-checkout .et_pb_row:has(> .et_pb_column > .et_pb_wc_checkout_shipping):not(:has(.et_pb_wc_checkout_shipping input[type="checkbox"]:checked)) {
    > .et_pb_column:has(> .et_pb_wc_checkout_shipping) {
        display: none;
    }

    > .et_pb_column:has(> .et_pb_wc_checkout_billing) {
        flex: 0 1 50%;
        margin-inline: auto;
    }
}
