/*
Theme Name:   Hello Elementor Gaming
Theme URI:    https://example.com/hello-elementor-gaming
Description:  A dark gaming/casino child theme for Hello Elementor. Fully rebrandable via CSS custom properties — change your colors, fonts, and accent in one place.
Author:       Your Name
Author URI:   https://example.com
Template:     hello-elementor
Version:      1.0.0
Requires at least: 6.2
Tested up to: 6.7
Requires PHP: 7.4
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  hello-elementor-gaming
Tags:         gaming, casino, dark, elementor, custom-colors, custom-typography
*/

/* =============================================================================
   ██████╗  █████╗ ███╗   ███╗██╗███╗   ██╗ ██████╗
  ██╔════╝ ██╔══██╗████╗ ████║██║████╗  ██║██╔════╝
  ██║  ███╗███████║██╔████╔██║██║██╔██╗ ██║██║  ███╗
  ██║   ██║██╔══██║██║╚██╔╝██║██║██║╚██╗██║██║   ██║
  ╚██████╔╝██║  ██║██║ ╚═╝ ██║██║██║ ╚████║╚██████╔╝
   ╚═════╝ ╚═╝  ╚═╝╚═╝     ╚═╝╚═╝╚═╝  ╚═══╝ ╚═════╝
   Hello Elementor Gaming Child Theme v1.0.0
   ============================================================================= */

/* =============================================================================
   🎨 DESIGN TOKENS — Edit these to rebrand the entire theme
   ============================================================================= */

:root {
	/* ── Backgrounds ──────────────────────────────────────────────────────── */
	--gc-bg-base:        #0d0f1a;   /* Main page background                   */
	--gc-bg-card:        #12141f;   /* Card / section backgrounds             */
	--gc-bg-elevated:    #1c1f2e;   /* Hover states, borders, dividers        */
	--gc-bg-header:      rgba(13, 15, 26, 0.92); /* Sticky header bg          */

	/* ── Brand Accent Colors ──────────────────────────────────────────────── */
	--gc-accent:         #00e5ff;   /* PRIMARY accent (neon cyan by default)  */
	--gc-accent-dark:    #00b8cc;   /* Darker shade of accent                 */
	--gc-accent-2:       #7c3aed;   /* SECONDARY accent (purple)              */
	--gc-accent-gold:    #ffd700;   /* Gold — for VIP / jackpot highlights    */
	--gc-accent-danger:  #ff4d6d;   /* Red — warnings, live badges            */
	--gc-accent-green:   #22c55e;   /* Green — wins, success states           */

	/* ── Text Colors ──────────────────────────────────────────────────────── */
	--gc-text:           #ffffff;   /* Primary text                           */
	--gc-text-muted:     #a0a8c0;   /* Secondary / supporting text            */
	--gc-text-faint:     #5a6080;   /* Placeholder, disabled text             */

	/* ── Typography ───────────────────────────────────────────────────────── */
	--gc-font-display:   'Rajdhani', sans-serif;   /* Headings, CTAs          */
	--gc-font-body:      'Inter', sans-serif;       /* Body text               */
	--gc-font-logo:      'Orbitron', sans-serif;   /* Logo / site title        */

	/* ── Borders & Radius ─────────────────────────────────────────────────── */
	--gc-border:         1px solid #1c1f2e;
	--gc-border-accent:  1px solid rgba(0, 229, 255, 0.25);
	--gc-radius-sm:      4px;
	--gc-radius-md:      8px;
	--gc-radius-lg:      12px;
	--gc-radius-full:    999px;

	/* ── Shadows ──────────────────────────────────────────────────────────── */
	--gc-shadow-card:    0 4px 24px rgba(0, 0, 0, 0.4);
	--gc-shadow-neon:    0 0 20px rgba(0, 229, 255, 0.35), 0 0 40px rgba(0, 229, 255, 0.15);
	--gc-shadow-neon-2:  0 0 20px rgba(124, 58, 237, 0.35), 0 0 40px rgba(124, 58, 237, 0.15);

	/* ── Gradients ────────────────────────────────────────────────────────── */
	--gc-gradient-accent:  linear-gradient(135deg, var(--gc-accent) 0%, var(--gc-accent-2) 100%);
	--gc-gradient-dark:    linear-gradient(180deg, var(--gc-bg-base) 0%, var(--gc-bg-card) 100%);
	--gc-gradient-fire:    linear-gradient(135deg, var(--gc-accent-2) 0%, var(--gc-accent-danger) 100%);
	--gc-gradient-overlay: linear-gradient(180deg, rgba(13,15,26,0) 0%, rgba(13,15,26,0.95) 100%);

	/* ── Transitions ──────────────────────────────────────────────────────── */
	--gc-transition:       all 0.25s ease;
	--gc-transition-slow:  all 0.4s ease;

	/* ── Spacing ──────────────────────────────────────────────────────────── */
	--gc-section-pad:    6rem 1.5rem;
	--gc-section-pad-sm: 3rem 1.5rem;
}

/* =============================================================================
   BASE RESET & GLOBAL
   ============================================================================= */

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	background-color: var(--gc-bg-base) !important;
	color: var(--gc-text) !important;
	font-family: var(--gc-font-body) !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	line-height: 1.65;
}

img { max-width: 100%; height: auto; }

a {
	color: var(--gc-accent);
	text-decoration: none;
	transition: var(--gc-transition);
}
a:hover { color: var(--gc-accent-2); }

/* =============================================================================
   TYPOGRAPHY
   ============================================================================= */

h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
	font-family: var(--gc-font-display) !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	line-height: 1.1;
	color: var(--gc-text);
}

h1, .elementor-heading-title.elementor-size-xxl { font-size: clamp(2.5rem, 6vw, 4.5rem); letter-spacing: -0.02em; }
h2, .elementor-heading-title.elementor-size-xl  { font-size: clamp(1.8rem, 4vw, 3rem);   }
h3, .elementor-heading-title.elementor-size-large { font-size: clamp(1.4rem, 3vw, 2rem); }
h4 { font-size: 1.3rem; }
h5 { font-size: 1.1rem; }
h6 { font-size: 0.875rem; letter-spacing: 0.12em; }

p { color: var(--gc-text); }

.text-muted,
.gc-muted { color: var(--gc-text-muted) !important; }

.text-accent,
.gc-accent-text { color: var(--gc-accent) !important; }

.text-gold { color: var(--gc-accent-gold) !important; }

/* =============================================================================
   SITE HEADER
   ============================================================================= */

#site-header,
.site-header,
header.elementor-location-header {
	background-color: var(--gc-bg-header) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	position: sticky;
	top: 0;
	z-index: 999;
	transition: background-color 0.3s ease;
}

/* Logo */
.site-logo a,
.elementor-site-title a,
.site-branding .site-title a {
	font-family: var(--gc-font-logo) !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	color: var(--gc-accent) !important;
	letter-spacing: 0.05em;
	font-size: 1.3rem;
	text-decoration: none;
}

/* Navigation */
#site-navigation a,
.elementor-nav-menu a,
.main-navigation a {
	font-family: var(--gc-font-display) !important;
	font-weight: 600 !important;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--gc-text) !important;
	transition: var(--gc-transition);
}

#site-navigation a:hover,
.elementor-nav-menu a:hover,
.main-navigation a:hover {
	color: var(--gc-accent) !important;
}

/* Active nav item */
#site-navigation .current-menu-item > a,
.elementor-nav-menu .current-menu-item > a {
	color: var(--gc-accent) !important;
}

/* Nav dropdown */
.elementor-nav-menu .sub-menu,
.main-navigation .sub-menu {
	background-color: var(--gc-bg-card) !important;
	border: var(--gc-border);
	border-top: 2px solid var(--gc-accent);
	border-radius: 0 0 var(--gc-radius-md) var(--gc-radius-md);
	box-shadow: var(--gc-shadow-card);
}

.elementor-nav-menu .sub-menu a,
.main-navigation .sub-menu a {
	color: var(--gc-text-muted) !important;
}

.elementor-nav-menu .sub-menu a:hover,
.main-navigation .sub-menu a:hover {
	color: var(--gc-accent) !important;
	background-color: var(--gc-bg-elevated) !important;
}

/* Hamburger menu */
.elementor-menu-toggle {
	color: var(--gc-text) !important;
}

/* =============================================================================
   SITE FOOTER
   ============================================================================= */

#site-footer,
.site-footer,
footer.elementor-location-footer {
	background-color: var(--gc-bg-card) !important;
	border-top: var(--gc-border);
	color: var(--gc-text-muted) !important;
}

.site-footer a { color: var(--gc-text-muted); }
.site-footer a:hover { color: var(--gc-accent); }

/* =============================================================================
   BUTTONS
   ============================================================================= */

/* Elementor buttons */
.elementor-button,
.elementor-button-wrapper .elementor-button {
	font-family: var(--gc-font-display) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	border-radius: var(--gc-radius-sm) !important;
	transition: var(--gc-transition) !important;
}

/* Primary button */
.elementor-button.elementor-button-primary,
.elementor-widget-button .elementor-button {
	background: var(--gc-accent) !important;
	color: var(--gc-bg-base) !important;
	border: none !important;
}
.elementor-button.elementor-button-primary:hover,
.elementor-widget-button .elementor-button:hover {
	background: var(--gc-accent-2) !important;
	color: var(--gc-text) !important;
	box-shadow: var(--gc-shadow-neon-2) !important;
	transform: translateY(-2px);
}

/* WP default buttons */
.wp-block-button__link,
button,
input[type="submit"],
input[type="button"],
.button {
	font-family: var(--gc-font-display) !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	background-color: var(--gc-accent);
	color: var(--gc-bg-base);
	border: none;
	border-radius: var(--gc-radius-sm);
	padding: 0.75rem 1.75rem;
	cursor: pointer;
	transition: var(--gc-transition);
}

button:hover,
input[type="submit"]:hover,
.button:hover,
.wp-block-button__link:hover {
	background-color: var(--gc-accent-2);
	color: var(--gc-text);
	transform: translateY(-2px);
}

/* Neon outline button style */
.gc-btn-neon,
.elementor-button.gc-neon {
	background: transparent !important;
	border: 2px solid var(--gc-accent) !important;
	color: var(--gc-accent) !important;
	box-shadow: 0 0 10px rgba(0, 229, 255, 0.3), inset 0 0 10px rgba(0, 229, 255, 0.05);
}
.gc-btn-neon:hover,
.elementor-button.gc-neon:hover {
	background: rgba(0, 229, 255, 0.12) !important;
	box-shadow: var(--gc-shadow-neon) !important;
}

/* =============================================================================
   FORMS
   ============================================================================= */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select,
.elementor-field-group input,
.elementor-field-group textarea,
.elementor-field-group select {
	background-color: var(--gc-bg-card) !important;
	border: var(--gc-border) !important;
	border-radius: var(--gc-radius-sm) !important;
	color: var(--gc-text) !important;
	font-family: var(--gc-font-body) !important;
	padding: 0.75rem 1rem !important;
	transition: border-color 0.2s ease !important;
	width: 100%;
}

input:focus,
textarea:focus,
select:focus,
.elementor-field-group input:focus,
.elementor-field-group textarea:focus {
	outline: none !important;
	border-color: var(--gc-accent) !important;
	box-shadow: 0 0 0 3px rgba(0, 229, 255, 0.12) !important;
}

input::placeholder,
textarea::placeholder {
	color: var(--gc-text-faint) !important;
}

/* =============================================================================
   CARDS & SECTIONS
   ============================================================================= */

/* Generic dark card */
.gc-card {
	background: var(--gc-bg-card);
	border: var(--gc-border);
	border-radius: var(--gc-radius-lg);
	overflow: hidden;
	transition: var(--gc-transition);
	box-shadow: var(--gc-shadow-card);
}
.gc-card:hover {
	transform: translateY(-5px);
	border-color: rgba(0, 229, 255, 0.3);
	box-shadow: var(--gc-shadow-neon);
}

/* Glass card */
.gc-glass {
	background: rgba(255, 255, 255, 0.04);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--gc-radius-lg);
}

/* Accent-bordered card */
.gc-card-accent {
	border-top: 3px solid var(--gc-accent);
}

/* Section backgrounds */
.gc-section-dark    { background-color: var(--gc-bg-base)     !important; }
.gc-section-card    { background-color: var(--gc-bg-card)     !important; }
.gc-section-elevated { background-color: var(--gc-bg-elevated) !important; }

/* Gradient section overlay */
.gc-section-gradient {
	background: linear-gradient(135deg,
		rgba(0, 229, 255, 0.08) 0%,
		rgba(124, 58, 237, 0.08) 100%) !important;
}

/* =============================================================================
   ELEMENTOR WIDGET OVERRIDES
   ============================================================================= */

/* Section backgrounds */
.elementor-section,
.elementor-top-section {
	background-color: var(--gc-bg-base);
}

/* Inner section / container */
.elementor-inner-section {
	background-color: transparent;
}

/* Heading widget */
.elementor-widget-heading .elementor-heading-title {
	color: var(--gc-text);
}

/* Text editor widget */
.elementor-widget-text-editor,
.elementor-widget-text-editor p {
	color: var(--gc-text-muted);
	line-height: 1.7;
}

/* Icon widget */
.elementor-widget-icon .elementor-icon {
	color: var(--gc-accent);
	transition: var(--gc-transition);
}
.elementor-widget-icon .elementor-icon:hover {
	color: var(--gc-accent-2);
}

/* Icon box */
.elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon {
	color: var(--gc-accent);
}
.elementor-widget-icon-box .elementor-icon-box-title {
	color: var(--gc-text);
	font-family: var(--gc-font-display);
	text-transform: uppercase;
}
.elementor-widget-icon-box .elementor-icon-box-description {
	color: var(--gc-text-muted);
}

/* Image widget */
.elementor-widget-image img {
	border-radius: var(--gc-radius-md);
}

/* Divider widget */
.elementor-widget-divider .elementor-divider-separator {
	border-color: var(--gc-bg-elevated);
}

/* Progress bar */
.elementor-progress-bar {
	background-color: var(--gc-accent) !important;
}
.elementor-progress-wrapper {
	background-color: var(--gc-bg-elevated) !important;
}

/* Testimonial widget */
.elementor-testimonial-content {
	color: var(--gc-text-muted);
	font-style: italic;
}
.elementor-testimonial-name {
	color: var(--gc-accent);
	font-family: var(--gc-font-display);
	text-transform: uppercase;
}

/* Counter widget */
.elementor-counter-number-wrapper {
	color: var(--gc-accent);
	font-family: var(--gc-font-display) !important;
	font-weight: 700 !important;
}
.elementor-counter-title {
	color: var(--gc-text-muted);
	text-transform: uppercase;
	font-size: 0.8rem;
	letter-spacing: 0.1em;
}

/* Alert widget */
.elementor-alert {
	background-color: var(--gc-bg-card);
	border-color: var(--gc-accent);
}
.elementor-alert-title { color: var(--gc-accent); }

/* Accordion / Toggle */
.elementor-accordion .elementor-tab-title,
.elementor-toggle .elementor-tab-title {
	background-color: var(--gc-bg-card) !important;
	color: var(--gc-text) !important;
	border: var(--gc-border) !important;
	font-family: var(--gc-font-display);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.elementor-accordion .elementor-tab-title.elementor-active,
.elementor-toggle .elementor-tab-title.elementor-active {
	color: var(--gc-accent) !important;
	border-color: var(--gc-accent) !important;
}
.elementor-accordion .elementor-tab-content,
.elementor-toggle .elementor-tab-content {
	background-color: var(--gc-bg-elevated) !important;
	color: var(--gc-text-muted) !important;
	border: var(--gc-border) !important;
	border-top: none !important;
}

/* Tabs widget */
.elementor-tabs .elementor-tab-title {
	font-family: var(--gc-font-display);
	text-transform: uppercase;
	color: var(--gc-text-muted);
	border-bottom: 2px solid transparent;
	transition: var(--gc-transition);
}
.elementor-tabs .elementor-tab-title.elementor-active {
	color: var(--gc-accent);
	border-bottom-color: var(--gc-accent);
}
.elementor-tabs-content-wrapper {
	background-color: var(--gc-bg-card);
	border: var(--gc-border);
	border-top: none;
	color: var(--gc-text-muted);
}

/* =============================================================================
   POSTS & BLOG
   ============================================================================= */

.post,
article.type-post {
	background-color: var(--gc-bg-card);
	border: var(--gc-border);
	border-radius: var(--gc-radius-lg);
	overflow: hidden;
	transition: var(--gc-transition);
	margin-bottom: 2rem;
}
article.type-post:hover {
	transform: translateY(-4px);
	border-color: rgba(0, 229, 255, 0.3);
	box-shadow: var(--gc-shadow-neon);
}

/* Post thumbnail */
.post-thumbnail img,
.wp-post-image {
	border-radius: var(--gc-radius-md) var(--gc-radius-md) 0 0;
	width: 100%;
	height: auto;
	display: block;
	transition: var(--gc-transition-slow);
}
.post:hover .wp-post-image { transform: scale(1.03); }

/* Post title */
.entry-title,
.entry-title a {
	font-family: var(--gc-font-display) !important;
	color: var(--gc-text) !important;
	text-transform: uppercase;
}
.entry-title a:hover { color: var(--gc-accent) !important; }

/* Post meta */
.entry-meta,
.entry-footer,
.posted-on,
.byline {
	color: var(--gc-text-faint);
	font-size: 0.8rem;
}
.entry-meta a,
.entry-footer a { color: var(--gc-text-muted); }
.entry-meta a:hover,
.entry-footer a:hover { color: var(--gc-accent); }

/* Post content */
.entry-content { color: var(--gc-text-muted); }
.entry-content a { color: var(--gc-accent); }

/* Category / tag badges */
.cat-links a,
.tags-links a {
	background-color: var(--gc-bg-elevated);
	border: var(--gc-border);
	color: var(--gc-accent);
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	padding: 0.2em 0.75em;
	border-radius: var(--gc-radius-full);
	display: inline-block;
	transition: var(--gc-transition);
}
.cat-links a:hover,
.tags-links a:hover {
	background-color: var(--gc-accent);
	color: var(--gc-bg-base);
	border-color: var(--gc-accent);
}

/* =============================================================================
   PAGINATION
   ============================================================================= */

.page-numbers,
.nav-links a,
.nav-links span {
	background: var(--gc-bg-card);
	border: var(--gc-border);
	color: var(--gc-text);
	padding: 0.5rem 1rem;
	border-radius: var(--gc-radius-sm);
	font-family: var(--gc-font-display);
	font-weight: 600;
	font-size: 0.875rem;
	transition: var(--gc-transition);
	display: inline-block;
	margin: 0 0.2rem;
}
.page-numbers:hover,
.nav-links a:hover {
	border-color: var(--gc-accent);
	color: var(--gc-accent);
}
.page-numbers.current {
	background: var(--gc-accent);
	color: var(--gc-bg-base);
	border-color: var(--gc-accent);
}

/* =============================================================================
   COMMENTS
   ============================================================================= */

#comments { border-top: var(--gc-border); padding-top: 2.5rem; margin-top: 2.5rem; }

.comments-title,
.comment-reply-title {
	font-family: var(--gc-font-display);
	text-transform: uppercase;
	color: var(--gc-text);
	font-size: 1.5rem;
}

.comment-body {
	background-color: var(--gc-bg-card);
	border: var(--gc-border);
	border-radius: var(--gc-radius-md);
	padding: 1.25rem;
	margin-bottom: 1rem;
}

.comment-author .fn { color: var(--gc-accent); font-weight: 600; }
.comment-metadata { color: var(--gc-text-faint); font-size: 0.8rem; }
.comment-content { color: var(--gc-text-muted); }

.comment-reply-link {
	color: var(--gc-accent);
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

/* Comment form */
#respond { background-color: var(--gc-bg-card); border: var(--gc-border); border-radius: var(--gc-radius-lg); padding: 2rem; margin-top: 2rem; }
#respond label { color: var(--gc-text-muted); font-size: 0.875rem; display: block; margin-bottom: 0.4rem; }

/* =============================================================================
   SCROLLBAR
   ============================================================================= */

::-webkit-scrollbar            { width: 6px; height: 6px; }
::-webkit-scrollbar-track      { background: var(--gc-bg-card); }
::-webkit-scrollbar-thumb      { background: var(--gc-bg-elevated); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--gc-accent); }

/* =============================================================================
   SELECTION
   ============================================================================= */

::selection         { background: var(--gc-accent); color: var(--gc-bg-base); }
::-moz-selection    { background: var(--gc-accent); color: var(--gc-bg-base); }

/* =============================================================================
   UTILITY CLASSES (use in Elementor CSS classes field)
   ============================================================================= */

.gc-neon-text {
	color: var(--gc-accent);
	text-shadow: 0 0 10px rgba(0, 229, 255, 0.6);
}
.gc-gradient-text {
	background: var(--gc-gradient-accent);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
.gc-badge {
	display: inline-block;
	font-family: var(--gc-font-display);
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--gc-accent);
	border: 1px solid rgba(0, 229, 255, 0.3);
	background: rgba(0, 229, 255, 0.08);
	padding: 0.25em 0.8em;
	border-radius: var(--gc-radius-full);
}
.gc-badge-danger   { color: var(--gc-accent-danger);  border-color: rgba(255, 77, 109, 0.3); background: rgba(255, 77, 109, 0.08); }
.gc-badge-gold     { color: var(--gc-accent-gold);    border-color: rgba(255, 215, 0, 0.3);  background: rgba(255, 215, 0, 0.08);  }
.gc-badge-green    { color: var(--gc-accent-green);   border-color: rgba(34, 197, 94, 0.3);  background: rgba(34, 197, 94, 0.08);  }
.gc-live-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	color: var(--gc-accent-danger);
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
}
.gc-live-badge::before {
	content: '';
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--gc-accent-danger);
	animation: gc-pulse 1.2s ease infinite;
}
@keyframes gc-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50%       { opacity: 0.4; transform: scale(0.8); }
}

.gc-divider-accent {
	border: none;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--gc-accent), transparent);
	margin: 2rem 0;
}

/* =============================================================================
   RESPONSIVE
   ============================================================================= */

@media (max-width: 1024px) {
	h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
	h2 { font-size: clamp(1.5rem, 3.5vw, 2.5rem); }
}

@media (max-width: 768px) {
	#site-header,
	.site-header { padding: 0.75rem 1rem; }

	.gc-card:hover { transform: none; }
}

/* =============================================================================
   CUSTOM HEADER (header.php)
   ============================================================================= */

.gc-header {
	display: block;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	background-color: var(--gc-bg-header) !important;
	border-bottom: 1px solid rgba(255,255,255,.06);
	position: sticky;
	top: 0;
	z-index: 999;
}

.gc-header-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: .85rem 1.5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
}

/* Logo */
.gc-logo-wrap { display: flex; flex-direction: column; gap: .15rem; flex-shrink: 0; }
.gc-site-title {
	font-family: var(--gc-font-logo) !important;
	font-weight: 700 !important;
	font-size: 1.25rem;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--gc-accent) !important;
	text-decoration: none;
}
.gc-site-tagline { font-size: .72rem; color: var(--gc-text-muted); }

/* Desktop nav */
.gc-nav-desktop { display: flex; align-items: center; flex: 1; justify-content: center; }
.gc-nav-list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2rem; }
.gc-nav-link {
	font-family: var(--gc-font-display);
	font-weight: 600;
	font-size: .82rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--gc-text) !important;
	transition: color .2s;
	padding: .25rem 0;
	border-bottom: 2px solid transparent;
}
.gc-nav-link:hover,
.gc-nav-active { color: var(--gc-accent) !important; border-bottom-color: var(--gc-accent); }

/* Header right */
.gc-header-right { display: flex; align-items: center; gap: .75rem; flex-shrink: 0; }

/* Header CTA */
.gc-header-cta {
	font-family: var(--gc-font-display);
	font-weight: 700;
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	padding: .55rem 1.25rem;
	background: var(--gc-accent);
	color: var(--gc-bg-base) !important;
	border-radius: var(--gc-radius-sm);
	transition: var(--gc-transition);
	white-space: nowrap;
}
.gc-header-cta:hover { background: var(--gc-accent-2); color: #fff !important; }

/* Hamburger */
.gc-hamburger {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: .4rem;
	border-radius: 4px;
}
.gc-hamburger-bar {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--gc-text);
	border-radius: 2px;
	transition: all .3s ease;
}
.gc-hamburger.gc-open .gc-hamburger-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.gc-hamburger.gc-open .gc-hamburger-bar:nth-child(2) { opacity: 0; }
.gc-hamburger.gc-open .gc-hamburger-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile menu */
.gc-mobile-menu {
	display: none;
	flex-direction: column;
	background: var(--gc-bg-card);
	border-top: var(--gc-border);
	padding: 1.25rem 1.5rem;
	gap: .25rem;
}
.gc-mobile-menu.gc-open { display: flex; }
.gc-mobile-nav-list { list-style: none; margin: 0; padding: 0; }
.gc-mobile-nav-list li { border-bottom: 1px solid var(--gc-bg-elevated); }
.gc-mobile-nav-list a {
	display: block;
	padding: .85rem 0;
	font-family: var(--gc-font-display);
	font-weight: 600;
	font-size: .88rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--gc-text);
	transition: color .2s;
}
.gc-mobile-nav-list a:hover { color: var(--gc-accent); }
.gc-mobile-cta { margin-top: 1rem; display: inline-block; text-align: center; }

