/* Vape Queen Sale & Deals. Uses the site's --hp-* tokens when they are loaded, with the same values as fallbacks. */
:root{
  --sd-char:var(--hp-char,#1e2024);--sd-deep:var(--hp-char-deep,#141518);
  --sd-on:var(--hp-on-char,#f4f4f2);--sd-muted:var(--hp-on-char-muted,#a9abb0);
  --sd-line:var(--hp-line-char,rgb(255 255 255 / .1));
  --sd-gold:var(--hp-gold,#ffc42e);--sd-gold-hi:var(--hp-gold-hi,#ffd35c);--sd-on-gold:var(--hp-on-gold,#1e2024);
  --sd-pill:var(--hp-pill,999px);--sd-ease:var(--hp-ease-out,cubic-bezier(.22,1,.36,1));
}

/* ---------- Prices and tags (shop, product page, anywhere Woo prints a price) ---------- */
.vqsd-price del{opacity:.6;font-weight:400;margin-right:.3em}
.vqsd-price ins{text-decoration:none;font-weight:700}
.vqsd-tag,.vqsd-deal-tag{
  display:inline-flex;align-items:center;vertical-align:middle;margin:0 0 0 .4em;padding:.18em .6em;border-radius:var(--sd-pill);
  font-size:.7rem;font-weight:800;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap
}
.vqsd-tag{background:var(--sd-gold);color:var(--sd-on-gold)}
.vqsd-deal-tag{background:var(--sd-char);color:var(--sd-gold);box-shadow:inset 0 0 0 1px rgb(255 196 46 / .45);letter-spacing:.02em;text-transform:none;font-weight:700}

/* ---------- SALE badge over product images ---------- */
li.product.vqsd-on-sale,.product.vqsd-on-sale,.vqsd-card__media{position:relative}
.vqsd-badge{position:absolute;z-index:5;pointer-events:none;font-weight:800;text-transform:uppercase;line-height:1;font-family:inherit}
.vqsd-badge--pill{top:10px;left:10px;padding:.45em .8em;border-radius:var(--sd-pill);background:var(--sd-gold);color:var(--sd-on-gold);font-size:.75rem;letter-spacing:.08em;box-shadow:0 6px 18px -6px rgb(0 0 0 / .45)}
.vqsd-badge--ribbon{top:0;left:0;width:96px;height:96px;overflow:hidden}
.vqsd-badge--ribbon > span{
  position:absolute;top:20px;left:-34px;width:140px;padding:6px 0;transform:rotate(-45deg);text-align:center;
  background:var(--sd-gold);color:var(--sd-on-gold);font-size:.72rem;letter-spacing:.14em;
  box-shadow:0 4px 12px -4px rgb(0 0 0 / .5)
}

/* ---------- Product page deal box ---------- */
.vqsd-deal-box{margin:1rem 0 1.25rem;padding:14px 16px;border-radius:16px;background:var(--sd-char);color:var(--sd-on);border:1px solid rgb(255 196 46 / .35)}
.vqsd-deal-box__row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;padding:4px 0}
.vqsd-deal-box__label{color:var(--sd-gold);font-weight:800}
.vqsd-deal-box__note{color:var(--sd-muted);font-size:.875rem}
.vqsd-deal-box__foot{margin:6px 0 0;color:var(--sd-muted);font-size:.75rem}

/* ---------- Header tab ---------- */
.vqsd-tab{display:inline-flex;align-items:center;gap:.45rem}
.vqsd-tab--gold,.vqsd-tab--gold.hp-nav__link{color:var(--sd-gold)!important;font-weight:700}
.vqsd-tab__dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--sd-gold);box-shadow:0 0 0 0 rgb(255 196 46 / .6);animation:vqsd-pulse 2.2s ease-out infinite}
.hp-menu nav > ul .vqsd-tab__dot{width:12px;height:12px}
@keyframes vqsd-pulse{0%{box-shadow:0 0 0 0 rgb(255 196 46 / .55)}70%{box-shadow:0 0 0 8px rgb(255 196 46 / 0)}100%{box-shadow:0 0 0 0 rgb(255 196 46 / 0)}}
@media (prefers-reduced-motion:reduce){.vqsd-tab__dot{animation:none}}

