/*
Theme Name: Corestake Lab
Template: astra
Description: Corestake Lab brand child theme (navy/evidence-first design system)
Version: 1.0.0
Author: Corestake Lab
*/

@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&family=Instrument+Serif:ital@1&display=swap');

:root{
  --cs-navy:#050D28;
  --cs-surface:#0B1330;
  --cs-surface2:#131C48;
  --cs-ink:#EDEFF7;
  --cs-mute:#9BA3C6;
  --cs-accent:#6E97FF;
  --cs-copper:#FF8B63;
  --cs-line:#232D63;
}

html, body, body.wp-block-template-part, p, li, .entry-content, .site-content{
  background:var(--cs-navy);
  color:var(--cs-ink);
  font-family:'IBM Plex Sans', sans-serif !important;
}
html, body{ background:var(--cs-navy) !important; color:var(--cs-ink) !important; }

a{ color:var(--cs-accent); }
a:hover{ color:var(--cs-copper); }

h1,h2,h3,h4,h5,h6,
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6,
.site-content h1,.site-content h2,.site-content h3,.site-content h4,.site-content h5,.site-content h6{
  font-family:'Archivo Black', sans-serif !important;
  text-transform:uppercase;
  letter-spacing:-0.01em;
  color:var(--cs-ink) !important;
}

.ast-separate-container, .site-content, .ast-container, #content, #primary, #secondary{
  background:transparent !important;
}

.site-header, .main-header-bar, #masthead{
  background:var(--cs-navy) !important;
  border-bottom:1px solid var(--cs-line) !important;
}

.main-header-menu a, .ast-header-navigation-arrow, .menu-link{
  font-family:'IBM Plex Mono', monospace;
  text-transform:uppercase;
  letter-spacing:0.1em;
  font-size:12px;
  color:var(--cs-mute) !important;
}
.main-header-menu a:hover{ color:var(--cs-accent) !important; }

.site-branding, .ast-site-identity{ display:flex !important; align-items:center; }
.site-title, .site-title a{
  font-family:'Archivo Black', sans-serif !important;
  text-transform:uppercase;
  font-size:16px !important;
  letter-spacing:-0.01em;
  color:var(--cs-ink) !important;
}
.site-title a:hover{ color:var(--cs-accent) !important; }
.ast-site-identity .site-description{ display:none; }

.site-footer, #colophon{
  background:var(--cs-navy) !important;
  border-top:1px solid var(--cs-line) !important;
  color:var(--cs-mute) !important;
}
.site-footer a{ color:var(--cs-mute) !important; }
.site-footer a:hover{ color:var(--cs-accent) !important; }

.cs-eyebrow{
  font-family:'IBM Plex Mono', monospace;
  text-transform:uppercase;
  letter-spacing:0.16em;
  font-size:12px;
  color:var(--cs-accent);
  display:flex;
  align-items:center;
  gap:16px;
}
.cs-eyebrow:before{
  content:"";
  display:inline-block;
  width:40px;
  height:1px;
  background:var(--cs-accent);
}

.cs-section{
  border-top:1px solid var(--cs-line);
  padding:96px 0;
}
.cs-section:first-of-type{ border-top:none; }

.cs-quote{
  font-family:'Instrument Serif', serif;
  font-style:italic;
  font-size:clamp(1.5rem,3vw,2.25rem);
  line-height:1.2;
  color:var(--cs-ink);
}

.cs-card{
  border:1px solid var(--cs-line);
  background:rgba(11,19,48,0.6);
  padding:32px;
}
.cs-card--dashed{
  border-style:dashed;
  background:rgba(11,19,48,0.3);
}

.cs-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-family:'IBM Plex Mono', monospace;
  text-transform:uppercase;
  letter-spacing:0.16em;
  font-size:13px;
  padding:16px 28px;
  background:var(--cs-accent);
  color:var(--cs-surface) !important;
  text-decoration:none !important;
  transition:background-color .2s;
}
.cs-btn:hover{ background:#EDEFF7; color:var(--cs-surface) !important; }

.cs-btn--ghost{
  background:transparent;
  border:1px solid var(--cs-line);
  color:var(--cs-ink) !important;
}
.cs-btn--ghost:hover{ border-color:var(--cs-accent); color:var(--cs-accent) !important; background:transparent; }

.cs-mono{
  font-family:'IBM Plex Mono', monospace;
  text-transform:uppercase;
  letter-spacing:0.16em;
  font-size:11px;
  color:var(--cs-mute);
}

.wp-block-columns.cs-card{ padding:32px; }

.cs-hero-grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center; }
@media (max-width:900px){ .cs-hero-grid{ grid-template-columns:1fr; } }

.page .entry-header, .page .page-header, .page .ast-archive-title{ display:none !important; }
.page .ast-single-post-wrap, .page .ast-single-entry, .single-entry-summary{ padding-top:0 !important; margin-top:0 !important; }
#content, .site-content, .ast-container{ padding-top:0 !important; }

/* Footer: force full navy background across every builder row */
.site-footer, .site-footer-wrap, .site-below-footer-wrap, .site-primary-footer-wrap,
.ast-builder-grid-row-container, .site-footer-section, footer.site-footer *{
  background-color:transparent !important;
}
.site-footer{ background-color:var(--cs-navy) !important; }
.ast-footer-copyright, .ast-footer-copyright p{ color:var(--cs-mute) !important; }
.footer-social-inner-wrap svg, .footer-social-inner-wrap path{ fill:var(--cs-ink) !important; }
.ast-builder-social-element{ background-color:transparent !important; border-color:var(--cs-line) !important; }