/* =============================================================================
   CUSTOM FOOTER (footer.php)
   ============================================================================= */

.gc-footer { background: var(--gc-bg-card); border-top: var(--gc-border); }
.gc-footer-inner { max-width: 1200px; margin: 0 auto; padding: 4rem 1.5rem 2rem; }

.gc-footer-cols {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 3rem;
	margin-bottom: 2.5rem;
}
.gc-footer-single { grid-template-columns: 1fr; }

.gc-footer-logo { font-size: 1.15rem; }
.gc-footer-desc { color: var(--gc-text-muted); font-size: .875rem; line-height: 1.65; margin-top: .75rem; }
.gc-footer-col-heading {
	font-family: var(--gc-font-display);
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .18em;
	color: var(--gc-accent);
	margin-bottom: 1rem;
	font-weight: 700;
}
.gc-footer-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .5rem; }
.gc-footer-links a { color: var(--gc-text-muted); font-size: .875rem; transition: color .2s; }
.gc-footer-links a:hover { color: var(--gc-accent); }

/* Social icons */
.gc-social-links { display: flex; gap: .6rem; flex-wrap: wrap; margin-top: 1.25rem; }
.gc-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: var(--gc-bg-elevated);
	border: var(--gc-border);
	border-radius: 50%;
	color: var(--gc-text-muted);
	transition: var(--gc-transition);
}
.gc-social-link:hover { background: var(--gc-accent); border-color: var(--gc-accent); color: var(--gc-bg-base); transform: translateY(-2px); }

.gc-footer-divider { border: none; height: 1px; background: var(--gc-bg-elevated); margin-bottom: 1.5rem; }
.gc-footer-bottom { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: .75rem; }
.gc-footer-copy { color: var(--gc-text-muted); font-size: .78rem; }
.gc-footer-disclaimer { color: var(--gc-text-faint); font-size: .72rem; max-width: 480px; text-align: right; line-height: 1.5; }

/* =============================================================================
   HOMEPAGE SECTIONS (front-page.php)
   ============================================================================= */

.gc-main { display: block; }

/* Shared section base */
.gc-section { padding: 5rem 1.5rem; }
.gc-container { max-width: 1160px; margin: 0 auto; }
.gc-full-width { width: 100%; padding: 0 1.5rem; }

.gc-section-label {
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .3em;
	color: var(--gc-accent);
	margin-bottom: .75rem;
	display: block;
}
.gc-section-title {
	font-family: var(--gc-font-display);
	font-size: clamp(1.8rem, 4vw, 3rem);
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 1rem;
	line-height: 1.1;
}

/* Hero */
.gc-hero {
	min-height: 92vh;
	background: linear-gradient(180deg, var(--gc-bg-base) 0%, var(--gc-bg-elevated) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 5rem 1.5rem;
	position: relative;
	overflow: hidden;
}
.gc-hero-bg-glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 70% 55% at 50% 40%, rgba(0,229,255,.07) 0%, transparent 70%);
	pointer-events: none;
}
.gc-hero-content { position: relative; max-width: 760px; margin: 0 auto; }
.gc-hero-eyebrow { font-size: .72rem; text-transform: uppercase; letter-spacing: .35em; color: var(--gc-accent); margin-bottom: 1.5rem; }
.gc-hero-title {
	font-family: var(--gc-font-display);
	font-size: clamp(2.8rem, 8vw, 5.5rem);
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1;
	letter-spacing: -.02em;
	margin-bottom: 1.5rem;
}
.gc-hero-sub { color: var(--gc-text-muted); font-size: 1.1rem; max-width: 580px; margin: 0 auto 2.5rem; }

/* Buttons */
.gc-btn-group { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.gc-btn {
	display: inline-block;
	font-family: var(--gc-font-display);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	padding: .85rem 2rem;
	border-radius: var(--gc-radius-sm);
	font-size: .88rem;
	transition: var(--gc-transition);
	cursor: pointer;
	white-space: nowrap;
}
.gc-btn-primary { background: var(--gc-accent); color: var(--gc-bg-base); border: 2px solid var(--gc-accent); }
.gc-btn-primary:hover { background: var(--gc-accent-2); border-color: var(--gc-accent-2); color: #fff; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(124,58,237,.4); }
.gc-btn-outline { background: transparent; border: 2px solid rgba(255,255,255,.4); color: #fff; }
.gc-btn-outline:hover { border-color: var(--gc-accent); color: var(--gc-accent); }
.gc-btn-lg { padding: 1rem 2.75rem; font-size: .95rem; }

/* Promo strip */
.gc-strip { background: var(--gc-accent-2); padding: 1.75rem 1.5rem; }
.gc-strip-inner { max-width: 1160px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; text-align: center; }
.gc-strip-num { font-family: var(--gc-font-display); font-size: 2.2rem; font-weight: 700; color: #fff; line-height: 1; }
.gc-strip-num.gc-gold { color: var(--gc-accent-gold); }
.gc-strip-lbl { font-size: .7rem; text-transform: uppercase; letter-spacing: .12em; color: rgba(255,255,255,.8); margin-top: .25rem; }

/* Features */
.gc-features-section { background: var(--gc-bg-card); }
.gc-features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 2.5rem; }
.gc-feature-card { padding: 2rem; border-top: 3px solid var(--gc-accent); }
.gc-feature-icon { font-size: 2.25rem; margin-bottom: 1rem; }
.gc-feature-title { font-family: var(--gc-font-display); font-size: 1.25rem; text-transform: uppercase; color: var(--gc-accent); margin-bottom: .6rem; }
.gc-feature-text { color: var(--gc-text-muted); font-size: .9rem; line-height: 1.65; }

/* Blog */
.gc-blog-section { background: var(--gc-bg-base); }
.gc-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 2.5rem; }
.gc-blog-card { overflow: hidden; }
.gc-blog-thumb { width: 100%; height: 180px; object-fit: cover; display: block; transition: transform .4s ease; }
.gc-blog-card:hover .gc-blog-thumb { transform: scale(1.04); }
.gc-blog-thumb-link { display: block; overflow: hidden; }
.gc-blog-thumb-placeholder { height: 130px; background: var(--gc-bg-elevated); display: flex; align-items: center; justify-content: center; font-size: 2.5rem; opacity: .45; }
.gc-blog-body { padding: 1.25rem; }
.gc-blog-cat { font-size: .68rem; text-transform: uppercase; letter-spacing: .15em; color: var(--gc-accent); margin-bottom: .4rem; }
.gc-blog-cat a { color: inherit; }
.gc-blog-title { font-family: var(--gc-font-display); font-size: 1.05rem; text-transform: uppercase; margin-bottom: .5rem; }
.gc-blog-title a { color: var(--gc-text); }
.gc-blog-title a:hover { color: var(--gc-accent); }
.gc-blog-excerpt { color: var(--gc-text-muted); font-size: .85rem; margin-bottom: .75rem; }
.gc-blog-date { font-size: .75rem; color: var(--gc-text-faint); }

/* CTA Section */
.gc-cta-section {
	background: linear-gradient(135deg, rgba(0,229,255,.06), rgba(124,58,237,.06));
	border-top: 1px solid rgba(0,229,255,.12);
	border-bottom: 1px solid rgba(0,229,255,.12);
}
.gc-cta-inner { text-align: center; }
.gc-cta-sub { color: var(--gc-text-muted); font-size: 1.05rem; max-width: 580px; margin: 1rem auto 2.5rem; }
.gc-cta-disclaimer { font-size: .75rem; color: var(--gc-text-faint); margin-top: 1.5rem; }

/* Custom blocks */
.gc-custom-block { padding: 5rem 1.5rem; }
.gc-custom-content { color: var(--gc-text-muted); line-height: 1.75; }
.gc-custom-content h1,.gc-custom-content h2,.gc-custom-content h3,
.gc-custom-content h4,.gc-custom-content h5,.gc-custom-content h6 { color: var(--gc-text); margin-bottom: .75rem; }
.gc-custom-content p { margin-bottom: 1rem; }
.gc-custom-content a { color: var(--gc-accent); }
.gc-custom-content a:hover { color: var(--gc-accent-2); }
.gc-custom-content img { max-width: 100%; height: auto; border-radius: var(--gc-radius-md); }
.gc-custom-content ul,.gc-custom-content ol { color: var(--gc-text-muted); padding-left: 1.5rem; margin-bottom: 1rem; }
.gc-custom-content li { margin-bottom: .4rem; }
.gc-custom-content table { width: 100%; border-collapse: collapse; }
.gc-custom-content th,.gc-custom-content td { padding: .75rem 1rem; border: var(--gc-border); text-align: left; }
.gc-custom-content th { background: var(--gc-bg-elevated); color: var(--gc-accent); font-family: var(--gc-font-display); text-transform: uppercase; font-size: .82rem; letter-spacing: .08em; }
.gc-custom-content iframe { max-width: 100%; border-radius: var(--gc-radius-md); }
.gc-custom-content blockquote { border-left: 4px solid var(--gc-accent); padding-left: 1.25rem; margin: 1.5rem 0; color: var(--gc-text-muted); font-style: italic; }

/* =============================================================================
   MOBILE — RESPONSIVE BREAKPOINTS
   ============================================================================= */

/* ── Large tablet: 1024px ─────────────────────────────────────────────────── */
@media (max-width: 1024px) {
	.gc-features-grid { grid-template-columns: repeat(2, 1fr); }
	.gc-blog-grid     { grid-template-columns: repeat(2, 1fr); }
	.gc-footer-cols   { grid-template-columns: 1fr 1fr; gap: 2rem; }
	.gc-footer-brand  { grid-column: 1 / -1; }
}

/* ── Tablet: 900px ────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
	.gc-strip-inner { grid-template-columns: repeat(2, 1fr); gap: .75rem; }
	.gc-nav-desktop { display: none; }
	.gc-hamburger   { display: flex; }
	.gc-hero-title  { font-size: clamp(2.2rem, 7vw, 4rem); }
}

/* ── Mobile: 640px ────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
	.gc-section      { padding: 3.5rem 1rem; }
	.gc-custom-block { padding: 3rem 1rem; }

	.gc-hero         { padding: 4rem 1rem; min-height: 80vh; }
	.gc-hero-title   { font-size: clamp(2rem, 9vw, 3rem); }
	.gc-hero-sub     { font-size: 1rem; }
	.gc-btn          { padding: .75rem 1.5rem; font-size: .82rem; }
	.gc-btn-lg       { padding: .85rem 2rem; }

	.gc-strip-inner        { grid-template-columns: repeat(2, 1fr); }
	.gc-strip-num          { font-size: 1.75rem; }

	.gc-features-grid { grid-template-columns: 1fr; }
	.gc-blog-grid     { grid-template-columns: 1fr; }

	.gc-footer-cols   { grid-template-columns: 1fr; gap: 2rem; }
	.gc-footer-brand  { grid-column: auto; }
	.gc-footer-bottom { flex-direction: column; gap: .5rem; }
	.gc-footer-disclaimer { text-align: left; }

	.gc-header-inner  { padding: .75rem 1rem; gap: 1rem; }
	.gc-header-cta    { padding: .45rem .9rem; font-size: .75rem; }
	.gc-section-title { font-size: clamp(1.5rem, 6vw, 2.2rem); }

	.gc-btn-group     { flex-direction: column; align-items: center; }
}

/* ── Small mobile: 400px ──────────────────────────────────────────────────── */
@media (max-width: 400px) {
	.gc-strip-inner    { grid-template-columns: 1fr 1fr; }
	.gc-hero           { min-height: 75vh; }
	.gc-logo-wrap .gc-site-title { font-size: 1rem; }
}

/* =============================================================================
   BLOCK BUILDER — FRONTEND SECTION STYLES
   ============================================================================= */

.gc-builder-section { width: 100%; }

.gc-builder-inner {
	max-width: 1160px;
	margin: 0 auto;
}

.gc-builder-cols {
	display: grid;
	gap: var(--gc-col-gap, 24px);
}

/* Column count grids */
.gc-builder-cols-1 { grid-template-columns: 1fr; }
.gc-builder-cols-2 { grid-template-columns: repeat(2, 1fr); }
.gc-builder-cols-3 { grid-template-columns: repeat(3, 1fr); }
.gc-builder-cols-4 { grid-template-columns: repeat(4, 1fr); }

.gc-builder-col { box-sizing: border-box; }
.gc-builder-col img { max-width: 100%; height: auto; display: block; }
.gc-builder-col iframe { max-width: 100%; }

/* Content inside builder columns inherits all gc-custom-content styles */
.gc-builder-col .gc-custom-content { color: inherit; }
.gc-builder-col .gc-custom-content h1,
.gc-builder-col .gc-custom-content h2,
.gc-builder-col .gc-custom-content h3,
.gc-builder-col .gc-custom-content h4 { color: inherit; }

/* ── Responsive: stack columns on tablet ── */
@media (max-width: 900px) {
	.gc-builder-cols-3,
	.gc-builder-cols-4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	.gc-builder-cols-2,
	.gc-builder-cols-3,
	.gc-builder-cols-4 { grid-template-columns: 1fr; }

	.gc-builder-section { padding-left: 1rem !important; padding-right: 1rem !important; }
}

/* =============================================================================
   BANNER CAROUSEL / SLIDER
   ============================================================================= */

.gc-carousel {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: var(--gc-bg-base);
	/* height set via inline style from PHP */
}

/* ── Track (slide mode) ── */
.gc-carousel-slide { display: flex; }
.gc-carousel-track {
	display: flex;
	height: 100%;
	will-change: transform;
}

/* Slide: slide transition */
.gc-carousel-slide .gc-carousel-track { transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1); }

/* ── Individual slide ── */
.gc-carousel-slide {
	position: relative;
	min-width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	overflow: hidden;
	flex-shrink: 0;
}

/* Fade transition overrides */
.gc-carousel-fade .gc-carousel-track { display: block; position: relative; height: 100%; }
.gc-carousel-fade .gc-carousel-slide {
	position: absolute;
	inset: 0;
	min-width: unset;
	opacity: 0;
	transition: opacity 0.65s ease;
	z-index: 1;
}
.gc-carousel-fade .gc-carousel-slide.gc-slide-active {
	opacity: 1;
	z-index: 2;
}

/* ── Overlay ── */
.gc-slide-overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
}

/* ── Full-slide link ── */
.gc-slide-full-link {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: block;
}

/* ── Slide content ── */
.gc-slide-content {
	position: absolute;
	inset: 0;
	z-index: 4;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 2rem 1.5rem;
	pointer-events: none;
}
.gc-slide-content > * { pointer-events: auto; }

.gc-slide-title {
	font-family: var(--gc-font-display) !important;
	font-size: clamp(1.8rem, 5vw, 3.5rem);
	font-weight: 700 !important;
	text-transform: uppercase;
	color: #ffffff !important;
	text-shadow: 0 2px 20px rgba(0,0,0,0.6);
	margin: 0 0 .75rem;
	line-height: 1.1;
	max-width: 800px;
}

.gc-slide-subtitle {
	font-size: clamp(1rem, 2.5vw, 1.3rem);
	color: rgba(255,255,255,.9);
	text-shadow: 0 1px 8px rgba(0,0,0,0.5);
	margin: 0 0 2rem;
	max-width: 600px;
	line-height: 1.5;
}

.gc-slide-btn {
	position: relative;
	z-index: 5;
	pointer-events: auto;
	box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

/* ── Navigation arrows ── */
.gc-carousel-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	background: rgba(13,15,26,.65);
	border: 1px solid rgba(255,255,255,.15);
	color: #ffffff;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: var(--gc-transition);
	backdrop-filter: blur(6px);
}
.gc-carousel-arrow:hover {
	background: var(--gc-accent);
	border-color: var(--gc-accent);
	color: var(--gc-bg-base);
	box-shadow: var(--gc-shadow-neon);
}
.gc-carousel-prev { left: 1.25rem; }
.gc-carousel-next { right: 1.25rem; }

/* ── Dots ── */
.gc-carousel-dots {
	position: absolute;
	bottom: 1.25rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	display: flex;
	gap: .5rem;
	align-items: center;
}
.gc-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(255,255,255,.4);
	border: 2px solid transparent;
	cursor: pointer;
	transition: var(--gc-transition);
	padding: 0;
}
.gc-dot:hover { background: rgba(255,255,255,.7); }
.gc-dot-active {
	background: var(--gc-accent);
	border-color: var(--gc-accent);
	width: 28px;
	border-radius: 5px;
	box-shadow: 0 0 8px rgba(0,229,255,.6);
}

/* ── Counter ── */
.gc-carousel-counter {
	position: absolute;
	top: 1rem;
	right: 1.25rem;
	z-index: 10;
	background: rgba(0,0,0,.4);
	backdrop-filter: blur(4px);
	color: rgba(255,255,255,.8);
	font-size: .72rem;
	font-family: var(--gc-font-display);
	font-weight: 700;
	letter-spacing: .1em;
	padding: .3rem .7rem;
	border-radius: var(--gc-radius-full);
	border: 1px solid rgba(255,255,255,.1);
}

/* ── Pause indicator ── */
.gc-carousel.gc-paused::after {
	content: '⏸';
	position: absolute;
	top: 1rem;
	left: 1.25rem;
	z-index: 10;
	font-size: .9rem;
	color: rgba(255,255,255,.5);
}

/* ── Progress bar ── */
.gc-carousel-progress {
	position: absolute;
	bottom: 0;
	left: 0;
	height: 3px;
	background: var(--gc-accent);
	z-index: 10;
	transition: none;
	box-shadow: 0 0 8px var(--gc-accent);
}

/* ── Mobile ── */
@media (max-width: 768px) {
	.gc-carousel-arrow { width: 38px; height: 38px; }
	.gc-carousel-arrow svg { width: 18px; height: 18px; }
	.gc-carousel-prev { left: .6rem; }
	.gc-carousel-next { right: .6rem; }
	.gc-slide-title { font-size: clamp(1.3rem, 6vw, 2.2rem); }
	.gc-slide-subtitle { font-size: .95rem; margin-bottom: 1.25rem; }
	.gc-carousel-counter { display: none; }
}

@media (max-width: 480px) {
	.gc-carousel { height: 260px !important; }
	.gc-dot { width: 8px; height: 8px; }
	.gc-dot-active { width: 20px; }
}

/* =============================================================================
   ████████╗ MOBILE RESPONSIVE — FULL OVERHAUL
   All breakpoints: 1024 → 900 → 768 → 640 → 480 → 380px
   ============================================================================= */

/* ── Global: prevent horizontal scroll ─────────────────────────────────────── */
html, body {
	overflow-x: hidden;
	max-width: 100%;
}
*, *::before, *::after {
	max-width: 100%;
}
img, video, iframe, embed, object {
	max-width: 100%;
	height: auto;
}

/* ─────────────────────────────────────────────────────────────────────────────
   BREAKPOINT: 1024px — Large Tablet
   ───────────────────────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {

	/* Layout */
	.gc-container { padding-left: 1.25rem; padding-right: 1.25rem; }

	/* Features: 2 columns */
	.gc-features-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }

	/* Blog: 2 columns */
	.gc-blog-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }

	/* Footer: brand + 2 cols side by side */
	.gc-footer-cols { grid-template-columns: 1fr 1fr; gap: 2rem; }
	.gc-footer-brand { grid-column: 1 / -1; }

	/* Block builder */
	.gc-builder-cols-3,
	.gc-builder-cols-4 { grid-template-columns: repeat(2, 1fr); }

	/* Carousel */
	.gc-carousel { max-height: 420px; }
}

/* ─────────────────────────────────────────────────────────────────────────────
   BREAKPOINT: 900px — Tablet / Show Hamburger
   ───────────────────────────────────────────────────────────────────────────── */
@media (max-width: 900px) {

	/* Header: hide desktop nav, show hamburger */
	.gc-nav-desktop { display: none !important; }
	.gc-hamburger   { display: flex !important; }

	/* Header spacing */
	.gc-header-inner { padding: .75rem 1.25rem; gap: .75rem; }

	/* Stats strip: 2×2 grid */
	.gc-strip-inner { grid-template-columns: repeat(2, 1fr); gap: .5rem 1rem; }
	.gc-strip-num   { font-size: 1.9rem; }
	.gc-strip-lbl   { font-size: .65rem; }

	/* Hero title */
	.gc-hero-title  { font-size: clamp(2.2rem, 7vw, 4rem); }

	/* Carousel */
	.gc-carousel { max-height: 380px; }
	.gc-slide-title { font-size: clamp(1.5rem, 5vw, 2.5rem); }
}

/* ─────────────────────────────────────────────────────────────────────────────
   BREAKPOINT: 768px — Mobile Landscape / Tablet Portrait
   ───────────────────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {

	/* ── Header ── */
	.gc-header-inner { padding: .65rem 1rem; }
	.gc-site-title   { font-size: 1rem !important; }
	.gc-header-cta   { padding: .4rem .85rem; font-size: .72rem; white-space: nowrap; }
	/* Hide CTA text on tiny screens — show only in mobile menu */
	.gc-logo-wrap .gc-site-tagline { display: none; }

	/* ── Hero ── */
	.gc-hero         { min-height: 80vh; padding: 3.5rem 1.25rem; }
	.gc-hero-title   { font-size: clamp(2rem, 7.5vw, 3rem); letter-spacing: -.01em; }
	.gc-hero-sub     { font-size: .95rem; margin-bottom: 2rem; }
	.gc-hero-eyebrow { font-size: .65rem; letter-spacing: .25em; }
	.gc-btn-group    { flex-direction: column; align-items: center; gap: .75rem; }
	.gc-btn          { width: 100%; max-width: 280px; text-align: center; padding: .85rem 1.5rem; }
	.gc-btn-lg       { padding: .9rem 1.5rem; }

	/* ── Stats strip ── */
	.gc-strip        { padding: 1.25rem 1rem; }
	.gc-strip-num    { font-size: 1.7rem; }

	/* ── Section headings ── */
	.gc-section-title { font-size: clamp(1.5rem, 5.5vw, 2.2rem); }
	.gc-section       { padding: 3.5rem 1rem; }

	/* ── Features ── */
	.gc-features-section { padding: 3rem 1rem; }
	.gc-features-grid    { grid-template-columns: 1fr; gap: 1rem; margin-top: 2rem; }
	.gc-feature-card     { padding: 1.5rem; }
	.gc-feature-icon     { font-size: 1.75rem; margin-bottom: .75rem; }
	.gc-feature-title    { font-size: 1.1rem; }

	/* ── Blog ── */
	.gc-blog-section { padding: 3rem 1rem; }
	.gc-blog-grid    { grid-template-columns: 1fr; gap: 1.25rem; margin-top: 2rem; }
	.gc-blog-thumb   { height: 200px; }
	.gc-blog-thumb-placeholder { height: 140px; }

	/* ── CTA Section ── */
	.gc-cta-section { padding: 3rem 1rem; }
	.gc-cta-inner   { text-align: center; }
	.gc-cta-sub     { font-size: .95rem; margin-bottom: 2rem; }

	/* ── Custom blocks (old 3-block system) ── */
	.gc-custom-block { padding: 3rem 1rem; }

	/* ── Block builder sections ── */
	.gc-builder-section { padding-left: 1rem !important; padding-right: 1rem !important; }
	.gc-builder-cols-2,
	.gc-builder-cols-3,
	.gc-builder-cols-4 { grid-template-columns: 1fr !important; gap: 1rem !important; }
	.gc-builder-col { width: 100% !important; }

	/* ── Footer ── */
	.gc-footer-inner   { padding: 3rem 1rem 1.5rem; }
	.gc-footer-cols    { grid-template-columns: 1fr; gap: 1.75rem; }
	.gc-footer-brand   { grid-column: auto; }
	.gc-footer-bottom  { flex-direction: column; gap: .5rem; text-align: center; }
	.gc-footer-disclaimer { text-align: center; max-width: 100%; }
	.gc-social-links   { justify-content: flex-start; }

	/* ── Carousel ── */
	.gc-carousel       { height: 300px !important; }
	.gc-carousel-arrow { width: 36px; height: 36px; }
	.gc-carousel-arrow svg { width: 16px; height: 16px; }
	.gc-carousel-prev  { left: .5rem; }
	.gc-carousel-next  { right: .5rem; }
	.gc-slide-title    { font-size: clamp(1.2rem, 5vw, 2rem); margin-bottom: .5rem; }
	.gc-slide-subtitle { font-size: .875rem; margin-bottom: 1.25rem; }
	.gc-slide-btn      { padding: .65rem 1.5rem; font-size: .8rem; }
	.gc-carousel-dots  { bottom: .75rem; gap: .35rem; }
	.gc-dot            { width: 8px; height: 8px; }
	.gc-dot-active     { width: 22px; border-radius: 4px; }
	.gc-carousel-counter { display: none; }
	.gc-carousel-progress { height: 2px; }

	/* ── Mobile menu ── */
	.gc-mobile-menu { padding: 1rem; }
	.gc-mobile-nav-list a { padding: .7rem 0; font-size: .82rem; }
	.gc-mobile-cta { width: 100%; text-align: center; margin-top: .75rem; padding: .7rem 1rem; }

	/* ── Pagination ── */
	.page-numbers, .nav-links a, .nav-links span { padding: .5rem .75rem; font-size: .8rem; }

	/* ── Comments ── */
	#respond { padding: 1.25rem; }
}

