/*
Theme Name: CloudScale Docs
Description: WordPress theme for help.cloudscale.consulting — visually identical to cloudscale.consulting
Version: 1.2
Author: CloudScale Consulting
*/

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700;800&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300&display=swap');

/* ── Design tokens (identical to cloudscale.consulting) ── */
:root {
  --bg:          #0d1017;
  --bg2:         #141f2e;
  --bg3:         #1a2a3f;
  --panel:       #1e3048;
  --border:      rgba(255,255,255,.13);
  --orange:      #f0821e;
  --orange-dim:  #c96812;
  --orange-glow: rgba(240,130,30,.18);
  --text:        #edf0f5;
  --text-muted:  #b8cce0;
  --text-faint:  #8a9fb8;
  --white:       #ffffff;
  --radius:      12px;
  --radius-lg:   20px;
  --shadow:      0 8px 40px rgba(0,0,0,.45);
  --transition:  .25s cubic-bezier(.4,0,.2,1);
  --font-head:   'Space Grotesk', sans-serif;
  --font-body:   'DM Sans', sans-serif;
  --nav-h:       68px;
}

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}

img { display: block; max-width: 100%; }
a { color: var(--orange); text-decoration: none; }
a:hover { text-decoration: underline; }
ul { list-style: none; }

/* ── Nav ── */
.cs-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  height: var(--nav-h);
  display: flex; align-items: center;
  padding: 0 max(24px, 4vw);
  background: rgba(13,16,23,.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
}
.cs-nav-inner {
  width: 100%; max-width: 1200px; margin: auto;
  display: flex; align-items: center; gap: 32px;
}
.cs-nav-logo {
  display: flex; align-items: center; gap: 12px;
  text-decoration: none !important;
  flex-shrink: 0;
}
.cs-nav-logo img { height: 34px; width: auto; border-radius: 4px; }
.cs-nav-logo-text {
  font-family: var(--font-head);
  font-weight: 700; font-size: 1rem;
  color: var(--white); line-height: 1.2;
}
.cs-nav-logo-text span { color: var(--orange); }
.cs-nav-links {
  display: flex; align-items: center; gap: 4px;
  margin-left: auto;
}
.cs-nav-links a {
  color: var(--text-muted);
  font-size: .88rem; font-weight: 500;
  padding: 6px 13px; border-radius: 8px;
  transition: color var(--transition), background var(--transition);
  text-decoration: none !important;
  white-space: nowrap;
}
.cs-nav-links a:hover {
  color: var(--white);
  background: rgba(255,255,255,.06);
}
.cs-nav-links a.active {
  color: var(--orange);
  background: rgba(240,130,30,.10);
}
.cs-nav-links a.btn-nav {
  background: var(--orange); color: var(--bg);
  font-weight: 600; padding: 7px 16px;
  margin-left: 8px;
}
.cs-nav-links a.btn-nav:hover { background: #e07318; color: var(--bg); }

.cs-hamburger {
  display: none; flex-direction: column; gap: 5px;
  cursor: pointer; padding: 4px; margin-left: auto;
  background: none; border: none;
}
.cs-hamburger span {
  display: block; height: 2px; width: 22px;
  background: var(--text); border-radius: 2px;
}
.cs-mobile-menu {
  display: none; position: fixed;
  top: var(--nav-h); left: 0; right: 0; bottom: 0;
  background: var(--bg2); z-index: 199;
  flex-direction: column; align-items: center;
  justify-content: center; gap: 24px;
}
.cs-mobile-menu.open { display: flex; }
.cs-mobile-menu a {
  color: var(--text); font-family: var(--font-head);
  font-size: 1.4rem; font-weight: 700;
  text-decoration: none;
  transition: color var(--transition);
}
.cs-mobile-menu a:hover, .cs-mobile-menu a.active { color: var(--orange); }

/* ── Main content wrapper ── */
.cs-docs-main {
  padding-top: var(--nav-h);
  min-height: calc(100vh - var(--nav-h));
}

/* ── Page title area (for pages that need it) ── */
.cs-page-header {
  padding: 56px 0 40px;
  background: radial-gradient(ellipse 80% 60% at 60% 50%, rgba(240,130,30,.07) 0%, transparent 70%);
  border-bottom: 1px solid var(--border);
}
.cs-page-header-inner {
  max-width: 1200px; margin: auto; padding: 0 max(24px, 4vw);
}
.cs-page-header-inner h1 {
  font-family: var(--font-head);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 700; color: var(--white);
  margin-bottom: 8px;
}
.cs-page-header-inner p {
  color: var(--text-muted); font-size: 1rem;
}
.cs-breadcrumb {
  display: flex; align-items: center; gap: 8px;
  font-size: .82rem; color: var(--text-faint);
  margin-bottom: 16px;
}
.cs-breadcrumb a { color: var(--text-muted); text-decoration: none; }
.cs-breadcrumb a:hover { color: var(--orange); }
.cs-breadcrumb-sep { opacity: .4; }

/* ── Page content wrapper ── */
.cs-docs-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px max(24px, 4vw);
}

