#pv-entry-gate{--pv-bg:#05060f;--pv-card:#0b0f30;--pv-border:#2b3170;--pv-accent:#6366f1;--pv-accent-dark:#3730a3;--pv-text:#f5f7ff;--pv-muted:#aab0d9;--pv-field:#0f1436;--pv-field-border:#2a3170;position:fixed;inset:0;z-index:2147483000;overflow:auto;background:var(--pv-bg);color:var(--pv-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding:24px 16px 34px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.45}#pv-entry-gate *{box-sizing:border-box}#pv-entry-gate .pv-eg-card{width:min(100%,560px);background:linear-gradient(145deg,rgba(11,15,48,.99),rgba(6,8,28,.99));border:1px solid var(--pv-border);border-radius:14px;padding:30px;box-shadow:0 22px 80px rgba(0,0,0,.45),inset 0 1px rgba(255,255,255,.025)}.pv-eg-lockup{text-align:center;margin:4px 0 20px;letter-spacing:.2em}.pv-eg-brand{font-size:var(--pv-brand-size,30px);line-height:1;font-weight:900;letter-spacing:-.04em}.pv-eg-bar{display:inline-block;height:28px;width:1px;background:#7b7ff7;margin:0 12px -7px}.pv-eg-sub{font-size:14px;color:#a5a9f7}.pv-eg-lang{margin:0 auto 23px}.pv-eg-lang-label{display:block;text-align:center;text-transform:uppercase;font-size:11px;letter-spacing:.22em;font-weight:800;color:#9fa3d6;margin-bottom:8px}.pv-eg-lang-btns{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--pv-field-border);border-radius:12px;padding:3px;background:rgba(255,255,255,.02)}.pv-eg-lang-btn{appearance:none;border:0;background:transparent;color:var(--pv-text);border-radius:9px;padding:11px 12px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:14px;font-weight:800;cursor:pointer;transition:.18s}.pv-eg-lang-btn img{width:22px;height:22px;object-fit:contain}.pv-eg-lang-btn.is-on{background:linear-gradient(180deg,#6366f1,#4338ca);box-shadow:0 4px 18px rgba(99,102,241,.35)}.pv-eg-eyebrow{text-align:center;text-transform:uppercase;letter-spacing:.22em;font-size:var(--pv-eyebrow-size,11px);font-weight:900;color:#8b8ff7;margin:19px 0 9px}.pv-eg-card h1{text-align:center;font-size:var(--pv-title-size,27px);line-height:1.1;margin:0 0 11px;font-weight:900;letter-spacing:-.02em}.pv-eg-lead{text-align:center;color:#d3d6f7;font-size:var(--pv-lead-size,14px);max-width:460px;margin:0 auto 22px}.pv-eg-lead strong,.pv-eg-fine a{color:#8b8ff7}.pv-eg-check,.pv-eg-field{display:flex;width:100%;border:1px solid var(--pv-field-border);background:rgba(255,255,255,.025);border-radius:12px;margin:0 0 10px;padding:14px;gap:11px}.pv-eg-check{align-items:flex-start;cursor:pointer}.pv-eg-check>input{appearance:none;width:17px;height:17px;flex:0 0 17px;margin:3px 0 0;border:1px solid #575c9e;border-radius:3px;background:#1a1f4a;position:relative;cursor:pointer}.pv-eg-check>input:checked{background:var(--pv-accent);border-color:var(--pv-accent)}.pv-eg-check>input:checked:after{content:"✓";position:absolute;inset:-1px 0 0;text-align:center;font-size:14px;line-height:17px;color:#0b0a24;font-weight:900}.pv-eg-check .t{display:block;font-size:var(--pv-check-title-size,14px);line-height:1.25;font-weight:800;color:#f2f3ff}.pv-eg-check .d{display:block;color:#a7abd9;font-size:var(--pv-check-desc-size,11px);margin-top:4px;line-height:1.5}.pv-eg-field{display:block;padding:14px}.pv-eg-frow{display:flex;align-items:center;justify-content:space-between;gap:10px}.pv-eg-flabel{font-size:var(--pv-field-label-size,13px);font-weight:800}.pv-eg-req{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#a5a9f7;background:rgba(99,102,241,.15);border:1px solid rgba(99,102,241,.45);border-radius:20px;padding:4px 8px;font-weight:900}.pv-eg-fhint{display:block;font-size:var(--pv-field-hint-size,11px);color:#a7abd9;margin:4px 0 10px}.pv-eg-sel{position:absolute;opacity:0;pointer-events:none}.pv-eg-combo{position:relative}.pv-eg-trigger{width:100%;min-height:43px;background:#0a0f2b;color:#e3e5fb;border:1px solid var(--pv-field-border);border-radius:9px;padding:9px 13px;text-align:left;display:flex;align-items:center;justify-content:space-between;font-size:14px;line-height:1.3;cursor:pointer}.pv-eg-val[data-ph="1"]{color:#9598cf}.pv-eg-chev{font-size:20px;color:#8b8ff7;line-height:1}.pv-eg-list{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 6px);bottom:auto;margin:0;padding:5px;list-style:none;background:#0a0f2b;border:1px solid var(--pv-field-border);border-radius:10px;box-shadow:0 16px 35px rgba(0,0,0,.5);max-height:250px;overflow:auto}.pv-eg-opt{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 10px;border-radius:7px;cursor:pointer}.pv-eg-opt:hover,.pv-eg-opt[aria-selected="true"]{background:rgba(99,102,241,.16)}.pv-eg-ol{font-size:13px;line-height:1.35}.pv-eg-tick{opacity:0;color:#8b8ff7;font-weight:900;font-size:15px}.pv-eg-opt[aria-selected="true"] .pv-eg-tick{opacity:1}.pv-eg-btns{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px;width:100%}.pv-eg-btn{min-height:44px;border-radius:9px;border:1px solid var(--pv-field-border);display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:var(--pv-button-size,13px);font-weight:800;line-height:1;cursor:pointer;transition:.18s;box-sizing:border-box}.pv-eg-enter{background:linear-gradient(180deg,#6366f1,#4338ca);border-color:#6366f1;color:#f2f3ff}.pv-eg-enter:disabled{opacity:.48;cursor:not-allowed}.pv-eg-enter:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(67,56,202,.35)}.pv-eg-enter.is-loading{pointer-events:none}.pv-eg-leave{background:transparent;color:#d6d9f5}.pv-eg-leave:hover{background:rgba(255,255,255,.04)}.pv-eg-error{margin-top:10px;border:1px solid rgba(220,90,90,.5);background:rgba(220,90,90,.08);color:#ffb4b4;border-radius:8px;padding:9px;font-size:11px}.pv-eg-fine{border-top:1px solid rgba(99,102,241,.2);margin:20px 0 0;padding:14px 4px 0;text-align:center;color:#9598cf;font-size:var(--pv-fine-size,10px);line-height:1.5}.pv-eg-fine a{text-decoration:none}.pv-eg-foot{font-size:10px;color:#6b70a8;margin:13px 0 0;text-align:center}.pv-eg-closing{opacity:0;transition:opacity .2s}.pv-eg-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}#pv-entry-gate input,#pv-entry-gate button,#pv-entry-gate select{font-family:inherit}/* Never show the old Google Translate top banner on this custom gate. GTranslate itself still handles translation. */html body .goog-te-banner-frame,html body .goog-te-banner-frame.skiptranslate{display:none!important}html body{top:0!important}.goog-te-gadget,.goog-te-balloon-frame,#google_translate_element,#pv-gtranslate-element{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}body .skiptranslate{font-size:0!important}@media(max-width:600px){#pv-entry-gate{padding:10px 9px 20px;justify-content:flex-start}.pv-eg-card{margin-top:10px;padding:22px 16px!important;border-radius:12px!important}.pv-eg-brand{font-size:26px}.pv-eg-lang-btn{font-size:13px;min-height:43px}.pv-eg-card h1{font-size:24px}.pv-eg-lead{font-size:13px}.pv-eg-check{padding:12px}.pv-eg-check .t{font-size:13px}.pv-eg-check .d,.pv-eg-fhint{font-size:10.5px}.pv-eg-btn{min-height:45px}.pv-eg-list{max-height:210px}}@media(max-width:430px){.pv-eg-card{padding:20px 13px!important}.pv-eg-btns{grid-template-columns:1fr 1fr;gap:7px}.pv-eg-lang-btn{padding:9px 7px;gap:7px}.pv-eg-lang-btn img{width:20px;height:20px}.pv-eg-check .t{font-size:12.5px}.pv-eg-check .d{font-size:10px}.pv-eg-trigger{font-size:13px}}
/* v1.4 refinements: keep the custom gate controls visually consistent even when
   the active theme applies generic button/input styles. */
