/*
Theme Name: Local SEO Squad
Theme URI: https://localseosquad.com
Author: Local SEO Squad
Author URI: https://localseosquad.com
Description: A fast, clean theme for Local SEO Squad. Built for the Gutenberg editor and compatible with Elementor and other builders. Content lives in pages and posts, not in the theme, so every page stays editable.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: localseosquad
Tags: one-column, custom-logo, custom-menu, editor-style, block-styles, wide-blocks
*/

:root {
  --lss-ink: #16213a;
  --lss-navy: #1f3864;
  --lss-blue: #2f5496;
  --lss-sky: #d9e1f2;
  --lss-paper: #f7f8fb;
  --lss-white: #ffffff;
  --lss-accent: #f2a91e;
  --lss-accent-dark: #d18f0b;
  --lss-grey: #5a6478;
  --lss-radius: 10px;
  --lss-max: 760px;
  --lss-wide: 1140px;
  --lss-font-head: "Bricolage Grotesque", "Trebuchet MS", sans-serif;
  --lss-font-body: "Figtree", "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--lss-font-body);
  font-size: 18px;
  line-height: 1.65;
  color: var(--lss-ink);
  background: var(--lss-white);
}

.wrap { max-width: var(--lss-wide); margin: 0 auto; padding: 0 24px; }

h1, h2, h3, h4 {
  font-family: var(--lss-font-head);
  line-height: 1.15;
  color: var(--lss-navy);
  letter-spacing: -0.01em;
}

h1 { font-size: clamp(2.1rem, 4.5vw, 3.1rem); font-weight: 800; }
h2 { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700; margin-top: 2.4em; }
h3 { font-size: 1.2rem; font-weight: 700; margin-top: 1.8em; }

a { color: var(--lss-blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--lss-navy); }

.site-header {
  background: var(--lss-navy);
  background-image: radial-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px);
  background-size: 22px 22px;
  border-bottom: 4px solid var(--lss-accent);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  padding-top: 18px;
  padding-bottom: 18px;
}

.site-brand a {
  font-family: var(--lss-font-head);
  font-weight: 800;
  font-size: 1.3rem;
  color: var(--lss-white);
  text-decoration: none;
  letter-spacing: 0.01em;
}

.site-brand .custom-logo { max-height: 48px; width: auto; display: block; }

.site-nav ul { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 22px; margin: 0; padding: 0; }
.site-nav a { color: var(--lss-sky); text-decoration: none; font-weight: 600; font-size: 0.95rem; }
.site-nav a:hover { color: var(--lss-white); }

.header-cta {
  background: var(--lss-accent);
  color: var(--lss-navy) !important;
  font-weight: 700;
  padding: 10px 20px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 0.95rem;
  white-space: nowrap;
}
.header-cta:hover { background: var(--lss-accent-dark); }

.site-main { min-height: 60vh; }

.content-wrap { max-width: var(--lss-max); margin: 0 auto; padding: 56px 24px 80px; }
.wide-wrap { max-width: var(--lss-wide); margin: 0 auto; padding: 40px 24px 80px; }

.page-title, .entry-title { margin-top: 0; }

.entry-content p { margin: 1.1em 0; }
.entry-content ol, .entry-content ul { padding-left: 1.3em; }
.entry-content li { margin: 0.45em 0; }
.entry-content img { max-width: 100%; height: auto; border-radius: var(--lss-radius); }

.entry-meta { color: var(--lss-grey); font-size: 0.9rem; margin-bottom: 2em; }

.lss-kicker {
  display: inline-block;
  font-family: var(--lss-font-head);
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lss-accent-dark);
  margin-bottom: 0;
}

.lss-hero {
  background: var(--lss-paper);
  border: 1px solid var(--lss-sky);
  border-radius: var(--lss-radius);
  padding: 28px 28px 18px;
  margin: 0 0 2.5em;
}

.lss-card {
  background: var(--lss-paper);
  border: 1px solid var(--lss-sky);
  border-radius: var(--lss-radius);
  padding: 22px 24px;
  margin: 1.4em 0;
}

.wp-block-button__link, .lss-button {
  background: var(--lss-accent);
  color: var(--lss-navy);
  font-family: var(--lss-font-body);
  font-weight: 700;
  border-radius: 999px;
  padding: 14px 28px;
  text-decoration: none;
  border: none;
}
.wp-block-button__link:hover, .lss-button:hover { background: var(--lss-accent-dark); color: var(--lss-navy); }

.is-style-outline .wp-block-button__link {
  background: transparent;
  border: 2px solid var(--lss-navy);
  color: var(--lss-navy);
}

.entry-content blockquote {
  border-left: 4px solid var(--lss-accent);
  margin: 1.6em 0;
  padding: 4px 0 4px 20px;
  color: var(--lss-grey);
  font-style: italic;
}

hr, .wp-block-separator { border: none; border-top: 1px solid var(--lss-sky); margin: 2.5em 0; }

.post-card {
  border: 1px solid var(--lss-sky);
  border-radius: var(--lss-radius);
  padding: 26px 28px;
  margin: 0 0 26px;
  background: var(--lss-white);
}
.post-card h2 { margin: 0 0 6px; font-size: 1.35rem; }
.post-card h2 a { text-decoration: none; color: var(--lss-navy); }
.post-card h2 a:hover { color: var(--lss-blue); }
.post-card .entry-meta { margin-bottom: 10px; }
.post-card p { margin: 0 0 12px; }
.more-link { font-weight: 700; }

.site-footer {
  background: var(--lss-navy);
  background-image: radial-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px);
  background-size: 22px 22px;
  color: var(--lss-sky);
  margin-top: 40px;
  padding: 44px 0 36px;
  border-top: 4px solid var(--lss-accent);
}
.site-footer a { color: var(--lss-white); text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.footer-nav ul { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0 0 18px; padding: 0; }
.footer-note { font-size: 0.9rem; margin: 0; }

input[type="text"], input[type="email"], input[type="tel"], input[type="url"], textarea, select {
  font-family: var(--lss-font-body);
  font-size: 1rem;
  padding: 12px 14px;
  border: 1px solid var(--lss-sky);
  border-radius: 8px;
  width: 100%;
}

@media (max-width: 720px) {
  .header-inner { justify-content: center; text-align: center; }
  .site-nav ul { justify-content: center; }
}
