/*
Theme Name: Sandy Ridge Church
Theme URI: https://www.sandyridgechurch.org
Author: Sandy Ridge Church
Description: Custom theme for Sandy Ridge Church. Light-editability build — staff edit page text in the WordPress editor and global details in the Customizer; layout is locked in the theme. Sermons auto-pull from YouTube; events & giving run through Church Center.
Version: 2.0.12
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: sandy-ridge
*/

/* Sandy Ridge Church — shared stylesheet */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&family=Roboto:wght@400;500;600;700&display=swap');

:root{
  /* core palette */
  --teal:#1C7F76;
  --teal-deep:#123F3B;
  --teal-hover:#155E58;
  --charcoal:#2A2E30;
  --amber:#C08A3E;
  --amber-hover:#A8752F;

  /* neutrals & surfaces */
  --bg:#F6F4F0;
  --bg-alt:#E9EFED;
  --card:#FFFFFF;
  --border:#DCE2DF;
  --text:#2A2E30;
  --text-muted:#4E5654;
  --text-body:#626A67;
  --text-label:#8B928F;

  /* on-dark (teal band) */
  --on-dark-heading:#F1F4F2;
  --on-dark-body:#AFC9C4;
  --on-dark-kicker:#7FC4BB;
  --on-dark-highlight:#E0AF6E;

  /* footer */
  --footer-bg:#2A2E30;
  --footer-text:#A9B6B3;
  --footer-border:#3A4042;
  --footer-muted:#7A8280;

  --font-heading:'Montserrat', sans-serif;
  --font-body:'Roboto', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{margin:0; padding:0;}
h1,h2{text-wrap:balance;}
p{text-wrap:pretty;}
:focus-visible{outline:2px solid var(--teal); outline-offset:3px; border-radius:2px;}
body{
  background:var(--bg);
  font-family:var(--font-body);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:var(--teal);}
a:hover{color:var(--teal-hover);}

.container{
  max-width:1240px;
  margin:0 auto;
  padding:0 40px;
}
.container--narrow{max-width:1040px;}
.container--copy{max-width:880px;}
.container--prose{max-width:900px;}

@media (max-width:720px){
  .container{padding:0 22px;}
}

.kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:24px;
}
.kicker__line{width:24px; height:1px; background:var(--teal); display:inline-block;}

h1,h2,h3{font-family:var(--font-heading); margin:0;}

