.vmp-mobile-product,
.vmp-lightbox,
.vmp-energy-modal { display:none; }

@media (max-width: 782px) {
  body.vlg-mobile-product-pro-enabled.single-product { overflow-x:hidden; }

  .vmp-mobile-product {
    display:block;
    padding: 10px 8px calc(var(--vmp-bottom-pad, 128px) + env(safe-area-inset-bottom));
    background:#eef3f7;
  }

  .vmp-media-card,
  .vmp-info-card,
  .vmp-attrs {
    border:1px solid #e3eaf2;
    border-radius:22px;
    background:#fff;
    box-shadow:0 10px 26px rgba(12,26,46,.06);
    overflow:hidden;
  }

  .vmp-media-card { position:relative; padding:10px; margin-bottom:10px; }
  .vmp-main-image-btn {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:var(--vmp-image-h, 270px);
    height:var(--vmp-image-h, 270px);
    border:0;
    border-radius:18px;
    background:linear-gradient(180deg,#fff 0%,#f7f8fa 100%);
    padding:0;
    overflow:hidden;
  }
  .vmp-main-image {
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:calc(var(--vmp-image-h, 270px) - 18px);
    object-fit:var(--vmp-img-fit, contain);
    object-position:center;
    margin:auto;
  }
  .vmp-main-image.vmp-cropped {
    width:auto;
    max-width:100%;
    max-height:calc(var(--vmp-image-h, 270px) - 12px);
  }
  .vmp-thumbs { display:flex; gap:8px; overflow-x:auto; padding:8px 2px 0; }
  .vmp-thumb { flex:0 0 58px; width:58px; height:58px; border:1px solid #e2e8f0; border-radius:14px; background:#fff; padding:5px; }
  .vmp-thumb img { width:100%; height:100%; object-fit:contain; }
  .vmp-thumb.is-active { border-color:#fb8c00; box-shadow:0 0 0 2px rgba(251,140,0,.14); }

  .vmp-energy-mini { position:absolute; right:16px; bottom:16px; display:grid; min-width:44px; border:0; background:#ef1d2d; color:#fff; font-weight:900; border-radius:2px 14px 14px 2px; padding:3px 7px; box-shadow:0 8px 18px rgba(15,23,42,.12); }
  .vmp-energy-mini span { font-size:10px; line-height:1; }
  .vmp-energy-mini strong { font-size:18px; line-height:1; }

  .vmp-info-card { padding:18px 16px; margin-bottom:10px; }
  .vmp-category { display:inline-flex; max-width:100%; padding:8px 14px; border:1px solid #ffd59e; border-radius:999px; background:#fff8ef; color:#d56f00; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
  .vmp-title { margin:14px 0 10px; font-size:clamp(22px,6vw,30px); line-height:1.12; letter-spacing:-.035em; color:#07142b; overflow-wrap:anywhere; }
  .vmp-info-card .stock { display:inline-flex; align-items:center; gap:6px; margin:0 0 12px; padding:8px 12px; border-radius:999px; background:#eafaf0; color:#098437; font-weight:900; }
  .vmp-price { margin:0 -16px 12px; padding:14px 16px; border-top:1px solid #edf1f5; border-bottom:1px solid #edf1f5; color:#fb8500; font-size:clamp(26px,7vw,36px); font-weight:1000; line-height:1.1; }
  .vmp-price span { font-size:.66em; margin-left:6px; }
  .vmp-energy-row { display:inline-flex; align-items:center; gap:10px; border:0; background:transparent; padding:0; margin:0 0 14px; color:#07142b; font-weight:900; }
  .vmp-energy-badge { display:grid; min-width:44px; background:#ef1d2d; color:#fff; padding:3px 7px; border-radius:2px 14px 14px 2px; line-height:1; }
  .vmp-energy-badge strong { font-size:18px; }

  .vmp-meta-grid { display:grid; gap:10px; margin:0 0 14px; }
  .vmp-meta { padding:14px; border:1px solid #e2e8f0; border-radius:16px; background:#f8fafc; }
  .vmp-meta span { display:block; margin-bottom:8px; color:#64748b; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
  .vmp-meta strong { color:#07142b; font-size:16px; line-height:1.35; }

  .vmp-buybox { padding:14px; border:1px solid #ffd49a; border-radius:18px; background:#fff9f1; overflow:visible !important; }
  .vmp-buybox * { box-sizing:border-box; }
  .vmp-buybox form.cart { display:grid !important; grid-template-columns:92px minmax(0,1fr) !important; gap:12px !important; align-items:stretch !important; width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important; box-shadow:none !important; background:transparent !important; overflow:visible !important; }
  .vmp-buybox form.cart.variations_form { display:block !important; }
  .vmp-buybox table.variations, .vmp-buybox table.variations tbody, .vmp-buybox table.variations tr, .vmp-buybox table.variations td, .vmp-buybox table.variations th { display:block !important; width:100% !important; padding:0 !important; border:0 !important; background:transparent !important; }
  .vmp-buybox table.variations { margin:0 0 14px !important; }
  .vmp-buybox table.variations tr { margin-bottom:12px !important; }
  .vmp-buybox table.variations label { display:block; margin-bottom:6px; font-weight:900; color:#111827; }
  .vmp-buybox table.variations select { display:block !important; width:100% !important; max-width:100% !important; min-height:58px !important; border-radius:18px !important; padding:0 16px !important; font-size:18px !important; font-weight:800 !important; }
  .vmp-buybox .single_variation_wrap { display:block !important; width:100% !important; max-width:100% !important; overflow:visible !important; }
  .vmp-buybox .woocommerce-variation-add-to-cart,
  .vmp-buybox .woocommerce-variation-add-to-cart.variations_button,
  .vmp-buybox .variations_button { display:grid !important; grid-template-columns:92px minmax(0,1fr) !important; gap:12px !important; align-items:stretch !important; width:100% !important; max-width:100% !important; min-width:0 !important; margin:0 !important; padding:0 !important; overflow:visible !important; }
  .vmp-buybox .quantity { display:block !important; width:92px !important; min-width:92px !important; max-width:92px !important; margin:0 !important; float:none !important; }
  .vmp-buybox .qty, .vmp-buybox input.qty { display:block !important; width:100% !important; min-width:0 !important; max-width:100% !important; height:58px !important; min-height:58px !important; border-radius:18px !important; text-align:center !important; font-size:18px !important; font-weight:900 !important; }
  .vmp-buybox .single_add_to_cart_button,
  .vmp-buybox button.single_add_to_cart_button,
  .vmp-buybox button.button.single_add_to_cart_button,
  .vmp-buybox button.button.alt.single_add_to_cart_button { display:flex !important; align-items:center !important; justify-content:center !important; width:100% !important; min-width:0 !important; max-width:100% !important; height:58px !important; min-height:58px !important; margin:0 !important; padding:0 18px !important; border:0 !important; border-radius:18px !important; background:linear-gradient(135deg,#ffd28a 0%,#fb8500 100%) !important; color:#fff !important; font-size:17px !important; font-weight:1000 !important; line-height:1.15 !important; text-align:center !important; white-space:normal !important; overflow:visible !important; text-indent:0 !important; opacity:1 !important; visibility:visible !important; transform:none !important; box-shadow:0 12px 22px rgba(251,133,0,.24) !important; }
  .vmp-buybox .single_add_to_cart_button::before,
  .vmp-buybox .single_add_to_cart_button::after { display:none !important; }
  .vmp-buybox .single_add_to_cart_button span { display:inline !important; opacity:1 !important; visibility:visible !important; color:inherit !important; font-size:inherit !important; }
  .vmp-buybox .single_add_to_cart_button.disabled,
  .vmp-buybox .single_add_to_cart_button.wc-variation-selection-needed { opacity:.72 !important; }

  .vmp-attrs { padding:18px 16px; margin-bottom:10px; }
  .vmp-attrs h2 { margin:0 0 12px; font-size:24px; color:#202a3a; }
  .vmp-attrs dl { margin:0; display:grid; gap:0; }
  .vmp-attrs dl div { display:grid; grid-template-columns:42% 58%; padding:11px 0; border-bottom:1px solid #eef2f6; }
  .vmp-attrs dt { font-weight:900; color:#64748b; }
  .vmp-attrs dd { margin:0; color:#334155; font-style:italic; overflow-wrap:anywhere; }

  .vmp-lightbox, .vmp-energy-modal { position:fixed; inset:0; z-index:999999; align-items:center; justify-content:center; background:rgba(15,23,42,.72); padding:14px; }
  .vmp-lightbox.is-open, .vmp-energy-modal.is-open { display:flex; }
  .vmp-lightbox img { max-width:96vw; max-height:86vh; background:#fff; border-radius:18px; object-fit:contain; }
  .vmp-lightbox-close, .vmp-energy-close { position:absolute; top:14px; right:14px; width:42px; height:42px; border:1px solid #e2e8f0; border-radius:14px; background:#fff; color:#0f172a; font-size:26px; line-height:1; }
  .vmp-energy-dialog { position:relative; width:min(94vw,360px); max-height:calc(100dvh - 24px); overflow:auto; padding:14px; border-radius:20px; background:#fff; display:grid; gap:10px; justify-items:center; }
  .vmp-energy-dialog strong { justify-self:start; padding-right:46px; }
  .vmp-energy-dialog img { max-width:100%; max-height:calc(100dvh - 210px); object-fit:contain; }
  .vmp-energy-dialog a { display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; padding:12px 14px; border-radius:999px; background:#fb8500; color:#fff; text-decoration:none; font-weight:900; text-align:center; }

  @media(max-width:390px) {
    .vmp-mobile-product { padding-left:6px; padding-right:6px; }
    .vmp-info-card { padding-left:14px; padding-right:14px; }
    .vmp-price { margin-left:-14px; margin-right:-14px; padding-left:14px; padding-right:14px; }
    .vmp-buybox form.cart, .vmp-buybox .woocommerce-variation-add-to-cart, .vmp-buybox .variations_button { grid-template-columns:84px minmax(0,1fr) !important; gap:10px !important; }
    .vmp-buybox .quantity { width:84px !important; min-width:84px !important; max-width:84px !important; }
  }
  @media(max-width:430px) {
    /* v2.4.0 — Eemaldatud kahjulik reegel, mis lükkas Lisa korvi nupu uuele
     * reale qty alla. Nüüd hoiame alati horisontaalset paigutust:
     * vasakul väike qty kast, kõrval kogu ülejäänud laius nupule.
     * Kitsastel ekraanidel langeb qty kasti laius järk-järgult,
     * vt @media(max-width:390px) ja täiendavat plokki failis lõpus. */
  }
}


@media (max-width: 782px) {
  /* v1.1.0 – täiustatud ostuploki paigutus ja tugevamad override'id */
  .vmp-info-card { gap: 0; }
  .vmp-meta-grid { grid-template-columns: 1fr; }
  .vmp-buybox {
    margin-top: 4px;
    padding: 16px;
    border-radius: 22px;
    background: linear-gradient(180deg,#fffaf2 0%,#fff6ea 100%);
    box-shadow: inset 0 0 0 1px rgba(251,133,0,.16);
  }
  .vmp-buybox form.cart.variations_form {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .vmp-buybox table.variations {
    margin: 0 !important;
  }
  .vmp-buybox table.variations tr:last-child {
    margin-bottom: 0 !important;
  }
  .vmp-buybox table.variations td.value {
    min-height: 0 !important;
  }
  .vmp-buybox .single_variation_wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .vmp-buybox .single_variation_wrap > * {
    min-width: 0 !important;
  }
  .vmp-buybox .woocommerce-variation,
  .vmp-buybox .single_variation {
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  .vmp-buybox .woocommerce-variation.vmp-empty-variation,
  .vmp-buybox .single_variation.vmp-empty-variation {
    display: none !important;
  }
  .vmp-buybox .woocommerce-variation-price,
  .vmp-buybox .woocommerce-variation-description,
  .vmp-buybox .woocommerce-variation-availability {
    margin: 0 !important;
    padding: 0 !important;
  }
  .vmp-buybox .woocommerce-variation-description p,
  .vmp-buybox .woocommerce-variation-availability p {
    margin: 0 !important;
  }
  .vmp-buybox .woocommerce-variation-price .price {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 12px !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #fb8500 !important;
    font-weight: 1000 !important;
  }
  .vmp-buybox .reset_variations {
    display: inline-flex !important;
    align-items: center !important;
    margin-top: 8px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
  }
  .vmp-buybox .woocommerce-variation-add-to-cart,
  .vmp-buybox .woocommerce-variation-add-to-cart.variations_button,
  .vmp-buybox .variations_button {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0 !important;
  }
  .vmp-buybox .woocommerce-variation-add-to-cart > *,
  .vmp-buybox .variations_button > * {
    min-width: 0 !important;
  }
  .vmp-buybox .quantity {
    align-self: stretch !important;
  }
  .vmp-buybox .single_add_to_cart_button,
  .vmp-buybox button.single_add_to_cart_button {
    align-self: stretch !important;
    justify-self: stretch !important;
    white-space: nowrap !important;
  }
  .vmp-buybox .single_add_to_cart_button .amount {
    font-size: inherit !important;
  }
  .vmp-buybox .single_variation_wrap .woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button {
    opacity: .78 !important;
  }
  .vmp-buybox .woocommerce-variation-add-to-cart-disabled .quantity {
    opacity: 1 !important;
  }
  .vmp-attrs {
    border-radius: 22px;
  }
}

@media (min-width: 520px) and (max-width: 782px) {
  .vmp-meta-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 360px) {
  .vmp-buybox .woocommerce-variation-add-to-cart,
  .vmp-buybox .woocommerce-variation-add-to-cart.variations_button,
  .vmp-buybox .variations_button {
    grid-template-columns: 84px minmax(0,1fr) !important;
    gap: 10px !important;
  }
  .vmp-buybox .quantity {
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
  }
  .vmp-buybox .single_add_to_cart_button,
  .vmp-buybox button.single_add_to_cart_button {
    font-size: 16px !important;
    padding: 0 14px !important;
  }
}


@media (max-width: 782px) {
  /* v2.0.0 – suur mobiili UX uuendus */
  .vmp-info-card {
    border-radius: 26px;
    padding: 18px 16px 16px;
  }

  .vmp-buybox-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 12px;
    padding: 0 0 12px;
    border-bottom: 1px solid rgba(251,133,0,.16);
  }

  .vmp-buybox-head span {
    color: #101827;
    font-size: 18px;
    font-weight: 1000;
    line-height: 1.1;
  }

  .vmp-buybox-head em {
    max-width: 160px;
    color: #8a5a13;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    line-height: 1.25;
    text-align: right;
  }

  .vmp-trust-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin: 0 0 14px;
  }

  .vmp-trust-row span {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid #e6edf5;
    border-radius: 15px;
    background: #f8fafc;
    color: #213047;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.25;
  }

  .vmp-shortdesc,
  .vmp-attrs {
    overflow: hidden;
  }

  .vmp-shortdesc {
    margin: 0 0 14px;
    border: 1px solid #e3eaf2;
    border-radius: 18px;
    background: #ffffff;
  }

  .vmp-accordion-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 56px;
    padding: 0 16px;
    border: 0;
    background: #fff;
    color: #101827;
    text-align: left;
    font-size: 18px;
    font-weight: 1000;
  }

  .vmp-accordion-toggle strong {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: #f1f5f9;
    color: #101827;
    font-size: 20px;
    line-height: 1;
  }

  .vmp-accordion-content {
    padding: 0 16px 14px;
  }

  .vmp-accordion-content.is-collapsed {
    display: none !important;
  }

  .vmp-shortdesc p {
    margin: 0 0 10px;
    color: #334155;
    font-size: 15px;
    line-height: 1.55;
  }

  .vmp-shortdesc p:last-child {
    margin-bottom: 0;
  }

  .vmp-attrs {
    padding: 0;
  }

  .vmp-attrs h2 {
    display: none;
  }

  .vmp-attrs .vmp-accordion-content {
    padding: 0 16px 14px;
  }

  .vmp-attrs dl div {
    grid-template-columns: 40% 60%;
    gap: 10px;
    padding: 13px 0;
  }

  .vmp-sticky-buy {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 12px;
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: calc(12px + env(safe-area-inset-bottom));
    z-index: 99990;
    min-height: 72px;
    padding: 10px 12px;
    border: 1px solid rgba(226,232,240,.95);
    border-radius: 24px;
    background: rgba(255,255,255,.94);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    box-shadow: 0 18px 46px rgba(15,23,42,.18);
    transform: translateY(0);
    opacity: 1;
    transition: transform .22s ease, opacity .22s ease;
  }

  .vmp-sticky-buy.is-hidden {
    transform: translateY(115%);
    opacity: 0;
    pointer-events: none;
  }

  .vmp-sticky-text {
    min-width: 0;
    display: grid;
    gap: 2px;
  }

  .vmp-sticky-text strong {
    color: #fb8500;
    font-size: 18px;
    font-weight: 1000;
    line-height: 1.1;
  }

  .vmp-sticky-text strong span,
  .vmp-sticky-text strong .woocommerce-Price-currencySymbol {
    font-size: .85em;
  }

  .vmp-sticky-text > span {
    min-width: 0;
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .vmp-sticky-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    max-width: 178px;
    padding: 0 16px;
    border: 0;
    border-radius: 18px;
    background: linear-gradient(135deg,#ffd28a 0%,#fb8500 100%);
    color: #fff;
    font-size: 14px;
    font-weight: 1000;
    line-height: 1.12;
    text-align: center;
    box-shadow: 0 12px 22px rgba(251,133,0,.24);
  }

  .vmp-mobile-product:has(#vmp-buybox) {
    padding-bottom: calc(var(--vmp-bottom-pad, 148px) + 86px + env(safe-area-inset-bottom));
  }

  .vmp-buybox.is-highlighted {
    animation: vmpPulseBuybox 1.1s ease both;
  }

  @keyframes vmpPulseBuybox {
    0%, 100% { box-shadow: inset 0 0 0 1px rgba(251,133,0,.16); }
    35% { box-shadow: 0 0 0 6px rgba(251,133,0,.18), 0 16px 34px rgba(251,133,0,.16); }
  }

  .vmp-buybox .single_add_to_cart_button,
  .vmp-buybox button.single_add_to_cart_button {
    font-size: 18px !important;
    border-radius: 20px !important;
  }
}

@media (min-width: 380px) and (max-width: 782px) {
  .vmp-trust-row {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }

  .vmp-trust-row span {
    align-items: flex-start;
    min-height: 70px;
    padding: 10px;
    font-size: 11.5px;
  }
}

@media (max-width: 360px) {
  .vmp-sticky-buy {
    left: 8px;
    right: 8px;
    grid-template-columns: minmax(0,1fr) 132px;
  }

  .vmp-sticky-btn {
    max-width: 132px;
    padding: 0 12px;
    font-size: 13px;
  }
}


@media (max-width: 782px) {
  /* v2.1.0 – veel suurem mobiili viimistlus */
  .vmp-mobile-product {
    scroll-behavior: smooth;
  }

  .vmp-media-card {
    border-radius: 26px;
  }

  .vmp-main-image-btn {
    touch-action: pan-y;
  }

  .vmp-image-badges {
    position: absolute;
    left: 16px;
    top: 16px;
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    max-width: calc(100% - 92px);
  }

  .vmp-image-badges span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid rgba(226,232,240,.92);
    border-radius: 999px;
    background: rgba(255,255,255,.92);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    color: #122033;
    font-size: 11px;
    font-weight: 1000;
    letter-spacing: .02em;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(15,23,42,.08);
  }

  .vmp-image-badges span.is-muted {
    color: #64748b;
  }

  .vmp-gallery-counter {
    position: sticky;
    left: 0;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 58px;
    height: 58px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #0f172a;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(15,23,42,.12);
  }

  .vmp-gallery-counter span {
    font-size: 19px;
    font-weight: 1000;
  }

  .vmp-gallery-counter strong {
    font-size: 13px;
    font-weight: 900;
    opacity: .8;
  }

  .vmp-service-card {
    display: grid;
    gap: 9px;
    margin: 0 0 14px;
    padding: 12px;
    border: 1px solid #e3eaf2;
    border-radius: 18px;
    background: linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  }

  .vmp-service-card div {
    display: grid;
    grid-template-columns: 34% 66%;
    gap: 10px;
    align-items: center;
    min-height: 38px;
    padding: 0 0 8px;
    border-bottom: 1px solid #eef2f6;
  }

  .vmp-service-card div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .vmp-service-card span {
    color: #64748b;
    font-size: 12px;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .04em;
  }

  .vmp-service-card strong {
    min-width: 0;
    color: #172033;
    font-size: 14px;
    font-weight: 900;
    overflow-wrap: anywhere;
  }

  .vmp-back-top {
    position: fixed;
    right: 16px;
    bottom: calc(96px + env(safe-area-inset-bottom));
    z-index: 99991;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(226,232,240,.95);
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    color: #101827;
    font-size: 24px;
    font-weight: 1000;
    box-shadow: 0 16px 38px rgba(15,23,42,.16);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
  }

  .vmp-back-top.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  .vmp-buybox,
  .vmp-shortdesc,
  .vmp-attrs,
  .vmp-service-card,
  .vmp-meta {
    transition: transform .18s ease, box-shadow .18s ease;
  }

  .vmp-buybox:active,
  .vmp-shortdesc:active,
  .vmp-attrs:active,
  .vmp-meta:active {
    transform: scale(.995);
  }

  .vmp-sticky-buy {
    bottom: calc(10px + env(safe-area-inset-bottom));
  }
}

@media (min-width: 430px) and (max-width: 782px) {
  .vmp-service-card {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }

  .vmp-service-card div {
    display: block;
    min-height: 76px;
    padding: 10px;
    border: 1px solid #eef2f6;
    border-radius: 14px;
    background: #fff;
  }

  .vmp-service-card span,
  .vmp-service-card strong {
    display: block;
  }

  .vmp-service-card span {
    margin-bottom: 7px;
  }
}


/* ============================================================
 * v2.4.1 — Core integration polish (RIDA #5 stable rewrite)
 * ------------------------------------------------------------
 * Eelmise iteratsiooni (v2.4.0) probleemid:
 *  - Sisemine nested @media (max-width:360px) sees @media
 *    (max-width:782px) ei tööta osades brauserites korralikult.
 *  - CSS grid lubas teisel veerul kahaneda alla nupu min-content,
 *    mistõttu telefon kuvas "Lisa korvi" kahel real / üliväike.
 *  - Vana display:none kasutas selektorit "div.product", aga
 *    teema renderib <article class="product">. Sellega ei
 *    peitunud vana tootevaade ja kuvas suure tühja ala.
 *
 * v2.4.1 lahendab:
 *  1) Flex (mitte grid) — qty fikseeritud laiusega, nupp võtab
 *     ülejäänud ruumi flex-1, min-width:0 et tekst saaks vajadusel
 *     pisut ellipsi'da. Kogu reegel on lameda media query'na.
 *  2) Sticky riba ja "tagasi üles" desktopis peidetud (sama mis enne).
 *  3) Galerii-overlay topelt energiamärgis peidetud (sama mis enne).
 *  4) Vana tootevaate peitmine on liikunud PHP inline_css() sisse
 *     ja kasutab nüüd nii div.product kui article.product selektoreid.
 * ============================================================ */

/* DESKTOP — peida mobiili-spetsiifilised ujuvad elemendid (sama). */
body.vlg-mobile-product-pro-enabled .vmp-sticky-buy,
body.vlg-mobile-product-pro-enabled .vmp-back-top,
.vmp-sticky-buy,
.vmp-back-top {
  display: none;
}

/* Galerii-overlay topelt-märgis peidetud (sama). */
.single-product .vlg-single-image-energy {
  display: none !important;
}

/* ----------------------------------------------------------------
 * MOBIILI VAATE LUKK — buybox horisontaalne paigutus (FLEX, mitte grid)
 * Selektori valik on tehtud nii üldiseks kui võimalik, et ka kui
 * body klass mingil põhjusel pole rakendatud, vmp-buybox selektor
 * jätkab tööd. Specificity tõstmiseks kasutame :where()-ta selektorit.
 * ---------------------------------------------------------------- */
@media (max-width: 782px) {

  /* Buybox container ise — pehmem äär, parem varju. */
  .vmp-buybox,
  body.vlg-mobile-product-pro-enabled .vmp-buybox {
    padding: 16px !important;
    border: 1px solid rgba(251,133,0,.28) !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg,#fffbf3 0%,#fff5e3 100%) !important;
    box-shadow:
      0 1px 0 rgba(255,255,255,.9) inset,
      0 18px 38px rgba(251,133,0,.10) !important;
    overflow: visible !important;
  }

  /* Buybox-head ("Ostuvalikud" / "Vali kogus ja lisa ostukorvi"). */
  .vmp-buybox .vmp-buybox-head,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .vmp-buybox-head {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
  }
  .vmp-buybox .vmp-buybox-head span,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .vmp-buybox-head span {
    color: #0f172a !important;
    font-size: 16px !important;
    font-weight: 1000 !important;
    letter-spacing: -.01em !important;
  }
  .vmp-buybox .vmp-buybox-head em,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .vmp-buybox-head em {
    color: #d56f00 !important;
    font-style: normal !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
  }

  /* form.cart simple product — FLEX horisontaalne. */
  .vmp-buybox form.cart:not(.variations_form),
  body.vlg-mobile-product-pro-enabled .vmp-buybox form.cart:not(.variations_form) {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  /* Variation form jääb block-ks; variations_button container saab
   * sama flex paigutuse. */
  .vmp-buybox form.cart.variations_form,
  body.vlg-mobile-product-pro-enabled .vmp-buybox form.cart.variations_form {
    display: block !important;
  }

  .vmp-buybox .woocommerce-variation-add-to-cart,
  .vmp-buybox .woocommerce-variation-add-to-cart.variations_button,
  .vmp-buybox .variations_button,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .woocommerce-variation-add-to-cart,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .variations_button {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  /* QTY KAST — fikseeritud laius, alati esimesena (flex order:1). */
  .vmp-buybox form.cart > .quantity,
  .vmp-buybox .woocommerce-variation-add-to-cart > .quantity,
  .vmp-buybox .variations_button > .quantity,
  body.vlg-mobile-product-pro-enabled .vmp-buybox form.cart > .quantity {
    flex: 0 0 84px !important;
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    align-self: stretch !important;
    order: 1 !important;
    display: block !important;
  }

  .vmp-buybox .qty,
  .vmp-buybox input.qty,
  body.vlg-mobile-product-pro-enabled .vmp-buybox input.qty {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 8px !important;
    border: 1px solid #ffd49a !important;
    border-radius: 16px !important;
    background: #fff !important;
    text-align: center !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.6) inset !important;
    box-sizing: border-box !important;
  }

  .vmp-buybox input.qty:focus,
  body.vlg-mobile-product-pro-enabled .vmp-buybox input.qty:focus {
    outline: none !important;
    border-color: #fb8500 !important;
    box-shadow: 0 0 0 3px rgba(251,133,0,.18) !important;
  }

  /* LISA KORVI NUPP — võtab kogu ülejäänud ruumi paremal (flex:1).
   * min-width:0 lubab tekstil korralikult mahtuda ilma välja
   * surumata. Order:2 garanteerib paigutuse paremal. */
  .vmp-buybox form.cart > .single_add_to_cart_button,
  .vmp-buybox form.cart > button.single_add_to_cart_button,
  .vmp-buybox .woocommerce-variation-add-to-cart > .single_add_to_cart_button,
  .vmp-buybox .variations_button > .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled .vmp-buybox form.cart > .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled .vmp-buybox form.cart > button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .woocommerce-variation-add-to-cart > .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .variations_button > .single_add_to_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 0% !important;
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
    flex-basis: 0% !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg,#ffb84a 0%,#fb8500 55%,#ef6c00 100%) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 1000 !important;
    line-height: 1.15 !important;
    letter-spacing: .01em !important;
    text-align: center !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    align-self: stretch !important;
    order: 2 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    box-shadow:
      0 1px 0 rgba(255,255,255,.35) inset,
      0 14px 26px rgba(251,133,0,.34) !important;
    transition: transform .12s ease, box-shadow .18s ease, filter .18s ease !important;
    cursor: pointer !important;
  }

  /* Pseudo-element tühjenemine — vältida lisa nooli/tegelasi. */
  .vmp-buybox .single_add_to_cart_button::before,
  .vmp-buybox .single_add_to_cart_button::after {
    display: none !important;
    content: none !important;
  }

  .vmp-buybox .single_add_to_cart_button span,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .single_add_to_cart_button span {
    display: inline !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: inherit !important;
    font: inherit !important;
  }

  .vmp-buybox .single_add_to_cart_button:hover,
  .vmp-buybox .single_add_to_cart_button:focus-visible,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .single_add_to_cart_button:hover {
    filter: brightness(1.05) !important;
    box-shadow:
      0 1px 0 rgba(255,255,255,.4) inset,
      0 18px 32px rgba(251,133,0,.42) !important;
  }

  .vmp-buybox .single_add_to_cart_button:active,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .single_add_to_cart_button:active {
    transform: translateY(1px) !important;
  }

  .vmp-buybox .single_add_to_cart_button.disabled,
  .vmp-buybox .single_add_to_cart_button.wc-variation-selection-needed {
    opacity: .72 !important;
  }
}

/* Kitsa ekraani spetsiaalreegel — eraldi (LAME, mitte sisesturasse). */
@media (max-width: 380px) {
  .vmp-buybox form.cart > .quantity,
  .vmp-buybox .woocommerce-variation-add-to-cart > .quantity,
  .vmp-buybox .variations_button > .quantity {
    flex-basis: 70px !important;
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
  }

  .vmp-buybox input.qty {
    font-size: 17px !important;
  }

  .vmp-buybox .single_add_to_cart_button {
    font-size: 15px !important;
    padding: 0 10px !important;
  }
}

@media (max-width: 340px) {
  .vmp-buybox form.cart > .quantity,
  .vmp-buybox .woocommerce-variation-add-to-cart > .quantity,
  .vmp-buybox .variations_button > .quantity {
    flex-basis: 62px !important;
    width: 62px !important;
    min-width: 62px !important;
    max-width: 62px !important;
  }
}

/* ============================================================
 * v2.4.2 — Pildi fallback overlay
 * ------------------------------------------------------------
 * Kui <img> pole jõudnud laadida või onerror käivitub, näitame
 * korralikku ploki "Toote pilt laadimisel…" mitte tühja valget
 * ala. Default state: overlay on peidetud, näha on ainult pilt.
 * ============================================================ */

@media (max-width: 782px) {
  .vmp-media-card .vmp-image-fallback-overlay {
    position: absolute;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
    color: #94a3b8;
    font-size: 14px;
    font-weight: 700;
    background: linear-gradient(180deg, #f8fafc 0%, #eef3f7 100%);
    border-radius: inherit;
  }

  .vmp-media-card .vmp-image-fallback-icon {
    font-size: 36px;
    opacity: .6;
  }

  /* Kui pilt feilis (onerror lisas klassi), näitame fallback overlay'd. */
  .vmp-media-card.vmp-image-fallback .vmp-image-fallback-overlay,
  .vmp-media-card .vmp-main-image.vmp-img-failed ~ .vmp-image-fallback-overlay {
    display: flex;
  }

  .vmp-media-card .vmp-main-image.vmp-img-failed {
    visibility: hidden;
  }

  /* Pildi base reeglid — kindlustame, et img on alati nähtav kui src
   * laadub. Mõnedel teemadel on global "img { opacity:0 transition }"
   * lazy-load reegel mis võib pildi peita. Forsime opaque + visible. */
  .vmp-media-card .vmp-main-image,
  body.vlg-mobile-product-pro-enabled .vmp-media-card .vmp-main-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    object-fit: var(--vmp-img-fit, contain) !important;
    object-position: center center !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
  }

  /* Media-card peab olema relative et fallback overlay töötaks. */
  .vmp-media-card,
  body.vlg-mobile-product-pro-enabled .vmp-media-card {
    position: relative !important;
    overflow: hidden !important;
  }

  /* Pildi nupu kontainer — minimaalne kõrgus, et card oleks alati
   * nähtav ja overlay saaks toimida. */
  .vmp-main-image-btn,
  body.vlg-mobile-product-pro-enabled .vmp-main-image-btn {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: var(--vmp-image-h, 270px) !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    cursor: zoom-in !important;
  }
}

/* ============================================================
 * v2.4.8 — Gallery image integrity fix
 * ------------------------------------------------------------
 * Some LED bulb product photos are almost white on white canvas.
 * The previous auto-crop could misread the lamp body as background;
 * thumbnails also used the hard-cropped WP thumbnail size. Keep the
 * whole product visible in both the main image and gallery thumbs.
 * ============================================================ */
@media (max-width: 782px) {
  .vmp-main-image,
  body.vlg-mobile-product-pro-enabled .vmp-main-image {
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
  }

  .vmp-main-image.vmp-cropped,
  body.vlg-mobile-product-pro-enabled .vmp-main-image.vmp-cropped {
    width: 100% !important;
    height: 100% !important;
    max-height: calc(var(--vmp-image-h, 270px) - 10px) !important;
    object-fit: contain !important;
  }

  .vmp-thumb,
  body.vlg-mobile-product-pro-enabled .vmp-thumb {
    overflow: hidden !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .vmp-thumb img,
  body.vlg-mobile-product-pro-enabled .vmp-thumb img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
  }
}

/* ============================================================
 * v2.4.9 — stable gallery + clean buybox controls
 * ------------------------------------------------------------
 * Fixes: thumbnail taps in older Android WebView/Messenger, hidden
 * fallback overlay leakage, and legacy Woo button styling inside the
 * mobile buybox.
 * ============================================================ */
@media (max-width: 782px) {
  body.vlg-mobile-product-pro-enabled .vmp-main-image-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7f9fb 100%) !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  body.vlg-mobile-product-pro-enabled .vmp-main-image {
    width: auto !important;
    height: auto !important;
    max-width: calc(100% - 18px) !important;
    max-height: calc(var(--vmp-image-h, 270px) - 24px) !important;
    object-fit: contain !important;
    object-position: center center !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.vlg-mobile-product-pro-enabled .vmp-image-fallback-overlay {
    display: none !important;
    z-index: 4 !important;
  }

  body.vlg-mobile-product-pro-enabled .vmp-media-card.vmp-image-fallback .vmp-image-fallback-overlay,
  body.vlg-mobile-product-pro-enabled .vmp-main-image.vmp-img-failed + .vmp-image-fallback-overlay,
  body.vlg-mobile-product-pro-enabled .vmp-main-image.vmp-img-failed ~ .vmp-image-fallback-overlay {
    display: flex !important;
  }

  body.vlg-mobile-product-pro-enabled .vmp-thumb {
    touch-action: manipulation !important;
    cursor: pointer !important;
    flex: 0 0 62px !important;
    width: 62px !important;
    height: 62px !important;
    border-radius: 16px !important;
    background: #fff !important;
  }

  body.vlg-mobile-product-pro-enabled .vmp-thumb img {
    pointer-events: none !important;
    user-select: none !important;
    -webkit-user-select: none !important;
  }

  body.vlg-mobile-product-pro-enabled .vmp-thumb.is-active {
    border-color: #f28a00 !important;
    box-shadow: 0 0 0 2px rgba(242, 138, 0, .18), 0 8px 18px rgba(15,23,42,.08) !important;
  }

  body.vlg-mobile-product-pro-enabled .vmp-buybox,
  body.vlg-mobile-product-pro-enabled .vmp-buybox * {
    box-sizing: border-box !important;
  }

  body.vlg-mobile-product-pro-enabled .vmp-buybox .woocommerce-variation-add-to-cart,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .woocommerce-variation-add-to-cart.variations_button,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .variations_button,
  body.vlg-mobile-product-pro-enabled .vmp-buybox form.cart:not(.variations_form) {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  body.vlg-mobile-product-pro-enabled .vmp-buybox .quantity,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .woocommerce-variation-add-to-cart > .quantity,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .variations_button > .quantity,
  body.vlg-mobile-product-pro-enabled .vmp-buybox form.cart:not(.variations_form) > .quantity {
    grid-column: 1 !important;
    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;
    float: none !important;
    margin: 0 !important;
  }

  body.vlg-mobile-product-pro-enabled .vmp-buybox input.qty,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .qty {
    width: 100% !important;
    height: 58px !important;
    min-height: 58px !important;
    border-radius: 18px !important;
    border: 1px solid #e2e8f0 !important;
    background: #fff !important;
    color: #111827 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    text-align: center !important;
  }

  body.vlg-mobile-product-pro-enabled .vmp-buybox .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled .vmp-buybox button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled .vmp-buybox button.button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled .vmp-buybox button.button.alt.single_add_to_cart_button {
    grid-column: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #ffc46f 0%, #f28a00 100%) !important;
    color: #fff !important;
    font-size: clamp(14px, 4.2vw, 17px) !important;
    font-weight: 1000 !important;
    line-height: 1.12 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    box-shadow: 0 12px 22px rgba(242,138,0,.26) !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  body.vlg-mobile-product-pro-enabled .vmp-buybox .single_add_to_cart_button::before,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .single_add_to_cart_button::after {
    display: none !important;
    content: none !important;
  }

  body.vlg-mobile-product-pro-enabled .vmp-buybox .reset_variations {
    margin-top: 10px !important;
    display: inline-flex !important;
  }

  body.vlg-mobile-product-pro-enabled .vmp-buybox select {
    appearance: auto !important;
    -webkit-appearance: menulist !important;
  }
}

@media (max-width: 380px) {
  body.vlg-mobile-product-pro-enabled .vmp-buybox .woocommerce-variation-add-to-cart,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .woocommerce-variation-add-to-cart.variations_button,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .variations_button,
  body.vlg-mobile-product-pro-enabled .vmp-buybox form.cart:not(.variations_form) {
    grid-template-columns: 78px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  body.vlg-mobile-product-pro-enabled .vmp-buybox .quantity,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .woocommerce-variation-add-to-cart > .quantity,
  body.vlg-mobile-product-pro-enabled .vmp-buybox .variations_button > .quantity,
  body.vlg-mobile-product-pro-enabled .vmp-buybox form.cart:not(.variations_form) > .quantity {
    width: 78px !important;
    min-width: 78px !important;
    max-width: 78px !important;
  }
}

/* v2.4.11 — variable product buybox hard fix.
   On narrow mobile screens WooCommerce variation buttons could inherit an older
   product layout and stay half-width/old-position. The mobile buybox now owns the
   action row completely: quantity stays compact and Add to cart is full-width
   below it. */
@media (max-width: 782px) {
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox {
    overflow: visible !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.variations_form,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart.variations_form {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .single_variation_wrap,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-normalized-variation-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .single_variation {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation.vmp-empty-variation,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .single_variation.vmp-empty-variation:empty {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart.variations_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .variations_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-action-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-qty-cell,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart > .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .variations_button > .quantity {
    grid-column: 1 !important;
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    justify-self: start !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox input.qty,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .qty {
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    height: 56px !important;
    min-height: 56px !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-cart-btn,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.button.alt.single_add_to_cart_button {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 58px !important;
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 18px !important;
    float: none !important;
    clear: both !important;
    border-radius: 18px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    transform: none !important;
  }
}


/* v2.4.12 — universal mobile buybox fit guard.
   Keeps quantity + Add to cart inside the card on every product type.
   Normal mobile: compact two-column row. Very narrow mobile: stack button below. */
@media (max-width: 782px) {
  body.vlg-mobile-product-pro-enabled.single-product .vmp-mobile-product,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .single_variation_wrap,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .variations_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-action-row {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox {
    padding-left: clamp(16px, 5vw, 22px) !important;
    padding-right: clamp(16px, 5vw, 22px) !important;
    overflow: hidden !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart:not(.variations_form),
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart.variations_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .variations_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-action-row {
    display: grid !important;
    grid-template-columns: minmax(76px, 88px) minmax(0, 1fr) !important;
    gap: clamp(8px, 2.5vw, 12px) !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-qty-cell,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart > .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart:not(.variations_form) > .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart > .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .variations_button > .quantity {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 88px !important;
    height: 56px !important;
    min-height: 56px !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    flex: none !important;
    transform: none !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox input.qty,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .qty {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 6px !important;
    box-sizing: border-box !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-cart-btn,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart > .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart > button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart > .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .variations_button > .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.button.alt.single_add_to_cart_button {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 clamp(10px, 3vw, 16px) !important;
    box-sizing: border-box !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    flex: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
  }
}

@media (max-width: 360px) {
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart:not(.variations_form),
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart.variations_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .variations_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-action-row {
    grid-template-columns: 80px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-cart-btn,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.button.alt.single_add_to_cart_button {
    font-size: 15px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

@media (max-width: 330px) {
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart:not(.variations_form),
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart.variations_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .variations_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-action-row {
    grid-template-columns: 1fr !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-qty-cell,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart > .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart > .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .variations_button > .quantity {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 88px !important;
    max-width: 88px !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-cart-btn,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.button.alt.single_add_to_cart_button {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
}

/* ============================================================
 * v2.4.13 — bulletproof mobile buybox stack
 * ------------------------------------------------------------
 * Some variable products still inherited legacy WooCommerce button
 * widths in embedded browsers. Mobile buybox now uses a simple, safe
 * vertical purchase layout on every product: qty first, full-width CTA
 * second. This prevents horizontal overflow on all screen widths.
 * ============================================================ */
@media (max-width: 782px) {
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.variations_form,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .single_variation_wrap,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart.variations_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .variations_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-action-row {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    transform: none !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox {
    padding: 18px !important;
    border-radius: 22px !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox table.variations,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .single_variation {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-qty-cell,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart > .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart:not(.variations_form) > .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart > .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .variations_button > .quantity {
    display: block !important;
    width: 96px !important;
    min-width: 0 !important;
    max-width: 96px !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
    position: static !important;
    inset: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    justify-self: start !important;
    transform: none !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox input.qty,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .qty {
    display: block !important;
    width: 96px !important;
    min-width: 0 !important;
    max-width: 96px !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 6px !important;
    box-sizing: border-box !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-cart-btn,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart > .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart > button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart > .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .variations_button > .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.button.alt.single_add_to_cart_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    float: none !important;
    clear: both !important;
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #ffc46f 0%, #f28a00 100%) !important;
    color: #fff !important;
    font-size: clamp(15px, 4.2vw, 18px) !important;
    font-weight: 1000 !important;
    line-height: 1.12 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    transform: none !important;
    box-shadow: 0 12px 24px rgba(242,138,0,.28) !important;
  }
}


/* ============================================================
 * v2.4.14 — clean mobile quantity + button spacing
 * ------------------------------------------------------------
 * Keeps quantity and CTA on one tidy row where there is room,
 * adds a visible gap, removes browser number spinners that looked
 * like a grey block between the fields, and stacks safely only on
 * very narrow screens.
 * ============================================================ */
@media (max-width: 782px) {
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart.variations_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .variations_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart:not(.variations_form),
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-action-row {
    display: grid !important;
    grid-template-columns: minmax(82px, 96px) minmax(0, 1fr) !important;
    column-gap: 18px !important;
    row-gap: 12px !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-qty-cell,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart > .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart:not(.variations_form) > .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart > .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .variations_button > .quantity {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: block !important;
    width: 96px !important;
    min-width: 0 !important;
    max-width: 96px !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 18px !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox input.qty,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .qty {
    display: block !important;
    width: 96px !important;
    max-width: 96px !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 18px !important;
    text-align: center !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox input.qty::-webkit-outer-spin-button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-cart-btn,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart > .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart > button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart > .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .variations_button > .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.button.alt.single_add_to_cart_button {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 !important;
    clear: none !important;
  }
}

@media (max-width: 360px) {
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart.variations_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .variations_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart:not(.variations_form),
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-action-row {
    grid-template-columns: 90px minmax(0, 1fr) !important;
    column-gap: 14px !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .quantity,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-qty-cell,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox input.qty,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .qty {
    width: 90px !important;
    max-width: 90px !important;
  }
}

@media (max-width: 330px) {
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .woocommerce-variation-add-to-cart.variations_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .variations_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox form.cart:not(.variations_form),
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-action-row {
    grid-template-columns: 1fr !important;
  }

  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-cart-btn,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.button.single_add_to_cart_button,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox button.button.alt.single_add_to_cart_button {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin-top: 0 !important;
  }
}


/* v2.4.16 — keep energy label visible on mobile single product view. */
@media (max-width: 782px) {
  body.vlg-mobile-product-pro-enabled.single-product .vmp-energy-mini {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 58px !important;
    right: 18px !important;
    bottom: 88px !important;
    z-index: 8 !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-energy-row {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 10px 0 0 !important;
  }
}


/* v2.4.17 — stronger single-product mobile energy fallback and cleaner compact label. */
@media (max-width: 782px) {
  body.vlg-mobile-product-pro-enabled.single-product .vmp-energy-mini {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-energy-euel-fallback {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 10px 0 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-energy-euel-fallback > span:first-child {
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: #64748b !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-energy-euel-fallback .fs-euel-label,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-energy-euel-fallback .fs-euel-label-link,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-energy-euel-fallback .fs-euel-label-combo {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: 74px !important;
    position: static !important;
    transform: none !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-energy-euel-fallback img.fs-euel-badge-img {
    width: 54px !important;
    max-width: 54px !important;
    height: auto !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-energy-euel-fallback .fs-euel-modal-button {
    min-height: 34px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
  }
}


/* v2.4.18 — remove duplicate energy label from the main product image on the mobile single-product view.
   The energy label remains visible in the info section below, so the image stays cleaner and avoids duplicate UI. */
.vmp-mobile-product .vmp-energy-mini {
  display: none !important;
}


/* v2.4.22 — mobile product page UX polish: tap main image to switch gallery, keep zoom separate, place energy label beside price, and fix buybox heading wrap. */
@media (max-width: 782px) {
  body.vlg-mobile-product-pro-enabled.single-product .vmp-media-card { position: relative !important; }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-main-image-btn { cursor: pointer !important; }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-image-zoom {
    position: absolute !important;
    right: 16px !important;
    bottom: 16px !important;
    display: grid !important;
    place-items: center !important;
    width: 44px !important;
    height: 44px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.96) !important;
    color: #0f172a !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    box-shadow: 0 12px 24px rgba(15,23,42,.12) !important;
    z-index: 7 !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-energy-mini {
    bottom: 72px !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-price-energy {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: stretch !important;
    gap: 12px !important;
    margin: 0 0 14px !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-price-energy .vmp-price {
    margin: 0 !important;
    border-radius: 0 !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-price-energy__label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 94px !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-energy-row,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-energy-euel-fallback {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 10px 8px !important;
    border: 1px solid #e6edf5 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    text-align: center !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-energy-row__text,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-energy-euel-fallback > span:first-child {
    font-size: 11px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    color: #334155 !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-buybox-head,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    align-items: start !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-buybox-head span,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox-head span {
    display: block !important;
    width: 100% !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox .vmp-buybox-head em,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-buybox-head em {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    text-align: left !important;
  }
}

@media (max-width: 390px) {
  body.vlg-mobile-product-pro-enabled.single-product .vmp-price-energy {
    grid-template-columns: minmax(0,1fr) 92px !important;
    gap: 10px !important;
  }
}


/* v2.4.23 — avoid duplicate energy labels on mobile: keep the inline price-area label, hide the image overlay badge. */
@media (max-width: 782px) {
  body.vlg-mobile-product-pro-enabled.single-product .vmp-media-card .vmp-energy-mini {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
}


/* v2.4.24 — Arvutitark-style mobile product image lightbox. */
@media (max-width: 782px) {
  body.vlg-mobile-product-pro-enabled.single-product .vmp-main-image-btn { cursor: zoom-in !important; }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox {
    padding: 8px !important;
    background: rgba(248,250,252,.98) !important;
    backdrop-filter: blur(10px) !important;
    flex-direction: column !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox.is-open { display: flex !important; }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox-stage {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 20px !important;
    padding: 12px !important;
    box-shadow: 0 18px 60px rgba(15,23,42,.18) !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox-stage img,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox img {
    max-width: 100% !important;
    max-height: calc(100dvh - 190px) !important;
    object-fit: contain !important;
    background: #fff !important;
    border-radius: 0 !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox-close {
    z-index: 3 !important;
    top: 14px !important;
    right: 14px !important;
    box-shadow: 0 12px 28px rgba(15,23,42,.16) !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox-nav {
    position: absolute !important;
    top: 46% !important;
    z-index: 3 !important;
    width: 44px !important;
    height: 44px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #0f172a !important;
    font-size: 30px !important;
    line-height: 1 !important;
    box-shadow: 0 14px 32px rgba(15,23,42,.16) !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox-prev { left: 14px !important; }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox-next { right: 14px !important; }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox-counter {
    margin: 10px 0 0 !important;
    padding: 6px 12px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #334155 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox-thumbs {
    display: flex !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    padding: 10px 4px 4px !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox-thumb {
    flex: 0 0 62px !important;
    width: 62px !important;
    height: 62px !important;
    display: grid !important;
    place-items: center !important;
    padding: 5px !important;
    border: 1px solid #d8e1ee !important;
    border-radius: 12px !important;
    background: #fff !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox-thumb.is-active {
    border-color: #0f172a !important;
    box-shadow: 0 0 0 2px rgba(15,23,42,.12) !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox-thumb img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    border-radius: 0 !important;
  }
}
html.vmp-lightbox-open, html.vmp-lightbox-open body { overflow: hidden !important; }

/* v2.4.25 — fallback: if old Core mobile lightbox is used, make it closer to the bright Arvutitark-style viewer. */
@media (max-width: 782px) {
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox {
    background: rgba(255,255,255,.985) !important;
    backdrop-filter: blur(8px) !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox img {
    max-width: 96vw !important;
    max-height: 82dvh !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox-close {
    background: #fff !important;
    color: #0f172a !important;
    border-radius: 999px !important;
    box-shadow: 0 14px 40px rgba(15,23,42,.13) !important;
  }
}


/* v2.4.26 — avoid running the legacy Core image lightbox alongside the theme's unified product-image viewer. */
@media (max-width: 782px) {
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox:not(.is-open-by-core-only) {
    display: none !important;
  }
}

/* v2.4.44 — mobile product image/lightbox edge guard.
 * Fixes in-app browser / Messenger cases where the full-screen gallery is
 * rendered a few pixels too wide or shifted, leaving a broken left edge. */
@media (max-width: 782px) {
  html.vlg-at-gallery-modal-open,
  html.vmp-lightbox-open,
  html.vlg-at-gallery-modal-open body,
  html.vmp-lightbox-open body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overscroll-behavior-x: none !important;
    touch-action: pan-y pinch-zoom !important;
  }

  body .vlg-at-gallery-modal,
  body.vlg-theme .vlg-at-gallery-modal,
  body .vmp-lightbox,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox {
    left: 0 !important;
    right: auto !important;
    top: 0 !important;
    bottom: auto !important;
    width: var(--vlg-core-vvw, 100%) !important;
    max-width: var(--vlg-core-vvw, 100%) !important;
    min-width: 0 !important;
    height: var(--vlg-core-vvh, 100dvh) !important;
    max-height: var(--vlg-core-vvh, 100dvh) !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: none !important;
    translate: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    contain: layout paint size !important;
  }

  body .vlg-at-gallery-modal.is-open,
  body.vlg-theme .vlg-at-gallery-modal.is-open,
  body .vmp-lightbox.is-open,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox.is-open {
    display: flex !important;
  }

  body .vlg-at-gallery-modal__dialog,
  body.vlg-theme .vlg-at-gallery-modal__dialog {
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding-left: max(10px, env(safe-area-inset-left)) !important;
    padding-right: max(10px, env(safe-area-inset-right)) !important;
    transform: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body .vlg-at-gallery-modal__stage,
  body.vlg-theme .vlg-at-gallery-modal__stage,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox-stage {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body .vlg-at-gallery-modal__img,
  body.vlg-theme .vlg-at-gallery-modal__img,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox-stage img,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox img {
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body .vlg-at-gallery-modal__counter,
  body.vlg-theme .vlg-at-gallery-modal__counter {
    left: max(10px, env(safe-area-inset-left)) !important;
    transform: none !important;
  }

  body .vlg-at-gallery-modal__close,
  body.vlg-theme .vlg-at-gallery-modal__close {
    right: max(10px, env(safe-area-inset-right)) !important;
    transform: none !important;
  }

  body .vlg-at-gallery-modal__nav--prev,
  body.vlg-theme .vlg-at-gallery-modal__nav--prev {
    left: max(8px, env(safe-area-inset-left)) !important;
  }

  body .vlg-at-gallery-modal__nav--next,
  body.vlg-theme .vlg-at-gallery-modal__nav--next {
    right: max(8px, env(safe-area-inset-right)) !important;
  }

  body .vlg-at-gallery-modal__thumbs,
  body.vlg-theme .vlg-at-gallery-modal__thumbs,
  body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox-thumbs {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain !important;
  }

  @supports (width: 100dvw) {
    body .vlg-at-gallery-modal,
    body.vlg-theme .vlg-at-gallery-modal,
    body .vmp-lightbox,
    body.vlg-mobile-product-pro-enabled.single-product .vmp-lightbox {
      width: var(--vlg-core-vvw, 100dvw) !important;
      max-width: var(--vlg-core-vvw, 100dvw) !important;
    }
  }
}

@media (max-width: 390px) {
  body .vlg-at-gallery-modal__stage,
  body.vlg-theme .vlg-at-gallery-modal__stage {
    padding-left: 38px !important;
    padding-right: 38px !important;
  }
}