#pv-entry-gate .pv-eg-btns{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important;width:100%!important;margin-top:15px!important}
#pv-entry-gate .pv-eg-btn{display:flex!important;width:100%!important;min-width:0!important;min-height:48px!important;padding:12px 16px!important;border-radius:9px!important;align-items:center!important;justify-content:center!important;text-align:center!important}
#pv-entry-gate .pv-eg-check{width:100%!important}
#pv-entry-gate .pv-eg-cap{cursor:pointer;user-select:none}
#pv-entry-gate .pv-eg-capbox{width:20px;height:20px;flex:0 0 20px;margin:1px 0 0;border:1px solid #6366f1;border-radius:4px;background:#10163a;display:flex;align-items:center;justify-content:center;color:#0b0a24;font-size:14px;font-weight:900}
#pv-entry-gate .pv-eg-capbox.pv-eg-solving{background:linear-gradient(90deg,#3730a3,#6366f1);animation:pv-eg-pulse 1s ease-in-out infinite}
#pv-entry-gate .pv-eg-capbox.pv-eg-ok{background:#6366f1;border-color:#6366f1}
#pv-entry-gate .pv-eg-cap.pv-eg-done{border-color:#4338ca}
#pv-entry-gate .pv-eg-cap.pv-eg-done .t{color:#c7c9fb}
@keyframes pv-eg-pulse{0%,100%{opacity:.65}50%{opacity:1}}
/* GTranslate's own visible/floating selector is not needed because the gate
   provides the language controls. Keep its translation engine available. */
