/*
Theme Name:     Valhalla Child
Theme URI:      https://valhallapeptides.sk
Description:    Custom child theme pre Valhalla Peptides — peptidový e-shop. Parent: Hello Elementor.
Author:         ByxCorp s.r.o.
Author URI:     https://valhallapeptides.sk
Template:       hello-elementor
Version:        1.0.3
License:        Proprietary
Text Domain:    valhalla-child
*/

@import url('./assets/css/page-content.css');

/* Custom CSS bude pridané v Phase 3 cez konkrétne page templates */

/* ═══════════════════════════════════════════════════
   CART ICON — homepage custom header + generic selectors
   so future child-theme header overrides inherit the same look.
   ═══════════════════════════════════════════════════ */
.vp-cart-link,
.vp-cart-icon,
.wc-cart-link,
.cart-link,
a.cart-link {
  font-size: 22px !important;
  padding: 10px 14px !important;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.vp-cart-link svg,
.vp-cart-icon svg,
.wc-cart-link svg {
  width: 28px !important;
  height: 28px !important;
}
.vp-cart-link .vp-cart-count,
.vp-cart-icon .cart-count,
.cart-link .cart-count {
  position: absolute;
  top: 0;
  right: 0;
  background: #C9A065;
  color: #070707;
  font-family: 'Cinzel', serif;
  font-size: 11px;
  font-weight: 700;
  min-width: 18px;
  height: 18px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  letter-spacing: 0;
}

/* ═══════════════════════════════════════════════════
   BRAND STICKY HEADER — shared across sub-pages (page.php).
   Homepage (page-home.php) inlines the same rules; this copy
   is what serves get_header()-based templates.
   ═══════════════════════════════════════════════════ */
:root {
  --vp-bg: #0A0A0A;
  --vp-bg3: #141414;
  --vp-gold: #C9A055;
  --vp-gold-light: #D4AF37;
  --vp-gold-bright: #E8C98A;
  --vp-gold-dark: #7A6035;
  --vp-gold-deeper: #3A2810;
  --vp-text: #F5F0E8;
  --vp-text-muted: #8A8076;
  --vp-border: rgba(201,160,85,0.18);
  --vp-font-heading: 'Fraunces','Cinzel','Georgia',serif;
  --vp-font-body: 'Inter','Raleway','Helvetica Neue',sans-serif;
  --vp-max-w: 1280px;
}

body.vp-dark-theme { background: var(--vp-bg); color: var(--vp-text); font-family: var(--vp-font-body); }

/* TEST SCALE — uprav --vp-scale na 1.0 (vypnúť) alebo iné % po dohode.
   Používa CSS zoom (reflowuje layout, na rozdiel od transform). */
:root { --vp-scale: 1.2; }
body { zoom: var(--vp-scale); }

/* === Hello Elementor parent theme reset.css OVERRIDE (added 2026-05-29) ===
   Parent theme assets/css/reset.css ships rgb(204,51,102) (#CC3366 magenta)
   as DEFAULT for `a`, `button`, `[type="button"]`, `[type="submit"]` and
   their :hover/:focus states. This bled into <a class="vp-mobile-logo">,
   <button class="vp-hamburger">, mobile-drawer items, search-toggle hover —
   anywhere a child-theme class didn't explicitly re-set color. We never
   use magenta — replace with brand colors. Specific .vp-* selectors below
   continue to override these. */
.vp-dark-theme a { color: var(--vp-gold-bright, #E8C98A); }
.vp-dark-theme a:hover,
.vp-dark-theme a:focus { color: var(--vp-gold, #C9A055); }
.vp-dark-theme button,
.vp-dark-theme [type="button"],
.vp-dark-theme [type="submit"] {
  color: inherit;
  border-color: transparent;
}
.vp-dark-theme button:hover,
.vp-dark-theme button:focus,
.vp-dark-theme [type="button"]:hover,
.vp-dark-theme [type="submit"]:hover {
  background-color: transparent;
  color: var(--vp-gold-bright, #E8C98A);
}

/* HEADER BUTTON RESET — agresívne odstránenie browser-default modrých/ružových
   focus ringov a borderov na header tlačítkach. Custom themed focus ring nižšie. */
.vp-search-toggle,
.vp-account-link,
.vp-cart-link,
.vp-mega-toggle,
.vp-nav-link {
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
  appearance: none;
  -webkit-appearance: none;
}
.vp-search-toggle:focus-visible,
.vp-account-link:focus-visible,
.vp-cart-link:focus-visible,
.vp-mega-toggle:focus-visible,
.vp-nav-link:focus-visible {
  outline: 1px solid var(--vp-gold) !important;
  outline-offset: 3px;
  border-radius: 2px;
}
.vp-search-toggle:active,
.vp-cart-link:active,
.vp-mega-toggle:active { transform: translateY(1px); }

.vp-announce {
  background: linear-gradient(135deg, var(--vp-gold-deeper), var(--vp-gold-dark));
  color: var(--vp-gold-bright);
  text-align: center;
  padding: 9px 20px;
  font-family: var(--vp-font-heading);
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  position: relative;
  z-index: 100;
}

.vp-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(10,10,10,0.97);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--vp-border);
}
.vp-header-top {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  max-width: var(--vp-max-w);
  margin: 0 auto;
  padding: 16px 40px;
}
.vp-header-left { display: flex; align-items: center; gap: 16px; }
.vp-header-center { display: flex; justify-content: center; }
.vp-header-right { display: flex; align-items: center; justify-content: flex-end; gap: 20px; }
.vp-logo-img { height: 52px; width: auto; filter: brightness(1.05); }
.vp-search-toggle,
.vp-account-link,
.vp-cart-link {
  background: none;
  border: none;
  color: var(--vp-text) !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  letter-spacing: 0.1em;
  transition: color 0.2s;
  cursor: pointer;
}
.vp-search-toggle:hover,
.vp-account-link:hover,
.vp-cart-link:hover { color: var(--vp-gold-light) !important; }
.vp-search-toggle svg,
.vp-account-link svg,
.vp-cart-link svg,
.vp-mega-toggle svg { stroke: currentColor; fill: none; }

.vp-nav {
  display: flex;
  justify-content: center;
  gap: 36px;
  padding: 0 40px 14px;
  max-width: var(--vp-max-w);
  margin: 0 auto;
}
/* .vp-nav-link base + ::after + :hover rules moved to FIX 1 block at end of file */
.vp-nav-link svg { width: 10px; height: 10px; transition: transform 0.3s; }

.vp-mega-wrap { position: relative; display: flex; align-items: center; gap: 4px; }
.vp-nav button.vp-nav-link { padding: 0 0 6px 0; line-height: 1; margin: 0; }
.vp-nav-link svg { vertical-align: middle; }
.vp-mega-toggle {
  background: none;
  border: none;
  color: var(--vp-text, #f5f0e8);
  cursor: pointer;
  padding: 0 4px 6px;
  line-height: 1;
  display: flex;
  align-items: center;
  transition: color 0.2s, transform 0.3s;
}
.vp-mega-toggle:hover { color: var(--vp-gold-light, #D4AF37); }
.vp-mega-toggle svg { width: 12px; height: 12px; transition: transform 0.3s; }
.vp-mega-wrap.open .vp-mega-toggle svg,
.vp-mega-wrap:hover .vp-mega-toggle svg { transform: rotate(180deg); }
.vp-mega-link { padding-bottom: 6px; }
.vp-mega {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  max-width: 1000px;
  background: #0c0c0c;
  border-top: 2px solid var(--vp-gold-light);
  box-shadow: 0 10px 30px rgba(0,0,0,0.8);
  padding: 40px;
  z-index: 900;
}
.vp-mega-wrap:hover .vp-mega,
.vp-mega-wrap.open .vp-mega { display: block; }
.vp-mega-wrap:hover .vp-nav-link svg { transform: rotate(180deg); }
.vp-mega-all { display: block; text-align: center; margin-bottom: 32px; }
.vp-mega-all a {
  background: var(--vp-gold-light);
  color: #fff;
  padding: 12px 35px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  display: inline-block;
  transition: opacity 0.3s;
  text-decoration: none;
}
.vp-mega-all a:hover { opacity: 0.85; }
.vp-mega-grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 60px; row-gap: 0; }
.vp-mega-item { border-bottom: 1px solid #1f1f1f; padding: 20px 0; transition: transform 0.3s; }
.vp-mega-item:hover { transform: translateX(10px); }
.vp-mega-item a {
  display: flex; align-items: center; gap: 16px;
  text-decoration: none !important;
  color: var(--vp-text) !important;
  transition: color 0.2s;
}
.vp-mega-item a:hover,
.vp-mega-item a:visited,
.vp-mega-item a:active,
.vp-mega-item a:focus { color: var(--vp-gold-light) !important; }
.vp-mega-item a:visited .vp-mega-title { color: inherit; }
.vp-mega-icon { width: 40px; height: 40px; flex-shrink: 0; }
.vp-mega-icon svg { width: 100%; height: 100%; stroke: var(--vp-gold-light); fill: none; }
.vp-mega-text { text-align: left; flex: 1; }
.vp-mega-overtitle {
  display: block;
  color: #666;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 4px;
  font-family: var(--vp-font-body);
}
.vp-mega-title {
  display: block;
  color: var(--vp-text);
  font-family: var(--vp-font-heading);
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.vp-search-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.9);
  z-index: 9999;
  align-items: flex-start;
  justify-content: center;
  padding: 120px 20px;
}
.vp-search-overlay.open { display: flex; }
.vp-search-box { width: 100%; max-width: 600px; position: relative; }
.vp-search-input {
  width: 100%;
  background: var(--vp-bg3);
  border: 1px solid var(--vp-border);
  color: var(--vp-text);
  font-size: 18px;
  padding: 18px 24px;
  padding-right: 50px;
}
.vp-search-input:focus { outline: none; border-color: var(--vp-gold); }
.vp-search-close {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--vp-text-muted);
  font-size: 24px;
  cursor: pointer;
}

@media (max-width: 768px) {
  .vp-header-top { padding: 12px 16px; }
  .vp-logo-img { height: 36px; }
  .vp-nav { gap: 20px; padding: 0 16px 10px; overflow-x: auto; flex-wrap: nowrap; }
  .vp-nav-link { font-size: 10px; white-space: nowrap; }
}

/* ═══════════════════════════════════════════════════
   BRAND FOOTER — shared across sub-pages (get_footer() → footer.php
   → template-parts/vp-footer.php). Homepage inlines the same rules.
   ═══════════════════════════════════════════════════ */
.vp-footer {
  position: relative;
  z-index: 2;
  border-top: 1px solid var(--vp-border);
  padding: 60px 40px 30px;
  background: var(--vp-bg);
  color: var(--vp-text);
  font-family: var(--vp-font-body);
}
.vp-footer-inner {
  max-width: var(--vp-max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 40px;
}
.vp-footer-brand { }
.vp-footer-logo { height: 60px; width: auto; margin-bottom: 16px; }
.vp-footer-desc {
  font-size: 13px;
  color: #888;
  line-height: 1.7;
  max-width: 280px;
}
.vp-footer-col h4 {
  font-family: var(--vp-font-heading);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--vp-gold);
  margin: 0 0 16px;
  font-weight: 600;
}
.vp-footer-col a {
  display: block;
  font-size: 13px;
  color: #888;
  padding: 4px 0;
  text-decoration: none;
  transition: color 0.2s;
}
.vp-footer-col a:hover { color: var(--vp-text); }
.vp-footer-cta {
  max-width: var(--vp-max-w);
  margin: 40px auto 0;
  text-align: center;
}
.vp-footer-cta-btn {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 16px 36px;
  background: transparent;
  border: 1px solid var(--vp-gold);
  color: var(--vp-gold-bright);
  text-decoration: none;
  font-family: var(--vp-font-heading);
  transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
}
.vp-footer-cta-btn:hover {
  background: var(--vp-gold);
  color: var(--vp-bg);
  border-color: var(--vp-gold);
  transform: translateY(-1px);
}
.vp-footer-cta-eyebrow {
  font-family: var(--vp-font-body);
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--vp-gold-dark);
  font-weight: 600;
}
.vp-footer-cta-btn:hover .vp-footer-cta-eyebrow { color: rgba(10,10,10,0.7); }
.vp-footer-cta-label {
  font-size: 16px;
  letter-spacing: 1px;
  font-weight: 600;
}

.vp-footer-legal {
  max-width: var(--vp-max-w);
  margin: 32px auto 0;
  text-align: center;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.vp-footer-legal-text {
  font-size: 11px;
  color: var(--vp-gold-dark);
  line-height: 1.8;
  letter-spacing: 0.5px;
  margin: 0;
}
.vp-footer-legal-text strong { color: var(--vp-gold); }
.vp-footer-copy {
  font-size: 11px;
  color: #444;
  margin: 12px 0 0;
}
@media (max-width: 768px) {
  .vp-footer { padding: 40px 16px 20px; }
  .vp-footer-inner { grid-template-columns: 1fr 1fr; gap: 24px; }
}
@media (max-width: 480px) {
  .vp-footer-inner { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════
   HEADER UNIFICATION — removed compact-header overrides
   (predtým skrývali .vp-announce a shrinkovali logo/nav na subpages).
   Header je teraz identický na všetkých stránkach vrátane homepage.
   Edituješ ho na 1 mieste: template-parts/vp-header.php (markup) +
   .vp-header / .vp-nav / .vp-mega sekcie v style.css (štýl).
   ═══════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════
   SUB-PAGE HEROES → compact intros.
   Calculator, B2B, COA, universal page.php all had oversized hero
   blocks. Tone them down so content starts higher above the fold.
   ═══════════════════════════════════════════════════ */
.vp-calc-hero, .vp-b2b-hero, .vp-coa-hero {
  padding: 28px 20px 12px !important;
  margin-bottom: 14px !important;
}
.vp-calc-hero h1, .vp-b2b-hero h1, .vp-coa-hero h1 {
  font-size: clamp(20px, 3vw, 28px) !important;
  margin-bottom: 8px !important;
}
.vp-calc-hero p, .vp-b2b-hero p, .vp-coa-hero p {
  font-size: 13px !important;
  max-width: 620px;
  margin: 0 auto !important;
}
.vp-calc-divider, .vp-b2b-divider, .vp-coa-divider {
  display: none !important;
}
/* page.php universal header (Kontakt, O nás, FAQ, VOP, GDPR, ...) */
body.vp-compact-header .vp-page-header {
  margin-bottom: 32px;
  padding-bottom: 16px;
}
body.vp-compact-header .vp-page-eyebrow { font-size: 10px; margin-bottom: 8px; }
body.vp-compact-header .vp-page-title { font-size: clamp(22px, 3.5vw, 32px); letter-spacing: 0.5px; }
body.vp-compact-header .vp-page-content { padding: 40px 24px 80px; }
@media (max-width: 640px) {
  body.vp-compact-header .vp-page-content { padding: 28px 16px 60px; }
}

/* ═══════════════════════════════════════════════════
   SEARCH MODAL — AJAX overlay with suggestions + live results
   (rendered globally by vp_search_overlay_render() in functions.php)
   ═══════════════════════════════════════════════════ */
.vp-search-modal {
  position: fixed; inset: 0; z-index: 99998;
  background: rgba(10,10,10,0.95);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  display: none; align-items: flex-start; justify-content: center;
  padding: 60px 24px 40px;
  font-family: 'Inter', system-ui, sans-serif;
  color: #f5f0e8;
}
.vp-search-modal.open { display: flex; }
.vp-search-modal-inner { width: 100%; max-width: 720px; display: flex; flex-direction: column; gap: 22px; }
.vp-search-bar {
  display: flex; align-items: center; gap: 14px;
  background: #111111; border: 1px solid #1f1f1f; border-radius: 6px;
  padding: 10px 14px;
}
.vp-search-icon { color: #C9A055; flex-shrink: 0; display: flex; align-items: center; }
.vp-search-modal-input {
  flex: 1; background: transparent; border: none; outline: none;
  color: #f5f0e8; font-family: inherit; font-size: 18px; letter-spacing: 0.02em;
  padding: 4px 0;
}
.vp-search-modal-input::placeholder { color: #888888; }
.vp-search-cancel {
  background: none; border: none; color: #888888; cursor: pointer;
  font-family: inherit; font-size: 13px; letter-spacing: 0.08em;
  padding: 6px 10px; transition: color .15s;
}
.vp-search-cancel:hover { color: #f5f0e8; }
.vp-search-results { display: flex; flex-direction: column; gap: 26px; max-height: 60vh; overflow-y: auto; padding: 4px 2px 8px; }
.vp-search-section { display: block; }
.vp-hidden { display: none !important; }
.vp-search-label {
  font-family: 'Fraunces', serif;
  font-size: 12px; letter-spacing: 0.22em;
  color: #C9A055; margin: 0 0 12px; padding-bottom: 8px;
  border-bottom: 1px solid rgba(201,160,85,0.18); text-transform: uppercase;
}
.vp-search-suggestions { display: flex; flex-wrap: wrap; gap: 8px; }
.vp-search-chip {
  background: #111111; border: 1px solid #1f1f1f; color: #d4cabc;
  font-family: inherit; font-size: 12px; letter-spacing: 0.04em;
  padding: 8px 14px; border-radius: 999px; cursor: pointer;
  transition: border-color .15s, color .15s, background .15s;
}
.vp-search-chip:hover { border-color: #C9A055; color: #f5f0e8; background: #181818; }
.vp-search-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.vp-search-item { margin: 0; padding: 0; }
.vp-search-item-link {
  display: flex; align-items: center; gap: 14px;
  padding: 10px 12px; border-radius: 6px;
  text-decoration: none; color: inherit;
  transition: background .12s;
}
.vp-search-item-link:hover { background: rgba(201,160,85,0.08); }
.vp-search-thumb {
  width: 50px; height: 50px; flex-shrink: 0;
  background: #111111; border: 1px solid #1f1f1f; border-radius: 4px;
  object-fit: contain;
}
.vp-search-thumb-blank { display: block; }
.vp-search-item-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.vp-search-item-name { color: #f5f0e8; font-size: 14px; font-weight: 600; line-height: 1.3; }
.vp-search-item-price { color: #C9A055; font-size: 13px; }
.vp-search-item-page { padding: 12px; }
.vp-search-item-page .vp-search-item-name { font-weight: 500; }
.vp-search-empty { color: #888; font-size: 14px; padding: 12px; }
/* Bestseller product chips inside search overlay empty state */
.vp-search-list--popular { gap: 2px; }
.vp-search-list--popular .vp-search-item-link {
  padding: 8px 10px;
}
.vp-search-list--popular .vp-search-thumb {
  width: 42px; height: 42px;
}
.vp-search-list--popular .vp-search-item-name {
  font-size: 13px;
}
.vp-search-go {
  align-self: center; min-width: 240px;
  background: #C9A055; border: 1px solid #C9A055; color: #070707;
  font-family: 'Fraunces', serif;
  font-size: 13px; letter-spacing: 0.2em; font-weight: 700;
  padding: 12px 22px; cursor: pointer;
  text-transform: uppercase;
  transition: opacity .15s, transform .15s;
}
.vp-search-go:hover { opacity: 0.88; transform: translateY(-1px); }
@media (max-width: 640px) {
  .vp-search-modal {
    padding: 24px 14px 12px;
    align-items: flex-start;
    height: 100dvh;
  }
  .vp-search-modal-input { font-size: 16px; }
  .vp-search-results { max-height: calc(100dvh - 200px); }
  .vp-search-cancel { min-width: 44px; min-height: 44px; padding: 8px 12px; }
  .vp-search-go { width: 100%; min-width: 0; }
}

/* ═══════════════════════════════════════════════════
   QUIZ BUNDLE OVERFLOW GUARDS — quiz.bundle.js injektuje vlastné
   global <style> s triedami qz-*, lp-*, rs-*, opt-*, hero-*, sec-*.
   Tieto pravidlá riešia preteky dlhých slovenských slov v boxoch.
   Selektor #valhalla-quiz-root .xxx vyhrá nad bundle CSS bez !important.
   ═══════════════════════════════════════════════════ */
#valhalla-quiz-root,
#valhalla-quiz-root * { box-sizing: border-box; }
#valhalla-quiz-root .qz-t,
#valhalla-quiz-root .qz-s,
#valhalla-quiz-root .opt-l,
#valhalla-quiz-root .opt-d,
#valhalla-quiz-root .hero-name,
#valhalla-quiz-root .hero-full,
#valhalla-quiz-root .hero-desc,
#valhalla-quiz-root .hero-tag,
#valhalla-quiz-root .sec-name,
#valhalla-quiz-root .sec-full,
#valhalla-quiz-root .sec-desc,
#valhalla-quiz-root .pop-name,
#valhalla-quiz-root .pop-full,
#valhalla-quiz-root .pop-desc,
#valhalla-quiz-root .addon-title,
#valhalla-quiz-root .addon-desc,
#valhalla-quiz-root .email-title,
#valhalla-quiz-root .disc-t,
#valhalla-quiz-root .lp-title,
#valhalla-quiz-root .lp-sub {
  overflow-wrap: anywhere;
  word-wrap: break-word;
  word-break: normal;
  hyphens: auto;
  max-width: 100%;
}
#valhalla-quiz-root .opt,
#valhalla-quiz-root .var-btn,
#valhalla-quiz-root .qty-btn,
#valhalla-quiz-root .btn-cart,
#valhalla-quiz-root .btn-view,
#valhalla-quiz-root .btn-next,
#valhalla-quiz-root .btn-back,
#valhalla-quiz-root .btn-share,
#valhalla-quiz-root .btn-email,
#valhalla-quiz-root .combine-pill {
  white-space: normal;
  text-align: center;
  min-width: 0;
}
#valhalla-quiz-root .opt {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: left;
  height: auto;
}
#valhalla-quiz-root .hero-inner,
#valhalla-quiz-root .sec-inner,
#valhalla-quiz-root .addon-card {
  min-width: 0;
}
#valhalla-quiz-root .hero-img,
#valhalla-quiz-root .sec-img,
#valhalla-quiz-root .addon-img,
#valhalla-quiz-root .pop-img {
  max-width: 100%;
  height: auto;
}
@media (max-width: 640px) {
  #valhalla-quiz-root .hero-inner { grid-template-columns: 1fr !important; }
  #valhalla-quiz-root .sec-inner { flex-direction: column; }
  #valhalla-quiz-root .qz-nav { flex-direction: column-reverse; gap: 10px; }
  #valhalla-quiz-root .qz-nav .btn-back,
  #valhalla-quiz-root .qz-nav .btn-next { width: 100%; }
}

/* COMPACT RESULTS PAGE — bundle CSS je verbose, sťahujeme paddings/marginy
   v results view (.rs-*, .hero, .sec, .addon, .email, .disc, .share). */
#valhalla-quiz-root .rs-body { padding: 24px 20px 40px !important; max-width: 1100px !important; }
#valhalla-quiz-root .rs-top { margin-bottom: 24px !important; }
#valhalla-quiz-root .rs-top-t { font-size: clamp(22px, 3.5vw, 32px) !important; margin: 6px 0 8px !important; }
#valhalla-quiz-root .rs-top-s { font-size: 13px !important; margin: 0 0 14px !important; }
#valhalla-quiz-root .score-row { margin-top: 14px !important; gap: 14px !important; }
#valhalla-quiz-root .score-n { font-size: 24px !important; }
#valhalla-quiz-root .score-bar { width: 160px !important; }

#valhalla-quiz-root .div { margin: 28px 0 16px !important; }
#valhalla-quiz-root .div-t { font-size: 10px !important; letter-spacing: 3px !important; }

#valhalla-quiz-root .hero { padding: 22px 20px !important; margin: 0 !important; }
#valhalla-quiz-root .hero-inner { grid-template-columns: 110px 1fr !important; gap: 20px !important; }
#valhalla-quiz-root .hero-img { width: 110px !important; height: 110px !important; }
#valhalla-quiz-root .hero-name { font-size: 22px !important; margin: 4px 0 !important; }
#valhalla-quiz-root .hero-full { font-size: 12px !important; margin-bottom: 8px !important; }
#valhalla-quiz-root .hero-desc { font-size: 13px !important; line-height: 1.55 !important; margin-bottom: 10px !important; }
#valhalla-quiz-root .hero-tag { font-size: 10px !important; margin: 6px 0 4px !important; }
#valhalla-quiz-root .hero-badge,
#valhalla-quiz-root .ruo-badge { font-size: 9px !important; padding: 2px 8px !important; }
#valhalla-quiz-root .hero-why-btn { font-size: 11px !important; padding: 4px 0 !important; }
#valhalla-quiz-root .hero-why { font-size: 12px !important; line-height: 1.55 !important; }
#valhalla-quiz-root .hero-actions { gap: 8px !important; margin-top: 12px !important; }

#valhalla-quiz-root .btn-cart,
#valhalla-quiz-root .btn-view { min-height: 36px !important; padding: 8px 18px !important; font-size: 11px !important; }
#valhalla-quiz-root .qty-row { gap: 6px !important; margin: 10px 0 !important; }
#valhalla-quiz-root .qty-btn { padding: 6px 12px !important; min-height: 32px !important; font-size: 11px !important; }
#valhalla-quiz-root .var-btn { min-height: 30px !important; padding: 4px 10px !important; font-size: 10px !important; }
#valhalla-quiz-root .price-display { font-size: 22px !important; margin: 8px 0 !important; }

#valhalla-quiz-root .combine-sect { margin: 18px 0 0 !important; padding: 14px !important; }
#valhalla-quiz-root .combine-label { font-size: 10px !important; margin-bottom: 6px !important; }
#valhalla-quiz-root .combine-pill { padding: 5px 12px !important; font-size: 11px !important; }

#valhalla-quiz-root .sec-grid { gap: 12px !important; }
#valhalla-quiz-root .sec-card { padding: 16px !important; }
#valhalla-quiz-root .sec-img { width: 56px !important; height: 56px !important; }
#valhalla-quiz-root .sec-name { font-size: 16px !important; }
#valhalla-quiz-root .sec-full { font-size: 11px !important; }
#valhalla-quiz-root .sec-desc { font-size: 12px !important; margin: 6px 0 8px !important; }
#valhalla-quiz-root .sec-acts { gap: 6px !important; margin-top: 8px !important; }

#valhalla-quiz-root .addon-card { padding: 16px !important; margin-top: 20px !important; gap: 14px !important; }
#valhalla-quiz-root .addon-img { width: 70px !important; height: 70px !important; }
#valhalla-quiz-root .addon-title { font-size: 14px !important; margin: 0 0 4px !important; }
#valhalla-quiz-root .addon-desc { font-size: 12px !important; margin-bottom: 8px !important; }

#valhalla-quiz-root .share-row { gap: 8px !important; margin: 18px 0 !important; flex-wrap: wrap; }
#valhalla-quiz-root .btn-share { padding: 8px 16px !important; font-size: 11px !important; min-height: 34px !important; }

#valhalla-quiz-root .email-sect { padding: 18px !important; margin-top: 20px !important; }
#valhalla-quiz-root .email-lb { font-size: 10px !important; margin-bottom: 4px !important; }
#valhalla-quiz-root .email-title { font-size: 16px !important; margin: 0 0 10px !important; }
#valhalla-quiz-root .email-inp { padding: 10px 12px !important; font-size: 13px !important; }
#valhalla-quiz-root .btn-email { padding: 10px 16px !important; font-size: 11px !important; }
#valhalla-quiz-root .email-disc { font-size: 10px !important; margin-top: 6px !important; }

#valhalla-quiz-root .disc-wrap { padding: 14px !important; margin-top: 18px !important; }
#valhalla-quiz-root .disc-t { font-size: 11px !important; line-height: 1.55 !important; }
#valhalla-quiz-root .legal-footer { font-size: 10px !important; padding: 10px 20px !important; }
#valhalla-quiz-root .btn-add-all { padding: 10px 22px !important; font-size: 12px !important; min-height: 38px !important; }

/* ═══════════════════════════════════════════════════
   DARK THEME FOR WC FORM ELEMENTS — global override.
   Targets all WC contexts: shop sorting, checkout, cart
   coupon, my-account forms, login/register, etc.
   ═══════════════════════════════════════════════════ */
.woocommerce input[type=text],
.woocommerce input[type=email],
.woocommerce input[type=tel],
.woocommerce input[type=number],
.woocommerce input[type=password],
.woocommerce input[type=url],
.woocommerce input[type=search],
.woocommerce textarea,
.woocommerce select,
.woocommerce-ordering select,
.woocommerce-page input[type=text],
.woocommerce-page input[type=email],
.woocommerce-page input[type=tel],
.woocommerce-page input[type=number],
.woocommerce-page input[type=password],
.woocommerce-page input[type=url],
.woocommerce-page input[type=search],
.woocommerce-page textarea,
.woocommerce-page select,
.cart input.input-text,
.cart-collaterals input[type=text],
form.checkout input.input-text,
form.checkout select,
form.checkout textarea,
form.woocommerce-checkout select,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-search--dropdown .select2-search__field,
.select2-dropdown {
  background: #111111 !important;
  border: 1px solid #1f1f1f !important;
  color: #f5f0e8 !important;
}
.woocommerce input::placeholder,
.woocommerce textarea::placeholder,
.woocommerce-page input::placeholder,
.woocommerce-page textarea::placeholder { color: #888888 !important; }
.woocommerce input:focus,
.woocommerce textarea:focus,
.woocommerce select:focus,
.woocommerce-page input:focus,
.woocommerce-page textarea:focus,
.woocommerce-page select:focus,
.cart input.input-text:focus { outline: none; border-color: #C9A055 !important; }
/* Select2 dropdown options (used by WC checkout) */
.select2-results__option { background: #111111; color: #f5f0e8; }
.select2-results__option--highlighted { background: #1f1f1f !important; color: #E8C98A !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: #f5f0e8; }
/* Quantity input on product/cart */
.woocommerce .quantity input.qty {
  background: #111111 !important;
  border: 1px solid #1f1f1f !important;
  color: #f5f0e8 !important;
}


/* ═══════════════════════════════════════════════════
   === PAGE HOME ===
   CSS migrated from page-home.php inline <style> block.
   Source position: BEFORE BUG-FIX BATCH and FIX 1/FIX 2 sections,
   so recent unification fixes (nav-link, cat-name, mega-toggle, etc.)
   below this block still win on duplicate selectors.
   Contents: full homepage stylesheet — reset, header dup, hero, quiz,
   trust, categories, featured, USP, newsletter, footer dup, mobile.
   ═══════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════
   VALHALLA PEPTIDES — GLOBAL RESET & VARIABLES
   ═══════════════════════════════════════════════════ */
:root {
  --vp-bg: #0A0A0A;
  --vp-bg2: #0F0F0F;
  --vp-bg3: #141414;
  --vp-surface: #181818;
  --vp-gold: #C9A055;
  --vp-gold-light: #D4AF37;
  --vp-gold-bright: #E8C98A;
  --vp-gold-dark: #7A6035;
  --vp-gold-deeper: #3A2810;
  --vp-text: #F5F0E8;
  --vp-text-muted: #8A8076;
  --vp-border: rgba(201,160,85,0.18);
  --vp-font-heading: 'Fraunces','Cinzel','Georgia',serif;
  --vp-font-body: 'Inter','Raleway','Helvetica Neue',sans-serif;
  --vp-max-w: 1280px;
  --vp-header-h: 120px;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  background: var(--vp-bg) !important;
  color: var(--vp-text);
  font-family: var(--vp-font-body);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button { cursor: pointer; font-family: inherit; }
input, textarea, select { font-family: inherit; }

/* ═══════════════════════════════════════════════════
   ANNOUNCEMENT BAR
   ═══════════════════════════════════════════════════ */
.vp-announce {
  background: linear-gradient(135deg, var(--vp-gold-deeper), var(--vp-gold-dark));
  color: var(--vp-gold-bright);
  text-align: center;
  padding: 9px 20px;
  font-family: var(--vp-font-heading);
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  position: relative;
  z-index: 100;
}

/* ═══════════════════════════════════════════════════
   HEADER
   ═══════════════════════════════════════════════════ */
.vp-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(10,10,10,0.97);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--vp-border);
}
.vp-header-top {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  max-width: var(--vp-max-w);
  margin: 0 auto;
  padding: 16px 40px;
}
.vp-header-left { display: flex; align-items: center; gap: 16px; }
.vp-header-center { display: flex; justify-content: center; }
.vp-header-right { display: flex; align-items: center; justify-content: flex-end; gap: 20px; }
.vp-logo-img {
  height: 52px;
  width: auto;
  filter: brightness(1.05);
}
.vp-search-toggle,
.vp-account-link,
.vp-cart-link {
  background: none;
  border: none;
  color: var(--vp-text);
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  letter-spacing: 0.1em;
  transition: color 0.2s;
}
.vp-search-toggle:hover,
.vp-account-link:hover,
.vp-cart-link:hover { color: var(--vp-gold-light); }
.vp-cart-count {
  background: var(--vp-gold);
  color: var(--vp-bg);
  font-size: 9px;
  font-weight: 700;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* NAV */
.vp-nav {
  display: flex;
  justify-content: center;
  gap: 36px;
  padding: 0 40px 14px;
  max-width: var(--vp-max-w);
  margin: 0 auto;
}
.vp-nav-link {
  font-family: var(--vp-font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--vp-text);
  padding-bottom: 6px;
  position: relative;
  transition: color 0.3s;
  background: none;
  border: none;
  display: flex;
  align-items: center;
  gap: 5px;
}
.vp-nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: var(--vp-gold-light);
  transition: width 0.3s, transform 0.3s;
  transform: translateX(-50%);
}
.vp-nav-link:hover { color: var(--vp-gold-light); }
.vp-nav-link:hover::after { width: 100%; }
.vp-nav-link svg { width: 10px; height: 10px; transition: transform 0.3s; }

/* MEGA MENU */
.vp-mega-wrap { position: relative; display: flex; align-items: center; }
.vp-nav button.vp-nav-link { padding: 0 0 6px 0; line-height: 1; margin: 0; }
.vp-nav-link svg { vertical-align: middle; }
.vp-mega {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  max-width: 1000px;
  background: #0c0c0c;
  border-top: 2px solid var(--vp-gold-light);
  box-shadow: 0 10px 30px rgba(0,0,0,0.8);
  padding: 40px;
  z-index: 900;
}
.vp-mega-wrap:hover .vp-mega,
.vp-mega-wrap.open .vp-mega { display: block; }
.vp-mega-wrap:hover .vp-nav-link svg { transform: rotate(180deg); }
.vp-mega-all {
  display: block;
  text-align: center;
  margin-bottom: 32px;
}
.vp-mega-all a {
  background: var(--vp-gold-light);
  color: #fff;
  padding: 12px 35px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  display: inline-block;
  transition: opacity 0.3s;
}
.vp-mega-all a:hover { opacity: 0.85; }
.vp-mega-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 60px;
  row-gap: 0;
}
.vp-mega-item {
  border-bottom: 1px solid #1f1f1f;
  padding: 20px 0;
  transition: transform 0.3s;
}
.vp-mega-item:hover { transform: translateX(10px); }
.vp-mega-item a {
  display: flex;
  align-items: center;
  gap: 16px;
}
.vp-mega-icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}
.vp-mega-icon svg {
  width: 100%;
  height: 100%;
  stroke: var(--vp-gold-light);
  fill: none;
}
.vp-mega-text { text-align: center; flex: 1; }
.vp-mega-overtitle {
  display: block;
  color: #666;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 4px;
  font-family: var(--vp-font-body);
}
.vp-mega-title {
  display: block;
  color: var(--vp-text);
  font-family: var(--vp-font-heading);
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* ═══════════════════════════════════════════════════
   HERO + QUIZ SECTION
   ═══════════════════════════════════════════════════ */
.vp-hero {
  position: relative;
  z-index: 2;
  min-height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px 80px;
  text-align: center;
}
.vp-hero-ruo {
  font-family: var(--vp-font-heading);
  font-size: 10px;
  letter-spacing: 3px;
  color: var(--vp-gold-dark);
  border: 1px solid var(--vp-border);
  padding: 5px 14px;
  margin-bottom: 16px;
  text-transform: uppercase;
}
.vp-hero-overtitle {
  font-family: var(--vp-font-heading);
  font-size: 11px;
  letter-spacing: 4px;
  color: var(--vp-gold-dark);
  margin-bottom: 14px;
  text-transform: uppercase;
}
.vp-hero-title {
  font-family: var(--vp-font-heading);
  font-size: clamp(42px, 9vw, 100px);
  font-weight: 700;
  line-height: 0.92;
  margin-bottom: 24px;
  text-transform: uppercase;
}
.vp-hero-title em {
  font-style: italic;
  color: var(--vp-gold);
  display: block;
}
.vp-hero-sub {
  color: #aea291;
  font-size: clamp(14px, 2vw, 18px);
  max-width: 480px;
  margin: 0 auto 36px;
  line-height: 1.75;
}
.vp-hero-cta {
  font-family: var(--vp-font-heading);
  font-size: clamp(10px, 1.5vw, 13px);
  letter-spacing: 4px;
  color: var(--vp-bg);
  background: linear-gradient(135deg, var(--vp-gold-dark) 0%, var(--vp-gold-bright) 50%, var(--vp-gold-dark) 100%);
  background-size: 200%;
  border: none;
  padding: 18px 52px;
  text-transform: uppercase;
  animation: vpShimmer 3s linear infinite;
  transition: transform 0.2s, box-shadow 0.2s;
}
.vp-hero-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 40px rgba(201,160,85,0.2);
}
@keyframes vpShimmer { 0%{background-position:0%}100%{background-position:200%} }
.vp-hero-legal {
  font-size: 11px;
  color: var(--vp-text-muted);
  max-width: 380px;
  line-height: 1.7;
  margin-top: 14px;
  padding: 10px 14px;
  border: 1px solid var(--vp-border);
}
.vp-hero-browse {
  font-family: var(--vp-font-heading);
  font-size: 12px;
  letter-spacing: 3px;
  color: var(--vp-gold);
  border: 1px solid var(--vp-gold-dark);
  background: rgba(6,6,6,0.7);
  padding: 14px 32px;
  margin-top: 24px;
  display: inline-block;
  transition: all 0.2s;
  text-transform: uppercase;
}
.vp-hero-browse:hover {
  background: rgba(201,160,85,0.12);
  border-color: var(--vp-gold);
  transform: translateY(-1px);
}
.vp-hero-disc {
  font-size: 13px;
  color: var(--vp-text-muted);
  max-width: 500px;
  margin: 18px auto 0;
  line-height: 1.7;
}

/* Return banner */
.vp-return-banner {
  background: rgba(6,6,6,0.96);
  border: 1px solid var(--vp-border);
  border-left: 3px solid var(--vp-gold);
  padding: 12px 20px;
  max-width: 600px;
  margin: 0 auto 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: var(--vp-text-muted);
}
.vp-return-name {
  color: var(--vp-gold-bright);
  font-family: var(--vp-font-heading);
  font-size: 12px;
  letter-spacing: 1px;
}
.vp-return-link {
  color: var(--vp-gold);
  font-family: var(--vp-font-heading);
  font-size: 10px;
  letter-spacing: 2px;
  border-bottom: 1px solid var(--vp-gold-dark);
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  padding-bottom: 1px;
}

/* ═══════════════════════════════════════════════════
   QUIZ WIDGET INLINE STYLES
   ═══════════════════════════════════════════════════ */
#valhalla-quiz-root { position: relative; z-index: 5; }

.vq-header {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px 40px;
  border-bottom: 1px solid var(--vp-border);
  background: rgba(6,6,6,0.98);
  backdrop-filter: blur(28px);
  position: sticky;
  top: 0;
  z-index: 100;
}
.vq-progress { flex: 1; max-width: 280px; margin: 0 24px; }
.vq-bar { height: 2px; background: rgba(201,160,85,0.15); border-radius: 2px; overflow: hidden; }
.vq-fill { height: 100%; background: linear-gradient(90deg, var(--vp-gold-dark), var(--vp-gold)); border-radius: 2px; transition: width 0.5s; }
.vq-dots { display: flex; gap: 5px; margin-top: 7px; justify-content: center; }
.vq-dot { width: 5px; height: 5px; border-radius: 50%; background: rgba(201,160,85,0.2); transition: all 0.3s; }
.vq-dot.active { background: var(--vp-gold); transform: scale(1.4); }
.vq-dot.done { background: var(--vp-gold-dark); }

.vq-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 52px 24px 40px;
  max-width: 960px;
  margin: 0 auto;
}
.vq-qnum {
  font-family: var(--vp-font-heading);
  font-size: 10px;
  letter-spacing: 5px;
  color: var(--vp-gold-dark);
  margin-bottom: 10px;
}
.vq-qtitle {
  font-family: var(--vp-font-heading);
  font-size: clamp(22px, 4vw, 36px);
  font-weight: 600;
  text-align: center;
  margin-bottom: 8px;
}
.vq-qsub {
  color: #b5a999;
  font-size: 16px;
  text-align: center;
  margin-bottom: 14px;
  line-height: 1.6;
  max-width: 560px;
}
.vq-counter {
  font-size: 13px;
  color: var(--vp-gold);
  letter-spacing: 3px;
  margin-bottom: 28px;
  font-family: var(--vp-font-heading);
  font-weight: 600;
}
.vq-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  width: 100%;
}
.vq-opt {
  background: rgba(6,6,6,0.95);
  border: 1px solid var(--vp-border);
  padding: 24px 26px;
  cursor: pointer;
  text-align: left;
  color: var(--vp-text);
  position: relative;
  transition: all 0.18s;
  min-height: 90px;
}
.vq-opt:hover {
  border-color: rgba(201,160,85,0.45);
  transform: translateY(-1px);
}
.vq-opt.selected {
  border-color: var(--vp-gold);
  background: rgba(12,9,3,0.94);
}
.vq-opt.selected::after {
  content: "✓";
  position: absolute;
  top: 12px;
  right: 14px;
  color: var(--vp-gold);
  font-size: 14px;
  font-weight: 700;
}
.vq-opt.maxed { opacity: 0.5; cursor: not-allowed; pointer-events: none; }
.vq-opt-label {
  font-family: var(--vp-font-heading);
  font-size: clamp(14px, 2vw, 16px);
  font-weight: 700;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
  color: #f0e5d3;
}
.vq-opt-desc { font-size: 15px; color: #aea291; line-height: 1.7; }
.vq-nav {
  display: flex;
  gap: 12px;
  margin-top: 44px;
}
.vq-btn-back {
  background: rgba(6,6,6,0.82);
  border: 1px solid var(--vp-border);
  color: var(--vp-text-muted);
  font-family: var(--vp-font-heading);
  font-size: 11px;
  letter-spacing: 2px;
  padding: 14px 28px;
  transition: all 0.2s;
}
.vq-btn-back:hover { border-color: rgba(201,160,85,0.4); color: var(--vp-text); }
.vq-btn-next {
  background: transparent;
  border: 1px solid var(--vp-gold-dark);
  color: var(--vp-gold);
  font-family: var(--vp-font-heading);
  font-size: 11px;
  letter-spacing: 3px;
  padding: 14px 38px;
  transition: all 0.2s;
}
.vq-btn-next:hover:not(:disabled) { background: var(--vp-gold); color: var(--vp-bg); }
.vq-btn-next:disabled { opacity: 0.3; cursor: not-allowed; }

/* RESULTS */
.vq-results { position: relative; z-index: 5; }
.vq-results-body {
  max-width: 980px;
  margin: 0 auto;
  padding: 56px 32px 80px;
}
.vq-result-top { text-align: center; margin-bottom: 48px; }
.vq-score-row { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 28px; }
.vq-score-num { font-family: var(--vp-font-heading); font-size: 32px; color: var(--vp-gold); }
.vq-score-bar { width: 220px; height: 3px; background: rgba(201,160,85,0.15); border-radius: 3px; overflow: hidden; }
.vq-score-fill { height: 100%; background: linear-gradient(90deg, var(--vp-gold-dark), var(--vp-gold-bright)); border-radius: 3px; transition: width 1.4s cubic-bezier(.25,.46,.45,.94); }

.vq-divider { display: flex; align-items: center; gap: 20px; margin: 44px 0 24px; }
.vq-divider-line { flex: 1; height: 1px; background: var(--vp-border); }
.vq-divider-text {
  font-family: var(--vp-font-heading);
  font-size: 11px;
  letter-spacing: 3px;
  color: var(--vp-gold-dark);
  white-space: nowrap;
}

.vq-hero-card {
  border: 1px solid rgba(201,160,85,0.4);
  background: rgba(6,6,6,0.97);
  padding: 40px;
  position: relative;
  margin-bottom: 20px;
}
.vq-hero-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--vp-gold), transparent);
}
.vq-hero-inner { display: grid; grid-template-columns: 140px 1fr; gap: 32px; align-items: start; }
.vq-hero-img { width: 140px; height: 140px; object-fit: contain; border: 1px solid var(--vp-border); background: rgba(10,8,4,0.8); }
.vq-hero-badge {
  display: inline-block;
  font-family: var(--vp-font-heading);
  font-size: 10px;
  letter-spacing: 2px;
  color: var(--vp-bg);
  background: var(--vp-gold);
  padding: 5px 12px;
  margin-bottom: 10px;
}
.vq-btn-cart {
  font-family: var(--vp-font-heading);
  font-size: 11px;
  letter-spacing: 3px;
  color: var(--vp-bg);
  background: linear-gradient(135deg, var(--vp-gold-dark), var(--vp-gold-bright), var(--vp-gold-dark));
  background-size: 200%;
  border: none;
  padding: 14px 36px;
  animation: vpShimmer 3s linear infinite;
  transition: box-shadow 0.2s;
}
.vq-btn-cart:hover { box-shadow: 0 4px 24px rgba(201,160,85,0.25); }
.vq-btn-cart.ok { background: linear-gradient(135deg, #2a6e3a, #4a9e5a); animation: none; }
.vq-btn-view {
  font-family: var(--vp-font-heading);
  font-size: 10px;
  letter-spacing: 2px;
  color: var(--vp-gold);
  border-bottom: 1px solid var(--vp-gold-dark);
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  padding-bottom: 2px;
}

.vq-sec-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.vq-sec-card {
  border: 1px solid var(--vp-border);
  background: rgba(6,6,6,0.95);
  padding: 28px;
  display: flex;
  flex-direction: column;
}
.vq-sec-img { width: 64px; height: 64px; object-fit: contain; border: 1px solid var(--vp-border); flex-shrink: 0; }

/* ═══════════════════════════════════════════════════
   TRUST BAR
   ═══════════════════════════════════════════════════ */
.vp-trust {
  position: relative;
  z-index: 2;
  border-top: 1px solid var(--vp-border);
  border-bottom: 1px solid var(--vp-border);
  padding: 28px 20px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 40px;
}
.vp-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--vp-gold);
  font-weight: 600;
}
.vp-trust-item svg {
  width: 18px;
  height: 18px;
  stroke: var(--vp-gold);
  fill: none;
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════
   CATEGORIES GRID
   ═══════════════════════════════════════════════════ */
.vp-categories {
  position: relative;
  z-index: 2;
  max-width: var(--vp-max-w);
  margin: 0 auto;
  padding: 80px 40px;
}
.vp-section-overtitle {
  font-family: var(--vp-font-heading);
  font-size: 11px;
  letter-spacing: 4px;
  color: var(--vp-gold-dark);
  text-align: center;
  margin-bottom: 12px;
  text-transform: uppercase;
}
.vp-section-title {
  font-family: var(--vp-font-heading);
  font-size: clamp(28px, 5vw, 44px);
  font-weight: 700;
  text-align: center;
  margin-bottom: 48px;
}
.vp-cat-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
}
.vp-cat-item {
  border-bottom: 1px solid #1f1f1f;
  padding: 36px 28px;
  display: flex;
  align-items: center;
  gap: 28px;
  transition: transform 0.3s, background 0.3s;
}
.vp-cat-item:hover {
  transform: translateX(10px);
  background: rgba(201,160,85,0.05);
}
.vp-cat-icon {
  width: 76px;
  height: 76px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.vp-cat-icon svg {
  width: 100%;
  height: 100%;
  stroke: var(--vp-gold-light);
  fill: none;
  stroke-width: 1.4 !important;
  filter: drop-shadow(0 0 6px rgba(201,160,85,0.18));
}
.vp-cat-text { flex: 1; text-align: center; }
.vp-cat-overtitle {
  display: block;
  color: #888;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  margin-bottom: 8px;
}
.vp-cat-name {
  display: block;
  color: var(--vp-text);
  font-family: var(--vp-font-heading);
  font-size: 22px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
  line-height: 1.25;
}
@media (max-width: 768px) {
  .vp-cat-item { padding: 24px 18px; gap: 18px; }
  .vp-cat-icon { width: 56px; height: 56px; }
  .vp-cat-name { font-size: 18px; }
  .vp-cat-overtitle { font-size: 11px; }
}

/* ═══════════════════════════════════════════════════
   FEATURED PRODUCTS
   ═══════════════════════════════════════════════════ */
.vp-featured {
  position: relative;
  z-index: 2;
  max-width: var(--vp-max-w);
  margin: 0 auto;
  padding: 0 40px 80px;
}
.vp-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 20px;
}
.vp-product-card {
  background: var(--vp-bg3);
  border: 1px solid var(--vp-border);
  border-radius: 4px;
  overflow: hidden;
  transition: border-color 0.3s, transform 0.2s;
}
.vp-product-card:hover {
  border-color: rgba(201,160,85,0.45);
  transform: translateY(-3px);
}
.vp-product-img-wrap {
  background: #0f0f0f;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  position: relative;
}
.vp-product-img-wrap img { max-height: 180px; width: auto; object-fit: contain; }
.vp-product-ruo {
  position: absolute;
  bottom: 8px;
  right: 8px;
  font-size: 8px;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.3);
  background: rgba(0,0,0,0.5);
  padding: 2px 6px;
  border-radius: 2px;
}
.vp-product-info { padding: 18px 20px; }
.vp-product-name {
  font-family: var(--vp-font-heading);
  font-size: 16px;
  font-weight: 600;
  color: var(--vp-text);
  margin-bottom: 4px;
  letter-spacing: 0.02em;
}
.vp-product-variant {
  font-size: 12px;
  color: var(--vp-text-muted);
  margin-bottom: 12px;
}
.vp-product-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.vp-product-price {
  font-family: var(--vp-font-heading);
  font-size: 20px;
  font-weight: 600;
  color: var(--vp-gold);
}
.vp-product-atc {
  font-family: var(--vp-font-heading);
  font-size: 9px;
  letter-spacing: 2px;
  color: var(--vp-bg);
  background: var(--vp-gold);
  border: none;
  padding: 10px 18px;
  text-transform: uppercase;
  transition: opacity 0.2s;
}
.vp-product-atc:hover { opacity: 0.85; }

/* ═══════════════════════════════════════════════════
   USP SECTION
   ═══════════════════════════════════════════════════ */
.vp-usp {
  position: relative;
  z-index: 2;
  padding: 80px 40px;
  border-top: 1px solid var(--vp-border);
}
.vp-usp-grid {
  max-width: var(--vp-max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 32px;
  margin-top: 48px;
}
.vp-usp-card {
  background: var(--vp-bg3);
  border: 1px solid var(--vp-border);
  border-radius: 6px;
  padding: 32px 24px;
  text-align: center;
  transition: border-color 0.3s;
}
.vp-usp-card:hover { border-color: var(--vp-gold-light); }
.vp-usp-card svg {
  width: 36px;
  height: 36px;
  stroke: var(--vp-gold-light);
  fill: none;
  margin-bottom: 18px;
}
.vp-usp-card h3 {
  font-family: var(--vp-font-heading);
  font-size: 18px;
  color: #fff;
  margin-bottom: 10px;
}
.vp-usp-card p {
  font-size: 14px;
  color: #888;
  line-height: 1.6;
}

/* ═══════════════════════════════════════════════════
   NEWSLETTER
   ═══════════════════════════════════════════════════ */
.vp-newsletter {
  position: relative;
  z-index: 2;
  max-width: 600px;
  margin: 0 auto;
  padding: 80px 40px;
  text-align: center;
  border-top: 1px solid var(--vp-border);
}
.vp-newsletter h2 {
  font-family: var(--vp-font-heading);
  font-size: 28px;
  margin-bottom: 8px;
}
.vp-newsletter p {
  color: var(--vp-text-muted);
  margin-bottom: 28px;
  font-size: 15px;
}
.vp-nl-form {
  display: flex;
  gap: 10px;
  max-width: 440px;
  margin: 0 auto;
}
.vp-nl-input {
  flex: 1;
  background: rgba(10,8,4,0.8);
  border: 1px solid var(--vp-border);
  color: var(--vp-text);
  padding: 14px 18px;
  font-size: 14px;
  transition: border-color 0.2s;
}
.vp-nl-input:focus { outline: none; border-color: var(--vp-gold-dark); }
.vp-nl-input::placeholder { color: var(--vp-text-muted); }
.vp-nl-btn {
  font-family: var(--vp-font-heading);
  font-size: 10px;
  letter-spacing: 1px;
  background: var(--vp-gold);
  color: var(--vp-bg);
  border: none;
  padding: 14px 24px;
  text-transform: uppercase;
  font-weight: 700;
  white-space: nowrap;
  transition: opacity 0.2s;
}
.vp-nl-btn:hover { opacity: 0.85; }

/* ═══════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════ */
.vp-footer {
  position: relative;
  z-index: 2;
  border-top: 1px solid var(--vp-border);
  padding: 60px 40px 30px;
}
.vp-footer-inner {
  max-width: var(--vp-max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 40px;
}
.vp-footer-brand { }
.vp-footer-logo { height: 60px; width: auto; margin-bottom: 16px; }
.vp-footer-desc {
  font-size: 13px;
  color: #888;
  line-height: 1.7;
  max-width: 280px;
}
.vp-footer-col h4 {
  font-family: var(--vp-font-heading);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--vp-gold);
  margin-bottom: 16px;
  font-weight: 600;
}
.vp-footer-col a {
  display: block;
  font-size: 13px;
  color: #888;
  padding: 4px 0;
  transition: color 0.2s;
}
.vp-footer-col a:hover { color: var(--vp-text); }
.vp-footer-legal {
  text-align: center;
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.vp-footer-legal-text {
  font-size: 11px;
  color: var(--vp-gold-dark);
  line-height: 1.8;
  letter-spacing: 0.5px;
}
.vp-footer-legal-text strong { color: var(--vp-gold); }
.vp-footer-copy {
  font-size: 11px;
  color: #444;
  margin-top: 12px;
}

/* ═══════════════════════════════════════════════════
   SEARCH OVERLAY
   ═══════════════════════════════════════════════════ */
.vp-search-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.9);
  z-index: 9999;
  align-items: flex-start;
  justify-content: center;
  padding: 120px 20px;
}
.vp-search-overlay.open { display: flex; }
.vp-search-box {
  width: 100%;
  max-width: 600px;
  position: relative;
}
.vp-search-input {
  width: 100%;
  background: var(--vp-bg3);
  border: 1px solid var(--vp-border);
  color: var(--vp-text);
  font-size: 18px;
  padding: 18px 24px;
  padding-right: 50px;
}
.vp-search-input:focus { outline: none; border-color: var(--vp-gold); }
.vp-search-close {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--vp-text-muted);
  font-size: 24px;
}

/* ═══════════════════════════════════════════════════
   MOBILE RESPONSIVE
   ═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .vp-header-top { padding: 12px 16px; }
  .vp-logo-img { height: 36px; }
  .vp-nav { gap: 20px; padding: 0 16px 10px; overflow-x: auto; flex-wrap: nowrap; }
  .vp-nav-link { font-size: 10px; white-space: nowrap; }
  .vp-mega {
    position: fixed;
    top: 0; left: 0;
    width: 100vw;
    height: 100vh;
    max-width: 100%;
    overflow-y: auto;
    transform: none;
  }
  .vp-mega-grid { grid-template-columns: 1fr; }
  .vp-trust { gap: 20px; padding: 20px 16px; }
  .vp-trust-item { font-size: 9px; }
  .vp-categories { padding: 48px 16px; }
  .vp-cat-grid { grid-template-columns: 1fr; }
  .vp-featured { padding: 0 16px 48px; }
  .vp-product-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
  .vp-usp { padding: 48px 16px; }
  .vp-newsletter { padding: 48px 16px; }
  .vp-nl-form { flex-direction: column; }
  .vp-footer { padding: 40px 16px 20px; }
  .vp-footer-inner { grid-template-columns: 1fr 1fr; gap: 24px; }
  .vq-body { padding: 32px 14px; }
  .vq-options { grid-template-columns: 1fr; }
  .vq-nav {
    position: sticky;
    bottom: 0;
    background: rgba(6,6,6,0.98);
    padding: 14px 16px;
    margin-top: 32px;
    border-top: 1px solid var(--vp-border);
    justify-content: space-between;
  }
  .vq-results-body { padding: 32px 14px 60px; }
  .vq-hero-inner { grid-template-columns: 1fr; }
  .vq-hero-img { width: 100%; height: 110px; }
}
@media (max-width: 480px) {
  .vp-footer-inner { grid-template-columns: 1fr; }
  .vp-hero-title { font-size: 36px; }
}

/* === END PAGE HOME === */

/* ═══════════════════════════════════════════════════
   BUG-FIX BATCH — visual cleanup patches
   ═══════════════════════════════════════════════════ */

/* BUG 2 — REVERTED. Dropdown toggle uses base CSS (no gold-bordered box). */

/* BUG 3 — Product titles ružové */
.woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
h2.woocommerce-loop-product__title {
  color: #f5f0e8 !important;
}

/* BUG 4 — Add to Cart + Read More tlačidlá */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce .products .add_to_cart_button,
.woocommerce .products .button {
  display: block !important;
  width: fit-content !important;
  margin: 12px auto 0 auto !important;
  background: #C9A055 !important;
  color: #0A0A0A !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 10px 24px !important;
  border: none !important;
  border-radius: 2px !important;
  transition: background 0.2s ease !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce .products .button:hover {
  background: #D4AF37 !important;
  color: #0A0A0A !important;
}

/* BUG 5 — Pagination ružová/červená */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.page-numbers a,
.page-numbers span {
  color: #f5f0e8 !important;
  border-color: #1f1f1f !important;
  background: transparent !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.page-numbers .current {
  background: #C9A055 !important;
  color: #0A0A0A !important;
  border-color: #C9A055 !important;
}

/* BUG 6 odstránený 2026-05-28: hardcoded width:80px !important zamykal header
   logo na 80px aj na desktope a prebíjal header.css desktop/tablet/mobile
   pravidlá. Veľkosť teraz spravujú normálne pravidlá v assets/css/header.css
   (desktop 110px / tablet 64px / mobile 54px). Footer logo size je riešený
   v assets/css/footer.css (.vp-footer .vp-footer-logo max-width:240px). */

/* BUG 3 — Skry duplicitný eyebrow "Váš výskumný profil" nad H1 v quiz results.
   Text žije v assets/quiz.bundle.js ako O.res_lb (React const), renderuje
   sa cez .rs-top-lb. Landing page používa tú istú konštantu cez .lp-ql,
   tú nechcem dotknúť → cielim len .rs-top-lb. */
#valhalla-quiz-root .rs-top-lb {
  display: none !important;
}

/* ═══════════════════════════════════════════════════
   FIX 1 — Nav underline animation (tighter, slower, no persistent)
   ═══════════════════════════════════════════════════ */
.vp-nav-link {
  display: inline-block;
  width: fit-content;
  white-space: nowrap;
  position: relative;
  font-size: 11px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  font-weight: 500;
  color: #f5f0e8;
  text-decoration: none;
  transition: color 0.35s ease;
}
.vp-nav-link::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 1px;
  background: #C9A055;
  transition: width 0.4s ease;
}
.vp-nav-link:hover::after {
  width: 100%;
}
.vp-nav-link:hover {
  color: #C9A055;
}
/* Zruš persistent active */
.vp-nav-link.current-menu-item,
.vp-nav-link.current-menu-parent,
.vp-nav-link.current-menu-ancestor {
  color: #f5f0e8 !important;
}
.vp-nav-link.current-menu-item::after,
.vp-nav-link.current-menu-parent::after,
.vp-nav-link.current-menu-ancestor::after {
  width: 0 !important;
}

/* ═══════════════════════════════════════════════════
   FIX 2 — Categories grid: gold only on hover (no permanent gold)
   Sizes upgraded in úprava-3 (2026-05-27) — visibility pass.
   ═══════════════════════════════════════════════════ */
.vp-cat-name {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ffffff !important;
  transition: color 0.7s ease, text-shadow 0.7s ease;
  text-shadow: 0 0 0 rgba(201,160,85,0);
  display: block;
  line-height: 1.25;
}
.vp-cat-item:hover .vp-cat-name {
  color: #C9A055 !important;
  text-shadow: 0 0 12px rgba(201,160,85,0.35);
}
.vp-cat-overtitle {
  font-size: 12px;
  letter-spacing: 0.22em;
  color: #888888 !important;
  text-transform: uppercase;
  display: block;
  margin-bottom: 4px;
}
.vp-cat-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 0;
  border-bottom: 1px solid #1f1f1f;
  text-decoration: none;
  transition: transform 0.3s ease;
}
.vp-cat-item:hover {
  transform: translateX(4px);
}

/* ═══════════════════════════════════════════════════
   FIX 3 — Header / Nav / Mega-menu unification
   ───────────────────────────────────────────────────
   Po PAGE HOME migrácii sa v style.css objavili duplicitné mega-menu
   bloky (lines 181-282 base + 909-993 z page-home). Tieto override
   pravidlá majú vyššiu specificity (.vp-nav .vp-mega-wrap ...) a/alebo
   !important kde treba, takže vyhrávajú nad oboma duplikátmi.
   ═══════════════════════════════════════════════════ */

/* ── NAV CONTAINER: equal-spaced, vertikálne aligned items ── */
.vp-nav {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 38px;
  padding: 0 40px 14px;
}

/* ── NAV ITEM (default) — white text, smooth gold hover, centered underline ── */
.vp-nav-link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 0;
  padding: 6px 0 !important;
  font-family: var(--vp-font-body);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #ffffff !important;
  text-decoration: none !important;
  text-align: center;
  white-space: nowrap;
  background: transparent !important;
  border: 0 !important;
  position: relative;
  transition: color 0.5s ease, text-shadow 0.5s ease;
  text-shadow: 0 0 0 rgba(201,160,85,0);
}
.vp-nav-link:hover {
  color: #C9A055 !important;
  text-shadow: 0 0 10px rgba(201,160,85,0.30);
}
.vp-nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 1px;
  background: #C9A055;
  transition: width 0.45s ease;
}
.vp-nav-link:hover::after {
  width: 100%;
}

/* FIX 3 mega-menu sub-blocks REVERTED per user request — mega-wrap,
   mega-toggle, mega-dropdown-panel hover rules removed. Mega-menu now
   uses pre-FIX-3 base + page-home migration CSS (lines ~181-282 / 909-993). */

/* ── HEADER TOP: 3-column grid (left | logo center | right) ── */
.vp-header .vp-header-top {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}
.vp-header .vp-header-left   { justify-self: start; }
.vp-header .vp-header-center { justify-self: center; }
.vp-header .vp-header-right  { justify-self: end; }

/* ═══════════════════════════════════════════════════
   FIX 4 — Quiz pre-mount loader (FIX 4a mega-fade REVERTED)
   ───────────────────────────────────────────────────
   Loader pre #valhalla-quiz-root pred mountom React bundle.
   Selektor :empty zmizne keď React vloží DOM → loader auto-removed.
   ═══════════════════════════════════════════════════ */

/* ── QUIZ PRE-MOUNT LOADER ── */
#valhalla-quiz-root:empty {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 78vh;
  background: var(--vp-bg);
}
#valhalla-quiz-root:empty::before {
  content: '';
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 1px solid rgba(201,160,85,0.16);
  border-top-color: #C9A055;
  border-right-color: rgba(201,160,85,0.5);
  animation: vp-quiz-load-spin 1.5s cubic-bezier(.55,.05,.45,.95) infinite;
  box-shadow: 0 0 24px rgba(201,160,85,0.08);
}
#valhalla-quiz-root:empty::after {
  content: 'VALHALLA · PRÍPRAVA DOTAZNÍKA';
  position: absolute;
  bottom: 32%;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Cinzel', 'Fraunces', serif;
  font-size: 10px;
  letter-spacing: 0.42em;
  color: #7A6035;
  white-space: nowrap;
  animation: vp-quiz-load-pulse 2.4s ease-in-out infinite;
}
@keyframes vp-quiz-load-spin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes vp-quiz-load-pulse {
  0%, 100% { opacity: 0.35; letter-spacing: 0.42em; }
  50%      { opacity: 1;    letter-spacing: 0.48em; }
}
@media (max-width: 640px) {
  #valhalla-quiz-root:empty { min-height: 60vh; }
  #valhalla-quiz-root:empty::before { width: 52px; height: 52px; }
  #valhalla-quiz-root:empty::after { font-size: 9px; letter-spacing: 0.3em; bottom: 28%; }
}
@media (prefers-reduced-motion: reduce) {
  #valhalla-quiz-root:empty::before { animation: none; border-top-color: #C9A055; }
  #valhalla-quiz-root:empty::after  { animation: none; opacity: 0.7; }
}

