/* Mobile reading and keyboard order: identity, gallery, native purchase, facts, reassurance. */
@media (max-width: 767.98px) {
  body#product #main.vvp-accessory-product .vvp-accessory-overview { grid-template-areas: "header" "media" "buy" "info" "reassurance"; }
  body#product #main.vvp-accessory-product .vvp-accessory-overview:not(:has(> .product-col-info)) { grid-template-areas: "header" "media" "buy" "reassurance"; }
  body#product #main.vvp-accessory-product .vvp-accessory-overview > .vvp-purchase-slot,
  body#product #main.vvp-accessory-product .vvp-accessory-overview:not(:has([data-purchase-reassurance])) > .vvp-purchase-slot { width: 100%; margin-top: 0; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock { border-radius: 0; }
  body#product #main.vvp-accessory-product .vvp-accessory-overview > .product-col-info { margin-top: 20px; }
  body#product #main.vvp-accessory-product [data-purchase-slot],
  body#product #main.vvp-accessory-product [data-purchase-slot] :is(input, select, textarea, button, [data-variant-picker-toggle]) { scroll-margin-top: 104px; scroll-margin-bottom: 100px; }

  /* Inline form only: model/quantity together, native submit below. Dialogs
     and docked states retain their existing form layout and event bindings. */
  body#product #main.vvp-accessory-product:not([data-skrupt-design-mode="compact"]) .vvp-purchase-dock:not(.is-docked):not(.is-in-mobile-sheet):has(.product-quantity > .qty) #add-to-cart-or-refresh {
    grid-template-columns: minmax(0,1fr) 108px; grid-template-areas: "price price" "variants quantity" "action action" "additional additional"; gap: 16px;
  }
  body#product #main.vvp-accessory-product:not([data-skrupt-design-mode="compact"]) .vvp-purchase-dock:not(.is-docked):not(.is-in-mobile-sheet):has(.product-quantity > .qty) #add-to-cart-or-refresh:not(:has(.product-variants-item)) { grid-template-areas: "price quantity" "action action" "additional additional"; }
  body#product #main.vvp-accessory-product:not([data-skrupt-design-mode="compact"]) .vvp-purchase-dock:not(.is-docked):not(.is-in-mobile-sheet):has(.product-quantity > .qty) :is(.product-add-to-cart,.product-quantity) { display: contents; }
  body#product #main.vvp-accessory-product:not([data-skrupt-design-mode="compact"]) .vvp-purchase-dock:not(.is-docked):not(.is-in-mobile-sheet):has(.product-quantity > .qty) .product-add-to-cart > .control-label { grid-area: quantity; align-self: start; }
  body#product #main.vvp-accessory-product:not([data-skrupt-design-mode="compact"]) .vvp-purchase-dock:not(.is-docked):not(.is-in-mobile-sheet):has(.product-quantity > .qty) .product-quantity > .qty { grid-area: quantity; align-self: start; margin-top: 30px; }
  body#product #main.vvp-accessory-product:not([data-skrupt-design-mode="compact"]) .vvp-purchase-dock:not(.is-docked):not(.is-in-mobile-sheet):has(.product-quantity > .qty) .qty > .bootstrap-touchspin { width: 100%; }
  body#product #main.vvp-accessory-product:not([data-skrupt-design-mode="compact"]) .vvp-purchase-dock:not(.is-docked):not(.is-in-mobile-sheet):has(.product-quantity > .qty) .product-quantity > .add { grid-area: action; }
  body#product #main.vvp-accessory-product:not([data-skrupt-design-mode="compact"]) .vvp-purchase-dock:not(.is-docked):not(.is-in-mobile-sheet):has(.product-quantity > .qty) .product-add-to-cart > :is(#product-availability,.product-minimal-quantity) { grid-column: 1/-1; }
  body#product #main.vvp-accessory-product:not([data-skrupt-design-mode="compact"]) .vvp-purchase-dock:not(.is-docked):not(.is-in-mobile-sheet):has(.product-quantity > .qty) .product-add-to-cart > :is(#product-availability,.product-minimal-quantity):empty { display: none; }
  body#product #main.vvp-accessory-product:not([data-skrupt-design-mode="compact"]) .vvp-purchase-dock:not(.is-docked):not(.is-in-mobile-sheet):has(.product-quantity > .qty) .add-to-cart .shopping-cart { display: inline-block; }

  /* Floating tools share the same measured clearance; no overlap with the purchase action. */
  body#product:has(#main.has-mobile-purchase) :is(.vapochat-launcher, #skrupt-consent-widget) { bottom: calc(var(--vvp-product-dock-height, 78px) + 24px + env(safe-area-inset-bottom)) !important; }
  body#product:has(#main.has-mobile-purchase) .vapochat-launcher,
  body#product:has(#main.has-mobile-purchase) #skrupt-consent-widget { width: 44px !important; min-width: 44px !important; max-width: 44px !important; height: 44px !important; min-height: 44px !important; padding: 0 !important; border-radius: 50% !important; gap: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: none !important; }
  body#product:has(#main.has-mobile-purchase) .vapochat-launcher { right: 0 !important; left: auto !important; }
  body#product:has(#main.has-mobile-purchase) #skrupt-consent-widget { left: 0 !important; right: auto !important; }
  body#product:has(#main.has-mobile-purchase) :is(.vapochat-launcher__label, .skrupt-widget__copy, .skrupt-widget__chevron) { display: none !important; }
  html:has(body#product #main.has-mobile-purchase) { scroll-padding-bottom: calc(var(--vvp-product-dock-height, 78px) + 24px); }
  body#product:has(#main[data-purchase-dock-ready]) { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }

}
