*{box-sizing:border-box}body{margin:0;color:#292929;font-family:Arial,"Noto Sans KR",sans-serif;background:#fff}.top{border-bottom:1px solid #eee}.top-inner{max-width:1200px;margin:auto;height:98px;display:flex;align-items:center;gap:22px}.logo img{display:block;width:191px;height:43px;object-fit:contain}.welcome{border-left:2px solid #d32727;padding-left:16px;display:flex;flex-direction:column;font-size:12px;line-height:2}.welcome b{font-size:12px}.account{margin-left:auto;display:flex;gap:12px;font-size:11px}.account a{text-decoration:none;color:#222}.nav{height:55px;background:#d02727;color:#fff}.nav-inner{max-width:1200px;margin:auto;display:flex;height:55px}.nav a{color:#fff;text-decoration:none;font-size:14px;font-weight:bold;padding:18px 24px}.nav a.active{background:#000}.nav a.all{margin-left:auto;background:#9f1717}.nav i{font-style:normal;font-size:16px;margin-left:4px}.wrap{max-width:1200px;margin:auto}.columns{display:grid;grid-template-columns:2fr 1fr;gap:28px;padding:25px 0 36px}.primary h2,.side h2{font-size:16px;margin:0 0 12px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;background:#eee}.gallery a{height:230px;position:relative;overflow:hidden;background:#ddd}.gallery img{width:100%;height:100%;object-fit:cover;object-position:center top}.gallery b{position:absolute;right:18px;bottom:18px;color:#f24;font-size:42px;text-shadow:1px 1px 2px #fff}.gallery span{position:absolute;left:0;right:0;bottom:0;padding:7px 10px;color:#fff;background:#0008;font-size:12px}.side>section{margin-bottom:25px}.section-title{display:flex;align-items:center;border-bottom:1px solid #ddd;margin-bottom:15px}.section-title h2{font-size:16px!important;margin:0 0 10px!important}.section-title a{margin-left:auto;color:#d02727;text-decoration:none;font-weight:bold}.empty{text-align:center;color:#888;padding:25px 0}.tabs{display:flex;gap:22px;border-bottom:1px solid #eee;padding-bottom:8px;font-size:13px}.tabs b,.tabs a{color:#222;text-decoration:none}.tabs a:visited,.news a:visited,.section-title h2 a:visited{color:#222}.news a,.section-title h2 a{color:#222;text-decoration:none}.news{padding:0;margin:10px 0;list-style:none;font-size:13px;line-height:2}.news time{float:right;color:#999;font-size:11px}.word img{width:100%;height:160px;object-fit:cover}.word h3{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.word p{font-size:12px;color:#777}.dynamic{border-top:1px solid #eee;padding:28px 0}.post-grid,.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.post-card,.video-card{border:1px solid #e5e5e5;padding:18px;background:#fff}.post-card h3,.video-card h3{margin:5px 0;font-size:15px}.post-card p,.video-card p{font-size:12px;color:#777}.video-card img{width:100%}.quick{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #eee;padding:35px 0;margin-top:10px}.quick a{text-decoration:none;color:#333;border-right:1px solid #eee;padding:0 25px;display:flex;flex-direction:column}.quick a:first-child{padding-left:0}.quick a:last-child{border:0}.quick span{font-size:34px;color:#d02727;margin-bottom:10px}.quick b{font-size:15px}.quick small{color:#999;margin-top:5px}footer{background:#333;color:#bbb;padding:28px max(15px,calc((100% - 1200px)/2));font-size:12px;line-height:2}.footer-links{display:flex;gap:20px;margin-bottom:10px}.footer-links a{color:#fff;text-decoration:none}@media(max-width:800px){.top-inner{height:auto;padding:15px;flex-wrap:wrap}.welcome{order:3;width:100%}.nav-inner{overflow:auto}.nav a{padding:18px 13px;white-space:nowrap}.wrap{padding:0 15px}.columns{grid-template-columns:1fr}.gallery a{height:170px}.post-grid,.video-grid{grid-template-columns:1fr 1fr}.quick{grid-template-columns:1fr 1fr;gap:25px}.quick a{border:0;padding:0}footer{padding:25px 15px}}
.nav-item{position:relative;display:flex;height:55px}.nav-item>a{display:block}.nav-submenu{display:none;position:absolute;z-index:20;top:55px;left:0;min-width:170px;background:#9f1717;box-shadow:0 4px 10px #0003}.nav-submenu a{display:block;padding:13px 16px!important;white-space:nowrap;font-size:13px!important}.nav-item:hover .nav-submenu,.nav-item:focus-within .nav-submenu{display:block}.columns:has(>.primary:only-child){grid-template-columns:1fr}

.home-sermon-card img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.home-sermon-card a{color:inherit;text-decoration:none}.home-sermon-card h3{font-size:14px;margin:10px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-sermon-card p{font-size:12px;color:#9a9a9a;margin:0 0 8px}

.nav a i.chevron{display:inline-block;width:7px;height:7px;margin:0 0 3px 7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);vertical-align:middle}.nav a{display:flex;align-items:center;justify-content:center}
.nav a:hover,.nav-item:hover>a,.nav-item:focus-within>a{background:#9f1717}.nav a.active:hover{background:#000}.nav-submenu{background:#fff;border:1px solid #e5e5e5;box-shadow:0 3px 8px rgba(0,0,0,.16)}.nav-submenu a{color:#555!important;background:#fff!important;border-bottom:1px solid #f0f0f0;text-align:left;font-weight:400}.nav-submenu a:last-child{border-bottom:0}.nav-submenu a:hover,.nav-submenu a:focus{color:#d02727!important;background:#f7f7f7!important}
.admin-body{min-height:100vh;background:#f5f6f8}.admin{max-width:1120px;margin:auto;padding:28px 22px 64px}.admin>a{display:inline-block;color:#666;text-decoration:none;margin-bottom:20px}.admin h1{font-size:30px;margin:8px 0 10px}.admin h2{font-size:18px;margin:0 0 8px}.admin p{color:#737780;font-size:13px}.admin #login{max-width:460px;margin:12vh auto 0;padding:42px;background:#fff;border:1px solid #e8e9ed;border-radius:8px;box-shadow:0 12px 35px rgba(30,40,60,.08)}.admin #login:before{content:'푸른초장교회  ·  PRIVATE ADMIN';display:block;color:#c60008;font-size:11px;font-weight:bold;letter-spacing:1.2px;margin-bottom:22px}.admin form{display:flex;flex-direction:column;gap:9px}.admin label{font-size:12px;font-weight:bold;color:#42464d}.admin input,.admin textarea,.admin select{width:100%;margin-top:6px;padding:12px;border:1px solid #dfe1e6;border-radius:4px;background:#fff;color:#222;font:inherit}.admin input:focus,.admin textarea:focus,.admin select:focus{outline:2px solid #f2b4b7;border-color:#c60008}.admin textarea{min-height:150px;resize:vertical}.admin button{border:0;border-radius:4px;background:#c60008;color:#fff;padding:12px 16px;font-weight:bold;cursor:pointer;margin-top:8px}.admin button:hover{background:#a80006}.admin .error{color:#c60008;min-height:18px}.admin #dashboard{padding-top:20px}.admin #logout{float:right;background:#fff;color:#555;border:1px solid #d9dce2}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:26px 0}.admin-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px;box-shadow:0 6px 18px rgba(30,40,60,.04)}.admin-card h2{border-bottom:1px solid #eee;padding-bottom:14px}.admin-card .form-help{margin:0 0 17px}.admin-card label span{font-weight:normal;color:#999}.content-list{margin-top:18px}.content-list ul{list-style:none;margin:0;padding:0}.content-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #eee;font-size:13px}.content-list li button{padding:7px 12px;margin:0;font-size:11px;flex:none}.admin-kicker{color:#c60008;font-size:11px;font-weight:bold;letter-spacing:1.2px}.admin-toolbar{overflow:hidden}.admin-home{float:right!important;margin-top:8px!important}@media(max-width:700px){.admin{padding:18px 14px}.admin #login{margin-top:7vh;padding:28px 22px}.admin-grid{grid-template-columns:1fr}.admin-card{padding:18px}}

.side .section-title>a{display:none!important}
.home-sermon-placeholder,.word-placeholder-image{width:100%;aspect-ratio:16/9;background:#f5f5f5}.gallery>a[aria-hidden]{background:#f5f5f5}.gallery>a[aria-hidden] span{background:transparent}.news li:has(time:empty){min-height:26px}
.soul-list{list-style:none;margin:0;padding:0;font-size:13px}.soul-list li{display:flex;gap:10px;min-height:27px;align-items:center;border-bottom:1px solid #eee}.soul-list a{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#222;text-decoration:none}.soul-list a:visited{color:#222}.soul-list time{flex:none;color:#999;font-size:11px}
.soul-content{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:stretch}.word .soul-image{display:block;width:110px;height:135px;object-fit:cover}.soul-content .soul-list{min-width:0}@media(max-width:800px){.soul-content{grid-template-columns:96px minmax(0,1fr)}.word .soul-image{width:96px}}
.nav-toggle,.submenu-toggle{display:none}
@media(max-width:800px){
  .top-inner{padding:12px 14px;gap:12px}.logo img{width:160px;height:auto}.welcome{order:3;width:100%;padding:10px 0 0;border-left:0;border-top:1px solid #eee;line-height:1.65}.welcome b,.welcome span{font-size:11px}
  .nav{height:auto;min-height:48px}.nav-toggle{display:flex;width:100%;height:48px;padding:0 15px;border:0;background:#d02727;color:#fff;align-items:center;gap:8px;font-weight:700;font-size:14px;cursor:pointer}.nav-toggle span{font-size:18px}.nav-inner{display:none;height:auto;overflow:visible;flex-direction:column}.nav.nav-open .nav-inner{display:flex}
  .nav-inner>a,.nav-item{width:100%;height:auto}.nav-inner>a,.nav-item>a{justify-content:flex-start;padding:14px 16px}.nav-item{display:grid;grid-template-columns:minmax(0,1fr) 48px}.nav-item>a .chevron{display:none}.submenu-toggle{display:flex;border:0;background:#d02727;color:#fff;align-items:center;justify-content:center;cursor:pointer}.submenu-toggle span{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s}.nav-item.submenu-open .submenu-toggle span{transform:rotate(225deg)}
  .nav .nav-item .nav-submenu{display:none;position:static;grid-column:1/-1;min-width:0;box-shadow:none;border-width:1px 0}.nav .nav-item.submenu-open .nav-submenu{display:block}.nav-submenu a{padding:12px 28px!important}
  .wrap{padding:0 14px}.columns{padding:28px 0 44px}.gallery a{height:150px}.post-grid,.video-grid{grid-template-columns:1fr}.quick{padding:25px 0}.footer-links{flex-wrap:wrap;gap:8px 16px}
}