/* ─────────────────────────────────────────────────────────────────────────────
   BREAKPOINT: 640px — Mobile Portrait
   ───────────────────────────────────────────────────────────────────────────── */
@media (max-width: 640px) {

	/* ── Hero ── */
	.gc-hero         { min-height: 75vh; padding: 3rem 1rem; }
	.gc-hero-title   { font-size: clamp(1.8rem, 9vw, 2.6rem); }

	/* ── Stats strip ── */
	.gc-strip-inner  { grid-template-columns: repeat(2, 1fr); row-gap: .75rem; }

	/* ── CTA buttons: full width ── */
	.gc-btn-group { width: 100%; }
	.gc-btn       { max-width: 100%; width: 100%; }

	/* ── Section label ── */
	.gc-section-label { font-size: .65rem; letter-spacing: .25em; }

	/* ── Carousel ── */
	.gc-carousel { height: 240px !important; }
	.gc-slide-content { padding: 1rem .75rem; }
	.gc-slide-title   { font-size: clamp(1.1rem, 6vw, 1.6rem); }
	.gc-slide-subtitle { display: none; } /* hide on tiny screens — too cramped */

	/* Only show arrows if there's room — hide on very small carousel */
	.gc-carousel-arrow { display: none; }

	/* ── Block builder ── */
	.gc-builder-inner { padding: 0 .25rem; }

	/* ── Custom content ── */
	.gc-custom-content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.gc-custom-content iframe { aspect-ratio: 16/9; height: auto; }

	/* ── Footer ── */
	.gc-footer-links a { font-size: .82rem; }
	.gc-footer-col-heading { font-size: .68rem; }
	.gc-footer-copy, .gc-footer-disclaimer { font-size: .72rem; }

	/* ── Elementor overrides for mobile ── */
	.elementor-section { padding-left: 1rem !important; padding-right: 1rem !important; }
	.elementor-column-gap-default > .elementor-row { gap: 1rem; }

	/* ── Single post / page ── */
	.entry-title { font-size: clamp(1.5rem, 7vw, 2.2rem); }
	.entry-content { font-size: .95rem; }
}

/* ─────────────────────────────────────────────────────────────────────────────
   BREAKPOINT: 480px — Small Mobile
   ───────────────────────────────────────────────────────────────────────────── */
@media (max-width: 480px) {

	/* ── Header ── */
	.gc-header-inner { padding: .6rem .75rem; }
	.gc-site-title   { font-size: .88rem !important; }
	/* Keep CTA visible on all screen sizes */

	/* ── Hero ── */
	.gc-hero       { min-height: 70vh; padding: 2.5rem .75rem; }
	.gc-hero-title { font-size: clamp(1.65rem, 10vw, 2.2rem); }
	.gc-hero-sub   { font-size: .88rem; }

	/* ── Stats strip: keep 2-col but tighter ── */
	.gc-strip        { padding: 1rem .75rem; }
	.gc-strip-num    { font-size: 1.5rem; }
	.gc-strip-lbl    { font-size: .6rem; letter-spacing: .06em; }
	.gc-strip-inner  { gap: .5rem; }

	/* ── Features ── */
	.gc-feature-card { padding: 1.25rem; }
	.gc-feature-title { font-size: 1rem; }
	.gc-feature-text  { font-size: .85rem; }

	/* ── Blog ── */
	.gc-blog-thumb { height: 170px; }
	.gc-blog-title { font-size: .95rem; }
	.gc-blog-excerpt { font-size: .82rem; }

	/* ── Carousel ── */
	.gc-carousel  { height: 200px !important; }
	.gc-slide-title { font-size: clamp(1rem, 7vw, 1.3rem); }
	.gc-slide-btn { padding: .5rem 1rem; font-size: .75rem; }
	.gc-carousel-dots { bottom: .5rem; }
	.gc-dot        { width: 7px; height: 7px; }
	.gc-dot-active { width: 18px; }

	/* ── Buttons ── */
	.gc-btn { font-size: .82rem; padding: .8rem 1.25rem; }

	/* ── Section spacing ── */
	.gc-section { padding: 2.5rem .75rem; }

	/* ── Footer ── */
	.gc-footer-inner { padding: 2.5rem .75rem 1.25rem; }
	.gc-social-link  { width: 32px; height: 32px; }
	.gc-social-links { gap: .4rem; }

	/* ── gc-card hover: disable on mobile (touch devices) ── */
	.gc-card:hover   { transform: none; box-shadow: var(--gc-shadow-card); }
}

/* ─────────────────────────────────────────────────────────────────────────────
   BREAKPOINT: 380px — Extra Small (iPhone SE, older Android)
   ───────────────────────────────────────────────────────────────────────────── */
@media (max-width: 380px) {

	.gc-site-title   { font-size: .82rem !important; letter-spacing: .02em; }
	.gc-hero-title   { font-size: clamp(1.5rem, 11vw, 2rem); }
	.gc-section-title { font-size: clamp(1.3rem, 8vw, 1.8rem); }
	.gc-hero         { min-height: 65vh; }

	/* Stats: 2-col even tighter */
	.gc-strip-num    { font-size: 1.35rem; }
	.gc-strip-lbl    { font-size: .55rem; letter-spacing: .04em; }

	/* Carousel ultra-compact */
	.gc-carousel { height: 180px !important; }
	.gc-slide-content { padding: .75rem .5rem; }
	.gc-slide-title { font-size: 1rem; }

	/* Blog cards */
	.gc-blog-thumb { height: 150px; }

	/* Spacing */
	.gc-section  { padding: 2rem .65rem; }
	.gc-strip    { padding: .875rem .65rem; }
	.gc-footer-inner { padding: 2rem .65rem 1rem; }
}

/* ─────────────────────────────────────────────────────────────────────────────
   TOUCH DEVICE OPTIMIZATIONS (hover: none)
   ───────────────────────────────────────────────────────────────────────────── */
@media (hover: none) and (pointer: coarse) {

	/* Disable hover transform effects — they cause layout jumps on touch */
	.gc-card:hover,
	.gc-blog-card:hover,
	.gc-feature-card:hover { transform: none !important; }

	/* Bigger tap targets */
	.gc-carousel-arrow { width: 44px; height: 44px; }
	.gc-dot            { width: 14px; height: 14px; padding: 6px; }
	.gc-nav-link, .gc-mobile-nav-list a { min-height: 44px; display: flex; align-items: center; }
	.gc-btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }

	/* Show arrows on touch (they were hidden at 640px) */
	.gc-carousel-arrow { display: flex !important; }

	/* Social links bigger */
	.gc-social-link { width: 40px; height: 40px; }
}

/* ─────────────────────────────────────────────────────────────────────────────
   UTILITY: Mobile-only helpers usable in HTML/builder content
   ───────────────────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
	.gc-hide-mobile { display: none !important; }
	.gc-show-mobile { display: block !important; }
	.gc-text-center-mobile { text-align: center !important; }
	.gc-full-width-mobile  { width: 100% !important; max-width: 100% !important; }
}
@media (min-width: 769px) {
	.gc-hide-desktop { display: none !important; }
	.gc-show-mobile  { display: none !important; }
}

/* ─────────────────────────────────────────────────────────────────────────────
   REDUCED MOTION — Respect user preferences
   ───────────────────────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	.gc-carousel-slide,
	.gc-carousel-track,
	.gc-carousel-progress,
	.gc-card,
	.gc-btn,
	.gc-social-link,
	* { transition: none !important; animation: none !important; }
}

/* =============================================================================
   SINGLE POST / PAGE / ARCHIVE — Template Styles
   ============================================================================= */

/* ── Shared page wrapper ── */
.gc-page-wrap { background-color: var(--gc-bg-base); min-height: 60vh; }

/* ── Post hero image ── */
.gc-post-hero { width: 100%; max-height: 520px; overflow: hidden; }
.gc-post-hero-img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }

/* ── Post inner: constrained width ── */
.gc-post-inner {
	max-width: 780px;
	margin: 0 auto;
	padding: 3rem 0 5rem;
}

/* ── Post header ── */
.gc-post-header { margin-bottom: 2.5rem; }

.gc-post-cats { margin-bottom: 1rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.gc-post-cats a {
	font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em;
	color: var(--gc-accent); background: rgba(0,229,255,.08);
	border: 1px solid rgba(0,229,255,.25); border-radius: 999px;
	padding: .2em .8em; text-decoration: none; transition: var(--gc-transition);
}
.gc-post-cats a:hover { background: var(--gc-accent); color: var(--gc-bg-base); }

.gc-post-title {
	font-family: var(--gc-font-display) !important;
	font-size: clamp(1.8rem, 4vw, 3rem) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	color: var(--gc-text) !important;
	line-height: 1.1 !important;
	margin: 0 0 1.25rem !important;
}

.gc-post-meta-row {
	display: flex; flex-wrap: wrap; gap: 1.25rem; align-items: center;
	color: var(--gc-text-muted); font-size: .82rem;
}
.gc-meta-item { display: flex; align-items: center; gap: .4rem; }
.gc-meta-item svg { flex-shrink: 0; color: var(--gc-accent); }

.gc-post-divider {
	height: 1px; background: var(--gc-bg-elevated);
	margin: 1.75rem 0 0;
}

/* ── Post content ── */
.gc-post-content {
	color: var(--gc-text-muted);
	font-size: 1.05rem;
	line-height: 1.8;
	margin-bottom: 3rem;
}
.gc-post-content > * + * { margin-top: 1.25em; }

.gc-post-content h1, .gc-post-content h2, .gc-post-content h3,
.gc-post-content h4, .gc-post-content h5, .gc-post-content h6 {
	color: var(--gc-text);
	font-family: var(--gc-font-display);
	text-transform: uppercase;
	margin-top: 2em;
	margin-bottom: .5em;
}
.gc-post-content h2 { font-size: 1.75rem; border-left: 4px solid var(--gc-accent); padding-left: 1rem; }
.gc-post-content h3 { font-size: 1.35rem; color: var(--gc-accent); }
.gc-post-content a  { color: var(--gc-accent); text-decoration: underline; text-underline-offset: 3px; }
.gc-post-content a:hover { color: var(--gc-accent-2); }
.gc-post-content img { border-radius: var(--gc-radius-md); max-width: 100%; height: auto; margin: 1.5rem auto; display: block; }
.gc-post-content figure { margin: 2rem 0; }
.gc-post-content figcaption { text-align: center; font-size: .8rem; color: var(--gc-text-faint); margin-top: .5rem; }
.gc-post-content ul, .gc-post-content ol { padding-left: 1.75rem; color: var(--gc-text-muted); }
.gc-post-content li { margin-bottom: .4rem; }
.gc-post-content li::marker { color: var(--gc-accent); }
.gc-post-content blockquote {
	border-left: 4px solid var(--gc-accent); padding: 1rem 1.5rem;
	background: var(--gc-bg-card); border-radius: 0 var(--gc-radius-sm) var(--gc-radius-sm) 0;
	margin: 2rem 0; font-style: italic; color: var(--gc-text-muted);
}
.gc-post-content blockquote p { margin: 0; }
.gc-post-content pre, .gc-post-content code {
	background: var(--gc-bg-card); color: var(--gc-accent);
	border: var(--gc-border); border-radius: var(--gc-radius-sm);
	font-family: 'Courier New', monospace; font-size: .875em;
}
.gc-post-content pre { padding: 1.25rem; overflow-x: auto; }
.gc-post-content code { padding: .2em .5em; }
.gc-post-content pre code { background: none; border: none; padding: 0; font-size: 1em; }
.gc-post-content table { width: 100%; border-collapse: collapse; overflow-x: auto; display: block; }
.gc-post-content th, .gc-post-content td { padding: .75rem 1rem; border: var(--gc-border); text-align: left; }
.gc-post-content th { background: var(--gc-bg-elevated); color: var(--gc-accent); font-family: var(--gc-font-display); text-transform: uppercase; font-size: .8rem; letter-spacing: .08em; }
.gc-post-content tr:hover td { background: var(--gc-bg-card); }
.gc-post-content iframe, .gc-post-content video { max-width: 100%; border-radius: var(--gc-radius-md); }
.gc-post-content .wp-block-image { margin: 2rem 0; }
.gc-post-content .alignleft  { float: left; margin: 0 1.5rem 1rem 0; }
.gc-post-content .alignright { float: right; margin: 0 0 1rem 1.5rem; }
.gc-post-content .aligncenter { text-align: center; }
.gc-post-content .alignfull, .gc-post-content .alignwide { margin-left: -2rem; margin-right: -2rem; max-width: calc(100% + 4rem); }

/* ── Post tags ── */
.gc-post-tags-wrap { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2.5rem; }
.gc-tag-badge {
	font-size: .72rem; font-weight: 600; letter-spacing: .06em;
	color: var(--gc-text-muted); background: var(--gc-bg-elevated);
	border: var(--gc-border); border-radius: 4px;
	padding: .25em .75em; text-decoration: none; transition: var(--gc-transition);
}
.gc-tag-badge:hover { color: var(--gc-accent); border-color: rgba(0,229,255,.3); background: rgba(0,229,255,.06); }

/* ── Post navigation ── */
.gc-post-nav {
	display: flex; gap: 1rem; justify-content: space-between;
	border-top: var(--gc-border); padding-top: 2rem; margin-bottom: 3rem;
}
.gc-post-nav-link {
	display: flex; align-items: center; gap: 1rem; max-width: 48%;
	background: var(--gc-bg-card); border: var(--gc-border); border-radius: var(--gc-radius-md);
	padding: 1rem 1.25rem; text-decoration: none; transition: var(--gc-transition);
	flex: 1;
}
.gc-post-nav-link:hover { border-color: rgba(0,229,255,.3); transform: translateY(-2px); box-shadow: var(--gc-shadow-neon); }
.gc-post-nav-next { justify-content: flex-end; text-align: right; }
.gc-nav-arrow { font-size: 1.25rem; color: var(--gc-accent); flex-shrink: 0; }
.gc-nav-label { display: block; font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; color: var(--gc-text-faint); margin-bottom: .25rem; }
.gc-nav-title { display: block; font-family: var(--gc-font-display); font-size: .9rem; color: var(--gc-text); font-weight: 600; line-height: 1.3; }

/* ── Comments ── */
.gc-comments-wrap { border-top: var(--gc-border); padding-top: 2.5rem; }

/* ── Archive / Category page ── */
.gc-archive-page .gc-container { padding-top: 3.5rem; padding-bottom: 5rem; }
.gc-archive-header { margin-bottom: 2.5rem; }
.gc-archive-title {
	font-family: var(--gc-font-display) !important;
	font-size: clamp(1.8rem, 4vw, 2.75rem) !important;
	font-weight: 700 !important; text-transform: uppercase !important;
	color: var(--gc-text) !important; margin-bottom: .75rem !important;
}
.gc-archive-desc { color: var(--gc-text-muted); font-size: 1rem; margin-bottom: 1rem; }
.gc-archive-desc a { color: var(--gc-accent); }
.gc-archive-meta { display: flex; align-items: center; justify-content: space-between; margin-top: .75rem; }
.gc-read-more-link { font-family: var(--gc-font-display); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--gc-accent); transition: color .2s; }
.gc-read-more-link:hover { color: var(--gc-accent-2); }

/* ── Pagination ── */
.gc-pagination-wrap { margin-top: 3rem; display: flex; justify-content: center; }
.gc-pagination { display: flex; gap: .4rem; flex-wrap: wrap; align-items: center; justify-content: center; }
.gc-pagination .page-numbers {
	background: var(--gc-bg-card); border: var(--gc-border); color: var(--gc-text);
	padding: .5rem 1rem; border-radius: 4px; font-family: var(--gc-font-display);
	font-weight: 600; font-size: .875rem; text-decoration: none; transition: var(--gc-transition);
	display: inline-flex; align-items: center; min-width: 40px; justify-content: center;
}
.gc-pagination .page-numbers:hover { border-color: var(--gc-accent); color: var(--gc-accent); }
.gc-pagination .page-numbers.current { background: var(--gc-accent); color: var(--gc-bg-base); border-color: var(--gc-accent); }
.gc-pagination .page-numbers.dots { background: transparent; border: none; cursor: default; }

/* ── No posts ── */
.gc-no-posts { text-align: center; padding: 5rem 1rem; }
.gc-no-posts-msg { color: var(--gc-text-muted); font-size: 1.1rem; margin-bottom: 2rem; }

/* ── Page article ── */
.gc-page-article .gc-post-inner { padding-top: 3rem; }

/* ── Child pages grid ── */
.gc-child-pages { margin-top: 3rem; border-top: var(--gc-border); padding-top: 2rem; }
.gc-child-pages-title { font-family: var(--gc-font-display); font-size: 1.1rem; text-transform: uppercase; color: var(--gc-text-muted); margin-bottom: 0; font-weight: 600; letter-spacing: .08em; }
.gc-child-page-card { text-decoration: none; }
.gc-child-page-card:hover .gc-blog-title { color: var(--gc-accent) !important; }

/* ─── Mobile: single post / page / archive ─────────────────────────────────── */
@media (max-width: 768px) {
	.gc-post-inner { padding: 2rem 0 3.5rem; }
	.gc-post-hero  { max-height: 280px; }
	.gc-post-title { font-size: clamp(1.5rem, 6vw, 2.2rem) !important; }
	.gc-post-nav   { flex-direction: column; }
	.gc-post-nav-link { max-width: 100%; }
	.gc-post-meta-row { gap: .75rem; font-size: .78rem; }
	.gc-post-content { font-size: .975rem; }
	.gc-post-content .alignleft,
	.gc-post-content .alignright { float: none; margin: 1rem 0; }
	.gc-post-content .alignfull,
	.gc-post-content .alignwide  { margin-left: -1rem; margin-right: -1rem; max-width: calc(100% + 2rem); }
	.gc-archive-page .gc-container { padding-top: 2.5rem; padding-bottom: 3rem; }
	.gc-blog-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
	.gc-post-hero  { max-height: 200px; }
	.gc-post-title { font-size: clamp(1.3rem, 7vw, 1.8rem) !important; }
	.gc-post-inner { padding: 1.5rem 0 2.5rem; }
}

/* =============================================================================
   SINGLE POST — Hero Overlap + Sidebar Design
   ============================================================================= */

/* Reading progress bar */
.gc-reading-bar {
	position: fixed; top: 0; left: 0; z-index: 9999;
	height: 3px; width: 0%;
	background: linear-gradient(90deg, var(--gc-accent), var(--gc-accent-2));
	transition: width .1s linear;
	box-shadow: 0 0 8px var(--gc-accent);
}

/* Hero */
.gc-post-hero-wrap { width: 100%; }
.gc-post-hero-img {
	position: relative; height: 460px; width: 100%;
	background: var(--gc-bg-elevated) linear-gradient(135deg,#1a0f2e,#0d1a2e);
	background-size: cover; background-position: center;
}
.gc-post-hero-placeholder { display: flex; align-items: center; justify-content: center; font-size: 5rem; opacity: .15; }
.gc-post-hero-overlay {
	position: absolute; inset: 0;
	background: linear-gradient(0deg, var(--gc-bg-base) 0%, rgba(13,15,26,.55) 55%, rgba(13,15,26,.15) 100%);
}
.gc-post-hero-cats { position: absolute; top: 1.5rem; left: 1.5rem; display: flex; gap: .5rem; z-index: 2; }
.gc-cat-badge {
	font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em;
	color: var(--gc-accent); background: rgba(0,229,255,.12);
	border: 1px solid rgba(0,229,255,.3); border-radius: 999px;
	padding: .25em .8em; text-decoration: none; transition: var(--gc-transition);
}
.gc-cat-badge:hover { background: var(--gc-accent); color: var(--gc-bg-base); }

/* Floating card overlapping hero */
.gc-post-float-card {
	background: var(--gc-bg-base);
	margin-top: -80px;
	border-radius: 16px 16px 0 0;
	position: relative; z-index: 2;
	padding-top: 2.5rem;
	padding-bottom: 4rem;
}

/* Post title */
.gc-post-title {
	font-family: var(--gc-font-display) !important;
	font-size: clamp(1.8rem, 3.5vw, 2.8rem) !important;
	font-weight: 700 !important; text-transform: uppercase !important;
	line-height: 1.1 !important; color: var(--gc-text) !important;
	margin: 0 0 1.25rem !important;
}

/* Meta row */
.gc-post-meta-row {
	display: flex; flex-wrap: wrap; gap: 1.25rem;
	color: var(--gc-text-muted); font-size: .8rem; margin-bottom: 1.5rem;
}
.gc-meta-item { display: flex; align-items: center; gap: .4rem; }
.gc-meta-item svg { color: var(--gc-accent); flex-shrink: 0; }
.gc-meta-views { margin-left: auto; color: var(--gc-text-faint); }
.gc-post-header-divider { height: 1px; background: var(--gc-bg-elevated); margin-bottom: 2.5rem; }

/* 2-col grid */
.gc-post-grid { display: grid; grid-template-columns: 1fr 290px; gap: 3rem; align-items: start; }
.gc-article-body { min-width: 0; }

/* Table of contents */
.gc-toc {
	background: var(--gc-bg-card); border: var(--gc-border);
	border-left: 3px solid var(--gc-accent); border-radius: var(--gc-radius-md);
	padding: 1.25rem; margin-bottom: 2.5rem;
}
.gc-toc-heading {
	font-family: var(--gc-font-display); font-size: .72rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .12em; color: var(--gc-accent);
	display: flex; align-items: center; gap: .5rem; margin-bottom: .75rem;
}
.gc-toc-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .3rem; }
.gc-toc-list li a {
	font-size: .83rem; color: var(--gc-text-muted); text-decoration: none;
	transition: color .2s; display: flex; align-items: center; gap: .4rem;
}
.gc-toc-list li a::before { content: '›'; color: var(--gc-accent); font-weight: 700; }
.gc-toc-list li a:hover { color: var(--gc-accent); }
.gc-toc-sub a { padding-left: 1rem; font-size: .79rem; }