.btn{
  display:inline-block;
  text-decoration:none;
  font-family:var(--font-body);
  font-size:16px;
  font-weight:600;
  padding:15px 30px;
  border-radius:999px;
  border:1.5px solid transparent;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease, color .2s ease;
}
.btn-primary{
  background:var(--amber);
  color:#FFFFFF;
}
.btn-primary:hover{
  background:var(--amber-hover);
  color:#FFFFFF;
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(192,138,62,.32);
}
.btn-secondary{
  background:transparent;
  color:var(--text);
  border-color:var(--border);
}
.btn-secondary:hover{
  border-color:var(--text);
  background:rgba(38,34,30,.04);
  transform:translateY(-2px);
  color:var(--text);
}
.btn-secondary--on-dark{
  color:var(--on-dark-heading);
  border-color:#2F5750;
}
.btn-secondary--on-dark:hover{
  border-color:var(--on-dark-heading);
  background:rgba(241,244,242,.08);
  color:var(--on-dark-heading);
}
.btn-small{
  padding:13px 28px;
  font-size:15px;
}
.text-link{
  text-decoration:none;
  font-weight:600;
  color:var(--teal);
  border-bottom:2px solid var(--teal);
  padding-bottom:3px;
  transition:color .2s ease, border-color .2s ease;
}
.text-link:hover{
  color:var(--teal-hover);
  border-color:var(--teal-hover);
}
.inline-link{
  color:var(--teal);
  font-weight:600;
  text-decoration:none;
  transition:color .2s ease;
}
.inline-link:hover{color:var(--teal-hover);}

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:8px;
  padding:34px 30px;
  box-shadow:0 1px 2px rgba(42,46,48,.04);
}
.card--link{
  display:block;
  color:var(--text);
  text-decoration:none;
  transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.card--link:hover{
  border-color:var(--teal);
  transform:translateY(-4px);
  box-shadow:0 16px 34px rgba(38,34,30,.10);
  color:var(--text);
}
.card--dark{
  background:var(--teal-deep);
  color:var(--on-dark-heading);
  border:none;
}
.card--dark-link{
  display:block;
  text-decoration:none;
  color:var(--on-dark-heading);
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.card--dark-link:hover{
  background:#0E322F;
  transform:translateY(-4px);
  box-shadow:0 16px 34px rgba(38,34,30,.22);
  color:var(--on-dark-heading);
}

.section-dark{
  background:var(--teal-deep);
  color:var(--on-dark-heading);
}
.section-alt{
  background:var(--bg-alt);
}

.photo-placeholder{
  position:relative;
  border-radius:6px;
  overflow:hidden;
  background:repeating-linear-gradient(135deg,#E7EBE8,#E7EBE8 14px,#DEE5E1 14px,#DEE5E1 28px);
}
.photo-placeholder__label{
  position:absolute;
  left:22px; bottom:22px;
  font-family:monospace;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#7D8481;
  background:var(--bg);
  padding:6px 12px;
  border-radius:3px;
}

/* ---------- NAV ---------- */
.site-nav{
  position:sticky; top:0; z-index:50;
  background:rgba(246,244,240,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
}
.site-nav__inner{
  max-width:1240px; margin:0 auto; padding:0 40px;
  height:78px;
  display:flex; align-items:center; justify-content:space-between; gap:32px;
}
.site-nav__logo{display:flex; align-items:center; text-decoration:none;}
.site-nav__logo img{height:42px; width:auto;}
.site-nav__links{display:flex; align-items:center; gap:22px;}
.nav-link{
  text-decoration:none;
  font-size:15px;
  font-weight:500;
  color:var(--text-body);
  line-height:1;
  padding-bottom:3px;
  border-bottom:2px solid transparent;
  white-space:nowrap;
  transition:color .2s ease, border-color .2s ease;
}
.nav-link:hover, .nav-link.active{
  color:var(--text);
  border-color:var(--teal);
}
.nav-give{
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  letter-spacing:.02em;
  color:#FFFFFF;
  background:var(--amber);
  padding:10px 22px;
  border-radius:999px;
  white-space:nowrap;
  transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.nav-give:hover{
  background:var(--amber-hover);
  color:#FFFFFF;
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(192,138,62,.32);
}

.nav-dropdown{position:relative; display:flex; align-items:center; height:100%;}
.nav-dropdown__menu{
  position:absolute; top:100%; left:0; padding-top:14px;
  opacity:0; visibility:hidden; transform:translateY(-4px);
  transition:opacity .15s ease, transform .15s ease, visibility .15s ease;
}
.nav-dropdown:hover .nav-dropdown__menu,
.nav-dropdown:focus-within .nav-dropdown__menu{
  opacity:1; visibility:visible; transform:translateY(0);
}
.nav-dropdown__panel{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:8px;
  box-shadow:0 16px 34px rgba(42,46,48,.14);
  padding:8px;
  min-width:180px;
  display:flex; flex-direction:column;
}
.nav-dropdown__item{
  display:block;
  text-decoration:none;
  font-size:15px;
  font-weight:500;
  color:var(--text);
  padding:10px 14px;
  border-radius:6px;
  white-space:nowrap;
}
.nav-dropdown__item:hover, .nav-dropdown__item.active{
  background:var(--bg);
  color:var(--teal);
  font-weight:600;
}

.nav-burger{
  display:none;
  background:none; border:none; cursor:pointer;
  padding:10px; margin:-10px;
  flex-direction:column; gap:5px; align-items:center; justify-content:center;
}
.nav-burger span{
  display:block; width:24px; height:2px; border-radius:2px;
  background:var(--text);
  transition:transform .25s ease, opacity .2s ease;
}
.nav-mobile{
  display:none;
  border-top:1px solid var(--border);
  background:var(--bg);
  padding:8px 22px 18px;
}
.nav-mobile__link{
  display:block;
  text-decoration:none;
  font-size:17px;
  font-weight:500;
  color:var(--text);
  padding:14px 6px;
  border-bottom:1px solid var(--border);
}
.nav-mobile__link{position:relative;}
.nav-mobile__link.active{color:var(--teal); font-weight:600; background:rgba(28,127,118,.07);}
.nav-mobile__link.active::before{content:""; position:absolute; left:-22px; top:8px; bottom:8px; width:4px; border-radius:0 3px 3px 0; background:var(--teal);}
.nav-mobile__link.is-parent{color:var(--teal);}
.nav-here{display:none; margin-left:auto; margin-right:18px; padding:6px 12px; border-radius:999px; background:rgba(28,127,118,.09); color:var(--teal); font-size:13px; font-weight:600; letter-spacing:.02em; white-space:nowrap;}
@media (max-width:1080px){ .nav-here{display:inline-block;} }
@media (max-width:360px){ .nav-here{display:none;} }
body.nav-open .nav-here{visibility:hidden;}
.nav-mobile__link--child{
  padding-left:20px;
  font-size:15px;
  color:var(--text-body);
}
.nav-mobile__link--child.active{color:var(--teal); font-weight:600;}
.nav-mobile__give{
  display:block; text-align:center; text-decoration:none;
  font-size:17px; font-weight:600; color:#FFFFFF;
  background:var(--amber); padding:15px; border-radius:999px; margin-top:14px;
}

body.nav-open .nav-mobile{display:block;}
body.nav-open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.nav-open .nav-burger span:nth-child(2){opacity:0;}
body.nav-open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (max-width:1080px){
  .site-nav__links{display:none;}
  .nav-burger{display:flex;}
  .site-nav__inner{padding:0 22px;}
}

/* ---------- FOOTER ---------- */
.site-footer{
  background:var(--footer-bg);
  color:var(--footer-text);
}
.site-footer__inner{
  max-width:1240px; margin:0 auto; padding:72px 40px 40px;
}
.site-footer__grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:48px;
}
.site-footer__brand img{height:44px; width:auto; margin-bottom:20px;}
.site-footer__brand p{font-size:15px; line-height:1.7; color:var(--footer-muted); max-width:300px; margin:0 0 22px;}
.site-footer__address{font-size:14px; line-height:1.7; color:var(--footer-muted); margin:0 0 20px;}
.site-footer__social{display:flex; align-items:center; gap:10px;}
.site-footer__social a{
  display:flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:999px;
  border:1px solid var(--footer-border);
  text-decoration:none; font-family:monospace; font-size:13px;
  color:var(--footer-muted);
  transition:border-color .18s ease, color .18s ease;
}
.site-footer__social a:hover{border-color:var(--on-dark-kicker); color:var(--on-dark-heading);}
.site-footer__heading{
  font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--footer-muted); margin-bottom:20px;
}
.footer-link{
  display:block; text-decoration:none; color:var(--footer-text);
  font-size:15px; margin-bottom:13px;
  transition:color .18s ease, transform .18s ease;
}
.footer-link:hover{color:var(--on-dark-heading); transform:translateX(3px);}
.site-footer__times{font-size:15px; line-height:1.6; color:var(--footer-text); margin:0 0 6px;}
.site-footer__time{font-family:var(--font-heading); font-size:22px; color:var(--on-dark-heading); margin:0 0 20px;}
.site-footer__bottom{
  margin-top:56px; padding-top:26px; border-top:1px solid var(--footer-border);
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
  font-size:13px; color:var(--footer-muted);
}

@media (max-width:900px){
  .site-footer__grid{grid-template-columns:1fr 1fr; gap:36px 28px;}
  .site-footer__brand{grid-column:1 / -1;}
}
@media (max-width:720px){
  .site-footer__inner{padding:54px 22px 34px;}
  .site-footer__bottom{flex-direction:column; align-items:flex-start; gap:8px; margin-top:40px;}
}

/* ---------- FORMS ---------- */
.form-field label{display:block; font-size:13px; font-weight:600; color:var(--text-muted); margin-bottom:8px;}
.form-input{
  width:100%;
  font-family:var(--font-body); font-size:15px; color:var(--text);
  background:var(--bg); border:1.5px solid var(--border); border-radius:6px;
  padding:13px 15px;
}
.form-input::placeholder{color:#98A19E;}
.form-input:hover{border-color:#C7CFCB;}
.form-input:focus{outline:2px solid var(--teal); outline-offset:1px; border-color:var(--teal);}
textarea.form-input{resize:vertical;}
.form-submit{
  width:100%;
  font-family:var(--font-body); font-size:16px; font-weight:600;
  color:#FFFFFF; background:var(--amber); border:none; border-radius:999px;
  padding:16px; cursor:pointer;
  transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.form-submit:hover{
  background:var(--amber-hover);
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(192,138,62,.32);
}

/* ---------- ROWS (events / sermons) ---------- */
.list-row{
  text-decoration:none; color:var(--text);
  display:grid; align-items:center;
  padding:22px 8px;
  border-bottom:1px solid var(--border);
  transition:background .2s ease;
}
.list-row:hover{background:var(--card); color:var(--text);}
.list-row__date{
  width:78px; height:78px; border-radius:8px;
  background:var(--teal-deep);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.list-row__date span:first-child{font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--on-dark-kicker);}
.list-row__date span:last-child{font-family:var(--font-heading); font-size:30px; line-height:1; color:var(--on-dark-heading);}
.list-row__cta{font-size:14px; font-weight:600; color:var(--teal);}

/* ---- Sermon library filtering ---- */
.sermon-select{
  font-family:inherit; font-size:15px; color:var(--text);
  background:var(--card); border:1px solid var(--border); border-radius:7px;
  padding:11px 13px; width:100%; -webkit-appearance:none; appearance:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}
select.sermon-select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%23626A67' stroke-width='1.6'/></svg>");
  background-repeat:no-repeat; background-position:right 13px center; padding-right:34px; cursor:pointer;
}
.sermon-select:focus{outline:none; border-color:var(--teal); box-shadow:0 0 0 3px rgba(28,127,118,.15);}
.sermon-row{
  display:grid; grid-template-columns:74px 1fr auto; gap:26px; align-items:center;
  padding:22px 6px; border-bottom:1px solid var(--border); text-decoration:none; color:inherit;
  transition:background .15s ease;
}
.sermon-row:hover{background:rgba(28,127,118,.04);}
.sermon-row__date{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:74px; height:74px; border:1px solid var(--border); border-radius:8px; background:var(--bg-alt);
}
.sermon-row__date strong{font-size:26px; font-weight:500; line-height:1; color:var(--text);}
.sermon-row__date span{font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:#8B928F; margin-top:5px;}
.sermon-row__body{display:flex; flex-direction:column; gap:5px; min-width:0;}
.sermon-row__title{font-family:'Montserrat',sans-serif; font-size:22px; font-weight:500; color:var(--text);}
.sermon-row__meta{font-size:14px; color:#626A67;}
.sermon-row__tag{
  align-self:flex-start; margin-top:3px; font-size:12px; font-weight:600; letter-spacing:.04em;
  color:var(--teal); background:rgba(28,127,118,.09); border-radius:999px; padding:4px 11px;
}
.sermon-row__cta{font-size:14px; font-weight:600; color:var(--teal); white-space:nowrap;}
@media (max-width:720px){
  .sermon-filters{grid-template-columns:1fr 1fr !important;}
  .sermon-row{grid-template-columns:56px 1fr !important; gap:16px !important;}
  .sermon-row__date{width:56px !important; height:56px !important;}
  .sermon-row__date strong{font-size:20px;}
  .sermon-row__title{font-size:19px !important;}
  .sermon-row__cta{grid-column:2; justify-self:start;}
}
@media (max-width:440px){
  .sermon-filters{grid-template-columns:1fr !important;}
}

/* ================= RESPONSIVE ================= */
/* Pages use inline fixed-column grids + large inline type; these overrides
   collapse layouts and scale type down on smaller screens. */

/* 4-column card grids */
@media (max-width:1040px){
  main [style*="repeat(4,1fr)"]{grid-template-columns:repeat(2,1fr) !important;}
}
/* 3-column card grids */
@media (max-width:900px){
  main [style*="repeat(3,1fr)"]{grid-template-columns:repeat(2,1fr) !important;}
}
/* Two-column feature/hero layouts → stack */
@media (max-width:820px){
  main [style*="grid-template-columns:1.05fr .95fr"],
  main [style*="grid-template-columns:.95fr 1.05fr"],
  main [style*="grid-template-columns:1fr 1fr"],
  main [style*="grid-template-columns:1.2fr 1fr"],
  main [style*="grid-template-columns:1.3fr 1fr"],
  main [style*="grid-template-columns:.85fr 1.15fr"],
  main [style*="grid-template-columns:1fr 1.05fr"]{
    grid-template-columns:1fr !important; gap:40px !important;
  }
  /* photo placeholders shouldn't be too tall once full-width */
  main .photo-placeholder{aspect-ratio:16/10 !important;}
}
/* Single-column at phone size */
@media (max-width:600px){
  main [style*="repeat(4,1fr)"],
  main [style*="repeat(3,1fr)"],
  main [style*="repeat(2,1fr)"]{grid-template-columns:1fr !important;}
}

/* Tighten side padding + scale type on phones */
@media (max-width:720px){
  .container{padding-left:22px !important; padding-right:22px !important;}
  main h1[style]{font-size:clamp(42px,11vw,58px) !important; line-height:1.05 !important;}
  main h2[style]{font-size:clamp(28px,6.5vw,38px) !important;}
  main h3[style*="36px"]{font-size:28px !important;}
  .section-dark p[style]{font-size:clamp(26px,6.4vw,34px) !important;}
  main [style*="font-size:26px"]{font-size:20px !important;}
  /* hero stat row: allow wrap so big values don't overflow */
  main [style*="margin-top:46px"]{flex-wrap:wrap; gap:20px 26px !important;}
}

/* Schedule + list rows: reflow so date/time don't crush the title */
@media (max-width:720px){
  main [style*="150px 1fr auto"], main .srb-rhythm-row{
    grid-template-columns:1fr auto !important; gap:2px 18px !important;
    padding:18px 22px !important; align-items:center !important;
  }
  main [style*="150px 1fr auto"] > :nth-child(1), main .srb-rhythm-row > :nth-child(1){grid-column:1; grid-row:1;}
  main [style*="150px 1fr auto"] > :nth-child(2), main .srb-rhythm-row > :nth-child(2){grid-column:1; grid-row:2;}
  main [style*="150px 1fr auto"] > :nth-child(3), main .srb-rhythm-row > :nth-child(3){grid-column:2; grid-row:1 / span 2; align-self:center; text-align:right;}
  .list-row{grid-template-columns:auto 1fr !important; gap:6px 16px !important; padding:18px 4px !important;}
  .list-row > :last-child{grid-column:1 / -1; margin-top:2px;}
  .list-row__date{width:60px !important; height:60px !important;}
}

/* Motion-reduction: honor user preference */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .card--link:hover,.card--dark-link:hover,.btn:hover,.nav-give:hover,
  .form-submit:hover,.footer-link:hover{transform:none !important;}
}


/* =============================================================
 * WordPress editor content (.wp-content) — styles the text staff
 * type into the page editor so it matches the site automatically.
 * ============================================================= */
.wp-content > *:first-child{margin-top:0;}
.wp-content > *:last-child{margin-bottom:0;}
.wp-content h2{font-family:'Montserrat',sans-serif; font-weight:400; font-size:34px; line-height:1.14; letter-spacing:-.01em; margin:48px 0 18px; color:#2A2E30;}
.wp-content h3{font-family:'Montserrat',sans-serif; font-weight:500; font-size:24px; line-height:1.2; margin:36px 0 12px; color:#2A2E30;}
.wp-content h4{font-family:'Montserrat',sans-serif; font-weight:600; font-size:16px; letter-spacing:.08em; text-transform:uppercase; margin:32px 0 10px; color:#1C7F76;}
.wp-content p{margin:0 0 20px;}
.wp-content ul,.wp-content ol{margin:0 0 22px; padding-left:22px;}
.wp-content li{margin:0 0 9px;}
.wp-content blockquote{margin:32px 0; padding:6px 0 6px 26px; border-left:3px solid #1C7F76; font-family:'Montserrat',sans-serif; font-weight:300; font-style:italic; font-size:24px; line-height:1.4; color:#3A4042;}
.wp-content img{max-width:100%; height:auto; border-radius:10px; margin:14px 0;}
.wp-content a{color:#1C7F76; text-decoration:underline; text-underline-offset:2px;}
.wp-content a:hover{color:#155E58;}
.wp-content hr{border:0; border-top:1px solid #DCE2DF; margin:44px 0;}


/* =============================================================
 * Accordions (Beliefs statement + Plan-a-Visit FAQ)
 * ============================================================= */
.srb-belief summary,.srb-faq summary{list-style:none; outline:none;}
.srb-belief summary::-webkit-details-marker,.srb-faq summary::-webkit-details-marker{display:none;}
.srb-belief__chev,.srb-faq__chev{transition:transform .25s ease; display:inline-block;}
.srb-belief[open] .srb-belief__chev,.srb-faq[open] .srb-faq__chev{transform:rotate(45deg);}
.srb-belief summary:hover .srb-belief__title,.srb-faq summary:hover .srb-faq__q{color:var(--teal-hover);}
.srb-belief__title,.srb-faq__q{transition:color .2s ease;}

/* Plan-a-Visit form inputs */
.srb-input::placeholder{color:#98A19E;}
.srb-input:focus{outline:2px solid var(--teal); outline-offset:1px; border-color:var(--teal);}
.srb-input:hover{border-color:#C7CFCB;}

@media (max-width:900px){
  .srb-visit-grid{grid-template-columns:1fr !important;}
  .srb-form-grid{grid-template-columns:1fr !important;}
}
@media (max-width:720px){
  .srb-belief__sum{grid-template-columns:44px 1fr auto !important; gap:16px !important;}
  .srb-belief__body{margin-left:60px !important;}
}
@media (prefers-reduced-motion:reduce){
  .srb-belief__chev,.srb-faq__chev{transition:none !important;}
}
@media (max-width:820px){
  .srb-grp-grid{grid-template-columns:1fr !important;}
}



/* =============================================================
 * Contact form — style WPForms / Contact Form 7 to match the
 * design when its shortcode is pasted into the Contact page body.
 * The template wraps the shortcode in .wp-content inside the white card.
 * ============================================================= */
/* Field labels */
.wp-content .wpforms-field-label,
.wp-content .wpcf7 label{
  display:block; font-family:'Roboto',sans-serif; font-size:13px; font-weight:600;
  color:#4E5654; margin-bottom:8px;
}
/* Text inputs, email, textarea */
.wp-content .wpforms-field input[type=text],
.wp-content .wpforms-field input[type=email],
.wp-content .wpforms-field input[type=tel],
.wp-content .wpforms-field textarea,
.wp-content .wpcf7 input[type=text],
.wp-content .wpcf7 input[type=email],
.wp-content .wpcf7 input[type=tel],
.wp-content .wpcf7 textarea{
  width:100%; font-family:'Roboto',sans-serif; font-size:15px; color:#2A2E30;
  background:#F6F4F0; border:1.5px solid #DCE2DF; border-radius:6px;
  padding:13px 15px; box-sizing:border-box;
}
.wp-content .wpforms-field input::placeholder,
.wp-content .wpcf7 input::placeholder,
.wp-content .wpforms-field textarea::placeholder,
.wp-content .wpcf7 textarea::placeholder{color:#98A19E;}
.wp-content .wpforms-field input:hover,
.wp-content .wpforms-field textarea:hover,
.wp-content .wpcf7 input:hover,
.wp-content .wpcf7 textarea:hover{border-color:#C7CFCB;}
.wp-content .wpforms-field input:focus,
.wp-content .wpforms-field textarea:focus,
.wp-content .wpcf7 input:focus,
.wp-content .wpcf7 textarea:focus{outline:2px solid var(--teal); outline-offset:1px; border-color:var(--teal);}
/* Spacing between fields */
.wp-content .wpforms-field{margin-bottom:20px !important; padding:0 !important;}
/* Submit button — amber pill */
.wp-content .wpforms-submit,
.wp-content .wpcf7 input[type=submit],
.wp-content .wpcf7 button[type=submit]{
  width:100%; font-family:'Roboto',sans-serif; font-size:16px; font-weight:600;
  color:#F6F4F0 !important; background:#C08A3E !important; border:none;
  border-radius:999px; padding:16px; cursor:pointer;
  transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.wp-content .wpforms-submit:hover,
.wp-content .wpcf7 input[type=submit]:hover,
.wp-content .wpcf7 button[type=submit]:hover{
  background:#A8752F !important; transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(192,138,62,.32);
}
/* Optional: put First + Last name side by side.
   In WPForms, set those two Name fields (or two Single Line Text fields)
   to "50% / Column First" and "50% / Column Last" field size, or add
   CSS classes col-half to each and this keeps them inline on desktop. */
.wp-content .wpforms-field.col-half{display:inline-block; width:calc(50% - 8px);}
.wp-content .wpforms-field.col-half + .wpforms-field.col-half{margin-left:14px;}
@media (max-width:600px){
  .wp-content .wpforms-field.col-half,
  .wp-content .wpforms-field.col-half + .wpforms-field.col-half{width:100%; margin-left:0;}
}


/* ================= MOBILE REFINEMENTS ================= */
/* Sections that set their own max-width/padding inline (not .container) */
@media (max-width:720px){
  main [style*="max-width:1240px"]{padding-left:22px !important; padding-right:22px !important;}
  main [style*="px 40px"]{padding-left:22px !important; padding-right:22px !important;}
  /* 100px+ of vertical air is too much on a phone */
  main [style*="padding:104px 40px"],
  main [style*="padding:96px 40px"],
  main [style*="padding:88px 40px"]{padding-top:64px !important; padding-bottom:64px !important;}
}

/* Oversized inline card padding on small screens */
@media (max-width:600px){
  main [style*="padding:60px 56px"],
  main [style*="padding:64px 56px"],
  main [style*="padding:56px 52px"],
  main [style*="padding:48px"],
  main [style*="padding:44px"]{padding:30px 24px !important;}
  main [style*="min-height:300px"]{min-height:0 !important;}
}

/* Hero: the nav is shorter on phones, and the stat row must be free to wrap */
@media (max-width:720px){
  main > section:first-child[style*="100vh"]{min-height:auto !important;}
  main [style*="margin-top:48px"][style*="gap:26px"],
  main [style*="margin-top:46px"][style*="gap:26px"]{flex-wrap:wrap; gap:20px 26px !important;}
}

/* A long mobile menu should scroll instead of running off-screen */
@media (max-width:1080px){
  .nav-mobile{max-height:calc(100vh - 76px); overflow-y:auto; -webkit-overflow-scrolling:touch;}
}

/* Embedded media never exceeds its column */
main iframe, main video, main img{max-width:100%;}

/* Inline-styled variants of the classed rows/cards (static pages use these) */
@media (max-width:600px){
  main .card:not([style*="padding:0"]){padding-left:26px !important; padding-right:26px !important;}
  main [style*="150px 1fr auto"] > :nth-child(2){grid-column:1 / -1;}
  main [style*="grid-template-columns:72px 1fr auto"]{grid-template-columns:44px 1fr auto !important; gap:16px !important;}
  main [style*="grid-template-columns:72px 1fr"]{grid-template-columns:44px 1fr !important; gap:16px !important;}
}

/* Leadership portraits sit inset inside the card on phones instead of
   filling a full-width square flush against the top edge. */
@media (max-width:600px){
  main [style*="position:relative"][style*="repeating-linear-gradient(135deg,#E7EBE8"]{
    aspect-ratio:16/10 !important;
    margin:14px 14px 0 !important;
    border-radius:6px !important;
  }
}

@media (max-width:600px){
  main .card[style*="padding:0"] > .photo-placeholder[style*="aspect-ratio:1/1"]{
    aspect-ratio:16/10 !important;
    margin:14px 14px 0 !important;
    border-radius:6px !important;
  }
}

/* Plan a Visit card: stack the pitch and button on phones */
@media (max-width:640px){
  main .srb-visit-card > div:first-child{padding:30px 24px 26px !important;}
  main .srb-visit-card > div:first-child > div,
  main .srb-visit-row{grid-template-columns:1fr !important; gap:22px !important;}
  main .srb-visit-card .btn, main .srb-visit-row .btn{width:100%; text-align:center;}
  main .srb-visit-card__foot{padding:18px 24px !important; margin:0 !important; flex-direction:column; align-items:flex-start !important; gap:8px !important;}
  main .srb-visit-card__foot > span{margin-left:0 !important;}
}

@media (max-width:640px){
  main .srb-visit-card > div:first-child{padding:30px 24px 6px !important;}
  main .srb-visit-card > form{padding:22px 24px 30px !important;}
  main .srb-visit-card .wp-content{padding:22px 24px 30px !important;}
  main .srb-visit-card .srb-form-grid{grid-template-columns:1fr !important;}
}

/* ---------- SERMONS: featured player ---------- */
.sermon-player{
  position:relative; aspect-ratio:16/9; border-radius:12px; overflow:hidden;
  background:#1B2422; box-shadow:0 18px 44px rgba(42,46,48,.16);
}
.sermon-player__frame{position:absolute; inset:0; width:100%; height:100%; border:0;}
.sermon-player__ph{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:18px; text-align:center; padding:32px;
  background:linear-gradient(180deg,#243230 0%,#16201F 100%);
}
.sermon-player__ph p{font-size:15px; color:#9FB3AF; margin:0;}
.sermon-player__glyph{
  width:64px; height:64px; border-radius:50%; border:1.5px solid rgba(127,196,187,.5);
  display:block; position:relative;
}
.sermon-player__glyph:after{
  content:""; position:absolute; top:50%; left:54%; transform:translate(-50%,-50%);
  border-left:16px solid #7FC4BB; border-top:10px solid transparent; border-bottom:10px solid transparent;
}
.sermon-featured{
  display:flex; align-items:flex-end; justify-content:space-between; gap:28px;
  flex-wrap:wrap; padding:22px 2px 0;
}
.sermon-featured__label{
  font-size:12px; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:var(--teal); margin-bottom:10px;
}
.sermon-featured__title{
  font-family:'Montserrat',sans-serif; font-weight:400; font-size:30px; line-height:1.15;
  letter-spacing:-.01em; margin:0 0 8px; color:var(--text);
}
.sermon-featured__meta{font-size:15px; color:#626A67; margin:0;}

/* ---------- SERMONS: series groups ---------- */
.sermon-group{margin-bottom:40px;}
.sermon-group__head{
  display:flex; align-items:baseline; justify-content:space-between; gap:20px;
  flex-wrap:wrap; padding-bottom:12px; border-bottom:1.5px solid var(--text);
}
.sermon-group__name{
  font-family:'Montserrat',sans-serif; font-weight:500; font-size:23px; letter-spacing:-.01em;
  margin:0; color:var(--text);
}
.sermon-group__meta{font-size:13px; letter-spacing:.04em; color:#8B928F;}
.sermon-group__rows{display:flex; flex-direction:column;}

/* ---------- SERMONS: rows with thumbnails ---------- */
.sermon-row{
  display:grid; grid-template-columns:160px 1fr auto; gap:24px; align-items:center;
  padding:18px 8px; border-bottom:1px solid var(--border);
  text-decoration:none; color:inherit; transition:background .15s ease;
}
.sermon-row:hover{background:rgba(28,127,118,.05);}
.sermon-row__thumb{
  position:relative; display:block; aspect-ratio:16/9; border-radius:6px; overflow:hidden;
  background:#E7EBE8;
}
.sermon-row__thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.sermon-row__thumb-empty{
  position:absolute; inset:0;
  background:repeating-linear-gradient(135deg,#E7EBE8 0 10px,#DDE4E1 10px 20px);
}
.sermon-row__play{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:34px; height:34px; border-radius:50%; background:rgba(20,28,27,.62);
  transition:background .15s ease, transform .15s ease;
}
.sermon-row__play:after{
  content:""; position:absolute; top:50%; left:54%; transform:translate(-50%,-50%);
  border-left:10px solid #FFFFFF; border-top:6px solid transparent; border-bottom:6px solid transparent;
}
.sermon-row:hover .sermon-row__play{background:var(--teal); transform:translate(-50%,-50%) scale(1.06);}
.sermon-row__body{display:flex; flex-direction:column; gap:6px; min-width:0;}
.sermon-row__title{font-family:'Montserrat',sans-serif; font-size:20px; font-weight:500; color:var(--text);}
.sermon-row__meta{font-size:14px; color:#626A67;}
.sermon-row__cta{font-size:14px; font-weight:600; color:var(--teal); white-space:nowrap;}

@media (max-width:720px){
  .sermon-featured__title{font-size:24px;}
  .sermon-row{grid-template-columns:112px 1fr !important; gap:16px !important; padding:16px 4px;}
  .sermon-row__title{font-size:17px;}
  .sermon-row__meta{font-size:13px;}
  .sermon-row__cta{display:none;}
  .sermon-group__name{font-size:20px;}
}

/* Sermon library: honest empty / failure state */
.sermon-notice{
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:56px 24px; text-align:center;
}
.sermon-notice__head{font-family:'Montserrat',sans-serif; font-size:20px; color:var(--text); margin:0 0 8px;}
.sermon-notice__body{font-size:15px; color:#626A67; margin:0 0 22px;}

/* Buttons inside editor content keep button styling, not link styling */
.wp-content .btn,
.wp-content .btn:hover{text-decoration:none !important;}

/* ============ SERMONS v2 — layout, toolbar, rows ============ */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* Hero: player beside a details panel, one card */
.sermon-hero{
  display:grid; grid-template-columns:1.55fr 1fr; gap:0;
  background:var(--card); border:1px solid var(--border); border-radius:12px;
  overflow:hidden; box-shadow:0 14px 36px rgba(42,46,48,.09);
}
.sermon-player{
  position:relative; aspect-ratio:16/9; background:#16201F;
  border-radius:0; box-shadow:none; height:100%;
}
.sermon-player__frame{position:absolute; inset:0; width:100%; height:100%; border:0;}
.sermon-hero__info{
  display:flex; flex-direction:column; align-items:flex-start;
  justify-content:center; gap:0; padding:38px 40px;
}
.sermon-featured__label{
  font-family:'Montserrat',sans-serif; font-size:11.5px; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:var(--teal); margin:0 0 14px;
}
.sermon-featured__title{
  font-family:'Montserrat',sans-serif; font-weight:400; font-size:29px; line-height:1.18;
  letter-spacing:-.015em; margin:0; color:var(--text);
}
.sermon-featured__meta{font-size:14.5px; line-height:1.6; color:#626A67; margin:12px 0 0;}
.sermon-hero__cta{margin-top:26px;}

/* Toolbar: one aligned control strip */
.sermon-toolbar{
  display:grid; grid-template-columns:minmax(200px,1.6fr) repeat(4,minmax(120px,1fr)) auto;
  gap:10px; align-items:center; margin-bottom:38px;
  padding:14px; background:var(--bg-alt); border:1px solid var(--border); border-radius:10px;
}
.sermon-toolbar__field{display:block; min-width:0;}
.sermon-toolbar .sermon-select{width:100%; font-size:14.5px; padding:11px 13px; border-radius:7px;}
.sermon-toolbar select.sermon-select{padding-right:32px;}
.sermon-toolbar__clear{
  font-family:'Roboto',sans-serif; font-size:13.5px; font-weight:600; color:var(--teal);
  background:none; border:none; padding:10px 12px; cursor:pointer; white-space:nowrap;
}
.sermon-toolbar__clear:hover{text-decoration:underline;}

/* Series groups */
.sermon-group{margin-bottom:52px;}
.sermon-group__head{
  display:flex; align-items:baseline; justify-content:space-between; gap:20px;
  flex-wrap:wrap; padding-bottom:14px; margin-bottom:4px; border-bottom:1px solid var(--border);
}
.sermon-group__name{
  font-family:'Montserrat',sans-serif; font-weight:500; font-size:21px; letter-spacing:-.01em;
  margin:0; color:var(--text);
}
.sermon-group__meta{font-size:13px; color:#8B928F;}
.sermon-group__more{
  display:block; width:100%; margin-top:18px; padding:13px;
  font-family:'Roboto',sans-serif; font-size:14px; font-weight:600; color:var(--teal);
  background:none; border:1px solid var(--border); border-radius:8px; cursor:pointer;
  transition:background .15s ease, border-color .15s ease;
}
.sermon-group__more:hover{background:rgba(28,127,118,.06); border-color:var(--teal);}

/* Rows */
.sermon-row{
  grid-template-columns:184px 1fr auto; gap:26px; align-items:center;
  padding:16px 10px; border-bottom:1px solid var(--border); border-radius:8px;
}
.sermon-row__thumb{border-radius:7px; background:#DDE4E1;}
.sermon-row__title{
  font-family:'Montserrat',sans-serif; font-size:18.5px; font-weight:500; line-height:1.3;
  color:var(--text);
}
.sermon-row__meta{font-size:13.5px; color:#8B928F;}
.sermon-row__cta{
  font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
  color:var(--teal); white-space:nowrap; padding-right:6px;
}

@media (max-width:960px){
  .sermon-hero{grid-template-columns:1fr;}
  .sermon-hero__info{padding:28px 30px 32px;}
  .sermon-toolbar{grid-template-columns:1fr 1fr; }
  .sermon-toolbar__search{grid-column:1 / -1;}
  .sermon-toolbar__clear{grid-column:1 / -1; justify-self:start;}
}
@media (max-width:640px){
  .sermon-featured__title{font-size:23px;}
  .sermon-toolbar{grid-template-columns:1fr; padding:12px;}
  .sermon-row{grid-template-columns:120px 1fr !important; gap:16px !important; padding:14px 6px;}
  .sermon-row__title{font-size:16.5px;}
  .sermon-row__cta{display:none;}
}

@media (max-width:760px){
  main .srb-sermon-notes{grid-template-columns:1fr !important; gap:38px !important;}
}


/* Leadership grids */
@media (max-width:1040px){
  /* Deacons go 2-column here (generic 4-col rule above). Match the elders'
     760px cap so deacon tiles never render larger than elder tiles. */
  main .srb-deacons{grid-template-columns:repeat(2,1fr) !important; max-width:760px;}
}
@media (max-width:560px){
  main .srb-elders{grid-template-columns:1fr !important;}
  main .srb-deacons{grid-template-columns:1fr !important;}
}


/* Home "Who we are": photo stacks above copy on narrow screens */
@media (max-width:900px){
  main .srb-who{grid-template-columns:1fr !important; gap:40px !important; padding:72px 24px !important;}
}

/* ---------- SERMONS: We're live ---------- */
.srb-live{padding:48px 40px 0;}
.srb-live[hidden], .srb-live [hidden]{display:none !important;}
.srb-live__on{
  display:grid; grid-template-columns:1.55fr 1fr; background:#16201F; border-radius:12px;
  overflow:hidden; box-shadow:0 14px 36px rgba(42,46,48,.16);
}
.srb-live__player{position:relative; aspect-ratio:16/9; background:#0E1514; align-self:center; width:100%;}
.srb-live__player iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.srb-live__info{display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:38px 40px; color:#FFFFFF;}
.srb-live__badge{
  display:inline-flex; align-items:center; gap:9px; font-family:'Montserrat',sans-serif; font-size:11.5px;
  font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:#FFFFFF;
  background:#C93C3C; padding:7px 12px 7px 10px; border-radius:999px; margin-bottom:18px;
}
.srb-live__dot{width:8px; height:8px; border-radius:50%; background:#FFFFFF; flex:none; animation:srbLivePulse 1.6s ease-in-out infinite;}
.srb-live__dot--idle{background:#C93C3C; animation:none;}
@keyframes srbLivePulse{0%,100%{opacity:1; transform:scale(1);} 50%{opacity:.35; transform:scale(.8);}}
.srb-live__title{font-family:'Montserrat',sans-serif; font-weight:400; font-size:34px; line-height:1.1; letter-spacing:-.015em; margin:0 0 12px; color:#FFFFFF;}
.srb-live__text{font-size:16px; line-height:1.6; color:#C9D6D3; margin:0 0 26px;}
.srb-live__off{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:16px 22px;
  background:var(--bg-alt); border:1px solid var(--border); border-radius:10px;
}
.srb-live__strip{font-size:15px; color:#4E5654; margin:0; flex:1 1 260px;}
.srb-live__strip strong{color:var(--text); font-weight:600;}
@media (prefers-reduced-motion:reduce){.srb-live__dot{animation:none;}}
@media (max-width:960px){
  .srb-live__on{grid-template-columns:1fr;}
  .srb-live__info{padding:28px 30px 32px;}
}
@media (max-width:640px){
  .srb-live{padding:36px 20px 0;}
  .srb-live__title{font-size:28px;}
}

/* Live: our own "starting soon" cover over YouTube's unavailable screen */
.srb-live__wait{
  position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:10px; text-align:center; padding:32px;
  background:linear-gradient(180deg,#243230 0%,#16201F 100%);
}
.srb-live__wait-glyph{
  width:58px; height:58px; border-radius:50%; border:1.5px solid rgba(201,60,60,.55);
  position:relative; margin-bottom:10px;
}
.srb-live__wait-glyph:after{
  content:""; position:absolute; top:50%; left:50%; width:14px; height:14px; margin:-7px 0 0 -7px;
  border-radius:50%; background:#C93C3C; animation:srbLivePulse 1.6s ease-in-out infinite;
}
.srb-live__wait-head{font-family:'Montserrat',sans-serif; font-size:19px; color:#FFFFFF; margin:0;}
.srb-live__wait-sub{font-size:14px; color:#9FB3AF; margin:0;}
.srb-live.is-waiting .srb-live__badge{background:#3A4A47;}
.srb-live.is-waiting .srb-live__badge .srb-live__dot{background:#E07A7A;}
@media (prefers-reduced-motion:reduce){.srb-live__wait-glyph:after{animation:none;}}

/* Nav: live indicator beside Sermons */
.nav-live{display:inline-flex; align-items:center; margin-left:7px; vertical-align:middle;}
.nav-live[hidden]{display:none !important;}
.nav-live__dot{
  width:8px; height:8px; border-radius:50%; background:#D64545;
  box-shadow:0 0 0 0 rgba(214,69,69,.55); animation:srbNavLive 1.8s ease-out infinite;
}
@keyframes srbNavLive{
  0%{box-shadow:0 0 0 0 rgba(214,69,69,.55);}
  70%{box-shadow:0 0 0 7px rgba(214,69,69,0);}
  100%{box-shadow:0 0 0 0 rgba(214,69,69,0);}
}
@media (prefers-reduced-motion:reduce){.nav-live__dot{animation:none;}}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;}

/* Sermons "How we teach": photo stacks under the copy on narrow screens */
@media (max-width:900px){
  main .srb-teach{grid-template-columns:1fr !important; gap:40px !important; padding:72px 24px !important;}
}


/* ================= v2.0.4 ================= */
/* Leadership photos: inset with an even frame inside the card on phones */


/* Skeleton loading */
@keyframes srb-shimmer{0%{background-position:100% 0;}100%{background-position:0 0;}}
.srb-skel{display:block; border-radius:6px; background:linear-gradient(90deg,#E7EBE8 0%,#E7EBE8 35%,#F2F5F3 50%,#E7EBE8 65%,#E7EBE8 100%); background-size:300% 100%; animation:srb-shimmer 1.4s ease-in-out infinite;}
.srb-skel--line{height:14px; margin:0 0 10px;}
.srb-skel--title{height:26px; width:85%; margin:0 0 10px;}
.srb-skel-row{display:grid; grid-template-columns:184px 1fr; gap:26px; align-items:center; padding:16px 10px; border-bottom:1px solid var(--border);}
.srb-skel-row .srb-skel--thumb{aspect-ratio:16/9; border-radius:7px;}
.srb-skel-cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px;}
.srb-skel-cards .srb-skel--img{aspect-ratio:16/9; margin-bottom:14px;}
@media (max-width:720px){
  .srb-skel-row{grid-template-columns:112px 1fr; gap:16px;}
  .srb-skel-cards{grid-template-columns:1fr;}
  .srb-skel-cards > :nth-child(n+2){display:none;}
}
/* Photos and the map shimmer until they arrive (the image covers it once loaded) */
.srb-blocks .srb-portrait img, .srb-blocks .srb-photo img, main img[loading="lazy"], .srb-map, .sermon-row__thumb{
  background-image:linear-gradient(90deg,#E7EBE8 0%,#E7EBE8 35%,#F2F5F3 50%,#E7EBE8 65%,#E7EBE8 100%); background-size:300% 100%; animation:srb-shimmer 1.4s ease-in-out infinite;
}
@media (prefers-reduced-motion:reduce){ .srb-skel, .srb-blocks .srb-portrait img, .srb-blocks .srb-photo img, main img[loading="lazy"], .srb-map, .sermon-row__thumb{animation:none;} }

/* v2.0.6 Active sub-page in the About dropdown */
.nav-dropdown__item.active{position:relative; background:rgba(28,127,118,.08); color:var(--teal); font-weight:600;}
.nav-dropdown__item.active::before{content:""; position:absolute; left:0; top:7px; bottom:7px; width:3px; border-radius:0 3px 3px 0; background:var(--teal);}

/* Leadership on phones: photo runs edge to edge across the card */
@media (max-width:781px){
  .srb-blocks .srb-leader{overflow:hidden !important;}
  .srb-blocks .srb-leader > figure.srb-portrait,
  .srb-blocks .srb-leader > figure.srb-portrait.wp-block-image{display:block !important; width:100% !important; max-width:none !important; padding:0 !important; margin:0 !important; box-sizing:border-box;}
  .srb-blocks .srb-leader > figure.srb-portrait img{display:block !important; width:100% !important; max-width:none !important; height:auto !important; aspect-ratio:1/1 !important; object-fit:cover; border-radius:0 !important; margin:0 !important;}
}

/* v2.0.9 Active state on every remaining link */
.footer-link.active{color:#FFFFFF !important; font-weight:600; text-decoration:underline; text-decoration-color:#7FC4BB; text-decoration-thickness:2px; text-underline-offset:5px;}
.nav-give.active, .nav-mobile__give.active, .site-footer .btn.active{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--amber);}
.site-footer .btn.active{box-shadow:0 0 0 2px var(--footer-bg), 0 0 0 4px var(--amber);}
