/*
Theme Name:   DIMA.CLOUD — GeneratePress Child
Theme URI:    https://dima.cloud
Description:  Child theme for GeneratePress implementing the DIMA.CLOUD design system (Direction A · Drafted Cloud). Dark navy, electric blue accent, gold punctuation, Unbounded + Onest + JetBrains Mono. Logo mark: geometric cloud SVG.
Author:       Dima Solovyov
Author URI:   https://dima.cloud
Template:     generatepress
Version:      1.3.0
Text Domain:  generatepress-child
*/

/* ============================================================
   DESIGN TOKENS — Direction A · Drafted Cloud
   (Change vars here to switch to Direction B · Cloud Weather:
    swap --bg-0:#0A1220  --accent:#6EE3FF  --gold:#E8C170
    and set --display-weight:400)
   ============================================================ */
:root {
  /* — Backgrounds — */
  --bg-0:   #07090F;   /* page / html */
  --bg-1:   #0D121E;   /* slightly lifted */
  --bg-2:   #141B2D;   /* surface / card */

  /* — Ink — */
  --ink-hi: #EEF2F8;   /* headings / primary text */
  --ink-md: #9AA3B4;   /* body / secondary text */
  --ink-lo: #5A6378;   /* muted / captions */

  /* — Brand colours — */
  --accent:   #4D8BFF; /* electric blue — links, active states */
  --accent-h: #6FA3FF; /* hover variant */
  --gold:     #D4A84A; /* the "." in DIMA.CLOUD, CTAs */
  --gold-h:   #E0BB6A;

  /* — Structural — */
  --line:     rgba(255,255,255,0.08);
  --hair:     rgba(255,255,255,0.06);
  --card-bg:  rgba(255,255,255,0.03);

  /* — Typography scale — */
  --font-display: 'Unbounded', system-ui, sans-serif;
  --font-text:    'Onest', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, 'Cascadia Code', monospace;
  --display-weight: 500;

  /* — Spacing scale — */
  --sp-1:  4px;
  --sp-2:  8px;
  --sp-3:  12px;
  --sp-4:  16px;
  --sp-5:  24px;
  --sp-6:  32px;
  --sp-7:  48px;
  --sp-8:  64px;
  --sp-9:  96px;

  /* — Border radius — */
  --r-sm:  2px;
  --r-md:  4px;
  --r-lg:  8px;
  --r-xl:  14px;

  /* — Max width — */
  --max-w: 1120px;
  --prose-w: 720px;
}

/* ============================================================
   GLOBAL RESET + BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

html {
  background: var(--bg-0);
  color: var(--ink-hi);
  font-family: var(--font-text);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

body {
  background: var(--bg-0);
  color: var(--ink-hi);
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
  padding: 0;
}

/* Background subtle grid overlay (Direction A: blueprint aesthetic) */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(rgba(77,139,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(77,139,255,0.04) 1px, transparent 1px);
  background-size: 80px 80px;
  pointer-events: none;
  z-index: 0;
}

/* All real content sits above the grid */
.site-header,
.site-main,
.site-footer,
#page {
  position: relative;
  z-index: 1;
}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: var(--display-weight);
  color: var(--ink-hi);
  line-height: 1.1;
  letter-spacing: -0.03em;
  margin-top: 0;
}

h1 { font-size: clamp(2.4rem, 6vw, 4.5rem); letter-spacing: -0.04em; }
h2 { font-size: clamp(1.8rem, 4vw, 3rem);   letter-spacing: -0.03em; }
h3 { font-size: clamp(1.3rem, 3vw, 2rem);   letter-spacing: -0.02em; }
h4 { font-size: 1.2rem; }
h5 { font-size: 1rem; }
h6 { font-size: 0.875rem; }

p {
  font-family: var(--font-text);
  color: var(--ink-md);
  font-size: 1.0625rem;
  line-height: 1.65;
  margin: 0 0 1.25em;
}

a {
  color: var(--accent);
  text-decoration: none;
  transition: color 0.15s ease;
}
a:hover { color: var(--accent-h); }

strong, b { color: var(--ink-hi); font-weight: 600; }

code, pre, .mono {
  font-family: var(--font-mono);
  font-size: 0.875em;
}

code {
  background: var(--bg-2);
  color: var(--accent);
  padding: 0.15em 0.4em;
  border-radius: var(--r-sm);
  border: 1px solid var(--line);
}

pre {
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: var(--sp-5);
  overflow-x: auto;
  color: var(--ink-md);
}

