/*
Theme Name: GeneratePress
Theme URI: https://generatepress.com
Author: Tom Usborne
Author URI: https://generatepress.com/about
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Version: 3.6.1
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: generatepress
Tags: two-columns, three-columns, one-column, right-sidebar, left-sidebar, footer-widgets, blog, e-commerce, flexible-header, full-width-template, buddypress, custom-header, custom-background, custom-menu, custom-colors, sticky-post, threaded-comments, translation-ready, rtl-language-support, featured-images, theme-options

GeneratePress, Copyright 2014-2025 EDGE22 Studios LTD.
GeneratePress is distributed under the terms of the GNU GPL

GeneratePress is based on Underscores http://underscores.me/, (C) 2012-2025 Automattic, Inc.

Actual CSS can be found in /assets/css/ folder.
*/
/* ============================================================
   EXTOLEM — CSS CUSTOM PROPERTIES
   Add to: Appearance → Customize → Additional CSS
   OR: /wp-content/themes/generatepress-child/style.css
   ============================================================ */

:root {

  /* --- Backgrounds --- */
  --ex-bg:              #05080D;
  --ex-bg-2:            #071116;
  --ex-bg-3:            #080E16;
  --ex-panel:           rgba(255,255,255,0.045);
  --ex-panel-strong:    rgba(255,255,255,0.08);
  --ex-panel-hover:     rgba(255,255,255,0.11);

  /* --- Borders --- */
  --ex-border:          rgba(255,255,255,0.10);
  --ex-border-strong:   rgba(255,255,255,0.18);
  --ex-border-mint:     rgba(25,245,195,0.25);

  /* --- Text --- */
  --ex-text:            #F4FFF9;
  --ex-text-muted:      #AAB8B3;
  --ex-text-subtle:     rgba(170,184,179,0.6);

  /* --- Brand Colors --- */
  --ex-mint:            #19F5C3;
  --ex-mint-dim:        rgba(25,245,195,0.12);
  --ex-mint-glow:       rgba(25,245,195,0.25);
  --ex-teal:            #00BFA6;
  --ex-blue:            #4A7DFF;
  --ex-blue-dim:        rgba(74,125,255,0.12);
  --ex-purple:          #7657FF;
  --ex-purple-dim:      rgba(118,87,255,0.12);
  --ex-gold:            #FFD166;
  --ex-gold-dim:        rgba(255,209,102,0.12);
  --ex-red:             #FF4D5E;
  --ex-red-dim:         rgba(255,77,94,0.12);

  /* --- Gradients --- */
  --ex-grad-mint:       linear-gradient(135deg, #19F5C3 0%, #00BFA6 100%);
  --ex-grad-blue:       linear-gradient(135deg, #4A7DFF 0%, #7657FF 100%);
  --ex-grad-hero:       linear-gradient(135deg, #19F5C3 0%, #4A7DFF 55%, #7657FF 100%);
  --ex-grad-warm:       linear-gradient(135deg, #FFD166 0%, #FF4D5E 100%);
  --ex-grad-card-top:   linear-gradient(180deg, rgba(25,245,195,0.08) 0%, transparent 60%);

  /* --- Shadows --- */
  --ex-shadow-sm:       0 2px 12px rgba(0,0,0,0.3);
  --ex-shadow-md:       0 8px 32px rgba(0,0,0,0.45);
  --ex-shadow-lg:       0 20px 60px rgba(0,0,0,0.55);
  --ex-shadow-mint:     0 0 40px rgba(25,245,195,0.15);
  --ex-shadow-blue:     0 0 40px rgba(74,125,255,0.15);
  --ex-shadow-card:     0 4px 24px rgba(0,0,0,0.4), 0 1px 0 rgba(255,255,255,0.06) inset;

  /* --- Border Radius --- */
  --ex-r-xs:            6px;
  --ex-r-sm:            10px;
  --ex-r-md:            16px;
  --ex-r-lg:            24px;
  --ex-r-xl:            36px;
  --ex-r-full:          9999px;

  /* --- Spacing Scale --- */
  --ex-space-xs:        8px;
  --ex-space-sm:        16px;
  --ex-space-md:        32px;
  --ex-space-lg:        64px;
  --ex-space-xl:        100px;
  --ex-space-2xl:       140px;

  /* --- Typography --- */
  --ex-font:            'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ex-font-mono:       'JetBrains Mono', 'Fira Code', 'Courier New', monospace;

  /* --- Transitions --- */
  --ex-ease:            cubic-bezier(0.4, 0, 0.2, 1);
  --ex-ease-spring:     cubic-bezier(0.34, 1.56, 0.64, 1);
  --ex-ease-out:        cubic-bezier(0, 0, 0.2, 1);
  --ex-transition:      all 0.28s var(--ex-ease);
  --ex-transition-slow: all 0.5s var(--ex-ease);

  /* --- Z-Index Scale --- */
  --ex-z-base:          1;
  --ex-z-above:         10;
  --ex-z-nav:           100;
  --ex-z-modal:         200;
  --ex-z-toast:         300;
}

/*
Theme Name:   Extolem
Template:     generatepress
Version:      1.0.0
Description:  Extolem — AI-Powered Growth Systems. Child theme for GeneratePress Premium.
Author:       Extolem
*/

/* ================================================================
   GOOGLE FONTS — loaded via functions.php, not @import for perf
   ================================================================ */

/* ================================================================
   CSS CUSTOM PROPERTIES — EXTOLEM DESIGN SYSTEM
   ================================================================ */
:root {
  /* Backgrounds */
  --ex-bg:              #05080D;
  --ex-bg-2:            #071116;
  --ex-bg-3:            #080F18;
  --ex-panel:           rgba(255,255,255,0.042);
  --ex-panel-strong:    rgba(255,255,255,0.078);
  --ex-panel-hover:     rgba(255,255,255,0.11);

  /* Borders */
  --ex-border:          rgba(255,255,255,0.09);
  --ex-border-md:       rgba(255,255,255,0.14);
  --ex-border-strong:   rgba(255,255,255,0.20);
  --ex-border-mint:     rgba(25,245,195,0.22);

  /* Text */
  --ex-text:            #F4FFF9;
  --ex-text-muted:      #AAB8B3;
  --ex-text-subtle:     rgba(170,184,179,0.55);

  /* Brand — Mint / Teal */
  --ex-mint:            #19F5C3;
  --ex-mint-dim:        rgba(25,245,195,0.10);
  --ex-mint-glow:       rgba(25,245,195,0.22);
  --ex-teal:            #00BFA6;

  /* Brand — Blue / Purple */
  --ex-blue:            #4A7DFF;
  --ex-blue-dim:        rgba(74,125,255,0.10);
  --ex-purple:          #7657FF;
  --ex-purple-dim:      rgba(118,87,255,0.10);

  /* Brand — Accent */
  --ex-gold:            #FFD166;
  --ex-gold-dim:        rgba(255,209,102,0.10);
  --ex-red:             #FF4D5E;
  --ex-red-dim:         rgba(255,77,94,0.10);

  /* Gradients */
  --ex-grad-mint:       linear-gradient(135deg, #19F5C3 0%, #00BFA6 100%);
  --ex-grad-blue:       linear-gradient(135deg, #4A7DFF 0%, #7657FF 100%);
  --ex-grad-hero:       linear-gradient(135deg, #19F5C3 0%, #4A7DFF 55%, #7657FF 100%);
  --ex-grad-warm:       linear-gradient(135deg, #FFD166 0%, #FF4D5E 100%);
  --ex-grad-surface:    linear-gradient(180deg, rgba(25,245,195,0.06) 0%, transparent 55%);

  /* Shadows */
  --ex-shadow-sm:       0 2px 12px rgba(0,0,0,0.35);
  --ex-shadow-md:       0 8px 32px rgba(0,0,0,0.50);
  --ex-shadow-lg:       0 24px 64px rgba(0,0,0,0.60);
  --ex-shadow-mint:     0 0 48px rgba(25,245,195,0.14);
  --ex-shadow-card:     0 4px 24px rgba(0,0,0,0.45), 0 1px 0 rgba(255,255,255,0.055) inset;

  /* Border Radius */
  --ex-r-xs:   6px;
  --ex-r-sm:   10px;
  --ex-r-md:   16px;
  --ex-r-lg:   24px;
  --ex-r-xl:   36px;
  --ex-r-full: 9999px;

  /* Spacing */
  --ex-space-xs:   8px;
  --ex-space-sm:   16px;
  --ex-space-md:   32px;
  --ex-space-lg:   64px;
  --ex-space-xl:   100px;
  --ex-space-2xl:  140px;

  /* Typography */
  --ex-font:      'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ex-font-mono: 'JetBrains Mono', 'Fira Code', 'Courier New', monospace;

  /* Transitions */
  --ex-ease:        cubic-bezier(0.4, 0, 0.2, 1);
  --ex-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ex-ease-out:    cubic-bezier(0, 0, 0.2, 1);
  --ex-t:           all 0.28s var(--ex-ease);
  --ex-t-slow:      all 0.5s var(--ex-ease);

  /* Z-index */
  --ex-z-base:  1;
  --ex-z-above: 10;
  --ex-z-nav:   900;
  --ex-z-modal: 1000;
}


/* ================================================================
   BASE RESET
   ================================================================ */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
}

body {
  background-color: var(--ex-bg);
  color: var(--ex-text);
  font-family: var(--ex-font);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

img, picture, video, canvas, svg { display: block; max-width: 100%; }
input, button, textarea, select { font: inherit; }

/* Selection */
::selection {
  background: var(--ex-mint-dim);
  color: var(--ex-mint);
}

/* Scrollbar */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: var(--ex-bg); }
::-webkit-scrollbar-thumb { background: rgba(25,245,195,0.22); border-radius: var(--ex-r-full); }
::-webkit-scrollbar-thumb:hover { background: var(--ex-mint); }

/* Focus */
:focus-visible {
  outline: 2px solid var(--ex-mint);
  outline-offset: 3px;
  border-radius: var(--ex-r-xs);
}


/* ================================================================
   GENERATEPRESS OVERRIDES
   ================================================================ */
.grid-container        { max-width: 100%; padding: 0; }
.site-content          { background: transparent; }
.site-main             { background: transparent; }
.page .entry-content   { margin: 0; padding: 0; }
.entry-header          { display: none; } /* Hide default GP page titles — we build our own */
.sidebar-primary       { display: none; }
.inside-article        { padding: 0 !important; }

/* GP removes default top margin from content area */
.content-area {
  padding-top: 0 !important;
  margin-top: 0 !important;
}


/* ================================================================
   TYPOGRAPHY
   ================================================================ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--ex-font);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--ex-text);
}

h1 { font-size: clamp(2.4rem, 5.5vw, 4rem);   font-weight: 900; letter-spacing: -0.035em; }
h2 { font-size: clamp(1.85rem, 3.5vw, 2.85rem); font-weight: 800; letter-spacing: -0.028em; }
h3 { font-size: clamp(1.2rem, 2vw, 1.5rem);    font-weight: 700; letter-spacing: -0.015em; }
h4 { font-size: 1.15rem; font-weight: 600; }
h5 { font-size: 0.95rem; font-weight: 600; letter-spacing: 0.01em; }
h6 { font-size: 0.85rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }

p { color: var(--ex-text-muted); line-height: 1.78; }
p + p { margin-top: 1em; }

a { color: var(--ex-mint); text-decoration: none; transition: var(--ex-t); }
a:hover { color: var(--ex-teal); }

strong, b { color: var(--ex-text); font-weight: 600; }
em { color: var(--ex-text-muted); font-style: italic; }

ul, ol { padding-left: 1.5rem; color: var(--ex-text-muted); }
li { margin-bottom: 0.4em; }

hr {
  border: none;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--ex-border-md) 30%, var(--ex-border-md) 70%, transparent 100%);
  margin: var(--ex-space-lg) 0;
}

code {
  font-family: var(--ex-font-mono);
  font-size: 0.875em;
  background: var(--ex-panel-strong);
  border: 1px solid var(--ex-border);
  border-radius: var(--ex-r-xs);
  color: var(--ex-mint);
  padding: 2px 7px;
}

pre {
  font-family: var(--ex-font-mono);
  font-size: 0.875rem;
  background: var(--ex-panel-strong);
  border: 1px solid var(--ex-border);
  border-radius: var(--ex-r-md);
  color: var(--ex-text-muted);
  padding: 24px;
  overflow-x: auto;
  line-height: 1.6;
}

blockquote {
  border-left: 3px solid var(--ex-mint);
  padding: 16px 24px;
  margin: 2rem 0;
  background: var(--ex-panel);
  border-radius: 0 var(--ex-r-md) var(--ex-r-md) 0;
}

blockquote p { color: var(--ex-text); font-size: 1.1rem; font-style: italic; }


/* ================================================================
   LAYOUT SYSTEM
   ================================================================ */

/* Full-width section wrapper */
.ex-section {
  position: relative;
  width: 100%;
  padding: var(--ex-space-xl) var(--ex-space-md);
  overflow: hidden;
}

.ex-section--sm  { padding: var(--ex-space-lg) var(--ex-space-md); }
.ex-section--lg  { padding: var(