html body .gtranslate_wrapper.gt_float_switcher,html body .gt_float_switcher,html body .gtranslate_wrapper .gt_float_switcher,html body .gtranslate_wrapper .gt_switcher_wrapper{display:none!important}
@media(max-width:600px){#pv-entry-gate .pv-eg-btn{min-height:46px!important;padding:11px 12px!important}.pv-eg-capbox{width:19px;height:19px;flex-basis:19px}}
#pv-entry-gate .pv-eg-card h1{color:#f5f7ff!important;font-size:var(--pv-title-size,30px)!important}
#pv-entry-gate .pv-eg-eyebrow{color:#8b8ff7!important}
#pv-entry-gate .pv-eg-lead{color:#d3d6f7!important}
#pv-entry-gate .pv-eg-btn{font-size:var(--pv-button-size,14px)!important;font-weight:800!important}

/* v1.5: the underlying PeptiVigor page must not scroll while the entry gate is open.
   Only #pv-entry-gate owns the scrollbar until verification succeeds. */
html.pv-eg-lock, body.pv-eg-lock { overflow: hidden !important; }
#pv-entry-gate { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }

/* v1.5: hide Google's legacy translation chrome without disabling translation.
   The website keeps using the existing GTranslate instance/API. */
html body .goog-te-banner-frame,
html body .goog-te-banner-frame.skiptranslate,
html body .goog-te-balloon-frame,
html body .goog-te-menu-frame,
html body #goog-gt-tt,
html body .gt_float_switcher,
html body .gtranslate_wrapper.gt_float_switcher,
html body .gtranslate_wrapper .gt_float_switcher {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
html body { top: 0 !important; margin-top: 0 !important; }

/* v1.6: do not hide the site's scrollbar after the gate closes. The document is
   locked only while the overlay exists; the lock is removed immediately on entry. */
html.pv-eg-lock, body.pv-eg-lock { overflow: hidden !important; }
#pv-entry-gate { overflow-y: auto !important; overflow-x: hidden !important; }
iframe.goog-te-banner-frame,
.goog-te-banner-frame,
.goog-te-balloon-frame,
#goog-gt-tt { display:none !important; visibility:hidden !important; }
body { top:0 !important; }

/* v1.7: responsive gate viewport. The overlay is the ONLY scroll container
   while the gate is open; the underlying site regains its native scrollbar
   immediately after Enter Site. */
#pv-entry-gate.pv-eg-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:clamp(16px,4vh,42px) 16px 24px!important;
}
#pv-entry-gate .pv-eg-card{
  width:min(var(--pv-max-width,560px), calc(100vw - 32px))!important;
  max-width:calc(100vw - 32px)!important;
  max-height:none!important;
  flex:0 0 auto!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}
