/* Shared product presentation.
   Product data, native controls, hooks and AJAX fragment ownership stay in PrestaShop. */
body#product #main.vvp-accessory-product {
  --vvp-gallery-height: clamp(350px, 26vw, 390px);
  --vvp-accessory-panel-padding: 32px;
  --vvp-accessory-radius: 24px;
  --vvp-rail-width: 72px;
  --vvp-purchase-surface: #f1f3f7;
}
body#product #main.vvp-accessory-product .vvp-accessory-overview {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  grid-template-areas: "header media" "info media" "buy buy" "reassurance reassurance";
  grid-template-rows: auto 1fr auto auto;
  column-gap: clamp(32px, 3vw, 48px);
  row-gap: 0;
  align-items: start;
  width: 100%; max-width: none; margin: 0 0 28px;
  padding: 0;
  background: #fff; border: 0; border-radius: var(--vvp-accessory-radius); box-shadow: none;
}
body#product #main.vvp-accessory-product .vvp-accessory-overview > :not(dialog) { min-width: 0; width: auto; max-width: none; }
body#product #main.vvp-accessory-product .vvp-accessory-overview > .product-col-mobile-header { grid-area: header; align-self: start; padding: 0; margin: 0 0 32px; background: transparent; border-radius: 0; }
body#product #main.vvp-accessory-product .vvp-accessory-identity { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 0 0 22px; }
body#product #main.vvp-accessory-product .vvp-accessory-category { color: var(--vvp-ds-accentText, var(--vvp-color-accent)); font-size: 12px; font-weight: 600; line-height: 20px; }
body#product #main.vvp-accessory-product .product-brand { margin: 0; color: var(--vvp-ds-action, var(--vvp-color-action)); font-size: 12px; font-weight: 500; line-height: 20px; }
body#product #main.vvp-accessory-product .product-col-mobile-header .h1 { max-width: 18ch; margin: 0; color: var(--vvp-ds-ink, var(--vvp-color-ink)); font-size: clamp(34px, 3vw, 42px); font-weight: 560; line-height: 1.13; letter-spacing: -.035em; text-wrap: balance; overflow-wrap: anywhere; }
body#product #main.vvp-accessory-product .product-line { margin-top: 8px; font-size: 13px; line-height: 20px; }
body#product #main.vvp-accessory-product .product-col-mobile-header .avratings-link { margin: 16px 0 0; }
body#product #main.vvp-accessory-product .vvp-accessory-rating { display: inline-flex; align-items: center; flex-wrap: wrap; min-height: 32px; padding: 4px 0; color: var(--vvp-ds-action, var(--vvp-color-action)); text-decoration: none; font-size: 13px; line-height: 20px; }
body#product #main.vvp-accessory-product .vvp-accessory-rating > .avratings { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; }
body#product #main.vvp-accessory-product .vvp-accessory-rating :is(.av-rating, .av-count) { display: inline; font-size: 13px; line-height: 20px; }
body#product #main.vvp-accessory-product .vvp-accessory-rating .av-stars { display: inline-flex; align-items: center; gap: 1px; }
body#product #main.vvp-accessory-product .vvp-accessory-rating .material-icons { font-size: 16px; line-height: 20px; }
body#product #main.vvp-accessory-product .vvp-accessory-rating .av-star-icon { display: block; flex: 0 0 16px; width: 16px; height: 16px; }
body#product #main.vvp-accessory-product .vvp-accessory-rating .av-rating { font-weight: 500; }
body#product #main.vvp-accessory-product .vvp-accessory-rating .av-count { color: var(--vvp-ds-muted, var(--vvp-color-text-secondary)); font-weight: 400; }
body#product #main.vvp-accessory-product .vvp-accessory-rating:is(:hover, :focus-visible) .av-count { color: var(--vvp-ds-action, var(--vvp-color-action)); text-decoration: underline; text-underline-offset: 3px; }

/* Optional facts are small data cards, not a second hero. */
body#product #main.vvp-accessory-product .vvp-accessory-overview > .product-col-info { grid-area: info; display: block; align-self: start; margin: 0; padding: 0; background: transparent; border-radius: 0; }
body#product #main.vvp-accessory-product .product-top { margin: 0; padding: 0; }
body#product #main.vvp-accessory-product .presta-mf-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 14px 16px; margin: 0; padding: 0; border: 0; }
body#product #main.vvp-accessory-product .presta-mf-grid:has(> .presta-mf-item:only-child) { grid-template-columns: minmax(0, 245px); }
body#product #main.vvp-accessory-product .presta-mf-item { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 5px; min-width: 0; min-height: 0; padding: 16px 18px; background: var(--vvp-color-page); border: 0; border-radius: 12px; }
body#product #main.vvp-accessory-product :is(.presta-mf-icon, .presta-mf-dot) { display: none; }
body#product #main.vvp-accessory-product .presta-mf-feature { grid-column: 1; grid-row: auto; color: var(--vvp-ds-muted, var(--vvp-color-text-secondary)); font-size: 12px; line-height: 18px; font-weight: 400; }
body#product #main.vvp-accessory-product .presta-mf-value { grid-column: 1; grid-row: auto; color: var(--vvp-ds-action, var(--vvp-color-action)); font-size: 14px; line-height: 20px; font-weight: 500; overflow-wrap: anywhere; }
body#product #main.vvp-accessory-product .vvp-accessory-overview:not(:has(> .product-col-info)) { grid-template-areas: "header media" "buy buy" "reassurance reassurance"; grid-template-rows: auto auto auto; }
body#product #main.vvp-accessory-product .vvp-accessory-overview:not(:has(> .product-col-info)) > .product-col-mobile-header { align-self: center; margin-bottom: 0; }