/* Post content */
.gc-post-content { color: var(--gc-text-muted); font-size: 1rem; line-height: 1.8; margin-bottom: 2.5rem; }
.gc-post-content > * + * { margin-top: 1.2em; }
.gc-post-content h2 { font-family: var(--gc-font-display); font-size: 1.6rem; text-transform: uppercase; color: var(--gc-text); border-left: 4px solid var(--gc-accent); padding-left: 1rem; margin-top: 2.5rem; scroll-margin-top: 80px; }
.gc-post-content h3 { font-family: var(--gc-font-display); font-size: 1.2rem; text-transform: uppercase; color: var(--gc-accent); scroll-margin-top: 80px; }
.gc-post-content h4,h5,h6 { color: var(--gc-text); }
.gc-post-content a { color: var(--gc-accent); text-decoration: underline; text-underline-offset: 3px; }
.gc-post-content a:hover { color: var(--gc-accent-2); }
.gc-post-content img { border-radius: var(--gc-radius-md); max-width: 100%; height: auto; display: block; margin: 1.5rem auto; }
.gc-post-content figure { margin: 2rem 0; }
.gc-post-content figcaption { text-align: center; font-size: .78rem; color: var(--gc-text-faint); margin-top: .4rem; }
.gc-post-content blockquote { border-left: 4px solid var(--gc-accent); padding: 1rem 1.5rem; background: var(--gc-bg-card); border-radius: 0 var(--gc-radius-sm) var(--gc-radius-sm) 0; margin: 2rem 0; font-style: italic; }
.gc-post-content blockquote p { margin: 0; }
.gc-post-content ul,.gc-post-content ol { padding-left: 1.75rem; }
.gc-post-content li { margin-bottom: .4rem; }
.gc-post-content li::marker { color: var(--gc-accent); }
.gc-post-content pre { background: var(--gc-bg-card); border: var(--gc-border); border-radius: var(--gc-radius-sm); padding: 1.25rem; overflow-x: auto; }
.gc-post-content code { background: var(--gc-bg-card); color: var(--gc-accent); padding: .2em .45em; border-radius: 3px; font-size: .875em; font-family: monospace; }
.gc-post-content pre code { background: none; padding: 0; font-size: 1em; }
.gc-post-content table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.gc-post-content th,.gc-post-content td { padding: .7rem 1rem; border: var(--gc-border); }
.gc-post-content th { background: var(--gc-bg-elevated); color: var(--gc-accent); font-family: var(--gc-font-display); text-transform: uppercase; font-size: .78rem; }
.gc-post-content .alignleft  { float: left; margin: 0 1.5rem 1rem 0; }
.gc-post-content .alignright { float: right; margin: 0 0 1rem 1.5rem; }
.gc-post-content .aligncenter { text-align: center; }

/* Tags */
.gc-post-tags-wrap { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 2.5rem; padding-top: 1.5rem; border-top: var(--gc-border); }
.gc-tag-badge { font-size: .7rem; font-weight: 600; letter-spacing: .05em; color: var(--gc-text-muted); background: var(--gc-bg-elevated); border: var(--gc-border); padding: .25em .75em; border-radius: 4px; text-decoration: none; transition: var(--gc-transition); }
.gc-tag-badge:hover { color: var(--gc-accent); border-color: rgba(0,229,255,.3); }

/* Post navigation */
.gc-post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 3rem; padding-top: 2rem; border-top: var(--gc-border); }
.gc-post-nav-card { display: flex; align-items: center; gap: .85rem; background: var(--gc-bg-card); border: var(--gc-border); border-radius: var(--gc-radius-md); padding: 1rem 1.25rem; text-decoration: none; transition: var(--gc-transition); }
.gc-post-nav-card:hover { border-color: rgba(0,229,255,.3); transform: translateY(-2px); box-shadow: var(--gc-shadow-neon); }
.gc-nav-next { justify-content: flex-end; text-align: right; }
.gc-nav-arrow { font-size: 1.2rem; color: var(--gc-accent); flex-shrink: 0; }
.gc-nav-lbl { display: block; font-size: .65rem; text-transform: uppercase; letter-spacing: .1em; color: var(--gc-text-faint); margin-bottom: .2rem; }
.gc-nav-ttl { display: block; font-family: var(--gc-font-display); font-size: .88rem; font-weight: 700; color: var(--gc-text); line-height: 1.2; }

/* ── Sidebar ── */
.gc-post-sidebar { display: flex; flex-direction: column; gap: 1.5rem; position: sticky; top: 90px; }
.gc-sidebar-widget { background: var(--gc-bg-card); border: var(--gc-border); border-radius: var(--gc-radius-lg); padding: 1.25rem; }
.gc-sidebar-title { font-family: var(--gc-font-display); font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .15em; color: var(--gc-accent); margin-bottom: 1rem; }

/* Related cards */
.gc-related-card { display: flex; gap: .75rem; align-items: center; padding: .6rem 0; border-bottom: 1px solid var(--gc-bg-elevated); text-decoration: none; transition: var(--gc-transition); }
.gc-related-card:last-child { border-bottom: none; }
.gc-related-card:hover .gc-related-title { color: var(--gc-accent); }
.gc-related-thumb { width: 64px; height: 56px; flex-shrink: 0; border-radius: 6px; overflow: hidden; background: var(--gc-bg-elevated); display: flex; align-items: center; justify-content: center; }
.gc-related-img { width: 64px; height: 56px; object-fit: cover; display: block; }
.gc-related-icon { font-size: 1.4rem; opacity: .5; }
.gc-related-title { font-family: var(--gc-font-display); font-size: .82rem; font-weight: 700; text-transform: uppercase; color: var(--gc-text); line-height: 1.2; margin-bottom: .2rem; transition: color .2s; }
.gc-related-date { font-size: .68rem; color: var(--gc-text-faint); }

/* Sidebar CTA */
.gc-sidebar-cta { background: linear-gradient(135deg,rgba(0,229,255,.07),rgba(124,58,237,.07)); border: 1px solid rgba(0,229,255,.15); border-radius: var(--gc-radius-lg); padding: 1.5rem; text-align: center; }
.gc-sidebar-cta-icon { font-size: 2.5rem; margin-bottom: .75rem; }
.gc-sidebar-cta-title { font-family: var(--gc-font-display); font-size: 1.05rem; font-weight: 700; text-transform: uppercase; margin-bottom: .4rem; }
.gc-sidebar-cta-sub { font-size: .8rem; color: var(--gc-text-muted); margin-bottom: 1.25rem; line-height: 1.5; }
.gc-sidebar-cta-btn { display: block; width: 100%; text-align: center; }
.gc-sidebar-cta-disc { font-size: .68rem; color: var(--gc-text-faint); margin-top: .75rem; }

/* Category list */
.gc-cat-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; }
.gc-cat-list-link { display: flex; align-items: center; justify-content: space-between; padding: .55rem 0; border-bottom: 1px solid var(--gc-bg-elevated); font-size: .85rem; color: var(--gc-text-muted); text-decoration: none; transition: color .2s; }
.gc-cat-list li:last-child .gc-cat-list-link { border-bottom: none; }
.gc-cat-list-link:hover, .gc-cat-active { color: var(--gc-accent) !important; }
.gc-cat-count { background: var(--gc-bg-elevated); color: var(--gc-text-faint); font-size: .68rem; font-weight: 700; padding: .15em .55em; border-radius: 999px; }

/* Comments */
.gc-comments-wrap { border-top: var(--gc-border); padding-top: 2.5rem; }

/* =============================================================================
   STATIC PAGE — Centered Hero + Structured Body
   ============================================================================= */

.gc-page-hero {
	position: relative; background: linear-gradient(135deg, var(--gc-bg-base) 0%, var(--gc-bg-elevated) 100%);
	padding: 5rem 1.5rem; text-align: center; overflow: hidden;
}
.gc-page-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 70% 70% at 50% 110%,rgba(0,229,255,.06),transparent 70%); pointer-events:none; }
.gc-page-hero-img-bg { background-size: cover; background-position: center; }
.gc-page-hero-overlay { position:absolute; inset:0; background:rgba(13,15,26,.75); }
.gc-page-hero-content { position:relative; z-index:2; max-width:740px; margin:0 auto; }
.gc-page-type-label { font-size:.65rem; text-transform:uppercase; letter-spacing:.35em; color:var(--gc-accent); margin-bottom:1rem; }
.gc-page-hero-title { font-family:var(--gc-font-display) !important; font-size:clamp(2rem,5vw,3.2rem) !important; font-weight:700 !important; text-transform:uppercase !important; color:var(--gc-text) !important; line-height:1.05 !important; margin-bottom:1.25rem !important; }
.gc-page-breadcrumb { font-size:.78rem; color:var(--gc-text-muted); display:flex; gap:.4rem; align-items:center; justify-content:center; flex-wrap:wrap; }
.gc-page-breadcrumb a { color:var(--gc-text-muted); text-decoration:none; } .gc-page-breadcrumb a:hover { color:var(--gc-accent); }
.gc-page-breadcrumb span { color:var(--gc-text-faint); }

/* Page body */
.gc-page-body { background:var(--gc-bg-base); }
.gc-page-content-wrap { max-width:820px; margin:0 auto; padding:3.5rem 1.5rem 5rem; }

/* Page entry content — inherits gc-post-content but with a few page-specific tweaks */
.gc-page-entry { color:var(--gc-text-muted); font-size:1rem; line-height:1.8; }
.gc-page-entry > * + * { margin-top:1.2em; }
.gc-page-entry h2 { font-family:var(--gc-font-display); font-size:1.5rem; text-transform:uppercase; color:var(--gc-text); display:flex; align-items:center; gap:.75rem; margin-top:2.5rem; }
.gc-page-entry h2::before { content:''; display:block; width:4px; min-height:1.5em; background:var(--gc-accent); border-radius:2px; flex-shrink:0; align-self:stretch; }
.gc-page-entry h3 { font-family:var(--gc-font-display); font-size:1.15rem; color:var(--gc-accent); text-transform:uppercase; }
.gc-page-entry a { color:var(--gc-accent); }
.gc-page-entry a:hover { color:var(--gc-accent-2); }
.gc-page-entry img { border-radius:var(--gc-radius-md); max-width:100%; display:block; margin:1.5rem auto; }
.gc-page-entry ul,.gc-page-entry ol { padding-left:1.75rem; }
.gc-page-entry li { margin-bottom:.4rem; }
.gc-page-entry li::marker { color:var(--gc-accent); }
.gc-page-entry blockquote { border-left:4px solid var(--gc-accent); padding:1rem 1.5rem; background:var(--gc-bg-card); border-radius:0 var(--gc-radius-sm) var(--gc-radius-sm) 0; margin:2rem 0; font-style:italic; }
.gc-page-entry table { width:100%; border-collapse:collapse; display:block; overflow-x:auto; }
.gc-page-entry th,.gc-page-entry td { padding:.7rem 1rem; border:var(--gc-border); }
.gc-page-entry th { background:var(--gc-bg-elevated); color:var(--gc-accent); font-family:var(--gc-font-display); text-transform:uppercase; font-size:.78rem; }

/* Child pages */
.gc-child-pages-section { margin-top:3.5rem; border-top:var(--gc-border); padding-top:2.5rem; }
.gc-child-pages-heading { font-family:var(--gc-font-display); font-size:.72rem; text-transform:uppercase; letter-spacing:.15em; color:var(--gc-text-muted); margin-bottom:1.25rem; }
.gc-child-pages-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1rem; }
.gc-child-card { display:flex; flex-direction:column; background:var(--gc-bg-card); border:var(--gc-border); border-radius:var(--gc-radius-lg); overflow:hidden; text-decoration:none; transition:var(--gc-transition); }
.gc-child-card:hover { transform:translateY(-3px); border-color:rgba(0,229,255,.3); }
.gc-child-card-img { height:130px; background-size:cover; background-position:center; background-color:var(--gc-bg-elevated); }
.gc-child-card-placeholder { display:flex; align-items:center; justify-content:center; font-size:2.5rem; opacity:.3; }
.gc-child-card-body { padding:1rem; }
.gc-child-card-title { font-family:var(--gc-font-display); font-size:.95rem; font-weight:700; text-transform:uppercase; color:var(--gc-text); margin-bottom:.35rem; }
.gc-child-card-desc { font-size:.8rem; color:var(--gc-text-muted); margin-bottom:.5rem; }
.gc-child-card-arrow { font-size:.72rem; font-weight:700; font-family:var(--gc-font-display); color:var(--gc-accent); text-transform:uppercase; letter-spacing:.06em; }

/* =============================================================================
   ARCHIVE — Magazine Layout
   ============================================================================= */

/* Archive header */
.gc-archive-header-bar { background:var(--gc-bg-card); border-bottom:var(--gc-border); padding:2.5rem 0; }
.gc-archive-type-label { font-size:.65rem; text-transform:uppercase; letter-spacing:.3em; color:var(--gc-accent); margin-bottom:.5rem; }
.gc-archive-main-title { font-family:var(--gc-font-display) !important; font-size:clamp(1.8rem,4vw,2.75rem) !important; font-weight:700 !important; text-transform:uppercase !important; color:var(--gc-text) !important; margin-bottom:.6rem !important; }
.gc-archive-description { color:var(--gc-text-muted); font-size:.95rem; max-width:560px; margin-bottom:1.25rem; }
.gc-archive-description a { color:var(--gc-accent); }
.gc-archive-bottom-row { display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; }
.gc-archive-count { font-size:.75rem; color:var(--gc-text-faint); }
.gc-archive-filters { display:flex; gap:.4rem; flex-wrap:wrap; }
.gc-filter-tab { font-family:var(--gc-font-display); font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; background:var(--gc-bg-elevated); border:var(--gc-border); color:var(--gc-text-muted); padding:.3em .85em; border-radius:4px; text-decoration:none; transition:var(--gc-transition); }
.gc-filter-tab:hover { color:var(--gc-text); border-color:#555; }
.gc-filter-active { background:var(--gc-accent) !important; border-color:var(--gc-accent) !important; color:var(--gc-bg-base) !important; }

/* Magazine grid */
.gc-magazine-wrap { display:grid; grid-template-columns:1fr 300px; gap:2.5rem; padding:2.5rem 0 2rem; align-items:start; }
.gc-magazine-main { display:flex; flex-direction:column; gap:1.5rem; }

/* Featured post */
.gc-mag-featured { background:var(--gc-bg-card); border:var(--gc-border); border-radius:var(--gc-radius-lg); overflow:hidden; }
.gc-mag-featured-img-link { display:block; }
.gc-mag-featured-img {
	height:300px; background:var(--gc-bg-elevated) linear-gradient(135deg,#1a0f2e,#0d1a2e);
	background-size:cover; background-position:center; position:relative; overflow:hidden;
}
.gc-mag-featured-placeholder { display:flex; align-items:center; justify-content:center; font-size:5rem; opacity:.15; }
.gc-mag-featured-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(18,20,31,.6) 0%,transparent 60%); }
.gc-featured-badge { position:absolute; top:1rem; left:1rem; z-index:2; background:var(--gc-accent); color:var(--gc-bg-base); font-family:var(--gc-font-display); font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; padding:.25em .8em; border-radius:999px; }
.gc-mag-featured-body { padding:1.75rem; }
.gc-mag-cat a { font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:var(--gc-accent); text-decoration:none; margin-bottom:.5rem; display:block; }
.gc-mag-featured-title { font-family:var(--gc-font-display); font-size:1.7rem; font-weight:700; text-transform:uppercase; color:var(--gc-text); line-height:1.15; margin-bottom:.75rem; }
.gc-mag-featured-title a { color:inherit; text-decoration:none; transition:color .2s; }
.gc-mag-featured-title a:hover { color:var(--gc-accent); }
.gc-mag-featured-excerpt { font-size:.9rem; color:var(--gc-text-muted); line-height:1.65; margin-bottom:1.25rem; }
.gc-mag-featured-footer { display:flex; align-items:center; justify-content:space-between; }
.gc-mag-date { font-size:.75rem; color:var(--gc-text-faint); display:flex; align-items:center; gap:.4rem; }
.gc-mag-date svg { color:var(--gc-accent); }
.gc-mag-read-btn { font-family:var(--gc-font-display); font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--gc-accent); border:1px solid rgba(0,229,255,.3); padding:.35em .9em; border-radius:4px; text-decoration:none; transition:var(--gc-transition); }
.gc-mag-read-btn:hover { background:var(--gc-accent); color:var(--gc-bg-base); }

/* Bottom card row */
.gc-mag-cards-row { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.gc-mag-card { overflow:hidden; }
.gc-mag-card-img-link { display:block; overflow:hidden; }
.gc-mag-card-img { height:150px; background:var(--gc-bg-elevated) linear-gradient(135deg,#0d1a2e,#1a0f2e); background-size:cover; background-position:center; transition:transform .4s ease; }
.gc-mag-card-img-link:hover .gc-mag-card-img { transform:scale(1.04); }
.gc-mag-card-placeholder { display:flex; align-items:center; justify-content:center; font-size:2.5rem; opacity:.25; }
.gc-mag-card-body { padding:1rem; }
.gc-mag-card-cat a { font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--gc-accent); text-decoration:none; }
.gc-mag-card-title { font-family:var(--gc-font-display); font-size:.93rem; font-weight:700; text-transform:uppercase; color:var(--gc-text); line-height:1.2; margin:.4rem 0; }
.gc-mag-card-title a { color:inherit; text-decoration:none; transition:color .2s; }
.gc-mag-card-title a:hover { color:var(--gc-accent); }
.gc-mag-card-excerpt { font-size:.78rem; color:var(--gc-text-muted); line-height:1.55; margin-bottom:.5rem; }
.gc-mag-card-date { font-size:.68rem; color:var(--gc-text-faint); }

/* Sidebar */
.gc-mag-sidebar { display:flex; flex-direction:column; gap:1.5rem; position:sticky; top:90px; }
.gc-sidebar-post { display:flex; gap:.75rem; padding:.65rem 0; border-bottom:1px solid var(--gc-bg-elevated); text-decoration:none; align-items:center; transition:var(--gc-transition); }
.gc-sidebar-post:last-child { border-bottom:none; }
.gc-sidebar-post:hover .gc-sidebar-post-title { color:var(--gc-accent); }
.gc-sidebar-post-thumb { width:60px; height:54px; border-radius:6px; background:var(--gc-bg-elevated); flex-shrink:0; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.gc-sidebar-thumb-img { width:100%; height:100%; object-fit:cover; }
.gc-sidebar-thumb-icon { font-size:1.3rem; opacity:.4; }
.gc-sidebar-post-cat { font-size:.58rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--gc-accent); margin-bottom:.15rem; }
.gc-sidebar-post-title { font-family:var(--gc-font-display); font-size:.8rem; font-weight:700; text-transform:uppercase; color:var(--gc-text); line-height:1.25; margin-bottom:.2rem; transition:color .2s; }
.gc-sidebar-post-date { font-size:.65rem; color:var(--gc-text-faint); }

/* Pagination */
.gc-pagination-wrap { padding:2rem 0 3rem; }
.gc-pagination-wrap .nav-links { display:flex; gap:.4rem; flex-wrap:wrap; align-items:center; justify-content:center; }
.gc-pagination-wrap .page-numbers { background:var(--gc-bg-card); border:var(--gc-border); color:var(--gc-text); padding:.5rem 1rem; border-radius:4px; font-family:var(--gc-font-display); font-weight:600; font-size:.875rem; text-decoration:none; transition:var(--gc-transition); display:inline-flex; align-items:center; min-width:40px; justify-content:center; }
.gc-pagination-wrap .page-numbers:hover { border-color:var(--gc-accent); color:var(--gc-accent); }
.gc-pagination-wrap .page-numbers.current { background:var(--gc-accent); border-color:var(--gc-accent); color:var(--gc-bg-base); }
.gc-pagination-wrap .page-numbers.dots { background:transparent; border:none; cursor:default; }

/* =============================================================================
   RESPONSIVE — Single / Page / Archive
   ============================================================================= */
@media (max-width: 1024px) {
	.gc-post-grid { grid-template-columns:1fr 260px; gap:2rem; }
	.gc-magazine-wrap { grid-template-columns:1fr 260px; gap:2rem; }
	.gc-mag-cards-row { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 900px) {
	.gc-post-grid { grid-template-columns:1fr; }
	.gc-post-sidebar { position:static; }
	.gc-magazine-wrap { grid-template-columns:1fr; }
	.gc-mag-sidebar { position:static; }
	.gc-mag-cards-row { grid-template-columns:repeat(2,1fr); }
	.gc-post-hero-img { height:320px; }
	.gc-post-float-card { margin-top:-60px; border-radius:12px 12px 0 0; }
}
@media (max-width: 640px) {
	.gc-post-hero-img { height:240px; }
	.gc-post-float-card { margin-top:-40px; padding-top:2rem; }
	.gc-post-title { font-size:clamp(1.5rem,6vw,2rem) !important; }
	.gc-post-nav { grid-template-columns:1fr; }
	.gc-mag-featured-img { height:210px; }
	.gc-mag-featured-title { font-size:1.3rem; }
	.gc-mag-cards-row { grid-template-columns:1fr; }
	.gc-page-hero { padding:3.5rem 1rem; }
	.gc-page-hero-title { font-size:clamp(1.6rem,7vw,2.4rem) !important; }
	.gc-archive-bottom-row { flex-direction:column; align-items:flex-start; gap:.75rem; }
	.gc-post-meta-row { gap:.75rem; font-size:.76rem; }
	.gc-meta-views { display:none; }
}
@media (max-width: 480px) {
	.gc-post-hero-img { height:200px; }
	.gc-post-float-card { border-radius:8px 8px 0 0; }
	.gc-page-content-wrap { padding:2.5rem 1rem 3rem; }
}

/* =============================================================================
   HEADER A — POWER BAR
   ============================================================================= */

.gc-header {
	background: rgba(13,15,26,.94) !important;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	border-bottom: 1px solid rgba(255,255,255,.06);
	position: sticky; top: 0; z-index: 999;
	transition: background .3s ease;
}
.gc-header.gc-scrolled { background: rgba(13,15,26,.98) !important; }

/* Inner layout */
.gc-header-inner {
	max-width: 1240px; margin: 0 auto;
	display: flex; align-items: stretch; height: 66px;
	padding: 0 1.75rem; gap: 1.5rem;
}

/* Logo */
.gc-logo-link { display: flex; align-items: center; text-decoration: none; flex-shrink: 0; }
.gc-logo-wrap { display: flex; align-items: center; gap: .65rem; }
.gc-logo-mark {
	width: 34px; height: 34px; border-radius: 7px;
	display: flex; align-items: center; justify-content: center;
	font-family: var(--gc-font-logo); font-size: .72rem; font-weight: 900;
	flex-shrink: 0; letter-spacing: .02em;
}
.gc-logo-text-wrap { display: flex; flex-direction: column; }
.gc-logo-name {
	font-family: var(--gc-font-logo); font-size: 1rem; font-weight: 700;
	color: var(--gc-accent); letter-spacing: .05em; line-height: 1;
}
.gc-logo-tagline { font-size: .55rem; color: var(--gc-text-muted); letter-spacing: .1em; text-transform: uppercase; margin-top: .15rem; }

/* Desktop nav */
.gc-header-nav { display: flex; align-items: stretch; flex: 1; justify-content: center; }
.gc-header-nav-list { list-style: none; padding: 0; margin: 0; display: flex; align-items: stretch; }
.gc-header-nav-item { display: flex; align-items: stretch; }
.gc-header-nav-link {
	display: flex; align-items: center; padding: 0 1rem;
	font-family: var(--gc-font-display); font-size: .78rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .07em;
	color: var(--gc-text-muted); text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: color .2s, border-color .2s;
	white-space: nowrap; height: 100%;
}
.gc-header-nav-link:hover { color: var(--gc-text); border-bottom-color: rgba(255,255,255,.25); }
.gc-header-nav-link.gc-nav-current { color: var(--gc-accent); border-bottom-color: var(--gc-accent); }

/* Right controls */
.gc-header-controls { display: flex; align-items: center; gap: .65rem; flex-shrink: 0; }

/* Live badge */
.gc-header-live {
	display: flex; align-items: center; gap: .35rem;
	font-family: var(--gc-font-display); font-size: .65rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .1em; color: var(--gc-accent-danger);
}
.gc-live-dot {
	width: 7px; height: 7px; border-radius: 50%; background: var(--gc-accent-danger);
	animation: gc-pulse 1.2s ease infinite; flex-shrink: 0;
}

/* Icon button (search) */
.gc-header-icon-btn {
	width: 34px; height: 34px; background: var(--gc-bg-elevated);
	border: var(--gc-border); border-radius: 7px;
	display: flex; align-items: center; justify-content: center;
	color: var(--gc-text-muted); cursor: pointer; transition: var(--gc-transition);
}
.gc-header-icon-btn:hover { border-color: var(--gc-accent); color: var(--gc-accent); background: rgba(0,229,255,.08); }
.gc-header-icon-btn.active { border-color: var(--gc-accent); color: var(--gc-accent); }

/* Login button */
.gc-header-login-btn {
	font-family: var(--gc-font-display); font-size: .74rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .08em;
	color: var(--gc-text-muted); border: var(--gc-border);
	padding: .42rem 1rem; border-radius: 5px; text-decoration: none;
	transition: var(--gc-transition); white-space: nowrap;
}
.gc-header-login-btn:hover { color: var(--gc-text); border-color: rgba(255,255,255,.4); }

/* CTA button */
.gc-header-cta-btn {
	background: var(--gc-accent); color: var(--gc-bg-base) !important;
	font-family: var(--gc-font-display); font-size: .76rem; font-weight: 800;
	text-transform: uppercase; letter-spacing: .1em;
	padding: .48rem 1.25rem; border-radius: 5px; text-decoration: none;
	transition: var(--gc-transition); white-space: nowrap; border: none;
	box-shadow: 0 0 14px rgba(0,229,255,.25);
}
.gc-header-cta-btn:hover { background: var(--gc-accent-2); color: #fff !important; box-shadow: 0 0 20px rgba(124,58,237,.4); transform: translateY(-1px); }

/* Hamburger */
.gc-hamburger { display: none; flex-direction: column; gap: 5px; background: transparent; border: none; cursor: pointer; padding: .35rem; border-radius: 4px; }
.gc-hamburger-bar { display: block; width: 22px; height: 2px; background: var(--gc-text); border-radius: 2px; transition: all .3s; }
.gc-hamburger.gc-open .gc-hamburger-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.gc-hamburger.gc-open .gc-hamburger-bar:nth-child(2) { opacity: 0; }
.gc-hamburger.gc-open .gc-hamburger-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile menu */
.gc-mobile-menu { display: none; flex-direction: column; background: var(--gc-bg-card); border-top: var(--gc-border); }
.gc-mobile-menu.gc-open { display: flex; }
.gc-mobile-nav-list { list-style: none; padding: 0; margin: 0; }
.gc-mobile-nav-list li { border-bottom: 1px solid var(--gc-bg-elevated); }
.gc-mobile-nav-list a { display: block; padding: .9rem 1.5rem; font-family: var(--gc-font-display); font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--gc-text); text-decoration: none; transition: color .2s; }
.gc-mobile-nav-list a:hover { color: var(--gc-accent); }
.gc-mobile-menu-footer { display: flex; gap: .75rem; padding: 1rem 1.5rem; border-top: var(--gc-border); }
.gc-mobile-login { flex: 1; text-align: center; }
.gc-mobile-cta-btn { flex: 1; text-align: center; }

/* ── Search Overlay ── */
.gc-search-overlay {
	position: fixed; inset: 0; z-index: 9998;
	background: rgba(13,15,26,.97); backdrop-filter: blur(20px);
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	opacity: 0; pointer-events: none; transition: opacity .3s ease;
}
.gc-search-overlay.gc-search-open { opacity: 1; pointer-events: all; }
.gc-search-close {
	position: absolute; top: 1.5rem; right: 1.5rem;
	background: var(--gc-bg-elevated); border: var(--gc-border); border-radius: 8px;
	color: var(--gc-text-muted); width: 42px; height: 42px;
	display: flex; align-items: center; justify-content: center;
	cursor: pointer; transition: var(--gc-transition);
}
.gc-search-close:hover { border-color: var(--gc-accent); color: var(--gc-accent); }
.gc-search-inner { width: 100%; max-width: 640px; padding: 1.5rem; }
.gc-search-label { font-family: var(--gc-font-display); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .2em; color: var(--gc-accent); margin-bottom: 1.5rem; text-align: center; }

/* Search form styling */
.gc-search-overlay .search-form { display: flex; gap: .5rem; }
.gc-search-overlay .search-field {
	flex: 1; background: var(--gc-bg-card); border: 1px solid rgba(0,229,255,.3); border-radius: 8px;
	color: var(--gc-text); font-family: var(--gc-font-body); font-size: 1.1rem;
	padding: .85rem 1.25rem;
}
.gc-search-overlay .search-field:focus { outline: none; border-color: var(--gc-accent); box-shadow: 0 0 0 3px rgba(0,229,255,.12); }
.gc-search-overlay .search-submit {
	background: var(--gc-accent); color: var(--gc-bg-base); border: none;
	border-radius: 8px; padding: .85rem 1.5rem; font-family: var(--gc-font-display);
	font-weight: 700; font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; cursor: pointer;
}
.gc-search-suggestions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.25rem; justify-content: center; }
.gc-search-sug-label { font-size: .72rem; color: var(--gc-text-faint); align-self: center; }
.gc-search-sug-tag {
	font-family: var(--gc-font-display); font-size: .7rem; font-weight: 700; text-transform: uppercase;
	letter-spacing: .06em; color: var(--gc-text-muted); background: var(--gc-bg-elevated);
	border: var(--gc-border); padding: .3em .85em; border-radius: 4px; text-decoration: none; transition: var(--gc-transition);
}
.gc-search-sug-tag:hover { color: var(--gc-accent); border-color: rgba(0,229,255,.3); }

/* ── Header Responsive ── */
@media (max-width: 900px) {
	.gc-header-nav  { display: none !important; }
	.gc-hamburger   { display: flex !important; }
	.gc-header-live { display: none; }
}
@media (max-width: 640px) {
	.gc-header-inner { padding: 0 1rem; height: 58px; }
	/* login hidden on mobile — accessible via hamburger menu */
	.gc-header-login-btn { display: none; }
	.gc-logo-mark { width: 30px; height: 30px; font-size: .65rem; }
	.gc-logo-name { font-size: .88rem; }
}
@media (max-width: 420px) {
	.gc-header-cta-btn { padding: .42rem .9rem; font-size: .7rem; }
}

/* =============================================================================
   FOOTER A — 4 COLUMN + TRUST BADGES
   ============================================================================= */

.gc-footer-a {
	background: var(--gc-bg-card);
	border-top: var(--gc-border);
}

/* Top grid */
.gfa-top { padding: 4rem 2rem 3rem; max-width: 1240px; margin: 0 auto; }
.gfa-grid {
	display: grid;
	grid-template-columns: 1.7fr 1fr 1fr 1fr;
	gap: 3rem;
}

/* Brand column */
.gfa-brand { display: flex; flex-direction: column; gap: .75rem; }
.gfa-logo-link { font-family: var(--gc-font-logo); font-size: 1.1rem; font-weight: 700; color: var(--gc-accent); text-decoration: none; display: inline-block; }
.gfa-logo img { max-height: 48px; width: auto; }
.gfa-brand-desc { font-size: .84rem; color: var(--gc-text-muted); line-height: 1.65; max-width: 280px; }

/* Rating */
.gfa-rating { display: flex; align-items: center; gap: .5rem; }
.gfa-stars { color: var(--gc-accent-gold); font-size: 1rem; letter-spacing: .08rem; }
.gfa-rating-text { font-size: .72rem; color: var(--gc-text-muted); }

/* Trust badges */
.gfa-badges { display: flex; flex-wrap: wrap; gap: .4rem; }
.gfa-badge {
	font-size: .62rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
	color: var(--gc-text-muted); background: var(--gc-bg-elevated); border: var(--gc-border);
	padding: .25em .7em; border-radius: 5px;
}

/* Link columns */
.gfa-col { display: flex; flex-direction: column; }
.gfa-col-heading {
	font-family: var(--gc-font-display); font-size: .68rem; font-weight: 800;
	text-transform: uppercase; letter-spacing: .18em; color: var(--gc-accent);
	margin-bottom: 1.1rem; padding-bottom: .6rem;
	border-bottom: 1px solid rgba(0,229,255,.15);
}
.gfa-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .45rem; }
.gfa-link {
	display: flex; align-items: center; gap: .4rem;
	font-size: .83rem; color: var(--gc-text-muted); text-decoration: none; transition: color .2s;
}
.gfa-link:hover { color: var(--gc-text); }
.gfa-link:hover svg { color: var(--gc-accent); }
.gfa-link svg { color: var(--gc-text-faint); flex-shrink: 0; transition: color .2s; }

/* Divider */
.gfa-divider-wrap { padding: 0 2rem; max-width: 1240px; margin: 0 auto; }
.gfa-divider { height: 1px; background: var(--gc-bg-elevated); }

/* Bottom bar */
.gfa-bottom {
	max-width: 1240px; margin: 0 auto;
	padding: 1.5rem 2rem;
	display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
}
.gfa-copyright { font-size: .75rem; color: var(--gc-text-faint); }
.gfa-social-row { display: flex; gap: .45rem; }
.gfa-social-btn {
	width: 34px; height: 34px; background: var(--gc-bg-elevated); border: var(--gc-border);
	border-radius: 8px; display: flex; align-items: center; justify-content: center;
	color: var(--gc-text-muted); text-decoration: none; transition: var(--gc-transition);
}
.gfa-social-btn:hover { background: var(--gc-accent); border-color: var(--gc-accent); color: var(--gc-bg-base); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,229,255,.3); }