pre code {
  background: none;
  border: none;
  padding: 0;
}

blockquote {
  border-left: 2px solid var(--gold);
  margin: var(--sp-6) 0;
  padding: var(--sp-3) var(--sp-5);
  color: var(--ink-md);
  font-style: italic;
}

blockquote p { margin: 0; }

hr {
  border: none;
  border-top: 1px solid var(--line);
  margin: var(--sp-7) 0;
}

/* Section label style (JetBrains Mono uppercase) */
.section-label,
.wp-block-post-terms,
.cat-links,
.tags-links {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ink-lo);
}

/* ============================================================
   LAYOUT — GeneratePress structure overrides
   ============================================================ */
.inside-header,
.inside-navigation,
.inside-article,
.inside-right-sidebar,
.inside-left-sidebar,
.footer-widgets-container,
.inside-footer-widgets,
.inside-site-information {
  max-width: var(--max-w);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--sp-5);
  padding-right: var(--sp-5);
}

/* Content area */
.site-main {
  padding: var(--sp-8) 0;
}

/* Single post / page max-width for readability */
.singular .inside-article .entry-content,
.singular .inside-article .entry-summary {
  max-width: var(--prose-w);
}

/* ============================================================
   HEADER
   ============================================================ */
.site-header {
  background: rgba(7, 9, 15, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 100;
}

.inside-header {
  display: flex;
  align-items: center;
  padding-top: var(--sp-4);
  padding-bottom: var(--sp-4);
  gap: var(--sp-5);
}

/* Site title / logo */
.site-title {
  font-family: var(--font-display);
  font-weight: var(--display-weight);
  font-size: 1.15rem;
  letter-spacing: -0.02em;
  margin: 0;
  line-height: 1;
}

.site-title a {
  color: var(--ink-hi);
  display: inline-flex;
  align-items: center;
  gap: var(--sp-3);
}

.site-title a:hover { color: var(--ink-hi); opacity: 0.85; }

/* Hide default description */
.site-description { display: none; }

/* Custom logo sizing */
.custom-logo-link img,
.custom-logo {
  height: 36px;
  width: auto;
}

/* ============================================================
   NAVIGATION
   ============================================================ */
.main-navigation {
  margin-left: auto;
}

.main-navigation .main-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}

.main-navigation .main-nav ul li a {
  font-family: var(--font-text);
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--ink-md);
  padding: var(--sp-2) var(--sp-3);
  border-radius: var(--r-md);
  transition: color 0.15s, background 0.15s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a {
  color: var(--ink-hi);
  background: var(--card-bg);
}

/* Language switcher pill */
.main-navigation .main-nav ul li.lang-switcher a,
.main-navigation .main-nav ul li.wpml-ls-item a {
  color: var(--gold);
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  border: 1px solid var(--line);
  border-radius: 100px;
  padding: 3px 10px;
}

/* Dropdown */
.main-navigation .main-nav ul ul {
  background: var(--bg-1);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 12px 40px rgba(0,0,0,0.5);
  padding: var(--sp-2);
  flex-direction: column;
  gap: 2px;
}

.main-navigation .main-nav ul ul li a {
  width: 100%;
}

/* Mobile hamburger */
.menu-toggle {
  background: transparent;
  border: 1px solid var(--line);
  color: var(--ink-md);
  border-radius: var(--r-md);
  padding: var(--sp-2) var(--sp-3);
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  transition: color 0.15s, border-color 0.15s;
}

.menu-toggle:hover {
  color: var(--ink-hi);
  border-color: rgba(255,255,255,0.2);
}

/* ============================================================
   HERO — homepage top section
   (Applied to the first .page or the home page)
   ============================================================ */
.home .hero-section,
.page-template-default .hero-section {
  padding: var(--sp-9) var(--sp-5) var(--sp-8);
  max-width: var(--max-w);
  margin: 0 auto;
}

/* Hero: eyebrow label */
.hero-eyebrow {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: var(--sp-5);
  display: block;
}

/* Hero: headline uses display font */
.entry-title.hero-title,
.hero-headline {
  font-family: var(--font-display);
  font-weight: var(--display-weight);
  font-size: clamp(3rem, 7vw, 5.5rem);
  letter-spacing: -0.04em;
  line-height: 0.98;
  color: var(--ink-hi);
  margin-bottom: var(--sp-5);
}

.hero-headline .gold { color: var(--gold); }

/* Hero: sub-copy */
.hero-sub {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--ink-md);
  max-width: 500px;
  margin-bottom: var(--sp-6);
}

