/*
Theme Name: Grey Alien Labs
Theme URI: https://greyalienresearch.com/
Author: Grey Alien Labs
Description: Custom dark research storefront theme for Grey Alien Labs with WooCommerce support.
Version: 2.3.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: grey-alien-labs
*/

:root {
  --gal-blue: #00B0FC;
  --gal-blue-2: #39C2FF;
  --gal-black: #050607;
  --gal-bg: #080A0D;
  --gal-panel: #0D1116;
  --gal-panel-2: #11171E;
  --gal-line: #202A34;
  --gal-text: #F5F7FA;
  --gal-muted: #9AA6B2;
  --gal-gray: #585857;
  --gal-radius: 16px;
  --gal-shadow: 0 24px 80px rgba(0,0,0,.35);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--gal-bg);
  color: var(--gal-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
.gal-wrap { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.gal-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }


/* Researcher access gate */
body.gal-gate-open { overflow:hidden; }
.gal-gate {
  position:fixed;
  inset:0;
  z-index:999999;
  display:grid;
  place-items:center;
  padding:28px;
}
.gal-gate-backdrop {
  position:absolute;
  inset:0;
  background:rgba(2,4,7,.97);
}
.gal-gate-panel {
  position:relative;
  z-index:1;
  width:min(900px,100%);
  max-height:calc(100vh - 56px);
  overflow:auto;
  padding:34px 58px 30px;
  border:1px solid #263746;
  border-radius:28px;
  background:
    radial-gradient(circle at 88% 4%, rgba(0,176,252,.08), transparent 30%),
    linear-gradient(160deg,#0E151D 0%,#090D12 100%);
  box-shadow:0 30px 100px rgba(0,0,0,.58);
}
.gal-gate-kicker {
  color:var(--gal-blue);
  font-size:12px;
  font-weight:900;
  letter-spacing:.28em;
  text-align:center;
  text-transform:uppercase;
}
.gal-gate h1 {
  max-width:720px;
  margin:24px auto 20px;
  color:#F3F6F8;
  font-size:clamp(42px,5vw,68px);
  line-height:1.05;
  letter-spacing:-.045em;
  text-align:center;
}
.gal-gate-copy {
  max-width:690px;
  margin:0 auto 34px;
  color:#98A6B2;
  font-size:18px;
  line-height:1.65;
  text-align:center;
}
.gal-gate-check {
  display:grid;
  grid-template-columns:26px 1fr;
  gap:18px;
  align-items:start;
  padding:25px 28px;
  border:1px solid #304251;
  border-radius:18px;
  background:#0A1117;
  color:#C7D0D8;
  cursor:pointer;
}
.gal-gate-check input {
  width:24px;
  height:24px;
  margin:2px 0 0;
  accent-color:var(--gal-blue);
}
.gal-gate-check span { font-size:16px; line-height:1.55; }
.gal-gate-error {
  min-height:22px;
  margin:10px 2px 0;
  color:#FF9C9C;
  font-size:13px;
  text-align:left;
}
.gal-gate-actions {
  display:grid;
  gap:14px;
  margin-top:12px;
}
.gal-gate-actions-required { grid-template-columns:1fr 1fr; }
.gal-gate-actions .gal-btn {
  min-width:0;
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  font-size:18px;
  font-weight:800;
}
.gal-gate-note {
  max-width:730px;
  margin:22px auto 0;
  color:#63717C;
  font-size:11px;
  line-height:1.55;
  text-align:center;
}
@media (max-width:720px) {
  .gal-gate { padding:16px; }
  .gal-gate-panel { padding:28px 20px 24px; border-radius:22px; }
  .gal-gate-copy { font-size:15px; }
  .gal-gate-check { padding:20px; grid-template-columns:24px 1fr; }
  .gal-gate-check span { font-size:14px; }
  .gal-gate-actions-required { grid-template-columns:1fr; }
  .gal-gate-actions .gal-btn { min-height:58px; }
}

/* Notice + header */
.gal-notice {
  background: #030405;
  border-bottom: 1px solid #171C22;
  color: #A9B2BC;
  font-size: 11px;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.gal-notice .gal-wrap { min-height: 34px; display:flex; align-items:center; justify-content:center; gap:10px; text-align:center; }
.gal-dot { color: var(--gal-blue); }
.gal-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(8,10,13,.94);
  border-bottom: 1px solid rgba(255,255,255,.07);
  backdrop-filter: blur(16px);
}
.gal-header-inner { min-height: 78px; display:grid; grid-template-columns: 250px 1fr auto; gap:26px; align-items:center; }
.gal-brand { display:flex; align-items:center; min-width:0; }
.gal-logo { display:block; width:auto; max-width:235px; max-height:54px; object-fit:contain; }
.gal-fallback-wordmark { font-weight:800; letter-spacing:-.04em; font-size:20px; color:#D4D9DE; }
.gal-fallback-wordmark b { color: var(--gal-blue); }
.gal-nav { display:flex; justify-content:center; gap:28px; color:#C7CFD8; font-size:14px; font-weight:650; }
.gal-nav a, .gal-account { transition:color .2s ease, border-color .2s ease, background .2s ease; }
.gal-nav a:hover, .gal-nav .current-menu-item > a { color:var(--gal-blue); }
.gal-account { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:0 15px; border:1px solid #2B3743; border-radius:10px; color:#EDF2F6; font-size:13px; font-weight:750; }
.gal-account:hover { border-color:var(--gal-blue); color:var(--gal-blue); }
.gal-menu-toggle { display:none; width:42px; height:42px; padding:10px; border:1px solid #29343E; border-radius:10px; background:#0B0F14; }
.gal-menu-toggle span { display:block; height:2px; margin:4px 0; background:#F0F4F7; }

/* Home hero */
.gal-hero {
  position:relative;
  overflow:hidden;
  border-bottom:1px solid #171E26;
  background:
    radial-gradient(circle at 78% 38%, rgba(0,176,252,.12), transparent 29%),
    linear-gradient(180deg, #090C10 0%, #07090C 100%);
}
.gal-hero::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.18;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,#000,transparent 92%);
}
.gal-hero-grid { position:relative; z-index:2; min-height:650px; display:grid; grid-template-columns:1.08fr .92fr; gap:74px; align-items:center; padding:86px 0 92px; }
.gal-kicker { display:flex; align-items:center; gap:10px; color:var(--gal-blue); font-size:11px; font-weight:850; letter-spacing:.17em; text-transform:uppercase; }
.gal-kicker::before { content:""; width:28px; height:2px; background:var(--gal-blue); }
.gal-hero h1, .gal-section h2, .gal-page-hero h1 { margin:0; color:#F6F8FA; letter-spacing:-.05em; line-height:1.02; }
.gal-hero h1 { margin-top:20px; font-size:clamp(52px,6.2vw,88px); font-weight:820; }
.gal-hero h1 span { color:var(--gal-blue); }
.gal-lede { max-width:660px; margin:24px 0 0; color:#A9B4BF; font-size:18px; line-height:1.75; }
.gal-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:34px; }
.gal-btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 20px; border:1px solid transparent; border-radius:10px; font-size:14px; font-weight:800; transition:transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease; }
.gal-btn:hover { transform:translateY(-2px); }
.gal-btn-primary { background:var(--gal-blue); color:#031017; border-color:var(--gal-blue); }
.gal-btn-primary:hover { background:var(--gal-blue-2); }
.gal-btn-ghost { border-color:#2B3641; background:rgba(255,255,255,.02); color:#EDF2F6; }
.gal-btn-ghost:hover { border-color:#586572; }
.gal-fineprint { max-width:620px; margin-top:18px; color:#66727E; font-size:12px; }

.gal-hero-visual { display:flex; justify-content:center; }
.gal-orbit-card { position:relative; width:min(450px,90vw); aspect-ratio:1; border:1px solid #24303A; border-radius:50%; background:radial-gradient(circle at 50% 48%,rgba(0,176,252,.08),transparent 46%),#0A0E12; box-shadow:0 0 100px rgba(0,176,252,.08),inset 0 0 60px rgba(255,255,255,.015); }
.gal-orbit-card::before,.gal-orbit-card::after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(0,176,252,.19); }
.gal-orbit-card::before { inset:12%; }
.gal-orbit-card::after { inset:27%; border-color:rgba(255,255,255,.065); }
.gal-orbit-line { position:absolute; width:111%; height:39%; left:-5.5%; top:30%; border:5px solid var(--gal-blue); border-radius:50%; transform:rotate(-12deg); box-shadow:0 0 18px rgba(0,176,252,.22); }
.gal-orbit-dot { position:absolute; width:36px; height:36px; right:7%; top:23%; border-radius:50%; background:var(--gal-blue); box-shadow:0 0 22px rgba(0,176,252,.35); }
.gal-alien { position:absolute; inset:0; display:grid; place-items:center; }
.gal-alien-head { position:relative; width:47%; height:59%; clip-path:polygon(50% 0,82% 6%,100% 32%,92% 66%,72% 86%,50% 100%,28% 86%,8% 66%,0 32%,18% 6%); background:linear-gradient(145deg,#686A69 0%,#3F4243 72%); }
.gal-eye { position:absolute; top:43%; width:31%; height:18%; border-radius:70% 30% 70% 30%; background:var(--gal-blue); }
.gal-eye-left { left:15%; transform:rotate(18deg); }
.gal-eye-right { right:15%; transform:scaleX(-1) rotate(18deg); }
.gal-chip { position:absolute; padding:8px 11px; border:1px solid #26333E; border-radius:8px; background:rgba(7,10,14,.92); color:#81909E; font-size:9px; font-weight:850; letter-spacing:.15em; }
.gal-chip-a { left:0; bottom:21%; }
.gal-chip-b { right:-1%; bottom:30%; color:var(--gal-blue); }

/* Minimal credibility strip */
.gal-proof { background:#090C10; border-bottom:1px solid #1A222B; }
.gal-proof-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.gal-proof-item { display:grid; grid-template-columns:36px 1fr; gap:13px; padding:25px 28px; border-right:1px solid #1A222B; }
.gal-proof-item:last-child { border-right:0; }
.gal-proof-num { color:var(--gal-blue); font-size:10px; font-weight:900; letter-spacing:.14em; }
.gal-proof-item strong { display:block; color:#EEF3F6; font-size:14px; }
.gal-proof-item span { display:block; margin-top:3px; color:#7E8B97; font-size:12px; line-height:1.5; }

/* Sections */
.gal-section { padding:96px 0; }
.gal-section-dark { background:#0A0D11; }
.gal-section-line { border-top:1px solid #171F27; border-bottom:1px solid #171F27; }
.gal-section-head { display:flex; justify-content:space-between; align-items:end; gap:28px; margin-bottom:36px; }
.gal-section h2 { margin-top:14px; font-size:clamp(34px,4.5vw,56px); font-weight:790; }
.gal-section-copy { max-width:640px; color:#909CA8; }
.gal-text-link { color:#C2CCD5; font-size:13px; font-weight:750; }
.gal-text-link:hover { color:var(--gal-blue); }

/* WooCommerce catalog */
.gal-products .woocommerce ul.products, .woocommerce-page ul.products { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin:0 !important; }
.gal-products .woocommerce ul.products::before,.gal-products .woocommerce ul.products::after,.woocommerce-page ul.products::before,.woocommerce-page ul.products::after { display:none !important; }
.gal-products .woocommerce ul.products li.product,.woocommerce-page ul.products li.product { width:auto !important; margin:0 !important; padding:15px !important; border:1px solid #1E2832; border-radius:14px; background:#0D1116; transition:transform .2s ease,border-color .2s ease; }
.gal-products .woocommerce ul.products li.product:hover,.woocommerce-page ul.products li.product:hover { transform:translateY(-3px); border-color:#344452; }
.woocommerce ul.products li.product img { width:100% !important; aspect-ratio:1/1; object-fit:contain; margin:0 0 15px !important; border-radius:10px; background:#090C10; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color:#EEF3F6; font-size:15px !important; font-weight:720; line-height:1.4; padding:0 !important; }
.woocommerce ul.products li.product .price { color:var(--gal-blue) !important; font-size:15px !important; font-weight:820; margin:7px 0 11px; }
.woocommerce ul.products li.product .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit { border:1px solid #293642 !important; border-radius:9px !important; background:#141B22 !important; color:#EAF0F5 !important; font-weight:800 !important; }
.woocommerce ul.products li.product .button { width:100%; text-align:center; padding:11px 13px !important; margin-top:7px !important; }
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover { border-color:var(--gal-blue) !important; color:var(--gal-blue) !important; }
.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--gal-blue) !important; }

/* Documentation */
.gal-doc-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:center; }
.gal-document { position:relative; max-width:430px; min-height:390px; padding:28px; border:1px solid #26323D; border-radius:18px; background:linear-gradient(155deg,#121922,#0B0F14); box-shadow:var(--gal-shadow); }
.gal-document-top { display:flex; justify-content:space-between; color:#84909C; font-size:9px; font-weight:850; letter-spacing:.15em; }
.gal-doc-line { height:8px; margin-top:17px; border-radius:999px; background:#27323D; }
.gal-doc-line.a { width:72%; margin-top:38px; }.gal-doc-line.b{width:45%;}.gal-doc-line.c{width:59%;}
.gal-chart { height:115px; display:flex; align-items:end; gap:9px; margin-top:44px; padding:0 7px 13px; border-bottom:1px solid #28333D; }
.gal-chart i { flex:1; border-radius:4px 4px 0 0; background:linear-gradient(to top,#0878A4,var(--gal-blue)); }
.gal-coa-stamp { position:absolute; right:28px; bottom:28px; width:70px; height:70px; display:grid; place-items:center; border:2px solid var(--gal-blue); border-radius:50%; color:var(--gal-blue); font-weight:900; letter-spacing:.08em; transform:rotate(-8deg); }

/* Account / Middleman-inspired simple block */
.gal-access { background:#07090C; }
.gal-access-card { display:grid; grid-template-columns:1.2fr .8fr; gap:50px; align-items:center; padding:48px; border:1px solid #202B35; border-radius:18px; background:linear-gradient(110deg,#0D1218,#0A0E12); }
.gal-access-card h2 { margin:0; font-size:clamp(32px,4.2vw,50px); }
.gal-access-card p { max-width:650px; color:#8F9BA7; }
.gal-access-actions { display:flex; justify-content:flex-end; gap:12px; flex-wrap:wrap; }

/* Feature cards */
.gal-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.gal-feature { min-height:220px; padding:28px; border:1px solid #1E2832; border-radius:15px; background:#0D1116; }
.gal-feature .num { color:var(--gal-blue); font-size:10px; font-weight:900; letter-spacing:.16em; }
.gal-feature h3 { margin:42px 0 9px; color:#EFF3F6; font-size:20px; }
.gal-feature p { margin:0; color:#87939F; font-size:14px; }

/* FAQ */
.gal-faq-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:76px; }
.gal-faq details { padding:21px 0; border-top:1px solid #202A34; }
.gal-faq details:last-child { border-bottom:1px solid #202A34; }
.gal-faq summary { cursor:pointer; list-style:none; color:#EAF0F5; font-size:16px; font-weight:720; }
.gal-faq summary::-webkit-details-marker { display:none; }
.gal-faq summary::after { content:"+"; float:right; color:var(--gal-blue); font-size:21px; }
.gal-faq details[open] summary::after { content:"–"; }
.gal-faq details p { margin:11px 40px 0 0; color:#8995A1; font-size:14px; }

/* Footer */
.gal-footer { padding:60px 0 24px; background:#040506; border-top:1px solid #161D24; }
.gal-footer-grid { display:grid; grid-template-columns:1.3fr .65fr .65fr 1.3fr; gap:40px; padding-bottom:42px; }
.gal-footer .gal-logo { max-width:190px; }
.gal-footer strong { display:block; margin-bottom:12px; color:#E6EBEF; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.gal-footer a { display:block; margin:8px 0; color:#84909C; font-size:13px; }
.gal-footer a:hover { color:var(--gal-blue); }
.gal-footer p { color:#687480; font-size:12px; }
.gal-footer-bottom { display:flex; justify-content:space-between; gap:18px; padding-top:20px; border-top:1px solid #161D24; color:#58636D; font-size:11px; }

/* Interior pages */
.gal-page-hero { padding:70px 0 56px; border-bottom:1px solid #182029; background:linear-gradient(180deg,#090C10,#07090C); }
.gal-page-hero h1 { margin-top:12px; font-size:clamp(42px,6vw,70px); }
.gal-page-hero p { max-width:700px; margin:17px 0 0; color:#929EAA; }
.gal-content { padding:70px 0 100px; }
.gal-content h2,.gal-content h3 { color:#F0F4F7; }
.gal-content p,.gal-content li { color:#9AA6B2; }
.gal-content-card { padding:28px; border:1px solid #202A34; border-radius:15px; background:#0D1116; }
.gal-lab-table { width:100%; border-collapse:collapse; overflow:hidden; border-radius:12px; background:#0D1116; }
.gal-lab-table th,.gal-lab-table td { padding:15px 16px; border-bottom:1px solid #202A34; text-align:left; }
.gal-lab-table th { color:#DDE4EA; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.gal-lab-table td { color:#91A0AD; font-size:13px; }
.gal-lab-table a { color:var(--gal-blue); font-weight:750; }
.gal-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }

/* WooCommerce interior */
.gal-woo-wrap { padding:60px 0 100px; }
.woocommerce .woocommerce-breadcrumb { color:#72808D; font-size:12px; }
.woocommerce .woocommerce-breadcrumb a { color:#9BA8B4; }
.woocommerce div.product .product_title { color:#F4F7F9; }
.woocommerce div.product div.images img { border-radius:14px; background:#0B0F14; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-bottom-color:#26313C; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-color:#26313C; background:#0D1116; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background:#121820; border-bottom-color:#121820; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce .quantity .qty,.select2-container--default .select2-selection--single { background:#0D1217; color:#E9EEF2; border:1px solid #293641; border-radius:8px; }
.woocommerce table.shop_table { border-color:#26313C; background:#0B0F14; }
.woocommerce table.shop_table th,.woocommerce table.shop_table td { border-color:#26313C; }
.woocommerce-message,.woocommerce-info,.woocommerce-error { background:#0D1217; color:#DCE4EA; border-top-color:var(--gal-blue); }

@media (max-width: 980px) {
  .gal-header-inner { grid-template-columns:1fr auto; }
  .gal-menu-toggle { display:block; }
  .gal-account { display:none; }
  .gal-nav { display:none; position:absolute; top:78px; left:20px; right:20px; flex-direction:column; gap:2px; padding:17px; border:1px solid #25313C; border-radius:13px; background:#0B0F14; }
  .gal-nav.is-open { display:flex; }
  .gal-nav a { padding:9px; }
  .gal-hero-grid { grid-template-columns:1fr; gap:54px; }
  .gal-hero-copy { text-align:center; }.gal-kicker{justify-content:center;}.gal-lede,.gal-fineprint{margin-left:auto;margin-right:auto;}.gal-actions{justify-content:center;}
  .gal-proof-grid { grid-template-columns:1fr; }.gal-proof-item{border-right:0;border-bottom:1px solid #1A222B;}
  .gal-products .woocommerce ul.products,.woocommerce-page ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gal-doc-grid,.gal-faq-grid { grid-template-columns:1fr; gap:50px; }
  .gal-access-card { grid-template-columns:1fr; }.gal-access-actions{justify-content:flex-start;}
  .gal-feature-grid { grid-template-columns:1fr; }
  .gal-footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px) {
  .gal-wrap { width:min(100% - 28px,1180px); }
  .gal-notice .gal-wrap { min-height:42px; font-size:9px; gap:6px; }
  .gal-header-inner { min-height:70px; }.gal-nav{top:70px;}.gal-logo{max-width:190px;max-height:43px;}
  .gal-hero-grid { min-height:0; padding:66px 0 72px; }.gal-hero h1{font-size:clamp(46px,15vw,64px);}.gal-lede{font-size:16px;}.gal-actions{flex-direction:column;}.gal-btn{width:100%;}
  .gal-section { padding:72px 0; }.gal-section-head{align-items:flex-start;flex-direction:column;}
  .gal-products .woocommerce ul.products,.woocommerce-page ul.products { grid-template-columns:1fr; }
  .gal-access-card { padding:28px; }
  .gal-footer-grid { grid-template-columns:1fr; }.gal-footer-bottom{flex-direction:column;}
  .gal-contact-grid { grid-template-columns:1fr; }
}


@media (max-width: 640px) {
  .gal-gate { padding:14px; }
  .gal-gate-panel { max-height:calc(100vh - 28px); padding:28px 20px; border-radius:16px; }
  .gal-gate-brand { margin-bottom:20px; }
  .gal-gate-brand .gal-logo { max-width:215px; }
  .gal-gate-actions { grid-template-columns:1fr; }
}