/* Disclaimer */
.gfa-disclaimer-bar { background: var(--gc-bg-base); border-top: var(--gc-border); }
.gfa-disclaimer { max-width: 1240px; margin: 0 auto; padding: 1rem 2rem; font-size: .68rem; color: var(--gc-text-faint); line-height: 1.65; text-align: center; }

/* ── Footer Responsive ── */
@media (max-width: 1024px) {
	.gfa-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
	.gfa-brand { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; gap: 2rem; }
	.gfa-brand-desc { max-width: 340px; }
}
@media (max-width: 768px) {
	.gfa-top { padding: 3rem 1.25rem 2rem; }
	.gfa-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
	.gfa-brand { flex-direction: column; grid-column: 1 / -1; gap: .75rem; }
	.gfa-bottom { flex-direction: column; align-items: flex-start; padding: 1.25rem; }
	.gfa-social-row { flex-wrap: wrap; }
	.gfa-disclaimer { padding: .75rem 1.25rem; }
}
@media (max-width: 540px) {
	.gfa-grid { grid-template-columns: 1fr; }
	.gfa-bottom { align-items: center; text-align: center; }
	.gfa-social-row { justify-content: center; }
}

/* =============================================================================
   LOGO SIZE FIX — 350×100px default + STICKY HEADER
   ============================================================================= */

/* ── Custom logo image: 350×100px max ── */
.gc-logo-link img,
.gc-logo-link .custom-logo-link img,
.gc-logo-link .custom-logo,
a.custom-logo-link img,
.site-header a.custom-logo-link img,
#site-header .custom-logo-link img {
	width: auto !important;
	max-width: 350px !important;
	height: auto !important;
	max-height: 70px !important;   /* constrained to fit inside header */
	display: block !important;
	object-fit: contain !important;
}

/* Remove any WordPress-generated width/height attributes overrides */
.gc-logo-link .custom-logo-link {
	display: flex !important;
	align-items: center !important;
}

/* Footer logo */
.gfa-logo img,
.gfa-logo a img,
.gfa-logo .custom-logo-link img {
	max-width: 200px !important;
	max-height: 60px !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
}

/* ── Increase header height to fit 70px logo comfortably ── */
.gc-header-inner {
	height: 80px !important;
}
@media (max-width: 640px) {
	.gc-header-inner { height: 64px !important; }
	.gc-logo-link img,
	.gc-logo-link .custom-logo-link img { max-height: 50px !important; max-width: 220px !important; }
}
@media (max-width: 420px) {
	.gc-header-inner { height: 58px !important; }
	.gc-logo-link img,
	.gc-logo-link .custom-logo-link img { max-height: 42px !important; max-width: 180px !important; }
}

/* ── STICKY HEADER — full cross-browser fix ── */
#site-header,
.site-header,
.gc-header,
header.elementor-location-header {
	position: -webkit-sticky !important;  /* Safari */
	position: sticky !important;
	top: 0 !important;
	z-index: 9999 !important;             /* above Elementor widgets */
	width: 100% !important;
}

/* Fix: if parent has overflow:hidden it breaks sticky — reset it */
body,
.site,
#page,
.hfeed {
	overflow-x: clip !important;  /* clip instead of hidden — keeps sticky working */
}

/* Elementor sticky fix */
.elementor-location-header {
	position: -webkit-sticky !important;
	position: sticky !important;
	top: 0 !important;
	z-index: 9999 !important;
}

/* Admin bar offset — when WP admin bar is visible */
.admin-bar #site-header,
.admin-bar .gc-header,
.admin-bar .site-header {
	top: 32px !important;
}
@media screen and (max-width: 782px) {
	.admin-bar #site-header,
	.admin-bar .gc-header { top: 46px !important; }
}

/* =============================================================================
   MOBILE HEADER FIX — Always show hamburger + CTA, reduce logo width
   ============================================================================= */

/* ── ALWAYS show hamburger when nav exists (never hide it) ── */
.gc-hamburger {
	display: none;          /* hidden by default on desktop */
}
@media (max-width: 900px) {
	.gc-hamburger {
		display: flex !important;  /* always show on tablet/mobile */
	}
}

/* ── ALWAYS keep CTA button visible on mobile ── */
.gc-header-cta-btn,
.gc-header-cta {
	display: inline-flex !important;
	align-items: center;
}

/* ── Logo: shrink on mobile so CTA + hamburger always fit ── */

/* Tablet: 900px */
@media (max-width: 900px) {
	.gc-logo-link img,
	.gc-logo-link .custom-logo-link img,
	a.custom-logo-link img {
		max-width: 200px !important;
		max-height: 52px !important;
	}
}

/* Mobile landscape: 640px */
@media (max-width: 640px) {
	.gc-logo-link img,
	.gc-logo-link .custom-logo-link img,
	a.custom-logo-link img {
		max-width: 160px !important;
		max-height: 44px !important;
	}
	/* Shrink CTA text so it fits next to logo + hamburger */
	.gc-header-cta-btn {
		font-size: .68rem !important;
		padding: .42rem .9rem !important;
		letter-spacing: .06em !important;
	}
	/* Hide login on mobile — it's in the mobile menu */
	.gc-header-login-btn { display: none !important; }
}

/* Small mobile: 480px */
@media (max-width: 480px) {
	.gc-logo-link img,
	.gc-logo-link .custom-logo-link img,
	a.custom-logo-link img {
		max-width: 130px !important;
		max-height: 38px !important;
	}
	.gc-header-cta-btn {
		font-size: .65rem !important;
		padding: .38rem .75rem !important;
		white-space: nowrap;
	}
	.gc-header-inner {
		gap: .5rem !important;
	}
}

/* Extra small: 380px */
@media (max-width: 380px) {
	.gc-logo-link img,
	.gc-logo-link .custom-logo-link img,
	a.custom-logo-link img {
		max-width: 110px !important;
		max-height: 34px !important;
	}
	.gc-header-cta-btn {
		font-size: .62rem !important;
		padding: .35rem .65rem !important;
	}
}

/* =============================================================================
   MOBILE HEADER PROPORTION FIX
   Logo · CTA · Hamburger — properly balanced at all screen sizes
   ============================================================================= */

/* ── Base header layout ─────────────────────────────────────────────────────── */
.gc-header-inner {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0 !important;
}

/* Logo: never grows, never shrinks below readable size */
.gc-logo-link {
	flex: 0 0 auto;
	min-width: 0;
	overflow: hidden;
}

/* Nav: grows to fill center space */
.gc-header-nav {
	flex: 1 1 auto;
}

/* Controls (CTA + hamburger): fixed, never grow */
.gc-header-controls {
	flex: 0 0 auto;
	display: flex !important;
	align-items: center !important;
	gap: .5rem !important;
}

/* ── Desktop (>900px): logo 350px, normal header ────────────────────────────── */
@media (min-width: 901px) {
	.gc-header-inner {
		height: 72px !important;
		padding: 0 1.75rem !important;
		gap: 1.5rem !important;
	}
	.gc-logo-link img,
	.gc-logo-link .custom-logo-link img {
		max-width: 350px !important;
		max-height: 60px !important;
	}
	.gc-header-controls { gap: .65rem !important; }
}

/* ── Tablet (≤900px): hamburger appears, hide nav ───────────────────────────── */
@media (max-width: 900px) {
	.gc-header-inner {
		height: 64px !important;
		padding: 0 1rem !important;
	}
	.gc-logo-link img,
	.gc-logo-link .custom-logo-link img {
		max-width: 180px !important;
		max-height: 46px !important;
	}
	.gc-header-cta-btn {
		font-size: .72rem !important;
		padding: .45rem 1.1rem !important;
		letter-spacing: .07em !important;
	}
	.gc-header-controls { gap: .5rem !important; }
}

/* ── Mobile (≤640px) ────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
	.gc-header-inner {
		height: 58px !important;
		padding: 0 .875rem !important;
	}
	.gc-logo-link img,
	.gc-logo-link .custom-logo-link img {
		max-width: 150px !important;
		max-height: 40px !important;
	}
	/* CTA: compact pill style */
	.gc-header-cta-btn {
		font-size: .68rem !important;
		padding: .4rem .9rem !important;
		letter-spacing: .05em !important;
		border-radius: 5px !important;
	}
	.gc-header-controls { gap: .4rem !important; }
	/* Hide search and live badge — save space */
	.gc-header-icon-btn,
	.gc-header-live { display: none !important; }
}

/* ── Small mobile (≤480px) ──────────────────────────────────────────────────── */
@media (max-width: 480px) {
	.gc-header-inner {
		height: 54px !important;
		padding: 0 .75rem !important;
	}
	.gc-logo-link img,
	.gc-logo-link .custom-logo-link img {
		max-width: 130px !important;
		max-height: 36px !important;
	}
	.gc-header-cta-btn {
		font-size: .64rem !important;
		padding: .38rem .8rem !important;
	}
	.gc-header-controls { gap: .35rem !important; }
}

/* ── Extra small (≤380px): iPhone SE etc. ───────────────────────────────────── */
@media (max-width: 380px) {
	.gc-header-inner {
		height: 50px !important;
		padding: 0 .65rem !important;
	}
	.gc-logo-link img,
	.gc-logo-link .custom-logo-link img {
		max-width: 110px !important;
		max-height: 32px !important;
	}
	.gc-header-cta-btn {
		font-size: .62rem !important;
		padding: .35rem .7rem !important;
	}
	.gc-header-controls { gap: .3rem !important; }
}

/* ── Hamburger: always consistent size ──────────────────────────────────────── */
.gc-hamburger {
	width: 40px !important;
	height: 40px !important;
	display: none;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	background: var(--gc-bg-elevated) !important;
	border: var(--gc-border) !important;
	border-radius: 7px !important;
	flex-shrink: 0 !important;
}
@media (max-width: 900px) {
	.gc-hamburger { display: flex !important; }
}
@media (max-width: 480px) {
	.gc-hamburger { width: 36px !important; height: 36px !important; }
}

/* ── Logo text fallback (no image): proportional ────────────────────────────── */
.gc-logo-name {
	font-size: clamp(.75rem, 3.5vw, 1rem) !important;
	white-space: nowrap;
}
.gc-logo-mark {
	width: clamp(26px, 6vw, 34px) !important;
	height: clamp(26px, 6vw, 34px) !important;
	font-size: clamp(.58rem, 1.5vw, .72rem) !important;
	flex-shrink: 0 !important;
}

/* =============================================================================
   HEADER COMPREHENSIVE FIX — High specificity overrides
   ============================================================================= */

/* ── Fix search icon visibility (SVG color) ─────────────────────────────────── */
#site-header .gc-header-icon-btn,
#site-header .gc-header-icon-btn svg,
.gc-header .gc-header-icon-btn,
.gc-header .gc-header-icon-btn svg {
	color: #ffffff !important;
	stroke: #ffffff !important;
}
#site-header .gc-header-icon-btn:hover,
#site-header .gc-header-icon-btn:hover svg {
	color: var(--gc-accent) !important;
	stroke: var(--gc-accent) !important;
}

/* ── Fix hamburger visibility ────────────────────────────────────────────────── */
/* Desktop: hidden */
#site-header .gc-hamburger,
.gc-header .gc-hamburger {
	display: none !important;
}
/* Mobile/tablet: always show */
@media screen and (max-width: 900px) {
	#site-header .gc-hamburger,
	.gc-header .gc-hamburger {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		background: rgba(255,255,255,.1) !important;
		border: 1px solid rgba(255,255,255,.2) !important;
		border-radius: 7px !important;
		cursor: pointer !important;
		padding: 0 !important;
		flex-shrink: 0 !important;
	}
	#site-header .gc-hamburger .gc-hamburger-bar,
	.gc-header .gc-hamburger .gc-hamburger-bar {
		background: #ffffff !important;
		width: 20px !important;
		height: 2px !important;
		border-radius: 2px !important;
	}
}

/* ── Hide live + search on mobile (≤640px) ───────────────────────────────────── */
@media screen and (max-width: 640px) {
	#site-header .gc-header-live,
	.gc-header .gc-header-live,
	#site-header .gc-header-icon-btn,
	.gc-header .gc-header-icon-btn,
	#site-header .gc-header-login-btn,
	.gc-header .gc-header-login-btn {
		display: none !important;
	}
}