/* ── Strip default WordPress block chrome ── */
.wp-block-post-content,
.entry-content,
.page-content {
  all: unset;
  display: block;
}
.wp-block-html { margin: 0 !important; padding: 0 !important; }
figure.wp-block-image { margin: 0; }

/* Remove WP default link colour inside help content */
.cs-docs-content a { color: var(--orange); }

/* ── Footer ── */
.cs-footer {
  background: var(--bg2);
  border-top: 1px solid var(--border);
  padding: 56px 0 28px;
  margin-top: 80px;
}
.cs-footer-inner {
  max-width: 1200px; margin: auto; padding: 0 max(24px, 4vw);
}
.cs-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px; margin-bottom: 40px;
}
.cs-footer-brand { max-width: 300px; }
.cs-footer-brand-logo {
  display: flex; align-items: center; gap: 10px;
  text-decoration: none !important; margin-bottom: 14px;
}
.cs-footer-brand-logo img { height: 32px; width: auto; border-radius: 4px; }
.cs-footer-brand-logo-text {
  font-family: var(--font-head); font-weight: 700; font-size: .95rem;
  color: var(--white); line-height: 1.2;
}
.cs-footer-brand-logo-text span { color: var(--orange); }
.cs-footer-brand p { color: var(--text-muted); font-size: .88rem; line-height: 1.6; }
.cs-footer-col h4 {
  font-family: var(--font-head); font-size: .82rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: 14px;
}
.cs-footer-col ul { display: flex; flex-direction: column; gap: 9px; }
.cs-footer-col ul a {
  color: var(--text-muted); font-size: .88rem;
  transition: color var(--transition); text-decoration: none !important;
}
.cs-footer-col ul a:hover { color: var(--white); }
.cs-footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 24px; border-top: 1px solid var(--border);
  flex-wrap: wrap; gap: 12px;
}
.cs-footer-bottom p { color: var(--text-muted); font-size: .80rem; }
.cs-footer-social { display: flex; gap: 10px; }
.cs-footer-social a {
  width: 32px; height: 32px; border-radius: 8px;
  border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  color: var(--text); font-size: .8rem;
  transition: var(--transition); text-decoration: none !important;
}
.cs-footer-social a:hover {
  border-color: var(--orange); color: var(--orange);
  background: var(--orange-glow);
}

/* ── Section docs content card (light-on-dark island) ── */
.cs-section-docs {
  background: #f8fafc;
  border-radius: 12px;
  padding: 28px 32px;
  color: #334155;
  color-scheme: light;
}

/* ── Animations ── */
@keyframes pulse {
  0%,100% { opacity: 1; } 50% { opacity: .4; }
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .cs-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .cs-nav-links { display: none; }
  .cs-hamburger { display: flex; }
  .cs-footer-grid { grid-template-columns: 1fr; }
  .cs-docs-content { padding: 32px max(16px, 4vw); }
}