/* ============================================================
   BUTTONS
   ============================================================ */
.button,
button,
input[type="submit"],
.wp-block-button__link,
.wp-element-button {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-family: var(--font-text);
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  padding: 11px 20px;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: opacity 0.15s, transform 0.1s;
  text-decoration: none;
  line-height: 1;
}

.button:active, button:active { transform: translateY(1px); }

/* Primary: gold fill */
.button-primary,
.wp-block-button.is-style-fill .wp-block-button__link,
input[type="submit"] {
  background: var(--gold);
  color: var(--bg-0);
}

.button-primary:hover,
.wp-block-button.is-style-fill .wp-block-button__link:hover,
input[type="submit"]:hover {
  background: var(--gold-h);
  color: var(--bg-0);
  opacity: 1;
}

/* Secondary: ghost */
.button-secondary,
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--ink-hi);
  border: 1px solid var(--line);
}

.button-secondary:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  border-color: rgba(255,255,255,0.25);
  color: var(--ink-hi);
}

/* ============================================================
   CARDS — post loop, archive
   ============================================================ */
.post-card,
article.type-post,
article.type-page {
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  padding: var(--sp-6);
  transition: border-color 0.2s, transform 0.2s;
}

article.type-post:hover,
article.type-page:hover {
  border-color: rgba(77,139,255,0.3);
  transform: translateY(-2px);
}

/* Post meta */
.entry-meta {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  color: var(--ink-lo);
  margin-bottom: var(--sp-3);
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  flex-wrap: wrap;
}

.entry-meta a { color: var(--ink-lo); }
.entry-meta a:hover { color: var(--accent); }

/* Post title in archive */
.entry-title {
  font-family: var(--font-display);
  font-weight: var(--display-weight);
  font-size: clamp(1.2rem, 3vw, 1.75rem);
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin-bottom: var(--sp-3);
}

.entry-title a {
  color: var(--ink-hi);
  transition: color 0.15s;
}

.entry-title a:hover { color: var(--accent); }

/* Entry summary */
.entry-summary p,
.entry-content > p:first-child {
  color: var(--ink-md);
  font-size: 1rem;
  line-height: 1.6;
}

/* Read more */
.more-link {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  color: var(--accent);
  text-transform: uppercase;
}

.more-link::after { content: ' →'; }

/* Post thumbnail */
.post-image,
.featured-image img,
.wp-post-image {
  width: 100%;
  height: auto;
  border-radius: var(--r-md);
  display: block;
  margin-bottom: var(--sp-5);
}

/* ============================================================
   ARCHIVE / BLOG INDEX GRID
   ============================================================ */
.blog .site-main,
.archive .site-main {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: var(--sp-7) var(--sp-5);
}

/* ============================================================
   SINGLE POST
   ============================================================ */
.single .site-main {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: var(--sp-7) var(--sp-5);
}

.single .entry-header {
  margin-bottom: var(--sp-7);
  padding-bottom: var(--sp-6);
  border-bottom: 1px solid var(--line);
}

.single .entry-title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  letter-spacing: -0.03em;
  line-height: 1.05;
  margin-bottom: var(--sp-4);
}

/* Content images */
.entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--r-md);
  border: 1px solid var(--line);
}

/* ============================================================
   SECTION GLYPHS — decorative SVG icons (bee · oak · anchor)
   Used in nav items, post category chips, and section headers.
   NOT the logo.
   ============================================================ */

/* Category colour chips */
.cat-links a[href*="ai"],
.cat-links a[href*="agents"] {
  color: var(--accent);
}

.cat-links a[href*="journal"],
.cat-links a[href*="blog"] {
  color: var(--ink-md);
}

.cat-links a[href*="business"],
.cat-links a[href*="zoho"] {
  color: var(--gold);
}

/* ============================================================
   STATUS BAR — minimal monospace info strip at page bottom
   (Optional: add class="site-status-bar" to a widget area)
   ============================================================ */
.site-status-bar {
  background: rgba(7,9,15,0.7);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--line);
  padding: var(--sp-3) var(--sp-5);
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  color: var(--ink-md);
  display: flex;
  gap: var(--sp-6);
  align-items: center;
  flex-wrap: wrap;
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer {
  background: var(--bg-0);
  border-top: 1px solid var(--line);
  color: var(--ink-lo);
}

.footer-widgets-container {
  padding: var(--sp-8) var(--sp-5) var(--sp-6);
}