/* ── Full header inner layout fix ────────────────────────────────────────────── */
#site-header .gc-header-inner,
.gc-header .gc-header-inner {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* ── Logo proportions per breakpoint ────────────────────────────────────────── */
@media screen and (min-width: 901px) {
	#site-header .gc-header-inner,
	.gc-header .gc-header-inner { height: 72px !important; padding: 0 1.75rem !important; gap: 1.5rem !important; }
	#site-header .gc-logo-link img,
	.gc-header .gc-logo-link img,
	#site-header .gc-logo-link .custom-logo-link img,
	.gc-header .gc-logo-link .custom-logo-link img { max-width: 320px !important; max-height: 58px !important; }
}

@media screen and (max-width: 900px) and (min-width: 641px) {
	#site-header .gc-header-inner,
	.gc-header .gc-header-inner { height: 62px !important; padding: 0 1rem !important; gap: .75rem !important; }
	#site-header .gc-logo-link img,
	.gc-header .gc-logo-link img,
	#site-header .gc-logo-link .custom-logo-link img,
	.gc-header .gc-logo-link .custom-logo-link img { max-width: 200px !important; max-height: 44px !important; }
	#site-header .gc-header-cta-btn,
	.gc-header .gc-header-cta-btn { font-size: .72rem !important; padding: .45rem 1rem !important; }
}

@media screen and (max-width: 640px) and (min-width: 481px) {
	#site-header .gc-header-inner,
	.gc-header .gc-header-inner { height: 56px !important; padding: 0 .875rem !important; gap: .5rem !important; }
	#site-header .gc-logo-link img,
	.gc-header .gc-logo-link img,
	#site-header .gc-logo-link .custom-logo-link img,
	.gc-header .gc-logo-link .custom-logo-link img { max-width: 150px !important; max-height: 38px !important; }
	#site-header .gc-header-cta-btn,
	.gc-header .gc-header-cta-btn { font-size: .68rem !important; padding: .4rem .85rem !important; }
}

@media screen and (max-width: 480px) and (min-width: 381px) {
	#site-header .gc-header-inner,
	.gc-header .gc-header-inner { height: 52px !important; padding: 0 .75rem !important; gap: .4rem !important; }
	#site-header .gc-logo-link img,
	.gc-header .gc-logo-link img,
	#site-header .gc-logo-link .custom-logo-link img,
	.gc-header .gc-logo-link .custom-logo-link img { max-width: 125px !important; max-height: 34px !important; }
	#site-header .gc-header-cta-btn,
	.gc-header .gc-header-cta-btn { font-size: .64rem !important; padding: .38rem .75rem !important; }
	#site-header .gc-hamburger,
	.gc-header .gc-hamburger { width: 36px !important; height: 36px !important; min-width: 36px !important; }
}

@media screen and (max-width: 380px) {
	#site-header .gc-header-inner,
	.gc-header .gc-header-inner { height: 50px !important; padding: 0 .65rem !important; gap: .35rem !important; }
	#site-header .gc-logo-link img,
	.gc-header .gc-logo-link img,
	#site-header .gc-logo-link .custom-logo-link img,
	.gc-header .gc-logo-link .custom-logo-link img { max-width: 105px !important; max-height: 30px !important; }
	#site-header .gc-header-cta-btn,
	.gc-header .gc-header-cta-btn { font-size: .6rem !important; padding: .35rem .65rem !important; }
	#site-header .gc-hamburger,
	.gc-header .gc-hamburger { width: 34px !important; height: 34px !important; min-width: 34px !important; }
}

/* ── Controls container: never wrap, always row ──────────────────────────────── */
#site-header .gc-header-controls,
.gc-header .gc-header-controls {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	flex-shrink: 0 !important;
	flex-wrap: nowrap !important;
}

/* ── Logo link: never overflow ───────────────────────────────────────────────── */
#site-header .gc-logo-link,
.gc-header .gc-logo-link {
	flex-shrink: 1 !important;
	min-width: 0 !important;
	overflow: hidden !important;
}
#site-header .gc-logo-link img,
.gc-header .gc-logo-link img,
#site-header .gc-logo-link .custom-logo-link img,
.gc-header .gc-logo-link .custom-logo-link img {
	width: auto !important;
	height: auto !important;
	display: block !important;
	object-fit: contain !important;
}

/* ── Text logo (logo mark + name) scale ──────────────────────────────────────── */
@media screen and (max-width: 640px) {
	#site-header .gc-logo-mark,
	.gc-header .gc-logo-mark { width: 28px !important; height: 28px !important; font-size: .6rem !important; }
	#site-header .gc-logo-name,
	.gc-header .gc-logo-name { font-size: .82rem !important; }
}
@media screen and (max-width: 420px) {
	#site-header .gc-logo-mark,
	.gc-header .gc-logo-mark { width: 24px !important; height: 24px !important; }
	#site-header .gc-logo-name,
	.gc-header .gc-logo-name { font-size: .72rem !important; }
}

/* =============================================================================
   HEADER — FINAL CLEAN REWRITE (new class names, no conflicts)
   ============================================================================= */

/* Visibility helpers */
.gc-desktop-only { display: flex; }
.gc-mobile-only  { display: none;  }

@media (max-width: 900px) {
	.gc-desktop-only { display: none  !important; }
	.gc-mobile-only  { display: flex  !important; }
}

/* ── Base header ── */
.gc-header {
	background: rgba(13,15,26,.95) !important;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	border-bottom: 1px solid rgba(255,255,255,.07);
	position: -webkit-sticky !important;
	position: sticky !important;
	top: 0 !important;
	z-index: 9999 !important;
	width: 100%;
}
.admin-bar .gc-header { top: 32px !important; }
@media screen and (max-width: 782px) { .admin-bar .gc-header { top: 46px !important; } }

/* ── Inner: 3-zone flex ── */
.gc-hdr-inner {
	max-width: 1240px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 1.75rem;
	height: 72px;
	gap: 1.5rem;
	box-sizing: border-box;
}

/* ── Logo zone ── */
.gc-hdr-logo { flex-shrink: 1; min-width: 0; overflow: hidden; }
.gc-hdr-logo-link {
	display: flex;
	align-items: center;
	gap: .6rem;
	text-decoration: none;
}
/* Image logo — CSS controls size (PHP filter removed width/height attrs) */
.gc-hdr-logo-link img {
	display: block !important;
	width: auto !important;
	height: auto !important;
	max-width: 280px !important;
	max-height: 58px !important;
	object-fit: contain !important;
}
/* Text logo fallback */
.gc-hdr-logo-mark {
	width: 34px; height: 34px; border-radius: 7px; flex-shrink: 0;
	display: flex; align-items: center; justify-content: center;
	font-family: var(--gc-font-logo); font-size: .72rem; font-weight: 900;
	color: var(--gc-bg-base);
}
.gc-hdr-logo-name {
	font-family: var(--gc-font-logo); font-size: 1rem; font-weight: 700;
	color: var(--gc-accent); letter-spacing: .05em; white-space: nowrap;
}

/* ── Nav zone ── */
.gc-hdr-nav { flex: 1; display: flex; align-items: stretch; justify-content: center; }
.gc-hdr-nav-list { list-style: none; margin: 0; padding: 0; display: flex; align-items: stretch; }
.gc-hdr-nav-link {
	display: flex; align-items: center; padding: 0 1rem;
	font-family: var(--gc-font-display); font-size: .78rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .07em;
	color: var(--gc-text-muted); text-decoration: none;
	border-bottom: 2px solid transparent; height: 100%;
	transition: color .2s, border-color .2s; white-space: nowrap;
}
.gc-hdr-nav-link:hover { color: var(--gc-text); border-bottom-color: rgba(255,255,255,.3); }

/* ── Right controls zone ── */
.gc-hdr-right {
	display: flex;
	align-items: center;
	gap: .65rem;
	flex-shrink: 0;
}

/* Live badge */
.gc-hdr-live {
	display: flex; align-items: center; gap: .35rem;
	font-family: var(--gc-font-display); font-size: .65rem;
	font-weight: 700; text-transform: uppercase; letter-spacing: .1em;
	color: var(--gc-accent-danger);
}

/* Search button — NEW STYLE: outlined pill with icon + text */
.gc-hdr-search-btn {
	display: flex; align-items: center; gap: .4rem;
	background: transparent;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 999px;
	color: rgba(255,255,255,.7);
	font-family: var(--gc-font-display); font-size: .72rem;
	font-weight: 600; text-transform: uppercase; letter-spacing: .06em;
	padding: .38rem .9rem;
	cursor: pointer;
	transition: all .2s;
	white-space: nowrap;
}
.gc-hdr-search-btn:hover {
	border-color: var(--gc-accent);
	color: var(--gc-accent);
	background: rgba(0,229,255,.07);
}
.gc-hdr-search-btn svg { flex-shrink: 0; }

/* Login button */
.gc-hdr-login-btn {
	font-family: var(--gc-font-display); font-size: .74rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .08em;
	color: var(--gc-text-muted); border: 1px solid rgba(255,255,255,.2);
	padding: .4rem 1rem; border-radius: 5px; text-decoration: none;
	transition: all .2s; white-space: nowrap;
}
.gc-hdr-login-btn:hover { color: var(--gc-text); border-color: rgba(255,255,255,.5); }

/* CTA button */
.gc-hdr-cta-btn {
	background: var(--gc-accent); color: var(--gc-bg-base) !important;
	font-family: var(--gc-font-display); font-size: .76rem; font-weight: 800;
	text-transform: uppercase; letter-spacing: .1em;
	padding: .5rem 1.25rem; border-radius: 5px;
	text-decoration: none; transition: all .2s;
	white-space: nowrap; box-shadow: 0 0 14px rgba(0,229,255,.2);
	flex-shrink: 0;
}
.gc-hdr-cta-btn:hover { background: var(--gc-accent-2); color: #fff !important; }

/* Hamburger */
.gc-hdr-hamburger {
	display: none; flex-direction: column; justify-content: center;
	align-items: center; gap: 5px;
	width: 40px; height: 40px; min-width: 40px;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 7px; cursor: pointer; padding: 0; flex-shrink: 0;
}
.gc-hdr-hamburger span {
	display: block; width: 20px; height: 2px;
	background: #ffffff; border-radius: 2px;
	transition: all .3s ease;
}
.gc-hdr-hamburger.gc-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.gc-hdr-hamburger.gc-open span:nth-child(2) { opacity: 0; }
.gc-hdr-hamburger.gc-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile menu */
.gc-hdr-mobile-menu {
	display: none; flex-direction: column;
	background: var(--gc-bg-card); border-top: 1px solid rgba(255,255,255,.07);
}
.gc-hdr-mobile-menu.gc-open { display: flex; }
.gc-hdr-mobile-list { list-style: none; margin: 0; padding: 0; }
.gc-hdr-mobile-list li { border-bottom: 1px solid rgba(255,255,255,.05); }
.gc-hdr-mobile-list a {
	display: block; padding: .9rem 1.5rem;
	font-family: var(--gc-font-display); font-size: .82rem;
	font-weight: 700; text-transform: uppercase; letter-spacing: .07em;
	color: var(--gc-text); text-decoration: none;
}
.gc-hdr-mobile-list a:hover { color: var(--gc-accent); }
.gc-hdr-mobile-footer {
	display: flex; gap: .75rem; padding: 1rem 1.5rem;
	border-top: 1px solid rgba(255,255,255,.07);
}
.gc-hdr-mobile-footer .gc-hdr-cta-btn { flex: 1; text-align: center; }
.gc-hdr-mobile-footer .gc-hdr-login-btn { flex: 0 0 auto; }

/* ── RESPONSIVE ── */

/* Tablet 900px */
@media (max-width: 900px) {
	.gc-hdr-inner { height: 64px; padding: 0 1.25rem; gap: .75rem; }
	.gc-hdr-nav   { display: none; }
	.gc-hdr-hamburger { display: flex !important; }
	.gc-hdr-logo-link img { max-width: 200px !important; max-height: 48px !important; }
	.gc-hdr-cta-btn { font-size: .72rem; padding: .45rem 1rem; }
}

/* Mobile 640px */
@media (max-width: 640px) {
	.gc-hdr-inner { height: 56px; padding: 0 .875rem; gap: .5rem; }
	.gc-hdr-logo-link img { max-width: 160px !important; max-height: 40px !important; }
	.gc-hdr-cta-btn { font-size: .68rem; padding: .4rem .85rem; }
	.gc-hdr-hamburger { width: 38px; height: 38px; min-width: 38px; }
}

/* Small 480px */
@media (max-width: 480px) {
	.gc-hdr-inner { height: 52px; padding: 0 .75rem; gap: .4rem; }
	.gc-hdr-logo-link img { max-width: 130px !important; max-height: 34px !important; }
	.gc-hdr-cta-btn { font-size: .64rem; padding: .38rem .75rem; letter-spacing: .06em; }
	.gc-hdr-hamburger { width: 36px; height: 36px; min-width: 36px; }
	.gc-hdr-hamburger span { width: 18px; }
}

/* Extra small 380px */
@media (max-width: 380px) {
	.gc-hdr-inner { height: 50px; padding: 0 .65rem; gap: .35rem; }
	.gc-hdr-logo-link img { max-width: 110px !important; max-height: 30px !important; }
	.gc-hdr-cta-btn { font-size: .6rem; padding: .35rem .65rem; }
	.gc-hdr-hamburger { width: 34px; height: 34px; min-width: 34px; }
}

/* =============================================================================
   LOGO RESPONSIVE — 350×100px desktop, scales proportionally on mobile
   Aspect ratio maintained: 3.5:1 (350÷100)
   ============================================================================= */

/* Desktop (>900px): full 350×100px, taller header to fit */
@media (min-width: 901px) {
	.gc-hdr-inner { height: 116px !important; padding: 0 2rem !important; }

	.gc-hdr-logo-link img,
	.gc-hdr-logo-link .custom-logo-link img,
	#site-header .custom-logo-link img,
	.gc-header .custom-logo-link img {
		max-width: 350px !important;
		max-height: 100px !important;
		width: auto !important;
		height: auto !important;
	}
}

/* Tablet (≤900px): 210×60px */
@media (max-width: 900px) {
	.gc-hdr-inner { height: 80px !important; padding: 0 1.25rem !important; }

	.gc-hdr-logo-link img,
	.gc-hdr-logo-link .custom-logo-link img,
	#site-header .custom-logo-link img {
		max-width: 210px !important;
		max-height: 60px !important;
		width: auto !important;
		height: auto !important;
	}
}

/* Mobile (≤640px): 175×50px */
@media (max-width: 640px) {
	.gc-hdr-inner { height: 68px !important; padding: 0 .875rem !important; }

	.gc-hdr-logo-link img,
	.gc-hdr-logo-link .custom-logo-link img,
	#site-header .custom-logo-link img {
		max-width: 175px !important;
		max-height: 50px !important;
		width: auto !important;
		height: auto !important;
	}
}

/* Small mobile (≤480px): 140×40px */
@media (max-width: 480px) {
	.gc-hdr-inner { height: 58px !important; padding: 0 .75rem !important; }

	.gc-hdr-logo-link img,
	.gc-hdr-logo-link .custom-logo-link img,
	#site-header .custom-logo-link img {
		max-width: 140px !important;
		max-height: 40px !important;
		width: auto !important;
		height: auto !important;
	}
}

/* Extra small (≤380px): 105×30px */
@media (max-width: 380px) {
	.gc-hdr-inner { height: 52px !important; padding: 0 .65rem !important; }

	.gc-hdr-logo-link img,
	.gc-hdr-logo-link .custom-logo-link img,
	#site-header .custom-logo-link img {
		max-width: 105px !important;
		max-height: 30px !important;
		width: auto !important;
		height: auto !important;
	}
}

/* =============================================================================
   FIX: Show search, login, live on ALL screen sizes when enabled in Customizer
   ============================================================================= */

/* Override any previous rules that hid these on mobile */
.gc-hdr-live,
.gc-hdr-search-btn,
.gc-hdr-login-btn {
	display: flex !important;
}

/* On very small screens, make them compact but still visible */
@media (max-width: 480px) {
	/* Hide login text label, keep icon-style */
	.gc-hdr-login-btn { padding: .38rem .65rem !important; font-size: .62rem !important; }
	.gc-hdr-search-btn span { display: none; } /* hide "Search" text, keep icon only */
	.gc-hdr-search-btn { padding: .38rem .5rem !important; }
	.gc-hdr-live { font-size: .58rem !important; gap: .25rem !important; }
}

/* =============================================================================
   SINGLE POST — Featured Image + Content Fixes
   ============================================================================= */

/* ── Remove unwanted border from post content ── */
.gc-post-content,
.gc-post-content *,
.entry-content,
.gc-post-main .entry-content,
.gc-article-body .entry-content {
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}
/* Keep only code blocks styled */
.gc-post-content pre,
.gc-post-content code { border: var(--gc-border) !important; box-shadow: none !important; }
.gc-post-content blockquote { border: none !important; border-left: 4px solid var(--gc-accent) !important; box-shadow: none !important; }

/* ── Featured Hero Image — 1200×630px responsive ── */
.gc-post-hero-wrap {
	width: 100%;
	background: var(--gc-bg-elevated);
}
.gc-post-hero-img {
	position: relative;
	width: 100%;
	aspect-ratio: 1200 / 630;   /* maintains 1.9:1 ratio */
	max-height: 520px;
	overflow: hidden;
}
.gc-post-hero-photo {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block !important;
}
.gc-post-hero-gradient {
	position: absolute; inset: 0;
	background: linear-gradient(0deg, var(--gc-bg-base) 0%, rgba(13,15,26,.35) 50%, transparent 100%);
	pointer-events: none;
}
.gc-post-hero-cats {
	position: absolute; bottom: 1.5rem; left: 1.5rem;
	display: flex; gap: .5rem; z-index: 2;
}
.gc-post-hero-placeholder-bar {
	background: var(--gc-bg-elevated);
	border-bottom: var(--gc-border);
}

/* ── Post body layout ── */
.gc-post-body-wrap { background: var(--gc-bg-base); padding-bottom: 5rem; }
.gc-post-layout {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 3rem;
	padding-top: 2.5rem;
	align-items: start;
}
.gc-post-main { min-width: 0; }

/* ── Post title and meta ── */
.gc-post-title {
	font-family: var(--gc-font-display) !important;
	font-size: clamp(1.8rem, 3.5vw, 2.8rem) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	line-height: 1.1 !important;
	color: var(--gc-text) !important;
	margin: 0 0 1.25rem !important;
}
.gc-post-meta-row {
	display: flex; flex-wrap: wrap; gap: 1.25rem;
	color: var(--gc-text-muted); font-size: .8rem; margin-bottom: 1.5rem;
}
.gc-meta-item { display: flex; align-items: center; gap: .4rem; }
.gc-meta-item svg { color: var(--gc-accent); flex-shrink: 0; }
.gc-post-header-divider { height: 1px; background: var(--gc-bg-elevated); margin-bottom: 2rem; }

/* ── Card footer in archive ── */
.gc-mag-card-footer {
	display: flex; align-items: center; justify-content: space-between;
	margin-top: .6rem;
}

/* ── Responsive: single post ── */
@media (max-width: 960px) {
	.gc-post-layout { grid-template-columns: 1fr; gap: 2rem; }
	.gc-post-sidebar { position: static; }
}
@media (max-width: 640px) {
	.gc-post-hero-img { max-height: 280px; }
	.gc-post-title { font-size: clamp(1.5rem, 6vw, 2rem) !important; }
	.gc-post-meta-row { gap: .75rem; font-size: .76rem; }
	.gc-post-nav { grid-template-columns: 1fr; }
	.gc-post-body-wrap { padding-bottom: 3rem; }
}
@media (max-width: 480px) {
	.gc-post-hero-img { max-height: 220px; }
	.gc-post-hero-cats { bottom: 1rem; left: 1rem; }
	.gc-post-body-wrap { padding-bottom: 2rem; }
}

/* ── Blog cards on homepage (gc-blog-section) ── */
.gc-blog-card {
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
}
.gc-blog-card:hover { transform: translateY(-4px); box-shadow: 0 8px 32px rgba(0,229,255,.12); }
.gc-blog-thumb {
	width: 100% !important;
	height: 200px !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform .4s ease;
}
.gc-blog-card:hover .gc-blog-thumb { transform: scale(1.04); }
.gc-blog-thumb-link { display: block; overflow: hidden; }
.gc-blog-body { padding: 1.25rem; }
.gc-blog-cat a { color: var(--gc-accent); text-decoration: none; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; }
.gc-blog-title { font-family: var(--gc-font-display); font-size: 1.05rem; font-weight: 700; text-transform: uppercase; margin: .4rem 0 .5rem; }
.gc-blog-title a { color: var(--gc-text); text-decoration: none; transition: color .2s; }
.gc-blog-title a:hover { color: var(--gc-accent); }
.gc-blog-excerpt { color: var(--gc-text-muted); font-size: .84rem; line-height: 1.55; margin-bottom: .6rem; }
.gc-blog-date { font-size: .72rem; color: var(--gc-text-faint); }

/* ── Archive card image fix ── */
.gc-mag-featured-img {
	background-size: cover !important;
	background-position: center !important;
}
.gc-mag-card-img {
	background-size: cover !important;
	background-position: center !important;
}

/* =============================================================================
   SINGLE POST — REDESIGNED CLEAN (gcs- prefix, no conflicts)
   ============================================================================= */

/* ── Hero section ── */
.gcs-hero-section {
	position: relative;
	width: 100%;
	background: var(--gc-bg-base);
}
.gcs-hero-img-wrap {
	width: 100%;
	aspect-ratio: 1200 / 630;
	max-height: 540px;
	overflow: hidden;
	display: block;
	position: relative;
}
.gcs-hero-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center top !important;
	display: block !important;
}
.gcs-hero-overlay {
	position: absolute; inset: 0;
	background: linear-gradient(
		0deg,
		rgba(13,15,26,1) 0%,
		rgba(13,15,26,.5) 35%,
		rgba(13,15,26,.1) 70%,
		transparent 100%
	);
}

/* Title block — sits below hero, overlaps slightly via negative margin */
.gcs-hero-content {
	background: var(--gc-bg-base);
	margin-top: -60px;
	position: relative;
	z-index: 2;
	padding: 1.5rem 0 0;
}
.gcs-cats { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: .9rem; }
.gcs-title {
	font-family: var(--gc-font-display) !important;
	font-size: clamp(1.8rem, 3.5vw, 3rem) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	line-height: 1.05 !important;
	color: var(--gc-text) !important;
	margin: 0 0 1rem !important;
}
.gcs-meta {
	display: flex; align-items: center; flex-wrap: wrap; gap: .5rem;
	color: var(--gc-text-muted); font-size: .8rem; padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--gc-bg-elevated);
}
.gcs-meta-item { display: flex; align-items: center; gap: .35rem; }
.gcs-meta-item svg { color: var(--gc-accent); flex-shrink: 0; }
.gcs-meta-sep { color: var(--gc-text-faint); }

/* ── Body layout ── */
.gcs-body { padding: 2.5rem 0 5rem; background: var(--gc-bg-base); }
.gcs-layout {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 3rem;
	align-items: start;
}

/* ── Content area ── */
.gcs-content { min-width: 0; }
.gcs-post-content {
	color: var(--gc-text-muted);
	font-size: 1rem;
	line-height: 1.8;
	margin-bottom: 2.5rem;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}
.gcs-post-content > * { border: none !important; }
.gcs-post-content > * + * { margin-top: 1.2em; }
.gcs-post-content h2 { font-family: var(--gc-font-display); font-size: 1.6rem; text-transform: uppercase; color: var(--gc-text); border-left: 4px solid var(--gc-accent) !important; padding-left: 1rem; margin-top: 2.5rem; scroll-margin-top: 80px; }
.gcs-post-content h3 { font-family: var(--gc-font-display); font-size: 1.2rem; text-transform: uppercase; color: var(--gc-accent); scroll-margin-top: 80px; }
.gcs-post-content a { color: var(--gc-accent); text-decoration: underline; text-underline-offset: 3px; }
.gcs-post-content img { border-radius: var(--gc-radius-md); max-width: 100%; display: block; margin: 1.5rem auto; }
.gcs-post-content blockquote { border: none !important; border-left: 4px solid var(--gc-accent) !important; padding: 1rem 1.5rem; background: var(--gc-bg-card); border-radius: 0 var(--gc-radius-sm) var(--gc-radius-sm) 0; margin: 2rem 0; font-style: italic; }
.gcs-post-content ul, .gcs-post-content ol { padding-left: 1.75rem; }
.gcs-post-content li { margin-bottom: .4rem; }
.gcs-post-content li::marker { color: var(--gc-accent); }
.gcs-post-content pre { background: var(--gc-bg-card); border: var(--gc-border) !important; border-radius: var(--gc-radius-sm); padding: 1.25rem; overflow-x: auto; }
.gcs-post-content code { background: var(--gc-bg-card); color: var(--gc-accent); padding: .2em .45em; border-radius: 3px; font-size: .875em; font-family: monospace; border: none !important; }
.gcs-post-content table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.gcs-post-content th, .gcs-post-content td { padding: .7rem 1rem; border: var(--gc-border) !important; }
.gcs-post-content th { background: var(--gc-bg-elevated); color: var(--gc-accent); font-family: var(--gc-font-display); text-transform: uppercase; font-size: .78rem; }

/* Tags */
.gcs-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 2.5rem; padding-top: 1.5rem; border-top: var(--gc-border); }

/* Post nav */
.gcs-post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 3rem; padding-top: 2rem; border-top: var(--gc-border); }
.gcs-nav-card { display: flex; align-items: center; gap: .85rem; background: var(--gc-bg-card); border: var(--gc-border); border-radius: var(--gc-radius-md); padding: 1rem 1.25rem; text-decoration: none; transition: var(--gc-transition); }
.gcs-nav-card:hover { border-color: rgba(0,229,255,.3); transform: translateY(-2px); }
.gcs-nav-next { justify-content: flex-end; text-align: right; }
.gcs-nav-arrow { font-size: 1.2rem; color: var(--gc-accent); flex-shrink: 0; }
.gcs-nav-lbl { display: block; font-size: .65rem; text-transform: uppercase; letter-spacing: .1em; color: var(--gc-text-faint); margin-bottom: .2rem; }
.gcs-nav-ttl { display: block; font-family: var(--gc-font-display); font-size: .88rem; font-weight: 700; color: var(--gc-text); line-height: 1.2; }

/* Sidebar */
.gcs-sidebar { display: flex; flex-direction: column; gap: 1.5rem; position: sticky; top: 100px; }

/* Comments */
.gcs-comments { border-top: var(--gc-border); padding-top: 2.5rem; }

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
	.gcs-layout { grid-template-columns: 1fr; }
	.gcs-sidebar { position: static; }
	.gcs-hero-img-wrap { max-height: 380px; }
}
@media (max-width: 640px) {
	.gcs-hero-content { margin-top: -40px; }
	.gcs-hero-img-wrap { max-height: 260px; }
	.gcs-title { font-size: clamp(1.4rem, 6vw, 2rem) !important; }
	.gcs-meta { font-size: .74rem; gap: .4rem; }
	.gcs-post-nav { grid-template-columns: 1fr; }
	.gcs-body { padding: 2rem 0 3rem; }
}
@media (max-width: 480px) {
	.gcs-hero-img-wrap { max-height: 210px; }
	.gcs-hero-content { margin-top: -30px; }
	.gcs-title { font-size: clamp(1.2rem, 7vw, 1.7rem) !important; }
}

/* =============================================================================
   LOGO — Viewport-based scaling (never overflows)
   ============================================================================= */
.gc-hdr-logo-link img,
.gc-hdr-logo-link .custom-logo-link img,
#site-header .custom-logo-link img {
	/* clamp(min, preferred, max) — scales with viewport */
	max-width: clamp(90px, 38vw, 350px) !important;
	max-height: clamp(28px, 11vw, 100px) !important;
	width: auto !important;
	height: auto !important;
	display: block !important;
	object-fit: contain !important;
}

/* Desktop: full size */
@media (min-width: 901px) {
	.gc-hdr-logo-link img,
	.gc-hdr-logo-link .custom-logo-link img {
		max-width: 350px !important;
		max-height: 80px !important;
	}
}


/* =============================================================================
   DESIGN C — GLASS NEON  |  Single Post + Archive
   ============================================================================= */

/* Reading progress bar */
#gc-reading-bar {
	position: fixed !important; top: 0 !important; left: 0 !important;
	width: 0 !important; height: 3px !important; max-height: 3px !important;
	background: linear-gradient(90deg, var(--gc-accent), var(--gc-accent-2)) !important;
	z-index: 99999 !important; pointer-events: none !important;
	writing-mode: horizontal-tb !important; transform: none !important;
}

