/*
Theme Name: Nexus - Dev Bytes
Theme URI: https://example.com/devbytes-dev-bytes
Description: Nexus Coastal child theme (development build). Child of Astra. Production-ready structure for Nexus Coastal Law Group.
Author: Nexus
Author URI: https://example.com
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Template: astra
Text Domain: nexus-coastal-child
Tags: responsive, accessibility, custom-layout, landing-page
*/

@import url('assets/css/variables.css');

body { font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; color: var(--text); }

/* Basic layout helpers */
.container{ max-width:1200px; margin:0 auto; padding:0 20px; }
.hero { display:flex; gap:24px; align-items:center; padding:60px 0; }

/* Minimal components for starter */
.hero-left { flex:1 }
.hero-right { width:360px }

button.cta{ background:var(--cta); color:#fff; border:none; padding:12px 20px; border-radius:6px }

@media(max-width:768px){ .hero { flex-direction:column } }

/* ------------------------------
	 Readability & Accessibility
	 Site-wide adjustments for larger text, contrast, and focus states
	 ------------------------------ */
:root{
	--access-font-size:18px;
	--access-line-height:1.65;
	--access-contrast-strong:#0b2f24; /* dark text */
	--access-contrast-muted:#475569;  /* readable secondary for light backgrounds */
	--access-cta-bg:#0b5b3f; /* strong CTA */
	--access-cta-hover:#094b33;
	--brand-dark:#0b2f24;
	--on-brand-dark:#ffffff;
	--muted-on-dark:#cbd5e1; /* lighter muted color for use on dark backgrounds */
	--cta-min-width:280px;
	--heading-scale:1.75rem; /* base h1 */
	--heading-scale-lg:2.25rem; /* large screens */
}
html{font-size:var(--access-font-size);} 
body{line-height:var(--access-line-height); color:var(--access-contrast-strong);} 
body p, body li, body dd, body dt { font-size:1.05rem; }

/* Headings clearer */
h1,h2,h3,h4{color:var(--access-contrast-strong); line-height:1.12}
h1{font-size:var(--heading-scale)}
@media(min-width:768px){ h1{font-size:var(--heading-scale-lg)} }

/* Buttons and CTAs */
.button, .button-primary, button, a.button, button.cta{ padding:14px 20px; font-size:16px; border-radius:10px; }
.button-primary, .button.cta{ background:var(--access-cta-bg); color:#fff; border:1px solid rgba(0,0,0,0.06); }
.button-primary:hover, .button.cta:hover{ background:var(--access-cta-hover); }

/* Forms and controls */
input[type="text"], input[type="email"], input[type="date"], textarea, select { font-size:16px; padding:10px 12px; border-radius:8px; border:1px solid #e6eef7; }

/* Contrast adjustments */
.text-slate-600{ color:var(--access-contrast-muted); }
.text-slate-700{ color:#1f2937; }

/* helper for elements placed on brand-dark backgrounds */
.bg-brand-dark{ background:var(--brand-dark); color:var(--on-brand-dark); }
/* muted text when placed on dark backgrounds */
.text-muted-on-dark{ color:var(--muted-on-dark); }
/* Ensure text color variants adapt when inside dark brand backgrounds */
.bg-brand-dark .text-slate-600, .bg-emerald-700 .text-slate-600 { color: var(--muted-on-dark) !important; }
.bg-brand-dark .text-slate-900, .bg-emerald-700 .text-slate-900 { color: var(--on-brand-dark) !important; }

/* Focus outlines for keyboard users */
a:focus, button:focus, input:focus, textarea:focus, select:focus { outline:3px solid #c9f0df; outline-offset:3px; }

/* Skip link (for keyboard navigation) */
.skip-link{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip-link:focus{ left:10px; top:10px; width:auto; height:auto; padding:8px 12px; background:#fff; color:var(--access-contrast-strong); z-index:9999; border-radius:6px; box-shadow:0 6px 18px rgba(2,6,23,0.08);} 

