/* ==========================================================================\n   CHECKOUT R4 — RESPONSIVE PRESENTATION ONLY (<= 991.98px)\n   R1 checkoutState and R2 API remain authoritative. R3 desktop stays frozen.\n   ========================================================================== */

.checkout-r4-only,
.checkout-r4-store-summary,
.checkout-r4-store-delete-label {
  display: none;
}

@media (max-width: 991.98px) {
  .checkout-container.checkout-r4-root {
    width: 100%;
    max-width: 100%;
    padding: 0 12px calc(112px + env(safe-area-inset-bottom));
    overflow-x: clip;
  }

  .checkout-r4-root.checkout-r4-empty {
    padding-bottom: 24px;
  }

  .checkout-r4-root .checkout-header {
    margin: 0 0 12px;
    padding: 22px 18px 18px;
    border-radius: 14px;
  }

  .checkout-r4-root .checkout-header > .d-flex {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center !important;
    gap: 12px;
  }

  .checkout-r4-root .checkout-header .section-title {
    min-width: 0;
    font-size: clamp(1.55rem, 6vw, 1.9rem);
    line-height: 1.1;
  }

  .checkout-r4-root .checkout-header .btn-toolbar {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin-left: 0;
  }

  .checkout-r4-root .checkout-header .btn-group > .btn {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
  }

  .checkout-r4-root .checkout-header .icon {
    width: 22px;
    height: 22px;
  }

  .checkout-r4-root .checkout-intro {
    margin-top: 14px;
    font-size: .9rem;
    line-height: 1.4;
  }

  /* R3 desktop additions remain isolated below the boundary. */
  .checkout-r4-root .checkout-global-summary,
  .checkout-r4-root .checkout-destructive-actions,
  .checkout-r4-root .checkout-store-header,
  .checkout-r4-root .checkout-product-column-headings,
  .checkout-r4-root .checkout-drag-handle,
  .checkout-r4-root .checkout-drop-feedback {
    display: none !important;
  }

  /* R4 deliberately adopts the structured status presentation below 992. */
  .checkout-r4-root .checkout-product-status {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 7px;
    margin-top: 7px;
  }

  .checkout-r4-root .checkout-product-status:empty {
    display: none !important;
  }

  .checkout-r4-root .checkout-status-label {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 750;
    line-height: 1.2;
  }

  .checkout-r4-root .checkout-status-detail {
    display: inline;
    min-width: 0;
    color: #6b6369;
    font-size: .72rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
  }

  .checkout-r4-root .checkout-product-status[data-status-kind="promo"] .checkout-status-label {
    color: #6c3352;
    background: #f4e8ef;
  }

  .checkout-r4-root .checkout-product-status[data-status-kind="comparison"] .checkout-status-label {
    color: #795a05;
    background: #fff5cf;
  }

  .checkout-r4-root .checkout-product-status[data-status-kind="unavailable"] .checkout-status-label {
    color: #5c555a;
    background: #eeeaec;
  }

  .checkout-r4-root .checkout-product-status[data-status-kind="information"] .checkout-status-label {
    color: #4f5963;
    background: #eef2f5;
  }

  .checkout-r4-root .warning-row {
    display: none !important;
  }

  /* Store card shell. */
  .checkout-r4-root .store-container {
    width: 100%;
    min-width: 0;
    margin: 0 0 14px;
    padding: 0;
    overflow: visible;
    border: 1px solid #e1dce0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 3px 14px rgba(34, 24, 31, .07);
  }

  .checkout-r4-root .store-container > .store-title {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 14px 14px 10px;
    border: 0;
    color: #2b1724;
    font-size: 1.05rem;
    font-weight: 760;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  .checkout-r4-root .store-title .logo-container {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid #e6e0e4;
    border-radius: 11px;
    background: #fff;
  }

  .checkout-r4-root .store-title .supermarket-logo {
    width: 100%;
    height: 100%;
    padding: 4px;
    object-fit: contain;
  }

  .checkout-r4-root .store-delete-dropdown {
    margin-left: auto;
    flex: 0 0 auto;
  }

  .checkout-r4-root .store-delete-dropdown > .btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px !important;
    border: 1px solid #ddc8ce;
    border-radius: 10px;
    color: #8b2135;
    background: #fff;
    text-decoration: none !important;
  }

  .checkout-r4-root .store-delete-dropdown .delete-icon-large {
    width: 20px;
    height: 20px;
    margin: 0;
  }

  .checkout-r4-root .checkout-r4-store-delete-label {
    display: inline;
    font-size: .78rem;
    font-weight: 700;
  }

  .checkout-r4-root .checkout-r4-store-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 9px;
    margin: 0 12px 12px;
    padding: 12px;
    border-radius: 12px;
    background: #f8f6f7;
  }

  .checkout-r4-root .checkout-r4-store-summary > div,
  .checkout-r4-root .checkout-r4-store-summary label {
    min-width: 0;
  }

  .checkout-r4-root .checkout-r4-store-summary-label {
    display: block;
    margin-bottom: 3px;
    color: #716970;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.2;
  }

  .checkout-r4-root .checkout-r4-store-summary-value {
    display: block;
    color: #2b1724;
    font-size: 1.02rem;
    font-weight: 780;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  .checkout-r4-root .checkout-r4-store-meta {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #736b71;
    font-size: .78rem;
  }

  .checkout-r4-root .checkout-r4-store-comparison {
    grid-column: 1 / -1;
  }

  .checkout-r4-root .checkout-r4-comparison-select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #cfc6cc;
    border-radius: 10px;
    color: #2b1724;
    background: #fff;
    font-size: .9rem;
    font-weight: 650;
  }

  .checkout-r4-root .checkout-r4-comparison-select:focus-visible,
  .checkout-r4-root .checkout-r4-sticky button:focus-visible,
  .checkout-r4-root .store-delete-dropdown > .btn:focus-visible,
  .checkout-r4-root .options-container .dropdown > .btn:focus-visible {
    outline: 3px solid #005fcc;
    outline-offset: 2px;
  }

  /* Legacy table becomes a semantic card host; R4 does not duplicate cart data. */
  .checkout-r4-root .store-container [data-role="store-table"] {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
    table-layout: auto;
    border-collapse: separate;
    border-spacing: 0;
  }

  .checkout-r4-root .store-container [data-role="store-table"] > thead,
  .checkout-r4-root .store-container [data-role="store-table"] > tfoot,
  .checkout-r4-root .store-container > .store-saving-footer {
    display: none !important;
  }

  .checkout-r4-root .store-container [data-role="store-items"] {
    display: block;
    width: 100%;
    min-width: 0;
    padding: 0 10px 12px;
  }

  .checkout-r4-root .store-container [data-role="product-item"] {
    display: grid;
    min-width: 0;
    margin: 0 0 10px;
    padding: 12px;
    border: 1px solid #e8e3e6;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 1px 6px rgba(34, 24, 31, .045);
  }

  .checkout-r4-root .store-container [data-role="product-item"] > td {
    display: block;
    min-width: 0;
    max-width: none;
    width: auto;
    height: auto;
    padding: 5px 7px;
    border: 0;
    border-radius: 0;
    background: transparent;
    text-align: left;
    white-space: normal;
    overflow: visible;
  }

  .checkout-r4-root .store-container [data-role="product-item"] > td::before {
    display: block;
    margin-bottom: 2px;
    color: #746c72;
    font-size: .67rem;
    font-weight: 720;
    line-height: 1.15;
    text-transform: uppercase;
    letter-spacing: .02em;
  }

  .checkout-r4-root .store-container [data-role="product-item"] .product-images::before,
  .checkout-r4-root .store-container [data-role="product-item"] .product-title::before,
  .checkout-r4-root .store-container [data-role="product-item"] .options-col::before {
    content: none;
  }

  .checkout-r4-root .store-container [data-role="product-item"] .price-store::before {
    content: "Prix actuel";
  }

  .checkout-r4-root .store-container [data-role="product-item"] .total-price::before {
    content: "Total ligne";
  }

  .checkout-r4-root .store-container [data-role="product-item"] .total-compare::before {
    content: "Référence";
  }

  .checkout-r4-root .store-container [data-role="product-item"] .savings::before {
    content: "Économie";
  }

  .checkout-r4-root .store-container [data-role="product-item"] .quantity-col::before {
    content: "Quantité";
  }

  .checkout-r4-root .product-image-link {
    display: block !important;
    width: 100%;
    height: 100%;
  }

  .checkout-r4-root .product-image {
    width: 64px;
    height: 64px;
    max-width: 100%;
    object-fit: contain;
    border-radius: 9px;
    background: #fff;
  }

  .checkout-r4-root .product-title {
    max-width: none !important;
    overflow-wrap: anywhere;
  }

  .checkout-r4-root .product-brand,
  .checkout-r4-root .product-name {
    display: block;
    overflow: visible;
    text-overflow: clip;
    -webkit-line-clamp: unset;
  }

  .checkout-r4-root .product-brand {
    font-size: .76rem;
  }

  .checkout-r4-root .product-name {
    margin-top: 2px;
    font-size: .9rem;
    font-weight: 650;
    line-height: 1.3;
  }

  .checkout-r4-root .price-store,
  .checkout-r4-root .total-compare {
    position: static;
    min-height: 0;
    max-width: none;
  }

  .checkout-r4-root .current-price-container,
  .checkout-r4-root .centered-price-container {
    position: static;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    transform: none;
  }

  .checkout-r4-root .price-old-container,
  .checkout-r4-root .promotion-info-container,
  .checkout-r4-root .total-compare-icon-container {
    position: static;
    transform: none;
    margin: 0;
    min-width: 0;
    max-width: 100%;
  }

  .checkout-r4-root .current-price {
    font-size: 1.08rem;
    font-weight: 780;
    line-height: 1.1;
  }

  .checkout-r4-root .total-price,
  .checkout-r4-root .total-compare-text,
  .checkout-r4-root .savings {
    font-size: .95rem;
    font-weight: 680;
    line-height: 1.2;
  }

  .checkout-r4-root .total-compare-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .checkout-r4-root .total-compare-store-icon {
    width: auto;
    max-width: 72px;
    height: 18px;
    object-fit: contain;
  }

  .checkout-r4-root .checkout-desktop-savings-value {
    display: none !important;
  }

  .checkout-r4-root .checkout-legacy-savings-value {
    display: inline;
    white-space: normal;
  }

  .checkout-r4-root .vertical-quantity {
    display: grid;
    grid-template-columns: 44px minmax(48px, 68px) 44px;
    align-items: center;
    justify-content: start;
    gap: 7px;
    max-width: none;
    margin: 0;
  }

  .checkout-r4-root .vertical-quantity button {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border-radius: 10px;
    font-size: 1.05rem;
    font-weight: 800;
  }

  .checkout-r4-root .vertical-quantity .cart-quantity-checkout {
    width: 100%;
    min-width: 48px;
    height: 44px;
    margin: 0;
    padding: 5px;
    border-radius: 10px;
    font-size: .95rem;
    font-weight: 680;
    text-align: center;
  }

  .checkout-r4-root .options-col {
    overflow: visible;
  }

  .checkout-r4-root .options-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    width: 100%;
    min-width: 0;
    overflow: visible;
  }

  .checkout-r4-root .options-container > .dropdown {
    min-width: 0;
    max-width: 100%;
  }

  .checkout-r4-root .options-container .dropdown > .btn {
    width: 100%;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 10px !important;
    border: 1px solid #ded7dc;
    border-radius: 10px;
    color: #4c454a;
    background: #fff;
    font-size: .8rem;
    font-weight: 700;
    text-decoration: none !important;
  }

  .checkout-r4-root .checkout-action-label {
    display: inline !important;
  }

  .checkout-r4-root .change-icon,
  .checkout-r4-root .delete-icon {
    width: 19px;
    height: 19px;
    object-fit: contain;
  }

  .checkout-r4-root .dialog-box {
    min-width: min(280px, calc(100vw - 24px)) !important;
    width: min(320px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    white-space: normal;
  }

  /* Sticky global summary: R1 structured state -> presentation only. */
  .checkout-r4-root .checkout-r4-sticky {
    position: fixed;
    left: max(10px, env(safe-area-inset-left));
    right: max(10px, env(safe-area-inset-right));
    bottom: max(10px, env(safe-area-inset-bottom));
    z-index: 1040;
    display: block;
    max-width: 720px;
    margin: 0 auto;
    border: 1px solid #d9d0d6;
    border-radius: 16px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 12px 32px rgba(34, 24, 31, .18);
    backdrop-filter: blur(8px);
  }

  .checkout-r4-root .checkout-r4-sticky[hidden] {
    display: none !important;
  }

  .checkout-r4-root .checkout-r4-sticky-toggle {
    width: 100%;
    min-height: 64px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 0;
    border-radius: 16px;
    color: #2b1724;
    background: transparent;
    text-align: left;
  }

  .checkout-r4-root .checkout-r4-sticky-metric {
    min-width: 0;
  }

  .checkout-r4-root .checkout-r4-sticky-label {
    display: block;
    color: #716970;
    font-size: .68rem;
    font-weight: 720;
    text-transform: uppercase;
    letter-spacing: .02em;
  }

  .checkout-r4-root .checkout-r4-sticky-value {
    display: block;
    margin-top: 1px;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.1;
    overflow-wrap: anywhere;
  }

  .checkout-r4-root .checkout-r4-sticky-chevron {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f3eef1;
    font-size: 1.15rem;
    font-weight: 800;
    transition: transform .18s ease;
  }

  .checkout-r4-root .checkout-r4-sticky-toggle[aria-expanded="true"] .checkout-r4-sticky-chevron {
    transform: rotate(180deg);
  }

  .checkout-r4-root .checkout-r4-sticky-panel {
    max-height: min(58vh, 480px);
    overflow-y: auto;
    padding: 0 12px 12px;
    border-top: 1px solid #ece7ea;
  }

  .checkout-r4-root .checkout-r4-sticky-panel[hidden] {
    display: none !important;
  }

  .checkout-r4-root .checkout-r4-sticky-panel h2 {
    margin: 12px 0 8px;
    color: #2b1724;
    font-size: 1rem;
    font-weight: 780;
  }

  .checkout-r4-root .checkout-r4-sticky-store-list {
    display: grid;
    gap: 6px;
    margin: 0 0 10px;
  }

  .checkout-r4-root .checkout-r4-sticky-store-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    align-items: baseline;
    padding: 7px 8px;
    border-radius: 9px;
    background: #f8f6f7;
    font-size: .78rem;
  }

  .checkout-r4-root .checkout-r4-sticky-store-name {
    min-width: 0;
    font-weight: 700;
    overflow-wrap: anywhere;
  }

  .checkout-r4-root .checkout-r4-sticky-store-total,
  .checkout-r4-root .checkout-r4-sticky-store-savings {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
  }

  .checkout-r4-root .checkout-r4-sticky-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .checkout-r4-root .checkout-r4-sticky-actions button {
    min-height: 44px;
    border-radius: 10px;
    font-size: .82rem;
    font-weight: 700;
  }

  .checkout-r4-root .checkout-r4-sticky-actions .checkout-r4-clear {
    grid-column: 1 / -1;
  }

  /* 768–991: tablet hybrid, not a stretched phone card. */
  @media (min-width: 768px) {
    .checkout-r4-root .checkout-r4-store-summary {
      grid-template-columns: minmax(0, 1.2fr) minmax(160px, .55fr) minmax(160px, .55fr);
      align-items: end;
    }

    .checkout-r4-root .checkout-r4-store-meta {
      grid-column: 1;
      grid-row: 1;
      align-self: center;
    }

    .checkout-r4-root .checkout-r4-store-total-block {
      grid-column: 2;
      grid-row: 1;
    }

    .checkout-r4-root .checkout-r4-store-savings-block {
      grid-column: 3;
      grid-row: 1;
    }

    .checkout-r4-root .checkout-r4-store-comparison {
      grid-column: 1 / -1;
      grid-row: 2;
    }

    .checkout-r4-root .store-container [data-role="product-item"] {
      grid-template-columns: 76px minmax(0, 1.2fr) minmax(116px, .55fr) minmax(116px, .55fr);
      grid-template-areas:
        "image title current total"
        "image title reference savings"
        "quantity quantity actions actions";
      column-gap: 12px;
      row-gap: 7px;
      align-items: center;
    }

    .checkout-r4-root .product-images { grid-area: image; }
    .checkout-r4-root .product-title { grid-area: title; }
    .checkout-r4-root .price-store { grid-area: current; }
    .checkout-r4-root .total-price { grid-area: total; }
    .checkout-r4-root .total-compare { grid-area: reference; }
    .checkout-r4-root .savings { grid-area: savings; }
    .checkout-r4-root .quantity-col { grid-area: quantity; }
    .checkout-r4-root .options-col { grid-area: actions; }

    .checkout-r4-root .options-container {
      max-width: 380px;
      margin-left: auto;
    }
  }

  /* 431–767: mobile standard, card-oriented with 2x2 financial block. */
  @media (min-width: 431px) and (max-width: 767.98px) {
    .checkout-r4-root .store-container [data-role="product-item"] {
      grid-template-columns: 72px minmax(0, 1fr) minmax(0, 1fr);
      grid-template-areas:
        "image title title"
        "current current total"
        "reference reference savings"
        "quantity quantity quantity"
        "actions actions actions";
      column-gap: 10px;
      row-gap: 5px;
      align-items: start;
    }

    .checkout-r4-root .product-images { grid-area: image; }
    .checkout-r4-root .product-title { grid-area: title; }
    .checkout-r4-root .price-store { grid-area: current; }
    .checkout-r4-root .total-price { grid-area: total; }
    .checkout-r4-root .total-compare { grid-area: reference; }
    .checkout-r4-root .savings { grid-area: savings; }
    .checkout-r4-root .quantity-col { grid-area: quantity; }
    .checkout-r4-root .options-col { grid-area: actions; }
  }

  /* 320–430: compact mobile. Critical values wrap; controls remain reachable. */
  @media (max-width: 430px) {
    .checkout-container.checkout-r4-root {
      padding-left: 8px;
      padding-right: 8px;
    }

    .checkout-r4-root .checkout-header {
      padding: 18px 13px 15px;
    }

    .checkout-r4-root .checkout-intro {
      display: none;
    }

    .checkout-r4-root .checkout-r4-store-summary {
      margin-inline: 9px;
      padding: 10px;
    }

    .checkout-r4-root .store-title .logo-container {
      width: 36px;
      height: 36px;
      flex-basis: 36px;
    }

    .checkout-r4-root .checkout-r4-store-delete-label {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

    .checkout-r4-root .store-delete-dropdown > .btn {
      min-width: 44px;
      width: 44px;
      padding-inline: 0 !important;
      justify-content: center;
    }

    .checkout-r4-root .store-container [data-role="store-items"] {
      padding-inline: 7px;
    }

    .checkout-r4-root .store-container [data-role="product-item"] {
      grid-template-columns: 62px minmax(0, 1fr) minmax(0, 1fr);
      grid-template-areas:
        "image title title"
        "current current total"
        "reference reference savings"
        "quantity quantity quantity"
        "actions actions actions";
      column-gap: 7px;
      row-gap: 4px;
      padding: 9px;
    }

    .checkout-r4-root .product-images { grid-area: image; }
    .checkout-r4-root .product-title { grid-area: title; }
    .checkout-r4-root .price-store { grid-area: current; }
    .checkout-r4-root .total-price { grid-area: total; }
    .checkout-r4-root .total-compare { grid-area: reference; }
    .checkout-r4-root .savings { grid-area: savings; }
    .checkout-r4-root .quantity-col { grid-area: quantity; }
    .checkout-r4-root .options-col { grid-area: actions; }

    .checkout-r4-root .product-image {
      width: 54px;
      height: 54px;
    }

    .checkout-r4-root .store-container [data-role="product-item"] > td {
      padding: 4px;
    }

    .checkout-r4-root .vertical-quantity {
      grid-template-columns: 44px minmax(44px, 62px) 44px;
      gap: 6px;
    }

    .checkout-r4-root .options-container {
      gap: 6px;
    }

    .checkout-r4-root .options-container .dropdown > .btn {
      padding-inline: 7px !important;
      font-size: .74rem;
    }

    .checkout-r4-root .checkout-r4-sticky {
      left: max(6px, env(safe-area-inset-left));
      right: max(6px, env(safe-area-inset-right));
      bottom: max(6px, env(safe-area-inset-bottom));
      border-radius: 14px;
    }

    .checkout-r4-root .checkout-r4-sticky-toggle {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 42px;
      min-height: 60px;
      padding: 7px 8px;
    }

    .checkout-r4-root .checkout-r4-sticky-value {
      font-size: .9rem;
    }

    .checkout-r4-root .checkout-r4-sticky-actions {
      grid-template-columns: 1fr;
    }

    .checkout-r4-root .checkout-r4-sticky-actions .checkout-r4-clear {
      grid-column: 1;
    }

    .checkout-r4-root .checkout-r4-sticky-store-row {
      grid-template-columns: minmax(0, 1fr) auto;
    }

    .checkout-r4-root .checkout-r4-sticky-store-savings {
      grid-column: 2;
    }
  }
}