/* Shared container */
.dc-single, .dc-archive { background: #08090f; }
.dc-container { max-width: 1240px; margin: 0 auto; padding: 0 2rem; }
.dc-body { background: #08090f; padding: 2.5rem 0 5rem; }
.dc-grid { display: grid; grid-template-columns: 1fr 300px; gap: 2.5rem; align-items: start; }

/* ── SINGLE POST HERO ── */
.dc-hero {
	position: relative; min-height: 520px; display: flex; align-items: flex-end;
	overflow: hidden; background-color: #08090f;
	background-size: cover; background-position: center; background-repeat: no-repeat;
	isolation: isolate;
}
.dc-hero::after { display: none; }
.dc-hero-glow {
	position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: radial-gradient(ellipse 80% 60% at 50% 40%, rgba(0,229,255,.06), transparent 65%);
}
.dc-hero-veil {
	position: absolute; inset: 0; z-index: 2;
	background: linear-gradient(rgba(8,9,15,.7), rgba(8,9,15,.7)),
	            linear-gradient(180deg, rgba(8,9,15,0) 0%, rgba(8,9,15,.5) 50%, rgba(8,9,15,1) 100%);
}

/* Category pills — top left */
.dc-hero-cats-top {
	position: absolute; top: 1.5rem; left: 2rem; z-index: 4;
	display: flex; flex-wrap: wrap; gap: .5rem;
}

/* Title + meta — bottom */
.dc-hero-bottom {
	position: relative; z-index: 4;
	width: 100%; max-width: 1240px; margin: 0 auto;
	padding: 0 2rem 3rem; display: block;
}
.dc-hero-title {
	font-family: var(--gc-font-display) !important;
	font-size: clamp(2rem, 4vw, 3.2rem) !important;
	font-weight: 700 !important; text-transform: uppercase !important;
	line-height: 1.0 !important; color: #fff !important;
	margin: 0 0 1.1rem !important;
	text-shadow: 0 2px 30px rgba(0,229,255,.15) !important;
}
.dc-hero-meta { display: flex; flex-wrap: wrap; gap: 1.25rem; margin: 0 !important; }
.dc-meta-item { display: flex; align-items: center; gap: .4rem; font-size: .8rem; color: rgba(255,255,255,.65); }
.dc-meta-item svg { color: var(--gc-accent); flex-shrink: 0; }

/* Category pill style */
.dc-cat-pill {
	display: inline-block; font-size: .63rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .14em;
	color: var(--gc-accent); background: rgba(0,229,255,.1);
	border: 1px solid rgba(0,229,255,.3); border-radius: 999px;
	padding: .28em .9em; text-decoration: none; transition: all .2s;
}
.dc-cat-pill:hover { background: var(--gc-accent); color: var(--gc-bg-base); }

/* Glass card */
.dc-glass-card {
	background: rgba(18,20,31,.75); border: 1px solid rgba(255,255,255,.07);
	border-radius: 16px; padding: 2.5rem;
	backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
	box-shadow: 0 8px 40px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.06);
}

/* TOC */
.dc-toc {
	background: rgba(0,229,255,.04); border: 1px solid rgba(0,229,255,.12);
	border-radius: 10px; padding: 1.1rem 1.4rem; margin-bottom: 2.5rem;
}
.dc-toc-head { font-family: var(--gc-font-display); font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--gc-accent); display: flex; align-items: center; gap: .45rem; margin-bottom: .5rem; }
.dc-toc-list { list-style: none; padding: 0; margin: 0; columns: 2; gap: 1.5rem; }
.dc-toc-list li { break-inside: avoid; margin-bottom: .35rem; }
.dc-toc-list li a { font-size: .8rem; color: var(--gc-text-muted); text-decoration: none; display: flex; align-items: flex-start; gap: .35rem; transition: color .2s; line-height: 1.4; }
.dc-toc-list li a::before { content: "▸"; color: var(--gc-accent); font-size: .65rem; flex-shrink: 0; margin-top: .2rem; }
.dc-toc-list li a:hover { color: var(--gc-accent); }
.dc-toc-list li.gc-toc-sub a { padding-left: .75rem; }

