
/* Light Tech Theme v1 */
:root{
  --bg-base: #f6f7fb;
  --bg-grad-1: rgba(59,130,246,0.12);
  --bg-grad-2: rgba(16,185,129,0.10);
  --text-color: #0f172a;
  --muted: #475569;
  --card-bg: #ffffffcc;
  --card-bd: #e5e7eb;
  --radius: 16px;
  --shadow: 0 8px 30px rgba(2,6,23,.08);
  --accent: #2563eb;
  --accent-2: #10b981;
  --hero-img: none;
}

body.light-tech{
  margin:0;
  color:var(--text-color);
  background:
    radial-gradient(800px 600px at 20% -10%, var(--bg-grad-1), transparent 50%),
    radial-gradient(1000px 700px at 85% 0%, var(--bg-grad-2), transparent 55%),
    linear-gradient(180deg, #ffffff, var(--bg-base));
  background-attachment: fixed, fixed, fixed;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* Subtle grid overlay */
body.light-tech::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(2,6,23,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(2,6,23,.06) 1px, transparent 1px);
  background-size: 48px 48px, 48px 48px;
  mask-image: radial-gradient(1200px at 50% -10%, rgba(0,0,0,.6), transparent 70%);
}

/* Cards */
.card, .panel, .feature, .service, .testimonial{
  background: var(--card-bg);
  backdrop-filter: blur(6px);
  border: 1px solid var(--card-bd);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 1.25rem;
}

/* Buttons */
.btn, button, [type="submit"], .button{
  border-radius: 12px;
  border: 1px solid transparent;
  padding: .65rem 1rem;
  font-weight: 600;
  transition: transform .12s ease, box-shadow .12s ease, background-color .2s ease;
  background: linear-gradient(180deg, #fff, #f3f7ff);
  color: var(--accent);
  box-shadow: 0 4px 18px rgba(37,99,235,.15);
}
.btn:hover, button:hover, [type="submit"]:hover, .button:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(37,99,235,.20);
}
.btn.primary, .button.primary{
  background: linear-gradient(180deg, #3b82f6, #2563eb);
  color: #fff;
  box-shadow: 0 10px 26px rgba(37,99,235,.35);
}
.btn.primary:hover, .button.primary:hover{
  filter: brightness(1.04);
}

/* Hero sections if present */
.hero, header.hero, .masthead, .banner{
  position: relative;
  min-height: 60vh;
  display: grid;
  align-items: center;
  background-image:
    radial-gradient(1200px 700px at 100% 0%, rgba(37, 99, 235, .15), transparent 55%),
    radial-gradient(1000px 700px at 0% 0%, rgba(16, 185, 129, .13), transparent 55%),
    var(--hero-img);
  background-size: cover, cover, cover;
  background-position: center, center, center;
  border-bottom: 1px solid var(--card-bd);
}
.hero::after, header.hero::after, .masthead::after, .banner::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(0deg, rgba(255,255,255,.35), rgba(255,255,255,.10));
}

/* Sections */
section{ padding: 64px 0; }
.section-title{ font-size: clamp(28px, 3.2vw, 40px); margin: 0 0 16px; letter-spacing: -.02em;}
.section-sub{ color: var(--muted); max-width: 70ch; }

/* Images in content */
img{ border-radius: 14px; box-shadow: 0 8px 22px rgba(2,6,23,.08); }
figure{ margin: 0; }

/* Contrast fixes */
.light-tech, .light-tech p, .light-tech li, .light-tech h1, .light-tech h2, .light-tech h3, .light-tech h4, .light-tech h5, .light-tech h6{
  color: #0f172a;
}
.light-tech a{ color:#1d4ed8; }
.light-tech .text-white, .light-tech .text-light, .light-tech .text-muted-foreground{
  color:#0f172a !important;
}
.light-tech .hero h1, .light-tech .hero h2, .light-tech .masthead h1, .light-tech .masthead h2{
  color:#0b1220; text-shadow: 0 1px 0 rgba(255,255,255,.6);
}

/* === Visibility Fixes v2 === */

/* NAV contrast & readability */
header, .site-header{
  background: rgba(255,255,255,.86);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid #e5e7eb;
}
header nav a, .site-nav a, nav a{
  color:#0f172a !important;
  font-weight:600;
  letter-spacing:.01em;
}
header nav a:hover, .site-nav a:hover, nav a:hover{
  color:#111827 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* Active/current menu hints (works if site adds .active) */
nav a.active, .menu a.active{
  background: #eef2ff;
  color:#1d4ed8 !important;
  border-radius: 10px;
  padding:.35rem .6rem;
}

/* Cookie banner high-contrast */
#cookie-banner{
  background:#ffffff !important;
  color:#0f172a !important;
  border-top:1px solid #e5e7eb;
  box-shadow: 0 -8px 30px rgba(2,6,23,.08);
}
#cookie-banner a{ color:#1d4ed8 !important; text-decoration: underline; text-underline-offset: 2px; }
#cookie-banner button{
  color:#0f172a !important;
  background:#f3f4f6 !important;
  border:1px solid #e5e7eb !important;
}
#cookie-banner #cb-accept{
  background:#2563eb !important;
  color:#fff !important;
  border-color:#1d4ed8 !important;
}