@media (min-width: 992px) {
  .checkout-r4-only,
  .checkout-r4-store-summary,
  .checkout-r4-store-delete-label {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .checkout-r4-root .checkout-r4-sticky-chevron {
    transition: none !important;
  }
}

/* R4 HOTFIX3 — responsive confirmation-action touch targets only. */
@media (max-width: 991.98px) {
  .checkout-r4-root .dropdown-menu.dialog-box .confirm-delete-btn,
  .checkout-r4-root .dropdown-menu.dialog-box .confirm-delete-btn + .btn-secondary,
  .checkout-r4-root .store-delete-dropdown .confirm-store-delete-btn,
  .checkout-r4-root .store-delete-dropdown .confirm-store-delete-btn + .btn-secondary,
  #clearAllCartsModal .modal-footer #confirm-clear-all-carts,
  #clearAllCartsModal .modal-footer .btn-secondary[data-bs-dismiss="modal"] {
    min-width: 44px;
    min-height: 44px;
  }

  .checkout-r4-root .dropdown-menu.dialog-box .confirm-delete-btn,
  .checkout-r4-root .dropdown-menu.dialog-box .confirm-delete-btn + .btn-secondary,
  .checkout-r4-root .store-delete-dropdown .confirm-store-delete-btn,
  .checkout-r4-root .store-delete-dropdown .confirm-store-delete-btn + .btn-secondary {
    margin-inline: 4px !important;
  }

  /* Keep the store confirmation surface inside compact responsive viewports. */
  .checkout-r4-root .store-delete-dropdown .dialog-delete {
    position: absolute !important;
    inset: auto 0 auto auto !important;
    top: 100% !important;
    transform: none !important;
  }
}