/* ---------- Sale page ---------- */
.vqsd-page{
  --gap:clamp(12px,2vw,20px);
  background:linear-gradient(180deg,var(--sd-char),var(--sd-deep));color:var(--sd-on);
  border-radius:28px;padding:clamp(20px,4vw,48px) clamp(16px,3vw,40px);margin:0 0 2rem;line-height:1.5;-webkit-font-smoothing:antialiased;
  overflow:hidden;position:relative
}
.vqsd-page *,.vqsd-page *::before,.vqsd-page *::after{box-sizing:border-box}
.vqsd-page--embed{padding-top:clamp(16px,3vw,32px)}
.vqsd-hero{position:relative;text-align:center;padding:clamp(8px,3vw,32px) 0 clamp(20px,4vw,40px)}
.vqsd-hero__glow{position:absolute;inset:-60% -10% auto;height:340px;background:radial-gradient(closest-side,rgb(255 196 46 / .2),transparent);pointer-events:none}
.vqsd-eyebrow{position:relative;margin:0 0 6px;color:var(--sd-gold);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.vqsd-hero__title{position:relative;margin:0 0 12px;color:var(--sd-on);font-family:inherit;font-weight:800;font-size:clamp(2.4rem,9vw,5rem);line-height:.95;text-transform:uppercase;font-variation-settings:"wdth" 70;letter-spacing:0}
.vqsd-hero__text{position:relative;margin:0 auto;max-width:52ch;color:var(--sd-muted);font-size:1rem}
.vqsd-count{position:relative;display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:20px 0 0}
.vqsd-count__label{width:100%;color:var(--sd-muted);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.vqsd-count__cell{display:grid;place-items:center;min-width:64px;padding:8px 10px;border-radius:14px;background:rgb(255 255 255 / .05);border:1px solid var(--sd-line)}
.vqsd-count__cell b{color:var(--sd-gold);font-size:1.6rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.vqsd-count__cell small{color:var(--sd-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}
.vqsd-jump{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:22px 0 0}
.vqsd-jump a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:var(--sd-pill);border:1px solid var(--sd-line);color:var(--sd-on);font-size:.875rem;font-weight:600;text-decoration:none;transition:border-color 200ms ease,color 200ms ease}
@media (hover:hover) and (pointer:fine){.vqsd-jump a:hover{border-color:var(--sd-gold);color:var(--sd-gold)}}

.vqsd-group{padding:clamp(16px,3vw,28px) 0 0;scroll-margin-top:96px}
.vqsd-group__head{margin:0 0 16px}
.vqsd-h2{margin:0;color:var(--sd-on);font-family:inherit;font-weight:800;font-size:clamp(1.5rem,4.5vw,2.25rem);line-height:1;text-transform:uppercase;font-variation-settings:"wdth" 70;letter-spacing:0}
.vqsd-group__text{margin:6px 0 0;color:var(--sd-muted);font-size:.9375rem}

.vqsd-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:var(--gap)}
@media (max-width:520px){.vqsd-grid{grid-template-columns:1fr 1fr;gap:10px}}
.vqsd-card{display:flex;flex-direction:column;margin:0;border-radius:20px;overflow:hidden;background:rgb(255 255 255 / .04);border:1px solid var(--sd-line);transition:border-color 200ms ease,transform 260ms var(--sd-ease)}
@media (hover:hover) and (pointer:fine){.vqsd-card:hover{border-color:rgb(255 196 46 / .45);transform:translateY(-2px)}}
.vqsd-card__media{display:block;aspect-ratio:1;background:#fff;overflow:hidden}
.vqsd-card__media img,.vqsd-card__img{display:block;width:100%!important;height:100%!important;object-fit:contain;margin:0!important}
.vqsd-card.is-sold-out .vqsd-card__media img{opacity:.45;filter:grayscale(1)}
.vqsd-card__out{position:absolute;right:10px;bottom:10px;padding:.35em .7em;border-radius:var(--sd-pill);background:var(--sd-deep);color:var(--sd-on);font-size:.72rem;font-weight:700}
.vqsd-card__body{display:flex;flex-direction:column;gap:8px;flex:1;padding:14px}
.vqsd-card__name{margin:0;font-family:inherit;font-size:.95rem;font-weight:600;line-height:1.3;text-transform:none;letter-spacing:0}
.vqsd-card__name a{color:var(--sd-on);text-decoration:none}
.vqsd-card__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .5rem;margin:0}
.vqsd-card__price del{color:var(--sd-muted);font-size:.9rem}
.vqsd-card__price ins{color:var(--sd-gold);text-decoration:none;font-size:1.25rem;font-weight:800}
.vqsd-card__price .woocommerce-Price-amount{color:inherit}
.vqsd-card__chips{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.vqsd-chip{display:inline-flex;padding:.2em .6em;border-radius:var(--sd-pill);font-size:.72rem;font-weight:700;line-height:1.3;color:var(--sd-gold);box-shadow:inset 0 0 0 1px rgb(255 196 46 / .45)}
.vqsd-chip--save{background:var(--sd-gold);color:var(--sd-on-gold);box-shadow:none}
.vqsd-page .vqsd-card__btn{
  appearance:none;margin-top:auto;display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:0 16px;
  border-radius:var(--sd-pill);border:1px solid transparent;background:var(--sd-gold);color:var(--sd-on-gold);
  font:inherit;font-weight:700;font-size:.9rem;line-height:1.2;text-decoration:none;text-transform:none;letter-spacing:0;cursor:pointer;
  transition:transform 160ms var(--sd-ease),background-color 200ms ease;-webkit-tap-highlight-color:transparent
}
.vqsd-page .vqsd-card__btn--ghost{background:transparent;color:var(--sd-on);border-color:var(--sd-line)}
@media (hover:hover) and (pointer:fine){.vqsd-page .vqsd-card__btn:hover{background:var(--sd-gold-hi)}.vqsd-page .vqsd-card__btn--ghost:hover{background:transparent;border-color:var(--sd-muted)}}
.vqsd-page .vqsd-card__btn:active{transform:scale(.98)}
.vqsd-page .vqsd-card__btn:focus-visible,.vqsd-page a:focus-visible{outline:2px solid var(--sd-gold);outline-offset:3px}
.vqsd-page .vqsd-card__btn.loading{opacity:.7}
.vqsd-page .vqsd-card__btn.added::after{content:" \2713";margin-left:.35em}
.vqsd-page .added_to_cart{display:block;margin-top:6px;text-align:center;color:var(--sd-gold);font-size:.85rem;font-weight:600}

.vqsd-deal-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:var(--gap)}
.vqsd-deal{display:flex;flex-direction:column;margin:0;border-radius:20px;overflow:hidden;background:rgb(255 196 46 / .06);border:1px solid rgb(255 196 46 / .35);transition:border-color 200ms ease,transform 260ms var(--sd-ease)}
@media (hover:hover) and (pointer:fine){.vqsd-deal:hover{border-color:var(--sd-gold);transform:translateY(-2px)}}
.vqsd-deal__media{display:block;aspect-ratio:16/10;background:#fff;overflow:hidden}
.vqsd-deal__media img,.vqsd-deal__img{display:block;width:100%!important;height:100%!important;object-fit:contain;margin:0!important;transition:transform 400ms var(--sd-ease)}
@media (hover:hover) and (pointer:fine){.vqsd-deal:hover .vqsd-deal__img{transform:scale(1.03)}}
.vqsd-deal__body{display:flex;flex-direction:column;gap:6px;flex:1;padding:18px}
.vqsd-deal__label{color:var(--sd-gold);font-weight:800;font-size:1.35rem;line-height:1.1;text-transform:uppercase;font-variation-settings:"wdth" 70}
.vqsd-deal__name{margin:0;color:var(--sd-on);font-family:inherit;font-size:1rem;font-weight:700;text-transform:none;letter-spacing:0}
.vqsd-deal__note{margin:0;color:var(--sd-muted);font-size:.9rem}
.vqsd-deal__link{margin-top:auto;padding-top:6px;color:var(--sd-gold);font-weight:700;text-decoration:none}

/* The hero already shows the page title: hide the theme's own title on the sale page */
body.vqsd-sale-page .entry-header .entry-title,body.vqsd-sale-page .page-header .entry-title,body.vqsd-sale-page h1.entry-title,body.vqsd-sale-page .elementor-page-title{display:none}
.vqsd-page a{text-decoration:none!important}

/* Full-width dark page (setting "Dark background across the full width") */
body.vqsd-full{background:var(--sd-char);overflow-x:clip}
body.vqsd-full .vqsd-page:not(.vqsd-page--embed){
  background:linear-gradient(180deg,var(--sd-char),var(--sd-deep))!important;box-shadow:0 -160px 0 0 var(--sd-char);position:relative;z-index:1;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:0;margin-bottom:0;border-radius:0;
  padding-left:max(16px,calc((100vw - 1320px) / 2));padding-right:max(16px,calc((100vw - 1320px) / 2));
  padding-bottom:clamp(40px,6vw,80px)
}

/* Keep our own link colours whatever the theme's link colours are */
.vqsd-page a,.vqsd-page a:visited{color:inherit}
.vqsd-page .vqsd-deal__link,.vqsd-page .vqsd-deal__link:visited,.vqsd-page .vqsd-deal__link:hover,.vqsd-page .vqsd-deal__link:focus,.vqsd-page .vqsd-deal__link:active{color:var(--sd-gold)!important}
.vqsd-page .vqsd-card__name a,.vqsd-page .vqsd-card__name a:visited{color:var(--sd-on)!important}
.vqsd-page .vqsd-card__name a:hover,.vqsd-page .vqsd-card__name a:focus{color:var(--sd-gold)!important}
.vqsd-page .vqsd-jump a,.vqsd-page .vqsd-jump a:visited{color:var(--sd-on)!important}
.vqsd-page .vqsd-jump a:hover,.vqsd-page .vqsd-jump a:focus{color:var(--sd-gold)!important}
.vqsd-page .vqsd-card__btn,.vqsd-page .vqsd-card__btn:visited,.vqsd-page .vqsd-card__btn:hover,.vqsd-page .vqsd-card__btn:focus{color:var(--sd-on-gold)!important}
.vqsd-page .vqsd-card__btn--ghost,.vqsd-page .vqsd-card__btn--ghost:visited,.vqsd-page .vqsd-card__btn--ghost:hover{color:var(--sd-on)!important}
.vqsd-page .added_to_cart,.vqsd-page .added_to_cart:hover{color:var(--sd-gold)!important}
.vqsd-page .vqsd-deal__name{color:var(--sd-on)!important}

/* Category filter pills */
.vqsd-filter{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:24px 0 0}
.vqsd-page .vqsd-pill{
  appearance:none;display:inline-flex;align-items:center;min-height:40px;padding:0 18px;margin:0;border-radius:var(--sd-pill);
  border:1px solid var(--sd-line);background:transparent;color:var(--sd-on);font:inherit;font-size:.875rem;font-weight:600;line-height:1;
  text-transform:none;letter-spacing:0;cursor:pointer;box-shadow:none;
  transition:background-color 200ms ease,border-color 200ms ease,color 200ms ease,transform 160ms var(--sd-ease);-webkit-tap-highlight-color:transparent
}
@media (hover:hover) and (pointer:fine){.vqsd-page .vqsd-pill:hover{border-color:var(--sd-gold);color:var(--sd-gold);background:transparent}}
.vqsd-page .vqsd-pill:active{transform:scale(.97)}
.vqsd-page .vqsd-pill:focus{outline:none;box-shadow:none}
.vqsd-page .vqsd-pill[aria-pressed="true"],.vqsd-page .vqsd-pill[aria-pressed="true"]:hover,.vqsd-page .vqsd-pill[aria-pressed="true"]:focus{background:var(--sd-gold)!important;border-color:var(--sd-gold)!important;color:var(--sd-on-gold)!important}
.vqsd-page .vqsd-pill[aria-pressed="false"]{background:transparent!important;color:var(--sd-on)!important}
@media (hover:hover) and (pointer:fine){.vqsd-page .vqsd-pill[aria-pressed="false"]:hover{color:var(--sd-gold)!important;border-color:var(--sd-gold)!important}}
.vqsd-page .vqsd-pill:focus-visible{outline:2px solid var(--sd-gold)!important;outline-offset:3px}
.vqsd-page [hidden]{display:none!important}
.vqsd-filter-empty{margin:24px 0 0;text-align:center;color:var(--sd-muted)}
@media (max-width:520px){.vqsd-filter{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;margin-inline:-16px;padding:0 16px 4px;scrollbar-width:none}.vqsd-filter::-webkit-scrollbar{display:none}.vqsd-page .vqsd-pill{flex:none}}
