/* UK Vape Kings cart drawer — what the scoped store stylesheet cannot know about Porto. */
body.ukvk-drawer-open { overflow: hidden; }
.ukvk-drawer-root { display: block; }
/* the store hides the empty-state block until the drawer is empty, and the header/footer when it is */
.ukvk-drawer-root cart-drawer.is-empty .drawer__inner-empty { display: block; }
.ukvk-drawer-root cart-drawer:not(.is-empty) .drawer__inner-empty { display: none; }
.ukvk-drawer-root cart-drawer.is-empty .drawer__header,
.ukvk-drawer-root cart-drawer.is-empty cart-drawer-items,
.ukvk-drawer-root cart-drawer.is-empty .drawer__footer { display: none; }
/* Porto's header is z-index 1001+; the overlay must sit above the whole page */
.ukvk-drawer-root .drawer { z-index: 100000; }
/* fragments briefly replace the element while loading */
.ukvk-drawer-root cart-drawer.is-loading .drawer__inner { pointer-events: none; }
/* Elementor Pro's own side cart never opens */
.elementor-menu-cart__container { display: none !important; }
/* Bootstrap utilities under Porto (same fix as the cart page) */
.ukvk-sf:not(#ukvk-x) .pb-1 { padding-bottom: 9.5px !important; }
.ukvk-sf:not(#ukvk-x) .mb-2 { margin-bottom: 19px !important; }
.ukvk-sf:not(#ukvk-x) .mb-1 { margin-bottom: 9.5px !important; }
.ukvk-sf:not(#ukvk-x) .mb-0 { margin-bottom: 0 !important; }
.ukvk-sf:not(#ukvk-x) .mt-0 { margin-top: 0 !important; }
.ukvk-sf:not(#ukvk-x) .mt-1 { margin-top: 9.5px !important; }
.ukvk-sf:not(#ukvk-x) .m-0 { margin: 0 !important; }
.ukvk-sf:not(#ukvk-x) .p-15 { padding: 14.25px !important; }
.ukvk-sf:not(#ukvk-x) .pl-15 { padding-left: 14.25px !important; }
.ukvk-sf:not(#ukvk-x) .pr-15 { padding-right: 14.25px !important; }
.ukvk-sf:not(#ukvk-x) .pl-2 { padding-left: 19px !important; }
.ukvk-sf:not(#ukvk-x) .pr-2 { padding-right: 19px !important; }
.ukvk-sf:not(#ukvk-x) .pt-1 { padding-top: 9.5px !important; }
.ukvk-sf:not(#ukvk-x) .pb-2 { padding-bottom: 19px !important; }
.ukvk-sf:not(#ukvk-x) .pt-15 { padding-top: 14.25px !important; }
.ukvk-sf:not(#ukvk-x) .mb-15 { margin-bottom: 14.25px !important; }
.ukvk-sf:not(#ukvk-x) .gap-1 { gap: 9.5px !important; }
.ukvk-sf:not(#ukvk-x) .gap-2 { gap: 19px !important; }
.ukvk-sf:not(#ukvk-x) .flex { display: flex !important; }
.ukvk-sf:not(#ukvk-x) .flex-col { flex-direction: column !important; }
.ukvk-sf:not(#ukvk-x) .flex-row { flex-direction: row !important; }
.ukvk-sf:not(#ukvk-x) .flex-wrap { flex-wrap: wrap !important; }
.ukvk-sf:not(#ukvk-x) .items-center { align-items: center !important; }
.ukvk-sf:not(#ukvk-x) .justify-between { justify-content: space-between !important; }
.ukvk-sf:not(#ukvk-x) .w-full { width: 100% !important; }
.ukvk-sf:not(#ukvk-x) .relative { position: relative !important; }
.ukvk-sf:not(#ukvk-x) .border { border: 1px solid rgba(var(--color-foreground), .08) !important; }
.ukvk-sf:not(#ukvk-x) .right { text-align: end !important; }
.ukvk-sf:not(#ukvk-x) .center { text-align: center !important; }
.ukvk-sf:not(#ukvk-x) h2.text-body, .ukvk-sf:not(#ukvk-x) p.text-body { color: inherit !important; }
.ukvk-sf:not(#ukvk-x) .card__heading.text-body { color: #090808 !important; }
.ukvk-sf .card { min-width: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; flex-direction: column; line-height: inherit; }
.ukvk-sf .media { align-items: initial; }
.ukvk-sf h1, .ukvk-sf h2, .ukvk-sf h3, .ukvk-sf p, .ukvk-sf th, .ukvk-sf td, .ukvk-sf dt, .ukvk-sf dd, .ukvk-sf label { color: inherit; }
.ukvk-sf .underlined-link { text-decoration: underline; }
.ukvk-sf a.cart-item__name { color: currentColor; }
.ukvk-sf .cart-item .cart-item__discounted-prices dd { display: block; margin: 0; }
.ukvk-sf .cart-item .quantity__input, .ukvk-sf .cart-item .quantity__button { line-height: normal; }
.ukvk-sf input[type="checkbox"] { margin: 3px 3px 3px 4px; }
.ukvk-sf .footer-message label { line-height: 1; }
.ukvk-sf:not(#ukvk-x) .reward-points-hint { background: linear-gradient(180deg, #8C00FC 0%, #5900C6 100%); color: #fff; margin: 10px 0; font-weight: 700; line-height: 19.8947px; display: flex; justify-content: center; align-items: center; gap: 8px; padding: 10px; font-size: 14px; border-radius: 4px; }
.ukvk-sf:not(#ukvk-x) .reward-points-hint img { display: block; margin: 0; width: 20px; height: 20px; }
.ukvk-sf .ukvk-sf-card__link { position: absolute; inset: 0; z-index: 1; }
.ukvk-sf .ukvk-sf-stars { position: relative; display: inline-block; width: 78px; height: 14px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 78 14'><g fill='%23dcdcdc'><path d='M7 0l2 4.6 5 .5-3.8 3.3L11.3 13 7 10.5 2.7 13l1.1-4.6L0 5.1l5-.5z'/><path d='M23 0l2 4.6 5 .5-3.8 3.3L27.3 13 23 10.5 18.7 13l1.1-4.6L16 5.1l5-.5z'/><path d='M39 0l2 4.6 5 .5-3.8 3.3L43.3 13 39 10.5 34.7 13l1.1-4.6L32 5.1l5-.5z'/><path d='M55 0l2 4.6 5 .5-3.8 3.3L59.3 13 55 10.5 50.7 13l1.1-4.6L48 5.1l5-.5z'/><path d='M71 0l2 4.6 5 .5-3.8 3.3L75.3 13 71 10.5 66.7 13l1.1-4.6L64 5.1l5-.5z'/></g></svg>") no-repeat; }
.ukvk-sf .ukvk-sf-stars::after { content: ""; position: absolute; inset: 0; width: var(--pct, 0%); background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 78 14'><g fill='%23f5e121'><path d='M7 0l2 4.6 5 .5-3.8 3.3L11.3 13 7 10.5 2.7 13l1.1-4.6L0 5.1l5-.5z'/><path d='M23 0l2 4.6 5 .5-3.8 3.3L27.3 13 23 10.5 18.7 13l1.1-4.6L16 5.1l5-.5z'/><path d='M39 0l2 4.6 5 .5-3.8 3.3L43.3 13 39 10.5 34.7 13l1.1-4.6L32 5.1l5-.5z'/><path d='M55 0l2 4.6 5 .5-3.8 3.3L59.3 13 55 10.5 50.7 13l1.1-4.6L48 5.1l5-.5z'/><path d='M71 0l2 4.6 5 .5-3.8 3.3L75.3 13 71 10.5 66.7 13l1.1-4.6L64 5.1l5-.5z'/></g></svg>") no-repeat; }
.ukvk-sf .ukvk-sf-stars__count { font-size: 12px; line-height: 1; }

/* third pass: ID-level where Porto's own selectors outrank a plain descendant rule */
.ukvk-sf:not(#ukvk-x) th, .ukvk-sf:not(#ukvk-x) td { color: inherit; }
.ukvk-sf:not(#ukvk-x) dt { font-weight: 400; }
.ukvk-sf:not(#ukvk-x) .card { line-height: inherit; }
.ukvk-sf:not(#ukvk-x) .cart-item .price { font-size: inherit; font-weight: 400; margin: 0; color: inherit; }
.ukvk-sf:not(#ukvk-x) .cart-item s.price-item--regular, .ukvk-sf:not(#ukvk-x) .cart-item .cart-item__old-price { font-weight: 400; opacity: .7; text-decoration: line-through; }
.ukvk-sf:not(#ukvk-x) .card--horizontal__quick-add .icon-wrap { display: flex; width: 17.09px; height: 17.09px; margin-left: 7.6px; }
.ukvk-sf:not(#ukvk-x) .card--horizontal__quick-add .icon-wrap svg { width: 100%; height: 100%; }
.ukvk-sf:not(#ukvk-x) .quick-add__submit[disabled] { opacity: 1; }

/* drawer specifics */
.ukvk-sf:not(#ukvk-x) .cart-drawer .cart-item { background: rgb(var(--color-background)); }
.ukvk-sf:not(#ukvk-x) .cart-drawer .cart-items thead { display: none; }
.ukvk-sf:not(#ukvk-x) .drawer__close { font-size: 13.3333px; line-height: normal; }

/* the empty-state block only shows when the cart is empty (the store hides it; ours sat 628px above the header) */
.ukvk-sf:not(#ukvk-x) cart-drawer:not(.is-empty) .drawer__inner-empty { display: none !important; }

/* ---- 2026-09-25: footer loyalty strip (store: .BLOY-cart__rewards above Estimated total), card line-height ---- */
.ukvk-sf:not(#ukvk-x) cart-drawer .ukvk-bloy-cart--drawer { display: block; margin: 0 0 16px; }
.ukvk-sf:not(#ukvk-x) cart-drawer .ukvk-bloy-cart__inner { display: flex; align-items: center; justify-content: space-between; gap: 8px; background: #E8ECFF; border-radius: 8px; padding: 12px; margin: 0; font-size: 14px; line-height: 25.7895px; color: #303030; }
.ukvk-sf:not(#ukvk-x) cart-drawer .ukvk-bloy-cart__text { flex: 1 1 auto; font-size: 14px; line-height: 25.7895px; color: #303030; }
.ukvk-sf:not(#ukvk-x) cart-drawer .ukvk-bloy-cart__login { flex: 0 0 auto; white-space: nowrap; font-size: 14px; line-height: 25.7895px; color: #303030; text-decoration: underline; }
.ukvk-sf:not(#ukvk-x) li, .ukvk-sf:not(#ukvk-x) product-card, .ukvk-sf:not(#ukvk-x) .card { line-height: inherit; }

/* the store lays each "You may also like" slide out as a flex box (ours was block: +2px) */
.ukvk-sf:not(#ukvk-x) .complementary-slide { display: flex; }

/* the cart drawer's own scroll lock (Dawn adds body.overflow-hidden). The body class used to be ukvk-drawer-open, which is the
   mobile burger menu's open class in ukvk-search.php — adding to the cart slid the left menu in as well (reported 2026-09-25). */
body.ukvk-cart-open { overflow: hidden; }

/* Porto makes <html> the scroll container (overflow-y: auto), so the lock has to sit there too or a phone still scrolls the page behind the drawer */
html.ukvk-cart-open, html.ukvk-cart-open body { overflow: hidden !important; }

/* the CSS port lost the star fill (background-image came out empty): Dawn paints the rating as a green-to-grey gradient clipped to the stars */
.ukvk-sf:not(#ukvk-x) .rating-star::before { background-image: linear-gradient(90deg, var(--color-rating-star) var(--percent), rgba(var(--color-foreground), .15) var(--percent)); }
