/*
Theme Name: Cedars Design Group
Theme URI: https://cedarsdesigngroup.com
Author: Cedars Design Group
Description: Fully dark, bold, luxury theme for Cedars Design Group (mockup parity).
Version: 1.2.5
License: GPLv2 or later
Text Domain: cedars-design-group
*/

/* ============================================================
CEDARS DESIGN GROUP — MOCKUP PARITY STYLES
Goal: Match Cedars_Mockup_Visual_Target.css behavior sitewide.
============================================================ */

:root {
  --cdg-bg-0: #0f1113;
  --cdg-bg-1: #141618;
  --cdg-green: #0c9351;
  --cdg-gold: #e89f17;
  --cdg-text: rgba(255,255,255,0.90);
  --cdg-text-dim: rgba(255,255,255,0.75);
  --cdg-border: rgba(255,255,255,0.08);
  --cdg-panel: rgba(255,255,255,0.06);
  --cdg-panel-2: rgba(0,0,0,0.35);
  --cdg-panel-border: rgba(255,255,255,0.10);
  --cdg-shadow: 0 18px 40px rgba(0,0,0,0.35);
  --cdg-radius: 16px;
  --cdg-radius-lg: 18px;
  --cdg-max: 1120px;
}

*{ box-sizing:border-box; }
html, body { padding:0; margin:0; }