.inside-site-information {
  padding: var(--sp-5) var(--sp-5);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  flex-wrap: wrap;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  color: var(--ink-lo);
  border-top: 1px solid var(--line);
}

.copyright-bar a { color: var(--ink-lo); }
.copyright-bar a:hover { color: var(--accent); }

/* ============================================================
   WIDGETS
   ============================================================ */
.widget {
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: var(--sp-5);
  margin-bottom: var(--sp-5);
}

.widget-title {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ink-lo);
  margin-bottom: var(--sp-4);
  padding-bottom: var(--sp-3);
  border-bottom: 1px solid var(--line);
}

.widget ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.widget ul li {
  padding: var(--sp-2) 0;
  border-bottom: 1px solid var(--hair);
  font-size: 0.9375rem;
}

.widget ul li:last-child { border-bottom: none; }

.widget ul li a {
  color: var(--ink-md);
}

.widget ul li a:hover { color: var(--accent); }

/* ============================================================
   FORMS (comments, contact)
   ============================================================ */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
textarea,
select {
  background: var(--bg-2);
  color: var(--ink-hi);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: var(--sp-3) var(--sp-4);
  font-family: var(--font-text);
  font-size: 0.9375rem;
  width: 100%;
  transition: border-color 0.15s;
  outline: none;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(77,139,255,0.15);
}

input::placeholder,
textarea::placeholder {
  color: var(--ink-lo);
}

/* Comments */
#comments {
  margin-top: var(--sp-8);
  padding-top: var(--sp-7);
  border-top: 1px solid var(--line);
}

.comment-list { list-style: none; padding: 0; margin: 0; }

.comment-body {
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: var(--sp-5);
  margin-bottom: var(--sp-4);
}

/* ============================================================
   PAGINATION
   ============================================================ */
.pagination,
.post-navigation,
.paging-navigation {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
}

.page-numbers,
.nav-links a {
  color: var(--ink-md);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: var(--sp-2) var(--sp-3);
  margin: 0 2px;
  display: inline-block;
}

.page-numbers.current,
.page-numbers:hover,
.nav-links a:hover {
  background: var(--bg-2);
  color: var(--ink-hi);
  border-color: rgba(255,255,255,0.2);
}

/* ============================================================
   TAGS
   ============================================================ */
.tags-links a,
.wp-tag-cloud a {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  color: var(--ink-lo);
  border: 1px solid var(--line);
  border-radius: 100px;
  padding: 3px 10px;
  display: inline-block;
  margin: 2px;
  transition: color 0.15s, border-color 0.15s;
}

.tags-links a:hover,
.wp-tag-cloud a:hover {
  color: var(--accent);
  border-color: rgba(77,139,255,0.4);
}

/* ============================================================
   SEARCH
   ============================================================ */
.search-form {
  display: flex;
  gap: var(--sp-2);
}

.search-form input[type="search"] {
  flex: 1;
}

.search-form button {
  background: var(--accent);
  color: #fff;
  border: none;
  padding: var(--sp-3) var(--sp-4);
  border-radius: var(--r-md);
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
}

/* ============================================================
   GUTENBERG / BLOCK EDITOR ALIGNMENT
   ============================================================ */
.wp-block-cover,
.wp-block-media-text {
  border-radius: var(--r-lg);
  overflow: hidden;
}

.wp-block-quote {
  border-left: 2px solid var(--gold);
  margin: var(--sp-6) 0;
  padding: var(--sp-3) var(--sp-5);
}

.wp-block-quote p {
  font-style: italic;
  color: var(--ink-md);
  margin: 0;
}

.wp-block-pullquote {
  border-top: 2px solid var(--gold);
  border-bottom: 2px solid var(--gold);
  padding: var(--sp-6) 0;
  text-align: center;
}

.wp-block-separator {
  border: none;
  border-top: 1px solid var(--line);
  margin: var(--sp-7) 0;
}

.wp-block-table table {
  border-collapse: collapse;
  width: 100%;
}

.wp-block-table td,
.wp-block-table th {
  border: 1px solid var(--line);
  padding: var(--sp-3) var(--sp-4);
  font-size: 0.9375rem;
}

.wp-block-table th {
  background: var(--bg-2);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-lo);
}

/* ============================================================
   POLYLANG / WPML language switcher
   ============================================================ */
