/*
Theme Name: BCSE 2026
Theme URI: https://www.bcsengineering.com/
Author: BCS Engineering
Description: Lightweight Twenty Twenty-Five child theme for the BCSE eCommerce services website. Native Gutenberg sections, accessible colors, responsive layouts.
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.0
Template: twentytwentyfive
Text Domain: bcse-2026
*/

:root {
  --bcse-navy: #092A44;
  --bcse-blue: #145A9A;
  --bcse-green: #3F7F2E;
  --bcse-ice: #EAF3F9;
  --bcse-white: #FFFFFF;
  --bcse-ink: #122D43;
  --bcse-muted: #4B6071;
  --bcse-border: #D7E5EF;
  --bcse-content: 1120px;
  --bcse-wide: 1280px;
  --bcse-shadow: 0 12px 32px rgba(9,42,68,.07);
}
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
body, .editor-styles-wrapper { font-family: 'Inter', system-ui, sans-serif; }
:where(.wp-site-blocks) { overflow: clip; }
a { text-underline-offset: .2em; }
:where(.wp-block-post-content) a:not(.wp-block-button__link):hover { text-decoration-thickness: 2px; }
:where(.wp-block-post-content) > .wp-block-group.alignfull { margin-block-start: 0; }
.wp-block-button__link { transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease; }
.wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button__link:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid #78ADDB; outline-offset: 3px; }