html, body {
  background: var(--cdg-bg-0);
  color: var(--cdg-text);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

body{
  background-image:
    radial-gradient(1200px 700px at 15% 10%, rgba(12,147,81,0.12), transparent 55%),
    radial-gradient(1100px 650px at 90% 0%, rgba(232,159,23,0.10), transparent 55%),
    linear-gradient(180deg, var(--cdg-bg-0), var(--cdg-bg-1));
  background-attachment: fixed;
  line-height: 1.55;
}

/* ABSOLUTE RULE: NO WHITE SECTIONS ANYWHERE */
section{ background: transparent !important; }

a{ color: rgba(255,255,255,0.88); text-decoration:none; }
a:hover{ color:#fff; text-decoration:none; }

.container{ max-width: var(--cdg-max); margin: 0 auto; padding: 0 20px; }

/* --------------------
HEADER / NAV
-------------------- */
.site-header{
  position: sticky; top:0; z-index:50;
  background: rgba(15,17,19,0.65);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--cdg-border);
}

.header-inner{ display:flex; align-items:center; justify-content:space-between; padding: 14px 0; gap: 14px; }

.brand-logo{ display:flex; align-items:center; gap:10px; }
.brand-logo img{ height:44px; width:auto; display:block; }

.brand{ display:flex; align-items:center; gap: 12px; }
.brand-name{ color: #ffffff; font-weight: 650; letter-spacing: .2px; }
.brand-tag{ color: rgba(255,255,255,0.65); font-size: 12px; margin-top: 2px; }

.nav{ display:flex; align-items:center; gap: 18px; }
.nav li{ list-style:none; margin:0; padding:0; }
.nav ul{ list-style:none; margin:0; padding:0; display:flex; gap:18px; align-items:center; }
.nav a{ color: rgba(255,255,255,0.85); font-weight: 600; }
.nav a:hover{ color:#fff; }

/* --------------------
BUTTONS
-------------------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.90);
  font-weight: 700;
}
.btn:hover{ filter: brightness(1.05); }

.btn-primary{
  background: var(--cdg-green);
  border-color: var(--cdg-green);
  color: #ffffff;
}
.btn-primary:hover{ box-shadow: 0 14px 26px rgba(12,147,81,0.25); }

/* --------------------
HERO
-------------------- */
.hero{
  min-height: 560px;
  display:flex;
  align-items:center;
  padding: 54px 0 34px;
  background:
    linear-gradient(180deg, rgba(15,17,19,0.55), rgba(15,17,19,0.85)),
    url("assets/hero.jpg") center / cover no-repeat;
  border-bottom: 1px solid var(--cdg-border);
}

.hero-grid{ width:100%; }
.hero-copy{ max-width: 720px; }

.hero h1{
  margin: 0 0 10px;
  font-size: clamp(32px, 3.4vw, 46px);
  line-height: 1.08;
  color: #ffffff;
  font-weight: 600;
}

.hero h1::after{
  content: "";
  display:block;
  width: 90px;
  height: 3px;
  margin-top: 14px;
  background: var(--cdg-gold);
  border-radius: 999px;
}

.hero p{
  margin: 0 0 18px;
  color: var(--cdg-text-dim);
  font-size: 18px;
}

.trust-strip{
  margin-top: 18px;
  display:flex;
  flex-wrap:wrap;
  gap: 10px 14px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(0,0,0,0.32);
  border: 1px solid var(--cdg-border);
  color: rgba(255,255,255,0.82);
  font-weight: 600;
  font-size: 13px;
}
.trust-dot{ display:inline-block; width: 8px; height: 8px; border-radius: 999px; background: var(--cdg-gold); margin-right: 8px; }

.badges{ display:flex; flex-wrap:wrap; gap: 10px; margin: 16px 0 0; }
.badge{
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  font-weight: 700;
  font-size: 13px;
  color: rgba(255,255,255,0.85);
}

/* --------------------
SECTIONS / TYPOGRAPHY
-------------------- */
.section{ padding: 34px 0; }
.section.alt{ background: transparent !important; border: 0; }

h2{
  margin: 0 0 10px;
  font-size: 28px;
  color:#ffffff;
  font-weight: 600;
}

.lead{ margin: 0 0 16px; color: rgba(255,255,255,0.70); font-size: 17px; }

/* --------------------
CARDS / PANELS
-------------------- */
.card, .panel{
  background: var(--cdg-panel);
  border: 1px solid var(--cdg-panel-border);
  box-shadow: var(--cdg-shadow);
  border-radius: var(--cdg-radius);
}

.card{ padding: 16px; }
.card h3{ margin: 10px 0 6px; font-size: 16px; color:#ffffff; }
.card p{ margin: 0; color: rgba(255,255,255,0.70); font-size: 14px; }

.card-ico{
  width: 44px; height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(12,147,81,0.10);
  display:grid; place-items:center;
}
.card-ico svg{ width: 24px; height: 24px; }

/* Services wrapper panel */
.services-wrapper{
  background: var(--cdg-panel-2);
  border: 1px solid var(--cdg-border);
  border-radius: var(--cdg-radius-lg);
  padding: 24px;
}

.services-grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 14px; }

/* Checklist */
.two-col{ display:grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.checklist{ list-style:none; padding:0; margin: 10px 0 0; }
.checklist li{ display:flex; gap: 10px; align-items:flex-start; padding: 8px 0; }
.check{ width: 18px; height: 18px; margin-top: 2px; flex:0 0 18px; }
.muted{ color: rgba(255,255,255,0.70); }

/* CTA */
.cta{
  border-radius: 22px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: var(--cdg-shadow);
  padding: 22px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 14px;
}
.cta p{ margin: 6px 0 0; color: rgba(255,255,255,0.72); }

/* Testimonials */
.testimonials{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.quote{ border-left: 4px solid rgba(12,147,81,0.75); padding-left: 12px; color: rgba(255,255,255,0.78); font-style: italic; }
.quote small{ display:block; margin-top: 8px; color: rgba(255,255,255,0.60); font-style: normal; }

/* Footer */
.site-footer{
  border-top: 1px solid var(--cdg-border);
  background: rgba(15,17,19,0.75);
  padding: 22px 0;
  color: rgba(255,255,255,0.70);
  font-size: 14px;
}
.footer-grid{ display:flex; flex-wrap:wrap; justify-content: space-between; gap: 12px; }

/* Forms */
.form{
  max-width: 640px;
  background: var(--cdg-panel);
  border: 1px solid var(--cdg-panel-border);
  border-radius: var(--cdg-radius);
  box-shadow: var(--cdg-shadow);
  padding: 16px;
}
.form label{ display:block; font-weight:700; color: rgba(255,255,255,0.88); margin: 12px 0 6px; }
.form input, .form textarea{
  width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.25);
  color: rgba(255,255,255,0.90);
  font: inherit;
}
.form textarea{ min-height: 130px; resize: vertical; }

@media (max-width: 980px){
  .two-col{ grid-template-columns: 1fr; }
  .services-grid{ grid-template-columns: 1fr; }
  .testimonials{ grid-template-columns: 1fr; }
  .cta{ flex-direction: column; align-items:flex-start; }
}

@media (max-width: 720px){
  .nav{ display:none; }
}

/* Service icon sizing (inline SVG) */
.card-ico svg.service-icon{width:24px;height:24px;display:block;}

/* =========================
   Desktop-only: Bigger logo + brand text
   (Nav link sizes unchanged)
========================= */
@media (min-width: 981px){
  .brand-logo img{ height: 72px; width: auto; }
  .brand-name{ font-size: 28px; line-height: 1.05; }
  .brand-tag{ font-size: 14px; margin-top: 4px; }
  .header-inner{ padding: 18px 0; }
  .brand{ gap: 14px; }
}

/* Subtle contrast panel behind logo image */
.brand-logo{
  background: rgba(232,159,23,0.10);
  border: 1px solid rgba(232,159,23,0.35);
  border-radius: 10px;
  padding: 6px 10px;
}

/* ===============================
   SOLID HEADER (NO BLUR / NO BLEED)
   =============================== */

.site-header{
  background: #0f1113 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Remove any panel or glow behind the logo */
.brand-logo{
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Ensure logo image itself has no background */
.brand-logo img{
  background: transparent !important;
  box-shadow: none !important;
}

/* ========================================================================
   ADDITIONAL CSS (merged in — minimal changes: fixed syntax + removed debug)
   ======================================================================== */

/* =========================================================
   1) HERO STRUCTURE
   ========================================================= */

.home section.hero.hero-a{
  position: relative !important;
  min-height: 78vh !important;
  display: flex !important;
  align-items: center !important;
}

.home section.hero.hero-a > *{
  position: relative !important;
  z-index: 2 !important;
}

/* =========================================================
   2) TRUE SITEWIDE BACKDROP IMAGE (fixed, full bleed)
   ========================================================= */

html, body{
  height: 100%;
  background: transparent !important;
}

/* Backdrop image */
html::before{
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  background-image: url("/wp-content/themes/cedars-design-group/assets/hero.jpg") !important;
  background-size: cover !important;
  background-position: center right !important;
  background-repeat: no-repeat !important;
  z-index: -2 !important;
  pointer-events: none !important;
}

/* Dark luxury overlay */
html::after{
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  background:
    radial-gradient(1200px 600px at 20% 10%, rgba(110,231,183,.08), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.86) 60%, rgba(0,0,0,.92) 100%) !important;
  z-index: -1 !important;
  pointer-events: none !important;
}

/* =========================================================
   3) REMOVE ALL BLOCKING BACKGROUNDS
   ========================================================= */

:is(
  body,
  .site,
  .site-content,
  .site-main,
  .content-area,
  .content,
  .wrap,
  .container,
  main,
  article,
  section,
  .entry-content,
  .wp-site-blocks,
  .wp-block-group
){
  background: transparent !important;
}

.section.alt,
.section--alt{
  background: transparent !important;
}

/* =========================================================
   4) GLOBAL TEXT COLOR (mockup readability)
   ========================================================= */

body{
  color: rgba(255,255,255,.85) !important;
}

h1, h2, h3, h4, h5, h6{
  color: #ffffff !important;
}

p, li{
  color: rgba(255,255,255,.78) !important;
}

/* =========================================================
   5) PREVENT DOUBLE HERO BACKGROUND
   ========================================================= */

.home section.hero.hero-a{
  background-image: none !important;
}

/* =========================================================
   WPForms — FORCE dark theme on ALL field types
   ========================================================= */

.wpforms-container .wpforms-field input,
.wpforms-container .wpforms-field textarea,
.wpforms-container .wpforms-field select{
  background-color: rgba(0,0,0,.55) !important;
  color: rgba(255,255,255,.90) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

/* Catch browser autofill + stubborn fields */
.wpforms-container input:-webkit-autofill,
.wpforms-container textarea:-webkit-autofill,
.wpforms-container select:-webkit-autofill{
  -webkit-text-fill-color: rgba(255,255,255,.9) !important;
  -webkit-box-shadow: 0 0 0 1000px rgba(0,0,0,.55) inset !important;
  transition: background-color 9999s ease-in-out 0s;
}

/* Placeholders */
.wpforms-container .wpforms-field ::placeholder{
  color: rgba(255,255,255,.45) !important;
}

/* Focus state */
.wpforms-container .wpforms-field input:focus,
.wpforms-container .wpforms-field textarea:focus,
.wpforms-container .wpforms-field select:focus{
  outline: none !important;
  border-color: rgba(110,231,183,.55) !important;
  box-shadow: 0 0 0 3px rgba(110,231,183,.14) !important;
}

/* Labels (ensure they never fade into background) */
.wpforms-container .wpforms-field-label{
  color: rgba(255,255,255,.85) !important;
}

/* Submit button consistency */
.wpforms-container button.wpforms-submit{
  background: #0ea66b !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 12px 20px !important;
  font-weight: 700 !important;
}

/* WPForms confirmation (success) — match dark theme */
.wpforms-confirmation-container-full{
  background: rgba(0,0,0,.55) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: rgba(255,255,255,.85) !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
}

/* Option 4: Isolated spacing for service card paragraphs only */
.card p{
  margin: 0 0 1rem 0;
}

.card-ico img.service-icon{
  width:24px;
  height:24px;
  display:block;
}
.service-sublist {
  margin-top: 14px;
  padding-left: 0;
  list-style: none;

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 20px;
  row-gap: 8px;
}

.service-sublist li {
  font-size: 0.95rem;
  line-height: 1.4;
  color: inherit;
}
.service-sublist {
  list-style: none;
  padding-left: 0;
}

.service-sublist li {
  position: relative;
  padding-left: 18px;
}

.service-sublist li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--cdg-green, #0c9351);
  font-size: 1rem;
  line-height: 1.4;
}