.pll-parent-menu-item a,
.wpml-ls-item a {
  font-family: var(--font-mono) !important;
  font-size: 0.6875rem !important;
  letter-spacing: 0.1em !important;
  color: var(--gold) !important;
  border: 1px solid var(--line) !important;
  border-radius: 100px !important;
  padding: 3px 10px !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
  :root {
    --sp-7: 40px;
    --sp-8: 48px;
    --sp-9: 64px;
  }

  .inside-header {
    flex-wrap: wrap;
    gap: var(--sp-3);
  }

  .single .entry-title {
    font-size: clamp(1.8rem, 6vw, 2.8rem);
  }

  .inside-site-information {
    flex-direction: column;
    text-align: center;
  }
}

@media (max-width: 480px) {
  h1 { font-size: 2rem; }
  h2 { font-size: 1.5rem; }
}

/* ============================================================
   DIRECTION B TOKEN OVERRIDE — add class="dir-b" to <body>
   to switch to Cloud Weather temper (atmospheric, cyan, amber)
   ============================================================ */
body.dir-b {
  --bg-0:   #0A1220;
  --bg-1:   #0F1A2C;
  --bg-2:   #152238;
  --ink-hi: #F2F5FA;
  --ink-md: #A7B4C7;
  --ink-lo: #6A7689;
  --accent:   #6EE3FF;
  --accent-h: #8EEBFF;
  --gold:     #E8C170;
  --gold-h:   #F0CE88;
  --line:     rgba(255,255,255,0.10);
  --hair:     rgba(255,255,255,0.05);
  --display-weight: 400;
}

/* ============================================================
   FIXES — v1.1
   ============================================================ */

/* 1. Hide duplicate site title text when custom logo is set */
.site-logo ~ .site-branding .main-title,
.site-logo + .site-branding,
.has-custom-logo .main-title,
.has-custom-logo .site-description {
  display: none !important;
}

/* 2. Hide page title on front page and home page */
.home .entry-title,
.front-page .entry-title,
.page-id-6 .entry-title,
.page-id-45 .entry-title {
  display: none !important;
}

/* 3. Remove article box on front page — hero goes full content width */
.home .inside-article,
.home .separate-containers .inside-article {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* 4. Remove content area white box on front page */
.home .content-area,
.home .site-content,
.home .entry-content {
  background: transparent !important;
}

/* 5. Move dc-lang-floating to header area (hide the fixed bottom version) */
.dc-lang-floating {
  display: none !important;
}

/* 6. Header: tighten up, no gap between logo image and title */
.site-logo img {
  height: 32px !important;
  width: auto !important;
}

/* 7. Front page: remove top padding from main */
.home .site-main {
  padding-top: 0 !important;
}

/* 8. Nav active item: use accent underline, not background pill */
.main-navigation .main-nav ul li.current-menu-item > a {
  color: var(--ink-hi) !important;
  background: transparent !important;
  border-bottom: 2px solid var(--accent);
  border-radius: 0;
}

/* 9. Article container: no white background on all pages */
.separate-containers .inside-article {
  background: transparent !important;
  box-shadow: none !important;
}

/* Fix: GP uses wp-custom-logo body class, not has-custom-logo */
.wp-custom-logo .main-title,
.wp-custom-logo .site-description,
.wp-custom-logo .site-branding:not(.site-logo) {
  display: none !important;
}

/* Fix: front page body class is page-id-6 (RU) or page-id-45 (EN) */
.page-id-6 .entry-title,
.page-id-45 .entry-title {
  display: none !important;
}

/* ============================================================
   FIXES v1.2
   ============================================================ */

/* 1. KILL old floating brand header (pill + hamburger + slide menu) */
.dc-brand-floating-header,
.dc-brand-menu-panel,
.dc-brand-menu-backdrop,
.dc-brand-menu-sheet,
.dc-brand-menu-toggle {
  display: none !important;
}

/* 2. RESTORE language switcher — re-styled for new design tokens */
.dc-lang-floating {
  display: flex !important;
  position: fixed !important;
  right: 22px !important;
  bottom: 22px !important;
  z-index: 9999 !important;
  background: rgba(7,9,15,0.88) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 999px !important;
  padding: 6px 8px !important;
  gap: 4px !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.45) !important;
}

.dc-lang-floating a,
.dc-lang-floating .dc-lang-current {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  min-width: 38px !important;
  height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  padding: 0 10px !important;
  transition: color 0.15s, background 0.15s !important;
}

.dc-lang-floating a {
  color: #9AA3B4 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: transparent !important;
}

.dc-lang-floating a:hover {
  color: #4D8BFF !important;
  border-color: rgba(77,139,255,0.35) !important;
  background: transparent !important;
}

