/*
Theme Name: MemberFront — Warm Editorial (CAMFT Demo)
Theme URI: https://memberfront.io
Author: MemberFront
Author URI: https://memberfront.io
Description: Lightweight Warm Editorial theme for the CAMFT demo. Pairs with the MemberFront "Member Moment" plugin to show a modern, personalized association website on WordPress.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: memberfront-warm-editorial
*/

:root{
  --crimson:#AE0B38; --crimson-d:#7E0A2B; --util:#7E0A2B;
  --cream:#FBF7F2; --ink:#241A18; --muted:#6B5C56;
  --line:#EADFD3; --panel:#F3EADF; --footer:#2A1A17;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  background:var(--cream); color:var(--ink); -webkit-font-smoothing:antialiased; line-height:1.5;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
h1,h2,h3{font-family:'Newsreader',Georgia,'Times New Roman',serif;font-weight:500;margin:0;}
.we-serif{font-family:'Newsreader',Georgia,serif;}
.we-wrap{max-width:1160px;margin:0 auto;padding:0 28px;}

/* utility bar */
.we-util{background:var(--util);color:#F4D9DF;font-size:12.5px;}
.we-util .we-wrap{display:flex;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:8px;flex-wrap:wrap;gap:8px;}
.we-util a{margin-left:22px;}
.we-util a:hover{color:#fff;}
.we-util .we-login{color:#fff;font-weight:600;}

/* header */
.we-head{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;}
.we-head .we-wrap{display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px;gap:20px;}
.we-brand{display:flex;align-items:center;gap:14px;}
.we-mark{width:40px;height:40px;background:var(--crimson);border-radius:5px;display:flex;align-items:center;justify-content:center;flex:none;}
.we-brand-name{font-family:'Newsreader',serif;font-weight:600;font-size:26px;letter-spacing:.08em;color:var(--crimson);line-height:1;}
.we-brand-sub{font-size:10.5px;letter-spacing:.13em;color:#8A7468;text-transform:uppercase;margin-top:3px;}
.we-nav{display:flex;align-items:center;gap:28px;font-size:15px;font-weight:600;}
.we-nav a:hover{color:var(--crimson);}
.we-nav ul,.we-menu{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0;}
.we-nav ul li,.we-menu li{margin:0;padding:0;list-style:none;}
.we-nav ul a,.we-menu a{font-weight:600;font-size:15px;}
.we-nav ul a:hover,.we-menu a:hover{color:var(--crimson);}
.we-btn{display:inline-block;padding:11px 22px;border-radius:3px;font-weight:700;font-size:15px;}
.we-btn-primary{background:var(--crimson);color:#fff;}
.we-btn-primary:hover{background:var(--crimson-d);}
.we-btn-outline{border:1.5px solid var(--line);color:var(--ink);background:#fff;}
.we-btn-outline:hover{border-color:var(--crimson);color:var(--crimson);}
.we-btn-lg{padding:15px 30px;font-size:16px;}

/* hero */
.we-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;padding:64px 0 56px;}
.we-eyebrow{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--crimson);margin-bottom:22px;}
.we-hero h1{font-size:60px;line-height:1.04;letter-spacing:-.01em;margin-bottom:24px;}
.we-hero p.lead{font-size:19px;line-height:1.6;color:var(--muted);margin:0 0 34px;max-width:480px;}
.we-hero-actions{display:flex;flex-wrap:wrap;gap:14px;}
.we-hero-media{display:flex;flex-direction:column;gap:18px;}
.we-hero-media img{width:100%;aspect-ratio:3/2;object-fit:cover;border:1px solid var(--line);border-radius:6px;}
.we-stat{background:#fff;border:1px solid var(--line);border-radius:5px;padding:20px 24px;box-shadow:0 12px 30px rgba(126,10,43,.08);display:flex;align-items:center;gap:18px;}
.we-stat-num{font-family:'Newsreader',serif;font-size:44px;color:var(--crimson);line-height:1;flex:none;}
.we-stat-txt{font-size:14px;color:var(--muted);line-height:1.45;}

/* pillars */
.we-pillars{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.we-pillars .we-wrap{display:grid;grid-template-columns:repeat(4,1fr);padding-top:54px;padding-bottom:54px;}
.we-pillar{padding:0 30px;border-right:1px solid var(--line);}
.we-pillar:first-child{padding-left:0;}
.we-pillar:last-child{border-right:0;padding-right:0;}
.we-pillar h3{font-size:21px;margin-bottom:10px;}
.we-pillar p{font-size:14.5px;line-height:1.55;color:var(--muted);margin:0;}

/* education */
.we-sec{padding:60px 0 30px;}
.we-sec-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:30px;border-bottom:2px solid var(--ink);padding-bottom:14px;}
.we-sec-head h2{font-size:34px;}
.we-sec-head a{font-weight:700;color:var(--crimson);font-size:15px;}
.we-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.we-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:4px;margin-bottom:16px;}
.we-card-tag{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--crimson);margin-bottom:8px;}
.we-card-title{font-family:'Newsreader',serif;font-size:20px;line-height:1.25;margin-bottom:8px;}
.we-card-meta{font-size:13.5px;color:var(--muted);}

/* quote */
.we-quote-sec{padding:44px 0 64px;}
.we-quote{background:var(--panel);border-radius:6px;padding:54px 60px;text-align:center;}
.we-quote blockquote{font-family:'Newsreader',serif;font-style:italic;font-size:30px;line-height:1.4;color:var(--ink);max-width:780px;margin:0 auto;}
.we-quote .we-attr{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--crimson);margin-top:24px;}

/* news */
.we-news{background:#fff;border-top:1px solid var(--line);}
.we-news .we-wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;padding-top:56px;padding-bottom:56px;}
.we-kicker{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--crimson);margin-bottom:20px;}
.we-news-feature img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px;margin-bottom:20px;}
.we-news-feature h3{font-size:27px;line-height:1.2;margin-bottom:12px;}
.we-news-feature p{font-size:15px;line-height:1.6;color:var(--muted);margin:0;}
.we-news-list a{display:block;padding:18px 0;border-bottom:1px solid var(--line);}
.we-news-list .t{font-family:'Newsreader',serif;font-size:18px;line-height:1.3;margin-bottom:5px;}
.we-news-list .k{font-size:13px;color:#8A7468;}

/* CTA */
.we-cta{background:var(--crimson);color:#fff;}
.we-cta .we-wrap{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-top:60px;padding-bottom:60px;flex-wrap:wrap;}
.we-cta h2{font-size:38px;margin-bottom:12px;}
.we-cta p{font-size:17px;color:#F4D9DF;margin:0;max-width:560px;line-height:1.5;}
.we-cta .we-btn{background:#fff;color:var(--crimson);white-space:nowrap;padding:17px 34px;font-size:17px;border-radius:3px;font-weight:800;}
.we-cta .we-btn:hover{background:var(--panel);}

/* footer */
.we-foot{background:var(--footer);color:#C9B8AE;padding:50px 0;}
.we-foot .we-wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;font-size:14px;}
.we-foot-brand{font-family:'Newsreader',serif;font-size:24px;color:#fff;letter-spacing:.08em;margin-bottom:14px;}
.we-foot h4{font-family:'Hanken Grotesk',sans-serif;font-weight:700;color:#fff;margin:0 0 10px;font-size:14px;}
.we-foot a{display:block;padding:5px 0;}
.we-foot a:hover{color:#fff;}
.we-foot p{line-height:1.6;margin:0 0 8px;}

/* generic page/content (e.g., the Member Moment page) */
.we-page{padding:56px 0 40px;min-height:40vh;}
.we-page h1.we-page-title{font-size:46px;margin-bottom:24px;color:var(--ink);}
.we-page h2{font-family:'Newsreader',serif;font-size:28px;margin:28px 0 12px;}
.we-page p{font-size:16px;line-height:1.7;color:var(--ink);}
.we-prose{max-width:720px;}

/* contact template */
.we-contact{display:grid;grid-template-columns:1fr 1.2fr;gap:44px;margin-top:36px;padding-top:36px;border-top:1px solid var(--line);}
.we-contact-info h3{font-size:22px;margin-bottom:14px;}
.we-contact-info p{font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 16px;}
.we-contact-info strong{color:var(--ink);}
.we-form label{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:16px;}
.we-form input,.we-form textarea{display:block;width:100%;margin-top:6px;padding:11px 14px;border:1px solid var(--line);border-radius:8px;font-size:15px;font-family:inherit;background:#fff;}
.we-form input:focus,.we-form textarea:focus{outline:none;border-color:var(--crimson);box-shadow:0 0 0 3px rgba(174,11,56,.12);}
.we-form .we-btn{border:0;cursor:pointer;}
.we-form-note{font-size:12.5px;color:var(--muted);margin-top:12px;}

/* full-width (hero) template */
.we-fw-hero{background:var(--panel);padding:60px 0;text-align:center;}
.we-fw-hero h1{font-size:48px;margin-top:6px;color:var(--ink);}

@media (max-width:820px){ .we-contact{grid-template-columns:1fr;} }

/* responsive */
@media (max-width:900px){
  .we-hero{grid-template-columns:1fr;gap:32px;padding:40px 0;}
  .we-hero h1{font-size:44px;}
  .we-pillars .we-wrap{grid-template-columns:1fr 1fr;gap:28px;}
  .we-pillar{border-right:0;padding:0;}
  .we-cards{grid-template-columns:1fr;}
  .we-news .we-wrap{grid-template-columns:1fr;gap:28px;}
  .we-foot .we-wrap{grid-template-columns:1fr 1fr;}
  .we-nav{display:none;}
}