/* Original photographs stay contained on white, with centered thumbnails below. */
body#product #main.vvp-accessory-product .product-col-media { grid-area: media; margin: 0 0 clamp(24px,2.3vw,32px); padding: 0; align-self: end; }
body#product #main.vvp-accessory-product .product-col-media > #content.page-content { width: 100%; max-width: none; margin: 0; }
body#product #main.vvp-accessory-product .vvp-accessory-figure { position: relative; padding: 0; background: #fff; border-radius: 16px; }
body#product #main.vvp-accessory-product .product-cover { grid-column: 1; grid-row: 1; display: grid; place-items: center; width: 100%; max-width: none; height: var(--vvp-gallery-height); min-height: 0; margin: 0; padding: 4px 24px; aspect-ratio: auto; border-radius: 16px; background: #fff; }
body#product #main.vvp-accessory-product .product-cover picture { width: 100%; height: 100%; min-height: 0; }
body#product #main.vvp-accessory-product .product-cover img { display: block; width: 100%; height: 100%; max-height: 100%; aspect-ratio: auto; object-fit: contain; mix-blend-mode: normal; filter: none; }
body#product #main.vvp-accessory-product [data-accessory-gallery] .product-cover { touch-action: pan-y pinch-zoom; }

/* Native reassurance is rendered once, outside the purchasing form and its sticky state. */
body#product #main.vvp-accessory-product .vvp-purchase-reassurance { grid-area: reassurance; margin: 30px 0 14px; padding: 0; }
body#product #main.vvp-accessory-product .vvp-purchase-reassurance .skrupt-menu { margin: 0; }
body#product #main.vvp-accessory-product .vvp-purchase-reassurance .skm-list--level-1 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); gap: 8px 22px; margin: 0; }
body#product #main.vvp-accessory-product .vvp-purchase-reassurance .skm-list--level-1 > .skm-item { min-width: 0; margin: 0; }
body#product #main.vvp-accessory-product .vvp-purchase-reassurance .skm-link { align-items: center; min-height: 40px; padding: 4px 0; gap: 10px; }
body#product #main.vvp-accessory-product .vvp-purchase-reassurance .skm-image { flex: 0 0 22px; width: 22px; height: 22px; }
body#product #main.vvp-accessory-product .vvp-purchase-reassurance .skm-copy { min-width: 0; line-height: 18px; overflow-wrap: anywhere; }
body#product #main.vvp-accessory-product .vvp-purchase-reassurance .skm-label { display: inline; color: var(--vvp-ds-action, var(--vvp-color-action)); font-size: 12px; font-weight: 500; line-height: inherit; }
body#product #main.vvp-accessory-product .vvp-purchase-reassurance .skm-description { display: inline; margin: 0; font-size: 12px; line-height: inherit; }