/* ═══════════════════════════════════════════════════
   FIX 4b — Override bundle interný .sk loader na gold aesthetic
   ───────────────────────────────────────────────────
   Bundle (quiz.bundle.js) po React mounte ukáže svoj vlastný loading
   state ~2.1s: .vq > .sk > .sk-ring + .lb.top + .lb.bot. Default styling
   bundle CSS je generic. Tento override matchuje pre-mount loader (FIX 4)
   takže transition pre-mount → bundle-loading je seamless.
   Specificity #valhalla-quiz-root .xxx vyhrá nad bundle bare .xxx.
   ═══════════════════════════════════════════════════ */

#valhalla-quiz-root .vq {
  background: var(--vp-bg) !important;
}

/* SK CONTAINER — full-bleed flex center, identický min-height ako pre-mount */
#valhalla-quiz-root .sk {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 78vh !important;
  background: var(--vp-bg) !important;
  transition: opacity 0.5s ease !important;
}
#valhalla-quiz-root .sk.out {
  opacity: 0 !important;
  pointer-events: none;
}

/* SK-RING — replace generic spinner with branded gold ring (matchuje pre-mount) */
#valhalla-quiz-root .sk-ring {
  width: 64px !important;
  height: 64px !important;
  border: 1px solid rgba(201,160,85,0.16) !important;
  border-top-color: #C9A055 !important;
  border-right-color: rgba(201,160,85,0.5) !important;
  border-bottom-color: rgba(201,160,85,0.16) !important;
  border-left-color: rgba(201,160,85,0.16) !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: 0 0 24px rgba(201,160,85,0.08) !important;
  animation: vp-quiz-load-spin 1.5s cubic-bezier(.55,.05,.45,.95) infinite !important;
}