/* Custom 3D social icons replacing Astra's built-in icon font (point 9) */
.ast-instagram svg, .ast-linkedin svg{ display:none !important; }
.ast-instagram, .ast-linkedin{
  width:30px !important; height:30px !important;
  background-repeat:no-repeat !important; background-position:center !important; background-size:contain !important;
}
.ast-instagram{ background-image:url('https://corestake.com.au/wp-content/uploads/2026/10/instagram-3d-v3.png') !important; }
.ast-linkedin{ background-image:url('https://corestake.com.au/wp-content/uploads/2026/10/linkedin-3d-v3.png') !important; }

/* SureForms: dark-theme field styling */
.cs-section .srfm-form-container, body .srfm-form-container{ background:transparent !important; padding:0 !important; margin-top:32px; --srfm-color-placeholder:#9BA3C6; }
.cs-section .srfm-input-common, body .srfm-input-common,
.cs-section .srfm-input-common:focus, body .srfm-input-common:focus{
  background:rgba(11,19,48,0.6) !important;
  border:1px solid var(--cs-line) !important;
  color:var(--cs-ink) !important;
  font-family:'IBM Plex Sans', sans-serif !important;
}
.cs-section .srfm-input-common::placeholder, body .srfm-input-common::placeholder,
.cs-section .srfm-input-common::-webkit-input-placeholder, body .srfm-input-common::-webkit-input-placeholder{
  color:#9BA3C6 !important; opacity:1 !important; -webkit-text-fill-color:#9BA3C6 !important;
}
.cs-section .srfm-label, body .srfm-label, .cs-section label.srfm-block-label, body label.srfm-block-label, .cs-section .srfm-label-text, body .srfm-label-text{ color:var(--cs-ink) !important; }
.cs-section .srfm-btn-frontend, body .srfm-btn-frontend, .cs-section .srfm-submit-button, body .srfm-submit-button{
  background:var(--cs-accent) !important;
  color:var(--cs-surface) !important;
  font-family:'IBM Plex Mono', monospace !important;
  text-transform:uppercase;
  letter-spacing:0.1em;
  border:none !important;
}
.cs-section .srfm-btn-frontend:hover, body .srfm-btn-frontend:hover{ background:var(--cs-ink) !important; }

/* Body copy readability bump: content paragraphs were reported too small to read.
   Excludes the deliberately small/stylized text (quotes, mono labels, eyebrows). */
.cs-section p:not(.cs-quote):not(.cs-mono):not(.cs-eyebrow),
.cs-section li,
.entry-content p:not(.cs-quote):not(.cs-mono):not(.cs-eyebrow),
.entry-content li{
  font-size:1.125rem !important;
  line-height:1.7 !important;
}
@media (max-width:640px){
  .cs-section p:not(.cs-quote):not(.cs-mono):not(.cs-eyebrow),
  .cs-section li,
  .entry-content p:not(.cs-quote):not(.cs-mono):not(.cs-eyebrow),
  .entry-content li{
    font-size:1.05rem !important;
    line-height:1.65 !important;
  }
}

/* Accordion (Services page) */
.cs-accordion-item{ border:1px solid var(--cs-line); border-radius:4px; margin-bottom:12px; overflow:hidden; background:rgba(11,19,48,0.4); }
.cs-accordion-head{ display:flex; align-items:center; gap:20px; padding:20px 24px; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.cs-accordion-icon{ width:56px; height:56px; flex:none; border-radius:6px; overflow:hidden; background:rgba(110,151,255,0.08); }
.cs-accordion-icon img{ width:100%; height:100%; object-fit:cover; display:block; }
.cs-accordion-title{ font-family:'Archivo Black', sans-serif; font-size:1.05rem; text-transform:none; letter-spacing:0; flex:1; }
.cs-accordion-chevron{ flex:none; width:20px; height:20px; color:var(--cs-mute); transition:transform 0.25s ease; }
.cs-accordion-item.open .cs-accordion-chevron{ transform:rotate(180deg); }
.cs-accordion-body{ max-height:0; overflow:hidden; transition:max-height 0.3s ease; }
.cs-accordion-item.open .cs-accordion-body{ max-height:600px; }
.cs-accordion-body-inner{ padding:0 24px 24px 100px; }
.cs-accordion-item.no-icon .cs-accordion-body-inner{ padding:0 24px 24px 24px; }
.cs-accordion-item.no-icon .cs-accordion-title{ text-transform:uppercase; letter-spacing:0.02em; }
.cs-accordion-body-inner p{ margin:0 !important; }
@media (max-width:640px){ .cs-accordion-body-inner{ padding:0 20px 20px 20px; } }

/* Insights articles (2026-10-26): date line and closing link */
.single-post .entry-header{ max-width:1100px; margin:0 auto; padding:28px 16px 0; }
.single-post .entry-meta, .single-post .entry-meta *{
  font-family:'IBM Plex Mono', monospace; text-transform:uppercase; letter-spacing:0.14em;
  font-size:11px; color:var(--cs-mute) !important;
}
.in-after{ max-width:1100px; margin:0 auto; padding:8px 16px 72px; }
.in-after a{
  font-family:'IBM Plex Mono', monospace; text-transform:uppercase; letter-spacing:0.14em; font-size:12px;
  color:var(--cs-accent); text-decoration:none;
}
.in-after a:hover{ color:var(--cs-copper); }
.in-after p{ margin:14px 0 0; font-size:0.9rem; color:var(--cs-mute); background:transparent !important; }

/* Mobile: stack inline two-column grids that have no phone layout (the Home page "core competencies" block overflowed 43px). 2026-10-26 */
@media (max-width:700px){
  .entry-content div[style*="grid-template-columns:1.4fr 1fr"]{ grid-template-columns:1fr !important; gap:32px !important; }
}

/* Page content never causes sideways scrolling on phones (Shadow Operator hero glow bled 11px). 2026-10-26 */
.entry-content{ overflow-x:clip; }