/* One full-width light band, using the original native form and refresh targets. */
body#product #main.vvp-accessory-product .vvp-accessory-overview > .vvp-purchase-slot { grid-area: buy; align-self: start; width: 100%; margin: 0; padding: 0; background: transparent; border-radius: 0; }
body#product #main.vvp-accessory-product .vvp-accessory-overview:not(:has([data-purchase-reassurance])) > .vvp-purchase-slot { margin-top: 30px; }
body#product #main.vvp-accessory-product .vvp-purchase-dock { min-width: 0; padding: 16px var(--vvp-accessory-panel-padding); background: var(--vvp-purchase-surface); border-radius: 0 0 var(--vvp-accessory-radius) var(--vvp-accessory-radius); }
body#product #main.vvp-accessory-product .vvp-purchase-context { display: none; }
body#product #main.vvp-accessory-product .product-addtocart { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body#product #main.vvp-accessory-product .vvp-purchase-dock #add-to-cart-or-refresh { display: grid; grid-template-columns: minmax(125px, .6fr) minmax(180px, 1fr) minmax(300px, 1.6fr); grid-template-areas: "price variants cart" "price additional cart"; align-items: start; column-gap: clamp(24px, 2.5vw, 32px); row-gap: 0; }
body#product #main.vvp-accessory-product .vvp-purchase-dock .product-prices { grid-area: price; align-self: center; min-width: 0; margin: 0; }
body#product #main.vvp-accessory-product .current-price-value { color: var(--vvp-ds-ink, var(--vvp-color-ink)); font-size: 34px; font-weight: 600; line-height: 1.15; letter-spacing: -.03em; }
body#product #main.vvp-accessory-product .vvp-product-availability { display: flex; align-items: center; gap: 7px; max-width: 100%; width: fit-content; margin: 9px 0 0; color: var(--vvp-ds-muted, var(--vvp-color-text-secondary)); font-size: 12px; font-weight: 500; line-height: 18px; overflow-wrap: anywhere; }
body#product #main.vvp-accessory-product .vvp-product-availability::before { content: ''; flex: 0 0 6px; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
body#product #main.vvp-accessory-product .vvp-product-availability[data-availability-state="in-stock"] { color: var(--vvp-color-success); }
body#product #main.vvp-accessory-product .vvp-product-availability:is([data-availability-state="limited"], [data-availability-state="backorder"]) { color: #80571d; }
body#product #main.vvp-accessory-product .vvp-product-availability[data-availability-state="unavailable"] { color: #8c4545; }
body#product #main.vvp-accessory-product .vvp-purchase-dock .product-variants { grid-area: variants; min-width: 0; margin: 0; }
body#product #main.vvp-accessory-product .product-variants > .product-variants-item { margin: 0 0 10px; }
body#product #main.vvp-accessory-product .product-variants > .product-variants-item .control-label,
body#product #main.vvp-accessory-product .product-add-to-cart > .control-label { display: block; margin: 0 0 10px; color: var(--vvp-ds-action, var(--vvp-color-action)); font-size: 13px; font-weight: 500; line-height: 20px; }
body#product #main.vvp-accessory-product .product-variants-item ul[id^="group_"] { min-width: 0; max-width: 100%; }
body#product #main.vvp-accessory-product .product-variants-item ul[id^="group_"] { gap: 8px; margin: 0; padding: 3px; }
body#product #main.vvp-accessory-product .product-variants-item ul[id^="group_"] > li,
body#product #main.vvp-accessory-product .product-variants-item ul[id^="group_"] label { min-width: 44px; min-height: 44px; }
body#product #main.vvp-accessory-product .product-variants-item ul[id^="group_"] label > :is(.color, .radio-label, .btn-variant) { min-width: 44px; min-height: 44px; }
body#product #main.vvp-accessory-product .product-variants-item ul[id^="group_"] label:has(input:focus-visible) { outline: 2px solid var(--vvp-ds-focus, var(--vvp-color-action)); outline-offset: 3px; }
body#product #main.vvp-accessory-product .product-variants-item ul[id^="group_"] input:checked + :is(.color, .radio-label, .btn-variant) { border-color: var(--vvp-ds-action, var(--vvp-color-action)); outline: 1px solid var(--vvp-ds-action, var(--vvp-color-action)); outline-offset: 1px; }
/* The photo card's label owns selection/focus; generic input + span rules must not frame its image again. */
body#product #main.vvp-accessory-product .product-variants-item ul[id^="group_"] label > .vvp-variant-media { border: 0; outline: 0; box-shadow: none; }
body#product #main.vvp-accessory-product .product-variants-item .color.texture { display: inline-flex; align-items: center; justify-content: center; width: auto; height: auto; min-width: 90px; max-width: 180px; min-height: 44px; padding: 8px 12px 8px 42px; border-radius: 11px; background-color: #fff; background-size: 28px 28px; background-position: 7px center; background-repeat: no-repeat; }
body#product #main.vvp-accessory-product .product-variants-item .color.texture .attribute-name { position: static; display: block; width: auto; height: auto; margin: 0; padding: 0; overflow: visible; clip: auto; clip-path: none; white-space: normal; color: var(--vvp-ds-action, var(--vvp-color-action)); font-size: 13px; font-weight: 500; line-height: 18px; }
body#product #main.vvp-accessory-product .vvp-purchase-dock .product-add-to-cart { grid-area: cart; min-width: 0; margin: 0; }
body#product #main.vvp-accessory-product .product-quantity { display: grid; grid-template-columns: 124px minmax(0, 1fr); align-items: start; gap: 20px; margin: 0; }
body#product #main.vvp-accessory-product .product-quantity .qty .bootstrap-touchspin { display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px; width: 124px; height: 48px; padding: 1px; border-radius: 12px; }
body#product #main.vvp-accessory-product .product-quantity .qty .btn-touchspin { width: 40px; height: 44px; min-height: 44px; }
body#product #main.vvp-accessory-product .product-actions .add-to-cart { width: 100%; height: auto; min-height: var(--vvp-control-height); padding: 0 16px; white-space: normal; background: var(--vvp-purchase-action); border-color: var(--vvp-purchase-action); color: #fff; border-radius: var(--vvp-purchase-control-radius); font-size: 14px; line-height: 22px; }
body#product #main.vvp-accessory-product .product-actions .add-to-cart:is(:hover, :focus, :disabled) { border-radius: var(--vvp-purchase-control-radius); }
body#product #main.vvp-accessory-product .product-actions .add-to-cart:not(:disabled):hover { background: color-mix(in srgb,var(--vvp-purchase-action) 88%,#000); border-color: color-mix(in srgb,var(--vvp-purchase-action) 88%,#000); }
body#product #main.vvp-accessory-product .vvp-purchase-dock .product-additional-info { grid-area: additional; min-width: 0; padding: 0; margin: 0; }
body#product #main.vvp-accessory-product .product-specific-references { margin: 2px 0 0; padding: 0; border: 0; }
body#product #main.vvp-accessory-product .product-specific-reference { justify-content: flex-start; flex-wrap: wrap; gap: 4px 8px; }
body#product #main.vvp-accessory-product .product-specific-reference .label { margin: 0; color: var(--vvp-ds-muted, var(--vvp-color-text-secondary)); font-size: 11px; font-weight: 400; }
body#product #main.vvp-accessory-product .product-specific-reference .value { text-align: start; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
body#product #main.vvp-accessory-product .product-specific-reference,
body#product #main.vvp-accessory-product .product-specific-reference .value { color: var(--vvp-ds-muted, var(--vvp-color-text-secondary)); font-size: 11px; line-height: 18px; }
body#product #main.vvp-accessory-product .product-additional-info .js-mailalert-add { width: 100%; min-height: 44px; white-space: normal; border-radius: 12px; }
body#product #main.vvp-accessory-product #product-availability { display: block; margin-top: 10px; }
body#product #main.vvp-accessory-product #product-availability:empty,
body#product #main.vvp-accessory-product .product-minimal-quantity:empty { display: none; }
body#product #main.vvp-accessory-product .vvp-purchase-dock .product-pack,
body#product #main.vvp-accessory-product .vvp-purchase-dock .product-discounts { grid-column: 1 / -1; margin-block: 16px 0; }
body#product #main.vvp-accessory-product .vvp-purchase-dock .product-customization { margin-top: 20px; }
body#product #main.vvp-accessory-product .vvp-purchase-dock #add-to-cart-or-refresh:not(:has(.product-variants-item)) { grid-template-columns: minmax(125px, .6fr) minmax(0, 1fr) minmax(300px, 1.6fr); grid-template-areas: "price . cart" "price . additional"; }

