/*
Theme Name: Christian Worship Center
Theme URI: https://christianworshipcenter.net
Author: Christian Worship Center
Description: A warm, editable church homepage for an Acts 2:38 church family.
Version: 1.6.0
Text Domain: christian-worship-center
*/

:root { --ink:#3b2417; --burnt:#bf5429; --gold:#e8aa31; --cream:#fbf3e6; --sand:#f4e8d3; --line:rgba(59,36,23,.16); --white:#fff9ef; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial, Helvetica, sans-serif; font-size:16px; line-height:1.65; }
a { color:inherit; text-decoration:none; }
.cwc-sidebar { position:fixed; z-index:20; inset:0 auto 0 0; width:320px; overflow:hidden; display:flex; flex-direction:column; background:#392417; color:var(--white); padding:45px 22px 25px; }
.cwc-brand { display:flex; align-items:center; gap:12px; margin:0 0 16px; }
.cwc-logo { width:68px; height:68px; flex:none; object-fit:contain; }
.cwc-cross { width:48px; height:48px; display:grid; place-items:center; flex:none; border:1px solid var(--gold); border-radius:50%; color:var(--gold); font:24px Georgia, serif; }
.cwc-brand-copy, .cwc-brand-name, .cwc-brand-verse { display:block; }
.cwc-brand-name { font:24px/1.05 Georgia, serif; letter-spacing:-.5px; }
.cwc-brand-verse, .cwc-kicker, .cwc-number, .cwc-card-label { color:var(--gold); font-size:10px; font-weight:700; letter-spacing:2.4px; text-transform:uppercase; }
.cwc-brand-verse { margin-top:5px; }
.cwc-language { margin:-10px 0 34px; color:#f4c773; font-size:11px; font-weight:700; letter-spacing:1.4px; text-align:center; text-transform:uppercase; }
.cwc-language b { color:var(--gold); padding:0 4px; }
.cwc-language a { color:rgba(244,199,115,.58); }
.cwc-language a.active, .cwc-language a:hover { color:var(--gold); }
.cwc-menu { list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.12); }
.cwc-menu li { border-bottom:1px solid rgba(255,255,255,.12); }
.cwc-menu a { display:flex; align-items:center; gap:26px; min-height:79px; font:700 14px Georgia, serif; letter-spacing:.2px; text-transform:uppercase; }
.cwc-menu .cwc-number { font-family:Arial, sans-serif; letter-spacing:0; font-style:italic; }
.cwc-scripture { border-left:2px solid var(--gold); margin:76px 0 28px; padding:6px 0 4px 18px; font:italic 17px/1.45 Georgia, serif; }
.cwc-scripture cite { display:block; color:var(--gold); margin-top:14px; font:700 10px Arial, sans-serif; font-style:normal; letter-spacing:1.8px; text-transform:uppercase; }
.cwc-side-footer { margin-top:auto; color:#f5ca76; font-size:12px; line-height:1.55; }
.cwc-main { margin-left:320px; overflow:hidden; }
.cwc-section { padding:85px 5.5%; }
.cwc-hero { min-height:800px; display:flex; align-items:center; background:var(--burnt); color:var(--white); padding:100px 5.5%; }
.cwc-hero-content { max-width:800px; }
.cwc-hero .cwc-kicker { margin-bottom:35px; }
h1,h2,h3,h4 { margin:0; font-family:Georgia, 'Times New Roman', serif; font-weight:400; letter-spacing:-1.9px; line-height:1.01; }
h1 { font-size:clamp(62px, 7.2vw, 102px); }
h2 { font-size:clamp(46px, 4.7vw, 67px); }
h3 { font-size:29px; }
.cwc-accent { color:var(--gold); }
.cwc-rule { width:54px; height:3px; background:var(--gold); margin:26px 0 40px; }
.cwc-hero-copy { max-width:590px; margin:30px 0 33px; font-size:18px; line-height:1.75; }
.cwc-buttons { display:flex; flex-wrap:wrap; gap:16px; }
.cwc-button { display:inline-flex; min-height:54px; align-items:center; justify-content:center; padding:0 30px; border:1px solid var(--white); color:var(--white); font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; transition:.2s ease; }
.cwc-button:hover { background:var(--white); color:var(--burnt); }
.cwc-button.gold { background:var(--gold); border-color:var(--gold); color:#352415; }
.cwc-button.gold:hover { background:#f3bf4c; border-color:#f3bf4c; color:#352415; }
.cwc-about { background:var(--cream); }
.cwc-intro { max-width:850px; margin:0 0 28px; font-size:17px; }
.cwc-three-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.cwc-feature, .cwc-daughter, .cwc-rhythm-card { border:1px solid var(--line); }
.cwc-feature { min-height:180px; padding:35px 28px; background:rgba(255,255,255,.17); }
.cwc-feature .roman { color:var(--burnt); font:italic 24px Georgia, serif; }
.cwc-feature h3 { margin:11px 0 9px; }
.cwc-feature p, .cwc-daughter li, .cwc-rhythm-card p { margin:0; color:#a3542d; font-size:13px; }
.cwc-groups { background:var(--sand); }
.cwc-group-tabs { display:flex; flex-wrap:wrap; gap:0; border-bottom:1px solid var(--line); margin:42px 0 38px; }
.cwc-group-tab { cursor:pointer; border:0; border-bottom:3px solid transparent; background:transparent; padding:0 24px 15px; color:#9a5a39; font:21px Georgia, serif; }
.cwc-group-tab:first-child { padding-left:0; }
.cwc-group-tab.active { border-color:var(--burnt); color:var(--ink); }
.cwc-panel { display:none; }
.cwc-panel.active { display:block; }
.cwc-group-heading { display:flex; justify-content:space-between; gap:30px; align-items:flex-end; margin-bottom:26px; }
.cwc-group-heading h3 { font-size:35px; }
.cwc-group-heading em { color:#9b6040; font:italic 16px Georgia, serif; }
.cwc-group-heading p { margin:9px 0 0; color:#a3542d; }
.cwc-group-location { color:#a3542d; font-size:12px; }
.cwc-daughter-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.cwc-daughter { background:rgba(255,255,255,.42); padding:27px 23px; }
.cwc-daughter h4 { margin:13px 0 17px; font-size:26px; }
.cwc-daughter ul { list-style:none; padding:0; margin:0; }
.cwc-daughter li { margin:7px 0; }
.cwc-daughter li:before { color:var(--burnt); content:'✦ '; }
.cwc-rhythm { background:#392417; color:var(--white); }
.cwc-rhythm h2 { color:var(--white); }
.cwc-rhythm-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.cwc-rhythm-card { min-height:160px; padding:30px 27px; border-color:rgba(255,255,255,.2); }
.cwc-rhythm-card h3 { margin:16px 0 12px; }
.cwc-rhythm-card p { color:#f4c773; }
.cwc-watch { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px; background:var(--cream); }
.cwc-watch-copy p { max-width:510px; color:#9a5b3b; font-size:17px; }
.cwc-help { margin-top:14px; color:#ac6b43; font-size:12px; }
.cwc-video { min-height:394px; position:relative; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:42px 34px; background:#3b2114; color:var(--white); }
.cwc-video:before,.cwc-video:after { position:absolute; content:''; border:1px solid rgba(232,170,49,.35); border-radius:50%; }
.cwc-video:before { width:400px; height:400px; top:-178px; right:-148px; box-shadow:0 0 0 42px rgba(202,115,51,.12),0 0 0 88px rgba(202,115,51,.08); }
.cwc-video > * { position:relative; z-index:1; }
.cwc-play { width:58px; height:58px; position:absolute; top:36px; left:36px; display:grid; place-items:center; border:1px solid var(--gold); border-radius:50%; color:var(--gold); font-size:21px; }
.cwc-video h3 { max-width:390px; margin:18px 0; font-size:35px; }
.cwc-video p { color:#f2c16c; font-size:13px; }
.cwc-watch-options { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,1fr); gap:35px; border-top:1px solid var(--line); padding-top:25px; }
.cwc-watch-option h3 { margin:15px 0 5px; font-size:21px; }
.cwc-watch-option p { margin:0; color:#a3542d; font-size:13px; }
.cwc-modules { background:var(--sand); }
.cwc-module-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.cwc-module { min-height:228px; border:1px solid var(--line); background:rgba(255,255,255,.38); padding:29px 27px; }
.cwc-module h3 { margin:13px 0 10px; font-size:30px; }
.cwc-module p { margin:0; color:#9a5b3b; font-size:14px; }
.cwc-module-note { display:block; margin-top:25px; color:var(--burnt); font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }
.cwc-module-link { display:inline-block; margin-top:17px; color:var(--burnt); font-size:11px; font-weight:700; letter-spacing:1.2px; text-decoration:underline; text-transform:uppercase; }
.cwc-module-widget { margin-top:18px; }
.cwc-module-widget-title { margin:0 0 10px; font-size:21px; }
.cwc-module-widget img, .cwc-module-widget iframe, .cwc-module-widget video { max-width:100%; height:auto; }
.cwc-module-widget iframe { width:100%; aspect-ratio:16/9; }
.cwc-cta { padding:78px 5.5%; background:var(--burnt); color:var(--white); text-align:center; }
.cwc-cta h2 { font-size:52px; }
.cwc-cta p { max-width:560px; margin:22px auto 30px; }
.cwc-footer { display:flex; justify-content:space-between; gap:20px; padding:25px 5.5%; background:#392417; color:#f5c568; font:11px Georgia, serif; letter-spacing:1.2px; text-transform:uppercase; }
.cwc-menu-toggle { display:none; }

@media (max-width:1200px) { .cwc-daughter-grid { grid-template-columns:repeat(2,1fr); } .cwc-watch { gap:42px; } }
@media (max-width:1100px) { .cwc-module-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:850px) { .cwc-sidebar { position:relative; width:auto; min-height:0; padding:18px 21px; overflow:visible; } .cwc-brand { margin:0; } .cwc-logo { width:58px; height:58px; } .cwc-brand-name { font-size:20px; } .cwc-language { position:absolute; top:83px; right:74px; margin:0; } .cwc-menu-toggle { display:block; position:absolute; top:28px; right:22px; width:42px; height:38px; border:1px solid rgba(255,255,255,.45); background:transparent; color:var(--white); font-size:21px; } .cwc-menu, .cwc-scripture, .cwc-side-footer { display:none; } .cwc-sidebar.menu-open .cwc-menu, .cwc-sidebar.menu-open .cwc-scripture, .cwc-sidebar.menu-open .cwc-side-footer { display:block; } .cwc-sidebar.menu-open .cwc-menu { margin-top:25px; } .cwc-sidebar.menu-open .cwc-scripture { margin-top:32px; margin-bottom:25px; } .cwc-main { margin-left:0; } .cwc-section { padding:65px 7%; } .cwc-hero { min-height:650px; padding:80px 7%; } .cwc-three-grid, .cwc-rhythm-grid, .cwc-watch-options, .cwc-watch, .cwc-module-grid { grid-template-columns:1fr; } .cwc-watch { gap:40px; } .cwc-video { min-height:325px; } }
@media (max-width:520px) { h1 { font-size:55px; } h2 { font-size:45px; } .cwc-section { padding:55px 6%; } .cwc-hero { min-height:610px; } .cwc-hero-copy { font-size:16px; } .cwc-buttons { display:grid; } .cwc-button { width:100%; } .cwc-group-tabs { gap:10px 0; } .cwc-group-tab { padding:0 15px 11px; font-size:18px; } .cwc-group-heading { display:block; } .cwc-group-location { display:block; margin-top:15px; } .cwc-daughter-grid { grid-template-columns:1fr; } .cwc-footer { display:block; line-height:2.2; } }