#pv-entry-gate .pv-eg-foot{flex:0 0 auto!important;margin-bottom:2px!important}


/* GTranslate widget styling inside entry gate */
.pv-eg-gtranslate {
  margin: 0 auto 20px;
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 100%;
}

.pv-eg-gtranslate .gtranslate_wrapper,
.pv-eg-gtranslate .gtranslate_wrapper.gt_float_switcher {
  display: block !important;
  position: static !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
  border: 0 !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  background: transparent !important;
}

/* Hide the dropdown select */
.pv-eg-gtranslate select.goog-te-combo,
.pv-eg-gtranslate #google_translate_element2 {
  display: none !important;
  visibility: hidden !important;
}

/* Style the switcher container */
.pv-eg-gtranslate .gt_switcher {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  width: 100% !important;
  max-width: 400px !important;
  margin: 0 auto !important;
  gap: 0 !important;
  border: 1px solid var(--pv-field-border, #2a3170) !important;
  border-radius: 12px !important;
  padding: 3px !important;
  background: rgba(255, 255, 255, 0.02) !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
}

.pv-eg-gtranslate .gt_switcher .gt_option {
  display: flex !important;
  width: 100% !important;
  position: relative !important;
  background: transparent !important;
}

.pv-eg-gtranslate .gt_switcher .gt_option a {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 11px 12px !important;
  min-height: 44px !important;
  border-radius: 9px !important;
  border: 0 !important;
  background: transparent !important;
  color: #f5f7ff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.18s ease !important;
  white-space: nowrap !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
}

.pv-eg-gtranslate .gt_switcher .gt_option a:hover:not(.gt_current) {
  background: rgba(255, 255, 255, 0.04) !important;
}

.pv-eg-gtranslate .gt_switcher .gt_option a.gt_current {
  background: linear-gradient(180deg, #6366f1, #4338ca) !important;
  border-color: #6366f1 !important;
  box-shadow: 0 4px 18px rgba(99, 102, 241, 0.35) !important;
  color: #f5f7ff !important;
}

.pv-eg-gtranslate .gt_switcher .gt_option a img {
  width: 22px !important;
  height: 22px !important;
  object-fit: contain !important;
  display: inline-block !important;
}

.pv-eg-gtranslate .gt_switcher .gt_selected {
  display: none !important;
}

/* Do not use display:none on GTranslate itself: its shortcode is intentionally
   rendered in the DOM and only visually clipped so its native language links
   remain functional. */
html body .goog-te-banner-frame,
html body .goog-te-banner-frame.skiptranslate,
html body .goog-te-balloon-frame,
html body #goog-gt-tt{display:none!important;visibility:hidden!important}
html body{top:0!important;margin-top:0!important}

@media (max-height:760px) and (min-width:601px){
  #pv-entry-gate.pv-eg-overlay{padding-top:16px!important;padding-bottom:16px!important}
  #pv-entry-gate .pv-eg-card{padding-top:20px!important;padding-bottom:18px!important}
}
@media (max-width:600px){
  #pv-entry-gate.pv-eg-overlay{padding:12px 9px 18px!important}
  #pv-entry-gate .pv-eg-card{width:100%!important;max-width:560px!important}
  #pv-entry-gate .pv-eg-lang-btn{min-height:46px!important;font-size:14px!important}
  #pv-entry-gate .pv-eg-check{padding:13px!important}
  #pv-entry-gate .pv-eg-check .t{font-size:14px!important}
  #pv-entry-gate .pv-eg-check .d,#pv-entry-gate .pv-eg-fhint{font-size:11px!important}
  #pv-entry-gate .pv-eg-trigger{min-height:48px!important;font-size:14px!important}
  #pv-entry-gate .pv-eg-btn{min-height:48px!important;font-size:14px!important}
}
@media (max-width:430px){
  #pv-entry-gate.pv-eg-overlay{padding:8px 7px 14px!important}
  #pv-entry-gate .pv-eg-card{padding:20px 13px!important}
  #pv-entry-gate .pv-eg-lang-btn{font-size:13px!important;padding:9px 6px!important}
  #pv-entry-gate .pv-eg-check .t{font-size:13px!important}
  #pv-entry-gate .pv-eg-check .d,#pv-entry-gate .pv-eg-fhint{font-size:10.5px!important}
}
