/*
Theme Name: CDI Espresso Theme
Theme URI: https://centersfordivineintegration.com
Author: Centers for Divine Integration
Description: A custom WordPress theme for Centers for Divine Integration using espresso, gold, warm orange, and beige brand colors.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: cdi-espresso-theme
*/

:root{
  --espresso:#1f130d;
  --deep-espresso:#140c08;
  --brown:#2b1a12;
  --card-brown:#3a2418;
  --gold:#c9a24a;
  --bright-gold:#d8b85a;
  --soft-gold:#f4d58b;
  --orange:#c56a2d;
  --warm-orange:#e28743;
  --beige:#f3e6d0;
  --light-beige:#fff7ea;
  --muted-beige:#d7c4a8;
  --text:#fff7ea;
  --dark-text:#1f130d;
  --shadow:0 20px 55px rgba(0,0,0,.24);
  --radius:26px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--espresso);
  color:var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size:18px;
  line-height:1.7;
}
a{color:var(--bright-gold);text-decoration:none;transition:.2s ease}
a:hover{color:var(--soft-gold)}
img{max-width:100%;height:auto}

.cdi-site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(31,19,13,.94);
  border-bottom:1px solid rgba(201,162,74,.25);
  backdrop-filter:blur(14px);
}
.cdi-header-inner{
  max-width:1220px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  padding:18px 24px;
}
.cdi-brand{display:flex;align-items:center;gap:14px;color:var(--text)}
.cdi-brand-mark{
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  background:radial-gradient(circle at 30% 20%, var(--soft-gold), var(--gold) 52%, var(--orange));
  color:var(--deep-espresso);
  font-weight:900;
  box-shadow:0 8px 26px rgba(201,162,74,.26);
}
.cdi-brand-text strong{display:block;font-size:18px;line-height:1.1;color:var(--light-beige)}
.cdi-brand-text span{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-beige)}
.cdi-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.cdi-nav a{font-size:14px;color:var(--beige);font-weight:700;letter-spacing:.02em}
.cdi-nav a:hover{color:var(--soft-gold)}
.cdi-header-cta{
  padding:10px 16px;border-radius:999px;background:var(--gold);color:var(--deep-espresso)!important;font-weight:800;
}
.cdi-menu-fallback{display:flex;gap:18px;flex-wrap:wrap;align-items:center}

.cdi-hero{
  min-height:760px;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(226,135,67,.32), transparent 34%),
    radial-gradient(circle at 82% 22%, rgba(201,162,74,.28), transparent 32%),
    linear-gradient(135deg, var(--deep-espresso), var(--espresso) 45%, var(--brown));
}
.cdi-hero:before{
  content:"";
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,247,234,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,247,234,.045) 1px, transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.8), transparent 95%);
}
.cdi-hero:after{
  content:"✦";
  position:absolute;
  right:7%;bottom:10%;
  font-size:180px;
  line-height:1;
  color:rgba(201,162,74,.12);
}
.cdi-hero-inner{
  max-width:1040px;
  padding:100px 24px;
  text-align:center;
  position:relative;
  z-index:1;
}
.cdi-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  color:var(--soft-gold);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:900;
  font-size:13px;
}
.cdi-kicker:before,.cdi-kicker:after{content:"";width:32px;height:1px;background:var(--gold);opacity:.8}
.cdi-hero h1{
  margin:0 0 16px;
  font-family: Georgia, "Times New Roman", serif;
  font-size:clamp(48px,8vw,92px);
  line-height:.98;
  letter-spacing:-.045em;
  color:var(--light-beige);
}
.cdi-hero h2{
  margin:0 0 22px;
  font-size:clamp(22px,3vw,34px);
  color:var(--soft-gold);
  font-weight:600;
}
.cdi-hero p{max-width:860px;margin:0 auto 18px;color:var(--beige);font-size:20px}
.cdi-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.cdi-button,.wp-block-button__link,input[type="submit"]{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;
  padding:13px 24px;
  border-radius:999px;
  border:1px solid var(--gold);
  background:linear-gradient(135deg,var(--gold),var(--warm-orange));
  color:var(--deep-espresso)!important;
  font-weight:900;
  box-shadow:0 12px 34px rgba(197,106,45,.22);
}
.cdi-button:hover,.wp-block-button__link:hover,input[type="submit"]:hover{background:var(--soft-gold);color:var(--deep-espresso)!important;transform:translateY(-1px)}
.cdi-button.secondary{background:transparent;color:var(--light-beige)!important;border-color:rgba(244,213,139,.65);box-shadow:none}
.cdi-button.secondary:hover{background:var(--gold);color:var(--deep-espresso)!important}