/* Pridáme rovnaký brand text label ako pre-mount, cez pseudo na .sk */
#valhalla-quiz-root .sk::after {
  content: 'VALHALLA · PRÍPRAVA DOTAZNÍKA';
  position: absolute;
  bottom: 32%;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Cinzel', 'Fraunces', serif;
  font-size: 10px;
  letter-spacing: 0.42em;
  color: #7A6035;
  white-space: nowrap;
  animation: vp-quiz-load-pulse 2.4s ease-in-out infinite;
  pointer-events: none;
}

/* LB BARS — bundle ich používa ako horizontal reveal lines pri prechode
   z loading do landing. Premaľujeme na gold gradient, retain animation. */
#valhalla-quiz-root .lb {
  background: linear-gradient(90deg, transparent 0%, rgba(201,160,85,0.6) 50%, transparent 100%) !important;
  height: 1px !important;
  box-shadow: 0 0 12px rgba(201,160,85,0.25);
}

/* Mobile parity s pre-mount loaderom */
@media (max-width: 640px) {
  #valhalla-quiz-root .sk { min-height: 60vh !important; }
  #valhalla-quiz-root .sk-ring { width: 52px !important; height: 52px !important; }
  #valhalla-quiz-root .sk::after { font-size: 9px; letter-spacing: 0.3em; bottom: 28%; }
}
@media (prefers-reduced-motion: reduce) {
  #valhalla-quiz-root .sk-ring { animation: none !important; border-top-color: #C9A055 !important; }
  #valhalla-quiz-root .sk::after { animation: none; opacity: 0.7; }
}

