/* GenQubit theme — styles for native block templates (Insights, posts, legal, generic pages).
   Design pages style themselves; colours come from the light/dark tokens set by design/theme.js. */

x-dc { display: none !important; }
html { background: var(--bg, #0A0A0B); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: rgba(109, 40, 217, 0.45); color: #fff; }
:focus-visible { outline: 2px solid #22D3EE; outline-offset: 2px; }
p, li, h1, h2, h3 { text-wrap: pretty; }

/* Design pages: full canvas, no theme chrome or spacing. */
body.gq-design .wp-site-blocks { padding: 0 !important; }
body.gq-design .wp-site-blocks > * { margin-block-start: 0 !important; }
.gq-design-content, .gq-design-host { margin: 0 !important; max-width: none !important; padding: 0 !important; }

/* Type helpers */
.gq-eyebrow { font: 500 12px/1.4 'JetBrains Mono', monospace; letter-spacing: .16em; text-transform: uppercase; color: var(--t2, #A1A1AA); margin: 0; }
.gq-meta, .gq-meta a { font: 400 11px/1.6 'JetBrains Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--t3, #7C7C85); }
.gq-lead { font-size: 18px; line-height: 1.6; color: var(--t2, #A1A1AA); }
.gq-grad { background: var(--gt, linear-gradient(90deg,#22D3EE,#4F7BF0 35%,#6D28D9 68%,#C026D3)); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Buttons */
.wp-element-button, .wp-block-button__link { transition: transform 220ms cubic-bezier(.22,1,.36,1), background-color 220ms; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button__link:active { transform: translateY(1px); }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--t1, #F4F4F5); border: 1px solid var(--ln2, rgba(255,255,255,.16)); }
.gq-btn-sm .wp-block-button__link { padding: 8px 18px; font-size: 14px; }

/* Header */
.gq-site-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .gq-site-header { top: 32px; }
.gq-header { background: var(--hd, rgba(10,10,11,.88)); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--ln, rgba(255,255,255,.08)); padding-left: 64px !important; padding-right: 64px !important; }
.gq-header__bar { min-height: 64px; gap: 32px; }
.gq-logo { margin: 0 !important; }
.gq-logo img { display: block; height: auto; }
.gq-nav { flex: 1; font-size: 14px; }
.gq-nav .wp-block-navigation__container { gap: 28px; }
.gq-nav a { color: var(--t2, #A1A1AA); white-space: nowrap; }
.gq-nav a:hover { color: var(--t1, #F4F4F5); }
.gq-nav .wp-block-navigation__submenu-container { background: var(--bg, #0A0A0B) !important; color: var(--t1, #F4F4F5) !important; border: 1px solid var(--ln2, rgba(255,255,255,.16)) !important; border-radius: 14px; padding: 10px !important; min-width: 340px !important; box-shadow: 0 30px 80px rgba(0,0,0,.25); }
.gq-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px !important; border-radius: 10px; color: var(--t1, #F4F4F5); white-space: normal; }
.gq-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--sf, #111113); }
.gq-nav .wp-block-navigation-item__label { font-weight: 500; }
.gq-nav .wp-block-navigation-item__description { display: block; font-size: 13px; line-height: 1.45; color: var(--t2, #A1A1AA); }
.gq-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--bg, #0A0A0B); color: var(--t1, #F4F4F5); }
.gq-header__actions { gap: 12px; }
.gq-theme-toggle { width: 36px; height: 36px; border-radius: 999px; border: 1px solid var(--ln2, rgba(255,255,255,.16)); background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; }
.gq-theme-toggle span { width: 14px; height: 14px; border-radius: 50%; background: linear-gradient(90deg, var(--t1, #F4F4F5) 50%, transparent 50%); border: 1px solid var(--t1, #F4F4F5); }
@media (max-width: 781px) { .gq-header { padding-left: 20px !important; padding-right: 20px !important; } .admin-bar .gq-site-header { top: 46px; } }

/* Main */
.gq-main { padding-top: 96px; padding-bottom: 96px; }
.gq-main h1 { margin-top: 20px; }

/* Category chips */
.gq-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 32px 0 48px; }
.gq-chips li a { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--ln2, rgba(255,255,255,.16)); font-size: 14px; color: var(--t2, #A1A1AA); }
.gq-chips li.current-cat a, .gq-chips li a:hover { color: var(--t1, #F4F4F5); border-color: #22D3EE; }

/* Post cards */
.gq-grid { gap: 24px !important; }
.gq-card { height: 100%; border: 1px solid var(--ln, rgba(255,255,255,.08)); border-radius: 16px; background: var(--sf, #111113); overflow: hidden; transition: transform 220ms cubic-bezier(.22,1,.36,1), border-color 220ms; }
.gq-card:hover { transform: translateY(-3px); border-color: var(--ln3, rgba(255,255,255,.26)); }
.gq-card > *:not(.wp-block-post-featured-image) { margin-left: 24px; margin-right: 24px; }
.gq-card > *:last-child { margin-bottom: 24px; }
.gq-card .wp-block-post-featured-image { margin: 0; background: linear-gradient(135deg, rgba(34,211,238,.18), rgba(109,40,217,.18), rgba(192,38,211,.18)); aspect-ratio: 16/9; }
.gq-card__meta { gap: 12px; margin-top: 20px; }
.gq-card__meta, .gq-card__meta a { font: 400 11px/1.6 'JetBrains Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--t2, #A1A1AA); }
.gq-card__title { font-size: 22px !important; line-height: 1.25; margin-top: 8px; }
.gq-card .wp-block-post-excerpt { font-size: 15px; color: var(--t2, #A1A1AA); }
.gq-pagination { margin-top: 48px; gap: 8px; }
.gq-pagination a, .gq-pagination .current { padding: 6px 12px; border-radius: 8px; border: 1px solid var(--ln, rgba(255,255,255,.08)); }
.gq-pagination .current { border-color: #22D3EE; }

/* Article */
.gq-crumbs { gap: 10px; }
.gq-crumbs, .gq-crumbs a { font: 500 12px/1.4 'JetBrains Mono', monospace; letter-spacing: .16em; text-transform: uppercase; color: var(--t2, #A1A1AA); }
.gq-article .wp-block-post-title { font-size: clamp(2.4rem, 5vw, 3.5rem); }
.gq-article .wp-block-post-featured-image { border-radius: 16px; overflow: hidden; margin-top: 40px; margin-bottom: 40px; }
.gq-article .wp-block-post-content { font-size: 18px; line-height: 1.75; }
.gq-article .wp-block-post-content h2 { font-size: 30px; margin-top: 48px; }
.gq-article .wp-block-quote { padding-left: 24px; margin: 40px 0; }
.gq-article .wp-block-code { padding: 20px 24px; }
.gq-related { margin-top: 96px; padding-top: 48px; border-top: 1px solid var(--ln, rgba(255,255,255,.08)); }
.gq-callout { margin-top: 48px; padding: 28px; border-radius: 16px; border: 1px solid transparent; background: linear-gradient(var(--sf, #111113), var(--sf, #111113)) padding-box, linear-gradient(135deg, #22D3EE, var(--ln, rgba(255,255,255,.08)) 50%, #C026D3) border-box; gap: 20px; align-items: center; }
.gq-callout__t { font: 700 22px/1.2 Play, sans-serif; margin: 0; }
.gq-callout__d { color: var(--t2, #A1A1AA); margin: 4px 0 0; }

/* Closing CTA */
.gq-cta { position: relative; overflow: hidden; padding: 120px 64px !important; border-top: 1px solid var(--ln, rgba(255,255,255,.08)); background: radial-gradient(60% 70% at 50% 0%, rgba(109,40,217,.18), transparent 70%); }
.gq-cta h2 { font-size: clamp(2.4rem, 5vw, 4rem); }
.gq-cta__paths { margin-top: 56px !important; gap: 12px !important; }
.gq-path { margin: 0; }
.gq-path a { display: flex; flex-direction: column; gap: 6px; padding: 20px; border-radius: 14px; border: 1px solid var(--ln, rgba(255,255,255,.08)); background: var(--sf, #111113); font: 700 18px Play, sans-serif; color: var(--t1, #F4F4F5); transition: border-color 220ms, transform 220ms; }
.gq-path a:hover { border-color: #22D3EE; transform: translateY(-2px); color: var(--t1, #F4F4F5); }

/* Footer */
.gq-footer { padding: 80px 64px 40px !important; border-top: 1px solid var(--ln, rgba(255,255,255,.08)); background: var(--bg, #0A0A0B); }
.gq-footer__top { gap: 40px !important; }
.gq-footer__tag { font: 700 22px Play, sans-serif; }
.gq-footer__mail a { color: var(--t1, #F4F4F5); }
.gq-footer__badge { padding: 8px; background: #fff; border-radius: 12px; display: inline-block; }
.gq-footer__links { list-style: none; padding: 0; margin: 16px 0 0; display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.gq-footer__links a { color: var(--t2, #A1A1AA); }
.gq-footer__links a:hover { color: var(--t1, #F4F4F5); }
.gq-footer__bottom { margin-top: 64px; padding-top: 24px; border-top: 1px solid var(--ln, rgba(255,255,255,.08)); font-size: 13px; color: var(--t2, #A1A1AA); }
@media (max-width: 781px) { .gq-footer, .gq-cta { padding-left: 20px !important; padding-right: 20px !important; } }

/* Legal */
.gq-legal__cols { margin-top: 48px !important; gap: 64px !important; }
.gq-legal__toc { position: sticky; top: 96px; align-self: flex-start; }
.gq-legal__toc ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.gq-legal__toc a { color: var(--t2, #A1A1AA); }
.gq-legal__toc a:hover { color: var(--t1, #F4F4F5); }
.gq-legal__h { font-size: 26px !important; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--ln, rgba(255,255,255,.08)); scroll-margin-top: 96px; }

/* Search */
.gq-search .wp-block-search__input { background: var(--sf, #111113); color: var(--t1, #F4F4F5); border: 1px solid var(--ln2, rgba(255,255,255,.16)); border-radius: 999px; padding: 10px 16px; }
.gq-search { margin: 24px 0 48px; }