/* Global header, intentionally white to preserve color fidelity of the supplied Canva logo. */
.bcse-header { background: #fff; border-bottom: 1px solid #e3edf2; position: relative; z-index: 20; }
.bcse-header-inner { max-width: var(--bcse-wide); margin-inline: auto; padding: 14px clamp(20px,4vw,48px); gap: 24px; }
.bcse-brand { flex: 0 1 325px; min-width: 200px; }
.bcse-brand .wp-block-site-logo { flex-shrink: 0; margin: 0; }
.bcse-brand .wp-block-site-logo img { width: min(100%, 325px); max-height: 85px; height: auto; object-fit: contain; }
.bcse-brand .wp-block-site-title { margin: 0; font-family: Manrope, system-ui, sans-serif; font-weight: 800; font-size: 20px; color: var(--bcse-navy); }
.bcse-brand:has(.custom-logo-link) .wp-block-site-title { display: none; }
.bcse-header .wp-block-navigation { font-family: Inter,system-ui,sans-serif; font-size: 14px; font-weight: 600; color: var(--bcse-navy); }
.bcse-header .wp-block-navigation a { text-decoration: none; }
.bcse-header .wp-block-navigation a:hover { color: var(--bcse-blue); }
.bcse-header .wp-block-buttons { flex-shrink: 0; }
.bcse-header .wp-block-button__link { padding: 13px 18px; font-size: 13px; white-space: nowrap; }

/* CTA styling: green passes WCAG AA for white text. */
.bcse-button-primary .wp-block-button__link,
.wp-block-button.bcse-button-primary .wp-block-button__link { background: var(--bcse-green); color: #fff; border-radius: 7px; border: 2px solid var(--bcse-green); font-weight: 700; padding: 14px 22px; text-decoration: none; }
.bcse-button-primary .wp-block-button__link:hover { background: #316824; border-color: #316824; color: #fff; box-shadow: 0 8px 22px rgba(0,0,0,.15); }
.bcse-button-outline .wp-block-button__link { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.74); border-radius: 7px; font-weight: 700; padding: 14px 22px; }
.bcse-button-outline .wp-block-button__link:hover { background: rgba(255,255,255,.11); color: #fff; }
.bcse-button-navy .wp-block-button__link { background: var(--bcse-navy); color: #fff; border: 2px solid var(--bcse-navy); border-radius: 7px; font-weight: 700; padding: 13px 21px; }
.bcse-button-navy .wp-block-button__link:hover { background: #174766; border-color: #174766; }

/* Hero: text is editable Gutenberg content; graphic is reusable theme art. */
.bcse-hero { position: relative; isolation: isolate; color: white; background: radial-gradient(ellipse at 76% 33%,#104c75 0%,#0b3454 40%,var(--bcse-navy) 79%); overflow: hidden; }
.bcse-hero::before { content: ''; position: absolute; z-index: -1; inset: 0 0 0 34%; background: url('assets/images/global-network.svg') center right / cover no-repeat; opacity: .97; pointer-events: none; }
.bcse-hero::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(9,42,68,.98) 0%,rgba(9,42,68,.84) 33%,rgba(9,42,68,.10) 70%,rgba(9,42,68,.10) 100%); pointer-events: none; }
.bcse-hero-inner { max-width: var(--bcse-wide); margin-inline: auto; padding: clamp(62px,7vw,102px) clamp(22px,5vw,60px) clamp(42px,5vw,70px); }
.bcse-hero-copy { max-width: 620px; margin-inline-start: 0 !important; margin-inline-end: auto !important; }
.bcse-hero-copy > :where(h1,p,.wp-block-buttons) { margin-inline-start: 0 !important; margin-inline-end: 0 !important; }
.bcse-eyebrow { text-transform: uppercase; letter-spacing: .115em; font-weight: 800; font-size: clamp(11px,1.05vw,13px); line-height: 1.6; color: #9EDB7C; }
.bcse-hero h1 { color: white; font-family: Manrope,system-ui,sans-serif; font-size: clamp(39px,4.55vw,68px); line-height: 1.10; letter-spacing: -.035em; font-weight: 800; margin-block: 16px 19px; max-width: 760px; }
.bcse-hero-copy > p:not(.bcse-eyebrow) { font-size: clamp(16px,1.35vw,19px); line-height: 1.68; color: #E3EFF7; max-width: 580px; }
.bcse-hero .wp-block-buttons { margin-block-start: 26px; gap: 12px; }
.bcse-hero-proof { display: flex; gap: clamp(14px,3vw,42px); flex-wrap: wrap; border-top: 1px solid rgba(255,255,255,.24); padding-top: 24px; margin-top: 48px; }
.bcse-proof-item { flex: 1 1 150px; font-size: 13px; color: #D7E8F1; line-height: 1.5; padding-left: 16px; border-left: 2px solid #61AC8B; }
.bcse-proof-item strong { display: block; color: white; font-size: 14px; }

/* Reusable patterns and sections */
.bcse-section { padding: clamp(58px,7vw,96px) clamp(20px,4vw,48px); }
.bcse-section--ice { background: var(--bcse-ice); }
.bcse-section--navy { background: var(--bcse-navy); color: #fff; }
.bcse-section--navy h2, .bcse-section--navy h3 { color: #fff; }
.bcse-section .bcse-section-inner { max-width: var(--bcse-content); margin-inline:auto; }
.bcse-section .bcse-section-inner > h2 { font-size: clamp(30px,3.25vw,46px); line-height: 1.18; letter-spacing: -.025em; margin-block: 8px 14px; }
.bcse-section .bcse-section-intro { max-width: 720px; margin-inline: auto; }
.bcse-section .bcse-label { color: var(--bcse-blue); text-transform: uppercase; font-weight: 800; letter-spacing: .13em; font-size: 12px; }
.bcse-section--navy .bcse-label { color: #A8D98A; }
.bcse-platforms { background: #f1f7fb; border-bottom:1px solid #d9e8f0; padding: 28px 20px 32px; }
.bcse-platforms .bcse-section-inner { max-width: var(--bcse-content); margin-inline: auto; }
.bcse-platforms .wp-block-columns { gap: 14px; margin-top: 22px; }
.bcse-platform-card, .bcse-card { border:1px solid var(--bcse-border); border-radius: 11px; background:#fff; box-shadow: var(--bcse-shadow); padding: 22px 20px; height: 100%; box-sizing: border-box; }
.bcse-platform-card { text-align:center; font-family:Manrope,system-ui,sans-serif; color:var(--bcse-navy); font-weight:750; min-height: 94px; display:flex; align-items:center; justify-content:center; }
.bcse-platform-card p { margin:0; }
.bcse-card h3 { color:var(--bcse-navy); font-size: clamp(19px,1.8vw,22px); line-height:1.3; margin:12px 0; }
.bcse-card p { font-size:15px; line-height:1.6; color: var(--bcse-muted); }
.bcse-card .bcse-card-symbol { font-size:32px; color:var(--bcse-blue); line-height:1; font-weight: 700; }
.bcse-card a { font-weight:700; text-decoration:none; }
.bcse-card a:hover { text-decoration:underline; }
.bcse-section .wp-block-columns { gap:20px; }
.bcse-guide-panel { padding:clamp(34px,5vw,64px); border-radius:18px; background:var(--bcse-ice); }
.bcse-guide-panel .wp-block-heading { margin-top:10px; }
.bcse-guide-panel .wp-block-image img { border-radius: 14px; }
.bcse-step-number { color:#9BBED6; font-family: Manrope,sans-serif; font-size:42px; font-weight:800; line-height:1; }
.bcse-final-cta { padding: 76px 22px; background: linear-gradient(110deg,#08243a,rgba(9,42,68,.90)),url('assets/images/global-network.svg') center/cover; color:white; }
.bcse-final-cta h2 { color:#fff; font-size:clamp(32px,4vw,50px); line-height:1.17; }
.bcse-final-cta p { color:#dfebf3; }

/* Footer */
.bcse-footer { background:#071F32; color:#D5E5EE; padding:60px clamp(20px,4vw,48px) 26px; }
.bcse-footer .bcse-footer-inner { max-width:var(--bcse-wide); margin-inline:auto; }
.bcse-footer h2,.bcse-footer h3,.bcse-footer .wp-block-site-title { color:white; }
.bcse-footer .wp-block-site-title { font-family:Manrope,sans-serif; font-weight:800; font-size:25px; }
.bcse-footer a { color:#E7F1F6; text-decoration:none; }
.bcse-footer a:hover { text-decoration:underline; }
.bcse-footer .wp-block-columns { gap:50px; }
.bcse-footer .bcse-footer-bottom { border-top:1px solid rgba(255,255,255,.19); padding-top:21px; margin-top:40px; font-size:13px; }

@media (max-width: 1000px) {
  .bcse-header-inner { flex-wrap:wrap; row-gap:14px; }
  .bcse-header .wp-block-navigation { flex:1; justify-content:flex-end; }
  .bcse-hero::after { background:linear-gradient(90deg,rgba(9,42,68,.99),rgba(9,42,68,.65)); }
}
@media (max-width: 781px) {
  .bcse-header-inner { display:flex; flex-wrap:nowrap; justify-content:space-between; }
  .bcse-brand { min-width:0; flex: 1 1 auto; }
  .bcse-brand .wp-block-site-logo img { width:min(100%,250px); max-height:62px; }
  .bcse-header .bcse-header-cta { display:none; }
  .bcse-hero::before { inset: 18% -30% 0 5%; background-size:cover; opacity:.36; }
  .bcse-hero::after { background:linear-gradient(90deg,rgba(9,42,68,.96),rgba(9,42,68,.78)); }
  .bcse-hero-inner { padding: 62px 23px 48px; }
  .bcse-hero h1 { font-size:clamp(35px,8vw,49px); }
  .bcse-hero-proof { margin-top:36px; }
  .bcse-section .wp-block-columns { gap:16px; }
  .bcse-section .wp-block-column { margin-bottom:0; }
  .bcse-platforms .wp-block-columns { display:grid;grid-template-columns:1fr 1fr; gap:12px; }
  .bcse-platforms .wp-block-column { min-width:0; }
  .bcse-platform-card { min-height:76px; }
  .bcse-footer .wp-block-columns { gap:20px; }
}
@media (max-width:480px) {
  .bcse-header-inner { padding:10px 16px; }
  .bcse-brand .wp-block-site-logo img { width:min(100%,190px); }
  .bcse-hero .wp-block-buttons, .bcse-final-cta .wp-block-buttons { display:grid; grid-template-columns:1fr; }
  .bcse-hero .wp-block-button,.bcse-final-cta .wp-block-button { width:100%; }
  .bcse-hero .wp-block-button__link,.bcse-final-cta .wp-block-button__link { width:100%;box-sizing:border-box; }
  .bcse-platforms .wp-block-columns { grid-template-columns:1fr 1fr; }
}
@media (prefers-reduced-motion:reduce){ html {scroll-behavior:auto;} .wp-block-button__link {transition:none;} }