/* Hero <img> fallback styling */
.hero, .masthead, .banner{
  position: relative;
  overflow: hidden;
}
.hero img.hero-bg, .masthead img.hero-bg, .banner img.hero-bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index: -1;
  filter: none !important;
}


/* Form visibility fixes */
body.light-tech input[type="text"],
body.light-tech input[type="email"],
body.light-tech input[type="tel"],
body.light-tech input[type="url"],
body.light-tech input[type="number"],
body.light-tech input[type="search"],
body.light-tech input[type="password"],
body.light-tech select,
body.light-tech textarea {
  background: #fff;
  border: 1.5px solid #cbd5e1; /* slate-300 */
  border-radius: 12px;
  color: #0f172a;
  padding: 12px 14px;
  line-height: 1.4;
  box-shadow: 0 1px 0 rgba(2,6,23,.02);
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

body.light-tech input::placeholder,
body.light-tech textarea::placeholder {
  color: #94a3b8; /* slate-400 */
}

body.light-tech input:focus,
body.light-tech select:focus,
body.light-tech textarea:focus {
  outline: none;
  border-color: #2563eb; /* accent */
  box-shadow: 0 0 0 4px rgba(37,99,235,.15);
  background: #fff;
}

body.light-tech fieldset {
  border: 1.5px solid #e2e8f0; /* slate-200 */
  border-radius: 12px;
  padding: 12px 16px;
}

body.light-tech label {
  color: #0f172a;
  font-weight: 600;
}

body.light-tech input[type="checkbox"],
body.light-tech input[type="radio"] {
  accent-color: #2563eb;
}

/* Disabled / readonly */
body.light-tech input[disabled],
body.light-tech select[disabled],
body.light-tech textarea[disabled] {
  background: #f5f7fb;
  color: #64748b;
  border-color: #e5e7eb;
}


/* Form visibility fixes v2 (stronger, scoped, important) */
body.light-tech form input:not([type="checkbox"]):not([type="radio"]),
body.light-tech form select,
body.light-tech form textarea,
body.light-tech .form-control,
body.light-tech .form-select {
  background: #fff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 12px !important;
  color: #0f172a !important;
  padding: 12px 14px !important;
  box-shadow: 0 1px 0 rgba(2,6,23,.02) !important;
}

body.light-tech form input:focus,
body.light-tech form select:focus,
body.light-tech form textarea:focus,
body.light-tech .form-control:focus,
body.light-tech .form-select:focus {
  outline: none !important;
  border-color: #2563eb !important;
  box-shadow: 0 0 0 4px rgba(37,99,235,.15) !important;
  background: #fff !important;
}

/* Placeholder + select defaults */
body.light-tech form ::placeholder { color:#94a3b8 !important; opacity:1 !important; }
body.light-tech form select { color:#0f172a !important; }
body.light-tech form option[disabled] { color:#94a3b8 !important; }

/* Remove any transparent borders/backgrounds applied by older classes */
body.light-tech .input, body.light-tech .input-group, body.light-tech .field {
  background: transparent !important;
  box-shadow: none !important;
}

/* Space between fields */
body.light-tech form .form-group, body.light-tech form p, body.light-tech form div { margin-bottom: 14px; }