/* Same DOM, reduced into a bottom-centred bar. Optional choices open in the same surface. */
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked {
  position: fixed; inset: auto 16px max(16px, env(safe-area-inset-bottom)); z-index: 1040;
  display: grid; grid-template-columns: minmax(0, 205px) minmax(0, 1fr); align-items: center; gap: 12px 22px;
  width: min(1080px, calc(100% - 32px)); max-height: calc(100dvh - 96px); overflow-y: auto;
  margin: 0 auto; padding: 14px 18px; border: 1px solid #e0e5ec; border-radius: 20px;
  background: var(--vvp-purchase-surface); box-shadow: 0 6px 28px rgba(27, 43, 69, .16);
}
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .vvp-purchase-context { display: flex; align-items: center; gap: 10px; min-width: 0; }
body#product #main.vvp-accessory-product .vvp-purchase-context > img { flex: 0 0 36px; width: 36px; height: 40px; object-fit: contain; background: #fff; border-radius: 7px; }
body#product #main.vvp-accessory-product .vvp-purchase-context-copy { min-width: 0; }
body#product #main.vvp-accessory-product [data-purchase-name] { display: block; color: var(--vvp-ds-action, var(--vvp-color-action)); font-size: 13px; line-height: 18px; font-weight: 500; overflow-wrap: anywhere; }
body#product #main.vvp-accessory-product .vvp-purchase-edit { display: none; align-items: center; justify-content: space-between; gap: 6px; max-width: 100%; min-height: 28px; padding: 3px 0; border: 0; background: transparent; color: var(--vvp-ds-muted, var(--vvp-color-text-secondary)); font-size: 12px; line-height: 18px; text-align: left; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked.has-purchase-choices .vvp-purchase-edit { display: inline-flex; }
body#product #main.vvp-accessory-product .vvp-purchase-edit svg { flex: 0 0 14px; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-editing .vvp-purchase-edit svg { transform: rotate(180deg); }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked > .product-addtocart { min-width: 0; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked #add-to-cart-or-refresh,
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked #add-to-cart-or-refresh:not(:has(.product-variants-item)) { grid-template-columns: minmax(90px, .6fr) minmax(250px, 1.6fr); grid-template-areas: "price cart" "additional additional"; align-items: center; gap: 0 20px; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .current-price-value { font-size: 24px; line-height: 28px; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-prices .product-discount { font-size: 12px; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .vvp-product-availability { margin-top: 3px; font-size: 11px; line-height: 16px; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-add-to-cart > .control-label { display: none; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-quantity { grid-template-columns: 112px minmax(0, 1fr); gap: 12px; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-quantity .qty .bootstrap-touchspin { width: 112px; grid-template-columns: 36px minmax(0, 1fr) 36px; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-quantity .qty .btn-touchspin { width: 36px; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-actions .add-to-cart { min-height: 48px; padding: 11px 14px; font-size: 13px; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked:not(.is-editing) :is(.product-variants, .product-customization, .product-pack, .product-discounts),
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-specific-references { display: none; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-additional-info > :not(.product-specific-references) { margin-top: 8px; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked.is-editing #add-to-cart-or-refresh { grid-template-areas: "price cart" "variants variants" "additional additional"; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked.is-editing .product-variants { margin-top: 18px; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked.is-editing .product-variants-item { margin-bottom: 10px; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-customization { grid-column: 1 / -1; margin-top: 12px; }
body#product #main.vvp-accessory-product .vvp-purchase-dock.is-modal-suspended { visibility: hidden; pointer-events: none; }

/* Native AJAX targets remain mounted without reserving tracks when empty. */
body#product #main.vvp-accessory-product .vvp-purchase-dock .product-variants:not(:has(.product-variants-item)),
body#product #main.vvp-accessory-product .vvp-purchase-dock .product-discounts:not(:has(*)) { display: none; }

/* Reading surfaces remain continuous, independent from the top product block. */

body#product #main.vvp-accessory-product .product-middle:not(:has(> *)) { margin-bottom: 0; }
body#product #main.vvp-accessory-product .product-summary-description { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 2.8fr); align-items: start; gap: 28px; }
body#product #main.vvp-accessory-product .product-summary-description > h2 { margin: 0; font-size: 28px; line-height: 1.2; letter-spacing: -.035em; }
body#product #main.vvp-accessory-product .product-description-short > :last-child { margin-bottom: 0; }
body#product #main.vvp-accessory-product :is(.product-description-short, .product-description-long) :is(p, li, dd) { line-height: 1.65; }
body#product #main.vvp-accessory-product :is(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--vvp-ds-focus, var(--vvp-color-action)); outline-offset: 3px; }

@media (max-width: 1199.98px) {
  body#product #main.vvp-accessory-product { --vvp-accessory-panel-padding: 28px; --vvp-gallery-height: 340px; }
  body#product #main.vvp-accessory-product .vvp-accessory-overview { column-gap: 28px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock #add-to-cart-or-refresh { grid-template-columns: minmax(100px, .55fr) minmax(170px, 1fr) minmax(280px, 1.5fr); column-gap: 22px; }
  body#product #main.vvp-accessory-product .product-quantity { grid-template-columns: 116px minmax(0, 1fr); gap: 12px; }
  body#product #main.vvp-accessory-product .product-quantity .qty .bootstrap-touchspin { width: 116px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked { grid-template-columns: minmax(0, 180px) minmax(0, 1fr); gap: 16px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-quantity { grid-template-columns: 106px minmax(0, 1fr); gap: 10px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-quantity .qty .bootstrap-touchspin { width: 106px; }
}
@media (max-width: 991.98px) {
  body#product #main.vvp-accessory-product { --vvp-gallery-height: 300px; --vvp-rail-width: 64px; }
  body#product #main.vvp-accessory-product .vvp-accessory-overview { grid-template-columns: minmax(0, 1fr); grid-template-areas: "header" "media" "buy" "info" "reassurance"; grid-template-rows: auto; }
  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 .product-col-mobile-header { margin-bottom: 20px; }
  body#product #main.vvp-accessory-product .product-col-mobile-header .h1 { max-width: 24ch; }
  body#product #main.vvp-accessory-product .product-col-media > #content.page-content { max-width: 560px; margin-inline: auto; }
  body#product #main.vvp-accessory-product .vvp-accessory-overview > .product-col-info { margin: 24px 0; --skf-summary-width: 100%; }
  body#product #main.vvp-accessory-product .vvp-purchase-reassurance { margin-top: 22px; margin-bottom: 12px; }
  body#product #main.vvp-accessory-product .vvp-purchase-reassurance .skm-list--level-1 { grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); }
  body#product #main.vvp-accessory-product .vvp-purchase-dock #add-to-cart-or-refresh,
  body#product #main.vvp-accessory-product .vvp-purchase-dock #add-to-cart-or-refresh:not(:has(.product-variants-item)) { grid-template-columns: minmax(100px, .5fr) minmax(0, 1fr); grid-template-areas: "price variants" "cart cart" "additional additional"; gap: 12px 22px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock #add-to-cart-or-refresh:not(:has(.product-variants-item)) { grid-template-areas: "price cart" "additional additional"; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked { grid-template-columns: minmax(0, 160px) minmax(0, 1fr); }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked #add-to-cart-or-refresh,
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked #add-to-cart-or-refresh:not(:has(.product-variants-item)) { grid-template-columns: minmax(80px, .5fr) minmax(180px, 1fr); grid-template-areas: "price cart" "additional additional"; gap: 0 14px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked.is-editing #add-to-cart-or-refresh { grid-template-areas: "price cart" "variants variants" "additional additional"; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-quantity { grid-template-columns: 92px minmax(0, 1fr); gap: 8px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-quantity .qty .bootstrap-touchspin { width: 92px; grid-template-columns: 30px minmax(0, 1fr) 30px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-quantity .qty .btn-touchspin { width: 30px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .shopping-cart { display: none; }
  body#product #main.vvp-accessory-product .product-summary-description { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
@media (max-width: 767.98px) {
  body#product #main.vvp-accessory-product { --vvp-gallery-height: clamp(220px, 62vw, 270px); --vvp-accessory-panel-padding: 20px; --vvp-accessory-radius: 20px; --vvp-rail-width: 56px; }
  body#product #main.vvp-accessory-product .vvp-accessory-overview { margin-bottom: 20px; }
  body#product #main.vvp-accessory-product .vvp-accessory-overview > .product-col-mobile-header { margin-bottom: 16px; }
  body#product #main.vvp-accessory-product .vvp-accessory-identity { margin-bottom: 14px; }
  body#product #main.vvp-accessory-product .product-col-mobile-header .h1 { max-width: 20ch; font-size: 30px; line-height: 1.12; }
  body#product #main.vvp-accessory-product .product-col-mobile-header .avratings-link { margin-top: 12px; }
  body#product #main.vvp-accessory-product .product-cover { padding: 6px 16px 22px; }
  body#product #main.vvp-accessory-product .presta-mf-grid { gap: 10px; }
  body#product #main.vvp-accessory-product .presta-mf-item { padding: 12px; border-radius: 10px; }
  body#product #main.vvp-accessory-product .presta-mf-feature { font-size: 11px; line-height: 16px; }
  body#product #main.vvp-accessory-product .presta-mf-value { font-size: 13px; line-height: 19px; }
  body#product #main.vvp-accessory-product .vvp-purchase-reassurance { margin-top: 18px; margin-bottom: 10px; }
  body#product #main.vvp-accessory-product .vvp-purchase-reassurance .skm-list--level-1 { grid-template-columns: minmax(0, 1fr); gap: 0; }
  body#product #main.vvp-accessory-product .vvp-purchase-reassurance .skm-link { min-height: 34px; padding: 5px 0; }
  body#product #main.vvp-accessory-product .vvp-purchase-reassurance .skm-image { flex-basis: 18px; width: 18px; height: 18px; }
  body#product #main.vvp-accessory-product .vvp-purchase-reassurance :is(.skm-label, .skm-description) { font-size: 11px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock { padding: 18px 20px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock #add-to-cart-or-refresh,
  body#product #main.vvp-accessory-product .vvp-purchase-dock #add-to-cart-or-refresh:not(:has(.product-variants-item)) { grid-template-columns: minmax(0, 1fr); grid-template-areas: "price" "variants" "cart" "additional"; gap: 18px; }
  body#product #main.vvp-accessory-product .current-price-value { font-size: 29px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock .product-prices { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; }
  body#product #main.vvp-accessory-product .product-prices > :not(.product-price):not(.vvp-product-availability) { flex-basis: 100%; }
  body#product #main.vvp-accessory-product .product-prices .vvp-product-availability { margin: 0; }
  body#product #main.vvp-accessory-product .product-prices .tax-shipping-delivery-label:empty { display: none; }
  body#product #main.vvp-accessory-product .product-variants > .product-variants-item { margin-bottom: 0; }
  body#product #main.vvp-accessory-product .product-quantity { grid-template-columns: 112px minmax(0, 1fr); gap: 10px; }
  body#product #main.vvp-accessory-product .product-quantity .qty .bootstrap-touchspin { width: 112px; grid-template-columns: 36px minmax(0, 1fr) 36px; }
  body#product #main.vvp-accessory-product .product-quantity .qty .btn-touchspin { width: 36px; }
  body#product #main.vvp-accessory-product .product-actions .add-to-cart { padding: 10px 12px; font-size: 13px; line-height: 20px; }
  body#product #main.vvp-accessory-product .product-actions .add-to-cart .shopping-cart { display: none; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked { inset-inline: 10px; bottom: max(10px, env(safe-area-inset-bottom)); display: block; width: calc(100% - 20px); max-height: calc(100dvh - 90px); padding: 12px; border-radius: 16px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .vvp-purchase-context { float: left; width: calc(100% - 110px); min-height: 44px; margin-bottom: 8px; padding-right: 10px; gap: 7px; }
  body#product #main.vvp-accessory-product .vvp-purchase-context > img { width: 28px; height: 32px; flex-basis: 28px; }
  body#product #main.vvp-accessory-product [data-purchase-name] { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; font-size: 12px; line-height: 17px; }
  body#product #main.vvp-accessory-product .vvp-purchase-edit { min-height: 26px; font-size: 11px; line-height: 16px; }
  body#product #main.vvp-accessory-product .vvp-purchase-edit > span { overflow-wrap: anywhere; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked > .product-addtocart,
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-actions,
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked #add-to-cart-or-refresh,
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked #add-to-cart-or-refresh:not(:has(.product-variants-item)) { display: contents; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-prices { display: block; float: right; max-width: 110px; min-height: 44px; margin: 0 0 8px; text-align: right; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .current-price-value { font-size: 22px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-prices .vvp-product-availability { margin-top: 2px; margin-left: auto; text-align: right; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-add-to-cart { display: block; clear: both; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-quantity { grid-template-columns: 104px minmax(0, 1fr); gap: 8px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-quantity .qty .bootstrap-touchspin { width: 104px; grid-template-columns: 34px minmax(0, 1fr) 34px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-quantity .qty .btn-touchspin { width: 34px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-actions .add-to-cart { min-height: 48px; font-size: 12px; padding: 10px 8px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked.is-editing .product-variants { clear: both; display: block; margin: 10px 0 16px; padding-top: 8px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked .product-additional-info { clear: both; display: block; }
  body#product:has(#main.has-docked-purchase) :is(.vapochat-launcher, #skrupt-consent-widget) { bottom: calc(var(--vvp-product-dock-height, 120px) + 24px + env(safe-area-inset-bottom)) !important; }

  body#product #main.vvp-accessory-product .product-summary-description > h2 { font-size: 25px; }
}
@media (max-width: 374.98px) {
  body#product #main.vvp-accessory-product .presta-mf-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  body#product #main.vvp-accessory-product .presta-mf-item { padding: 10px; }
  body#product #main.vvp-accessory-product .product-quantity { grid-template-columns: 96px minmax(0, 1fr); gap: 8px; }
  body#product #main.vvp-accessory-product .product-quantity .qty .bootstrap-touchspin { width: 96px; grid-template-columns: 30px minmax(0, 1fr) 30px; }
  body#product #main.vvp-accessory-product .product-quantity .qty .btn-touchspin { width: 30px; }
}

/* Optional native form sections must not leave empty columns or rows. */
body#product #main.vvp-accessory-product .vvp-purchase-dock .product-add-to-cart:not(:has(*)) { display: none; }
body#product #main.vvp-accessory-product .product-variants-item + .product-variants-item { margin-top: 16px; }
@media (min-width: 768px) {
  body#product #main.vvp-accessory-product .vvp-accessory-overview > .product-col-info { padding-bottom: 0; }
  body#product #main.vvp-accessory-product:not([data-skrupt-design-mode="compact"]) .vvp-accessory-overview:has(> .product-col-info) > .vvp-purchase-slot { margin-top: 24px; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock:not(.is-docked) #add-to-cart-or-refresh:not(:has(.product-prices)) { grid-template-columns: minmax(180px, 1fr) minmax(260px, 1.6fr); grid-template-areas: "variants cart" "additional cart"; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock:not(.is-docked) #add-to-cart-or-refresh:not(:has(.product-prices, .product-variants-item)) { grid-template-columns: minmax(0, 1fr); grid-template-areas: "cart" "additional"; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock:not(.is-docked) #add-to-cart-or-refresh:not(:has(.product-add-to-cart *)) { grid-template-columns: minmax(125px, .6fr) minmax(0, 1fr); grid-template-areas: "price variants" "price additional"; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock:not(.is-docked) #add-to-cart-or-refresh:not(:has(.product-add-to-cart *, .product-prices)) { grid-template-columns: minmax(0, 1fr); grid-template-areas: "variants" "additional"; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock:not(.is-docked) #add-to-cart-or-refresh:not(:has(.product-add-to-cart *, .product-variants-item)) { grid-template-columns: minmax(0, 1fr); grid-template-areas: "price" "additional"; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked #add-to-cart-or-refresh:not(:has(.product-prices)) { grid-template-columns: minmax(0, 1fr); grid-template-areas: "cart" "additional"; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked.is-editing #add-to-cart-or-refresh:not(:has(.product-prices)) { grid-template-areas: "cart" "variants" "additional"; }
}
@media (max-width: 767.98px) {
  body#product #main.vvp-accessory-product .vvp-purchase-dock:not(.is-docked) #add-to-cart-or-refresh:not(:has(.product-prices)) { grid-template-areas: "variants" "cart" "additional"; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock:not(.is-docked) #add-to-cart-or-refresh:not(:has(.product-variants-item)) { grid-template-areas: "price" "cart" "additional"; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock:not(.is-docked) #add-to-cart-or-refresh:not(:has(.product-prices, .product-variants-item)) { grid-template-areas: "cart" "additional"; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock:not(.is-docked) #add-to-cart-or-refresh:not(:has(.product-add-to-cart *)) { grid-template-areas: "price" "variants" "additional"; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock:not(.is-docked) #add-to-cart-or-refresh:not(:has(.product-add-to-cart *, .product-prices)) { grid-template-areas: "variants" "additional"; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock:not(.is-docked) #add-to-cart-or-refresh:not(:has(.product-add-to-cart *, .product-variants-item)) { grid-template-areas: "price" "additional"; }
  body#product #main.vvp-accessory-product .vvp-purchase-dock.is-docked:not(:has(.product-prices)) .vvp-purchase-context { width: 100%; }
}

body#product #main.vvp-accessory-product .vvp-purchase-slot:not(:has(.product-prices, .product-variants-item, .product-customization, .product-additional-info *, .product-add-to-cart *, .product-pack *, .product-discounts *)) { display: none; }

/* Long choice lists use the same native controls inside a compact disclosure. */
body#product #main.vvp-accessory-product .vvp-variant-picker-toggle {
  display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px;
  padding: 11px 13px; color: var(--vvp-ds-action, var(--vvp-color-action)); background: #fff;
  border: 1px solid var(--vvp-color-info-line); border-radius: 11px; text-align: left; cursor: pointer;
  font-size: 13px; line-height: 20px;
}
body#product #main.vvp-accessory-product .vvp-variant-picker-toggle::after { content: ''; flex: 0 0 7px; width: 7px; height: 7px; margin: -4px 2px 0 1px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
body#product #main.vvp-accessory-product .vvp-variant-picker-toggle[aria-expanded="true"] { border-color: var(--vvp-ds-action, var(--vvp-color-action)); }
body#product #main.vvp-accessory-product .vvp-variant-picker-toggle[aria-expanded="true"]::after { transform: rotate(225deg); margin-top: 4px; }
body#product #main.vvp-accessory-product .vvp-variant-picker-value { flex: 1 1 auto; min-width: 0; font-weight: 500; overflow-wrap: anywhere; }
body#product #main.vvp-accessory-product .vvp-variant-picker-count { flex: 0 0 auto; color: var(--vvp-color-text-secondary); font-size: 11px; font-weight: 400; }
body#product #main.vvp-accessory-product .vvp-variant-picker-group [hidden] { display: none !important; }
body#product #main.vvp-accessory-product .vvp-variant-picker-search { display: block; margin: 12px 0 8px; }
body#product #main.vvp-accessory-product .vvp-variant-picker-search label { display: block; margin: 0 0 5px; color: var(--vvp-color-text-secondary); font-size: 12px; line-height: 18px; }
body#product #main.vvp-accessory-product .vvp-variant-picker-search input { display: block; width: 100%; min-height: 44px; padding: 10px 12px; color: var(--vvp-ds-action, var(--vvp-color-action)); background: #fff; border: 1px solid var(--vvp-color-info-line); border-radius: 10px; font-size: 16px; line-height: 22px; }
body#product #main.vvp-accessory-product .vvp-variant-picker-group.is-picker-open ul[id^="group_"] {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(138px, 100%), 1fr));
  gap: 8px; width: 100%; max-height: min(320px, 40dvh); margin: 10px 0 0; padding: 4px;
  overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scroll-snap-type: none; scrollbar-width: thin;
}
body#product #main.vvp-accessory-product .vvp-variant-picker-group ul[id^="group_"] > li { min-width: 0; width: 100%; margin: 0; }
body#product #main.vvp-accessory-product .vvp-variant-picker-group ul[id^="group_"] > li.vvp-picker-filtered-out { display: none !important; }
body#product #main.vvp-accessory-product .vvp-variant-picker-group ul[id^="group_"] label { display: flex; align-items: stretch; width: 100%; margin: 0; }
body#product #main.vvp-accessory-product .vvp-variant-picker-group ul[id^="group_"] label > :is(.color, .radio-label, .btn-variant) { width: 100%; max-width: none; min-width: 0; height: auto; min-height: 48px; white-space: normal; overflow-wrap: anywhere; }
body#product #main.vvp-accessory-product .vvp-variant-picker-group ul[id^="group_"] .color.texture { min-height: 52px; padding-right: 10px; }
body#product #main.vvp-accessory-product .vvp-variant-picker-status { margin: 8px 0 0; color: var(--vvp-color-text-secondary); font-size: 12px; line-height: 18px; }

body#product #main.vvp-accessory-product .vvp-variant-option-name { min-width: 0; font-size: 13px; line-height: 18px; overflow-wrap: anywhere; }

body#product #main.vvp-accessory-product .vvp-variant-picker-arrow { display: none; }

/* Options remain in the native form, inline or inside the shared dialog. */
body#product #main.vvp-accessory-product .vvp-variant-picker-panel .vvp-variant-picker-search { margin-top: 0; }
body#product #main.vvp-accessory-product .vvp-variant-picker-panel .vvp-variant-picker-search label { text-align: left; }
body#product #main.vvp-accessory-product .vvp-variant-picker-panel .vvp-variant-picker-search input { background: var(--vvp-color-page); }
body#product #main.vvp-accessory-product .vvp-variant-picker-panel .vvp-variant-picker-status { margin: 0 0 10px; }
body#product #main.vvp-accessory-product .vvp-variant-picker-group.is-picker-open .vvp-variant-picker-panel ul[id^="group_"] { max-height: none; overflow: visible; margin-top: 0; }
body#product #main.vvp-accessory-product .vvp-variant-picker-panel ul[id^="group_"] label > :is(.color, .radio-label, .btn-variant) { background-color: var(--vvp-color-page); }
body#product #main.vvp-accessory-product .vvp-variant-picker-panel ul[id^="group_"] input:checked + :is(.color.texture, .radio-label, .btn-variant) { background-color: var(--vvp-color-subtle); }

/* The borderless native heart leads the category/brand identity line. */
body#product #main.vvp-accessory-product .vvp-accessory-identity { min-height: 44px; margin-bottom: 12px; }
body#product #main.vvp-accessory-product .vvp-accessory-identity:not(:has(.vvp-accessory-category, .product-brand, .vvp-product-wishlist:not(:empty))) { display: none; }
body#product #main.vvp-accessory-product .vvp-product-wishlist { position: static; flex: 0 0 44px; width: 44px; height: 44px; margin-inline-start: -10px; margin-inline-end: -6px; }
body#product #main.vvp-accessory-product .vvp-product-wishlist:empty { display: none; }
body#product #main.vvp-accessory-product .vvp-product-wishlist .vvp-wishlist-heart { display: block; width: 24px; height: 24px; }

/* Keep a compact set of native choices visible; disclosure reveals the same controls. */
body#product #main.vvp-accessory-product .vvp-variant-picker-panel:is([data-variant-picker-mode="preview"], [data-variant-picker-mode="inline"]) { position: static; inset: auto; width: 100%; max-height: none; padding: 0; margin: 0; border: 0; border-radius: 0; overflow: visible; background: transparent; box-shadow: none; }
body#product #main.vvp-accessory-product .vvp-variant-picker-group:is(.is-picker-preview, .is-picker-inline) ul[id^="group_"] { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; width: 100%; max-width: 100%; max-height: none; margin: 0; padding: 3px; overflow: visible; scroll-snap-type: none; }
body#product #main.vvp-accessory-product .vvp-variant-picker-group:is(.is-picker-preview, .is-picker-inline) ul[id^="group_"] > li { width: 100%; min-width: 0; max-width: 100%; margin: 0; }
body#product #main.vvp-accessory-product .vvp-variant-picker-group:is(.is-picker-preview, .is-picker-inline) ul[id^="group_"] label > :is(.color, .radio-label, .btn-variant) { width: 100%; max-width: 100%; min-height: 44px; }
body#product #main.vvp-accessory-product .vvp-variant-picker-group ul[id^="group_"] > li.vvp-picker-preview-hidden { display: none !important; }
body#product #main.vvp-accessory-product .vvp-variant-picker-toggle { width: fit-content; max-width: 100%; min-height: 40px; padding: 8px 2px; margin-top: 6px; gap: 8px; background: transparent; border: 0; border-radius: 6px; font-size: 12px; }
body#product #main.vvp-accessory-product .vvp-variant-picker-toggle[hidden] { display: none !important; }
body#product #main.vvp-accessory-product .vvp-variant-picker-group.is-picker-inline .vvp-variant-picker-search { margin: 12px 0; }
body#product #main.vvp-accessory-product .vvp-variant-picker-group.is-picker-inline .vvp-variant-picker-status { margin-bottom: 8px; }
body#product #main.vvp-accessory-product .vvp-mobile-purchase-sheet:not([open]) { display: none !important; }

/* The native closed details already has the compact purchase geometry at first
   paint. The module replaces this fallback only after successful initialization. */
body#product #main.vvp-accessory-product :is(.vvp-mobile-purchase-bar, .vvp-mobile-purchase-info, .vvp-mobile-purchase-price, .vvp-mobile-purchase-options, .vvp-mobile-purchase-action) { box-sizing: border-box; }
body#product #main.vvp-accessory-product .vvp-accessory-overview > .vvp-purchase-fallback { position: fixed; inset-inline: 0; bottom: max(10px, env(safe-area-inset-bottom)); z-index: 1040; width: min(520px, calc(100% - 20px)); margin: 0 auto; padding: 0; border: 0; }
body#product #main.vvp-accessory-product .vvp-purchase-fallback > summary { list-style: none; cursor: pointer; }
body#product #main.vvp-accessory-product .vvp-purchase-fallback > summary::-webkit-details-marker { display: none; }
body#product #main.vvp-accessory-product .vvp-purchase-fallback-summary .vvp-mobile-purchase-action { display: flex; align-items: center; justify-content: center; text-align: center; }
body#product #main.vvp-accessory-product .vvp-purchase-fallback-close { display: none; }
body#product #main.vvp-accessory-product .vvp-purchase-fallback[open] .vvp-purchase-fallback-open { display: none; }
body#product #main.vvp-accessory-product .vvp-purchase-fallback[open] .vvp-purchase-fallback-close { display: inline; }
body#product #main.vvp-accessory-product .vvp-purchase-fallback-summary .vvp-mobile-purchase-action.is-unavailable { color: #5c626b; background: var(--vvp-color-pressed); border-color: var(--vvp-color-pressed); }
body#product #main.vvp-accessory-product .vvp-purchase-fallback[open] { bottom: calc(100px + env(safe-area-inset-bottom)); max-height: calc(100dvh - 124px); overflow: auto; overscroll-behavior: contain; border: 1px solid var(--vvp-color-info-line); border-radius: 20px; background: #fff; box-shadow: 0 8px 28px rgba(27,43,69,.18); }
body#product #main.vvp-accessory-product .vvp-purchase-fallback [data-purchase-slot] { width: 100%; height: auto; margin: 0; padding: 0; }
body#product #main.vvp-accessory-product .vvp-purchase-fallback .vvp-purchase-dock { position: static; display: block; width: 100%; margin: 0; padding: 20px; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
body#product #main.vvp-accessory-product .vvp-purchase-fallback #add-to-cart-or-refresh { display: block; }
body#product #main.vvp-accessory-product .vvp-purchase-fallback .vvp-purchase-context { display: none; }
body#product #main.vvp-accessory-product .vvp-purchase-fallback :is(.product-prices, .product-variants, .product-customization) { margin-bottom: 18px; }
body#product:has([data-skrupt-atc-fallback]) { padding-bottom: calc(var(--vvp-product-dock-height, 78px) + 40px + env(safe-area-inset-bottom)); }
body#product #main.vvp-accessory-product .vvp-accessory-overview:has(> .vvp-purchase-fallback):has(> .vvp-purchase-reassurance) { padding-bottom: 0; }

/* Reassurance closes the product card with its own full-width background. */
body#product #main.vvp-accessory-product .vvp-accessory-overview > .vvp-purchase-reassurance { width: 100%; margin: 26px 0 0; padding: 8px var(--vvp-accessory-panel-padding); border-top: 1px solid #e0e5ed; border-radius: 0 0 var(--vvp-accessory-radius) var(--vvp-accessory-radius); background: #fff; }
body#product #main.vvp-accessory-product[data-purchase-dock-ready] .vvp-accessory-overview:has(> .vvp-purchase-reassurance) { padding-bottom: 0; }
@media (max-width: 767.98px) {
  body#product #main.vvp-accessory-product .vvp-accessory-overview > .vvp-purchase-reassurance { margin-top: 20px; padding-block: 8px; }
}

/* Inline purchase and reassurance share one surface; only its last block rounds off. */
body#product #main.vvp-accessory-product .vvp-accessory-overview:has(> .vvp-purchase-reassurance) > .vvp-purchase-slot > .vvp-purchase-dock:not(.is-docked) { border-radius: 0; }
body#product #main.vvp-accessory-product:not([data-skrupt-design-mode="compact"]) .vvp-accessory-overview:has(> .vvp-purchase-slot) > .vvp-purchase-reassurance { margin-top: 0; }
body#product #main.vvp-accessory-product .vvp-purchase-reassurance > .skmp-policy:first-child { margin-top: 0; padding-top: 0; border-top: 0; }