/* ═══════════════════════════════════════════════════
   FIX 5 — Defensive pink/red nuke layer
   ───────────────────────────────────────────────────
   Child theme samé žiadnu pink/magenta hex farbu neobsahuje (overené
   grep-om všetkých .css/.php/.js súborov). Pink čo používateľ stále vidí
   pochádza z externých enqueue-ovaných stylesheets:
     - WC core (notices, sale tags, validation errors, mini-cart hover)
     - Complianz GDPR cookie banner
     - Hello-Elementor parent <a> link defaults
     - WC Coming Soon overlay (pre anonymous návštevníkov)
   Tieto override-y vynucujú brand colors na všetkých známych miestach
   kde WC/plugin defaults používajú #e91e63 / #ff4081 / coral / red.
   ═══════════════════════════════════════════════════ */

/* ── WC NOTICES (success/error/info) — banished pink/red bg + borders ── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice,
.wc-block-components-notice-banner,
ul.woocommerce-error,
ul.woocommerce-message,
ul.woocommerce-info {
  background: #141414 !important;
  border: 1px solid #C9A055 !important;
  border-left: 3px solid #C9A055 !important;
  color: #f5f0e8 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}
.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li { color: #f5f0e8 !important; }
.woocommerce-error a,
.woocommerce-message a { color: #E8C98A !important; text-decoration: underline; }
.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before { color: #C9A055 !important; }

/* ── SALE PRICE / DISCOUNT TAG — WC defaults often use red/coral ── */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale,
.wc-block-grid__product-onsale {
  background: #C9A055 !important;
  color: #0A0A0A !important;
  border: none !important;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.woocommerce-Price-amount,
.product .price ins .amount,
.wc-block-formatted-money-amount { color: #E8C98A !important; }
.woocommerce del .amount,
.product .price del .amount { color: #6a6258 !important; }
.required,
abbr.required,
.woocommerce form .form-row .required,
abbr[title="required"] { color: #C9A055 !important; text-decoration: none !important; }

/* ── VALIDATION FIELD ERRORS — WC red bracket → gold border ── */
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.wc-block-components-validation-error,
.has-error input { border-color: #C9A055 !important; }
.wc-block-components-validation-error,
.wc-block-components-validation-error * { color: #E8C98A !important; }

/* ── MINI-CART / WC BLOCKS — hover/active pink → gold ── */
.wc-block-mini-cart__button:hover,
.wc-block-cart .wc-block-cart-item__remove-link:hover,
.wc-block-components-button:hover { color: #E8C98A !important; }
.wc-block-components-button.contained:not(:disabled) {
  background-color: #C9A055 !important;
  color: #0A0A0A !important;
  border-color: #C9A055 !important;
}
.wc-block-components-button.contained:not(:disabled):hover {
  background-color: #D4AF37 !important;
}

/* ── COMING-SOON OVERLAY (anonymous visitors) ── */
.wc-block-coming-soon-cta,
.coming-soon-button,
.wp-block-button__link {
  background: #C9A055 !important;
  color: #0A0A0A !important;
  border-color: #C9A055 !important;
}
.wp-block-button__link:hover { background: #D4AF37 !important; }

/* ── COMPLIANZ GDPR cookie banner — pink buttons → gold ── */
.cmplz-cookiebanner button.cmplz-accept,
.cmplz-cookiebanner button.cmplz-accept-marketing,
.cmplz-cookiebanner .cmplz-btn,
.cmplz-cookiebanner [class*="cmplz-btn"] {
  background: #C9A055 !important;
  color: #0A0A0A !important;
  border-color: #C9A055 !important;
}
.cmplz-cookiebanner button.cmplz-deny,
.cmplz-cookiebanner button.cmplz-view-preferences {
  background: transparent !important;
  color: #C9A055 !important;
  border: 1px solid #C9A055 !important;
}
.cmplz-cookiebanner a { color: #E8C98A !important; }

/* ── GLOBAL <a> COLOR INHERITANCE — prevent hello-elementor/wp defaults ── */
.vp-dark-theme a:not([class]),
.vp-dark-theme p a,
.vp-dark-theme li a {
  color: #E8C98A;
  text-decoration: underline;
  text-decoration-color: rgba(201,160,85,0.35);
  text-underline-offset: 2px;
  transition: color 0.2s, text-decoration-color 0.2s;
}
.vp-dark-theme a:not([class]):hover,
.vp-dark-theme p a:hover,
.vp-dark-theme li a:hover { color: #C9A055; text-decoration-color: #C9A055; }
.vp-dark-theme a:visited:not([class]) { color: #E8C98A; }

/* ── WORDPRESS BLOCK STYLES — kill pale-pink table bg etc. ── */
.has-subtle-pale-pink-background-color,
.has-vivid-red-background-color,
.has-luminous-vivid-orange-background-color { background-color: #141414 !important; }
.has-subtle-pale-pink-color,
.has-vivid-red-color { color: #E8C98A !important; }

/* ── COMMON THIRD-PARTY ERROR/WARNING RED HUES → brand ── */
.error, .warning, .alert-danger, .alert-warning {
  background: #141414 !important;
  color: #E8C98A !important;
  border-color: #C9A055 !important;
}

/* ═══════════════════════════════════════════════════
   FIX 5b — Targeted pink kills based on user screenshots
   ───────────────────────────────────────────────────
   Pink leak source identifikovaný: WC blocks bundle obsahuje
   #cd2653 (Twenty Twenty accent) ktorý sa aplikuje generic-ky
   na <button> elementy bez WC-špecifickej classes. Nuclear
   !important overrides na 4 elementoch zo screenshotov.
   ═══════════════════════════════════════════════════ */

/* (1) Mega-toggle (^) — ŽIADNY fill background, len inline chevron */
.vp-header .vp-mega-toggle,
.vp-nav .vp-mega-toggle,
button.vp-mega-toggle,
.vp-mega-toggle,
.vp-mega-toggle:hover,
.vp-mega-toggle:focus,
.vp-mega-toggle:active {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #f5f0e8 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 4px 6px !important;
}
.vp-mega-toggle:hover { color: #C9A055 !important; }

/* (2) Search "Zrušiť" cancel — text-only link, no pink border/bg */
.vp-search-cancel,
button.vp-search-cancel,
.vp-search-cancel:hover,
.vp-search-cancel:focus,
.vp-search-cancel:active {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #888888 !important;
}
.vp-search-cancel:hover { color: #f5f0e8 !important; }

/* (3) Search suggestion chips (NÁVRHY) — dark bg + cream text, no pink */
.vp-search-chip,
button.vp-search-chip,
.vp-search-chip:link,
.vp-search-chip:visited {
  background: #111111 !important;
  background-color: #111111 !important;
  background-image: none !important;
  border: 1px solid #1f1f1f !important;
  color: #d4cabc !important;
  box-shadow: none !important;
}
.vp-search-chip:hover,
.vp-search-chip:focus,
.vp-search-chip:active {
  background: #181818 !important;
  background-color: #181818 !important;
  border-color: #C9A055 !important;
  color: #f5f0e8 !important;
}

/* (4) Product accordion toggle (Úvod, Mechanizmus...) — no pink open state */
.vpp-acc-toggle,
button.vpp-acc-toggle,
.vpp-acc-toggle:hover,
.vpp-acc-toggle:focus,
.vpp-acc-toggle:active,
.vpp-acc-item .vpp-acc-toggle,
.vpp-acc-item.open .vpp-acc-toggle {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #e8e0d0 !important;
}
.vpp-acc-toggle:hover { color: #E8C98A !important; }

/* ═══════════════════════════════════════════════════
   FIX 6 — Transparent quiz background (molecules show through)
   ───────────────────────────────────────────────────
   Bundle injektuje opaque bg na vlastné kontajnery. Override
   všetky vrstvy na transparent aby #mol-canvas z page-home.php
   prepúšťal animované molekuly skrz celý dotazník.
   ═══════════════════════════════════════════════════ */
#valhalla-quiz-root,
#valhalla-quiz-root .vq,
#valhalla-quiz-root .lp,
#valhalla-quiz-root .qz,
#valhalla-quiz-root .rs,
#valhalla-quiz-root .lp-center,
#valhalla-quiz-root .qz-body,
#valhalla-quiz-root .qz-head,
#valhalla-quiz-root .rs-body,
#valhalla-quiz-root .rs-head,
#valhalla-quiz-root .sk {
  background: transparent !important;
  background-color: transparent !important;
}
/* Pre-mount + bundle loaders — tiež transparent (override predošlé FIX 4/4b dark bg) */
#valhalla-quiz-root:empty { background: transparent !important; }
#valhalla-quiz-root .vq { background: transparent !important; }

/* ═══════════════════════════════════════════════════
   FIX 7 — Quiz landing padding compaction
   ───────────────────────────────────────────────────
   Bundle .lp-center má veľký vertical padding/min-height čo
   creates prázdny priestor medzi return-banner a H1. Pull text up.
   ═══════════════════════════════════════════════════ */
#valhalla-quiz-root .lp {
  min-height: auto !important;
  padding-top: 0 !important;
}
#valhalla-quiz-root .lp-center {
  padding: 20px 20px 40px !important;
  min-height: auto !important;
  display: block !important;
  text-align: center;
}
#valhalla-quiz-root .lp-ql {
  margin-bottom: 8px !important;
  font-size: 11px !important;
}
#valhalla-quiz-root .lp-title {
  font-size: clamp(36px, 6.5vw, 84px) !important;
  margin: 8px 0 14px !important;
  line-height: 1.05 !important;
}
#valhalla-quiz-root .lp-sub {
  margin: 0 auto 24px !important;
  max-width: 660px;
  font-size: 14px !important;
}
#valhalla-quiz-root .lp-cta {
  margin: 8px auto 12px !important;
}
#valhalla-quiz-root .lp-legal {
  margin: 8px auto 16px !important;
  font-size: 11px !important;
}
#valhalla-quiz-root .lp-browse {
  margin-top: 4px !important;
  font-size: 11px !important;
}
#valhalla-quiz-root .rv-banner {
  margin-bottom: 12px !important;
  padding: 10px 16px !important;
}
@media (max-width: 640px) {
  #valhalla-quiz-root .lp-center { padding: 16px 14px 32px !important; }
  #valhalla-quiz-root .lp-title { font-size: 36px !important; }
}

/* ═══════════════════════════════════════════════════
   FIX 8 — NUCLEAR PINK KILL na všetkých produktových buttons
   ───────────────────────────────────────────────────
   User-frustrated revízia: pink stále presakuje na:
   - shop loop "DO KOŠÍKA" cards (8×)
   - single product "ČÍTAŤ VIAC ↓" SEO toggle
   - single product sticky bottom "DO KOŠÍKA"
   - sticky bar variant pickers, qty buttons
   Override má body-prefix specificity (max attribute-level) + force gold.
   ═══════════════════════════════════════════════════ */

/* ── HOMEPAGE featured product ATC button ── */
body .vp-product-atc,
button.vp-product-atc,
body button.vp-product-atc {
  background: linear-gradient(135deg, #7A6035, #D4AF37, #7A6035) !important;
  background-color: #C9A055 !important;
  color: #0A0A0A !important;
  border: none !important;
  font-weight: 700 !important;
}
body .vp-product-atc:hover { box-shadow: 0 4px 20px rgba(212,175,55,0.3) !important; }

/* ── SINGLE PRODUCT main ATC + sticky ATC buttons ── */
body .vpp-atc-btn,
button.vpp-atc-btn,
body button.vpp-atc-btn,
body .vpp-sticky-btn,
button.vpp-sticky-btn,
body button.vpp-sticky-btn {
  background: linear-gradient(135deg, #7A6035, #D4AF37, #7A6035) !important;
  background-color: #D4AF37 !important;
  color: #0A0A0A !important;
  border: none !important;
  border-radius: 3px !important;
  font-weight: 700 !important;
}
body .vpp-atc-btn:hover,
body .vpp-sticky-btn:hover { box-shadow: 0 4px 20px rgba(212,175,55,0.3) !important; }

/* ── SINGLE PRODUCT SEO toggle "ČÍTAŤ VIAC" ── */
body .vpp-seo-toggle,
button.vpp-seo-toggle,
body button.vpp-seo-toggle {
  background: transparent !important;
  background-color: transparent !important;
  color: #D4AF37 !important;
  border: 1px solid rgba(201,160,85,0.3) !important;
  border-radius: 0 !important;
  font-weight: 400 !important;
}
body .vpp-seo-toggle:hover {
  background: rgba(201,160,85,0.05) !important;
  border-color: #C9A055 !important;
  color: #E8C98A !important;
}

/* ── SINGLE PRODUCT variant picker + qty buttons ── */
body .vpp-var-btn,
button.vpp-var-btn,
body button.vpp-var-btn {
  background: #161616 !important;
  background-color: #161616 !important;
  color: #ccc !important;
  border: 1px solid #2a2a2a !important;
}
body .vpp-var-btn.active,
body .vpp-var-btn:hover {
  border-color: #D4AF37 !important;
  background: rgba(201,160,85,0.08) !important;
  color: #D4AF37 !important;
}
body .vpp-qty button,
body .vpp-qty input {
  background: #161616 !important;
  background-color: #161616 !important;
  color: #ccc !important;
  border: none !important;
}

/* ── WOOCOMMERCE PRODUCT LOOP buttons (shop, archives) ── */
body.woocommerce ul.products li.product .button,
body.woocommerce ul.products li.product a.button,
body.woocommerce ul.products li.product .add_to_cart_button,
body.woocommerce-page ul.products li.product .button,
body.woocommerce-page ul.products li.product a.button,
body .woocommerce ul.products li.product .button,
body .woocommerce ul.products li.product a.button,
.woocommerce-loop-product__link + .button,
li.product .button.add_to_cart_button,
li.product a.button.product_type_simple,
li.product a.button.product_type_variable {
  background: #C9A055 !important;
  background-color: #C9A055 !important;
  background-image: none !important;
  color: #0A0A0A !important;
  border: none !important;
  border-radius: 2px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 10px 22px !important;
  display: inline-block !important;
  margin: 12px auto 0 !important;
}
body.woocommerce ul.products li.product .button:hover,
body.woocommerce ul.products li.product .add_to_cart_button:hover,
body .woocommerce ul.products li.product .button:hover {
  background: #D4AF37 !important;
  background-color: #D4AF37 !important;
  color: #0A0A0A !important;
  box-shadow: 0 4px 20px rgba(212,175,55,0.25) !important;
}

/* ── EXTRA: any <button> inside product context that lacks explicit bg ── */
body.woocommerce button:not(.vp-search-cancel):not(.vp-search-chip):not(.vp-mega-toggle):not(.vp-cart-link):not(.vp-search-toggle):not(.vp-account-link):not(.vp-nav-link):not(.vpp-acc-toggle),
body .vpp-page button:not(.vpp-acc-toggle):not(.vpp-seo-toggle):not(.vpp-var-btn):not(.vpp-qty button):not(.cs-login) {
  /* If button has no explicit branded background, force themed defaults */
}

/* ── FINAL CATCH-ALL: kill any element with rendered #cd2653 / hot-pink leak ── */
button[style*="cd2653"],
button[style*="#cd"],
[style*="background-color: rgb(205, 38, 83)"],
[style*="background:#cd2653"] {
  background: #C9A055 !important;
  background-color: #C9A055 !important;
  color: #0A0A0A !important;
}

/* ═══════════════════════════════════════════════════
   FIX 9 — FAQ accordion pink kill (Peptidová kalkulačka)
   ───────────────────────────────────────────────────
   User reported pink highlight on first FAQ accordion item.
   Source: hello-elementor + WC blocks bundle inject background-image
   gradients / #cd2653 on bare <button> elementy. faq.css má
   `background: transparent` (shorthand), ale neexplicitne killuje
   background-image, takže gradient sa stále aplikuje. Tu force-kill
   všetkých background variants + first-child guard.
   ═══════════════════════════════════════════════════ */
.vp-faq-section,
.vp-faq-accordion,
.vp-faq-item,
.vp-faq-item:first-child,
.vp-faq-item:last-child,
.vp-faq-item:hover,
.vp-faq-item:focus-within {
  background-image: none !important;
}
.vp-faq-item,
.vp-faq-item:first-child,
.vp-faq-item:last-child {
  background: #111 !important;
  background-color: #111 !important;
  background-image: none !important;
}
.vp-faq-q,
button.vp-faq-q,
.vp-faq-q:hover,
.vp-faq-q:focus,
.vp-faq-q:active,
.vp-faq-q:focus-visible,
.vp-faq-q[aria-expanded="true"],
.vp-faq-q-open,
button.vp-faq-q-open {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.vp-faq-q:hover,
.vp-faq-q.vp-faq-q-open { color: #D4AF37 !important; }
.vp-faq-a,
.vp-faq-a[hidden] {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* ═══════════════════════════════════════════════════
   FIX 10 — NUCLEAR PINK KILL (site-wide sweep)
   ───────────────────────────────────────────────────
   Fix 9 covered .vp-faq-* only. This block extends the
   pink/magenta kill to ALL site components. Hello-elementor
   bundles + WC blocks inject pink via #cd2653 / #d81b60 /
   gradient mixins. We force-override on the entire vp-*
   namespace + common interactive elements.
   ═══════════════════════════════════════════════════ */

/* All vp-* search components */
.vp-search-modal,
.vp-search-modal *,
.vp-search-bar,
.vp-search-bar *,
.vp-search-input,
.vp-search-icon,
.vp-search-toggle,
.vp-search-cancel,
.vp-search-results,
.vp-search-result-item,
.vp-search-result-item:hover,
.vp-search-result-item:focus,
.vp-search-result-item.is-active {
  background-image: none !important;
}

.vp-search-bar,
.vp-search-modal-inner,
.vp-search-results {
  background: #0F0F0F !important;
  background-color: #0F0F0F !important;
}

.vp-search-input,
.vp-search-modal-input,
input.vp-search-input,
input.vp-search-modal-input {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #F5F0E8 !important;
  border-color: rgba(201, 160, 85, 0.3) !important;
}

.vp-search-input:focus,
.vp-search-modal-input:focus {
  border-color: #C9A055 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(201, 160, 85, 0.2) !important;
}

.vp-search-result-item:hover,
.vp-search-result-item:focus,
.vp-search-result-item.is-active {
  background: rgba(201, 160, 85, 0.1) !important;
  color: #D4AF37 !important;
}

/* All vp-* cart / account / nav components */
.vp-cart-link,
.vp-cart-link:hover,
.vp-cart-link:focus,
.vp-cart-count,
.vp-account-link,
.vp-account-link:hover,
.vp-nav-link,
.vp-nav-link:hover,
.vp-nav-link.is-active,
.vp-mega-toggle,
.vp-mega-toggle:hover,
.vp-mega-toggle[aria-expanded="true"] {
  background-image: none !important;
}

/* WC search widget — also fires pink */
.wc-block-product-search,
.wc-block-product-search *,
.woocommerce-product-search,
.woocommerce-product-search * {
  background-image: none !important;
}

.wc-block-product-search input,
.woocommerce-product-search input {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #F5F0E8 !important;
  border: 1px solid rgba(201, 160, 85, 0.3) !important;
}

/* Nuclear catch-all: any element inside vp-* container
   with a pink-ish inline background gets gold instead.
   Last-resort defense against future Elementor / WC injections. */
[class*="vp-"] [style*="background"][style*="#cd2653"],
[class*="vp-"] [style*="background"][style*="#d81b60"],
[class*="vp-"] [style*="background"][style*="#e91e63"],
[class*="vp-"] [style*="background"][style*="hotpink"],
[class*="vp-"] [style*="background"][style*="magenta"],
[class*="vp-"] [style*="background"][style*="fuchsia"] {
  background: #C9A055 !important;
  background-color: #C9A055 !important;
  background-image: none !important;
}

/* Buttons & links — any pink hover state → gold */
button:hover,
a:hover,
.button:hover,
.btn:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
  background-image: none !important;
}