/* Content */
.dc-content { color: rgba(160,168,192,.9); font-size: .98rem; line-height: 1.82; margin-bottom: 2.5rem; }
.dc-content h2 { font-family: var(--gc-font-display) !important; font-size: 1.55rem; font-weight: 700; text-transform: uppercase; color: #fff !important; margin: 2.5rem 0 .75rem; padding-bottom: .6rem; border-bottom: 1px solid rgba(0,229,255,.15) !important; display: flex; align-items: center; gap: .65rem; }
.dc-content h2::before { content: ""; display: inline-block; width: 28px; height: 3px; flex-shrink: 0; background: linear-gradient(90deg, var(--gc-accent), var(--gc-accent-2)); border-radius: 2px; }
.dc-content h3 { font-family: var(--gc-font-display) !important; font-size: 1.2rem; color: var(--gc-accent) !important; margin-top: 1.75rem; }
.dc-content a { color: var(--gc-accent); text-decoration: underline; text-underline-offset: 3px; }
.dc-content blockquote { background: linear-gradient(135deg, rgba(0,229,255,.05), rgba(124,58,237,.05)) !important; border: 1px solid rgba(0,229,255,.12) !important; border-radius: 10px !important; padding: 1.4rem 2rem !important; font-style: italic; margin: 2rem 0; }
.dc-content img { border-radius: 12px; max-width: 100%; height: auto; display: block; margin: 1.5rem auto; }
.dc-content ul, .dc-content ol { padding-left: 1.75rem; }
.dc-content li::marker { color: var(--gc-accent); }
.dc-content pre { background: rgba(0,0,0,.4) !important; border: 1px solid rgba(255,255,255,.08) !important; border-radius: 10px; padding: 1.5rem; overflow-x: auto; }
.dc-content code { background: rgba(0,229,255,.08) !important; color: var(--gc-accent) !important; padding: .2em .5em; border-radius: 4px; font-size: .875em; font-family: monospace; }
.dc-content pre code { background: none !important; padding: 0; }

/* Tags */
.dc-tags { display: flex; flex-wrap: wrap; gap: .4rem; padding-top: 1.5rem; margin-bottom: 2.5rem; border-top: 1px solid rgba(255,255,255,.06); }
.dc-tag { font-size: .68rem; font-weight: 700; color: var(--gc-accent); background: rgba(0,229,255,.08); border: 1px solid rgba(0,229,255,.2); border-radius: 999px; padding: .24em .8em; text-decoration: none; transition: all .2s; }
.dc-tag:hover { background: rgba(0,229,255,.18); }

/* Post nav */
.dc-post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.06); }
.dc-nav-btn { display: flex; align-items: center; gap: .85rem; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 1rem 1.25rem; text-decoration: none; transition: all .25s; }
.dc-nav-btn:hover { border-color: rgba(0,229,255,.3); background: rgba(0,229,255,.05); }
.dc-nav-next { justify-content: flex-end; text-align: right; }
.dc-nav-arrow { font-size: 1.2rem; color: var(--gc-accent); flex-shrink: 0; }
.dc-nav-lbl { display: block; font-size: .63rem; text-transform: uppercase; letter-spacing: .1em; color: var(--gc-text-faint); margin-bottom: .2rem; }
.dc-nav-title { display: block; font-family: var(--gc-font-display); font-size: .88rem; font-weight: 700; color: #fff; line-height: 1.2; }
.dc-comments { border-top: 1px solid rgba(255,255,255,.06); padding-top: 2.5rem; margin-top: 2rem; }

/* ── SIDEBAR ── */
.dc-sidebar { display: flex; flex-direction: column; gap: 1.25rem; position: sticky; top: 100px; }
.gc-sidebar-cta { background: linear-gradient(160deg, rgba(0,229,255,.1), rgba(124,58,237,.1)) !important; border: 1px solid rgba(0,229,255,.18) !important; border-radius: 16px !important; padding: 1.75rem !important; text-align: center; box-shadow: 0 0 30px rgba(0,229,255,.07) !important; }
.gc-sidebar-cta-icon { font-size: 2.5rem; margin-bottom: .75rem; }
.gc-sidebar-cta-title { font-family: var(--gc-font-display); font-size: 1.1rem; font-weight: 700; text-transform: uppercase; color: #fff; margin-bottom: .4rem; }
.gc-sidebar-cta-sub { font-size: .8rem; color: var(--gc-text-muted); margin-bottom: 1.25rem; line-height: 1.5; }
.gc-sidebar-cta-btn { display: block; background: var(--gc-accent-danger) !important; color: #fff !important; font-family: var(--gc-font-display); font-size: .76rem; font-weight: 800; text-transform: uppercase; padding: .65rem 1rem; border-radius: 8px; text-decoration: none; transition: all .2s; }
.gc-sidebar-cta-btn:hover { transform: translateY(-1px); }
.gc-sidebar-cta-disc { font-size: .65rem; color: var(--gc-text-faint); margin-top: .6rem; }
.dc-widget { background: rgba(18,20,31,.7); border: 1px solid rgba(255,255,255,.07); border-radius: 14px; padding: 1.25rem; }
.dc-widget-title { font-family: var(--gc-font-display); font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .16em; color: var(--gc-accent); margin-bottom: 1rem; padding-bottom: .6rem; border-bottom: 1px solid rgba(0,229,255,.1); }
.dc-related-item { display: flex; gap: .75rem; padding: .65rem 0; border-bottom: 1px solid rgba(255,255,255,.04); text-decoration: none; align-items: center; transition: all .2s; }
.dc-related-item:last-child { border-bottom: none; }
.dc-related-item:hover .dc-related-title { color: var(--gc-accent); }
.dc-related-thumb { width: 60px; height: 52px; flex-shrink: 0; border-radius: 8px; overflow: hidden; background: rgba(255,255,255,.05); display: flex; align-items: center; justify-content: center; }
.dc-related-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dc-related-thumb span { font-size: 1.3rem; opacity: .4; }
.dc-related-info { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.dc-related-cat { font-size: .58rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--gc-accent); }
.dc-related-title { font-family: var(--gc-font-display); font-size: .8rem; font-weight: 700; text-transform: uppercase; color: #fff; line-height: 1.25; transition: color .2s; }
.dc-related-date { font-size: .65rem; color: var(--gc-text-faint); }
.dc-cat-list { list-style: none; padding: 0; margin: 0; }
.dc-cat-list li { border-bottom: 1px solid rgba(255,255,255,.04); }
.dc-cat-list li:last-child { border-bottom: none; }
.dc-cat-link { display: flex; align-items: center; justify-content: space-between; padding: .55rem 0; font-size: .83rem; color: var(--gc-text-muted); text-decoration: none; transition: color .2s; }
.dc-cat-link:hover, .dc-cat-active { color: var(--gc-accent) !important; }
.dc-cat-count { background: rgba(255,255,255,.06); color: var(--gc-text-faint); font-size: .62rem; font-weight: 700; padding: .12em .5em; border-radius: 999px; }
.dc-sidebar-post { display: flex; gap: .7rem; padding: .6rem 0; border-bottom: 1px solid rgba(255,255,255,.04); text-decoration: none; align-items: center; transition: all .2s; }
.dc-sidebar-post:last-child { border-bottom: none; }
.dc-sidebar-post:hover .dc-sidebar-title { color: var(--gc-accent); }
.dc-sidebar-thumb { width: 52px; height: 48px; flex-shrink: 0; border-radius: 7px; overflow: hidden; background: rgba(255,255,255,.05); display: flex; align-items: center; justify-content: center; }
.dc-sidebar-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dc-sidebar-thumb span { font-size: 1.1rem; opacity: .35; }
.dc-sidebar-post-info { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.dc-sidebar-cat { font-size: .57rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--gc-accent); }
.dc-sidebar-title { font-family: var(--gc-font-display); font-size: .78rem; font-weight: 700; text-transform: uppercase; color: #fff; line-height: 1.2; transition: color .2s; }
.dc-sidebar-date { font-size: .63rem; color: var(--gc-text-faint); }

/* ── ARCHIVE ── */
.dc-arch-header { position: relative; overflow: hidden; padding: 3.5rem 0 3rem; background: linear-gradient(135deg, #08090f 0%, #100820 55%, #050e12 100%); }
.dc-arch-glow { position: absolute; inset: 0; background: radial-gradient(ellipse 60% 80% at 85% 50%, rgba(0,229,255,.06), transparent 65%); pointer-events: none; }
.dc-arch-header-inner { position: relative; z-index: 1; }
.dc-arch-type { font-size: .6rem; text-transform: uppercase; letter-spacing: .35em; color: var(--gc-accent); margin-bottom: .6rem; display: block; }
.dc-arch-title { font-family: var(--gc-font-display) !important; font-size: clamp(2rem, 5vw, 3rem) !important; font-weight: 700 !important; text-transform: uppercase !important; color: #fff !important; margin-bottom: .5rem !important; }
.dc-arch-desc { color: var(--gc-text-muted); font-size: .9rem; max-width: 540px; margin-bottom: 1.5rem; }
.dc-arch-meta-row { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.dc-arch-count { font-size: .74rem; color: var(--gc-text-faint); }
.dc-arch-filters { display: flex; gap: .4rem; flex-wrap: wrap; }
.dc-arch-filter { font-family: var(--gc-font-display); font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); color: var(--gc-text-muted); padding: .32em .9em; border-radius: 999px; text-decoration: none; transition: all .2s; }
.dc-arch-filter:hover { border-color: rgba(0,229,255,.3); color: var(--gc-accent); }
.dc-filter-on { background: var(--gc-accent) !important; border-color: var(--gc-accent) !important; color: #000 !important; }
.dc-arch-body { padding: 2.5rem 0 4rem; }

/* Featured split card */
.dc-arch-feat-split { display: grid; grid-template-columns: 1fr 1fr; background: rgba(18,20,31,.85); border: 1px solid rgba(255,255,255,.07); border-radius: 16px; overflow: hidden; margin-bottom: 2rem; min-height: 320px; position: relative; box-shadow: 0 8px 40px rgba(0,0,0,.4); }
.dc-arch-feat-img-col { background: linear-gradient(135deg,#0a0f1e,#1a0828); background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; position: relative; min-height: 280px; }
.dc-arch-feat-placeholder { font-size: 5rem; opacity: .15; }
.dc-feat-badge { position: absolute; top: 1rem; left: 1rem; z-index: 2; background: linear-gradient(135deg, var(--gc-accent), var(--gc-accent-2)); color: #fff; font-family: var(--gc-font-display); font-size: .6rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; padding: .25em .85em; border-radius: 999px; box-shadow: 0 0 14px rgba(0,229,255,.4); }
.dc-arch-feat-body { padding: 2rem 2.25rem; display: flex; flex-direction: column; justify-content: center; border-left: 1px solid rgba(255,255,255,.06); }
.dc-arch-cat { display: inline-block; font-size: .62rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--gc-accent); margin-bottom: .65rem; text-decoration: none; transition: color .2s; }
.dc-arch-cat:hover { color: var(--gc-accent-2); }
.dc-arch-feat-title { font-family: var(--gc-font-display); font-size: 1.55rem; font-weight: 700; text-transform: uppercase; line-height: 1.1; color: #fff; margin: 0 0 .75rem; }
.dc-arch-feat-title a { color: inherit; text-decoration: none; transition: color .2s; }
.dc-arch-feat-title a:hover { color: var(--gc-accent); }
.dc-arch-feat-excerpt { font-size: .88rem; color: var(--gc-text-muted); line-height: 1.65; margin-bottom: 1.4rem; }
.dc-arch-feat-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; }
.dc-arch-date { font-size: .73rem; color: var(--gc-text-faint); display: flex; align-items: center; gap: .35rem; }
.dc-read-btn { font-family: var(--gc-font-display); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--gc-accent); border: 1px solid rgba(0,229,255,.3); padding: .36em .95em; border-radius: 6px; text-decoration: none; white-space: nowrap; transition: all .2s; }
.dc-read-btn:hover { background: rgba(0,229,255,.1); }
.dc-read-sm { font-size: .65rem; padding: .28em .75em; }

/* Cards + sidebar row */
.dc-arch-content-row { display: grid; grid-template-columns: 1fr 300px; gap: 2.5rem; align-items: start; }
.dc-arch-sidebar-col { display: flex; flex-direction: column; gap: 1.25rem; position: sticky; top: 90px; }
.dc-arch-cards-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; margin-bottom: 2rem; }
.dc-arch-card { background: rgba(18,20,31,.75); border: 1px solid rgba(255,255,255,.07); border-radius: 12px; overflow: hidden; transition: border-color .2s, transform .2s, box-shadow .2s; }
.dc-arch-card:hover { border-color: rgba(0,229,255,.2); transform: translateY(-3px); box-shadow: 0 8px 30px rgba(0,229,255,.08); }
.dc-arch-card-img-link { display: block; overflow: hidden; line-height: 0; }
.dc-arch-card-img-tag { width: 100% !important; height: auto !important; display: block !important; transition: transform .4s ease; }
.dc-arch-card:hover .dc-arch-card-img-tag { transform: scale(1.04); }
.dc-arch-card-body { padding: 1.1rem; }
.dc-arch-card-title { font-family: var(--gc-font-display); font-size: .95rem; font-weight: 700; text-transform: uppercase; color: #fff; line-height: 1.2; margin: .35rem 0 .4rem; }
.dc-arch-card-title a { color: inherit; text-decoration: none; transition: color .2s; }
.dc-arch-card-title a:hover { color: var(--gc-accent); }
.dc-arch-card-excerpt { font-size: .79rem; color: var(--gc-text-muted); line-height: 1.55; margin-bottom: .65rem; }
.dc-arch-card-footer { display: flex; align-items: center; justify-content: space-between; }

/* Pagination */
.dc-pagination { padding: 2.5rem 0 1rem; display: flex; justify-content: center; }
.dc-pagination .nav-links { display: flex; gap: .4rem; flex-wrap: wrap; align-items: center; justify-content: center; }
.dc-pagination .page-numbers { background: rgba(18,20,31,.8); border: 1px solid rgba(255,255,255,.08); color: #fff; font-family: var(--gc-font-display); font-weight: 700; font-size: .8rem; padding: .5rem 1rem; border-radius: 8px; text-decoration: none; transition: all .2s; min-width: 40px; text-align: center; display: inline-flex; align-items: center; justify-content: center; }
.dc-pagination .page-numbers:hover { border-color: rgba(0,229,255,.3); color: var(--gc-accent); }
.dc-pagination .page-numbers.current { background: var(--gc-accent); border-color: var(--gc-accent); color: #000; }
.dc-pagination .page-numbers.dots { background: transparent; border: none; cursor: default; }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
	.dc-grid { grid-template-columns: 1fr 280px; gap: 2rem; }
	.dc-arch-content-row { grid-template-columns: 1fr 260px; gap: 2rem; }
	.dc-container { padding: 0 1.5rem; }
}
@media (max-width: 900px) {
	.dc-grid { grid-template-columns: 1fr; }
	.dc-sidebar { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
	.dc-sidebar .gc-sidebar-cta { grid-column: 1 / -1; }
	.dc-arch-content-row { grid-template-columns: 1fr; }
	.dc-arch-sidebar-col { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
	.dc-arch-sidebar-col .gc-sidebar-cta { grid-column: 1 / -1; }
}
@media (max-width: 768px) {
	.dc-hero { min-height: 380px; }
	.dc-hero-title { font-size: clamp(1.6rem, 6vw, 2.2rem) !important; }
	.dc-hero-bottom { padding: 0 1.25rem 2.5rem; }
	.dc-hero-cats-top { top: 1rem; left: 1.25rem; }
	.dc-glass-card { padding: 1.5rem; border-radius: 14px; }
	.dc-toc-list { columns: 1; }
	.dc-post-nav { grid-template-columns: 1fr; gap: .75rem; }
	.dc-arch-feat-split { grid-template-columns: 1fr; }
	.dc-arch-feat-img-col { min-height: 200px; }
	.dc-arch-feat-body { padding: 1.25rem; border-left: none; border-top: 1px solid rgba(255,255,255,.06); }
	.dc-arch-feat-title { font-size: 1.25rem; }
	.dc-arch-cards-grid { grid-template-columns: 1fr; }
	.dc-sidebar { grid-template-columns: 1fr; }
	.dc-arch-sidebar-col { grid-template-columns: 1fr; }
	.dc-container { padding: 0 1rem; }
}
@media (max-width: 480px) {
	.dc-hero { min-height: 280px; }
	.dc-hero-title { font-size: clamp(1.3rem, 7vw, 1.75rem) !important; }
	.dc-hero-bottom { padding: 0 1rem 1.75rem; }
	.dc-hero-cats-top { top: .875rem; left: 1rem; }
	.dc-glass-card { padding: 1.25rem; }
}
@media (hover: none) and (pointer: coarse) {
	.dc-arch-card:hover { transform: none !important; box-shadow: none !important; }
	.dc-arch-card:hover .dc-arch-card-img-tag { transform: none !important; }
}

/* ── SEARCH PAGE ── */
.dc-search { background: #08090f; }
.dc-search-header { position: relative; overflow: hidden; padding: 3.5rem 0 3rem; background: linear-gradient(135deg, #08090f 0%, #100820 55%, #050e12 100%); }
.dc-search-term { color: var(--gc-accent); }
.dc-search-form { margin-top: 1.75rem; max-width: 560px; }
.dc-search-input-wrap { display: flex; align-items: center; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: 999px; overflow: hidden; transition: border-color .2s; }
.dc-search-input-wrap:focus-within { border-color: rgba(0,229,255,.4); box-shadow: 0 0 16px rgba(0,229,255,.1); }
.dc-search-input { flex: 1; background: transparent; border: none; outline: none; color: #fff; font-size: .95rem; padding: .85rem 1.5rem; }
.dc-search-input::placeholder { color: var(--gc-text-faint); }
.dc-search-submit { background: var(--gc-accent); border: none; cursor: pointer; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; color: #000; flex-shrink: 0; margin: 3px; border-radius: 999px; transition: all .2s; }
.dc-search-submit:hover { transform: scale(1.05); }
.dc-search-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; margin-bottom: 2rem; }
.dc-no-results { text-align: center; padding: 4rem 0 2rem; }
.dc-no-results-icon { font-size: 4rem; margin-bottom: 1rem; opacity: .6; }
.dc-no-results-title { font-family: var(--gc-font-display); font-size: 1.75rem; font-weight: 700; text-transform: uppercase; color: #fff; margin-bottom: .75rem; }
.dc-no-results-desc { font-size: .9rem; color: var(--gc-text-muted); line-height: 1.65; margin-bottom: 2.5rem; }
.dc-no-results-desc strong { color: var(--gc-accent); }
.dc-no-results-label { font-family: var(--gc-font-display); font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .15em; color: var(--gc-accent); margin-bottom: 1.25rem; text-align: left; }
.dc-no-results-recent { text-align: left; }
@media (max-width: 640px) {
	.dc-search-grid { grid-template-columns: 1fr; }
	.dc-search-header { padding: 2.5rem 0 2rem; }
}

/* ── CAROUSEL ── */
#gc-carousel { overflow: hidden; position: relative; display: block; }
#gc-carousel .gc-carousel-track { height: 100%; }
#gc-carousel .gc-carousel-slide { background-size: cover; background-position: center; background-repeat: no-repeat; }
#gc-carousel .gc-slide-overlay { position: absolute; inset: 0; z-index: 3; }
#gc-carousel .gc-slide-full-link { position: absolute; inset: 0; z-index: 4; }
#gc-carousel .gc-slide-content { position: absolute; bottom: 0; left: 0; right: 0; z-index: 5; padding: 2.5rem 3rem; background: linear-gradient(0deg, rgba(8,9,15,.95) 0%, rgba(8,9,15,.5) 60%, transparent 100%); }
#gc-carousel .gc-slide-title { font-family: var(--gc-font-display) !important; font-size: clamp(1.4rem, 3vw, 2.2rem) !important; font-weight: 700 !important; text-transform: uppercase !important; color: #fff !important; line-height: 1.1 !important; margin-bottom: .5rem !important; text-shadow: 0 2px 20px rgba(0,0,0,.5) !important; }
#gc-carousel .gc-slide-subtitle { font-size: .9rem; color: rgba(255,255,255,.75); margin-bottom: 1.25rem; }
#gc-carousel .gc-slide-btn { display: inline-flex; align-items: center; gap: .5rem; background: var(--gc-accent-danger) !important; color: #fff !important; font-family: var(--gc-font-display) !important; font-size: .78rem !important; font-weight: 800 !important; text-transform: uppercase !important; padding: .6rem 1.5rem !important; border-radius: 6px !important; text-decoration: none; transition: all .2s; }
#gc-carousel .gc-carousel-arrow { background: rgba(13,15,26,.75); border: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(8px); transition: all .2s; z-index: 20; }
#gc-carousel .gc-carousel-arrow:hover { background: rgba(0,229,255,.15); border-color: rgba(0,229,255,.4); }
#gc-carousel .gc-carousel-dots { z-index: 20; gap: .4rem; }
#gc-carousel .gc-dot { width: 6px; height: 6px; border-radius: 999px; background: rgba(255,255,255,.3); transition: all .3s; }
#gc-carousel .gc-dot.gc-dot-active { background: var(--gc-accent); width: 20px; box-shadow: 0 0 8px rgba(0,229,255,.5); }
#gc-carousel .gc-carousel-counter { font-family: var(--gc-font-display); font-size: .72rem; font-weight: 700; color: rgba(255,255,255,.6); background: rgba(13,15,26,.7); border: 1px solid rgba(255,255,255,.1); border-radius: 999px; padding: .25em .85em; z-index: 20; }
#gc-carousel .gc-carousel-progress { display: none; }
@media (max-width: 640px) {
	#gc-carousel .gc-slide-content { padding: 1.5rem 1.25rem; }
}

/* Carousel outer container */
.gc-carousel-outer { max-width: var(--gc-site-width, 1400px); margin: 0 auto; padding: 2rem 2rem; box-sizing: border-box; }
.gc-carousel-outer .gc-carousel { width: 100%; border-radius: 12px; overflow: hidden; }
.gc-main > .gc-carousel-outer:first-child { padding-top: 0; }
@media (max-width: 768px) { .gc-carousel-outer { padding: 1.25rem 1rem; } }
@media (max-width: 480px) { .gc-carousel-outer { padding: 1rem .75rem; } .gc-carousel-outer .gc-carousel { border-radius: 8px; } }

/* ── FEATURES ── */
.gc-features-section { background: var(--gc-bg-base) !important; padding: 4rem 0 !important; }
.gc-features-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 1.5rem !important; margin-top: 2.5rem !important; }
.gc-feature-card { background: var(--gc-bg-card) !important; border: 1px solid rgba(255,255,255,.07) !important; border-top: none !important; border-radius: 14px !important; padding: 2rem 1.75rem !important; display: flex !important; flex-direction: column !important; gap: 1rem !important; position: relative !important; overflow: hidden !important; transition: border-color .25s, transform .25s !important; }
.gc-feature-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--gc-accent), var(--gc-accent-2)); border-radius: 2px 2px 0 0; }
.gc-feature-card:nth-child(2)::before { background: linear-gradient(90deg, var(--gc-accent-2), var(--gc-accent-danger)); }
.gc-feature-card:nth-child(3)::before { background: linear-gradient(90deg, var(--gc-accent-danger), var(--gc-accent)); }
.gc-feature-card:hover { border-color: rgba(0,229,255,.2) !important; transform: translateY(-4px) !important; }
.gc-feature-icon { display: flex !important; align-items: center !important; justify-content: center !important; width: 52px !important; height: 52px !important; background: rgba(0,229,255,.08) !important; border: 1px solid rgba(0,229,255,.15) !important; border-radius: 12px !important; font-size: 1.5rem !important; margin-bottom: 0 !important; flex-shrink: 0 !important; }
.gc-feature-card:nth-child(2) .gc-feature-icon { background: rgba(124,58,237,.08) !important; border-color: rgba(124,58,237,.15) !important; }
.gc-feature-card:nth-child(3) .gc-feature-icon { background: rgba(255,77,109,.08) !important; border-color: rgba(255,77,109,.15) !important; }
.gc-feature-title { font-family: var(--gc-font-display) !important; font-size: 1.1rem !important; font-weight: 700 !important; text-transform: uppercase !important; color: var(--gc-text) !important; margin: 0 !important; }
.gc-feature-text { color: var(--gc-text-muted) !important; font-size: .88rem !important; line-height: 1.65 !important; margin: 0 !important; }
@media (max-width: 900px) { .gc-features-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 560px) {
	.gc-features-grid { grid-template-columns: 1fr !important; gap: 1rem !important; }
	.gc-feature-card { flex-direction: column !important; align-items: flex-start !important; gap: .75rem !important; }
	.gc-feature-icon { width: 48px !important; height: 48px !important; font-size: 1.4rem !important; }
}

/* ── LOGO MOBILE FIX ── */
.gc-hdr-logo { flex-shrink: 1; min-width: 0; overflow: visible !important; }
.gc-hdr-logo-link { overflow: visible !important; min-width: 0; }
.gc-hdr-logo-link .gc-hdr-logo-name { white-space: nowrap; overflow: visible !important; font-size: clamp(.55rem, 3.5vw, 1rem) !important; }
@media (max-width: 900px) { .gc-hdr-logo-link img { max-width: 180px !important; max-height: 46px !important; } }
@media (max-width: 640px) { .gc-hdr-logo-link img { max-width: 150px !important; max-height: 40px !important; } }
@media (max-width: 480px) { .gc-hdr-logo-link img { max-width: 120px !important; max-height: 34px !important; } .gc-hdr-logo-link .gc-hdr-logo-name { font-size: clamp(.5rem, 3.2vw, .85rem) !important; } }
@media (max-width: 380px) { .gc-hdr-logo-link img { max-width: 100px !important; max-height: 28px !important; } }

/* ── THUMBNAIL HELPER ── */
.dc-thumb-img, img.wp-post-image, .gc-blog-thumb { width: 100% !important; height: auto !important; display: block !important; }

/* =============================================================================
   COMPREHENSIVE MOBILE RESPONSIVE FIX
   All elements: images, cards, buttons, badges, typography, layout
   ============================================================================= */

/* ── Base: prevent horizontal overflow ── */
html, body { overflow-x: hidden; max-width: 100%; }
img, video, iframe { max-width: 100%; height: auto; }
* { box-sizing: border-box; }

/* ── Touch targets: minimum 44px ── */
@media (max-width: 768px) {
	.gc-btn, .gc-btn-primary, .gc-btn-outline,
	.gc-hdr-cta-btn, .gc-hdr-login-btn,
	.dc-read-btn, .dc-arch-filter,
	.gc-carousel-arrow { min-height: 44px; }
	.gc-dot { min-width: 18px; min-height: 18px; }
}

/* ════════════════════════════════════════
   HEADER — Mobile
   ════════════════════════════════════════ */
@media (max-width: 768px) {
	/* Inner header: logo + right controls only */
	.gc-hdr-inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0 1rem;
		height: 64px;
		gap: .5rem;
	}
	/* Nav: hide on mobile (hamburger handles it) */
	.gc-hdr-nav { display: none !important; }
	/* Logo */
	.gc-hdr-logo { flex: 1; min-width: 0; }
	.gc-hdr-logo-link img {
		max-width: 140px !important;
		max-height: 38px !important;
		height: auto !important;
		width: auto !important;
	}
	.gc-hdr-logo-name { font-size: clamp(.55rem, 3.5vw, .9rem) !important; }
	/* Right controls */
	.gc-hdr-right { display: flex; align-items: center; gap: .4rem; flex-shrink: 0; }
	/* CTA button: compact on mobile */
	.gc-hdr-cta-btn {
		font-size: .68rem !important;
		padding: .4rem .8rem !important;
		letter-spacing: .04em !important;
		border-radius: 5px !important;
		white-space: nowrap;
	}
	/* Login: hide text, show icon only OR hide entirely */
	.gc-hdr-login-btn { display: none; }
	/* Live badge: compact */
	.gc-hdr-live { font-size: .6rem !important; }
	/* Search btn */
	.gc-hdr-search-btn { width: 36px; height: 36px; }
	/* Hamburger */
	.gc-hdr-hamburger { width: 36px; height: 36px; }
}
@media (max-width: 480px) {
	.gc-hdr-inner { padding: 0 .75rem; height: 58px; }
	.gc-hdr-logo-link img { max-width: 110px !important; max-height: 32px !important; }
	.gc-hdr-cta-btn { font-size: .64rem !important; padding: .35rem .65rem !important; }
	.gc-hdr-live { display: none; } /* hide on smallest screens */
}
@media (max-width: 380px) {
	.gc-hdr-inner { padding: 0 .6rem; gap: .3rem; }
	.gc-hdr-logo-link img { max-width: 90px !important; }
	.gc-hdr-cta-btn { font-size: .6rem !important; padding: .3rem .55rem !important; }
}

/* Mobile menu */
@media (max-width: 768px) {
	.gc-hdr-mobile-menu {
		background: var(--gc-bg-card);
		border-top: 1px solid var(--gc-bg-elevated);
		padding: .75rem 0 1rem;
	}
	.gc-hdr-mobile-list { list-style: none; padding: 0; margin: 0; }
	.gc-hdr-mobile-list li a {
		display: block;
		padding: .75rem 1.25rem;
		font-family: var(--gc-font-display);
		font-size: .9rem;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: .05em;
		color: var(--gc-text-muted);
		text-decoration: none;
		border-bottom: 1px solid var(--gc-bg-elevated);
		transition: color .2s, padding .2s;
	}
	.gc-hdr-mobile-list li a:hover { color: var(--gc-accent); padding-left: 1.75rem; }
	.gc-hdr-mobile-footer {
		display: flex;
		gap: .75rem;
		padding: 1rem 1.25rem 0;
	}
	.gc-hdr-mobile-footer .gc-hdr-cta-btn,
	.gc-hdr-mobile-footer .gc-hdr-login-btn {
		flex: 1;
		text-align: center;
		justify-content: center;
		display: flex;
		align-items: center;
		min-height: 44px;
	}
}

/* ════════════════════════════════════════
   FOOTER — Mobile
   ════════════════════════════════════════ */
@media (max-width: 768px) {
	.gfa-top { padding: 2.5rem 1.25rem 2rem; }
	.gfa-grid {
		grid-template-columns: 1fr 1fr !important;
		gap: 2rem 1.5rem;
	}
	.gfa-brand { grid-column: 1 / -1; } /* Brand takes full width */
	.gfa-brand-desc { font-size: .84rem; max-width: 100%; }
	.gfa-badges { flex-wrap: wrap; gap: .4rem; }
	.gfa-badge { font-size: .7rem; padding: .28em .7em; }
	.gfa-col-heading { font-size: .8rem; }
	.gfa-link { font-size: .82rem; }
	.gfa-social-row { gap: .5rem; flex-wrap: wrap; }
	.gfa-social-btn, .gfa-soc-btn { width: 36px; height: 36px; font-size: .8rem; }
	.gfa-bottom { padding: 1.25rem 1.25rem; }
	.gfa-copyright { font-size: .72rem; }
	.gfa-disclaimer { font-size: .7rem; line-height: 1.5; }
	.gfa-divider-wrap { margin: .75rem 0; }
}
@media (max-width: 540px) {
	.gfa-grid { grid-template-columns: 1fr !important; } /* All single column */
	.gfa-top { padding: 2rem 1rem 1.5rem; }
	.gfa-bottom { flex-direction: column; text-align: center; gap: .75rem; padding: 1rem; }
	.gfa-social-row { justify-content: center; }
}

/* ════════════════════════════════════════
   HOMEPAGE — Mobile
   ════════════════════════════════════════ */

/* Hero section */
@media (max-width: 768px) {
	.gc-hero { padding: 3rem 1.25rem 3.5rem; min-height: auto; }
	.gc-hero-title { font-size: clamp(1.75rem, 7vw, 2.4rem) !important; margin-bottom: .75rem !important; }
	.gc-hero-sub { font-size: .88rem !important; }
	.gc-hero-eyebrow { font-size: .7rem !important; }
	.gc-btn-group { flex-direction: column; align-items: stretch; gap: .75rem; }
	.gc-btn, .gc-btn-primary, .gc-btn-outline {
		width: 100%; text-align: center; justify-content: center;
		font-size: .85rem !important; padding: .75rem 1rem !important;
	}
	.gc-btn-lg { font-size: .9rem !important; padding: .875rem 1.25rem !important; }
}
@media (max-width: 480px) {
	.gc-hero { padding: 2.5rem 1rem 3rem; }
	.gc-hero-title { font-size: clamp(1.5rem, 8vw, 2rem) !important; }
}

/* Stats strip */
@media (max-width: 640px) {
	.gc-strip-inner { gap: 1rem; padding: 1.25rem; flex-wrap: wrap; }
	.gc-strip-stat { min-width: 45%; text-align: center; }
	.gc-strip-num { font-size: clamp(1.4rem, 5vw, 1.9rem) !important; }
	.gc-strip-lbl { font-size: .65rem; }
}

/* Blog section */
@media (max-width: 768px) {
	.gc-blog-grid { grid-template-columns: 1fr 1fr !important; gap: 1rem !important; }
	.gc-blog-card { border-radius: 12px; }
	.gc-blog-body { padding: 1rem !important; }
	.gc-blog-title { font-size: 1rem !important; margin-bottom: .35rem !important; }
	.gc-blog-excerpt { font-size: .8rem !important; -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
	.gc-blog-cat { font-size: .6rem !important; margin-bottom: .3rem !important; }
	.gc-blog-date { font-size: .7rem !important; }
	.gc-blog-thumb { width: 100% !important; height: auto !important; }
	.gc-section-title { font-size: clamp(1.5rem, 5vw, 2rem) !important; }
	.gc-section-label { font-size: .6rem !important; }
}
@media (max-width: 540px) {
	.gc-blog-grid { grid-template-columns: 1fr !important; }
	.gc-blog-card { display: flex; flex-direction: row; align-items: stretch; overflow: hidden; }
	.gc-blog-card a:first-child { width: 120px; flex-shrink: 0; }
	.gc-blog-thumb { width: 120px !important; height: 100% !important; object-fit: cover !important; }
	.gc-blog-body { flex: 1; padding: .875rem !important; }
	.gc-blog-title { font-size: .9rem !important; }
}
@media (max-width: 380px) {
	.gc-blog-card { flex-direction: column; }
	.gc-blog-card a:first-child { width: 100%; }
	.gc-blog-thumb { width: 100% !important; height: 180px !important; }
}

/* CTA section */
@media (max-width: 768px) {
	.gc-cta-section { padding: 3rem 1.25rem; }
	.gc-cta-inner { padding: 2rem 1.25rem; border-radius: 14px; text-align: center; }
	.gc-cta-inner .gc-btn-group { flex-direction: column; align-items: center; }
	.gc-cta-inner .gc-btn { width: 100%; max-width: 320px; }
	.gc-cta-disclaimer { font-size: .72rem; }
}

/* ════════════════════════════════════════
   CATEGORY BADGES — All pages
   ════════════════════════════════════════ */
@media (max-width: 768px) {
	/* Archive filter pills */
	.dc-arch-filters { gap: .3rem; }
	.dc-arch-filter {
		font-size: .62rem !important;
		padding: .28em .7em !important;
		border-radius: 999px;
		min-height: 32px;
		display: inline-flex;
		align-items: center;
	}
	/* Category pill on hero */
	.dc-cat-pill {
		font-size: .58rem !important;
		padding: .22em .7em !important;
	}
	/* Archive category label */
	.dc-arch-cat { font-size: .58rem !important; }
	/* Blog category */
	.gc-blog-cat a {
		font-size: .58rem !important;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: .1em;
	}
	/* Featured badge */
	.dc-feat-badge { font-size: .56rem !important; padding: .2em .65em !important; }
}

/* ════════════════════════════════════════
   BUTTONS — All pages
   ════════════════════════════════════════ */
@media (max-width: 768px) {
	/* Read more button */
	.dc-read-btn {
		font-size: .68rem !important;
		padding: .32em .8em !important;
		min-height: 36px;
		display: inline-flex;
		align-items: center;
	}
	/* Post nav buttons */
	.dc-nav-btn { padding: .875rem 1rem !important; }
	.dc-nav-title { font-size: .82rem !important; }
	.dc-nav-lbl { font-size: .58rem !important; }
	/* Sidebar CTA btn */
	.gc-sidebar-cta-btn { padding: .7rem 1rem !important; font-size: .74rem !important; min-height: 44px; }
}
@media (max-width: 480px) {
	.dc-read-btn { font-size: .64rem !important; padding: .28em .65em !important; }
}

/* ════════════════════════════════════════
   CARDS — Single, Archive, Search, Blog
   ════════════════════════════════════════ */
@media (max-width: 768px) {
	/* Archive card grid: 1 col */
	.dc-arch-cards-grid { grid-template-columns: 1fr !important; gap: 1rem !important; }
	/* Archive card */
	.dc-arch-card { border-radius: 10px; }
	.dc-arch-card-body { padding: .875rem !important; }
	.dc-arch-card-title { font-size: .9rem !important; }
	.dc-arch-card-excerpt { font-size: .76rem !important; }
	/* Featured split: stack */
	.dc-arch-feat-split { grid-template-columns: 1fr !important; border-radius: 12px; }
	.dc-arch-feat-img-col { min-height: 180px !important; border-radius: 12px 12px 0 0 !important; }
	.dc-arch-feat-body { padding: 1.1rem 1.25rem 1.25rem !important; border-left: none !important; border-top: 1px solid rgba(255,255,255,.07) !important; }
	.dc-arch-feat-title { font-size: 1.2rem !important; }
	.dc-arch-feat-excerpt { font-size: .84rem !important; -webkit-line-clamp: 3; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
	.dc-arch-feat-footer { flex-direction: column; align-items: flex-start; gap: .6rem; }
	/* Search grid */
	.dc-search-grid { grid-template-columns: 1fr !important; gap: .875rem !important; }
	/* Glass card */
	.dc-glass-card { padding: 1.25rem !important; border-radius: 12px !important; }
}
@media (max-width: 480px) {
	.dc-arch-feat-title { font-size: 1.1rem !important; }
	.dc-arch-card-title { font-size: .86rem !important; }
}

/* ════════════════════════════════════════
   IMAGES — All pages
   ════════════════════════════════════════ */
/* All images: never overflow, auto height */
.gc-blog-thumb,
.dc-arch-card-img-tag,
.dc-arch-feat-img,
.dc-thumb-img,
img.attachment-gc-featured,
img.attachment-gc-card,
img.attachment-gc-card-lg,
img.attachment-gc-card-sm {
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	display: block !important;
}
/* Featured image in archive split card */
.dc-arch-feat-img-col {
	background-size: cover !important;
	background-position: center !important;
}
/* Content images */
.dc-content img {
	max-width: 100% !important;
	height: auto !important;
	border-radius: 10px;
}
@media (max-width: 768px) {
	.dc-content img { border-radius: 8px !important; margin: 1rem auto !important; }
	.dc-content figure { margin: 1.25rem 0 !important; }
	.dc-related-thumb { width: 52px !important; height: 48px !important; }
	.dc-sidebar-thumb { width: 44px !important; height: 40px !important; }
}

/* ════════════════════════════════════════
   SIDEBAR — Mobile
   ════════════════════════════════════════ */
@media (max-width: 900px) {
	/* Single post sidebar */
	.dc-sidebar {
		position: static !important;
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 1rem !important;
	}
	.dc-sidebar .gc-sidebar-cta { grid-column: 1 / -1 !important; }
	/* Archive sidebar */
	.dc-arch-sidebar-col {
		position: static !important;
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 1rem !important;
	}
	.dc-arch-sidebar-col .gc-sidebar-cta { grid-column: 1 / -1 !important; }
}
@media (max-width: 640px) {
	.dc-sidebar { grid-template-columns: 1fr !important; }
	.dc-sidebar .gc-sidebar-cta { grid-column: auto !important; }
	.dc-arch-sidebar-col { grid-template-columns: 1fr !important; }
	.dc-arch-sidebar-col .gc-sidebar-cta { grid-column: auto !important; }
	/* Compact sidebar widgets */
	.dc-widget { padding: 1rem !important; }
	.gc-sidebar-cta { padding: 1.25rem !important; }
	.gc-sidebar-cta-icon { font-size: 1.75rem; margin-bottom: .5rem; }
	.gc-sidebar-cta-title { font-size: .95rem; }
	.gc-sidebar-cta-sub { font-size: .76rem; }
}

/* ════════════════════════════════════════
   TYPOGRAPHY — Mobile scaling
   ════════════════════════════════════════ */
@media (max-width: 768px) {
	.gc-section-title { font-size: clamp(1.4rem, 5vw, 2rem) !important; text-align: center; }
	.gc-section-label { font-size: .6rem !important; text-align: center; display: block; }
	.dc-arch-title { font-size: clamp(1.6rem, 5vw, 2.2rem) !important; }
	.dc-arch-type { font-size: .56rem !important; letter-spacing: .28em !important; }
	.dc-arch-desc { font-size: .84rem !important; margin-bottom: 1rem !important; }
	.dc-no-results-title { font-size: 1.4rem !important; }
	.dc-no-results-desc { font-size: .84rem !important; }
}
@media (max-width: 480px) {
	.gc-section-title { font-size: clamp(1.25rem, 6vw, 1.75rem) !important; }
	.dc-arch-title { font-size: clamp(1.4rem, 6vw, 1.9rem) !important; }
}

/* ════════════════════════════════════════
   TOC — Mobile
   ════════════════════════════════════════ */
@media (max-width: 640px) {
	.dc-toc { padding: .875rem 1rem !important; margin-bottom: 1.75rem !important; }
	.dc-toc-list { columns: 1 !important; }
	.dc-toc-list li a { font-size: .77rem !important; }
}

/* ════════════════════════════════════════
   SEARCH PAGE — Mobile
   ════════════════════════════════════════ */
@media (max-width: 768px) {
	.dc-search-header { padding: 2.5rem 0 2rem; }
	.dc-search-form { max-width: 100%; margin-top: 1.25rem; }
	.dc-search-input { font-size: .88rem; padding: .75rem 1.1rem; }
	.dc-search-submit { width: 42px; height: 42px; }
}

/* ════════════════════════════════════════
   PAGINATION — Mobile
   ════════════════════════════════════════ */
@media (max-width: 480px) {
	.dc-pagination .page-numbers {
		font-size: .72rem !important;
		padding: .4rem .7rem !important;
		min-width: 34px !important;
	}
	.dc-pagination { padding: 1.5rem 0 .5rem; }
}

/* ════════════════════════════════════════
   CONTAINER — Mobile padding
   ════════════════════════════════════════ */
@media (max-width: 768px) {
	.dc-container, .gc-container { padding-left: 1rem !important; padding-right: 1rem !important; }
}
@media (max-width: 480px) {
	.dc-container, .gc-container { padding-left: .875rem !important; padding-right: .875rem !important; }
}
@media (max-width: 380px) {
	.dc-container, .gc-container { padding-left: .75rem !important; padding-right: .75rem !important; }
}

/* ════════════════════════════════════════
   TOUCH: disable hover effects
   ════════════════════════════════════════ */
@media (hover: none) and (pointer: coarse) {
	.dc-arch-card:hover,
	.gc-blog-card:hover,
	.gc-feature-card:hover { transform: none !important; box-shadow: none !important; }
	.dc-arch-card:hover .dc-arch-card-img-tag { transform: none !important; }
	.dc-arch-featured:hover .dc-arch-feat-img-col { transform: none !important; }
	.dc-read-btn, .dc-cat-pill, .dc-arch-filter,
	.gc-btn, .gc-hdr-cta-btn, .gc-sidebar-cta-btn { min-height: 44px; }
}

/* ── Carousel outer: no top padding when directly below header ── */
.gc-carousel-outer {
	margin-top: 1.5rem;
}
.gc-main > .gc-carousel-outer:first-child {
	margin-top: 1.5rem;
}

/* ── Footer: full-width background ── */
#site-footer,
.site-footer,
.gc-footer-a {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box !important;
}
.gfa-top,
.gfa-bottom,
.gfa-disclaimer-bar {
	width: 100% !important;
	max-width: 100% !important;
}
/* Keep inner content centered */
.gfa-grid,
.gfa-copyright,
.gfa-divider-wrap {
	max-width: var(--gc-site-width, 1400px);
	margin-left: auto;
	margin-right: auto;
}

/* ── Header & Footer: same container width ── */
:root { --gc-container-width: 1240px; --gc-container-pad: 1.75rem; }

.gc-hdr-inner {
	max-width: var(--gc-container-width) !important;
	padding-left: var(--gc-container-pad) !important;
	padding-right: var(--gc-container-pad) !important;
}
.gfa-grid,
.gfa-copyright,
.gfa-divider-wrap,
.gfa-bottom {
	max-width: var(--gc-container-width) !important;
	padding-left: var(--gc-container-pad) !important;
	padding-right: var(--gc-container-pad) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
/* Also match homepage container */
.gc-container,
.dc-container {
	max-width: var(--gc-container-width) !important;
}

@media (max-width: 768px) {
	:root { --gc-container-pad: 1rem; }
}
@media (max-width: 480px) {
	:root { --gc-container-pad: .875rem; }
}
