
/*
Theme Name: RedLightCompass
Theme URI: https://RedLightCompass.com/
Author: You
Author URI: https://RedLightCompass.com/
Description: A clean, customizable classic theme with color controls for background, header, footer, and sidebar. Widget-ready sidebar and four footer widget areas. Built for the latest WordPress.
Version: 1.1.1
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: redlightcompass
Tags: blog, one-column, two-columns, right-sidebar, custom-colors, custom-logo, custom-menu, classic-widgets
*/

/* CSS Custom Properties (theme colors) */
:root {
  --rlc-bg: #ffffff;
  --rlc-text: #1f2937;
  --rlc-link: #0ea5e9;
  --rlc-accent: #ef4444;

  --rlc-header-bg: #0b0b0b;
  --rlc-header-text: #ffffff;

  --rlc-footer-bg: #111827;
  --rlc-footer-text: #e5e7eb;

  --rlc-sidebar-bg: #f9fafb;
  --rlc-sidebar-text: #111827;
}

html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }

body {
  margin: 0;
  color: var(--rlc-text);
  background: var(--rlc-bg);
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
  line-height: 1.6;
}

a { color: var(--rlc-link); text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }

.container {
  width: min(1140px, 94vw);
  margin: 0 auto;
  padding: 1rem;
}

.site-header {
  background: var(--rlc-header-bg);
  color: var(--rlc-header-text);
}

.site-branding { display:flex; align-items:center; gap: 0.75rem; padding: 1rem 0; }
.site-title { margin:0; font-size: clamp(1.25rem, 2vw, 1.75rem); }
.site-description { margin:0; opacity:.8; font-size:.9rem; }

/* Navigation */
.primary-nav {
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.primary-nav .menu {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1rem;
  margin: 0;
  padding: .75rem 0;
}
.primary-nav .menu a {
  color: var(--rlc-header-text);
  padding: .25rem .5rem;
  border-radius: .375rem;
}
.primary-nav .menu a:hover { background: rgba(255,255,255,.08); text-decoration: none; }

/* Layout */
.site-main {
  display:grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 992px) {
  .has-sidebar .site-main {
    grid-template-columns: minmax(0, 1fr) 320px;
    align-items: start;
  }
}

.sidebar {
  background: var(--rlc-sidebar-bg);
  color: var(--rlc-sidebar-text);
  padding: 1rem;
  border: 1px solid #e5e7eb;
  border-radius: .5rem;
}

.widget { margin-bottom: 1.25rem; }
.widget-title { margin: 0 0 .5rem 0; font-size: 1rem; border-bottom: 2px solid #e5e7eb; padding-bottom: .25rem; }

/* Content */
.post {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: .5rem;
  padding: 1rem;
}
.post + .post { margin-top: 1rem; }
.post .entry-title { margin-top: 0; }
.post .entry-meta { font-size: .9rem; color: #6b7280; }

/* Footer */
.site-footer {
  background: var(--rlc-footer-bg);
  color: var(--rlc-footer-text);
  margin-top: 3rem;
}
.footer-widgets {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 2rem;
  padding: 2rem 0 1rem;
  align-items: start;
}
.footer-widgets .footer-col { min-width: 0; }
.site-footer a { color: var(--rlc-footer-text); }
.site-footer .site-info {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 1rem 0 2rem;
  font-size: .9rem;
  opacity: .9;
}

/* Forms */
input, select, textarea {
  width: 100%;
  padding: .5rem .65rem;
  border: 1px solid #d1d5db;
  border-radius: .375rem;
  font: inherit;
  background: #fff;
  color: inherit;
}
button, .button, input[type=submit] {
  display:inline-block;
  padding: .55rem .9rem;
  border: 1px solid transparent;
  border-radius: .5rem;
  background: var(--rlc-accent);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}
button:hover, .button:hover, input[type=submit]:hover { filter: brightness(.92); }

/* Landing page tweaks */
.landing .site-header, .landing .site-footer { display: none; }
.landing .container { width: min(1280px, 96vw); }
.landing-hero { padding: 6rem 0 2rem; text-align: center; }
.landing-hero h1 { font-size: clamp(2rem, 4vw, 3rem); margin: 0 0 .5rem; }
.landing-hero p { font-size: clamp(1rem, 2vw, 1.25rem); opacity: .9; }

/* Accessibility helpers */
.skip-link {
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus { position:static; width:auto; height:auto; padding:.5rem; background:#000; color:#fff; }

/* Footer polish */
.site-footer .widget { margin-bottom: 1.25rem; }
.site-footer .widget ul { margin: .5rem 0 0 1rem; padding: 0; }
.site-footer .widget li { margin: .35rem 0; }