.dc-lang-floating .dc-lang-current {
  color: #07090F !important;
  background: #4D8BFF !important;
  border: none !important;
  box-shadow: 0 2px 12px rgba(77,139,255,0.35) !important;
}

/* 3. SIDEBAR FIX — remove empty right column on front page and all pages */
.home .widget-area,
.home #secondary,
.page-id-6 .widget-area,
.page-id-45 .widget-area {
  display: none !important;
}

.home .content-area,
.page-id-6 .content-area,
.page-id-45 .content-area {
  width: 100% !important;
  float: none !important;
  max-width: 100% !important;
}

.home .site-content .grid-container,
.page-id-6 .site-content .grid-container,
.page-id-45 .site-content .grid-container {
  display: block !important;
}

/* ============================================================
   FIXES v1.3 — Button text colors
   Mu-plugin has a { color: !important } overriding inline styles.
   We beat it with attribute selectors + !important.
   ============================================================ */

/* Gold CTA button — text must be near-black #07090F */
.entry-content a[style*='background:#D4A84A'],
.entry-content a[style*='background: #D4A84A'],
a.btn-primary,
a[style*='background:#D4A84A'] {
  color: #07090F !important;
}

/* Ghost/outline button (Telegram link) — text must be white */
.entry-content a[style*='border:1px solid rgba(255,255,255'],
.entry-content a[style*='color:#EEF2F8'],
a[style*='color:#EEF2F8'] {
  color: #EEF2F8 !important;
}

/* General rule: inline color on links inside hero must win */
.entry-content .wp-block-html a[style*='color:#'] {
  color: inherit;
}

/* Nav links must stay ink-md, not forced accent */
.main-navigation .main-nav a {
  color: var(--ink-md) !important;
}
.main-navigation .main-nav li:hover > a,
.main-navigation .main-nav li.current-menu-item > a {
  color: var(--ink-hi) !important;
}

/* ============================================================
   FOOTER — v1.4
   ============================================================ */
.site-footer {
  border-top: 1px solid rgba(255,255,255,0.07);
  padding: 24px 0 !important;
  background: var(--bg-0) !important;
}

.site-info {
  padding: 0 !important;
}

/* Hide GP default powered-by and extra links */
.site-info .powered-by,
.site-footer .theme-author,
.site-footer a[href*="wordpress.org"],
.site-footer a[href*="generatepress.com"] {
  display: none !important;
}

/* ============================================================
   POST CARDS — archive / blog feed — v1.4
   ============================================================ */

/* Article wrapper on archive pages */
.post-summary,
.blog .type-post,
.archive .type-post {
  border-top: 1px solid rgba(255,255,255,0.07);
  padding: 32px 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Post title — Unbounded */
.post-summary .entry-title,
.blog .entry-title a,
.archive .entry-title a,
.type-post .entry-title a {
  font-family: Unbounded, system-ui, sans-serif !important;
  font-weight: 500 !important;
  font-size: clamp(1.05rem, 2.2vw, 1.35rem) !important;
  letter-spacing: -0.02em !important;
  line-height: 1.3 !important;
  color: var(--ink-hi) !important;
  text-decoration: none !important;
}

.blog .entry-title a:hover,
.archive .entry-title a:hover,
.type-post .entry-title a:hover {
  color: var(--accent) !important;
}

/* Date — JetBrains Mono, accent blue */
.post-summary .entry-meta,
.blog .entry-header .entry-meta,
.archive .entry-header .entry-meta,
.type-post .entry-meta {
  font-family: JetBrains Mono, monospace !important;
  font-size: 11px !important;
  letter-spacing: 1px !important;
  color: var(--accent) !important;
  text-transform: none !important;
  margin-bottom: 10px !important;
}

.entry-meta a,
.entry-meta .posted-on a {
  color: var(--accent) !important;
  text-decoration: none !important;
}

/* Excerpt — Onest, mid ink */
.post-summary .entry-summary,
.blog .entry-summary,
.archive .entry-summary,
.type-post .entry-summary {
  font-family: Onest, system-ui, sans-serif !important;
  font-size: 15px !important;
  color: var(--ink-md) !important;
  line-height: 1.65 !important;
  max-width: 680px !important;
  margin-bottom: 12px !important;
}

/* Read more link */
.more-link,
.blog .more-link,
.archive .more-link {
  font-family: JetBrains Mono, monospace !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  color: var(--accent) !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

/* Remove GP default thumbnail on archive */
.post-image,
.post-summary .post-image {
  display: none;
}
