/* GPL Vault Theme — precompiled stylesheet (hand-built from assets/src/scss).
   Re-generate with `npm run build` when you have Node installed. */

:root{
  --gplv-radius:8px;--gplv-radius-lg:14px;
  --gplv-shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --gplv-shadow-md:0 6px 16px rgba(15,23,42,.08);
  --gplv-color-primary:#2563eb;--gplv-color-success:#16a34a;--gplv-color-warning:#f59e0b;
  --gplv-color-danger:#dc2626;--gplv-color-ink:#0f172a;--gplv-color-muted:#64748b;
  --gplv-color-border:#e2e8f0;--gplv-color-subtle:#f8fafc;
  --gplv-color-accent:#f39c12;--gplv-color-accent-d:#d68910;
  --gplv-color-cart:#8e44ad;--gplv-color-cart-d:#732d91;
  --gplv-color-go:#27ae60;--gplv-color-go-d:#229954;
  --gplv-color-success-d:#15803d;--gplv-color-danger-d:#b91c1c;--gplv-color-primary-d:#1d4ed8;
}

.gplv-site,body.gplv-body{font-family:var(--wp--preset--font-family--inter,system-ui,sans-serif);color:var(--gplv-color-ink)}

/* Buttons — chunky, solid, uppercase storefront CTA style */
.gplv-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:48px;padding:.8rem 1.5rem;border-radius:6px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:.9rem;line-height:1.1;cursor:pointer;transition:transform .12s ease,background-color .12s ease,box-shadow .12s ease;border:0;text-decoration:none}
.gplv-btn:hover{transform:translateY(-1px);box-shadow:var(--gplv-shadow-md);color:#fff}
.gplv-btn:active{transform:translateY(0)}
.gplv-btn:focus-visible{outline:2px solid var(--gplv-color-ink);outline-offset:2px}
.gplv-btn--add{background:var(--gplv-color-cart);color:#fff}
.gplv-btn--add:hover{background:var(--gplv-color-cart-d)}
.gplv-btn--buy{background:var(--gplv-color-accent);color:#fff}
.gplv-btn--buy:hover{background:var(--gplv-color-accent-d)}
.gplv-btn--request-update{background:var(--gplv-color-go);color:#fff}
.gplv-btn--request-update:hover{background:var(--gplv-color-go-d)}
.gplv-btn--preview{background:var(--gplv-color-danger);color:#fff}
.gplv-btn--preview:hover{background:var(--gplv-color-danger-d)}
.gplv-cart-ctas{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.85rem}
.gplv-cart-ctas>*{flex:1 1 0;min-width:150px}
.gplv-cart-ctas .gplv-btn--request-update{flex-basis:100%}

/* Price */
.gplv-price__savings{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--gplv-color-success);color:#fff;font-size:.85em;font-weight:700;margin-left:.5rem}
.gplv-price__membership-perk{margin-top:.5rem;padding:.5rem .75rem;background:var(--gplv-color-subtle);border-radius:var(--gplv-radius);font-size:.9rem}

/* Meta chips */
.gplv-meta-chips{list-style:none;padding:0;margin:.75rem 0;display:flex;flex-wrap:wrap;gap:.5rem}
.gplv-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .7rem;border-radius:6px;border:1px solid var(--gplv-color-border);background:#fff;font-size:.8rem;line-height:1.2}
.gplv-chip a{text-decoration:none;color:inherit;display:inline-flex;gap:.35rem;align-items:center}
.gplv-chip__label{color:var(--gplv-color-muted);font-weight:500}
.gplv-chip__value{color:var(--gplv-color-ink);font-weight:600}
.gplv-chip--version{border-color:rgba(37,99,235,.4)}
.gplv-chip--fresh{border-color:rgba(22,163,74,.4);background:rgba(22,163,74,.06)}
.gplv-chip--medium{border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.06)}
.gplv-chip--stale{border-color:rgba(220,38,38,.4);background:rgba(220,38,38,.06)}
.gplv-chip--vt-clean{border-color:var(--gplv-color-success);color:var(--gplv-color-success)}
.gplv-chip--vt-pending{border-color:var(--gplv-color-warning);color:var(--gplv-color-warning)}
.gplv-chip--vt-threat{border-color:var(--gplv-color-danger);color:var(--gplv-color-danger);background:rgba(220,38,38,.08)}
.gplv-chip--vt-error{border-color:var(--gplv-color-muted);color:var(--gplv-color-muted)}

/* Membership tiers */
.gplv-tiers{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:768px){.gplv-tiers{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1025px){.gplv-tiers{grid-template-columns:repeat(4,1fr)}}
.gplv-tier{border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);padding:1.5rem;background:#fff;display:flex;flex-direction:column;gap:.75rem}
.gplv-tier--popular{border-color:var(--gplv-color-primary);box-shadow:var(--gplv-shadow-md);position:relative}
.gplv-tier__title{font-size:1.25rem;font-weight:700}
.gplv-tier__price{font-size:2.25rem;font-weight:800}
.gplv-tier__perks{list-style:none;padding:0;margin:0}
.gplv-tier__perks li{padding:.35rem 0 .35rem 1.5rem;position:relative}
.gplv-tier__perks li::before{content:'✓';color:var(--gplv-color-success);position:absolute;left:0;font-weight:700}
.gplv-tier__roi{color:var(--gplv-color-success);font-weight:600;font-size:.9rem}

/* Woo tabs */
.woocommerce-tabs.gplv-tabs{margin-top:2rem}
.woocommerce-tabs.gplv-tabs .tabs.wc-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:0;list-style:none;padding:0;border-bottom:1px solid var(--gplv-color-border);margin-bottom:1.5rem;scrollbar-width:none}
.woocommerce-tabs.gplv-tabs .tabs.wc-tabs::-webkit-scrollbar{display:none}
.woocommerce-tabs.gplv-tabs .tabs.wc-tabs li{padding:0;margin:0}
.woocommerce-tabs.gplv-tabs .tabs.wc-tabs li a{display:block;padding:.8rem 1.25rem;border-radius:0;border-bottom:2px solid transparent;color:var(--gplv-color-muted);font-weight:600;text-decoration:none;white-space:nowrap}
.woocommerce-tabs.gplv-tabs .tabs.wc-tabs li a:hover{color:var(--gplv-color-ink);background:var(--gplv-color-subtle)}
.woocommerce-tabs.gplv-tabs .tabs.wc-tabs li.active a{color:var(--gplv-color-ink);border-bottom-color:var(--gplv-color-ink);background:transparent}
.gplv-faq dt{font-weight:700;margin-top:1rem}
.gplv-faq dd{margin:.25rem 0 0;color:var(--gplv-color-ink)}
.gplv-install-steps{padding-left:1.25rem}
.gplv-install-steps li{margin:.25rem 0}

/* Refund + badges */
.gplv-refund-badge{display:inline-block;padding:.35rem .7rem;border-radius:999px;background:rgba(22,163,74,.1);color:var(--gplv-color-success);font-weight:600;font-size:.85rem}
.gplv-roi{margin:.5rem 0}

/* Comparison */
.gplv-compare-table{width:100%;border-collapse:collapse;margin:1rem 0}
.gplv-compare-table th,.gplv-compare-table td{border:1px solid var(--gplv-color-border);padding:.6rem;text-align:left;vertical-align:top}
.gplv-compare-table thead th{background:var(--gplv-color-subtle)}
.gplv-compare-btn{display:inline-block;padding:.35rem .7rem;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius);text-decoration:none;color:var(--gplv-color-ink);font-size:.85rem}
.gplv-compare-btn[data-state="on"]{border-color:var(--gplv-color-primary);color:var(--gplv-color-primary)}

/* Update subscribe + free trial + stack builder */
.gplv-update-subscribe,.gplv-free-trial,.gplv-stack-builder{margin:1rem 0;padding:1rem;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);background:var(--gplv-color-subtle)}
.gplv-update-subscribe input,.gplv-free-trial input,.gplv-ai-search input{padding:.5rem .75rem;border:1px solid #cbd5e1;border-radius:var(--gplv-radius);min-height:44px}
.gplv-stack-builder fieldset{border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius);padding:.75rem;margin:.5rem 0}
.gplv-stack-builder legend{font-weight:600;padding:0 .35rem}

/* AI search bar */
.gplv-ai-search{display:flex;gap:.5rem;margin:1rem 0}
.gplv-ai-search input[type=search]{flex:1}

/* Update-subscribe box (label above, input + button inline) */
.gplv-update-subscribe{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:center}
.gplv-update-subscribe__label{grid-column:1/-1;font-weight:600;margin:0 0 .15rem;font-size:.9rem}
.gplv-update-subscribe input[type=email]{width:100%}
.gplv-update-subscribe button{align-self:stretch}
.gplv-update-subscribe__msg{grid-column:1/-1;font-size:.85rem;color:var(--gplv-color-muted)}
/* Version request form */
.gplv-vr{margin:1rem 0;padding:1rem 1.1rem;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);background:var(--gplv-color-subtle)}
.gplv-vr__title{font-size:1rem;font-weight:700;margin:0 0 .25rem}
.gplv-vr__cur{margin:0 0 .75rem;font-size:.85rem;color:var(--gplv-color-muted)}
.gplv-vr__list{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.4rem}
.gplv-vr__list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:#fff;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius);padding:.4rem .6rem;font-size:.85rem}
.gplv-vr__cancel{border:0;background:none;color:var(--gplv-color-danger);font-weight:600;cursor:pointer;font-size:.82rem}
.gplv-vr__form{display:flex;flex-direction:column;gap:.6rem}
.gplv-vr__field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:600;color:var(--gplv-color-ink)}
.gplv-vr__field input{padding:.5rem .7rem;border:1px solid #cbd5e1;border-radius:var(--gplv-radius);min-height:44px;font-weight:400}
.gplv-vr__msg{font-size:.85rem;color:var(--gplv-color-muted)}

/* Mobile sticky add-to-cart */
@media(max-width:767px){
  .gplv-mobile-sticky-cta{position:fixed;inset:auto 0 0 0;background:#fff;border-top:1px solid var(--gplv-color-border);padding:.5rem .75rem;z-index:50;box-shadow:0 -4px 12px rgba(0,0,0,.06);display:flex;gap:.5rem;align-items:center}
}

/* 404 + programmatic SEO */
.gplv-404{padding:2.5rem 0 4rem}
.gplv-404__inner{max-width:760px;margin:0 auto;text-align:center}
.gplv-404__code{font-size:clamp(4.5rem,16vw,9rem);font-weight:900;line-height:.9;letter-spacing:-.04em;background:linear-gradient(120deg,var(--gplv-color-primary),var(--gplv-color-cart));-webkit-background-clip:text;background-clip:text;color:transparent;margin:0 0 .25rem}
.gplv-404__title{font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:800;margin:0 0 .5rem;color:var(--gplv-color-ink)}
.gplv-404__lead{color:var(--gplv-color-muted);font-size:1.02rem;margin:0 auto 1.5rem;max-width:520px}
.gplv-404__search{display:flex;gap:.5rem;max-width:560px;margin:0 auto 1.25rem}
.gplv-404__search input[type=search]{flex:1;min-width:0;padding:.75rem 1rem;border:1px solid var(--gplv-color-border);border-radius:999px;font-size:.95rem;background:#fff}
.gplv-404__search input[type=search]:focus{outline:none;border-color:var(--gplv-color-primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.gplv-404__search .gplv-btn{border-radius:999px;white-space:nowrap}
.gplv-404__dests{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.5rem}
.gplv-404__dest{display:inline-block;padding:.45rem 1rem;border:1px solid var(--gplv-color-border);border-radius:999px;background:#fff;color:var(--gplv-color-ink);text-decoration:none;font-weight:600;font-size:.88rem;transition:background .12s,border-color .12s}
.gplv-404__dest:hover{background:var(--gplv-color-subtle);border-color:var(--gplv-color-primary);color:var(--gplv-color-primary)}
.gplv-404__pop-title{font-size:1.1rem;font-weight:700;margin:0 0 1rem;color:var(--gplv-color-ink)}
.gplv-404__grid{text-align:left}
.gplv-404__links{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}
.gplv-pseo{max-width:1280px;margin:0 auto;padding:2rem 1rem}
.gplv-pseo__intro{max-width:768px;margin:0 0 2rem;color:var(--gplv-color-muted)}

/* ===== Storefront layout (header/footer/homepage) ===== */
.gplv-container{max-width:1200px;margin:0 auto;padding:0 20px}
.gplv-main-wrap{min-height:40vh}

/* Regular content/shortcode pages (Changelog, Pricing, Terms, etc.) — keep the
   page title aligned with the centred content column instead of hugging the
   viewport edge, and stop inner shortcode wrappers from double-constraining. */
.gplv-page{padding-top:2.5rem;padding-bottom:3rem}
.gplv-page__title{font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:800;line-height:1.2;margin:0 0 1.5rem}
.gplv-page .gplv-tiers,
.gplv-page .gplv-cl,
.gplv-page .gplv-cl-layout,
.gplv-page .gplv-cl-filters,
.gplv-page .gplv-cl__pager{max-width:none;margin-left:0;margin-right:0;padding-left:0;padding-right:0}

/* Topbar */
.gplv-topbar{background:var(--gplv-color-ink);color:#cbd5e1;font-size:.82rem}
.gplv-topbar__inner{display:flex;align-items:center;justify-content:space-between;min-height:38px;gap:1rem;flex-wrap:wrap}
.gplv-topbar__links{display:flex;gap:1rem}
.gplv-topbar__links a{color:#cbd5e1;text-decoration:none}
.gplv-topbar__links a:hover{color:#fff}

/* Header */
.gplv-header{background:#fff;border-bottom:1px solid var(--gplv-color-border);position:sticky;top:0;z-index:40}
.gplv-header__inner{display:flex;align-items:center;gap:1.25rem;min-height:72px}
.gplv-logo{font-size:1.4rem;font-weight:800;color:var(--gplv-color-ink);text-decoration:none;white-space:nowrap}
.gplv-header__search{flex:1;display:flex;max-width:520px;border:1px solid var(--gplv-color-border);border-radius:999px;overflow:hidden}
.gplv-header__search input{flex:1;border:0;padding:.6rem 1rem;outline:none;font-size:.95rem}
.gplv-header__search button{border:0;background:var(--gplv-color-primary);color:#fff;padding:0 1.1rem;font-size:1.1rem;cursor:pointer}
.gplv-header__nav{margin-left:auto}
.gplv-menu{display:flex;gap:1.25rem;list-style:none;margin:0;padding:0}
.gplv-menu a{color:var(--gplv-color-ink);text-decoration:none;font-weight:600;font-size:.95rem}
.gplv-menu a:hover{color:var(--gplv-color-primary)}
.gplv-header__actions{display:flex;align-items:center;gap:1rem;font-size:1.2rem}
.gplv-header__account,.gplv-header__cart{text-decoration:none;color:var(--gplv-color-ink);position:relative}
.gplv-header__cart-count{display:inline-block;min-width:18px;height:18px;line-height:18px;text-align:center;background:var(--gplv-color-primary);color:#fff;border-radius:999px;font-size:.7rem;vertical-align:top}
@media(max-width:900px){.gplv-header__nav,.gplv-header__search{display:none}}

/* Hero */
.gplv-hero{background:linear-gradient(135deg,#1e293b,#2563eb);color:#fff;padding:4rem 0}
.gplv-hero__inner{text-align:center;max-width:780px;margin:0 auto}
.gplv-hero__title{font-size:clamp(1.9rem,4vw,3rem);font-weight:800;line-height:1.15;margin:0 0 1rem;color:#fff}
.gplv-hero__sub{font-size:1.05rem;opacity:.9;margin:0 0 1.75rem}
.gplv-hero__cta{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}
.gplv-hero .gplv-btn--request-update{color:#fff;border-color:#fff}

/* USP strip */
.gplv-usp{background:var(--gplv-color-subtle);border-bottom:1px solid var(--gplv-color-border)}
.gplv-usp__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:1.25rem 20px}
@media(min-width:768px){.gplv-usp__grid{grid-template-columns:repeat(4,1fr)}}
.gplv-usp__item{display:flex;flex-direction:column}
.gplv-usp__item strong{color:var(--gplv-color-ink)}
.gplv-usp__item span{color:var(--gplv-color-muted);font-size:.85rem}

/* Sections */
.gplv-section{padding:3rem 0}
.gplv-section__title{font-size:1.6rem;font-weight:700;margin:0 0 1.5rem}

/* Category tiles */
.gplv-cat-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:768px){.gplv-cat-tiles{grid-template-columns:repeat(3,1fr)}}
.gplv-cat-tile{display:flex;flex-direction:column;gap:.25rem;padding:1.5rem;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);background:#fff;text-decoration:none;transition:box-shadow .15s,transform .15s}
.gplv-cat-tile:hover{box-shadow:var(--gplv-shadow-md);transform:translateY(-2px)}
.gplv-cat-tile__name{font-weight:700;font-size:1.1rem;color:var(--gplv-color-ink)}
.gplv-cat-tile__count{color:var(--gplv-color-muted);font-size:.85rem}

/* Product grid + cards */
.gplv-pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(min-width:768px){.gplv-pgrid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1100px){.gplv-pgrid{grid-template-columns:repeat(4,1fr)}}
.gplv-pcard{display:flex;flex-direction:column;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);overflow:hidden;background:#fff;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}
.gplv-pcard:hover{box-shadow:var(--gplv-shadow-md);transform:translateY(-2px)}
.gplv-pcard__media{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--gplv-color-subtle)}
.gplv-pcard__media img{width:100%;height:100%;object-fit:cover;display:block}
.gplv-pcard__body{padding:.9rem;display:flex;flex-direction:column;gap:.4rem}
.gplv-pcard__title{font-weight:600;line-height:1.3}
.gplv-pcard__meta{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.78rem}
.gplv-pcard__ver{background:rgba(37,99,235,.1);color:var(--gplv-color-primary);padding:1px 7px;border-radius:999px;font-weight:600}
.gplv-pcard__upd{color:var(--gplv-color-muted)}
.gplv-pcard__price{font-weight:700;color:var(--gplv-color-ink)}

/* Empty state */
.gplv-empty{text-align:center;padding:2rem;border:1px dashed var(--gplv-color-border);border-radius:var(--gplv-radius-lg);background:var(--gplv-color-subtle)}
.gplv-empty p{color:var(--gplv-color-muted);max-width:540px;margin:0 auto 1rem}

/* CTA band */
.gplv-cta-band{background:var(--gplv-color-ink);color:#fff;padding:2.5rem 0}
.gplv-cta-band__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.gplv-cta-band h2{margin:0 0 .25rem;color:#fff}
.gplv-cta-band p{margin:0;opacity:.85}

/* Footer */
.gplv-footer{background:#0b1220;color:#cbd5e1;margin-top:3rem}
.gplv-footer__cols{display:grid;grid-template-columns:1fr;gap:1.5rem;padding:2.5rem 20px}
@media(min-width:768px){.gplv-footer__cols{grid-template-columns:2fr 1fr 1fr 1.5fr}}
.gplv-footer__col h4{color:#fff;margin:0 0 .75rem;font-size:1rem}
.gplv-footer__col ul{list-style:none;margin:0;padding:0}
.gplv-footer__col li{margin:.35rem 0}
.gplv-footer__col a{color:#cbd5e1;text-decoration:none}
.gplv-footer__col a:hover{color:#fff}
.gplv-footer__badges li{color:#86efac}
.gplv-footer__bar{border-top:1px solid rgba(255,255,255,.08);padding:1rem 0;font-size:.82rem;color:#94a3b8}

/* ===== My Account ===== */
/* Hide the redundant/misaligned page title (welcome banner is the heading). */
.woocommerce-account .entry-title,
.woocommerce-account .page-header,
.woocommerce-account .elementor-page-title,
.woocommerce-account h1.wp-block-post-title,
.woocommerce-account .gplv-main-wrap > h1:empty,
.woocommerce-account main > h1:empty{display:none}
.woocommerce-account .gplv-main-wrap{padding:2.5rem 0}
.woocommerce-account .woocommerce{max-width:1200px;margin:0 auto;padding:0 20px}

/* Account layout: sidebar + content */
.woocommerce-account .woocommerce-MyAccount-navigation{float:none;width:auto}
@media(min-width:900px){
  .woocommerce-account .woocommerce-MyAccount-navigation{float:left;width:24%}
  .woocommerce-account .woocommerce-MyAccount-content{float:right;width:72%}
}
.woocommerce-account .woocommerce-MyAccount-content{min-height:300px}

/* Sidebar nav as a card with icons */
.gplv-account-nav,.woocommerce-MyAccount-navigation{background:#fff;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);padding:.5rem;box-shadow:var(--gplv-shadow-sm)}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-MyAccount-navigation li a{display:flex;align-items:center;gap:.6rem;padding:.7rem .85rem;border-radius:var(--gplv-radius);color:var(--gplv-color-ink);text-decoration:none;font-weight:600;font-size:.92rem}
.woocommerce-MyAccount-navigation li a:hover{background:var(--gplv-color-subtle)}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--gplv-color-primary);color:#fff}
.woocommerce-MyAccount-navigation li a::before{display:none}
.woocommerce-MyAccount-navigation li a .gplv-ico{font-size:1.05rem;flex:0 0 auto}
.woocommerce-MyAccount-navigation-link--dashboard a::before{content:'🏠'}
.woocommerce-MyAccount-navigation-link--orders a::before{content:'🧾'}
.woocommerce-MyAccount-navigation-link--downloads a::before{content:'⬇'}
.woocommerce-MyAccount-navigation-link--edit-address a::before{content:'📍'}
.woocommerce-MyAccount-navigation-link--edit-account a::before{content:'⚙'}
.woocommerce-MyAccount-navigation-link--customer-logout a::before{content:'🚪'}
.woocommerce-MyAccount-navigation-link--gplv-licenses a::before{content:'🔑'}
.woocommerce-MyAccount-navigation-link--gplv-update-subscriptions a::before{content:'🔔'}
.woocommerce-MyAccount-navigation-link--gplv-ai-chat a::before{content:'🤖'}
.woocommerce-MyAccount-navigation-link--gplv-exchanges a::before{content:'🔄'}
.woocommerce-MyAccount-navigation-link--gplv-affiliates a::before{content:'💸'}

/* Dashboard */
.gplv-dash__welcome h2{margin:0 0 .25rem;font-size:1.5rem}
.gplv-dash__welcome p{color:var(--gplv-color-muted);margin:0 0 1.25rem}
.gplv-dash__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem;margin-bottom:1.5rem}
@media(min-width:680px){.gplv-dash__stats{grid-template-columns:repeat(3,1fr)}}
.gplv-stat{display:flex;flex-direction:column;gap:.2rem;padding:1.1rem;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);background:#fff;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}
a.gplv-stat:hover{box-shadow:var(--gplv-shadow-md);transform:translateY(-2px)}
.gplv-stat__num{font-size:1.8rem;font-weight:800;color:var(--gplv-color-ink);line-height:1.1}
.gplv-stat__num--text{font-size:1.15rem}
.gplv-stat__label{color:var(--gplv-color-muted);font-size:.82rem}
.gplv-dash__links{display:flex;flex-wrap:wrap;gap:.5rem}
.gplv-dash__link{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .9rem;border:1px solid var(--gplv-color-border);border-radius:999px;text-decoration:none;color:var(--gplv-color-ink);font-weight:600;font-size:.88rem}
.gplv-dash__link:hover{border-color:var(--gplv-color-primary);color:var(--gplv-color-primary)}

/* Auth (login/register) */
.gplv-auth{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1080px;margin:1rem auto;align-items:start}
@media(min-width:900px){.gplv-auth{grid-template-columns:1fr 1.2fr}}
.gplv-auth__heading{font-size:2rem;font-weight:800;margin:0 0 .5rem}
.gplv-auth__lead{color:var(--gplv-color-muted);margin:0 0 1.25rem}
.gplv-auth__perks{list-style:none;margin:0;padding:0}
.gplv-auth__perks li{padding:.4rem 0 .4rem 1.6rem;position:relative}
.gplv-auth__perks li::before{content:'✓';position:absolute;left:0;color:var(--gplv-color-success);font-weight:700}
.gplv-auth__panels{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:680px){.gplv-auth__panels--two{grid-template-columns:1fr 1fr}}
.gplv-auth__card{background:#fff;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);padding:1.5rem;box-shadow:var(--gplv-shadow-sm)}
.gplv-auth__card h2{margin:0 0 1rem;font-size:1.2rem}
.gplv-auth__card label{display:block;font-weight:600;font-size:.85rem;margin-bottom:.25rem}
.gplv-auth__card .input-text{width:100%;padding:.6rem .75rem;border:1px solid #cbd5e1;border-radius:var(--gplv-radius);min-height:44px;box-sizing:border-box}
.gplv-auth__card .woocommerce-form-row{margin-bottom:1rem}
.gplv-auth__card .gplv-btn{width:100%}
.gplv-auth__card .lost_password{margin-top:.75rem;font-size:.85rem}

/* ===== Enterprise account dashboard ===== */
.gplv-dash{display:flex;flex-direction:column;gap:1.25rem}

/* Welcome banner */
.gplv-dash__banner{display:flex;align-items:center;gap:1.1rem;padding:1.5rem;border-radius:var(--gplv-radius-lg);background:linear-gradient(120deg,#1e293b,#2563eb);color:#fff;box-shadow:var(--gplv-shadow-md)}
.gplv-dash__avatar{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:800;flex:0 0 auto}
.gplv-dash__hello h2{margin:0;color:#fff;font-size:1.4rem;line-height:1.2}
.gplv-dash__hello p{margin:.25rem 0 0;opacity:.9;font-size:.9rem}
.gplv-dash__plan-badge{display:inline-block;background:rgba(255,255,255,.2);padding:1px 10px;border-radius:999px;font-weight:700;font-size:.8rem}
.gplv-dash__banner-spend{margin-left:auto;text-align:right}
.gplv-dash__banner-spend-num{display:block;font-size:1.5rem;font-weight:800}
.gplv-dash__banner-spend-label{font-size:.78rem;opacity:.85}
@media(max-width:600px){.gplv-dash__banner{flex-wrap:wrap}.gplv-dash__banner-spend{margin-left:0;text-align:left;width:100%}}

/* KPI cards */
.gplv-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem}
@media(min-width:780px){.gplv-kpis{grid-template-columns:repeat(4,1fr)}}
.gplv-kpi{display:flex;flex-direction:column;gap:.15rem;padding:1.1rem;border:1px solid var(--gplv-color-border);border-left-width:4px;border-radius:var(--gplv-radius-lg);background:#fff;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s;position:relative}
a.gplv-kpi:hover{box-shadow:var(--gplv-shadow-md);transform:translateY(-2px)}
.gplv-kpi__icon{font-size:1.3rem}
.gplv-kpi__num{font-size:1.7rem;font-weight:800;line-height:1.1}
.gplv-kpi__label{color:var(--gplv-color-muted);font-size:.8rem}
.gplv-kpi--blue{border-left-color:#2563eb}
.gplv-kpi--green{border-left-color:#16a34a}
.gplv-kpi--violet{border-left-color:#7c3aed}
.gplv-kpi--amber{border-left-color:#f59e0b}

/* Grid */
.gplv-dash__grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:980px){.gplv-dash__grid{grid-template-columns:1.6fr 1fr}}
.gplv-dash__main,.gplv-dash__side{display:flex;flex-direction:column;gap:1.25rem;min-width:0}

/* Panels */
.gplv-panel{background:#fff;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);padding:1.25rem;box-shadow:var(--gplv-shadow-sm)}
.gplv-panel--accent{background:linear-gradient(160deg,#fff,#f5f8ff);border-color:rgba(37,99,235,.25)}
.gplv-panel--updater{background:var(--gplv-color-subtle)}
.gplv-panel__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}
.gplv-panel__head h3,.gplv-panel h3{margin:0;font-size:1.05rem}
.gplv-link{color:var(--gplv-color-primary);text-decoration:none;font-weight:600;font-size:.85rem}
.gplv-link:hover{text-decoration:underline}
.gplv-muted{color:var(--gplv-color-muted)}

/* Table */
.gplv-table-wrap{overflow-x:auto}
.gplv-table{width:100%;border-collapse:collapse;font-size:.9rem}
.gplv-table th{text-align:left;color:var(--gplv-color-muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;padding:.4rem .5rem;border-bottom:1px solid var(--gplv-color-border)}
.gplv-table td{padding:.6rem .5rem;border-bottom:1px solid var(--gplv-color-subtle)}
.gplv-table tr:last-child td{border-bottom:0}

/* Status badge */
.gplv-badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.74rem;font-weight:700;text-transform:capitalize;background:var(--gplv-color-subtle);color:var(--gplv-color-muted)}
.gplv-badge--completed{background:rgba(22,163,74,.12);color:#15803d}
.gplv-badge--processing{background:rgba(37,99,235,.12);color:#1d4ed8}
.gplv-badge--on-hold{background:rgba(245,158,11,.14);color:#b45309}
.gplv-badge--pending{background:rgba(100,116,139,.14);color:#475569}
.gplv-badge--cancelled,.gplv-badge--failed,.gplv-badge--refunded{background:rgba(220,38,38,.12);color:#b91c1c}

/* Product list */
.gplv-prodlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.gplv-prodlist__item{display:flex;align-items:center;gap:.6rem;padding:.6rem .7rem;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius);background:#fff}
.gplv-prodlist__name{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gplv-prodlist__meta{display:flex;gap:.35rem;flex:0 0 auto}
.gplv-pill{background:rgba(37,99,235,.1);color:var(--gplv-color-primary);padding:1px 8px;border-radius:999px;font-size:.74rem;font-weight:700}
.gplv-pill--new{background:rgba(22,163,74,.12);color:#15803d}
.gplv-btn--sm{min-height:34px;padding:.3rem .8rem;font-size:.82rem}
.gplv-btn--block{width:100%;margin-top:.5rem}

/* Membership card */
.gplv-mcard__plan{font-size:1.4rem;font-weight:800}
.gplv-mcard__renew{color:var(--gplv-color-muted);font-size:.85rem;margin-bottom:.75rem}
.gplv-mcard__allow{font-size:.85rem;color:var(--gplv-color-ink);margin:.5rem 0}
.gplv-meter{margin:.75rem 0}
.gplv-meter__top{display:flex;justify-content:space-between;font-size:.8rem;color:var(--gplv-color-muted);margin-bottom:.3rem}
.gplv-meter__bar{height:8px;background:var(--gplv-color-border);border-radius:999px;overflow:hidden}
.gplv-meter__bar span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#7c3aed);border-radius:999px}

/* Quick actions */
.gplv-quick{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.gplv-quick a{display:flex;align-items:center;gap:.4rem;padding:.6rem .7rem;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius);text-decoration:none;color:var(--gplv-color-ink);font-weight:600;font-size:.85rem}
.gplv-quick a:hover{border-color:var(--gplv-color-primary);color:var(--gplv-color-primary)}

/* Footer widget areas inherit footer column styling */
.gplv-footer__widget{margin-bottom:1rem}
.gplv-footer__widget h4{color:#fff;margin:0 0 .6rem}
.gplv-footer__widget ul{list-style:none;margin:0;padding:0}
.gplv-footer__widget li{margin:.3rem 0}
.gplv-footer__widget a{color:#cbd5e1;text-decoration:none}
.gplv-footer__widget a:hover{color:#fff}
.gplv-topbar__menu{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
.gplv-topbar__menu a{color:#cbd5e1;text-decoration:none}
.gplv-topbar__menu a:hover{color:#fff}

/* ===== Single product page ===== */
.single-product .gplv-main-wrap{padding:1.5rem 0 3rem}
.single-product .woocommerce,
.single-product div.product{max-width:1200px;margin:0 auto;padding:0 20px}

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb,.single-product .woocommerce-breadcrumb{font-size:.85rem;color:var(--gplv-color-muted);margin:0 auto 1.25rem;max-width:1200px;padding:0 20px}
.woocommerce .woocommerce-breadcrumb a{color:var(--gplv-color-primary);text-decoration:none}

/* Two-column layout */
.single-product div.product{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:900px){.single-product div.product{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}}
.single-product div.product .woocommerce-product-gallery{margin:0;float:none;width:auto!important}
.single-product div.product .summary{margin:0;float:none;width:auto!important;background:#fff;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);padding:1.75rem;box-shadow:var(--gplv-shadow-sm)}
.single-product div.product .woocommerce-product-gallery__wrapper{margin:0}
.single-product div.product .woocommerce-product-gallery img{border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);background:var(--gplv-color-subtle)}
.single-product .onsale{background:var(--gplv-color-danger);color:#fff;border-radius:999px;min-height:auto;min-width:auto;padding:.3rem .8rem;font-weight:700;line-height:1}

/* Title + price */
.single-product .product_title{font-size:2rem;font-weight:800;margin:0 0 .5rem;line-height:1.15}
.single-product .summary .price{font-size:1.6rem;font-weight:800;color:var(--gplv-color-ink);margin:0}
.single-product .summary .price del{color:var(--gplv-color-muted);font-weight:500;font-size:1.1rem;margin-right:.4rem}
.single-product .summary .price ins{text-decoration:none}
.single-product .woocommerce-product-details__short-description{color:var(--gplv-color-muted);margin:.85rem 0;line-height:1.6}

/* GPL meta chips in summary */
.gplv-sp-meta{margin:.5rem 0 1rem;padding:.85rem 0;border-top:1px solid var(--gplv-color-subtle);border-bottom:1px solid var(--gplv-color-subtle)}
.gplv-sp-meta .gplv-meta-chips{margin:0}

/* Cart form / CTAs */
.single-product form.cart{margin:1rem 0 0!important}
.single-product .quantity{margin-right:.5rem}
.single-product .quantity input.qty{height:48px;width:64px;border:1px solid #cbd5e1;border-radius:var(--gplv-radius);text-align:center}

/* Trust row */
.gplv-sp-trust{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:1.25rem 0;padding:1rem 0;border-top:1px solid var(--gplv-color-border);border-bottom:1px solid var(--gplv-color-border)}
.gplv-sp-trust li{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--gplv-color-muted);font-weight:600}
.gplv-sp-trust__ic{font-size:.95rem}

/* Conventional meta line */
.gplv-product__meta{margin-top:1rem;font-size:.85rem;color:var(--gplv-color-muted)}
.gplv-product__meta a{color:var(--gplv-color-primary);text-decoration:none}
.gplv-product__meta .sku_wrapper,.gplv-product__meta .posted_in,.gplv-product__meta .tagged_as{display:block;margin-top:.2rem}

/* Tabs full width below */
.single-product .woocommerce-tabs{grid-column:1/-1;margin-top:1rem}
.single-product .woocommerce-tabs .panel{padding-top:.5rem}
.single-product .woocommerce-tabs .panel h2:first-child{margin-top:0}

/* Related products */
.single-product .related.products,.single-product .upsells.products{grid-column:1/-1;margin-top:2.5rem}
.single-product .related.products>h2,.single-product .upsells.products>h2{font-size:1.5rem;margin-bottom:1.25rem}
.single-product ul.products{display:grid!important;grid-template-columns:repeat(2,1fr);gap:1rem;margin:0;padding:0}
@media(min-width:768px){.single-product ul.products{grid-template-columns:repeat(4,1fr)}}
.single-product ul.products li.product{width:auto!important;margin:0!important;float:none!important;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);padding:.9rem;background:#fff;text-align:left}
.single-product ul.products li.product img{border-radius:var(--gplv-radius);margin-bottom:.5rem}
.single-product ul.products li.product .price{font-weight:700;color:var(--gplv-color-ink)}
.single-product ul.products li.product .button{margin-top:.5rem}

/* Membership perk note */
.gplv-price__membership-perk{border:1px solid rgba(37,99,235,.2)}

/* ===== Shop / catalog archive ===== */
.woocommerce.archive .gplv-main-wrap,.post-type-archive-product .gplv-main-wrap{padding:1.5rem 0 3rem}
.woocommerce-products-header{max-width:1200px;margin:0 auto 1rem;padding:0 20px}
.woocommerce-products-header__title{font-size:1.9rem;font-weight:800}
.term-description{max-width:1200px;margin:0 auto;padding:0 20px;color:var(--gplv-color-muted)}
.gplv-archive-search{max-width:1200px;margin:0 auto 1.25rem;padding:0 20px}
.gplv-archive-search form{display:flex;gap:.5rem}
.gplv-archive-search input[type=search]{flex:1;padding:.65rem 1rem;border:1px solid #cbd5e1;border-radius:999px;min-height:46px}
.gplv-archive-search button{padding:0 1.3rem;border:0;border-radius:999px;background:var(--gplv-color-primary);color:#fff;font-weight:600;cursor:pointer}

.woocommerce.archive ul.products,.post-type-archive-product ul.products{display:grid!important;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:1200px;margin:0 auto!important;padding:0 20px;list-style:none}
@media(min-width:760px){.woocommerce.archive ul.products,.post-type-archive-product ul.products{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1080px){.woocommerce.archive ul.products,.post-type-archive-product ul.products{grid-template-columns:repeat(4,1fr)}}
ul.products li.product{width:auto!important;margin:0!important;float:none!important;display:flex;flex-direction:column;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);background:#fff;overflow:hidden;transition:box-shadow .15s,transform .15s}
ul.products li.product:hover{box-shadow:var(--gplv-shadow-md);transform:translateY(-2px)}
ul.products li.product a img{margin:0;border-radius:0}
ul.products li.product .woocommerce-loop-product__title{font-size:.98rem;font-weight:600;padding:.7rem .8rem .2rem;line-height:1.35}
ul.products li.product .gplv-card-badges{display:flex;gap:.35rem;flex-wrap:wrap;padding:0 .8rem}
ul.products li.product .price{padding:.4rem .8rem;font-weight:700;color:var(--gplv-color-ink);font-size:1rem}
ul.products li.product .price del{color:var(--gplv-color-muted);font-weight:500;font-size:.85rem;margin-right:.3rem}
ul.products li.product .price ins{text-decoration:none}
ul.products li.product .button,ul.products li.product .added_to_cart{margin:auto .8rem .9rem;text-align:center;background:var(--gplv-color-cart);color:#fff;border-radius:6px;padding:.6rem .8rem;text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:.8rem}
ul.products li.product .button:hover,ul.products li.product .added_to_cart:hover{background:var(--gplv-color-cart-d);color:#fff}
ul.products li.product .onsale{position:absolute;margin:.5rem;background:var(--gplv-color-danger);color:#fff;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:700;z-index:1}
.woocommerce-result-count{color:var(--gplv-color-muted);font-size:.85rem;max-width:1200px;margin:0 auto .75rem;padding:0 20px}
.woocommerce-ordering{max-width:1200px;margin:0 auto 1rem;padding:0 20px}
.woocommerce-ordering select{padding:.5rem .75rem;border:1px solid #cbd5e1;border-radius:var(--gplv-radius)}
.woocommerce nav.woocommerce-pagination{max-width:1200px;margin:1.5rem auto 0;padding:0 20px}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:.4rem;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius);padding:.45rem .8rem}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--gplv-color-primary);color:#fff;border-color:var(--gplv-color-primary)}

/* ===== Pricing tiers ===== */
.gplv-tiers{max-width:1200px;margin:1.5rem auto;padding:0 20px}
.gplv-tier{position:relative}
.gplv-tier__flag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gplv-color-primary);color:#fff;padding:.2rem .8rem;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap}
.gplv-tier__per{font-size:.95rem;font-weight:500;color:var(--gplv-color-muted)}
.gplv-tier__desc{color:var(--gplv-color-muted);font-size:.9rem;margin:.25rem 0 .5rem}

/* ===== Changelog ===== */
.gplv-cl-filters{display:flex;flex-wrap:wrap;gap:.4rem;max-width:900px;margin:1rem auto;padding:0 20px}
.gplv-cl-chip{padding:.35rem .85rem;border:1px solid var(--gplv-color-border);border-radius:999px;text-decoration:none;color:var(--gplv-color-ink);font-size:.84rem;font-weight:600}
.gplv-cl-chip.is-active,.gplv-cl-chip:hover{background:var(--gplv-color-primary);color:#fff;border-color:var(--gplv-color-primary)}
.gplv-cl{max-width:900px;margin:0 auto;padding:0 20px}
.gplv-cl__day{font-size:1.05rem;color:var(--gplv-color-muted);margin:1.75rem 0 .75rem;padding-bottom:.4rem;border-bottom:1px solid var(--gplv-color-border)}
.gplv-cl__item{display:flex;gap:1rem;padding:1rem;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);background:#fff;margin-bottom:.75rem}
.gplv-cl__thumb{width:56px;height:56px;border-radius:var(--gplv-radius);object-fit:cover;flex:0 0 auto;border:1px solid var(--gplv-color-border)}
.gplv-cl__body{min-width:0}
.gplv-cl__title{font-weight:700;text-decoration:none;color:var(--gplv-color-ink)}
.gplv-cl__title:hover{color:var(--gplv-color-primary)}
.gplv-cl__meta{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin:.3rem 0}
.gplv-cl__cat{color:var(--gplv-color-muted);font-size:.78rem}
.gplv-cl__excerpt{color:var(--gplv-color-muted);font-size:.88rem;margin:.25rem 0 0}
.gplv-cl__pager{display:flex;justify-content:space-between;max-width:900px;margin:1.5rem auto;padding:0 20px}

/* ===== Cart & Checkout ===== */
.woocommerce-cart .gplv-main-wrap,.woocommerce-checkout .gplv-main-wrap{padding:2rem 0 3rem}
.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce{max-width:1100px;margin:0 auto;padding:0 20px}
.woocommerce-cart table.cart,.woocommerce table.shop_table{border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);border-collapse:separate;overflow:hidden}
.woocommerce table.shop_table th{background:var(--gplv-color-subtle)}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);padding:1.25rem;background:#fff}
.woocommerce #payment{background:transparent}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.woocommerce #place_order{background:var(--gplv-color-go)!important;color:#fff!important;border-radius:6px!important;font-weight:700!important;min-height:50px;font-size:1.05rem!important;text-transform:uppercase;letter-spacing:.03em}
/* Global WooCommerce buttons adopt the chunky uppercase style (orange by default).
   Elements that also carry .gplv-btn keep their own variant colour (purple/orange/green). */
.woocommerce a.button:not(.gplv-btn),.woocommerce button.button:not(.gplv-btn),.woocommerce input.button:not(.gplv-btn),.woocommerce #respond input#submit,.woocommerce .button.alt:not(.gplv-btn){background:var(--gplv-color-accent);color:#fff;border:0;border-radius:6px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:.7rem 1.2rem;min-height:46px;cursor:pointer;transition:background-color .12s ease}
.woocommerce a.button:not(.gplv-btn):hover,.woocommerce button.button:not(.gplv-btn):hover,.woocommerce input.button:not(.gplv-btn):hover,.woocommerce #respond input#submit:hover,.woocommerce .button.alt:not(.gplv-btn):hover{background:var(--gplv-color-accent-d);color:#fff}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border:1px solid #cbd5e1;border-radius:var(--gplv-radius);padding:.6rem .75rem;min-height:46px}
.gplv-checkout-trust{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;justify-content:center;margin:1rem 0 0;padding:1rem;background:var(--gplv-color-subtle);border-radius:var(--gplv-radius);font-size:.85rem;color:var(--gplv-color-muted);font-weight:600}
.gplv-checkout-trust span{display:inline-flex;align-items:center;gap:.35rem}

/* Two-column checkout: details left, sticky order summary right */
.woocommerce-checkout .woocommerce{max-width:1180px}
.gplv-checkout__grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:2rem;align-items:start}
.gplv-checkout__aside{position:sticky;top:20px}
@media(max-width:992px){.gplv-checkout__grid{grid-template-columns:1fr}.gplv-checkout__aside{position:static}}
/* Stack billing + additional info in the main column, each as its own card */
.gplv-checkout #customer_details{display:block}
.gplv-checkout #customer_details .col-1,.gplv-checkout #customer_details .col-2{width:auto;float:none;margin:0 0 1.5rem}
.gplv-checkout #customer_details .col-1,.gplv-checkout #customer_details .col-2,.woocommerce-checkout #order_review{border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);padding:1.5rem;background:#fff;box-shadow:var(--gplv-shadow-sm)}
.gplv-checkout h3,.woocommerce-checkout #order_review_heading{font-size:1.15rem;font-weight:700;margin:0 0 1rem;color:var(--gplv-color-ink)}
/* Form rows */
.gplv-checkout .form-row{margin-bottom:1rem}
.gplv-checkout .form-row label{font-weight:600;font-size:.88rem;margin-bottom:.3rem;display:inline-block}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{border-color:var(--gplv-color-primary);outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
/* Coupon toggle + form */
.woocommerce-form-coupon-toggle{margin:0 auto 1.5rem;max-width:1180px}
.woocommerce-form-coupon-toggle .woocommerce-info{background:var(--gplv-color-subtle);border-top-color:var(--gplv-color-primary);border-radius:var(--gplv-radius)}
.checkout_coupon{border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);padding:1.25rem;margin-bottom:1.5rem;background:#fff}
/* Order review table */
.woocommerce-checkout #order_review .shop_table{border:0;border-radius:0;margin:0}
.woocommerce-checkout #order_review .shop_table th,.woocommerce-checkout #order_review .shop_table td{padding:.55rem .25rem;border:0;border-bottom:1px solid var(--gplv-color-border)}
.woocommerce-checkout #order_review .shop_table thead th{background:transparent}
.woocommerce-checkout #order_review .order-total th,.woocommerce-checkout #order_review .order-total td{border-bottom:0;font-size:1.05rem}
.woocommerce-checkout #order_review .order-total .amount{color:var(--gplv-color-go-d)}
/* Payment box + no-methods notice */
.woocommerce-checkout #payment ul.payment_methods{border:0;padding:0;margin:0}
.woocommerce-checkout #payment{border-radius:var(--gplv-radius)}
.woocommerce-checkout #payment .woocommerce-info,.woocommerce-checkout #payment .woocommerce-notice{background:rgba(245,158,11,.1);border-top-color:var(--gplv-color-warning);border-radius:var(--gplv-radius);color:#92400e}
.woocommerce-checkout #payment .place-order{padding:1rem 0 0;margin:0}
.woocommerce-checkout #place_order{width:100%}
/* Privacy + terms */
.woocommerce-privacy-policy-text{font-size:.82rem;color:var(--gplv-color-muted);margin:1rem 0 .5rem}
.gplv-license-agree{font-size:.9rem}
.gplv-license-agree label{display:flex;align-items:flex-start;gap:.5rem;font-weight:500}

/* ===== Search results ===== */
.gplv-search{padding:2rem 0 3rem}
.gplv-search__title{font-size:1.6rem;font-weight:800;margin:0 0 1rem}
.gplv-search__title span{color:var(--gplv-color-primary)}
.gplv-search__bar{max-width:560px;margin:0 0 1.5rem}
.gplv-search__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}
.gplv-search__item{border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);background:#fff}
.gplv-search__link{display:flex;gap:1rem;padding:1rem;text-decoration:none;color:inherit;align-items:center}
.gplv-search__thumb img{width:64px;height:64px;object-fit:cover;border-radius:var(--gplv-radius);border:1px solid var(--gplv-color-border)}
.gplv-search__name{display:block;font-weight:700;color:var(--gplv-color-ink)}
.gplv-search__excerpt{display:block;color:var(--gplv-color-muted);font-size:.88rem;margin-top:.2rem}

/* ===== Order extras (thank-you / order view) ===== */
.gplv-order-extras{margin-top:2rem;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);padding:1.25rem;background:#fff}
.gplv-order-extras h2{margin-top:0;font-size:1.2rem}
.gplv-order-extras__table{width:100%;border-collapse:collapse;font-size:.9rem}
.gplv-order-extras__table th{text-align:left;color:var(--gplv-color-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;padding:.4rem .5rem;border-bottom:1px solid var(--gplv-color-border)}
.gplv-order-extras__table td{padding:.6rem .5rem;border-bottom:1px solid var(--gplv-color-subtle);vertical-align:middle}
.gplv-order-extras__table code{background:var(--gplv-color-subtle);padding:2px 8px;border-radius:6px;font-size:.85rem}
.gplv-order-extras__tip{margin:.9rem 0 0;color:var(--gplv-color-muted);font-size:.88rem}

/* ===== Product card — enterprise refinement (overrides earlier rules) ===== */
.woocommerce ul.products li.product,
.post-type-archive-product ul.products li.product{
  position:relative;display:flex;flex-direction:column;border:1px solid var(--gplv-color-border);
  border-radius:var(--gplv-radius-lg);background:#fff;overflow:hidden;text-align:left;
  box-shadow:var(--gplv-shadow-sm);transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}
.woocommerce ul.products li.product:hover{box-shadow:var(--gplv-shadow-md);transform:translateY(-3px);border-color:#cdd7e5}

/* Image: fixed aspect, no stretching, neutral bg */
.woocommerce ul.products li.product>a:first-of-type,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:block}
.woocommerce ul.products li.product a img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--gplv-color-subtle);margin:0;border-radius:0}

/* Title — kill the inherited link color, clamp to 2 lines */
.woocommerce ul.products li.product a,
.woocommerce ul.products li.product a:hover{color:inherit;text-decoration:none}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  color:var(--gplv-color-ink)!important;font-size:.98rem;font-weight:600;line-height:1.35;
  padding:.85rem .9rem .35rem;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title{color:var(--gplv-color-primary)!important}

/* Badge row */
.woocommerce ul.products li.product .gplv-card-badges{display:flex;gap:.35rem;flex-wrap:wrap;padding:0 .9rem .15rem}
.woocommerce ul.products li.product .gplv-pill{font-size:.72rem;padding:1px 8px}

/* Price */
.woocommerce ul.products li.product .price{padding:.35rem .9rem .15rem;margin:0;font-weight:800;color:var(--gplv-color-ink);font-size:1.05rem}
.woocommerce ul.products li.product .price del{color:var(--gplv-color-muted);font-weight:500;font-size:.85rem;margin-right:.35rem;opacity:.8}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--gplv-color-ink)}

/* Push button to bottom, consistent height */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
  margin:auto .9rem .95rem;text-align:center;background:var(--gplv-color-cart);color:#fff;border-radius:var(--gplv-radius);
  padding:.6rem .9rem;text-decoration:none;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.02em;display:block;transition:background .15s}
.woocommerce ul.products li.product .button:hover{background:var(--gplv-color-cart-d)}
.woocommerce ul.products li.product .added_to_cart{background:var(--gplv-color-success);margin-top:.4rem}

/* Sale badge — circular, top-left */
.woocommerce ul.products li.product .onsale{
  position:absolute;top:.6rem;left:.6rem;right:auto;margin:0;background:var(--gplv-color-danger);color:#fff;
  border-radius:999px;min-width:auto;min-height:auto;padding:.25rem .65rem;font-size:.72rem;font-weight:700;line-height:1;z-index:2}

/* ===== Ads ===== */
.gplv-ad{margin:1.25rem auto;text-align:center;max-width:100%;overflow:hidden}
.gplv-ad img,.gplv-ad iframe,.gplv-ad ins{max-width:100%;height:auto}
.gplv-ad__label{display:block;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--gplv-color-muted);margin-bottom:.3rem}
.gplv-ad--device-desktop{display:block}
.gplv-ad--device-mobile{display:none}
@media(max-width:767px){
  .gplv-ad--device-desktop{display:none}
  .gplv-ad--device-mobile{display:block}
}

/* ===== Shop filters drawer ===== */
.gplv-filters-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:1px solid var(--gplv-color-border);border-radius:999px;background:#fff;font-weight:600;cursor:pointer;margin:0 20px 1rem}
.gplv-filters-toggle__count{background:var(--gplv-color-primary);color:#fff;border-radius:999px;min-width:20px;height:20px;line-height:20px;text-align:center;font-size:.72rem}
.gplv-filters{position:fixed;top:0;left:-340px;width:320px;max-width:88vw;height:100vh;background:#fff;z-index:1000;box-shadow:2px 0 24px rgba(0,0,0,.18);transition:left .25s ease;overflow-y:auto;padding:0 1.1rem 2rem}
body.gplv-filters-open .gplv-filters{left:0}
.gplv-filters__backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:999;opacity:0;visibility:hidden;transition:opacity .2s}
body.gplv-filters-open .gplv-filters__backdrop{opacity:1;visibility:visible}
.gplv-filters__head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;padding:1rem 0;border-bottom:1px solid var(--gplv-color-border);font-size:1.1rem}
.gplv-filters__close{border:0;background:none;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--gplv-color-muted)}
.gplv-filters__group{padding:1rem 0;border-bottom:1px solid var(--gplv-color-subtle)}
.gplv-filters__group h4{margin:0 0 .6rem;font-size:.95rem}
.gplv-filters__group label{display:block;padding:.25rem 0;font-size:.9rem;cursor:pointer}
.gplv-filters__cats{list-style:none;margin:0;padding:0}
.gplv-filters__cats a{color:var(--gplv-color-ink);text-decoration:none;font-size:.9rem}
.gplv-filters__cats span{color:var(--gplv-color-muted);font-size:.8rem}
.gplv-filters__price{display:flex;gap:.5rem}
.gplv-filters__price input{width:50%;padding:.5rem;border:1px solid #cbd5e1;border-radius:var(--gplv-radius)}
.gplv-filters__reset{display:block;text-align:center;margin-top:.6rem;color:var(--gplv-color-muted);font-size:.85rem}

/* Recently viewed */
.gplv-recently{margin-top:2.5rem;grid-column:1/-1}

/* Cart membership upsell */
.gplv-cart-upsell{border:1px solid rgba(37,99,235,.25);background:#f5f8ff;border-radius:var(--gplv-radius-lg);padding:1rem;margin-top:1rem}
.gplv-cart-upsell strong{display:block;margin-bottom:.25rem}
.gplv-cart-upsell p{margin:0 0 .6rem;font-size:.9rem;color:var(--gplv-color-muted)}
.gplv-license-agree{margin:.5rem 0}

/* Version history accordion */
.gplv-vh{border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius);padding:.6rem .9rem;margin:.5rem 0;background:#fff}
.gplv-vh summary{cursor:pointer;font-weight:600}

/* Enterprise ads: in-grid cell + lazy placeholder */
.woocommerce ul.products li.product.gplv-ad-cell{display:flex;align-items:center;justify-content:center;background:var(--gplv-color-subtle);border-style:dashed;min-height:120px;padding:1rem}
.gplv-ad__lazy{min-height:90px}
.gplv-ad{cursor:default}

/* ============================================================
   Bucket #1 additions: pricing extras, changelog, mobile UX
   ============================================================ */

/* Pricing: billing toggle */
.gplv-billtoggle{display:flex;gap:.25rem;padding:.25rem;background:var(--gplv-color-subtle);border:1px solid var(--gplv-color-border);border-radius:999px;margin:0 auto 1.25rem;justify-content:center;width:max-content}
.gplv-billtoggle__opt{border:0;background:transparent;padding:.45rem 1.1rem;border-radius:999px;font-weight:600;color:var(--gplv-color-muted);cursor:pointer}
.gplv-billtoggle__opt.is-active{background:#fff;color:var(--gplv-color-ink);box-shadow:var(--gplv-shadow-sm)}

/* Pricing: ROI calculator */
.gplv-roi{margin:2rem 0;padding:1.5rem;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);background:#fff}
.gplv-roi__title{margin:0 0 .35rem}
.gplv-roi__lead{margin:0 0 1rem;color:var(--gplv-color-muted)}
.gplv-roi__control{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.gplv-roi__range{flex:1;min-width:180px;accent-color:var(--gplv-color-primary)}
.gplv-roi__count{font-weight:700;font-size:1.15rem;min-width:2.5rem;text-align:center}
.gplv-roi__unit{color:var(--gplv-color-muted)}
.gplv-roi__result{margin-top:1rem;font-size:1.05rem}
.gplv-roi__save{display:inline-block;font-weight:700;color:var(--gplv-color-success);font-size:1.3rem;margin-right:.5rem}
.gplv-roi__detail{color:var(--gplv-color-muted);font-size:.92rem}

/* Pricing FAQ accordion (details/summary) */
.gplv-faq{margin:2rem 0}
.gplv-faq__title{margin:0 0 1rem}
.gplv-faq__item{border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius);margin:.5rem 0;background:#fff}
.gplv-faq__q{cursor:pointer;font-weight:600;padding:.9rem 1.1rem;list-style:none}
.gplv-faq__q::-webkit-details-marker{display:none}
.gplv-faq__q::after{content:"+";float:right;color:var(--gplv-color-muted)}
.gplv-faq__item[open] .gplv-faq__q::after{content:"\2013"}
.gplv-faq__a{padding:0 1.1rem 1rem;color:var(--gplv-color-ink)}

/* Updater plugin CTA atop Downloads tab */
.gplv-updater-cta{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border:1px solid rgba(37,99,235,.25);background:#f5f8ff;border-radius:var(--gplv-radius-lg);padding:1rem 1.25rem;margin-bottom:1.5rem}
.gplv-updater-cta__text{display:flex;flex-direction:column;gap:.15rem}
.gplv-updater-cta__text span{color:var(--gplv-color-muted);font-size:.9rem}

/* Changelog layout + sidebar */
.gplv-cl-layout{display:grid;grid-template-columns:1fr 300px;gap:2rem;align-items:start}
.gplv-cl-side{display:flex;flex-direction:column;gap:1rem;position:sticky;top:90px}
.gplv-cl__delta{display:inline-flex;align-items:center;gap:.3rem}
.gplv-cl__arrow{color:var(--gplv-color-muted)}
.gplv-pill--old{opacity:.7;text-decoration:line-through}
.gplv-cl__ago{color:var(--gplv-color-muted);font-size:.85rem}
.gplv-clw{border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);padding:1rem;background:#fff}
.gplv-clw--cta{border-color:rgba(37,99,235,.25);background:#f5f8ff}
.gplv-clw__title{margin:0 0 .6rem;font-size:.95rem}
.gplv-clw__sub{margin:.5rem 0 0;font-size:.8rem}
.gplv-clw__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.gplv-clw__list li{display:flex;justify-content:space-between;gap:.5rem;font-size:.9rem}
.gplv-clw__list a{color:var(--gplv-color-ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gplv-clw__count{color:var(--gplv-color-muted);white-space:nowrap;font-size:.82rem}
.gplv-spark{width:100%;height:36px;display:block;color:var(--gplv-color-primary)}
.gplv-spark rect{fill:currentColor}
@media(max-width:900px){.gplv-cl-layout{grid-template-columns:1fr}.gplv-cl-side{position:static;flex-direction:row;flex-wrap:wrap}.gplv-clw{flex:1;min-width:220px}}

/* Shop: developer select + quick view button */
.gplv-filters__select{width:100%;padding:.5rem;border:1px solid #cbd5e1;border-radius:var(--gplv-radius);background:#fff}
.gplv-quickview-btn{display:none;width:100%;margin-top:.5rem;padding:.5rem;border:1px solid var(--gplv-color-border);background:#fff;border-radius:var(--gplv-radius);font-weight:600;color:var(--gplv-color-ink);cursor:pointer}
.woocommerce ul.products li.product:hover .gplv-quickview-btn{display:block}
@media(max-width:767px){.gplv-quickview-btn{display:block}}

/* Hamburger + mobile nav toggle (hidden on desktop) */
.gplv-nav-toggle,.gplv-search-toggle{display:none;background:transparent;border:0;cursor:pointer}
.gplv-nav-toggle{flex-direction:column;gap:4px;padding:.35rem;margin-right:.5rem}
.gplv-nav-toggle span{display:block;width:22px;height:2px;background:var(--gplv-color-ink);border-radius:2px}
.gplv-search-toggle{font-size:1.3rem;line-height:1;color:var(--gplv-color-ink)}

/* Mobile slide-in nav */
.gplv-mobile-nav{position:fixed;top:0;left:0;bottom:0;width:82%;max-width:320px;background:#fff;z-index:1000;transform:translateX(-100%);transition:transform .25s ease;box-shadow:var(--gplv-shadow-md);display:flex;flex-direction:column;overflow-y:auto}
.gplv-mobile-nav.is-open{transform:translateX(0)}
.gplv-mobile-nav__head{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--gplv-color-border)}
.gplv-mobile-nav__title{font-weight:700}
.gplv-mobile-nav__close{background:0;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--gplv-color-muted)}
.gplv-mobile-nav__menu{list-style:none;margin:0;padding:.5rem 0;flex:1}
.gplv-mobile-nav__menu li{border-bottom:1px solid var(--gplv-color-subtle)}
.gplv-mobile-nav__menu a{display:block;padding:.9rem 1.25rem;color:var(--gplv-color-ink);text-decoration:none;font-weight:600}
.gplv-mobile-nav__menu a:hover{background:var(--gplv-color-subtle)}
.gplv-mobile-nav__foot{padding:1rem;border-top:1px solid var(--gplv-color-border)}

/* Scrim */
.gplv-scrim{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:999}
.gplv-no-scroll{overflow:hidden}

/* Full-screen search overlay */
.gplv-search-overlay{position:fixed;inset:0;background:#fff;z-index:1001;display:none;padding:1.5rem}
.gplv-search-overlay.is-open{display:block}
.gplv-search-overlay__inner{max-width:640px;margin:3rem auto 0;display:flex;gap:.5rem;position:relative}
.gplv-search-overlay form{display:flex;gap:.5rem;width:100%}
.gplv-search-overlay input[type=search]{flex:1;padding:.85rem 1rem;font-size:1.1rem;border:2px solid var(--gplv-color-border);border-radius:var(--gplv-radius)}
.gplv-search-overlay__close{position:absolute;top:-2.5rem;right:0;background:0;border:0;font-size:2rem;line-height:1;cursor:pointer;color:var(--gplv-color-muted)}

/* Compact header on scroll */
.gplv-header{transition:padding .2s ease,box-shadow .2s ease;position:sticky;top:0;z-index:500;background:#fff}
.gplv-header.is-compact{box-shadow:var(--gplv-shadow-sm)}
.gplv-header.is-compact .gplv-header__inner{padding-top:.4rem;padding-bottom:.4rem}

/* Mobile accordion (product tabs) */
.gplv-acc__header{display:block;width:100%;text-align:left;padding:.9rem 1rem;border:0;border-top:1px solid var(--gplv-color-border);background:#fff;font-weight:700;cursor:pointer}
.gplv-acc__header::after{content:"+";float:right;color:var(--gplv-color-muted)}
.gplv-acc__header[aria-expanded=true]::after{content:"\2013"}
.gplv-acc__panel{padding:0 1rem 1rem}

/* Quick-view bottom sheet */
.gplv-sheet{position:fixed;inset:0;z-index:1100;display:none}
.gplv-sheet.is-open{display:block}
.gplv-sheet__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.5)}
.gplv-sheet__panel{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:18px 18px 0 0;padding:1.5rem 1.25rem 2rem;max-height:85vh;overflow-y:auto;animation:gplv-sheet-up .25s ease}
@keyframes gplv-sheet-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
.gplv-sheet__close{position:absolute;top:.75rem;right:1rem;background:0;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--gplv-color-muted)}
.gplv-sheet__body{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}
.gplv-sheet__img{width:100%;max-height:200px;object-fit:contain;border-radius:var(--gplv-radius)}
.gplv-sheet__title{font-size:1.2rem;font-weight:700;color:var(--gplv-color-ink);text-decoration:none}
.gplv-sheet__price{font-size:1.1rem;font-weight:700;color:var(--gplv-color-primary)}
.gplv-sheet__actions{width:100%;display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}
@media(min-width:600px){.gplv-sheet__panel{max-width:480px;margin:0 auto;border-radius:18px;bottom:auto;top:50%;transform:translateY(-50%)}}

/* Show mobile controls under 1024px */
@media(max-width:1024px){
  .gplv-nav-toggle{display:flex}
  .gplv-search-toggle{display:inline-block}
  .gplv-header__nav{display:none}
  .gplv-header__search{display:none}
}
@media(min-width:1025px){
  .gplv-mobile-nav,.gplv-search-overlay,.gplv-scrim{display:none!important}
}

/* Homepage: featured carousel */
.gplv-carousel{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:.5rem}
.gplv-carousel__item{flex:0 0 240px;scroll-snap-align:start}
.gplv-carousel::-webkit-scrollbar{height:8px}
.gplv-carousel::-webkit-scrollbar-thumb{background:var(--gplv-color-border);border-radius:999px}

/* Homepage: testimonials */
.gplv-section--alt{background:var(--gplv-color-subtle)}
.gplv-testimonials{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.gplv-testimonial{margin:0;padding:1.25rem;background:#fff;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg)}
.gplv-testimonial__stars{color:#f59e0b;letter-spacing:2px;margin-bottom:.5rem}
.gplv-testimonial__quote{margin:0 0 .75rem;font-size:.98rem;line-height:1.5;color:var(--gplv-color-ink)}
.gplv-testimonial__by{font-weight:700;font-size:.9rem}
.gplv-testimonial__prod{display:block;font-weight:500;color:var(--gplv-color-muted);font-size:.82rem}

/* Ask-AI disclosure on single product */
.gplv-ask-ai{margin-top:1rem}
.gplv-ask-ai>summary{display:inline-block;list-style:none;cursor:pointer}
.gplv-ask-ai>summary::-webkit-details-marker{display:none}
.gplv-ask-ai__body{margin-top:.75rem}

/* ===== Base typography + generic page content =====
   Hello Elementor ships almost no base styling, so set sensible defaults. */
body.gplv-body{line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.gplv-page-content{max-width:880px;margin:0 auto;padding:2.5rem 20px 3rem}
/* Elementor-built front page renders full width (no boxed container). */
.gplv-elementor-front{width:100%}
.gplv-page-content h1{font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:800;line-height:1.2;margin:0 0 1rem}
.gplv-page-content h2{font-size:1.5rem;font-weight:700;line-height:1.25;margin:2rem 0 .75rem}
.gplv-page-content h3{font-size:1.2rem;font-weight:700;margin:1.5rem 0 .5rem}
.gplv-page-content p{margin:0 0 1rem}
.gplv-page-content ul,.gplv-page-content ol{margin:0 0 1.25rem 1.25rem}
.gplv-page-content li{margin:.3rem 0}
.gplv-page-content a{color:var(--gplv-color-primary);text-decoration:underline;text-underline-offset:2px}
.gplv-page-content img{max-width:100%;height:auto;border-radius:var(--gplv-radius)}
.gplv-page-content blockquote{margin:1.25rem 0;padding:.5rem 1.1rem;border-left:3px solid var(--gplv-color-primary);color:var(--gplv-color-muted)}
/* General section heading rhythm on storefront pages */
.gplv-section--alt{background:var(--gplv-color-subtle)}

/* ============================================================
   Header / Footer / Product-tabs redesign (mockup match)
   ============================================================ */

/* Topbar */
.gplv-topbar{background:#0f172a;color:#cbd5e1;font-size:.78rem;border-bottom:1px solid #1e293b}
.gplv-topbar__inner{display:flex;align-items:center;justify-content:space-between;min-height:40px;gap:1rem}
.gplv-topbar__trust{display:flex;gap:1.5rem;font-weight:500;flex-wrap:wrap}
.gplv-topbar__trust span{display:inline-flex;align-items:center;gap:.45rem}
.gplv-topbar__links,.gplv-topbar__menu{display:flex;gap:1.5rem;align-items:center;list-style:none;margin:0;padding:0}
.gplv-topbar__links a,.gplv-topbar__menu a{color:#cbd5e1;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}
.gplv-topbar__links a:hover,.gplv-topbar__menu a:hover{color:#fff}
@media(max-width:767px){.gplv-topbar{display:none}}

/* Header */
.gplv-header{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--gplv-color-border);box-shadow:var(--gplv-shadow-sm)}
.gplv-header__inner{display:flex;align-items:center;gap:1.5rem;min-height:80px}
.gplv-header__brand{flex:0 0 auto}
.gplv-logo{display:inline-flex;align-items:center;gap:.6rem;font-size:1.6rem;font-weight:800;letter-spacing:-.02em;color:var(--gplv-color-ink);text-decoration:none;white-space:nowrap}
.gplv-logo__mark{width:34px;height:34px;border-radius:8px;background:var(--gplv-color-ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;flex:0 0 auto}
.gplv-header__nav{margin:0}
.gplv-menu{display:flex;gap:1.75rem;list-style:none;margin:0;padding:0;align-items:center}
.gplv-menu li{margin:0}
.gplv-menu a{color:#374151;text-decoration:none;font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:.35rem}
.gplv-menu a:hover{color:var(--gplv-color-primary)}
.gplv-nav-badge{background:rgba(37,99,235,.12);color:var(--gplv-color-primary);font-size:.6rem;font-weight:800;padding:.1rem .4rem;border-radius:999px;letter-spacing:.04em}
.gplv-header__search{flex:1;max-width:420px;position:relative;display:flex;border:0;border-radius:0;overflow:visible}
.gplv-header__search-ic{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:.85rem;pointer-events:none}
.gplv-header__search input{width:100%;background:var(--gplv-color-subtle);border:1px solid var(--gplv-color-border);border-radius:8px;padding:.65rem 1rem .65rem 2.3rem;font-size:.88rem;outline:none;transition:background .15s,border-color .15s,box-shadow .15s}
.gplv-header__search input:focus{background:#fff;border-color:var(--gplv-color-primary);box-shadow:0 0 0 4px rgba(37,99,235,.1)}
.gplv-header__actions{display:flex;align-items:center;gap:1rem;margin-left:auto;font-size:1rem}
.gplv-header__auth{display:flex;align-items:center;gap:.85rem;padding-right:1rem;border-right:1px solid var(--gplv-color-border)}
.gplv-header__login{font-size:.88rem;font-weight:600;color:#4b5563;text-decoration:none}
.gplv-header__login:hover{color:var(--gplv-color-ink)}
.gplv-header__signup{font-size:.85rem;font-weight:700;color:#fff;background:#4caf50;padding:.5rem 1rem;border-radius:8px;text-decoration:none;box-shadow:var(--gplv-shadow-sm);white-space:nowrap}
.gplv-header__signup:hover{background:#3d8b40;color:#fff}
.gplv-header__account,.gplv-header__cart{color:#4b5563;text-decoration:none;font-size:1.2rem;position:relative;display:inline-flex;align-items:center}
.gplv-header__account:hover,.gplv-header__cart:hover{color:var(--gplv-color-ink)}
.gplv-header__cart-count{position:absolute;top:-7px;right:-9px;min-width:17px;height:17px;line-height:17px;text-align:center;background:var(--gplv-color-primary);color:#fff;border-radius:999px;font-size:.62rem;font-weight:800;box-shadow:0 0 0 2px #fff;padding:0 2px}
.gplv-search-toggle{font-size:1.15rem;color:#4b5563}

/* Header responsive (nav <1024 hidden → hamburger; inline search 768+; auth ≥640) */
@media(min-width:768px){.gplv-header__search{display:flex}.gplv-search-toggle{display:none}}
@media(max-width:639px){.gplv-header__auth{display:none}}
@media(max-width:1023px){.gplv-header__nav{display:none}.gplv-nav-toggle{display:flex;order:10}}

/* Footer */
.gplv-footer{background:#0b1120;color:#94a3b8;border-top:1px solid #1e293b;padding:4rem 0 2rem;margin-top:4rem}
.gplv-footer__cols{display:grid;grid-template-columns:1fr;gap:2rem;margin:0 0 3rem;padding:0}
@media(min-width:640px){.gplv-footer__cols{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.gplv-footer__cols{grid-template-columns:2fr 1fr 1fr 1fr}}
.gplv-footer__brand{grid-column:1/-1}
@media(min-width:1024px){.gplv-footer__brand{grid-column:auto}}
.gplv-footer__logo{display:inline-flex;align-items:center;gap:.6rem;font-size:1.6rem;font-weight:800;letter-spacing:-.02em;color:#fff;text-decoration:none;margin-bottom:1.25rem}
.gplv-footer__logo-mark{width:34px;height:34px;border-radius:8px;background:#fff;color:#0b1120;display:inline-flex;align-items:center;justify-content:center;font-size:1rem}
.gplv-footer__about{font-size:.88rem;line-height:1.7;color:#64748b;max-width:32rem;margin:0 0 1.25rem}
.gplv-footer__secure{display:inline-flex;align-items:center;gap:.5rem;color:#34d399;font-weight:600;font-size:.88rem;margin:0}
.gplv-footer__col h4{color:#fff;font-size:.95rem;font-weight:600;margin:0 0 1.25rem}
.gplv-footer__col ul{list-style:none;margin:0;padding:0}
.gplv-footer__col li{margin:0 0 .9rem}
.gplv-footer__col a{color:#94a3b8;text-decoration:none;font-size:.88rem}
.gplv-footer__col a:hover{color:#fff}
.gplv-footer__bar{display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:space-between;padding:2rem 0 0;border-top:1px solid #1e293b;font-size:.85rem;color:#64748b}
@media(min-width:768px){.gplv-footer__bar{flex-direction:row}}
.gplv-footer__pay{display:flex;gap:1rem;font-size:1.7rem;color:#475569}
.gplv-footer__pay i{cursor:default}
.gplv-footer__pay i:hover{color:#cbd5e1}

/* Floating chat / support button */
.gplv-fab{position:fixed;bottom:1.5rem;right:1.5rem;width:56px;height:56px;border-radius:50%;background:var(--gplv-color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;box-shadow:0 8px 24px rgba(37,99,235,.4);z-index:1200;text-decoration:none;transition:transform .15s ease,background .15s ease}
.gplv-fab:hover{background:var(--gplv-color-primary-d);transform:scale(1.06);color:#fff}
@media(max-width:600px){.gplv-fab{bottom:1rem;right:1rem;width:50px;height:50px;font-size:1.15rem}}
@media(max-width:767px){.single-product .gplv-fab{bottom:5.5rem}}

/* Single-product tabs as a bordered card with blue active underline */
.single-product .woocommerce-tabs.gplv-tabs{border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);overflow:hidden;background:#fff;box-shadow:var(--gplv-shadow-sm);margin-top:3rem}
.single-product .woocommerce-tabs.gplv-tabs .tabs.wc-tabs{background:var(--gplv-color-subtle);margin:0;border-bottom:1px solid var(--gplv-color-border)}
.single-product .woocommerce-tabs.gplv-tabs .tabs.wc-tabs li a{padding:1rem 1.5rem;border-bottom:2px solid transparent;color:var(--gplv-color-muted);font-weight:600}
.single-product .woocommerce-tabs.gplv-tabs .tabs.wc-tabs li a:hover{color:var(--gplv-color-ink);background:rgba(15,23,42,.04)}
.single-product .woocommerce-tabs.gplv-tabs .tabs.wc-tabs li.active a{color:var(--gplv-color-primary);border-bottom-color:var(--gplv-color-primary);background:#fff}
.single-product .woocommerce-tabs.gplv-tabs .panel,.single-product .woocommerce-tabs.gplv-tabs .wc-tab{padding:1.5rem 2rem}
.single-product .woocommerce-tabs.gplv-tabs .panel h2:first-child{margin-top:0}

/* ============================================================
   Shop: on-page filter sidebar (drawer on mobile)
   ============================================================ */
.gplv-shop-layout{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:1200px;margin:0 auto;padding:0 20px;align-items:start}
.gplv-shop-main{min-width:0}
.gplv-shop-main .woocommerce-result-count,.gplv-shop-main .woocommerce-ordering{max-width:none;margin:0;padding:0}
/* Auto-fill keeps cards a consistent width and left-aligned whether there's 1 product or 100 (no lonely stretched/centred card). */
.woocommerce .gplv-shop-main ul.products,.post-type-archive-product .gplv-shop-main ul.products{max-width:none!important;margin:0!important;padding:0!important;clear:both;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;justify-content:start}
/* Result-count + sort dropdown on one tidy toolbar row */
.gplv-shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 1.25rem}
.gplv-shop-toolbar .woocommerce-result-count{margin:0}
.gplv-shop-toolbar .woocommerce-ordering{margin:0}
/* Product-type eyebrow above the card title */
.woocommerce ul.products li.product .gplv-card-cat{display:block;padding:.75rem .9rem 0;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gplv-color-primary)}
.woocommerce ul.products li.product .gplv-card-cat+.woocommerce-loop-product__title{padding-top:.15rem}

/* Desktop: static sidebar card, no toggle/drawer */
@media(min-width:900px){
  .gplv-shop-layout{grid-template-columns:248px minmax(0,1fr)}
  .gplv-filters{position:static;left:auto;top:auto;width:auto;max-width:none;height:auto;box-shadow:none;transition:none;overflow:visible;z-index:auto;padding:1.25rem;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);background:#fff;position:sticky;top:96px}
  .gplv-filters__close{display:none}
  .gplv-filters__head{position:static;border-bottom:1px solid var(--gplv-color-border);padding:0 0 .75rem;margin-bottom:.5rem;font-size:1.05rem}
  .gplv-filters-toggle{display:none}
  .gplv-filters__backdrop{display:none!important}
}

/* Mobile: keep the slide-in drawer + show the toggle */
@media(max-width:899px){
  .gplv-filters-toggle{display:inline-flex;margin:0 0 1rem}
}

/* ============================================================
   Header Builder — frontend column layout
   ============================================================ */
.gplv-hb-col{display:flex;align-items:center;gap:1.25rem;min-width:0}
.gplv-hb-col--center{flex:1}
.gplv-header__inner .gplv-hb-col--right{margin-left:auto}
.gplv-topbar__inner .gplv-hb-col{gap:1.5rem}
.gplv-hb-divider{display:inline-block;width:1px;height:22px;background:rgba(148,163,184,.45)}
.gplv-hb-text{font-size:.9rem}
.gplv-header-bottom{background:#fff;border-bottom:1px solid var(--gplv-color-border)}
.gplv-header-bottom .gplv-header__inner{min-height:52px}

/* Header Builder v2 — device visibility, behaviours, new elements */
.gplv-header--mobile,.gplv-topbar--mobile,.gplv-header-bottom--mobile{display:none}
@media(max-width:1024px){
  .gplv-header--desktop,.gplv-topbar--desktop,.gplv-header-bottom--desktop{display:none}
  .gplv-header--mobile,.gplv-topbar--mobile,.gplv-header-bottom--mobile{display:block}
}
.gplv-header--static{position:static}
.gplv-header.is-transparent{position:absolute;left:0;right:0;background:transparent;border-bottom-color:transparent;box-shadow:none}
.gplv-header.is-transparent .gplv-logo,.gplv-header.is-transparent .gplv-menu a,.gplv-header.is-transparent .gplv-header__account,.gplv-header.is-transparent .gplv-header__cart,.gplv-header.is-transparent .gplv-header__login{color:#fff}
.gplv-header.is-transparent .gplv-logo__mark{background:#fff;color:#0f172a}
.gplv-social{display:inline-flex;align-items:center;gap:.7rem;font-size:1rem}
.gplv-social a{color:inherit;text-decoration:none;opacity:.85}
.gplv-social a:hover{opacity:1}
.gplv-contact{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem}

/* Inline SVG icons (replace FontAwesome chrome — immune to CDN/font issues) */
.gplv-ico{display:inline-block;vertical-align:-0.14em;flex:0 0 auto}
.gplv-header__search-ic{display:inline-flex;align-items:center;line-height:0}
.gplv-footer__pay{font-size:1rem;gap:.5rem}
.gplv-pay-mark{font-size:.7rem;font-weight:700;letter-spacing:.03em;color:#94a3b8;border:1px solid #334155;border-radius:4px;padding:.2rem .45rem;line-height:1}

/* Account dashboard: updates alert, setup checklist, security */
.gplv-dash__alert{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.1rem;border:1px solid rgba(37,99,235,.3);background:#eff6ff;border-radius:var(--gplv-radius-lg);color:var(--gplv-color-ink);text-decoration:none;font-size:.92rem}
.gplv-dash__alert .gplv-ico{font-size:1.1rem;color:var(--gplv-color-primary)}
.gplv-dash__alert>span{flex:1}
.gplv-checklist__dismiss{background:0;border:0;cursor:pointer;font-size:.82rem;color:var(--gplv-color-muted)}
.gplv-checklist__list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.55rem}
.gplv-checklist__item{display:flex;align-items:center;gap:.6rem;font-size:.92rem}
.gplv-checklist__tick{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--gplv-color-border);display:inline-flex;align-items:center;justify-content:center;color:var(--gplv-color-success);flex:0 0 auto;font-size:.78rem}
.gplv-checklist__item.is-done .gplv-checklist__tick{border-color:var(--gplv-color-success);background:rgba(22,163,74,.1)}
.gplv-checklist__label{color:var(--gplv-color-primary);text-decoration:none;font-weight:600}
.gplv-checklist__item.is-done .gplv-checklist__label{color:var(--gplv-color-muted);text-decoration:line-through;font-weight:500}
.gplv-seclist{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.6rem}
.gplv-seclist li{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--gplv-color-ink)}
.gplv-seclist .gplv-ico{font-size:1.05rem;color:var(--gplv-color-muted);flex:0 0 auto}
.gplv-kpi__icon .gplv-ico{font-size:1.3rem}
.gplv-quick a .gplv-ico{font-size:1rem;flex:0 0 auto}
.gplv-panel h3 .gplv-ico{vertical-align:-0.15em;margin-right:.35rem}
.gplv-dash__avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.gplv-pill--warn{background:rgba(245,158,11,.16);color:#b45309}
.gplv-pill--stale{background:rgba(220,38,38,.12);color:#b91c1c}
.gplv-row--warn td{background:rgba(245,158,11,.06)}
.gplv-prodlist--rec .gplv-prodlist__meta{font-weight:700;color:var(--gplv-color-ink)}
.gplv-invoice-dl{margin-top:1rem}
/* 2FA controls inside the WooCommerce account form */
.gplv-2fa{margin-top:2rem;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg);background:#fff;box-shadow:var(--gplv-shadow-sm);overflow:hidden}
.gplv-2fa__head{display:flex;align-items:center;gap:.85rem;padding:1.1rem 1.25rem;background:var(--gplv-color-subtle);border-bottom:1px solid var(--gplv-color-border)}
.gplv-2fa__head-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border-radius:10px;background:rgba(39,174,96,.12);color:var(--gplv-color-go);font-size:1.25rem}
.gplv-2fa__head-text{flex:1;min-width:0}
.gplv-2fa__title{font-size:1.05rem;font-weight:700;margin:0;color:var(--gplv-color-ink)}
.gplv-2fa__sub{font-size:.85rem;color:var(--gplv-color-muted);margin:.15rem 0 0;line-height:1.4}
.gplv-2fa__status{flex:none;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.3rem .6rem;border-radius:999px}
.gplv-2fa__status.is-on{background:rgba(39,174,96,.14);color:var(--gplv-color-go-d)}
.gplv-2fa__status.is-off{background:var(--gplv-color-border);color:var(--gplv-color-muted)}
.gplv-2fa__option{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.25rem;margin:0;cursor:pointer}
.gplv-2fa__option+.gplv-2fa__option{border-top:1px solid var(--gplv-color-border)}
.gplv-2fa__option--totp{display:block;cursor:default}
.gplv-2fa__option-row{display:flex;align-items:center;gap:1rem;cursor:pointer}
.gplv-2fa__option-text{flex:1;min-width:0}
.gplv-2fa__option-title{display:block;font-weight:600;color:var(--gplv-color-ink)}
.gplv-2fa__option-desc{display:block;font-size:.83rem;color:var(--gplv-color-muted);line-height:1.4;margin-top:.15rem}
/* Toggle switch */
.gplv-switch{position:relative;display:inline-block;width:46px;height:26px;flex:none}
.gplv-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:2}
.gplv-switch__track{position:absolute;inset:0;background:var(--gplv-color-border);border-radius:999px;transition:background .2s}
.gplv-switch__track::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(15,23,42,.3);transition:transform .2s}
.gplv-switch input:checked+.gplv-switch__track{background:var(--gplv-color-go)}
.gplv-switch input:checked+.gplv-switch__track::after{transform:translateX(20px)}
.gplv-switch input:focus-visible+.gplv-switch__track{outline:2px solid var(--gplv-color-ink);outline-offset:2px}
/* TOTP setup region */
.gplv-2fa__setup{display:flex;gap:1.25rem;margin-top:1rem;padding:1rem;background:var(--gplv-color-subtle);border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius);flex-wrap:wrap}
.gplv-2fa__qr{flex:none}
.gplv-2fa__qr img{display:block;width:160px;height:160px;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius);background:#fff;padding:6px}
.gplv-2fa__steps{flex:1;min-width:220px}
.gplv-2fa__steps ol{margin:0 0 .75rem;padding-left:1.1rem;font-size:.88rem;color:var(--gplv-color-ink);line-height:1.5}
.gplv-2fa__secret{display:flex;align-items:stretch;gap:.5rem;flex-wrap:wrap}
.gplv-2fa__secret code{flex:1;min-width:160px;display:flex;align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;letter-spacing:.04em;background:#fff;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius);padding:.5rem .65rem;color:var(--gplv-color-ink);word-break:break-all}
.gplv-2fa__copy{flex:none;border:1px solid var(--gplv-color-border);background:#fff;color:var(--gplv-color-ink);font-weight:600;font-size:.82rem;padding:.5rem .9rem;border-radius:var(--gplv-radius);cursor:pointer;transition:background .15s,border-color .15s}
.gplv-2fa__copy:hover{background:var(--gplv-color-subtle)}
.gplv-2fa__copy.is-done{background:rgba(39,174,96,.12);border-color:var(--gplv-color-go);color:var(--gplv-color-go-d)}
.gplv-2fa__hint{font-size:.82rem;color:var(--gplv-color-muted);margin:.75rem 0 0}
@media(max-width:600px){.gplv-2fa__setup{flex-direction:column}.gplv-2fa__qr,.gplv-2fa__qr img{width:140px;height:140px}}

/* ===== Affiliate dashboard ===== */
.gplv-aff__title{font-size:1.5rem;font-weight:800;margin:0 0 1.25rem}
.gplv-aff__notice{padding:.75rem 1rem;border-radius:var(--gplv-radius);margin:0 0 1.25rem;font-size:.9rem;border:1px solid transparent}
.gplv-aff__notice--success{background:rgba(39,174,96,.1);border-color:rgba(39,174,96,.3);color:var(--gplv-color-go-d)}
.gplv-aff__notice--error{background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.3);color:var(--gplv-color-danger-d)}
.gplv-aff__notice--info{background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.25);color:var(--gplv-color-primary-d)}
.gplv-aff__kpis{margin-bottom:1.25rem}
.gplv-aff__link{display:flex;gap:.5rem;flex-wrap:wrap}
.gplv-aff__link-input{flex:1;min-width:240px;padding:.6rem .75rem;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius);font-size:.92rem;background:var(--gplv-color-subtle);color:var(--gplv-color-ink)}
.gplv-aff__copy.is-done,.gplv-aff__copy[data-done]{background:var(--gplv-color-go-d)}
.gplv-aff__hint{margin:.6rem 0 0;font-size:.83rem}
.gplv-aff__textarea{width:100%;max-width:560px;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius);padding:.5rem .65rem}
.gplv-aff__form{display:grid;grid-template-columns:160px 1fr;gap:1rem;align-items:end}
.gplv-aff__field{display:flex;flex-direction:column;gap:.3rem}
.gplv-aff__field--wide{grid-column:1/-1}
.gplv-aff__field--submit{grid-column:1/-1}
.gplv-aff__field label{font-weight:600;font-size:.85rem;color:var(--gplv-color-ink)}
.gplv-aff__field input,.gplv-aff__field select{padding:.55rem .65rem;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius);font-size:.92rem;background:#fff}
.gplv-aff__field small{font-size:.78rem}
@media(max-width:600px){.gplv-aff__form{grid-template-columns:1fr}}

/* ---- Conversion pack: sold badge ---- */
.gplv-sold{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;color:#b45309;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:2px 9px;line-height:1.4}
.gplv-sold__ic{font-size:.85em}
.gplv-sp-sold{margin:.5rem 0}

/* ---- Conversion pack: variation swatches ---- */
.gplv-swatches{display:flex;flex-wrap:wrap;gap:.5rem;margin:.25rem 0 .5rem}
select[data-gplv-swatched]{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.gplv-swatch{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:.4rem .85rem;border:1.5px solid var(--gplv-color-border);background:#fff;color:var(--gplv-color-ink);border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:border-color .12s,box-shadow .12s}
.gplv-swatch:hover{border-color:var(--gplv-color-muted)}
.gplv-swatch.is-active{border-color:var(--gplv-color-primary);box-shadow:0 0 0 1px var(--gplv-color-primary) inset}
.gplv-swatch--color{padding-left:.5rem}
.gplv-swatch--color::before{content:"";width:18px;height:18px;border-radius:50%;background:var(--gplv-sw,#ccc);border:1px solid rgba(0,0,0,.12);flex:0 0 auto}

/* ---- Conversion pack: frequently bought together ---- */
.gplv-fbt{margin:2.5rem 0;padding-top:1.5rem;border-top:1px solid var(--gplv-color-border)}
.gplv-fbt__title{font-size:1.25rem;font-weight:700;margin:0 0 1rem}
.gplv-fbt__items{display:flex;flex-wrap:wrap;align-items:stretch;gap:.5rem}
.gplv-fbt__item{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:160px;padding:.85rem;border:1px solid var(--gplv-color-border);border-radius:var(--gplv-radius-lg,12px);background:#fff;text-align:center;position:relative;cursor:pointer}
.gplv-fbt__item input[type=checkbox]{position:absolute;top:.6rem;left:.6rem;width:18px;height:18px}
.gplv-fbt__media img{width:84px;height:84px;object-fit:cover;border-radius:8px}
.gplv-fbt__name{font-size:.82rem;font-weight:600;line-height:1.3}
.gplv-fbt__price{font-size:.85rem;font-weight:700;color:var(--gplv-color-ink)}
.gplv-fbt__plus{display:flex;align-items:center;font-size:1.5rem;font-weight:300;color:var(--gplv-color-muted)}
.gplv-fbt__foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.1rem}
.gplv-fbt__total{font-size:1.05rem;font-weight:700}
@media(max-width:560px){.gplv-fbt__items{flex-direction:column}.gplv-fbt__item{flex-direction:row;width:100%;text-align:left}.gplv-fbt__plus{display:none}}

/* ---- Conversion pack: social login buttons ---- */
.gplv-social-login{margin:14px 0;display:flex;flex-direction:column;gap:8px}
.gplv-social-login a.button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1rem;border-radius:8px;font-weight:600;text-decoration:none}

/* ---- Conversion pack: free-gift label ---- */
.gplv-free-gift-label{display:inline-block;background:var(--gplv-color-go);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:2px 8px;border-radius:999px;text-transform:uppercase}

/* ---- Header dropdowns + WoodMart-style mega menu ---- */
.gplv-menu li{position:relative}
.gplv-menu .gplv-menu-ic{margin-right:.05rem;opacity:.85}
.gplv-caret{display:inline-block;width:.46em;height:.46em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:.2rem;opacity:.55;transition:transform .15s}
.gplv-menu .menu-item-has-children:hover>a .gplv-caret,.gplv-menu .menu-item-has-children:focus-within>a .gplv-caret{transform:rotate(225deg) translateY(2px)}

/* standard dropdown */
.gplv-menu .sub-menu{position:absolute;top:100%;left:0;min-width:210px;list-style:none;margin:0;padding:.5rem;background:#fff;border:1px solid var(--gplv-color-border);border-radius:10px;box-shadow:var(--gplv-shadow-md,0 12px 32px rgba(2,6,23,.14));opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .15s,transform .15s,visibility .15s;z-index:200}
.gplv-menu li:hover>.sub-menu,.gplv-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.gplv-menu .sub-menu a{display:block;padding:.5rem .7rem;border-radius:6px;font-size:.9rem;font-weight:500;color:var(--gplv-color-ink)}
.gplv-menu .sub-menu a:hover{background:var(--gplv-color-subtle);color:var(--gplv-color-primary)}
.gplv-menu .sub-menu .sub-menu{top:-.5rem;left:100%}

/* mega panel */
.gplv-menu .gplv-mega--content{position:relative}
.gplv-menu .gplv-mega--full{position:static}
.gplv-mega-panel{position:absolute;top:100%;background:#fff;border:1px solid var(--gplv-color-border);border-radius:12px;box-shadow:var(--gplv-shadow-md,0 18px 44px rgba(2,6,23,.16));opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .16s,transform .16s,visibility .16s;z-index:200}
.gplv-mega-item:hover>.gplv-mega-panel,.gplv-mega-item:focus-within>.gplv-mega-panel{opacity:1;visibility:visible;transform:translateY(0)}
.gplv-mega-panel--content{left:0;width:max-content;max-width:760px}
.gplv-mega-panel--full{left:50%;transform:translateX(-50%) translateY(8px);width:100vw;max-width:100vw;border-left:0;border-right:0;border-radius:0}
.gplv-mega-item:hover>.gplv-mega-panel--full,.gplv-mega-item:focus-within>.gplv-mega-panel--full{transform:translateX(-50%) translateY(0)}
.gplv-mega-panel--bg{background-size:cover;background-position:center}
.gplv-mega-panel--bg::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.88);border-radius:inherit}
.gplv-mega-panel__inner{position:relative;padding:1.6rem}
.gplv-mega-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem 2rem;list-style:none;margin:0;padding:0}
.gplv-mega-cols>li{position:static}
.gplv-mega-cols>li>a{display:block;font-weight:700;font-size:.92rem;color:var(--gplv-color-ink);padding:0 0 .5rem;margin-bottom:.45rem;border-bottom:1px solid var(--gplv-color-border)}
.gplv-mega-cols>li>a:hover{color:var(--gplv-color-primary)}
.gplv-mega-cols .sub-menu{position:static;display:block;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;padding:0;margin:0;min-width:0;background:transparent}
.gplv-mega-cols .sub-menu a{padding:.32rem 0;font-weight:500;color:var(--gplv-color-muted)}
.gplv-mega-cols .sub-menu a:hover{color:var(--gplv-color-primary);background:transparent}
.gplv-mega-block{font-size:.95rem}
/* keep dropdown text readable under a transparent header */
.gplv-header.is-transparent .gplv-mega-panel a,.gplv-header.is-transparent .gplv-mega-cols>li>a,.gplv-header.is-transparent .gplv-menu .sub-menu a{color:var(--gplv-color-ink)}
.gplv-header.is-transparent .gplv-mega-cols>li>a:hover,.gplv-header.is-transparent .gplv-menu .sub-menu a:hover{color:var(--gplv-color-primary)}

/* ---- Shop Settings: column count (driven by --gplv-shop-cols) ---- */
@media(min-width:1080px){
  .woocommerce.archive ul.products,.post-type-archive-product ul.products{grid-template-columns:repeat(var(--gplv-shop-cols,4),minmax(0,1fr))!important}
  .woocommerce .gplv-shop-main ul.products,.post-type-archive-product .gplv-shop-main ul.products{grid-template-columns:repeat(var(--gplv-shop-cols,4),minmax(0,1fr))!important}
}

/* ---- Shop Settings: sidebar position ---- */
@media(min-width:1024px){
  body.gplv-shop--sidebar-right .gplv-shop-layout{grid-template-columns:minmax(0,1fr) 248px}
  body.gplv-shop--sidebar-right .gplv-filters{order:2}
  body.gplv-shop--sidebar-right .gplv-shop-main{order:1}
}

/* ---- Shop Settings: card styles ---- */
body.gplv-shop--card-centered ul.products li.product{text-align:center}
body.gplv-shop--card-centered ul.products li.product .gplv-card-badges,
body.gplv-shop--card-centered ul.products li.product .price{justify-content:center}
body.gplv-shop--card-minimal ul.products li.product{border:0;background:transparent}
body.gplv-shop--card-minimal ul.products li.product:hover{box-shadow:none;transform:none}
body.gplv-shop--card-minimal ul.products li.product a img{border-radius:var(--gplv-radius,8px)}
body.gplv-shop--card-minimal ul.products li.product .button{background:transparent;color:var(--gplv-color-primary);border:1px solid var(--gplv-color-border)}
body.gplv-shop--card-minimal ul.products li.product .button:hover{background:var(--gplv-color-subtle)}

/* ---- Shop Settings: second image on hover ---- */
ul.products li.product .gplv-2nd-img-wrap{position:absolute;top:0;left:0;right:0;aspect-ratio:4/3;opacity:0;transition:opacity .2s;pointer-events:none}
ul.products li.product .gplv-2nd-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0}
body.gplv-shop--hover-2nd ul.products li.product>a:first-of-type{position:relative;display:block}
body.gplv-shop--hover-2nd ul.products li.product:hover .gplv-2nd-img-wrap{opacity:1}

/* ---- Shop Settings: NEW badge ---- */
.gplv-new-badge{position:absolute;top:.5rem;right:.5rem;z-index:2;background:var(--gplv-color-go,#27ae60);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.05em;padding:.18rem .5rem;border-radius:999px}
ul.products li.product{position:relative}

/* ---- Shop Settings: product meta visibility ---- */
body.gplv-hide-pcats .product_meta .posted_in{display:none}
body.gplv-hide-ptags .product_meta .tagged_as{display:none}
body.gplv-hide-share .gplv-share,body.gplv-hide-share .gplv-sp-share{display:none}
body.gplv-hide-crosssells .cross-sells{display:none}

/* ---- Shop Settings: distraction-free checkout ---- */
body.gplv-checkout-focus .gplv-header__nav,
body.gplv-checkout-focus .gplv-topbar__menu,
body.gplv-checkout-focus .gplv-header__search,
body.gplv-checkout-focus .gplv-search-toggle,
body.gplv-checkout-focus .gplv-site-footer__cols{display:none!important}

/* ---- Shop Settings: gallery thumbnails on the left ---- */
@media(min-width:768px){
  body.gplv-gallery--thumbs-left .woocommerce-product-gallery{display:flex;flex-direction:row-reverse;gap:1rem;align-items:flex-start}
  body.gplv-gallery--thumbs-left .woocommerce-product-gallery .flex-control-thumbs{display:flex;flex-direction:column;width:74px;margin:0;gap:.5rem}
  body.gplv-gallery--thumbs-left .woocommerce-product-gallery .flex-control-thumbs li{width:100%!important;margin:0}
  body.gplv-gallery--thumbs-left .woocommerce-product-gallery__wrapper{flex:1}
}

/* ---- Shop Settings: quantity stepper buttons ---- */
.gplv-qty-buttons .gplv-qty{display:inline-flex;align-items:stretch;border:1px solid var(--gplv-color-border);border-radius:8px;overflow:hidden;vertical-align:middle}
.gplv-qty-buttons .gplv-qty .gplv-qty__btn{width:36px;border:0;background:var(--gplv-color-subtle);color:var(--gplv-color-ink);font-size:1.1rem;line-height:1;cursor:pointer}
.gplv-qty-buttons .gplv-qty .gplv-qty__btn:hover{background:#e2e8f0}
.gplv-qty-buttons .gplv-qty input.qty{width:48px;text-align:center;border:0;border-left:1px solid var(--gplv-color-border);border-right:1px solid var(--gplv-color-border);-moz-appearance:textfield}
.gplv-qty-buttons .gplv-qty input.qty::-webkit-outer-spin-button,.gplv-qty-buttons .gplv-qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* ---- Shop Settings: mobile sticky add-to-cart ---- */
.gplv-sticky-atc-bar{position:fixed;left:0;right:0;bottom:0;z-index:900;display:none;align-items:center;gap:1rem;justify-content:space-between;padding:.6rem 1rem;background:#fff;border-top:1px solid var(--gplv-color-border);box-shadow:0 -6px 20px rgba(2,6,23,.08)}
.gplv-sticky-atc-bar__info{display:flex;flex-direction:column;min-width:0}
.gplv-sticky-atc-bar__name{font-weight:600;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}
.gplv-sticky-atc-bar__price{font-weight:800;font-size:.95rem}
.gplv-sticky-atc-bar .gplv-btn{flex:0 0 auto}
@media(max-width:767px){body.gplv-sticky-atc.single-product .gplv-sticky-atc-bar{display:flex}}

/* ---- Shop Settings: side cart drawer ---- */
.gplv-sidecart{position:fixed;inset:0;z-index:1000;visibility:hidden;pointer-events:none}
.gplv-sidecart.is-open{visibility:visible;pointer-events:auto}
.gplv-sidecart__scrim{position:absolute;inset:0;background:rgba(2,6,23,.5);opacity:0;transition:opacity .25s}
.gplv-sidecart.is-open .gplv-sidecart__scrim{opacity:1}
.gplv-sidecart__panel{position:absolute;top:0;right:0;height:100%;width:380px;max-width:90vw;background:#fff;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s ease;box-shadow:-10px 0 40px rgba(2,6,23,.18)}
.gplv-sidecart.is-open .gplv-sidecart__panel{transform:translateX(0)}
.gplv-sidecart__head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid var(--gplv-color-border);font-size:1.05rem}
.gplv-sidecart__close{border:0;background:transparent;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--gplv-color-muted)}
.gplv-sidecart__body{flex:1;overflow-y:auto;padding:1rem 1.2rem}
.gplv-sidecart__body .woocommerce-mini-cart__buttons .button{display:block;text-align:center;margin-bottom:.5rem}
.gplv-sidecart__body .woocommerce-mini-cart__buttons .checkout{background:var(--gplv-color-go);color:#fff}
body.gplv-sidecart-open{overflow:hidden}

/* ---- Card action icons (wishlist + compare) ---- */
.gplv-card-actions{position:absolute;top:.5rem;left:.5rem;z-index:3;display:flex;flex-direction:column;gap:.4rem;opacity:0;transform:translateX(-6px);transition:opacity .18s,transform .18s}
ul.products li.product:hover .gplv-card-actions{opacity:1;transform:translateX(0)}
@media(hover:none){.gplv-card-actions{opacity:1;transform:none}}
.gplv-card-actions .gplv-wishlist-btn,.gplv-card-actions .gplv-compare-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid var(--gplv-color-border);box-shadow:0 2px 8px rgba(2,6,23,.12);color:var(--gplv-color-ink);text-decoration:none;font-size:1rem;line-height:1;cursor:pointer;padding:0}
.gplv-card-actions .gplv-wishlist-btn:hover,.gplv-card-actions .gplv-compare-btn:hover{border-color:var(--gplv-color-primary);color:var(--gplv-color-primary)}
.gplv-card-actions .gplv-wishlist-btn.is-on{color:#e11d48;border-color:#e11d48}
.gplv-card-actions .gplv-compare-btn.is-on{color:var(--gplv-color-primary);border-color:var(--gplv-color-primary)}
.gplv-card-actions .is-loading{opacity:.5;pointer-events:none}
/* compare icon on cards (hide the text labels, show a glyph) */
.gplv-card-actions .gplv-compare-btn{font-size:0}
.gplv-card-actions .gplv-compare-btn::before{content:"\21C4";font-size:1rem}
.gplv-card-actions .gplv-compare-btn__on,.gplv-card-actions .gplv-compare-btn__off{display:none}

/* wishlist/compare buttons in their default (text) context */
.gplv-wishlist-btn,.gplv-compare-btn{cursor:pointer}
.gplv-compare-btn .gplv-compare-btn__on{display:none}
.gplv-compare-btn.is-on .gplv-compare-btn__on{display:inline}
.gplv-compare-btn.is-on .gplv-compare-btn__off{display:none}
.gplv-wishlist-empty{padding:1.5rem;background:var(--gplv-color-subtle);border-radius:var(--gplv-radius-lg,12px);text-align:center;color:var(--gplv-color-muted)}

/* ---- Load more / infinite scroll ---- */
.gplv-loadmore-wrap{display:flex;justify-content:center;margin:1.5rem 0;clear:both}
.gplv-loadmore{min-width:200px}
.gplv-loadmore.is-loading{opacity:.6;pointer-events:none}