.cdi-section{padding:92px 24px;background:var(--espresso);color:var(--text)}
.cdi-section.beige{background:var(--beige);color:var(--dark-text)}
.cdi-section.beige .cdi-kicker{color:var(--orange)}
.cdi-section.beige .cdi-kicker:before,.cdi-section.beige .cdi-kicker:after{background:var(--orange)}
.cdi-section.beige h2,.cdi-section.beige h3{color:var(--deep-espresso)}
.cdi-section.beige p,.cdi-section.beige li{color:#3c291d}
.cdi-section.goldwash{
  background:
    radial-gradient(circle at top left, rgba(226,135,67,.18), transparent 36%),
    linear-gradient(135deg,var(--brown),var(--espresso));
}
.cdi-section.dark{background:var(--deep-espresso)}
.cdi-container{max-width:1180px;margin:0 auto}
.cdi-narrow{max-width:850px;margin-left:auto;margin-right:auto;text-align:center}
.cdi-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.cdi-section h2{
  margin:0 0 18px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(34px,5vw,62px);
  line-height:1.05;
  letter-spacing:-.035em;
  color:var(--light-beige);
}
.cdi-section h3{margin:0 0 12px;color:var(--soft-gold);font-size:25px;line-height:1.22}
.cdi-lead{font-size:22px;line-height:1.62;color:var(--beige)}
.cdi-section.beige .cdi-lead{color:#2f2018}
.cdi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px}
.cdi-grid.two{grid-template-columns:repeat(2,1fr)}
.cdi-card{
  background:linear-gradient(180deg,rgba(58,36,24,.96),rgba(43,26,18,.96));
  border:1px solid rgba(201,162,74,.28);
  border-radius:var(--radius);
  padding:30px;
  box-shadow:var(--shadow);
  color:var(--beige);
}
.cdi-card p,.cdi-card li{color:var(--beige)}
.cdi-section.beige .cdi-card{background:var(--light-beige);color:var(--dark-text);border-color:rgba(31,19,13,.14);box-shadow:0 18px 42px rgba(31,19,13,.12)}
.cdi-section.beige .cdi-card p,.cdi-section.beige .cdi-card li{color:#3c291d}
.cdi-section.beige .cdi-card h3{color:#4a2a18}
.cdi-icon{
  width:48px;height:48px;border-radius:16px;
  display:grid;place-items:center;
  margin-bottom:18px;
  background:rgba(201,162,74,.16);
  color:var(--soft-gold);
  font-size:24px;
}
.cdi-visual{
  min-height:420px;
  border-radius:36px;
  border:1px solid rgba(201,162,74,.34);
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 32% 26%, rgba(244,213,139,.36), transparent 24%),
    radial-gradient(circle at 70% 70%, rgba(226,135,67,.35), transparent 30%),
    linear-gradient(135deg,var(--card-brown),var(--deep-espresso));
}
.cdi-visual:before{
  content:"";position:absolute;inset:24px;border-radius:28px;
  border:1px solid rgba(255,247,234,.18);
}
.cdi-visual:after{
  content:"Rest • Restore • Rise";
  position:absolute;left:30px;bottom:28px;
  font-family:Georgia,"Times New Roman",serif;
  color:var(--soft-gold);
  font-size:31px;
}
.cdi-feature-list{display:grid;gap:14px;margin-top:24px}
.cdi-feature{
  padding:18px 20px;border-radius:18px;
  background:rgba(255,247,234,.07);
  border:1px solid rgba(201,162,74,.22);
  color:var(--beige)
}
.cdi-feature strong{color:var(--soft-gold)}
.cdi-impact-list{max-width:760px;margin:24px auto;text-align:left;columns:2;column-gap:52px}
.cdi-impact-list li{break-inside:avoid;margin:0 0 10px}

.cdi-site-footer{background:var(--deep-espresso);border-top:1px solid rgba(201,162,74,.26);padding:52px 24px;color:var(--beige)}
.cdi-footer-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:32px}
.cdi-site-footer h3{margin-top:0;color:var(--soft-gold)}
.cdi-site-footer p,.cdi-site-footer li{color:var(--beige)}
.cdi-site-footer ul{margin:0;padding:0;list-style:none}
.cdi-site-footer a{color:var(--bright-gold)}
.cdi-copyright{max-width:1180px;margin:36px auto 0;padding-top:22px;border-top:1px solid rgba(255,247,234,.12);font-size:14px;color:var(--muted-beige)}

.cdi-page{padding:72px 24px;background:var(--beige);color:var(--dark-text);min-height:60vh}
.cdi-page .cdi-container{max-width:900px}
.cdi-page h1,.cdi-page h2,.cdi-page h3{color:var(--deep-espresso)}
.cdi-page p,.cdi-page li{color:#3c291d}

@media (max-width: 900px){
  .cdi-header-inner{align-items:flex-start;flex-direction:column}
  .cdi-nav ul,.cdi-menu-fallback{gap:12px}
  .cdi-split,.cdi-grid,.cdi-grid.two,.cdi-footer-inner{grid-template-columns:1fr}
  .cdi-hero{min-height:auto}
  .cdi-impact-list{columns:1}
}
@media (max-width: 560px){
  body{font-size:16px}
  .cdi-section{padding:66px 18px}
  .cdi-hero-inner{padding:78px 18px}
  .cdi-hero p{font-size:18px}
  .cdi-card{padding:24px}
  .cdi-brand-text strong{font-size:16px}
}
