/*
Theme Name: ProffittCox Block
Theme URI: https://github.com/peacockesq/proffittcox-wp7-spike
Author: Peacock ESQ
Description: Editor-first block theme for ProffittCox. Uses native Gutenberg content for pages/posts and lightweight theme templates, not Elementor snapshots.
Version: 0.2.0
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.2
*/

:root {
  --pcx-navy: #102d4f;
  --pcx-blue: #174f84;
  --pcx-gold: #c89b3c;
  --pcx-cream: #f7f3ea;
  --pcx-ink: #18212b;
  --pcx-muted: #667085;
  --pcx-border: #e5e7eb;
  --pcx-max: 1120px;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  color: var(--pcx-ink);
  background: #fff;
  font-family: var(--wp--preset--font-family--body, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  line-height: 1.65;
}
a { color: var(--pcx-blue); }
a:hover { color: var(--pcx-navy); }
.pcx-site-header {
  border-bottom: 1px solid var(--pcx-border);
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 10;
}
.pcx-header-inner, .pcx-footer-inner, .pcx-main, .pcx-hero-inner {
  max-width: var(--pcx-max);
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}
.pcx-header-inner {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.pcx-brand { display:flex; align-items:center; gap:14px; color: var(--pcx-navy); text-decoration:none; font-weight: 800; letter-spacing: -.02em; font-size: 22px; }
.pcx-brand img { width: 54px; height: auto; }
.pcx-nav { display:flex; flex-wrap:wrap; gap: 16px; align-items:center; justify-content:flex-end; font-size: 15px; }
.pcx-nav a { color: var(--pcx-ink); text-decoration: none; font-weight: 650; }
.pcx-nav a:hover { color: var(--pcx-blue); }
.pcx-phone { background: var(--pcx-gold); color: #111 !important; padding: 10px 14px; border-radius: 999px; }
.pcx-hero { background: linear-gradient(135deg, rgba(16,45,79,.96), rgba(23,79,132,.88)), url('https://www.proffittcox.com/wp-content/uploads/2023/12/columbia-sc-attorneys.jpg') center/cover; color: #fff; }
.pcx-hero-inner { padding-top: 72px; padding-bottom: 76px; }
.pcx-kicker { color: #ffe1a0; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: 13px; }
.pcx-hero h1 { max-width: 840px; margin: 12px 0 16px; font-size: clamp(38px, 6vw, 66px); line-height: 1.02; letter-spacing: -.045em; }
.pcx-hero p { max-width: 720px; margin: 0 0 28px; font-size: 20px; color: rgba(255,255,255,.9); }
.pcx-button-row { display:flex; flex-wrap:wrap; gap:14px; }
.pcx-button { display:inline-flex; align-items:center; justify-content:center; border-radius: 10px; padding: 13px 18px; font-weight: 800; text-decoration:none; border: 2px solid transparent; }
.pcx-button-primary { background: var(--pcx-gold); color:#111; }
.pcx-button-secondary { color:#fff; border-color: rgba(255,255,255,.75); }
.pcx-main { padding-top: 52px; padding-bottom: 64px; }
.pcx-layout { display:grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 44px; align-items:start; }
.pcx-content :where(h1,h2,h3,h4) { line-height:1.18; color: var(--pcx-navy); letter-spacing: -.02em; }
.pcx-content h1 { font-size: clamp(34px, 5vw, 54px); margin: 0 0 22px; }
.pcx-content h2 { font-size: clamp(28px, 3vw, 38px); margin-top: 42px; }
.pcx-content h3 { font-size: 24px; margin-top: 30px; }
.pcx-content p, .pcx-content li { font-size: 18px; }
.pcx-content img { max-width:100%; height:auto; border-radius: 12px; }
.pcx-content .wp-block-image { margin: 28px 0; }
.pcx-content .wp-block-quote { border-left: 4px solid var(--pcx-gold); padding-left: 20px; color: #374151; }
.pcx-sidebar { position: sticky; top: 112px; }
.pcx-card { background: var(--pcx-cream); border: 1px solid #eadfca; border-radius: 18px; padding: 24px; margin-bottom: 18px; }
.pcx-card h2, .pcx-card h3 { margin-top:0; color: var(--pcx-navy); line-height:1.2; }
.pcx-card p { color: #384252; }
.pcx-card .pcx-button { width:100%; }
.pcx-site-footer { background: var(--pcx-navy); color: rgba(255,255,255,.86); }
.pcx-footer-inner { padding-top: 42px; padding-bottom: 42px; display:grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 28px; }
.pcx-site-footer a { color: #fff; }
.pcx-footer-title { color:#fff; font-weight:800; margin-bottom:10px; }
.pcx-post-list { display:grid; gap: 22px; }
.pcx-post-card { border:1px solid var(--pcx-border); border-radius:16px; padding:22px; background:#fff; }
.pcx-post-card h2 { margin-top:0; }
.pcx-edit-proof { outline: 3px solid #34d399; outline-offset: 4px; }
@media (max-width: 860px) {
  .pcx-header-inner { align-items:flex-start; flex-direction:column; padding-top:16px; padding-bottom:16px; }
  .pcx-nav { justify-content:flex-start; }
  .pcx-layout { grid-template-columns: 1fr; }
  .pcx-sidebar { position: static; }
  .pcx-footer-inner { grid-template-columns: 1fr; }
}

/* Rebuild safety: captured Elementor-era sections must never leave the page hidden. */
body,
body.elementor-page,
body.elementor-kit-287 {
  opacity: 1 !important;
  visibility: visible !important;
}
