/*
 * KM Beauty — Mobile UX refinements
 * Couches de confort mobile : formulaires, panier, commande et configurateur.
 * Limité aux écrans de 768 px et moins ; aucune logique de commande modifiée.
 */
@media (max-width: 768px) {
  html { scroll-padding-top: 16px; }
  body { -webkit-text-size-adjust: 100%; }
  button, input[type="button"], input[type="submit"], input[type="reset"],
  .button, a.button, .woocommerce a.button, .woocommerce button.button,
  .woocommerce input.button {
    min-height: 44px;
    box-sizing: border-box;
  }
  input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]),
  select, textarea {
    max-width: 100%;
    box-sizing: border-box;
    font-size: 16px;
  }
  img, video, iframe { max-width: 100%; }
  .woocommerce-message, .woocommerce-error, .woocommerce-info {
    overflow-wrap: anywhere;
    margin-left: 0;
    margin-right: 0;
    padding: 14px 14px 14px 42px;
    line-height: 1.5;
  }
  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-checkout form.checkout { min-width: 0; }
  body.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button,
  body.woocommerce-checkout #place_order {
    width: 100%;
    min-height: 54px;
    white-space: normal;
    line-height: 1.35;
    padding: 14px 16px;
  }
  body.woocommerce-checkout .form-row {
    float: none;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  body.woocommerce-checkout .form-row input.input-text,
  body.woocommerce-checkout .form-row select,
  body.woocommerce-checkout .form-row textarea {
    width: 100%;
    min-height: 46px;
    padding: 11px 12px;
    border-radius: 10px;
  }
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout .woocommerce-checkout-payment {
    max-width: 100%;
    box-sizing: border-box;
    overflow-wrap: anywhere;
  }
  body.woocommerce-checkout #payment .payment_methods li label {
    line-height: 1.45;
  }
  .km-btn-final, .km-btn-add-cart,
  .km-guide-close-btn, .ebi-btn, .ebi-btn-primary, .ebi-button {
    min-height: 50px;
    line-height: 1.35;
    white-space: normal;
  }
  .km-length-btn, .km-cat-tab, .sm-cat-item,
  .km-menu-toggle, .km-promo-close {
    -webkit-tap-highlight-color: rgba(183,110,121,.18);
  }
  a:focus-visible, button:focus-visible, input:focus-visible,
  select:focus-visible, textarea:focus-visible {
    outline: 2px solid #8e4a54;
    outline-offset: 2px;
  }
}
@media (max-width: 380px) {
  body.woocommerce-cart main#main-content { padding-left: 10px !important; padding-right: 10px !important; }
  body.woocommerce-cart .cart-collaterals .cart_totals { padding: 18px 12px !important; }
  .km-builder-wrapper, .sm-builder-container { width: calc(100% - 16px) !important; padding: 12px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { scroll-behavior: auto !important; }
}
