/*
Theme Name: STOCA Church
Theme URI: https://www.stoca.org/
Author: MediaGFX
Description: Responsive WordPress theme for St. Thomas Orthodox Church of Atlanta, designed to match the STOCA website style and work with the STOCA Member Directory plugin.
Version: 1.2.0
License: GPL-2.0-or-later
Text Domain: stoca-church
*/

:root{--blue:#0b4b83;--blue-dark:#07365f;--blue-light:#eaf3fa;--gold:#d2a64a;--text:#444;--heading:#1e1e1e;--muted:#777;--border:#e5e5e5;--white:#fff;--bg:#f8f8f8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.7;font-size:15px}
a{color:var(--blue);text-decoration:none;transition:.2s ease}a:hover{color:var(--blue-dark)}
img{max-width:100%;height:auto}.container{width:min(1180px,92%);margin:0 auto}
.topbar{background:var(--blue);color:#fff;font-size:13px}.topbar .container{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:20px}.top-contact{display:flex;gap:12px;align-items:center}.top-social{display:flex;gap:8px}.top-social a{width:25px;height:25px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px}.top-social a:hover{background:#fff;color:var(--blue)}
.site-header{background:#fff;border-bottom:1px solid #eee;position:relative;z-index:20}.header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:25px}.site-brand{display:flex;align-items:center;gap:12px;color:var(--heading);min-width:0}.site-logo,.custom-logo{width:auto;max-width:76px;max-height:76px;object-fit:contain}.site-title-text{font-size:0}.main-nav{margin-left:auto}.main-nav ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}.main-nav li{margin:0}.main-nav a{display:block;color:#333;padding:12px 13px;font-size:14px;font-weight:600}.main-nav a:hover,.main-nav .current-menu-item>a{color:var(--blue)}.mobile-toggle{display:none;border:0;background:transparent;color:var(--blue);font-size:28px;line-height:1;padding:7px;cursor:pointer}
.hero{min-height:500px;background:linear-gradient(90deg,rgba(0,25,50,.68),rgba(0,25,50,.2)),url('assets/church-hero.jpg') center/cover no-repeat;display:flex;align-items:center;color:#fff}.hero-inner{padding:90px 0}.hero h1{font-size:clamp(38px,5vw,64px);line-height:1.1;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-weight:700}.hero p{font-size:19px;margin:0 0 28px;max-width:650px}.btn{display:inline-block;padding:12px 24px;border-radius:2px;font-weight:700;font-size:14px}.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:var(--blue-dark);color:#fff}
.intro-box{position:relative;margin-top:-55px;background:#fff;display:grid;grid-template-columns:repeat(3,1fr);box-shadow:0 8px 30px rgba(0,0,0,.08);z-index:5}.intro-col{padding:34px 35px;border-right:1px solid var(--border)}.intro-col:last-child{border-right:0}.line-icon{color:var(--gold);font-size:30px;line-height:1;margin-bottom:14px}.intro-col h3{margin:0 0 10px;color:var(--heading);font-size:20px}.intro-col p{margin:0;color:#666;font-size:14px}
.section{padding:80px 0}.section-bordered{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fafafa}.welcome{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.welcome-logo{width:78px;margin-bottom:10px}.section h2,.location h2{font-size:34px;line-height:1.25;color:var(--heading);margin:0 0 18px}.welcome p{margin:0 0 22px;color:#666}.video-card{position:relative;overflow:hidden;min-height:330px;background:#ddd}.video-card img{width:100%;height:100%;min-height:330px;object-fit:cover;display:block}.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;background:rgba(11,75,131,.95);color:#fff;display:grid;place-items:center;font-size:22px;padding-left:3px}.video-play:hover{background:var(--blue-dark);color:#fff}
.ministries{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.ministry{background:#fff;padding:30px;border:1px solid var(--border);text-align:center;min-height:250px;transition:.25s ease}.ministry:hover{transform:translateY(-4px);box-shadow:0 10px 25px rgba(0,0,0,.07)}.ministry-icon{color:var(--gold);font-size:30px;margin-bottom:10px}.ministry h3{margin:0 0 10px;color:var(--heading);font-size:19px}.ministry p{margin:0;color:#707070;font-size:14px}
.location{text-align:center}.map-placeholder{min-height:290px;margin-top:30px;background:#e9edf0 url('assets/map-placeholder.svg') center/cover no-repeat;border:1px solid var(--border);display:grid;place-items:center;color:#333;font-weight:700;text-align:center;padding:30px}.map-placeholder div{background:rgba(255,255,255,.94);padding:18px 28px;box-shadow:0 4px 15px rgba(0,0,0,.08)}
.site-footer{background:#151a1f;color:#bfc5ca}.footer-top{padding:55px 0 40px}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1.3fr 1fr;gap:35px}.footer-col h3{color:#fff;font-size:17px;margin:0 0 18px}.footer-col p{margin:0}.footer-col ul{list-style:none;padding:0;margin:0}.footer-col li{margin:0 0 8px}.footer-col a{color:#bfc5ca;font-size:13px}.footer-col a:hover{color:#fff}.footer-social{display:flex;gap:9px}.footer-social a{width:32px;height:32px;border:1px solid #596168;border-radius:50%;display:grid;place-items:center}.newsletter{display:flex;margin-top:10px}.newsletter input{min-width:0;flex:1;border:1px solid #3d454c;background:#20262b;color:#fff;padding:9px 10px}.newsletter button{width:42px;border:0;background:var(--blue);color:#fff;cursor:pointer}.footer-bottom{border-top:1px solid #2d3338;padding:17px 0;font-size:12px}.footer-bottom .container{display:flex;justify-content:space-between;gap:20px}.footer-bottom a{color:#fff}
/* WordPress content / directory plugin compatibility */
.site-main,.entry-content{width:100%}.entry-title{color:var(--heading)}.aligncenter{display:block;margin-left:auto;margin-right:auto}.wp-caption{max-width:100%}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-bar .site-header{top:0}
/* Mobile */
@media (max-width: 980px){.header-inner{min-height:82px}.main-nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--border);box-shadow:0 12px 25px rgba(0,0,0,.08);display:none}.main-nav.is-open{display:block}.main-nav ul{display:block;padding:10px 4%;}.main-nav a{padding:11px 8px;border-bottom:1px solid #f0f0f0}.mobile-toggle{display:block}.intro-box{margin-top:-35px}.welcome{gap:35px}.ministries{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 680px){.topbar .container{min-height:36px}.top-contact{font-size:11px;gap:7px}.top-social{display:none}.site-logo,.custom-logo{max-width:62px;max-height:62px}.hero{min-height:420px}.hero-inner{padding:65px 0}.hero h1{font-size:36px}.hero p{font-size:16px}.intro-box{margin-top:0;grid-template-columns:1fr;box-shadow:none;border:1px solid var(--border)}.intro-col{border-right:0;border-bottom:1px solid var(--border);padding:26px}.intro-col:last-child{border-bottom:0}.section{padding:55px 0}.welcome{grid-template-columns:1fr;gap:30px}.section h2,.location h2{font-size:29px}.video-card,.video-card img{min-height:250px}.ministries{grid-template-columns:1fr;gap:18px}.ministry{min-height:0}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-bottom .container{flex-direction:column;gap:7px}.map-placeholder{min-height:230px}}


/* Elementor compatibility and footer hardening */
.stoca-elementor-content, .stoca-fullwidth-page { width:100%; margin:0; padding:0; }
.stoca-elementor-page-content > .elementor { width:100%; }
.site-footer { position:relative; z-index:2; display:block; clear:both; width:100%; }
.footer-bottom-links ul { margin:0; padding:0; list-style:none; display:flex; gap:16px; flex-wrap:wrap; }
.footer-bottom-links li { margin:0; padding:0; }
@media (max-width:700px){ .footer-bottom-links ul { justify-content:center; } }


/* STOCA Member Directory integration */
.stoca-member-directory-page{min-height:420px;background:#fff;}
.stoca-directory-shell{width:100%;}
.stoca-member-directory-page .elementor{width:100%;}
.stoca-member-directory-page .stoca-page{max-width:1180px;margin:0 auto;padding:42px 24px 64px;}
.site-footer{display:block!important;position:relative!important;clear:both!important;width:100%;visibility:visible!important;opacity:1!important;}
@media(max-width:767px){.stoca-member-directory-page .stoca-page{padding:28px 16px 44px;}.footer-grid{grid-template-columns:1fr!important;}}
